:root{--navy:#0d1b6b;--navy2:#08124a;--gold:#d4a24c;--gold2:#e0bf5a;--ink:#1b2a41;--mut:#5a6578;--bg:#f5f7fb;--r:14px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);line-height:1.55;background:#fff}
img{max-width:100%;height:auto;display:block}a{color:var(--navy)}
.container{max-width:1180px;margin:0 auto;padding:0 20px}
.skip-link{position:absolute;left:-999px}.skip-link:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:99}
/* utility bar (clyde-style thin top strip) */
.top-links{background:var(--navy2);border-bottom:3px solid var(--gold);text-align:center;padding:.55rem .75rem}
.top-links ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 2.2rem}
.top-links a{color:#fff;font-weight:800;font-size:19px;text-decoration:none;white-space:nowrap}
.top-links a:hover{color:var(--gold2);text-decoration:underline}
/* header */
.site-header{background:#fff;position:sticky;top:0;z-index:50;box-shadow:0 2px 14px rgba(13,27,107,.08);transition:padding .2s}
.header-inner{display:flex;align-items:center;gap:20px;padding:12px 20px}
.brand img{height:62px;width:auto;transition:height .2s}.site-header.shrink .brand img{height:46px}
.header-trust{margin-left:auto;display:flex;align-items:center;gap:18px;font-weight:700;font-size:.95rem}
.header-trust a{text-decoration:none;color:var(--ink);display:flex;align-items:center;gap:6px}
.header-trust a:hover{color:var(--navy)}
.header-phone{color:var(--navy)!important;font-size:1.15rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:.8rem 1.3rem;border-radius:10px;font-weight:800;text-decoration:none;border:0;cursor:pointer;font-size:1rem;transition:transform .15s,box-shadow .15s,background .15s}
.btn:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(0,0,0,.18)}
.btn-gold{background:var(--gold);color:var(--navy2)}.btn-gold:hover{background:var(--gold2)}
.btn-navy{background:var(--navy);color:#fff}.btn-ghost{background:transparent;color:#fff;border:2px solid #fff}
.main-nav{background:var(--navy)}
.main-nav .container{display:flex;gap:4px;flex-wrap:wrap}
.main-nav a{color:#fff;text-decoration:none;font-weight:700;padding:.7rem .9rem;position:relative}
.main-nav a::after{content:"";position:absolute;left:.9rem;right:.9rem;bottom:.4rem;height:2px;background:var(--gold);transform:scaleX(0);transition:transform .2s}
.main-nav a:hover::after{transform:scaleX(1)}
.icon{width:20px;height:20px;fill:currentColor}
/* hero */
.hero{position:relative;color:#fff;background:linear-gradient(110deg,rgba(8,18,74,.94) 0%,rgba(13,27,107,.85) 55%,rgba(13,27,107,.55)),url(../images/photos/residential-ac-condenser.jpg) center/cover;padding:56px 0 70px}
.hero-inner{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center}
.eyebrow{color:var(--gold2);font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:.85rem;margin:0 0 .5rem}
.hero h1{font-size:clamp(2rem,4.2vw,3.2rem);line-height:1.08;margin:0 0 .4rem}
.slogan{font-style:italic;color:var(--gold2);font-size:1.35rem;margin:0 0 .8rem;font-weight:600}
.hero .lead{font-size:1.12rem;max-width:560px;opacity:.95}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:1.2rem 0}
.badges{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:1rem 0 0}
.badges li{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);padding:.4rem .8rem;border-radius:999px;font-weight:700;font-size:.9rem}
.hero-form{background:#fff;color:var(--ink);border-radius:var(--r);padding:24px;box-shadow:0 20px 50px rgba(0,0,0,.35);border-top:6px solid var(--gold)}
.hero-form h2{margin:0 0 .2rem;color:var(--navy);font-size:1.5rem;text-align:center}
.hero-form p.sub{text-align:center;margin:0 0 .9rem;color:var(--mut);font-size:.95rem}
.field{margin-bottom:.65rem}.field label{display:block;font-weight:700;font-size:.85rem;margin-bottom:.2rem}
.field input,.field select,.field textarea{width:100%;padding:.65rem .75rem;border:1px solid #cfd6e4;border-radius:8px;font:inherit}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--gold);border-color:var(--gold)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.hidden-field{display:none}.btn-block{width:100%}
.form-note{font-size:.8rem;color:var(--mut);margin:.5rem 0 0;text-align:center}
.form-success{background:#e7f6ec;border:1px solid #9fd3b0;padding:.7rem;border-radius:8px;margin-bottom:.7rem}
/* service tiles (clyde icon grid) */
.tiles{margin-top:-40px;position:relative;z-index:2}
.tile-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.tile{background:#15803d;color:#fff;border-radius:var(--r);padding:22px 16px;text-align:center;text-decoration:none;border:2px solid #fff;box-shadow:0 10px 24px rgba(21,128,61,.25);transition:transform .2s,background .2s}
.tile:hover{transform:translateY(-6px);background:#166534}
.tile .ring{width:74px;height:74px;margin:0 auto 10px;border-radius:50%;border:3px solid var(--gold);display:grid;place-items:center;background:#fff;transition:transform .4s}
.tile:hover .ring{transform:rotate(-10deg) scale(1.08)}
.tile .ring svg{width:38px;height:38px;fill:var(--navy)}
.tile strong{display:block;font-size:1.05rem}
/* sections */
.section{padding:72px 0}.section-alt{background:var(--bg)}
.kicker{color:var(--gold);font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:.8rem;text-align:center;margin:0}
.section-title{text-align:center;font-size:clamp(1.7rem,3vw,2.5rem);color:var(--navy);margin:.2rem 0 .6rem;line-height:1.15}
.section-intro{text-align:center;max-width:720px;margin:0 auto 2rem;color:var(--mut)}
/* specials */
.specials{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.special-card{display:flex;border-radius:var(--r);overflow:hidden;box-shadow:0 10px 30px rgba(13,27,107,.12);background:#fff}
.special-price{background:var(--navy);color:#fff;padding:22px;min-width:150px;text-align:center;display:flex;flex-direction:column;justify-content:center}
.special-price .amt{font-size:3rem;font-weight:900;color:var(--gold2);line-height:1;margin:.2rem 0}
.special-price p{margin:0}.special-tag{text-transform:uppercase;font-size:.75rem;letter-spacing:.1em;font-weight:800}
.special-body{padding:20px 22px}.special-body h3{margin:0 0 .4rem;color:var(--navy)}
.special-list{columns:2;padding-left:1.1rem;margin:.4rem 0;font-size:.95rem}
.special-terms{text-align:center;color:var(--mut);font-size:.9rem;margin-top:1.2rem}
.second-opinion{margin-top:20px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(90deg,var(--gold),var(--gold2));border-radius:var(--r);padding:20px 26px;color:var(--navy2)}
.second-opinion h3{margin:0}.second-opinion p{margin:.2rem 0 0}
/* accordion services (flyingnapkins) */
.svc-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:start}
.svc-wrap .section-title,.svc-wrap .kicker{text-align:left}
.svc-side p{color:var(--mut)}
.acc{border-top:1px solid #d8dde8}
.acc details{border-bottom:1px solid #d8dde8}
.acc summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;padding:18px 4px;font-weight:800;font-size:1.08rem;color:var(--ink)}
.acc summary::-webkit-details-marker{display:none}
.acc summary .ico{width:38px;height:38px;border-radius:10px;background:var(--bg);display:grid;place-items:center;flex:none}
.acc summary .ico svg{width:22px;height:22px;fill:var(--navy)}
.acc summary::after{content:"+";margin-left:auto;font-size:1.6rem;font-weight:400;color:var(--gold);transition:transform .25s}
.acc details[open] summary::after{transform:rotate(45deg)}
.acc details[open] summary{color:var(--navy)}
.acc .body{padding:0 4px 18px 56px;color:var(--mut);animation:fadeDown .3s ease}
@keyframes fadeDown{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
/* big statement */
.statement{background:var(--navy);color:#fff;text-align:center;padding:80px 0;overflow:hidden}
.statement h2{font-size:clamp(2.2rem,6vw,4.4rem);margin:0;line-height:1.05}
.statement h2 span{color:var(--gold2)}
.statement p{max-width:700px;margin:1rem auto 0;opacity:.9}
.facts{display:flex;justify-content:center;gap:56px;flex-wrap:wrap;margin-top:40px}
.facts div{min-width:150px}.facts b{display:block;font-size:2.8rem;color:var(--gold2);line-height:1}
.facts span{font-size:.9rem;opacity:.85}
/* troubleshooter */
.tool{max-width:860px;margin:0 auto;background:#fff;border-radius:var(--r);box-shadow:0 10px 30px rgba(13,27,107,.12);padding:28px}
.tool-q{font-weight:800;color:var(--navy);margin:0 0 .8rem}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{border:2px solid var(--navy);background:#fff;color:var(--navy);border-radius:999px;padding:.55rem 1rem;font-weight:700;cursor:pointer;font:inherit;font-weight:700;transition:all .15s}
.chip:hover,.chip[aria-pressed=true]{background:var(--navy);color:#fff}
.tool-out{margin-top:18px;border-left:5px solid var(--gold);background:var(--bg);border-radius:8px;padding:16px 18px;display:none}
.tool-out.show{display:block;animation:fadeDown .3s}
.tool-out h3{margin:0 0 .3rem;color:var(--navy)}.tool-out ul{margin:.3rem 0 .8rem}
.tool-disclaimer{font-size:.82rem;color:var(--mut);margin-top:12px}
/* why */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;list-style:none;padding:0;margin:0}
.why-grid li{background:#fff;border-radius:var(--r);padding:20px;border-bottom:4px solid var(--gold);box-shadow:0 6px 18px rgba(13,27,107,.07);transition:transform .2s}
.why-grid li:hover{transform:translateY(-4px)}
.why-grid strong{display:block;color:var(--navy);margin-bottom:.25rem}
/* photos */
.photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.photo{margin:0;border-radius:var(--r);overflow:hidden;position:relative;aspect-ratio:4/3}
.photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.photo:hover img{transform:scale(1.07)}
.photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:24px 12px 10px;background:linear-gradient(transparent,rgba(8,18,74,.9));color:#fff;font-weight:800}
.photo-credit{font-size:.75rem;color:var(--mut);margin-top:10px;text-align:center}
/* areas */
.area-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:36px;align-items:center}
.area-map{background:var(--navy);border-radius:var(--r);padding:16px;box-shadow:0 10px 30px rgba(13,27,107,.2)}

.area-map .town{cursor:pointer}
.area-map .town circle{fill:var(--gold);stroke:#fff;stroke-width:2;transition:r .2s}
.area-map .town text{fill:#fff;font-weight:800;font-size:15px;font-family:inherit}
.area-map .town:hover circle,.area-map .town.on circle{fill:#fff;stroke:var(--gold);stroke-width:4}
.area-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.area-card{display:block;background:#fff;border-radius:12px;padding:16px 18px;text-decoration:none;color:var(--ink);border-left:5px solid var(--gold);box-shadow:0 6px 16px rgba(13,27,107,.08);transition:transform .2s,box-shadow .2s,border-color .2s}
.area-card:hover,.area-card.on{transform:translateX(4px);box-shadow:0 10px 24px rgba(13,27,107,.16);border-color:var(--navy)}
.area-card strong{display:block;color:var(--navy);font-size:1.1rem}
.area-card span{font-size:.9rem;color:var(--mut)}
.area-card em{font-style:normal;font-weight:800;color:var(--gold);font-size:.85rem}
.area-note{text-align:center;margin-top:1.4rem}
/* review CTA strip */
.review-strip{background:linear-gradient(90deg,var(--gold),var(--gold2));padding:34px 0}
.review-strip .container{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.review-strip h2{margin:0;color:var(--navy2)}.review-strip p{margin:.2rem 0 0;color:var(--navy2)}
/* quote */
.quote-inner{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:start}
.quote-phone a{font-size:2rem;font-weight:900;color:var(--navy);text-decoration:none}
.quote-form{background:#fff;padding:26px;border-radius:var(--r);box-shadow:0 10px 30px rgba(13,27,107,.12)}
/* footer */
.site-footer{background:var(--navy2);color:#cfd6f0;padding:50px 0 90px}
.footer-inner{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}
.site-footer a{color:#fff}.footer-head{color:var(--gold2);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.85rem}
.footer-name{color:#fff;font-weight:900;font-size:1.1rem}
.footer-bottom{border-top:1px solid rgba(255,255,255,.15);margin-top:24px;padding-top:16px;font-size:.85rem}
.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{margin:.25rem 0}
/* sticky call */
.sticky-call{position:fixed;right:22px;bottom:22px;z-index:60;background:var(--gold);color:var(--navy2);border-radius:999px;padding:14px 20px;font-weight:900;text-decoration:none;display:flex;gap:8px;align-items:center;box-shadow:0 10px 26px rgba(0,0,0,.3);transform:translateY(120px);transition:transform .3s}
.sticky-call.show{transform:none}
.sticky-call::before{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:0 0 0 0 rgba(212,162,76,.7);animation:pulse 2.2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 16px rgba(212,162,76,0)}100%{box-shadow:0 0 0 0 rgba(212,162,76,0)}}
/* reveal */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}html{scroll-behavior:auto}}
/* area page */
.crumbs{font-size:.9rem;margin:0 0 .6rem}.crumbs a{color:var(--gold2)}
.area-body{display:grid;grid-template-columns:1.3fr .7fr;gap:36px}
.area-body h2{color:var(--navy)}
.side-card{background:var(--bg);border-radius:var(--r);padding:22px;position:sticky;top:110px}
.side-card ul{padding-left:1.1rem}
.other-areas{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.other-areas a{background:#fff;border:1px solid #d8dde8;border-radius:999px;padding:.35rem .8rem;text-decoration:none;font-weight:700;font-size:.9rem}
/* responsive */
@media (max-width:960px){
 .hero-inner,.svc-wrap,.area-layout,.quote-inner,.area-body{grid-template-columns:1fr}
 .tile-grid{grid-template-columns:repeat(2,1fr)}.why-grid{grid-template-columns:1fr 1fr}
 .photo-grid{grid-template-columns:1fr 1fr}.specials{grid-template-columns:1fr}
 .footer-inner{grid-template-columns:1fr 1fr}.header-trust .hide-sm{display:none}
 .svc-wrap .section-title,.svc-wrap .kicker{text-align:center}.svc-side p{text-align:center}
}
@media (max-width:600px){
 .top-links ul{flex-direction:column;gap:.3rem}.top-links a{font-size:18px}
 .brand img{height:44px}.header-inner{padding:10px 14px;gap:10px}
 .header-phone .num{display:none}
 .main-nav .container{overflow-x:auto;flex-wrap:nowrap;padding:0 8px}.main-nav a{white-space:nowrap;padding:.6rem .7rem}
 .hero{padding:36px 0 60px}.field-row{grid-template-columns:1fr}
 .tile{padding:16px 10px}.tile .ring{width:58px;height:58px}.tile .ring svg{width:30px;height:30px}.tile strong{font-size:.92rem}
 .why-grid,.area-cards,.footer-inner{grid-template-columns:1fr}
 .special-card{flex-direction:column}.special-list{columns:1}
 .second-opinion{flex-direction:column;text-align:center}
 .facts{gap:28px}.section{padding:52px 0}
 .sticky-call{left:14px;right:14px;bottom:14px;justify-content:center}
}
.static .reveal{opacity:1;transform:none;transition:none}
.hero-form .quote-form{box-shadow:none;padding:0}
.svc-actions{margin-top:14px;display:flex;gap:10px;flex-wrap:wrap}
.section-cta{margin-top:28px;display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.photo figcaption a{color:inherit;text-decoration:none}
.photo figcaption a:hover{text-decoration:underline}
.statement .btn{margin-top:18px}
.owner-cta{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;align-items:center}
.owner-cta strong{color:#fff;width:100%;text-align:center}
/* Leaflet maps */
.area-map{padding:10px}
.leaf{height:440px;border-radius:12px;overflow:hidden;z-index:0;background:#e8e8e8}
.leaf-sm{height:260px}
.map-hint{color:rgba(255,255,255,.8);font-size:.85rem;margin:8px 4px 0;text-align:center}
.area-card{cursor:pointer}
.area-card.sel{border-color:var(--navy);background:#fff8e8;box-shadow:0 10px 24px rgba(13,27,107,.2)}
.card-links{display:flex;justify-content:space-between;gap:8px;margin-top:6px;flex-wrap:wrap}
.card-links .maplink{font-weight:800;color:var(--navy);font-size:.82rem}
.card-links a{font-weight:800;color:var(--gold);font-size:.85rem;text-decoration:none}
.card-links a:hover{text-decoration:underline}
.leaflet-tooltip.town-lbl{font-weight:800;color:#0d1b6b;border:0;box-shadow:0 2px 6px rgba(0,0,0,.25)}
@media (max-width:700px){.leaf{height:320px}}
.leaf img{max-width:none!important;max-height:none!important}
.leaf svg{max-width:none!important}
.leaflet-control-attribution{font-size:11px}
.disclaimers{font-size:.78rem;line-height:1.5;color:rgba(255,255,255,.72);border-top:1px solid rgba(255,255,255,.12);padding-top:14px;margin-top:10px}
.disclaimers .disc-head{font-weight:800;color:rgba(255,255,255,.88);margin:0 0 4px}
.site-footer .disclaimers ul{margin:0;padding-left:18px;list-style:disc}
.disclaimers li{margin:2px 0}
.leaflet-interactive{cursor:pointer}.leaflet-popup-content a{font-weight:800;color:#0d1b6b}
/* cooler map */
.leaflet-container{border-radius:14px;box-shadow:0 12px 34px rgba(11,37,69,.25)}
.town-dot{cursor:pointer;filter:drop-shadow(0 0 6px rgba(22,163,74,.85));animation:dotPulse 2.2s ease-in-out infinite}
@keyframes dotPulse{0%,100%{stroke-width:3px}50%{stroke-width:7px;stroke-opacity:.55}}
.town-area{transition:fill-opacity .2s}
.town-hi{filter:drop-shadow(0 0 8px rgba(212,162,76,.9))}
.town-lbl{background:#fff;border:2px solid #16a34a;color:#0b2545;font-weight:700;border-radius:999px;padding:2px 9px;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.town-lbl:before{display:none}
.leaflet-popup-content a{display:inline-block;margin-top:6px;background:#16a34a;color:#fff!important;padding:7px 12px;border-radius:8px;font-weight:700;text-decoration:none}
.leaflet-popup-content a:hover{background:#15803d}
.area-card em,.area-card a,.area-cards a{color:#15803d}
.area-card:hover em{color:#16a34a}
@media (prefers-reduced-motion:reduce){.town-dot{animation:none}}
.card-links .maplink{color:#16a34a;font-weight:700}
.card-links a{color:#15803d;font-weight:700}
.area-card.on,.area-card:focus{border-color:#16a34a}
/* ===== logo palette (10/24) ===== */
:root{--logo-navy:#0b1466;--logo-blue:#1f3a9e;--logo-green:#00602a;--logo-olive:#5a6b2e;--logo-gold:#d9c46a;--navy:#0b1466;--navy2:#070d4a}
.top-links{border-bottom:0;box-shadow:inset 0 -3px 0 transparent;background:linear-gradient(var(--navy2),var(--navy2)) padding-box;position:relative}
.top-links::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:3px;background:linear-gradient(90deg,var(--logo-gold),var(--logo-olive),var(--logo-green),var(--logo-blue))}
.main-nav{background:linear-gradient(90deg,var(--logo-navy),var(--logo-blue))}
.main-nav a::after{background:var(--logo-gold)}
.kicker{color:var(--logo-green)}
.kicker::after{content:"";display:block;width:120px;height:18px;margin:6px auto 0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 18'%3E%3Cpath d='M0 9h44M76 9h44' stroke='%2300602a' stroke-width='2'/%3E%3Cpath d='M53 16c-4-2-5-6-2-10 0 3 2 4 3 4 0-3 1-6 4-8-1 4 3 6 2 10-1 3-4 4-7 4z' fill='%235a6b2e'/%3E%3Cg stroke='%2300602a' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M68 2v14M62 5.5l12 7M62 12.5l12-7'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat}
.section-title{color:var(--logo-navy)}
.section-title+*{}
.eyebrow,.slogan{color:var(--logo-gold)}
.hero-form{border-top:6px solid var(--logo-green)}
.hero-form h2{color:var(--logo-navy)}
.field input:focus,.field select:focus,.field textarea:focus{outline-color:var(--logo-green);border-color:var(--logo-green)}
.btn-gold{background:var(--logo-gold);color:var(--navy2)}.btn-gold:hover{background:#e6d68a}
.btn-navy{background:linear-gradient(135deg,var(--logo-navy),var(--logo-blue))}
.tile .ring{border-color:var(--logo-gold);box-shadow:0 0 0 3px rgba(255,255,255,.25)}
.tile .ring svg{fill:var(--logo-navy)}
.special-price{background:linear-gradient(160deg,var(--logo-navy),var(--logo-blue))}
.special-price .amt{color:var(--logo-gold)}
.second-opinion{background:linear-gradient(90deg,var(--logo-gold),#e8dc9c)}
.acc summary::after{color:var(--logo-green)}
.statement{background:radial-gradient(ellipse at 85% 20%,rgba(0,96,42,.35),transparent 55%),linear-gradient(135deg,var(--logo-navy),var(--logo-blue));position:relative}
.statement::before{content:"";position:absolute;right:-40px;top:50%;width:340px;height:340px;transform:translateY(-50%);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 96C30 90 20 70 32 46c0 12 6 16 10 16-2-16 4-34 20-46-6 20 14 30 10 54-3 16-12 24-22 26z' fill='%23fff'/%3E%3C/svg%3E") center/contain no-repeat;opacity:.06;pointer-events:none}
.statement>.container{position:relative}
.statement h2 span,.facts b{color:var(--logo-gold)}
.why-grid li{border-bottom-color:var(--logo-green)}
.why-grid strong,.area-card strong,.tool-q,.special-body h3,.tool-out h3,.area-body h2,.acc details[open] summary{color:var(--logo-navy)}
.area-map{background:linear-gradient(135deg,var(--logo-navy),var(--logo-blue))}
.area-card{border-left-color:var(--logo-green)}
.area-card.sel{background:#eef7f1;border-color:var(--logo-green)}
.review-strip{background:linear-gradient(90deg,var(--logo-gold),#e8dc9c 50%,#bfe0c9)}
.tool-out{border-left-color:var(--logo-green)}
.site-footer{background:linear-gradient(180deg,var(--navy2),#050a35);border-top:4px solid var(--logo-green)}
.footer-head{color:var(--logo-gold)}
.footer-name{display:flex;align-items:center;gap:10px}
.footer-name::before{content:"";flex:0 0 38px;height:38px;border-radius:50%;border:2px solid var(--logo-gold);background:#fff url("../images/icon-192.png") center/80% no-repeat}
.crumbs a{color:var(--logo-gold)}
.sticky-call{background:var(--logo-gold)}
@media (max-width:700px){.statement::before{width:220px;height:220px;right:-60px}.kicker::after{width:100px}}

.photo-group{font-size:1.05rem;text-transform:uppercase;letter-spacing:.08em;color:var(--green,#16a34a);margin:22px 0 10px}
.photo-credits{color:rgba(255,255,255,.72);font-size:.72rem;opacity:.85;padding-bottom:10px}.photo-credits ul{margin:4px 0 0;padding-left:18px}.photo-credits li{margin:2px 0;overflow-wrap:anywhere}.photo-credits a{color:inherit;text-decoration:underline}

/* ===== Interactive motion layer (added 10/24; transforms/opacity only) ===== */
.ix .ix-split .ix-w{display:inline-block;opacity:0;transform:translateY(.6em);transition:opacity .5s ease,transform .6s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--i)*55ms)}
.ix .ix-split.ix-in .ix-w{opacity:1;transform:none}
.ix .hero .slogan,.ix .hero p,.ix .hero-actions,.ix .hero-form{opacity:0;transform:translateY(18px);transition:opacity .7s ease .45s,transform .7s cubic-bezier(.2,.8,.2,1) .45s}
.ix .hero-form{transition-delay:.65s}
.ix .hero.ix-hero-in .slogan,.ix .hero.ix-hero-in p,.ix .hero.ix-hero-in .hero-actions,.ix .hero.ix-hero-in .hero-form{opacity:1;transform:none}
.ix .tile-grid .tile{opacity:0;transform:translateY(24px);transition:opacity .5s ease calc(var(--i)*80ms),transform .5s cubic-bezier(.2,.8,.2,1) calc(var(--i)*80ms),background .2s}
.ix .tile-grid.ix-in .tile{opacity:1;transform:perspective(700px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}
.ix .tile-grid.ix-in .tile:hover{transform:perspective(700px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-6px);transition-delay:0s}
/* buttons: fill sweep, lift, press squish */
.btn{position:relative;overflow:hidden;isolation:isolate}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(255,255,255,.22);transform:translateX(-101%);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.btn-navy::before{background:linear-gradient(135deg,#16a34a,#00602a)}
.btn:hover::before,.btn.ix-hover::before{transform:none}
.btn.ix-hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(0,0,0,.18)}
.btn.ix-mag:hover{transform:translate(var(--mx,0),calc(var(--my,0) - 2px))}
.btn:active{transform:translateY(1px) scale(.96)!important;transition-duration:.08s}
.btn .icon{transition:transform .25s}.btn:hover .icon{transform:rotate(-12deg) scale(1.12)}
.tile{position:relative;overflow:hidden}
.ix-ripple{position:absolute;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:rgba(255,255,255,.45);pointer-events:none;transform:scale(0);animation:ixr .6s ease-out forwards}
@keyframes ixr{to{transform:scale(28);opacity:0}}
/* arrow links nudge + green underline draw on card links */
.card-links a,.maplink{background-image:linear-gradient(currentColor,currentColor);background-size:0 2px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .3s}
.card-links a:hover,.maplink:hover{background-size:100% 2px}
.main-nav a::after{transform-origin:left;transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.ix-off .ix-w{opacity:1!important;transform:none!important}
@media (prefers-reduced-motion: reduce){.btn::before,.btn .icon,.tile,.ix-ripple{transition:none!important;animation:none!important}.btn:active{transform:none!important}}

/* ===== Whole-page scroll flow (added 10/24) ===== */
.ix .ix-item{opacity:0;transform:translateY(26px);transition:opacity .7s ease var(--d,0ms),transform .8s cubic-bezier(.2,.8,.2,1) var(--d,0ms)}
.ix .ix-item.ix-in{opacity:1;transform:none}
.ix .btn.ix-item.ix-in{transition:opacity .7s ease var(--d,0ms),transform .8s cubic-bezier(.2,.8,.2,1) var(--d,0ms),box-shadow .15s,background .15s}
.ix .btn.ix-item.ix-in:hover,.ix .btn.ix-item.ix-in:active{transition-delay:0s;transition-duration:.15s}

/* ===== "Cool" pass (10/24): live dot, airflow, stats, badges, plan, checker, steps, progress, sticky bar ===== */
.live{display:inline-flex;align-items:center;gap:7px;font-weight:800;font-size:.9rem;color:#15803d}
.live i{width:10px;height:10px;border-radius:50%;background:#16a34a;position:relative;flex:none}
.live i::after{content:"";position:absolute;inset:0;border-radius:50%;background:#16a34a;animation:livep 1.8s ease-out infinite}
@keyframes livep{to{transform:scale(2.6);opacity:0}}
.live-hero{color:#bbf7d0;margin:12px 0 0}
.hero{overflow:hidden}.hero-inner{position:relative;z-index:1}
.airflow{position:absolute;inset:0;width:100%;height:100%;opacity:.35;pointer-events:none}
.airflow path{fill:none;stroke:url(#af);stroke-width:2;stroke-dasharray:14 22;animation:flow 9s linear infinite}
.airflow path:nth-child(3){animation-duration:12s}.airflow path:nth-child(4){animation-duration:15s}
@keyframes flow{to{stroke-dashoffset:-360}}
.flakes{position:absolute;inset:0;pointer-events:none}
.flakes i{position:absolute;bottom:-30px;font-style:normal;color:#d9c46a;opacity:0;animation:rise 11s linear infinite}
.flakes i:nth-child(1){left:8%}.flakes i:nth-child(2){left:22%;animation-delay:2.2s}.flakes i:nth-child(3){left:38%;animation-delay:4.4s}.flakes i:nth-child(4){left:52%;animation-delay:6.6s}.flakes i:nth-child(5){left:30%;animation-delay:8.8s}
@keyframes rise{0%{transform:translateY(0);opacity:0;color:#d9c46a}15%{opacity:.6}60%{color:#93c5fd}100%{transform:translateY(-460px) rotate(180deg);opacity:0;color:#fff}}
.stats-strip{background:linear-gradient(135deg,#0b1466,#1f3a9e);color:#fff;padding:34px 0}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;text-align:center}
.stats b{display:block;font-size:2.4rem;color:#d9c46a;line-height:1.1}.stats span{font-size:.9rem;opacity:.9}
.trust-badges{list-style:none;padding:0;margin:26px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.trust-badges li,.trust-badges a{display:block;background:rgba(255,255,255,.08);border:1px solid rgba(217,196,106,.45);border-radius:12px;padding:14px 16px;color:#fff;text-decoration:none;font-size:.9rem}
.trust-badges li>a{border:0;padding:0;background:none}.trust-badges strong{display:block;color:#fff;font-size:1rem}.trust-badges small{display:block;opacity:.8}
.trust-badges a:hover strong{color:#d9c46a}
.plan-card{max-width:480px;margin:24px auto 0;background:#fff;border-radius:16px;border-top:6px solid #00602a;box-shadow:0 14px 34px rgba(11,20,102,.14);padding:26px;text-align:center}
.plan-toggle{display:inline-flex;background:#eef2ff;border-radius:999px;padding:4px}
.plan-toggle button{border:0;background:none;padding:.55rem 1.1rem;border-radius:999px;font-weight:800;cursor:pointer;color:#0b1466;min-height:44px}
.plan-toggle button[aria-pressed="true"]{background:#00602a;color:#fff}
.plan-price{margin:16px 0 8px;color:#0b1466}.plan-price b{font-size:3.2rem;display:inline-block}.plan-price .per{font-weight:700}.plan-for{display:block;color:#5a6b2e}
.plan-price b.bump{animation:bump .35s}@keyframes bump{50%{transform:scale(1.12)}}
.plan-list{text-align:left;list-style:none;padding:0;margin:0 0 18px}.plan-list li{padding:8px 0 8px 28px;position:relative;border-bottom:1px solid #eef}
.plan-list li::before{content:"\2714";position:absolute;left:4px;color:#16a34a;font-weight:900}
.rr{max-width:760px;margin:20px auto 0;display:grid;gap:12px}
.rr fieldset{border:1px solid #dfe3f0;border-radius:12px;padding:12px 14px;margin:0}.rr legend{font-weight:800;color:#0b1466;padding:0 6px}
.rr label{display:inline-flex;align-items:center;gap:6px;margin:6px 8px 0 0;padding:.5rem .8rem;border:2px solid #dfe3f0;border-radius:999px;cursor:pointer;min-height:44px}
.rr label:has(input:checked){border-color:#16a34a;background:#f0fdf4}.rr input{accent-color:#16a34a}
.rr-out{border-left:6px solid #16a34a;background:#f0fdf4;border-radius:10px;padding:16px}.rr-out h3{margin:0 0 6px;color:#00602a}
.how-steps{list-style:none;padding:0;margin:24px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;counter-reset:s}
.how-steps li{background:#fff;border-radius:14px;padding:22px;box-shadow:0 8px 22px rgba(11,20,102,.08);position:relative}
.how-steps strong{display:block;font-size:1.15rem;color:#0b1466;margin:8px 0 4px}
.how-steps .n{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#00602a;color:#fff;font-weight:900}
.photo-text{margin:10px 0}
.scroll-progress{position:fixed;top:0;left:0;right:0;height:4px;z-index:100;pointer-events:none}
.scroll-progress span{display:block;height:100%;background:#00602a;transform-origin:0 50%;transform:scaleX(var(--p,0))}
.site-header.shrink{box-shadow:0 6px 18px rgba(0,0,0,.12)}.site-header.shrink .header-inner{padding-top:4px;padding-bottom:4px}
.sticky-call{gap:8px;align-items:center;padding:8px 10px}
.sticky-call .sc-msg{font-size:.85rem;font-weight:800;padding:0 6px}
.sticky-call .sc-btn{background:#0b1466;color:#fff;text-decoration:none;border-radius:999px;padding:10px 14px;font-weight:800;min-height:44px;display:inline-flex;align-items:center;gap:6px}
.sticky-call .sc-btn .icon{fill:#fff;width:16px;height:16px}
@media (max-width:760px){.stats{grid-template-columns:repeat(2,1fr)}.trust-badges,.how-steps{grid-template-columns:1fr}
 .sticky-call{flex-wrap:wrap;border-radius:16px}.sticky-call .sc-msg{flex-basis:100%;text-align:center}.sticky-call .sc-btn{flex:1;justify-content:center}}
@media (prefers-reduced-motion:reduce){.airflow path,.flakes i,.live i::after{animation:none!important}.flakes{display:none}}
.static .airflow path,.static .flakes i,.static .live i::after{animation:none}.static .flakes{display:none}

/* ===== Request a Time (10/24) ===== */
.rt-form{background:#fff;border-radius:16px;padding:22px;box-shadow:0 10px 28px rgba(11,20,102,.1);border-top:6px solid #00602a}
.rt-windows{border:1px solid #dfe3f0;border-radius:12px;padding:12px 14px;margin:0 0 12px}.rt-windows legend{font-weight:800;color:#0b1466}
.rt-win{display:grid;grid-template-columns:90px 1fr 1fr;gap:8px;align-items:center;margin-top:8px}
.rt-win input,.rt-win select{min-height:44px}
.rt-notes-box{background:#f5f7ff;border-left:5px solid #1f3a9e;border-radius:10px;padding:10px 14px;margin:12px 0;font-size:.92rem}.rt-notes-box p{margin:.35rem 0}
.rt-check{display:flex;gap:10px;align-items:flex-start;margin:10px 0;font-size:.9rem;cursor:pointer}.rt-check input{width:22px;height:22px;flex:none;margin-top:2px;accent-color:#00602a}
.rt-policy{font-size:.88rem;background:#fffbeb;border-radius:8px;padding:8px 12px}
.ph{background:#fde047;color:#0b1466;font-weight:900;padding:0 4px;border-radius:4px;outline:2px dashed #ca8a04}
.rt-err{color:#b91c1c;font-weight:800}
.rt-done{background:#f0fdf4;border-left:6px solid #16a34a;border-radius:12px;padding:20px}.rt-done h3{margin-top:0;color:#00602a}
@media (max-width:760px){.rt-win{grid-template-columns:1fr 1fr}.rt-win label{grid-column:1/-1}}
/* asterisk links to footer terms */
a.ast{color:inherit;text-decoration:none;font-weight:inherit;font-size:.8em;vertical-align:super;line-height:0;margin-left:1px}
a.ast:hover,a.ast:focus{text-decoration:underline}
.terms-block{font-size:.78rem;opacity:.85}
.terms-block .disc-head{font-size:.85rem}
/* footer v2 + terms page */
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:30px}
.site-footer .fcol p{margin:.3rem 0 .9rem}
.site-footer .f-phone{font-size:1.3rem;font-weight:900;color:var(--logo-gold)}
.f-photo,.f-revs .btn{font-size:.9rem;padding:10px 14px;margin:4px 0}
.f-revs{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.f-social{display:flex;gap:10px}.f-social a{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.1);border:1px solid var(--logo-gold);display:grid;place-items:center}
.f-social svg{width:20px;height:20px;fill:#fff}.f-social a:hover{background:var(--logo-green)}
.f-badges li{padding-left:22px;position:relative}.f-badges li::before{content:"\2713";position:absolute;left:0;color:var(--logo-green);font-weight:900;background:#cfe9d7;border-radius:50%;width:16px;height:16px;font-size:.7rem;display:grid;place-items:center;top:3px}
.pay-placeholder{font-size:.85rem;opacity:.8;font-style:italic}
.site-footer .footer-bottom{text-align:center;color:rgba(255,255,255,.7)}
.to-top{position:fixed;left:22px;bottom:22px;z-index:61;width:44px;height:44px;border-radius:50%;border:2px solid var(--logo-gold);background:var(--logo-navy);color:#fff;font-size:1.3rem;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.3)}
.to-top:hover{background:var(--logo-green)}
.terms-page h2{font-size:1.15rem;margin:1.4rem 0 .3rem;color:var(--navy)}
.terms-credits .photo-credits{color:var(--mut);padding:0;margin-top:2rem;opacity:1}.terms-credits .photo-credits a{color:var(--navy)}.terms-credits .disc-head{font-weight:800}
@media (max-width:960px){.footer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.footer-grid{grid-template-columns:1fr}.f-areas{columns:2}.to-top{left:auto;right:14px;bottom:110px}.site-footer{padding-bottom:140px}}
.fcol .footer-head{margin-top:1.1rem}.fcol .footer-head:first-child{margin-top:0}
/* 2026-10-26 photos + gap fixes */
.tile-grid{display:flex;flex-wrap:wrap;justify-content:center}
.tile-grid>*{flex:0 1 calc(25% - 12px)}
.work-grid .photo img{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto}
.work-grid figcaption{color:#fff}
.plan-wrap{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center;max-width:960px;margin:24px auto 0}
.plan-wrap .plan-card{margin:0;max-width:none}
.plan-photo,.svc-photo,.contact-photo,.side-photo{margin:0}
.plan-photo img,.svc-photo img,.contact-photo img,.side-photo img{width:100%;display:block;border-radius:14px;box-shadow:0 10px 26px rgba(11,20,102,.14);object-fit:cover}
.plan-photo img{aspect-ratio:4/3}
.svc-photo{margin-top:22px}.svc-photo img{aspect-ratio:1/1}
.svc-photo figcaption{font-size:.85rem;color:var(--mut);margin-top:6px}
.contact-photo{margin-top:18px}.contact-photo img{aspect-ratio:16/10}
.side-photo{margin:14px 0}.side-photo img{aspect-ratio:4/3}
.contact-social{display:flex;flex-wrap:wrap;gap:8px}
.btn-social{display:inline-flex;align-items:center;gap:8px;color:#fff}
.btn-social svg{width:18px;height:18px;fill:currentColor}
.btn-fb{background:#1877f2}.btn-g{background:#fff;color:#1f2937;border:1px solid #d1d5db}
.btn-g svg{fill:#4285f4}
.area-cards>.area-card:last-child:nth-child(odd){grid-column:1/-1}
@media(max-width:860px){.tile-grid>*{flex-basis:calc(50% - 8px)}.plan-wrap{grid-template-columns:1fr}.area-cards>.area-card:last-child:nth-child(odd){grid-column:auto}}
