
/* ===== Precision Air — SPLIT HERO =====
   LEFT = dark navy panel, left-aligned text: PILL · H1 · LOCATION · sub · bullets · dual CTA · live rating.
   RIGHT = slideshow of REAL job photos. The navy FADES into the photo (no hard divider — the two zones
   interact). No text baked on the images. Premium motion = crossfade + Ken-Burns + progress + gentle
   penguin bob + slow Comfort-Current flow. No hero fade-in pop. Reduced-motion safe.                     */
:root{
  --orange:#F06B2F;--orange-b:#FF8240;--orange-d:#C4531E;
  --blue:#1B9DD8;--blue-b:#39B5EC;--blue-d:#0E6FA8;
  --navy:#0E2746;--navy-2:#0A1D38;--navy-3:#16365E;
  --ink:#10243f;--sky:#EEF4FB;--skyblue:#E4F0FB;--line:#e2e8f1;--gray:#5a6b82;
  --f-d:'Archivo',system-ui,sans-serif;--f-b:'Hanken Grotesk',system-ui,sans-serif;
  /* ported from canonical-v2 header */
  --orange-ink:#C4531E;--orange-wash:#FCEDE5;--blue-ink:#127BA8;--blue-wash:#E7F4FB;
  --ink-2:#3A3D44;--muted:#6A6E78;--line-2:#EFEFF1;--paper-3:#F2F1ED;
  --shadow-lg:0 2px 4px rgba(20,22,26,.04),0 30px 60px -24px rgba(20,22,26,.22);
  --f-display:'Archivo',system-ui,sans-serif;--f-body:'Hanken Grotesk',system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{overflow-x:clip}
/* ===== Lenis smooth scroll (crisp, low-lerp; auto-disabled under reduced-motion) =====
   NB: html/body use overflow-x:CLIP (not hidden) — `hidden` makes body its own scroll
   container and silently kills Lenis (which drives the window). `clip` clips without that. */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}
.lenis.lenis-smooth iframe{pointer-events:none}
body{font-family:var(--f-b);font-size:16px;line-height:1.5;background:#fff;color:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:clip}
img{display:block;max-width:100%}a{text-decoration:none;color:inherit}
h1,h2,h3{font-family:var(--f-d);font-weight:900;line-height:1;letter-spacing:-.02em}
.wrap{max-width:1320px;margin:0 auto;padding:0 36px}
.btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--f-d);font-weight:700;letter-spacing:.005em;font-size:15px;padding:14px 26px;border-radius:10px;border:1.5px solid transparent;cursor:pointer;transition:transform .2s,background .2s,border-color .2s,box-shadow .2s;white-space:nowrap}
.btn svg{width:18px;height:18px;flex:none}
.cta .btn{padding:15px 28px;font-size:15.5px}
/* PRIMARY (solid orange) — one consistent style site-wide */
.btn-a{background:var(--orange);color:#fff;box-shadow:0 10px 24px -12px rgba(240,107,47,.5)}
.btn-a:hover{background:var(--orange-ink);transform:translateY(-2px);box-shadow:0 14px 28px -10px rgba(240,107,47,.6)}
.btn-a:active{transform:translateY(0)}
/* secondary = simple text link with icon after */
.cta .btnlink{display:inline-flex;align-items:center;gap:9px;color:#fff;font-family:var(--f-d);font-weight:700;font-size:15.5px;letter-spacing:.005em;padding:10px 4px;transition:color .2s}
.cta .btnlink span{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px;text-decoration-color:rgba(255,255,255,.45);transition:text-decoration-color .2s}
.cta .btnlink svg{width:18px;height:18px;transition:transform .2s}
.cta .btnlink:hover{color:var(--blue-b)}
.cta .btnlink:hover span{text-decoration-color:var(--blue-b)}
.cta .btnlink:hover svg{transform:translateX(5px)}
.stars{color:#FFC24B;letter-spacing:1px}

/* ===== HEADER — ported from canonical-v2 (dark util bar + sticky white nav + mega dropdowns) ===== */
/* ===== WEATHER-REACTIVE TOP BAR (live West Chester conditions) ===== */
.util{position:relative;overflow:hidden;isolation:isolate;color:#cdd9e8;font-size:12.5px;
  background:linear-gradient(90deg,#102239 0%,#0B1828 55%,#0D1C2E 100%);border-bottom:1px solid rgba(255,255,255,.06)}
.util__sky{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.util__sky canvas{position:absolute;inset:0;width:100%;height:100%}
.util__scrim{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,rgba(8,18,40,.6),rgba(8,18,40,.1) 34%,rgba(8,18,40,.1) 66%,rgba(8,18,40,.6))}
.util .wrap{position:relative;z-index:2;max-width:1500px;display:flex;align-items:center;gap:16px;height:auto;padding:7px 20px;text-shadow:0 1px 3px rgba(0,8,20,.7)}
.uzone{display:flex;align-items:center;min-width:0}
.uzone.u-left{flex:0 0 auto}
.uzone.u-mid{flex:1 1 auto;justify-content:center;overflow:hidden}
.uzone.u-right{flex:0 0 auto}
.wx{display:inline-flex;align-items:center;gap:9px;white-space:nowrap;padding:5px 12px 5px 9px;border-radius:100px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12)}
.wx__glyph{width:22px;height:22px;flex:none;display:grid;place-items:center}
.wx__glyph svg{width:22px;height:22px}
.wx__temp{font-family:var(--f-d);font-weight:800;font-size:14px;color:#fff}
.wx__sep{color:rgba(255,255,255,.3)}.wx__loc{color:#aec0d8;font-weight:600}
.wx__cond{color:#cdd9e8;font-weight:600;text-transform:capitalize}
.wx.is-loading .wx__temp{color:#7e93b3}
.rot{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-weight:600;color:#d7e2f0;opacity:1;transition:opacity .45s cubic-bezier(.16,1,.3,1),transform .45s cubic-bezier(.16,1,.3,1)}
.rot.out{opacity:0;transform:translateY(-4px)}
.rot svg{flex:none}.rot b{color:#fff;font-weight:800}.rot .accent{color:#FFC24B}
.wgrev{display:inline-flex;align-items:center;gap:9px;background:transparent;padding:0}
.wgrev__g{flex:none}
.wgrev__txt{display:flex;flex-direction:column;line-height:1.12}
.wgrev__top{display:flex;align-items:center;gap:7px}
.wgrev__rate{font-family:var(--f-d);font-weight:800;font-size:14px;color:#fff}
.wgrev__stars{color:#FFC24B;font-size:12.5px;letter-spacing:.5px}
.wgrev__sub{font-size:11px;color:#aec0d8;font-weight:600}
.wgrev__sub b{color:#fff;font-weight:800}
/* WXV2-CSS — day/night theme + weather-rec link + polish */
.rot{gap:9px;text-decoration:none;transition:opacity .45s cubic-bezier(.16,1,.3,1),transform .45s cubic-bezier(.16,1,.3,1),color .55s ease}
.rot .rtxt{overflow:hidden;text-overflow:ellipsis}
.rot .cta{display:inline-flex;align-items:center;gap:4px;color:#FFC24B;font-family:var(--f-d);font-weight:800;border-bottom:1px solid transparent;transition:border-color .2s,gap .2s}
.rot .cta svg{width:13px;height:13px;transition:transform .2s}
.rot:hover .cta{border-color:#FFC24B;gap:6px}
.rot:hover .cta svg{transform:translateX(2px)}
.util{transition:background .6s ease,border-color .6s ease}
.util__scrim{transition:background .6s ease}
.util::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;z-index:3;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent)}
.util.is-day::after{background:linear-gradient(90deg,transparent,rgba(20,60,110,.12),transparent)}
.util.is-day{background:linear-gradient(90deg,#cfe6f7,#e9f3fb 55%,#dcecf9);border-bottom-color:rgba(20,55,95,.12)}
.util.is-day .util__scrim{background:linear-gradient(90deg,rgba(255,255,255,.5),rgba(255,255,255,0) 32%,rgba(255,255,255,0) 68%,rgba(255,255,255,.5))}
.util.is-day .wrap{text-shadow:0 1px 2px rgba(255,255,255,.7)}
.util.is-day .wx{background:rgba(255,255,255,.6);border-color:rgba(18,52,92,.16)}
.util.is-day .wx__temp{color:#0d2138}
.util.is-day .wx__sep{color:rgba(20,45,80,.3)}
.util.is-day .wx__loc{color:#3a577a}
.util.is-day .wx__cond{color:#243c58}
.util.is-day .rot{color:#25384f}
.util.is-day .rot b{color:#0d2138}
.util.is-day .rot .cta{color:#d6631a}
.util.is-day .rot:hover .cta{border-color:#d6631a}
.util.is-day .wgrev__rate{color:#0d2138}
.util.is-day .wgrev__stars{color:#EAA100}
.util.is-day .wgrev__sub{color:#41608a}
.util.is-day .wgrev__sub b{color:#0d2138}
.wx,.wx__temp,.wx__loc,.wx__cond,.wx__sep,.wgrev__rate,.wgrev__stars,.wgrev__sub,.wgrev__sub b{transition:color .55s ease,background .55s ease,border-color .55s ease}
.wx__glyph svg{transition:filter .3s ease}
@media (max-width:820px){.uzone.u-mid{display:none}}
@media (max-width:520px){.wx__loc{display:none}.wx__sep:first-of-type+.wx__loc+.wx__sep{display:none}}
header.nav{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 4px 16px -12px rgba(20,22,26,.4)}
header.nav .wrap{max-width:1500px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;height:84px;padding-inline:20px}
.brand{justify-self:start}
.brand-logo{height:50px;width:auto;object-fit:contain}
.menu{justify-self:center;display:flex;align-items:center;gap:14px;font-weight:600;font-size:13px;font-family:var(--f-display)}
.menu>a,.drop>a{position:relative;display:inline-flex;align-items:center;gap:4px;padding:8px 0;color:var(--ink);white-space:nowrap;transition:color .2s}
.menu>a:hover,.drop:hover>a{color:var(--orange-ink)}
.menu .caret{transition:transform .22s}
.drop{position:static}
.drop:hover .caret{transform:rotate(180deg)}
.drop::after{content:none}
.drop .panel{position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%) translateY(8px);min-width:250px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg);padding:9px;display:flex;flex-direction:column;gap:2px;opacity:0;visibility:hidden;transition:opacity .2s,transform .2s;z-index:60}
.drop:hover .panel{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.drop .panel::before{content:"";position:absolute;top:-7px;left:50%;transform:translateX(-50%) rotate(45deg);width:13px;height:13px;background:#fff;border-left:1px solid var(--line);border-top:1px solid var(--line)}
.drop .panel a{padding:10px 14px;border-radius:10px;font-size:14px;font-weight:600;color:var(--ink-2);white-space:nowrap}
.drop .panel a:hover{background:var(--paper-3);color:var(--ink)}
.drop .panel a.all{color:var(--orange-ink);margin-top:4px;border-top:1px solid var(--line-2);border-radius:0;padding-top:13px}
.drop .panel a.all .arrow{color:var(--orange)}
/* ---- SERVICES mega menu (single premium panel, centered to the header) ---- */
.drop .panel.svcmega{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(10px);min-width:0;width:max-content;max-width:1080px;padding:24px 22px 0;border-radius:22px;margin-top:0}
.drop:hover .panel.svcmega{transform:translateX(-50%) translateY(0)}
.drop .panel.svcmega::before{display:none}
.svcgridm{display:grid;grid-template-columns:repeat(4,minmax(204px,1fr));gap:0;align-items:stretch}
.svccolm{display:flex;flex-direction:column;padding:0 16px}
.svccolm:first-child{padding-left:4px}
.svccolm+.svccolm{border-left:1px solid var(--line-2)}
.svccolm .ch{display:flex;align-items:center;gap:12px;padding:2px 10px 15px;margin-bottom:9px;border-bottom:1px solid var(--line-2);border-radius:0}
/* per-service color identities (warm→cool Comfort-Current spectrum) */
.svccolm.cool {--cg1:#39B5EC;--cg2:#0E6FA8;--cak:#0E6FA8;--cdot:#1B9DD8;--cwash:#E7F4FB} /* cold = blue */
.svccolm.air  {--cg1:#46BE70;--cg2:#1E7A43;--cak:#1E7A43;--cdot:#2E9E5B;--cwash:#E7F5EC} /* clean air = green */
.svccolm.heat {--cg1:#FF8240;--cg2:#C4531E;--cak:#C4531E;--cdot:#F06B2F;--cwash:#FCEDE5} /* heat = orange */
.svccolm.water{--cg1:#E8584A;--cg2:#B23529;--cak:#B23529;--cdot:#DC4A3D;--cwash:#FBEAE7} /* hot water = red */
.svccolm .ch .ci{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;flex:none;color:#fff;background:linear-gradient(140deg,var(--cg1),var(--cg2));box-shadow:0 12px 22px -12px rgba(14,39,70,.5);transition:transform .3s cubic-bezier(.2,.7,.16,1)}
.svccolm:hover .ch .ci{transform:translateY(-2px) scale(1.05)}
.svccolm .ch .ci svg{width:21px;height:21px}
.svccolm .ch .ct{font-family:var(--f-display);font-weight:800;font-size:15px;letter-spacing:-.01em;line-height:1.05;color:var(--navy);transition:color .2s}
.svccolm .ch:hover .ct{color:var(--cak)}
.svccolm a:not(.ch){position:relative;padding:8px 28px 8px 12px;border-radius:10px;font-size:13.5px;font-weight:600;color:var(--ink-2);display:flex;align-items:center;gap:11px;white-space:nowrap;transition:background .18s,color .18s,padding-left .2s}
.svccolm a:not(.ch)::after{content:"›";position:absolute;right:13px;font-family:var(--f-display);font-weight:900;font-size:15px;color:var(--cak);opacity:0;transform:translateX(-4px);transition:opacity .2s,transform .2s}
.svccolm a:not(.ch) .dot,.svccolm .na .dot{width:6px;height:6px;border-radius:50%;flex:none;transition:transform .2s}
.svccolm a:not(.ch) .dot{background:var(--cdot)}
.svccolm a:not(.ch):hover{padding-left:16px;background:var(--cwash);color:var(--cak)}
.svccolm a:not(.ch):hover::after{opacity:1;transform:translateX(0)}
.svccolm a:not(.ch):hover .dot{transform:scale(1.4)}
.svccolm .na{padding:8px 12px;font-size:13.5px;font-weight:600;color:var(--muted);display:flex;align-items:center;gap:11px}
.svccolm .na .dot{background:var(--muted);opacity:.55}
.svcfoot{position:relative;display:flex;align-items:center;justify-content:space-between;gap:18px;margin:18px -22px 0;padding:15px 24px;border-top:1px solid var(--line-2);background:linear-gradient(180deg,#fff,var(--paper-3));border-radius:0 0 22px 22px}
.svcfoot::before{content:"";position:absolute;left:0;right:0;top:-1px;height:2px;background:linear-gradient(90deg,var(--orange),var(--blue))}
.svcfoot .sf-l{display:flex;align-items:center;gap:13px}
.svcfoot .sf-l img{width:44px;height:44px;flex:none;object-fit:contain}
.svcfoot .sf-l b{font-family:var(--f-display);font-weight:800;font-size:14px;color:var(--navy);display:block;line-height:1.15}
.svcfoot .sf-l span{font-size:12px;color:var(--gray)}
.svcfoot .sf-r{display:flex;align-items:center;gap:16px}
.svcfoot .sf-all{font-family:var(--f-display);font-weight:800;font-size:13px;color:var(--navy);display:inline-flex;align-items:center;gap:6px;transition:gap .2s,color .2s}
.svcfoot .sf-all:hover{color:var(--orange-d);gap:9px}
.svcfoot .sf-btn{background:var(--orange);color:#fff;padding:11px 20px;border-radius:10px;font-family:var(--f-display);font-weight:700;font-size:13px;transition:background .2s,transform .2s,box-shadow .2s}
.svcfoot .sf-btn:hover{background:var(--orange-ink);transform:translateY(-2px);box-shadow:0 12px 24px -10px rgba(240,107,47,.55)}
.nav-cta{justify-self:end;display:flex;align-items:center;gap:10px}
.nav-cta .btn{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 18px;border-radius:10px;font-family:var(--f-display);font-weight:700;font-size:14px;white-space:nowrap;transition:background .2s,color .2s,border-color .2s,box-shadow .2s,transform .2s}
.nav-cta .btn svg{width:16px;height:16px;transition:transform .2s}
/* phone = minimal outline */
.btn-oorange{background:#fff;color:var(--navy);border:1px solid var(--line)}
.btn-oorange svg{color:var(--orange)}
.btn-oorange:hover{border-color:var(--orange);background:var(--orange-wash);transform:translateY(-2px);box-shadow:0 10px 20px -12px rgba(240,107,47,.5)}
.btn-oorange:hover svg{transform:scale(1.08)}
/* schedule = minimal solid */
.btn-pri{background:var(--orange);color:#fff}
.btn-pri:hover{background:var(--orange-ink);transform:translateY(-2px);box-shadow:0 12px 24px -10px rgba(240,107,47,.6)}
.btn-oblue{background:#fff;color:var(--blue-ink);border:1px solid var(--blue)}
.btn-oblue:hover{background:var(--blue);color:#fff}
/* SECONDARY (white outline) — consistent site-wide */
.btn-o{background:#fff;color:var(--navy);border:1.5px solid var(--line)}
.btn-o:hover{border-color:var(--orange);background:var(--orange-wash);transform:translateY(-2px);box-shadow:0 10px 20px -12px rgba(240,107,47,.5)}
.hamb{display:none;margin-left:auto;flex-direction:column;gap:5px;width:46px;height:46px;border:1px solid var(--line);border-radius:12px;align-items:center;justify-content:center;cursor:pointer;flex:none}
.hamb span{width:22px;height:2px;background:var(--ink);border-radius:2px;transition:transform .25s,opacity .2s}
#mnav:checked ~ .wrap .hamb span:nth-child(1){transform:translateY(7px) rotate(45deg)}
#mnav:checked ~ .wrap .hamb span:nth-child(2){opacity:0}
#mnav:checked ~ .wrap .hamb span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-menu{display:none;flex-direction:column;background:#fff;border-top:1px solid var(--line);padding:8px 22px 20px}
#mnav:checked ~ .mobile-menu{display:flex}
.mobile-menu>a{padding:13px 4px;font-family:var(--f-display);font-weight:700;font-size:16px;color:var(--ink);border-bottom:1px solid var(--line-2)}
.mobile-menu .mm-cta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.mobile-menu .mm-cta .btn{justify-content:center;border-radius:12px;padding:14px 10px}
@media(max-width:1180px){
  .menu,.nav-cta{display:none}
  .hamb{display:flex;justify-self:end}
  header.nav .wrap{grid-template-columns:1fr auto;height:78px;gap:12px;max-width:none}
  .brand-logo{height:48px}
  .util .wrap{justify-content:center;max-width:none}
  .util .ui:not(.phone):not(.rate){display:none}
  .util .ui.phone{border-left:0;padding-left:0}
}
@media(max-width:760px){
  header.nav .wrap{height:70px}.brand-logo{height:44px}
  .util{font-size:11.5px}.util .ui{padding-inline:13px}
}

/* ===== HERO — ONE continuous surface (full-bleed slideshow + a single navy scrim that's solid on the
   left and fades to reveal the photo on the right). There is no second panel, so there is NO divider. */
/* ===== HERO — DOCKED VIDEO PANEL. Media is physically docked to the right ~74%; its LEFT edge is
   feathered with an alpha mask (crisp video, NO blur). The hero's own navy fills the left ~26% and
   the text sits on it; a thin Comfort-Current seam marks the panel edge. No hard divider line. ===== */
.hero{position:relative;min-height:86vh;overflow:hidden;background:var(--navy-2);color:#fff;display:flex;align-items:stretch}



/* FOOTER */
/* FOOTER — polished: brand + 3 service columns + bottom nav (deep navy, Comfort-Current accent) */
footer{position:relative;background:linear-gradient(180deg,#0A1730 0%,#050C18 100%);color:#aeb9cb}
footer::before{content:"";display:block;height:3px;background:linear-gradient(90deg,var(--orange),var(--blue))}
.fwrap{max-width:1320px;margin:0 auto;padding:62px 36px 0}
.ftop{display:grid;grid-template-columns:1.55fr 1fr 1fr 1fr;gap:40px}
.fbrand .flogo img{height:50px;width:auto}
.fbrand .fblurb{font-size:13.5px;color:#8a98ad;margin-top:18px;line-height:1.65;max-width:38ch}
.fnap{font-size:13px;color:#9aa8bd;margin-top:14px;line-height:1.65}
.fnap a{color:#fff;font-weight:600}.fnap a:hover{color:var(--orange-b)}
.fbbb{margin-top:20px;line-height:0}
.fbbb iframe{display:block;border:0;width:300px;max-width:100%;height:115px;overflow:hidden}
.fsocial{display:flex;gap:10px;margin-top:20px}
.fsocial a{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13);color:#cfd9e8;transition:background .2s,border-color .2s,transform .2s,color .2s}
.fsocial a svg{width:18px;height:18px}
.fsocial a:hover{background:var(--orange);border-color:var(--orange);color:#fff;transform:translateY(-2px)}
.fcol h5{font-family:var(--f-d);font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.07em;color:#fff;margin-bottom:18px;position:relative;padding-bottom:11px}
.fcol h5::after{content:"";position:absolute;left:0;bottom:0;width:26px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--orange),var(--blue))}
.fcol ul{list-style:none;display:flex;flex-direction:column;gap:9px;font-size:13.5px}
.fcol li a{color:#9aa8bd;transition:color .2s,transform .2s;display:inline-block}
.fcol li a:hover{color:#fff;transform:translateX(3px)}
.fcol li .np{color:#67768b;cursor:default;display:inline-block}
.fnav{display:flex;flex-wrap:wrap;justify-content:center;gap:9px 28px;border-top:1px solid rgba(255,255,255,.1);margin-top:52px;padding:26px 0 16px;font-size:13.5px;font-family:var(--f-d);font-weight:600}
.fnav a{color:#cfd9e8;transition:color .2s}.fnav a:hover{color:var(--orange-b)}
.fcopy{text-align:center;padding:0 36px 30px;font-size:12.5px;color:#74829a}
.fcopy a{color:#aeb9cb;font-weight:600}.fcopy a:hover{color:#fff}

/* scroll reveal (calm, opacity + rise) */
.rev{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.16,1),transform .7s cubic-bezier(.2,.7,.16,1)}
.rev.in{opacity:1;transform:none}

@media(max-width:980px){
  .svcgrid,.vgrid,.steps,.plans,.revgrid{grid-template-columns:1fr 1fr}
  .split,.areawrap{grid-template-columns:1fr;gap:32px}
  .split.rev .media{order:0}
  .counties{grid-template-columns:1fr 1fr}
  .ftop{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .sec{padding:64px 0}
  .svcgrid,.vgrid,.steps,.plans,.revgrid,.counties{grid-template-columns:1fr}
  .ftop{grid-template-columns:1fr}
  .final .fpeng,.final .ccarc{display:none}
  /* tighter side gutters on phones (hero .hwrap already overrides; util/header .wrap stay more specific) */
  .wrap{padding-inline:22px}
  .fwrap{padding-left:22px;padding-right:22px}
  .fcopy{padding-left:22px;padding-right:22px}
}
@media(max-width:380px){
  .wrap,.hwrap{padding-inline:16px}
  .fwrap,.fcopy{padding-left:16px;padding-right:16px}
}
@media(prefers-reduced-motion:reduce){.rev{opacity:1;transform:none;transition:none}.revpeng{animation:none}}
