  :root{
    --hvac-blue:#2E3F75;
    --hvac-blue-2:#425896;
    --hvac-red:#E34B3F;
    --hvac-red-dark:#C93B30;
    --hvac-water:#6EB7CC;
    --hvac-green:#94C94C;
    --hvac-lime:#B8D85C;
    --hvac-sage:#DCE7C6;
    --hvac-cream:#F4F2E8;
    --hvac-text:#24304F;
    --hvac-muted:#66748A;
    --hvac-border:rgba(46,63,117,.10);
    --hvac-shadow:0 22px 55px rgba(36,48,79,.10);
    --hvac-shadow-soft:0 12px 30px rgba(36,48,79,.08);
    --hvac-radius:24px;
  }

  .hvac-section{ padding:88px 0; }
  .hvac-section-sm{ padding:68px 0; }

  .hvac-title{
    color:var(--hvac-blue);
    font-weight:900;
    line-height:1.02;
    letter-spacing:-.03em;
  }

  .hvac-text{
    color:var(--hvac-muted);
    font-weight:500;
    line-height:1.78;
  }

  .hvac-pill{
    display:inline-flex;
    align-items:center;
    gap:.55rem;
    padding:.62rem .98rem;
    border-radius:999px;
    font-size:.8rem;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
  }

  .hvac-pill-primary{
    background:rgba(110,183,204,.12);
    color:var(--hvac-blue);
    border:1px solid rgba(110,183,204,.18);
  }

  .hvac-pill-light{
    background:rgba(255,255,255,.16);
    color:#fff;
    border:1px solid rgba(255,255,255,.20);
    backdrop-filter:blur(8px);
  }

  .btn-hvac{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.55rem;
    min-height:52px;
    padding:.92rem 1.3rem;
    border-radius:999px;
    font-weight:800;
    font-size:.84rem;
    letter-spacing:.08em;
    text-transform:uppercase;
    text-decoration:none;
    transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
  }

  .btn-hvac:hover{
    transform:translateY(-2px);
    text-decoration:none;
  }

  .btn-hvac-primary{
    color:#fff;
    background:linear-gradient(135deg,var(--hvac-red),var(--hvac-red-dark));
    border:1px solid transparent;
    box-shadow:0 14px 30px rgba(227,75,63,.22);
  }

  .btn-hvac-primary:hover{ color:#fff; }

  .btn-hvac-outline{
    color:var(--hvac-blue);
    background:#fff;
    border:1px solid rgba(46,63,117,.15);
  }

  .btn-hvac-outline:hover{
    color:var(--hvac-blue);
    background:#f9fbff;
  }

  .btn-hvac-light{
    color:#fff;
    background:transparent;
    border:1px solid rgba(255,255,255,.28);
  }

  .btn-hvac-light:hover{
    color:#fff;
    background:rgba(255,255,255,.08);
  }

  .hvac-page-hero{
    position:relative;
    overflow:hidden;
    background:
      radial-gradient(850px 420px at 0% 0%, rgba(110,183,204,.28), transparent 60%),
      radial-gradient(850px 420px at 100% 10%, rgba(148,201,76,.18), transparent 58%),
      linear-gradient(135deg, #243766 0%, #2E3F75 52%, #425896 100%);
    background-size:cover;
    background-position:center center;
  }

  .hvac-page-hero::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(12,18,34,.12) 0%, rgba(12,18,34,.24) 100%);
    pointer-events:none;
  }

  .hvac-page-hero-inner{
    position:relative;
    z-index:2;
    padding:100px 0 80px;
  }

  .hvac-breadcrumbs{
    display:flex;
    flex-wrap:wrap;
    gap:.55rem;
    align-items:center;
    margin-bottom:1rem;
    color:rgba(255,255,255,.82);
    font-weight:700;
    font-size:.92rem;
  }

  .hvac-breadcrumbs a{
    color:#fff;
    text-decoration:none;
  }

  .hvac-breadcrumbs a:hover{
    text-decoration:underline;
  }

  .hvac-page-title{
    color:#fff;
    font-size:clamp(2.6rem, 6vw, 4.7rem);
    font-weight:900;
    line-height:.96;
    letter-spacing:-.04em;
    margin-bottom:1rem;
    max-width:900px;
    text-shadow:0 10px 26px rgba(0,0,0,.16);
    animation:hvacFadeUp .8s ease both;
  }

  .hvac-page-sub{
    max-width:780px;
    color:rgba(255,255,255,.90);
    font-size:1.06rem;
    line-height:1.82;
    font-weight:500;
    margin-bottom:1.4rem;
    animation:hvacFadeUp .95s ease both;
  }

  .hvac-stat-row{
    display:flex;
    flex-wrap:wrap;
    gap:.85rem;
    margin-top:1.4rem;
    animation:hvacFadeUp 1.1s ease both;
  }

  .hvac-stat-pill{
    display:inline-flex;
    align-items:center;
    gap:.55rem;
    min-height:44px;
    padding:.7rem .95rem;
    border-radius:999px;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.18);
    color:#fff;
    font-weight:800;
  }

  .hvac-fullwidth-stack{
    display:flex;
    flex-direction:column;
    gap:1.5rem;
  }

  .hvac-page-panel{
    padding:2rem;
    border-radius:30px;
    background:#fff;
    border:1px solid var(--hvac-border);
    box-shadow:var(--hvac-shadow-soft);
    transition:transform .28s ease, box-shadow .28s ease;
  }

  .hvac-page-panel:hover{
    transform:translateY(-4px);
    box-shadow:var(--hvac-shadow);
  }

  .hvac-page-panel h2,
  .hvac-page-panel h3,
  .hvac-page-panel h4{
    color:var(--hvac-blue);
    font-weight:900;
  }

  .hvac-page-article{
    color:var(--hvac-text);
  }

  .hvac-page-article > *:first-child{
    margin-top:0 !important;
  }

  .hvac-page-article h1,
  .hvac-page-article h2,
  .hvac-page-article h3,
  .hvac-page-article h4,
  .hvac-page-article h5,
  .hvac-page-article h6{
    color:var(--hvac-blue);
    margin:1.25rem 0 .75rem;
    font-weight:900;
    line-height:1.1;
    letter-spacing:-.02em;
  }

  .hvac-page-article h2{ font-size:clamp(1.75rem,3vw,2.4rem); }
  .hvac-page-article h3{ font-size:clamp(1.35rem,2.4vw,1.85rem); }
  .hvac-page-article h4{ font-size:1.15rem; }

  .hvac-page-article p,
  .hvac-page-article ul,
  .hvac-page-article ol,
  .hvac-page-article blockquote{
    color:var(--hvac-muted);
    line-height:1.82;
    font-weight:500;
  }

  .hvac-page-article ul,
  .hvac-page-article ol{
    padding-left:1.2rem;
  }

  .hvac-page-article a{
    color:var(--hvac-red);
    font-weight:800;
    text-decoration:none;
  }

  .hvac-page-article a:hover{
    color:var(--hvac-blue);
  }

  .hvac-page-article img{
    max-width:100%;
    height:auto;
    display:block;
    border-radius:22px;
    border:1px solid var(--hvac-border);
    box-shadow:var(--hvac-shadow-soft);
    margin:1rem 0;
  }

  .hvac-page-article blockquote{
    margin:1.5rem 0;
    padding:1rem 1.2rem;
    border-left:4px solid var(--hvac-red);
    background:rgba(110,183,204,.08);
    border-radius:0 16px 16px 0;
  }

  .hvac-emergency-alert{
    position:relative;
    overflow:hidden;
    padding:1.35rem 1.5rem;
    border-radius:28px;
    background:
      radial-gradient(520px 180px at 0% 0%, rgba(255,255,255,.12), transparent 60%),
      linear-gradient(135deg, #D94841 0%, #C93B30 100%);
    border:1px solid rgba(255,255,255,.14);
    box-shadow:0 22px 55px rgba(201,59,48,.22);
    color:#fff;
  }

  .hvac-emergency-alert::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(255,255,255,.04) 0%, rgba(0,0,0,.06) 100%);
    pointer-events:none;
  }

  .hvac-emergency-alert-inner{
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1.2rem;
  }

  .hvac-emergency-alert-copy{
    display:flex;
    align-items:flex-start;
    gap:1rem;
  }

  .hvac-emergency-alert-icon{
    width:64px;
    height:64px;
    flex:0 0 64px;
    border-radius:20px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(255,255,255,.14);
    border:1px solid rgba(255,255,255,.18);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.10);
    font-size:1.45rem;
    color:#fff;
  }

  .hvac-emergency-alert h2{
    color:#fff;
    font-size:clamp(1.55rem,3vw,2.15rem);
    font-weight:900;
    line-height:1.04;
    margin:0 0 .45rem;
    letter-spacing:-.03em;
  }

  .hvac-emergency-alert p{
    margin:0;
    color:rgba(255,255,255,.92);
    font-size:1rem;
    line-height:1.75;
    font-weight:600;
    max-width:820px;
  }

  .hvac-emergency-alert .btn-hvac-primary{
    background:#fff;
    color:var(--hvac-red-dark);
    box-shadow:none;
  }

  .hvac-emergency-alert .btn-hvac-primary:hover{
    color:var(--hvac-red-dark);
    background:#fff;
  }

  .hvac-mini-row{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1rem;
  }

  .hvac-mini-card{
    padding:1rem;
    display:flex;
    gap:.75rem;
    align-items:flex-start;
    background:#fff;
    border:1px solid var(--hvac-border);
    border-radius:22px;
    box-shadow:var(--hvac-shadow-soft);
  }

  .hvac-mini-ic{
    width:42px;
    height:42px;
    border-radius:14px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(110,183,204,.12);
    color:var(--hvac-blue);
    flex:0 0 auto;
  }

  .hvac-mini-title{
    font-weight:900;
    color:var(--hvac-blue);
    line-height:1.1;
  }

  .hvac-mini-sub{
    font-size:.9rem;
    color:var(--hvac-muted);
    margin-top:.15rem;
  }

  .hvac-callout{
    margin-top:1rem;
    border-radius:1rem;
    padding:1rem 1.05rem;
    border:1px solid rgba(110,183,204,.22);
    background:rgba(110,183,204,.08);
  }

  .hvac-callout-title{
    font-weight:900;
    color:var(--hvac-blue);
  }

  .hvac-callout-text{
    color:#334155;
    margin-top:.25rem;
    line-height:1.75;
  }

  .hvac-feature-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1rem;
  }

  .hvac-feature-card{
    border:1px solid var(--hvac-border);
    border-radius:24px;
    padding:1.2rem;
    background:#fff;
    box-shadow:var(--hvac-shadow-soft);
    display:flex;
    gap:.85rem;
    align-items:flex-start;
  }

  .hvac-feature-icon{
    width:46px;
    height:46px;
    border-radius:16px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg, rgba(110,183,204,.14), rgba(46,63,117,.10));
    border:1px solid rgba(110,183,204,.18);
    color:var(--hvac-blue);
    flex:0 0 auto;
  }

  .hvac-feature-card h3{
    margin:0 0 .3rem;
    font-size:1rem;
    font-weight:900;
    color:var(--hvac-blue);
  }

  .hvac-feature-card p{
    margin:0;
    color:var(--hvac-muted);
    font-size:.95rem;
    line-height:1.7;
    font-weight:500;
  }

  .hvac-request-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:.85rem;
    margin-top:1rem;
  }

  .hvac-request-pill{
    display:flex;
    align-items:center;
    gap:.6rem;
    min-height:52px;
    padding:.85rem 1rem;
    border-radius:18px;
    background:#fff;
    border:1px solid var(--hvac-border);
    box-shadow:var(--hvac-shadow-soft);
    color:var(--hvac-blue);
    font-weight:800;
  }

  .hvac-request-pill i{
    color:var(--hvac-red);
  }

  .hvac-cta-wrap{
    overflow:hidden;
    border-radius:30px;
    background:
      radial-gradient(700px 320px at 0% 0%, rgba(110,183,204,.24), transparent 58%),
      radial-gradient(700px 320px at 100% 0%, rgba(148,201,76,.16), transparent 58%),
      linear-gradient(135deg, var(--hvac-blue) 0%, var(--hvac-blue-2) 100%);
    box-shadow:var(--hvac-shadow);
    padding:2rem;
    position:relative;
  }

  .hvac-cta-wrap::after{
    content:"";
    position:absolute;
    inset:auto -40px -60px auto;
    width:180px;
    height:180px;
    border-radius:50%;
    background:rgba(255,255,255,.08);
    filter:blur(6px);
    pointer-events:none;
  }

  .hvac-cta-wrap .hvac-title{
    color:#fff;
  }

  .hvac-cta-wrap .hvac-text{
    color:rgba(255,255,255,.86);
  }

  .hvac-reveal{
    opacity:0;
    transform:translateY(22px);
    animation:hvacFadeUp .8s ease forwards;
  }

  .hvac-delay-1{ animation-delay:.08s; }
  .hvac-delay-2{ animation-delay:.16s; }
  .hvac-delay-3{ animation-delay:.24s; }

  @keyframes hvacFadeUp{
    from{
      opacity:0;
      transform:translateY(22px);
    }
    to{
      opacity:1;
      transform:translateY(0);
    }
  }

  @media (prefers-reduced-motion: reduce){
    .hvac-page-title,
    .hvac-page-sub,
    .hvac-stat-row,
    .hvac-reveal{
      animation:none !important;
      opacity:1 !important;
      transform:none !important;
    }

    .hvac-page-panel,
    .btn-hvac{
      transition:none !important;
    }
  }

  @media (max-width: 991.98px){
    .hvac-feature-grid,
    .hvac-request-grid{
      grid-template-columns:repeat(2,minmax(0,1fr));
    }
  }

  @media (max-width: 767.98px){
    .hvac-mini-row,
    .hvac-feature-grid,
    .hvac-request-grid{
      grid-template-columns:1fr;
    }

    .hvac-emergency-alert-inner{
      flex-direction:column;
      align-items:flex-start;
    }

    .hvac-emergency-alert{
      padding:1.15rem;
      border-radius:24px;
    }
  }

  @media (max-width: 575.98px){
    .hvac-section{ padding:68px 0; }
    .hvac-section-sm{ padding:52px 0; }

    .hvac-page-panel,
    .hvac-mini-card,
    .hvac-cta-wrap,
    .hvac-feature-card{
      padding:1.3rem;
      border-radius:22px;
    }

    .hvac-page-title{
      font-size:2.35rem;
    }

    .hvac-emergency-alert-copy{
      flex-direction:column;
      gap:.85rem;
    }
  }
