/* tidewater-global.css - skill 6 Phase 6A. The signed-off skill 5 preview CSS (design QA rounds 1+2),
   linked once on every page after tokens.css. Rules reference tokens only. Do not edit per page. */
/* Self-hosted Plus Jakarta Sans (latin, variable 400-800). Same file Google Fonts served the approved preview. */
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:400 800;font-display:swap;src:url(/assets/fonts/plus-jakarta-sans-latin-var.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}


*{box-sizing:border-box}html{overflow-x:clip}body{margin:0;font-family:var(--font-b);font-size:17px;line-height:1.65;color:var(--ink);background:var(--white);overflow-x:clip}
img{max-width:100%;height:auto;display:block}a{color:var(--blue)}a:hover{color:var(--blue-h)}
.container{max-width:var(--container);margin:0 auto;padding:0 24px}
h1,h2{font-family:var(--font-d);font-weight:400;letter-spacing:.01em;line-height:.98;margin:0 0 16px}
h1{font-size:clamp(48px,6.6vw,88px)}h2{font-size:clamp(38px,4.2vw,58px)}
h3,h4{font-family:var(--font-b);font-weight:700;line-height:1.25;margin:0 0 8px}h3{font-size:20px}
p{margin:0 0 16px}.sr-h2{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.section{position:relative;padding:var(--space-section) 0}.section--white{background:var(--white)}.section--tint{background:var(--light)}
.section--dark{background:var(--ink)!important;color:var(--white)}.section--dark h2,.section--dark h3,.section--dark strong{color:var(--white)}.section--dark a:not(.btn){color:var(--gold)}
.eyebrow{display:inline-block;font:700 12px/1 var(--font-b);letter-spacing:.14em;text-transform:uppercase;padding:8px 14px;border-radius:999px;background:var(--c-e3eef8);color:var(--blue-d);margin-bottom:12px}
.section--dark .eyebrow,.hero--bleed .eyebrow{background:var(--gold);color:var(--ink)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 26px;border-radius:8px;font:700 15px/1.1 var(--font-b);letter-spacing:.04em;text-transform:uppercase;text-decoration:none;border:2px solid transparent;transition:background .2s,color .2s,border-color .2s;cursor:pointer;white-space:normal;text-align:center;max-width:100%}
.btn::after{content:"\2192";display:inline-block;transition:transform .2s}.btn:hover::after{transform:translateX(4px)}
a.btn.btn--primary{background:var(--blue);color:var(--white)}a.btn.btn--primary:hover{background:var(--blue-h);color:var(--white)}
a.btn.btn--gold{background:var(--gold);color:var(--ink)}a.btn.btn--gold:hover{background:var(--gold-h);color:var(--ink)}
a.btn.btn--outline{background:transparent;color:var(--blue);border-color:var(--blue)}a.btn.btn--outline:hover{background:var(--blue);color:var(--white)}
a.btn.btn--ghost{background:rgba(31,41,51,.55);color:var(--white);border-color:rgba(255,255,255,.85)}a.btn.btn--ghost:hover{background:var(--white);color:var(--ink)}
.btn-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:24px}.btn-row--center{justify-content:center}
/* Grid items may shrink below their min-content width, so one long label can't widen a column past the viewport */
.band__split>*,.price-split>*,.spec>*,.split__in>*,.story__in>*,.creds>*,.compare>*,.subcards>*,.specials__in>*,.winter__in>*,.where__in>*,.trust__q>*,.ticket>*{min-width:0}
.btn-row .btn{flex:1 1 0;max-width:340px}
.ctc{display:inline-block;background-color:var(--gold-wash);background-image:repeating-linear-gradient(45deg,var(--gold-wash),var(--gold-wash) 8px,var(--c-ffefb8) 8px,var(--c-ffefb8) 16px);color:var(--c-6b4e00);border:1px dashed var(--c-c99a00);border-radius:6px;padding:2px 8px;font:600 13px/1.5 var(--font-b)}
.next-step{margin:14px 0 0;font-size:14px}.next-step i{margin-right:6px;color:var(--gold)}
/* utility + header */
.utility{background:var(--light);font-size:13.5px;color:var(--ink)}.utility__in{display:flex;justify-content:space-between;align-items:center;min-height:40px;gap:16px}
.utility .stars{color:var(--c-b98500);letter-spacing:2px}.utility .dot{margin:0 8px;color:var(--gray)}.utility__tel{font-weight:700;text-decoration:none;color:var(--ink)}
.hdr{background:var(--white);border-bottom:1px solid var(--rule);position:sticky;top:0;z-index:50}.hdr__in{display:flex;align-items:center;gap:28px;min-height:96px;position:relative}
.hdr__logo img{height:72px;width:auto}
.nav{margin-left:auto}.nav__list{display:flex;gap:4px;list-style:none;margin:0;padding:0}.nav__item{position:static}
.nav__link{display:flex;align-items:center;gap:6px;padding:12px 12px;font:600 15px/1 var(--font-b);color:var(--ink);text-decoration:none;position:relative}
.nav__link::after{content:"";position:absolute;left:12px;right:12px;bottom:4px;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.nav__item:hover>.nav__link::after,.nav__link:focus-visible::after{transform:scaleX(1)}
.nav__link--specials{color:var(--gold-ink)}.nav__link--specials::after{background:var(--gold)}
.chev{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.mega{position:absolute;top:100%;left:24px;right:24px;background:var(--white);border:1px solid var(--rule);border-top:3px solid var(--blue);border-radius:0 0 12px 12px;padding:24px;display:none;z-index:60}
.mega--narrow{left:auto;right:180px;width:340px;display:none;flex-direction:column;gap:6px}
.nav__item:hover>.mega,.nav__item:focus-within>.mega{display:block}.nav__item:hover>.mega--narrow,.nav__item:focus-within>.mega--narrow{display:flex}
.nav__item>.nav__link{position:relative}.nav__item:hover>.nav__link::before{content:"";position:absolute;left:0;right:0;top:100%;height:30px}
.mega__grid{display:grid;gap:16px}.mega__grid--4{grid-template-columns:repeat(4,1fr)}.mega__grid--5{grid-template-columns:repeat(5,1fr)}
.mega__card{display:block;padding:12px 14px;border-radius:8px;text-decoration:none;color:var(--ink);border-top:2px solid transparent}.mega__card:hover{background:var(--wash);border-top-color:var(--blue)}
.mega__card strong{display:block;font-size:15px}.mega__card span{display:block;font-size:13px;color:var(--slate)}
.mega__sub{display:block;padding:4px 14px;font-size:14px;color:var(--ink);text-decoration:none}.mega__sub:hover{color:var(--blue)}
.mega__all{display:inline-block;margin-top:14px;font-weight:700;font-size:14px;text-decoration:none}
.hdr__burger{display:none;margin-left:auto;background:none;border:0;width:44px;height:44px;padding:10px;cursor:pointer}.hdr__burger span{display:block;height:2px;background:var(--ink);margin:6px 0}
.drawer{display:none}
/* hero */
.hero{position:relative;overflow:hidden;color:var(--white)}.hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 50%}
.hero--bleed{min-height:640px;display:flex;flex-direction:column;justify-content:center;padding:96px 0 72px}
.hero__scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(31,41,51,.94) 0%,rgba(31,41,51,.91) 45%,rgba(31,41,51,.72) 64%,rgba(31,41,51,.45) 100%)}
.hero__in{position:relative;z-index:2;width:100%}.hero>.container{width:100%}.hero__copy{max-width:640px}
.hero h1{color:var(--white)}.h1-accent{color:var(--gold);display:block}
.hero__aud{font-size:16px;font-style:italic;opacity:.95}.hero__sub{font-size:18px}
.hero .btn-row .btn{max-width:300px}
/* trust */
.trust-strip{list-style:none;margin:8px 0 32px;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.trust-strip li,.trust-rail li{display:flex;gap:12px;align-items:flex-start;padding:18px;border-top:3px solid var(--blue);background:var(--light);border-radius:0 0 var(--r) var(--r)}
.trust-strip i,.trust-rail i{font-size:22px;color:var(--blue);margin-top:2px}.trust-strip strong,.trust-rail strong{display:block;font-size:16px}.trust-strip small,.trust-rail small{display:block;font-size:13px;color:var(--slate);line-height:1.4}
.trust__q{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center}
.quote{margin:0;padding:8px 0 8px 28px;border-left:4px solid var(--gold)}.quote blockquote{margin:0 0 8px;font-size:22px;line-height:1.45;font-weight:500}.quote figcaption{font-size:14px;color:var(--slate);font-weight:600}
.badges{display:flex;gap:12px}
/* specials */
.specials__in{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.ticket{display:grid;grid-template-columns:1fr 160px;background:var(--ink);border-radius:14px;overflow:hidden;color:var(--white);max-width:520px;justify-self:end;width:100%}
.ticket__body{padding:24px 26px;display:flex;flex-direction:column;gap:6px;background:var(--white);color:var(--ink);border:2px solid var(--ink);border-right:2px dashed var(--gray);border-radius:14px 0 0 14px}
.ticket__body img{align-self:flex-start;height:44px;width:auto;max-width:100%;object-fit:contain;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--rule);box-sizing:content-box}.ticket__big{font:400 clamp(48px,15vw,76px)/0.9 var(--font-d);color:var(--blue)}.ticket__what{font-weight:700;font-size:18px}.ticket__body small{color:var(--slate);font-size:13px}
.ticket__stub{background:var(--gold);color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:16px;text-align:center;font:700 13px var(--font-b);text-transform:uppercase;letter-spacing:.12em}
.ticket__stub .btn{min-height:44px;padding:10px 12px;font-size:13px;width:100%;white-space:normal;text-align:center;line-height:1.2}.ticket__stub .btn::after{display:none}
/* winter */
.winter__in{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center;position:relative;z-index:2}
.winter__cols{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.winter__cols li{display:grid;grid-template-columns:76px 1fr;grid-template-rows:auto auto;column-gap:16px;padding:18px 20px;border-top:3px solid var(--blue);background:var(--light)}
.winter__cols .num{grid-row:span 2;font:400 64px/0.9 var(--font-d);color:var(--blue)}.winter__cols strong{font-size:18px}.winter__cols li>span:last-child{color:var(--slate);font-size:15px}
.winter--dark .winter__cols li{background:rgba(255,255,255,.06);border-top-color:var(--gold)}.winter--dark .winter__cols .num{color:var(--gold)}.winter--dark .winter__cols li>span:last-child{color:var(--c-d9dee5)}
.band__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.band__scrim{position:absolute;inset:0;z-index:1}
.winter--dark .band__scrim{background:linear-gradient(90deg,rgba(31,41,51,.96),rgba(31,41,51,.88))}
/* services */
.sec-head{max-width:760px;margin:0 auto 40px;text-align:center}.sec-foot{text-align:center;max-width:760px;margin:32px auto 0}
.cards{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:24px}
.card{flex:0 1 calc((100% - 48px)/3);background:var(--white);border-top:3px solid var(--blue);border-radius:0 0 var(--r) var(--r);overflow:hidden;display:flex;flex-direction:column}
.card__media img{aspect-ratio:3/2;object-fit:cover;width:100%}.card__body{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.card h3 a{color:var(--ink);text-decoration:none}.card p{color:var(--slate);font-size:15px;margin-bottom:12px}
.card__more{margin-top:auto;font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:.06em;text-decoration:none}.card__more::after{content:" \2192";transition:margin .2s}.card__more:hover::after{margin-left:4px}
/* split */
.split__in{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}.split--rev .split__copy{order:0}
.split__media{border-radius:var(--r);overflow:hidden}.split__media img{aspect-ratio:3/2;object-fit:cover;width:100%}.card__media{display:block;overflow:hidden}
/* Image hover zoom, measured on mir-homes.com: scale 1.05, 0.7s cubic-bezier(.4,0,.2,1), clipped by the frame */
.card__media img,.split__media img{transition:transform .7s cubic-bezier(.4,0,.2,1)}
@media(hover:hover){.card:hover .card__media img,.card:focus-within .card__media img,.split__media:hover img{transform:scale(1.05)}}
@media(prefers-reduced-motion:reduce){.card__media img,.split__media img{transition:none}.card:hover .card__media img,.card:focus-within .card__media img,.split__media:hover img{transform:none}}
.link-arrow{font-weight:700;text-decoration:none}.link-arrow::after{content:" \2192"}.where__link{margin:16px 0 0}
/* where */
.where__in{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.counties{columns:2;column-gap:24px;padding-left:18px;margin:8px 0 16px;font-size:15px}
.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:999px;border:1px solid var(--gray);text-decoration:none;font-size:14px;font-weight:600;color:var(--ink)}
.chip::before{content:"\f3c5";font:900 13px/1 "Font Awesome 6 Free";color:var(--blue);transition:color .25s}.chip:hover{border-color:var(--blue);color:var(--blue)}
.map-slot{position:relative;border-radius:var(--r);overflow:hidden;border:1px solid var(--gray);background:repeating-linear-gradient(45deg,var(--c-eef1f4),var(--c-eef1f4) 10px,var(--c-e3e7ec) 10px,var(--c-e3e7ec) 20px);min-height:460px}
.map-slot iframe{display:block;width:100%;height:460px;border:0}.map-slot__tag{position:absolute;top:10px;left:10px;z-index:2;background:var(--ink);color:var(--white);font-size:12px;padding:6px 10px;border-radius:6px;max-width:calc(100% - 20px)}
/* faq */
.faq__in{max-width:860px;text-align:center}.faq__list{text-align:left;margin-top:16px}
.faq__item{background:var(--white);border:1px solid var(--c-e1e5ea);border-radius:var(--r);margin-bottom:10px}.faq__item summary{cursor:pointer;list-style:none;padding:18px 54px 18px 22px;font-weight:700;font-size:17px;position:relative}
.faq__item summary::-webkit-details-marker{display:none}.faq__item summary::after{content:"+";position:absolute;right:22px;top:50%;transform:translateY(-50%);font-size:24px;color:var(--blue);font-weight:400}
.faq__item[open] summary::after{content:"\2212"}.faq__a{padding:0 22px 18px}.faq__a p{margin:0}
/* cta band */
.band{overflow:hidden;text-align:center}.band__in{position:relative;z-index:2;max-width:820px}
.band--light .band__scrim{background:linear-gradient(90deg,rgba(247,248,250,.96),rgba(247,248,250,.88))}.band--light{background:var(--light)}.band--light a.btn.btn--outline{background:var(--white)}.band--light a.btn.btn--outline:hover{background:var(--blue)}
.band--dark{background:var(--ink)}.band--dark .band__scrim{background:linear-gradient(180deg,rgba(31,41,51,.93),rgba(21,46,74,.9))}.band--dark p{color:var(--c-e4e8ed)}
/* footer */
.ftr{background:var(--ink);color:var(--c-c8ced6);border-top:4px solid var(--gold);padding:64px 0 24px;font-size:15px}
.ftr__top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}.ftr__brand img{height:64px;width:auto;margin-bottom:16px}
.ftr__h{font:700 13px var(--font-b);text-transform:uppercase;letter-spacing:.14em;color:var(--gold);margin:0 0 12px}
.ftr ul{list-style:none;margin:0 0 20px;padding:0}.ftr li{margin-bottom:6px}.ftr a{color:var(--c-e8ebef);text-decoration:none}.ftr a:hover{color:var(--gold)}
.ftr__nap strong{color:var(--white)}.ftr__bot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:40px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);font-size:13px}
.ftr__legal a{margin-left:18px}.ftr__eb img{height:28px;width:auto}
.mobilebar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:9999;background:var(--ink);box-shadow:0 -2px 10px rgba(0,0,0,.2)}
.mobilebar a{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:56px;color:var(--white);font-weight:700;text-decoration:none;text-transform:uppercase;letter-spacing:.06em;font-size:14px}
.mobilebar a:first-child{background:var(--blue)}.mobilebar__specials{background:var(--gold)!important;color:var(--ink)!important}
@media(min-width:769px){.mobilebar{display:none}}
.preview-chip{position:fixed;right:12px;bottom:12px;z-index:10000;background:var(--c-111111);color:var(--white);font:600 12px/1 var(--font-b);padding:9px 12px;border-radius:6px;text-decoration:none;opacity:.9;max-width:calc(100vw - 24px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:768px){.preview-chip{bottom:68px}}
/* responsive */
@media(max-width:1100px){.nav__link{padding:12px 8px;font-size:14px}.hdr__in{gap:16px}.mega__grid--4,.mega__grid--5{grid-template-columns:repeat(3,1fr)}}
@media(min-width:769px) and (max-width:1024px){.stats--5{grid-template-columns:repeat(3,1fr)}.card{flex-basis:calc((100% - 24px)/2)}.trust-strip{grid-template-columns:repeat(2,1fr)}}
@media(max-width:960px){.nav,.hdr__cta{display:none}.hdr__burger{display:block}.hdr__logo img{height:60px}.hdr__in{min-height:80px}
 body.drawer-open .drawer{display:block;position:fixed;top:120px;left:0;right:0;bottom:0;background:var(--white);overflow:auto;z-index:70;padding:8px 24px 120px}
 .drawer__grp summary{padding:16px 0;font-weight:700;border-bottom:1px solid var(--rule);cursor:pointer}.drawer a{display:block;padding:10px 0 10px 12px;color:var(--ink);text-decoration:none}
 .drawer__hub{font-weight:700;color:var(--blue)!important}.drawer a.drawer__sub{padding-left:32px;font-size:15px;color:var(--slate)}.drawer a.drawer__sub::before{content:"©4";margin-right:8px;color:var(--gray)}.drawer__top{padding:16px 0!important;border-bottom:1px solid var(--rule);font-weight:700}.drawer__top--specials{color:var(--gold-ink)!important}.drawer a.btn.drawer__cta{display:flex;justify-content:center;margin-top:20px;width:100%;padding:14px 20px;color:var(--white)}}
@media(max-width:768px){body{padding-bottom:56px;font-size:16px}
 .utility__l{display:none}.utility__in{justify-content:center}
 .hero--bleed{min-height:auto;padding:56px 0 48px}.hero__scrim{background:rgba(31,41,51,.86)}
 .btn-row{flex-direction:column}.btn-row .btn{max-width:none;width:100%}
 .trust-strip{grid-template-columns:1fr}.trust__q,.specials__in,.winter__in,.split__in,.where__in{grid-template-columns:1fr;gap:28px}
 .split--rev .split__media{order:-1}.card{flex-basis:100%}.ticket{grid-template-columns:1fr 120px;justify-self:stretch}
 .counties{columns:1}.ftr__top{grid-template-columns:1fr}.ftr__legal a{margin:0 16px 0 0}.mega{display:none!important}
 .quote blockquote{font-size:19px}.winter__cols li{grid-template-columns:60px 1fr}.winter__cols .num{font-size:52px}}

/* LIGHT B -- Brand Color-Block: white / blue-wash rhythm, card-on-photo hero, gold colour-block CTA, 0 dark bands */
.section--tint{background:var(--wash)}
.utility{background:var(--blue);color:var(--white)}.utility .stars{color:var(--gold)}.utility .dot{color:rgba(255,255,255,.5)}.utility__tel{color:var(--white)}
.hdr{border-bottom:4px solid var(--gold)}
.eyebrow{background:var(--gold);color:var(--ink)}
.hero--panel{min-height:660px;display:flex;align-items:flex-end;padding:120px 0 56px;color:var(--ink)}
.hero--panel .hero__img{object-position:80% 50%}
.hero__panel{background:var(--white);max-width:780px;padding:40px 44px 36px;border-top:6px solid var(--gold);border-radius:0 0 16px 16px}
.hero--panel h1{color:var(--ink)}.hero--panel .h1-accent{color:var(--blue)}.hero--panel .hero__aud{color:var(--slate)}
.card{border-top:0;border-radius:var(--r)}.card__body{border-top:4px solid var(--gold);background:var(--white)}
.card h3{font-size:19px}.services .card{background:var(--white)}
.trust-strip li{background:var(--white);border:1px solid var(--line);border-top:3px solid var(--gold)}
.winter__cols li{background:var(--wash);border-top-color:var(--gold)}.winter__cols .num{color:var(--blue)}
.band--gold{background:var(--gold);text-align:left;padding:0}.band__split{display:grid;grid-template-columns:1.1fr 1fr;align-items:stretch;gap:0}
.band--gold .band__copy{padding:72px 48px 72px 0}.band--gold .band__media img{height:100%;width:100%;object-fit:cover;min-height:420px}
.band--gold .eyebrow{background:var(--ink);color:var(--white)}.band--gold .btn-row--center{justify-content:flex-start}
.band--gold .btn-row{flex-direction:column;align-items:flex-start}.band--gold .btn-row .btn{flex:none;width:100%;max-width:440px}
.band--gold a.btn.btn--outline{color:var(--ink);border-color:var(--ink)}.band--gold a.btn.btn--outline:hover{background:var(--ink);color:var(--white)}
.band--gold .next-step i{color:var(--ink)}
@media(max-width:768px){.hero--panel{padding:240px 0 0;min-height:auto}.hero--panel .hero__img{height:300px;object-position:62% 78%}.hero__panel{padding:28px 22px;border-radius:0}.hero--panel .container{padding:0}
 .band__split{grid-template-columns:1fr}.band--gold .band__copy{padding:48px 0}.band--gold .band__media img{min-height:240px}}

/* Reference type + spacing scale, measured on mir-homes.com 2026-10-01 (Playwright, 1440 / 430) */

body{font-size:18px;line-height:1.6}
h1{font-size:72px;line-height:1.05}h2{font-size:48px;line-height:1.1}h1,h2{text-wrap:balance}h3{font-size:20px;line-height:28px}
.nav__link{font-size:14px;font-weight:500}
.btn{font-size:16px;font-weight:600;padding:14px 28px;letter-spacing:.025em}
@media(max-width:400px){.btn{padding:14px 18px;letter-spacing:.01em}}
@media(min-width:1025px){.btn{white-space:nowrap}.btn-row .btn,.hero .btn-row .btn{max-width:420px}}
@media(min-width:769px) and (max-width:1023px){h1{font-size:60px}}
@media(max-width:768px){body{font-size:18px}h1{font-size:36px;line-height:1.05}h2{font-size:30px;line-height:1.1}}

/* Font lock (Amer 2026-10-01): Plus Jakarta Sans, the reference typeface, overrides the Brand Guide pair on every pilot */

h1,h2{font-weight:800;letter-spacing:-.025em}
.ticket__big,.winter__cols .num{font-weight:800;letter-spacing:-.03em}

/* Breadcrumbs: between nav and hero (contract breadcrumb_position: above) */
.crumbs{background:var(--wash);border-bottom:1px solid var(--line-2);font-size:14px}
.crumbs ol{list-style:none;margin:0;padding:12px 0;display:flex;flex-wrap:wrap;gap:6px}
.crumbs li+li::before{content:"\203A";margin-right:6px;color:var(--slate)}
.crumbs a{color:var(--blue-d);text-decoration:none;font-weight:600}.crumbs [aria-current]{color:var(--ink);font-weight:600}
/* Inner-page hero: Light B stacked variant (photo band on top, white panel overlapping its lower edge) */
.hero--panel.hero--inner{min-height:0;display:block;padding:380px 0 0}
.hero--inner .hero__img{height:460px;bottom:auto;object-position:50% 38%}
.hero--inner .hero__panel{max-width:920px}
/* Stats row (adapted from 21st.dev Tailark "Stats Info and Numbers"): gold top rule, flat, oversized numerals */
.stats{list-style:none;margin:32px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.stats li{background:var(--white);border:1px solid var(--line);border-top:4px solid var(--gold);padding:22px 20px;border-radius:0 0 10px 10px}
.stat-n{display:block;font:800 48px/1 var(--font-d);letter-spacing:-.03em;color:var(--blue)}
.stat-l{display:block;margin-top:8px;font-weight:600;font-size:15px}.stats--5{grid-template-columns:repeat(5,1fr)}.stat-n .fa-solid{font-size:36px}.trust__q--after{margin-top:32px;grid-template-columns:1fr}
/* Story: copy + founder card | milestone rail (adapted from 21st.dev 7ovr "Milestone Timeline") */
.story__in{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:start}
.founder{margin:28px 0 0;position:relative;border-radius:var(--r);overflow:hidden;max-width:520px}
.founder img{aspect-ratio:3/2;object-fit:cover;width:100%}
.founder figcaption{position:absolute;left:16px;bottom:16px;display:flex;align-items:center;gap:12px;background:var(--white);border-radius:10px;padding:10px 16px 10px 10px;border-top:3px solid var(--gold)}
.monogram{width:48px;height:48px;border-radius:50%;background:var(--blue);color:var(--white);display:grid;place-items:center;font:800 17px/1 var(--font-d);letter-spacing:.02em;flex:none}
.founder figcaption strong{display:block;font-size:15px;line-height:1.3}.founder__role{display:block;font-size:13px;color:var(--slate);line-height:1.3}
.rail{list-style:none;margin:0 auto;padding:0;max-width:680px;position:relative}
.rail::before{content:"";position:absolute;left:23px;top:10px;bottom:28px;width:3px;background:var(--gold)}
.rail li{position:relative;padding:0 0 28px 72px}
.rail .dot{position:absolute;left:0;top:0;width:48px;height:48px;border-radius:50%;background:var(--white);border:3px solid var(--blue);display:grid;place-items:center;font:800 15px/1 var(--font-d);color:var(--blue)}
.rail li:last-child .dot{background:var(--blue);color:var(--white)}
.rail .when{display:block;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-d);padding-top:4px}
.rail strong{display:block;font-size:19px;margin:2px 0 4px}.rail p{margin:0;color:var(--slate);font-size:16px}
/* Credentials */
.creds{display:grid;grid-template-columns:auto 1fr;gap:48px;align-items:center}
.creds .badges{flex-direction:column;gap:14px;align-items:center}.creds .badges img{width:260px;height:auto}
.warranty{display:block;margin-top:4px;padding:12px 16px;border-left:4px solid var(--gold);background:var(--wash);font-weight:600}
.chips--static .chip{background:var(--white);cursor:default}.chips--static .chip:hover{border-color:var(--gray);color:var(--ink)}
@media(max-width:768px){.hero--panel.hero--inner{padding:240px 0 0}.hero--inner .hero__img{height:300px;object-position:50% 38%}
 .stats,.stats--5{grid-template-columns:1fr 1fr}.stat-n{font-size:40px}.story__in,.creds{grid-template-columns:1fr;gap:28px}
 .creds .badges{flex-direction:row;flex-wrap:wrap}.creds .badges img{width:150px}.rail li{padding-left:64px}
 .stats--5 li:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:calc(50% - 8px)}}

/* Get In Touch (adapted from 21st.dev Efferd "Contact Section"): details + map | form card */
.contact__in{display:grid;grid-template-columns:1fr 1.15fr;gap:40px;align-items:start}
.contact__list{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:12px}
.contact__list li{display:flex;gap:14px;align-items:flex-start;background:var(--white);border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:0 0 10px 10px;padding:16px 18px}
.contact__list i{font-size:20px;color:var(--blue);margin-top:3px;width:22px;text-align:center}
.contact__list strong{color:var(--blue-d);font-weight:800}
.contact__list a{color:var(--ink);font-weight:700;text-decoration:none}.contact__list a:hover{color:var(--blue)}
.contact .map-slot{min-height:340px}.contact .map-slot iframe{height:340px}
.form-card{background:var(--white);border:1px solid var(--line);border-top:6px solid var(--gold);border-radius:0 0 16px 16px;padding:24px 22px 18px;scroll-margin-top:140px}
.form-card__title{font-size:20px;font-weight:800;margin:0 0 4px}
/* Reserved heights sit above the tallest rendered height measured 2026-10-02 (chromium + webkit): 758 @1200+, 883 @769-1199, 903 @360 */
.ghl-form-embed{min-height:800px}.ghl-form-embed iframe{display:block;width:100%;min-height:800px;border:0;border-radius:4px}
@media(min-width:769px) and (max-width:1199px){.ghl-form-embed,.ghl-form-embed iframe{min-height:920px}}
@media(max-width:768px){.contact__in{grid-template-columns:1fr}.ghl-form-embed,.ghl-form-embed iframe{min-height:940px}.form-card{padding:18px 12px 14px}}

.price-chip{display:inline-block;align-self:flex-start;margin:2px 0 12px;padding:6px 12px;border-radius:999px;background:var(--wash);border:1px solid var(--line);font-size:14px;font-weight:700;color:var(--blue-d)}
.card__subs{list-style:none;margin:0 0 14px;padding:12px 0 0;border-top:1px solid var(--rule);display:grid;gap:6px}
.card__subs a{font-weight:600;font-size:15px;text-decoration:none;color:var(--ink)}.card__subs a:hover{color:var(--blue)}
.card__subs .price-chip{margin:4px 0 0;font-size:13px;padding:4px 10px}

/* Pricing callout (adapted from 21st.dev Efferd "Single Pricing Card"): flat, gold top rule, one big starting price */
.price-split{display:grid;grid-template-columns:1.25fr 1fr;gap:48px;align-items:start}
.price-card{background:var(--white);border:1px solid var(--line);border-top:6px solid var(--gold);border-radius:0 0 16px 16px;padding:28px 28px 24px}
.price-card__label{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-d);margin:0 0 6px}
.price-card__big{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin:0 0 16px}.price-card__big b{font:800 64px/1 var(--font-d);letter-spacing:-.03em;color:var(--blue)}
.price-card__big span{font-weight:600;font-size:18px;white-space:nowrap}
.price-card ul{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:10px}.price-card li{display:flex;gap:10px;align-items:flex-start;font-size:16px}
.price-card li i{color:var(--blue);margin-top:4px}.price-card__note{font-size:14px;color:var(--slate);margin:0 0 18px}
.price-card .btn{width:100%}
/* Worked-example spec card */
.spec{display:grid;grid-template-columns:1.25fr 1fr;gap:48px;align-items:center}
.spec__card{background:var(--white);border:1px solid var(--line);border-top:4px solid var(--blue);border-radius:0 0 16px 16px;padding:8px 24px}
.spec__card dl{margin:0;display:grid;grid-template-columns:auto 1fr}.spec__card dt,.spec__card dd{margin:0;padding:14px 0;border-bottom:1px solid var(--rule)}
.spec__card dt{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-d);padding-right:20px}.spec__card dd{font-weight:700;text-align:right}
.spec__card dl>*:nth-last-child(-n+2){border-bottom:0}.spec__card dd.spec__price{font-size:22px;color:var(--blue)}
/* Neutral two-option comparison (adapted from 21st.dev 7ovr "Us vs Them Comparison"): no winner styling, both flat */
.compare{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:28px 0 0}
.compare__col{background:var(--white);border:1px solid var(--line);border-top:4px solid var(--blue);border-radius:0 0 12px 12px;padding:22px 24px}
.compare__col h3{margin:0 0 12px}
.compare__col ul{margin:0;padding-left:20px;display:grid;gap:8px;font-size:16px}
.subcards{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}
.subcard{background:var(--white);border:1px solid var(--line);border-top:4px solid var(--blue);border-radius:0 0 12px 12px;padding:22px 24px}.subcard h3{margin:0 0 8px}.subcard p:last-child{margin-bottom:0}
.near{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;list-style:none;margin:24px 0 0;padding:0}
.near a{display:flex;align-items:center;gap:12px;padding:18px 20px;background:var(--white);border:1px solid var(--line);border-top:3px solid var(--blue);border-radius:0 0 12px 12px;text-decoration:none;color:var(--ink);font-weight:700}
.near a:hover{border-top-color:var(--gold);color:var(--blue)}.near i{color:var(--blue)}
.link-line{margin:20px 0 0}
@media(max-width:768px){.price-split,.spec,.compare,.subcards,.near{grid-template-columns:1fr;gap:20px}.price-card__big b{font-size:52px}}

/* Service spoke: 3-up trust row, full-width info callout, single parent card */
.stats--3{grid-template-columns:repeat(3,1fr)}
.callout{background:var(--wash);border:1px solid var(--line);border-left:6px solid var(--blue);border-radius:0 16px 16px 0;padding:36px 40px;max-width:none}
.callout h2{margin-top:0}.callout p:last-child{margin-bottom:0}
.parent .card{flex-basis:min(420px,100%)}
@media(max-width:768px){.stats--3{grid-template-columns:1fr 1fr}.stats--3 li:last-child{grid-column:1/-1;justify-self:center;width:calc(50% - 8px)}.callout{padding:28px 24px}}

/* Location hub: city-service cards, compact other-services list, local facts card, route card, checklist tiles */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.price-chip--doc::first-letter{text-transform:uppercase}
.others{margin:56px auto 0;max-width:1080px;text-align:center}.others h3{margin:0 0 6px}.others>p{color:var(--ink-2);margin:0}
.others ul{list-style:none;margin:24px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:16px}
.others li{position:relative;flex:0 1 calc((100% - 32px)/3);display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;background:var(--wash);border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:0 12px 12px 0;padding:16px 20px;transition:border-color .2s,background .2s}
.others li:hover{border-left-color:var(--gold);background:var(--white)}.others li:focus-within{outline:3px solid var(--blue);outline-offset:2px}
.others li a{font-weight:700;font-size:17px;color:var(--ink);text-decoration:none}.others li a::after{content:"";position:absolute;inset:0}.others li a:focus{outline:none}
.mini__price{display:block;margin-top:2px;font-size:14px;font-weight:600;color:var(--blue-d);text-wrap:balance}.mini__price::first-letter{text-transform:uppercase}
.others li>i{color:var(--blue);flex:none;transition:transform .2s}.others li:hover>i{transform:translateX(4px)}
.facts dd{text-align:right}.facts dd small{display:block;font-weight:500;color:var(--slate);font-size:14px}
.route{background:var(--white);border:1px solid var(--line);border-top:4px solid var(--blue);border-radius:0 0 16px 16px;padding:28px}
.route ol{list-style:none;margin:0;padding:0;position:relative}.route ol::before{content:"";position:absolute;left:23px;top:24px;bottom:24px;width:3px;background:var(--gold)}
.route li{position:relative;display:flex;gap:16px;align-items:center;padding:10px 0}.route li i{width:48px;height:48px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:var(--white);font-size:18px;position:relative}
.route li:first-child i{background:var(--white);color:var(--blue);border:3px solid var(--blue)}
.route strong{display:block;font-size:18px}.route span{color:var(--slate);font-size:15px}
.route__tag{display:inline-block;margin-top:14px;padding:6px 12px;border-radius:999px;background:var(--wash);border:1px solid var(--line);font-weight:700;font-size:14px;color:var(--blue-d)}
.checks{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:16px}
.checks li{flex:0 1 calc((100% - 32px)/3);display:flex;gap:14px;align-items:flex-start;background:var(--white);border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:0 0 12px 12px;padding:20px 22px;font-weight:600}
.checks li i{color:var(--blue);font-size:20px;margin-top:3px}
@media(min-width:769px) and (max-width:1024px){.checks li,.others li{flex-basis:calc((100% - 16px)/2)}}
@media(max-width:768px){.others li,.checks li{flex-basis:100%}.others li{padding:14px 18px}}

/* LSP: footing cross-section figure */
.xsec{margin:0;background:var(--white);border:1px solid var(--line);border-top:4px solid var(--blue);border-radius:0 0 16px 16px;padding:20px}
.xsec svg{display:block;width:100%;height:auto;font-family:var(--font-b)}
.xsec text{font-size:16px;font-weight:600;fill:var(--ink)}.xsec .t-sm{font-weight:500;fill:var(--ink-2)}
@media(max-width:768px){.xsec{padding:14px}.xsec text{font-size:21px}}

/* Service Areas: counties grouped by state (plain chips, not links), city link tiles */
.states{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:28px 0 0}
.state{background:var(--white);border:1px solid var(--line);border-top:4px solid var(--blue);border-radius:0 0 14px 14px;padding:22px 24px}
.state h3{margin:0 0 14px;font-size:20px}.state ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.state li{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:var(--wash);border:1px solid var(--line);font-weight:600;font-size:15px}
.state li.home{background:var(--blue);border-color:var(--blue);color:var(--white);flex-wrap:wrap;justify-content:center;text-align:center;border-radius:16px;row-gap:6px}.state li.home>span:first-child{white-space:nowrap}
.home-tag{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;line-height:1.4;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--gold);color:var(--ink);padding:3px 10px;border-radius:999px}
.cities{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:16px}
.cities li{position:relative;flex:0 1 calc((100% - 32px)/3);display:flex;align-items:center;gap:14px;background:var(--white);border:1px solid var(--line);border-top:3px solid var(--blue);border-radius:0 0 12px 12px;padding:18px 20px;transition:border-color .2s}
.cities li:hover{border-top-color:var(--gold)}.cities li:focus-within{outline:3px solid var(--blue);outline-offset:2px}
.cities li>i:first-child{color:var(--blue);font-size:20px}.cities li>i:last-child{margin-left:auto;color:var(--blue);transition:transform .2s}.cities li:hover>i:last-child{transform:translateX(4px)}
.cities a{font-weight:700;font-size:18px;color:var(--ink);text-decoration:none}.cities a::after{content:"";position:absolute;inset:0}.cities a:focus{outline:none}
.cities__note{text-align:center;margin:24px 0 0}
@media(min-width:769px) and (max-width:1024px){.states{grid-template-columns:1fr 1fr}.states .state:last-child{grid-column:1/-1}.cities li{flex-basis:calc((100% - 16px)/2)}}
@media(max-width:768px){.states{grid-template-columns:1fr}.cities li{flex-basis:100%}}

/* Resources: horizontal guide cards 2x2 (an even set, so no orphan), blog callout */
.guides{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:24px}
.guide{position:relative;display:grid;grid-template-columns:200px 1fr;background:var(--white);border:1px solid var(--line);border-top:3px solid var(--blue);border-radius:0 0 var(--r) var(--r);overflow:hidden;transition:border-color .2s}
.guide:hover{border-top-color:var(--gold)}.guide:focus-within{outline:3px solid var(--blue);outline-offset:2px}
.guide__media{overflow:hidden}.guide__media img{width:100%;height:100%;object-fit:cover;aspect-ratio:auto;min-height:170px;transition:transform .5s}.guide:hover .guide__media img{transform:scale(1.06)}
.guide__body{padding:22px 24px;display:flex;flex-direction:column;justify-content:center;gap:8px}
.guide__tag{align-self:flex-start;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-d);background:var(--wash);border:1px solid var(--line);border-radius:999px;padding:3px 10px}
.guide h3{margin:0;font-size:20px;line-height:1.3}.guide h3 a{color:var(--ink);text-decoration:none}.guide h3 a::after{content:"";position:absolute;inset:0}.guide h3 a:focus{outline:none}
.guide__more{font-weight:700;font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--blue)}.guide__more::after{content:" \2192"}
.callout--slim{margin-top:40px;padding:28px 32px;display:grid;grid-template-columns:auto auto 1fr;align-items:center;column-gap:20px}.callout--slim h2{margin:0;font-size:32px}.callout--slim p{margin:0}
@media(max-width:768px){.callout--slim{grid-template-columns:1fr;row-gap:10px;padding:24px 20px}.callout--slim .eyebrow{justify-self:start}}
@media(max-width:1024px){.guides{grid-template-columns:1fr}}
@media(max-width:520px){.guide{grid-template-columns:1fr}.guide__media img{aspect-ratio:3/2;min-height:0;height:auto}}

/* Blog index: topic filter (progressive enhancement; every card shows without JS) + post cards */
.topics{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:24px 0 32px}.topics[hidden]{display:none}
.topic{font:600 15px/1 var(--font-b);padding:10px 16px;border-radius:999px;border:1px solid var(--line);background:var(--white);color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;gap:8px;min-height:44px}
.topic span{font-size:12px;font-weight:700;color:var(--blue-d);background:var(--wash);border-radius:999px;padding:3px 8px}
.topic:hover{border-color:var(--blue)}.topic[aria-pressed="true"]{background:var(--blue);border-color:var(--blue);color:var(--white)}.topic[aria-pressed="true"] span{background:var(--white);color:var(--blue-d)}
.topic:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.posts .card{position:relative}.posts .card[hidden]{display:none}
.post__tag{align-self:flex-start;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-d);background:var(--wash);border:1px solid var(--line);border-radius:999px;padding:3px 10px;margin-bottom:10px}
.posts h3{font-size:19px;line-height:1.35;margin:0 0 8px}.posts h3 a{color:var(--ink);text-decoration:none}.posts h3 a::after{content:"";position:absolute;inset:0}
.posts .card:focus-within{outline:3px solid var(--blue);outline-offset:2px}.posts h3 a:focus{outline:none}
.post__ex{font-size:15px;color:var(--ink-2);margin:0 0 14px;flex:1}
.posts__status{text-align:center;font-weight:600;color:var(--ink-2);margin:0 0 8px}
@media(max-width:768px){.topics{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:20px 0 24px}.topic{justify-content:space-between;text-align:left;line-height:1.25;font-size:14px;padding:10px 12px}.topic[data-topic="all"]{grid-column:1/-1;justify-content:center}}

/* Blog post: text-led header with the post thumbnail, 720px reading column, sticky sidebar, related posts */
.post-hero{background:var(--wash);border-bottom:1px solid var(--line-2);padding:56px 0 64px}
.post-hero__in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:48px;align-items:center}
.post-hero h1{font-size:52px;line-height:1.08;margin:12px 0 16px}
.post-hero .hero__aud{color:var(--ink-2)}.post-meta{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:14px;font-weight:600;color:var(--ink-2);margin:0 0 4px}
.post-meta i{color:var(--blue);margin-right:6px}
.post-hero figure{margin:0;border-radius:var(--r);overflow:hidden;border-top:4px solid var(--gold);max-width:440px;justify-self:end}
.post-hero figure img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}
.post-wrap{padding:64px 0 88px}.post__grid{display:grid;grid-template-columns:minmax(0,720px) 340px;justify-content:space-between;gap:56px;align-items:start}
.post__body{grid-column:1;grid-row:1;font-size:18px}.post__side{grid-column:2;grid-row:1;position:sticky;top:140px;display:grid;gap:20px}
.post__body h2{font-size:30px;line-height:1.2;margin:44px 0 14px}.post__body h2:first-child{margin-top:0}
.answer{background:var(--white);border:1px solid var(--line);border-left:6px solid var(--gold);border-radius:0 14px 14px 0;padding:24px 28px;margin:0 0 8px}
.answer h2{margin:10px 0 10px!important;font-size:26px}.answer p{margin:0;font-size:19px}
.ticks{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:12px}.ticks li{display:flex;gap:12px;align-items:flex-start}.ticks li i{color:var(--blue);margin-top:5px}
.checklist{background:var(--white);border:1px solid var(--line);border-top:4px solid var(--blue);border-radius:0 0 14px 14px;padding:22px 26px;margin:0 0 18px}
.checklist p{font-weight:600;margin:0 0 14px}.checklist .ticks{margin:0}.checklist .ticks i{color:var(--blue)}
.inline-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;background:var(--blue);color:var(--white);border-radius:14px;padding:22px 26px;margin:28px 0}
.inline-cta strong{font-size:20px}.inline-cta .btn-row{margin:0;flex:1 1 100%}
.inline-cta a.btn.btn--outline{color:var(--white);border-color:var(--white)}.inline-cta a.btn.btn--outline:hover{background:var(--white);color:var(--blue)}
.side-card{background:var(--white);border:1px solid var(--line);border-top:4px solid var(--blue);border-radius:0 0 14px 14px;padding:22px 24px}
.side-card h2{font-size:22px;margin:0 0 6px}.side-card p{font-size:15px;margin:0 0 14px}.side-card .btn{width:100%;max-width:none;margin-bottom:10px}
.side-trust{list-style:none;margin:0;padding:0;display:grid;gap:10px}.side-trust li{display:flex;gap:12px;align-items:center;font-weight:600;font-size:15px}
.side-trust i{width:34px;height:34px;flex:none;border-radius:50%;background:var(--wash);color:var(--blue);display:grid;place-items:center;font-size:15px}
.side-quote{margin:16px 0 0;padding:14px 0 0;border-top:1px solid var(--rule)}.side-quote blockquote{margin:0 0 6px;font-weight:600;font-size:15px}.side-quote figcaption{font-size:13px;color:var(--ink-2)}
.related{padding-top:0}
@media(max-width:1024px){.post__grid{grid-template-columns:1fr;gap:32px}.post__side{grid-column:1;grid-row:1;position:static}.post__body{grid-row:2}
 .post__side .side-card--cta{display:none}.side-trust{grid-template-columns:1fr 1fr}}
@media(max-width:768px){.post-wrap{padding:28px 0 64px}.post-hero{padding:32px 0 40px}.post-hero__in{grid-template-columns:1fr;gap:24px}.post-hero h1{font-size:34px}.post-hero figure{justify-self:stretch;max-width:none}
 .post__body{font-size:17px}.post__body h2{font-size:25px;margin-top:36px}.answer{padding:20px}.answer h2{font-size:22px}.answer p{font-size:17px}
 .side-trust{grid-template-columns:1fr}.inline-cta{padding:20px}.inline-cta .btn-row{width:100%}}

/* Resource page: blog-post layout + quick-numbers sidebar card + inline SVG charts drawn from the doc's own figures */
.nums{margin:0 0 16px;display:grid;grid-template-columns:auto 1fr;gap:0}
.nums dt,.nums dd{margin:0;padding:10px 0;border-bottom:1px solid var(--rule)}.nums>*:nth-last-child(-n+2){border-bottom:0}
.nums dt{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--blue-d);padding-right:14px}
.nums dd{text-align:right;font-weight:700;font-size:15px}.side-card--nums .btn{width:100%;max-width:none}
.chart{margin:20px 0 24px;background:var(--white);border:1px solid var(--line);border-top:4px solid var(--blue);border-radius:0 0 14px 14px;padding:18px 20px 14px}
.rchart{display:grid;gap:18px}.rrow{display:grid;grid-template-columns:120px minmax(0,1fr);gap:16px;align-items:center}.rlab b{display:block;font-size:16px}.rlab span{display:block;font-size:13px;color:var(--ink-2)}.rtrack{position:relative;height:56px;background:linear-gradient(90deg,var(--rule) 1px,transparent 1px) 0 0/25% 100%;border-right:1px solid var(--rule)}.rbar{position:absolute;top:26px;height:24px;background:var(--c-c9ddf0);border:2px solid var(--blue);border-radius:6px}.rval{position:absolute;top:4px;font-size:13px;font-weight:700;color:var(--blue-d);white-space:nowrap}.rmark{position:absolute;top:29px;width:18px;height:18px;margin-left:-9px;background:var(--gold);border:2px solid var(--ink);transform:rotate(45deg)}.rmark__lab{position:absolute;top:54px;transform:translateX(-50%);font-size:13px;font-weight:700;white-space:nowrap}.rrow--axis{margin-top:4px}.raxis{position:relative;height:18px}.raxis span{position:absolute;transform:translateX(-50%);font-size:12px;color:var(--ink-2)}.raxis span:first-child{transform:none}.raxis span:last-child{transform:translateX(-100%)}.ltrack{display:flex;align-items:center;gap:12px}.lbar{position:relative;display:block;height:26px;border-radius:6px;flex:none}.lbar i{position:absolute;top:0;bottom:0;right:0;border-radius:0 6px 6px 0}.lbar--c{background:var(--blue)}.lbar--c i{background:var(--blue-d)}.lbar--a{background:var(--gray)}.lbar--a i{background:var(--c-9aa3af)}.lval{font-weight:700;font-size:15px;white-space:nowrap}
.chart figcaption{font-size:13px;color:var(--ink-2);margin-top:8px}
.permits{background:var(--wash);border:1px solid var(--line);border-left:6px solid var(--blue);border-radius:0 14px 14px 0;padding:20px 24px;margin:18px 0 0}
.permits h3{margin:0 0 8px;font-size:21px}.permits p{margin:0}
@media(max-width:1024px){.post__side .side-card--nums{display:block}}
@media(max-width:768px){.chart{padding:16px 14px 12px}.rrow{grid-template-columns:1fr;gap:6px}.rrow--axis .rlab{display:none}.rtrack{height:62px}.rmark__lab{top:56px}}

/* Specials: offer split with the large coupon ticket, seasonal note, covered-services tiles */
.offer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px);gap:56px;align-items:center}
.offer .ticket{justify-self:end}.ticket--lg{grid-template-columns:1fr 190px}.ticket--lg .ticket__stub .btn{white-space:nowrap}.ticket--lg .ticket__big{font-size:clamp(56px,16vw,96px)}.ticket--lg .ticket__what{font-size:20px}
.sp-note{display:flex;align-items:center;gap:12px;margin:28px 0 0;padding:14px 18px;background:var(--wash);border:1px solid var(--line);border-radius:12px;font-weight:600}
.sp-note i{color:var(--blue);font-size:18px}
.others--flush{margin-top:0}
@media(max-width:1024px){.offer{grid-template-columns:1fr;gap:32px}.offer .ticket{justify-self:stretch;max-width:none}}
@media(max-width:520px){.ticket--lg{grid-template-columns:1fr 130px}.ticket--lg .ticket__stub .btn{white-space:normal}}

/* Why Choose Us: two differentiator cards with fact chips, credentials split */
.edges{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:8px}
.edge{background:var(--white);border:1px solid var(--line);border-top:4px solid var(--blue);border-radius:0 0 16px 16px;padding:32px 32px 28px;display:flex;flex-direction:column}
.edge__icon{width:56px;height:56px;border-radius:50%;background:var(--wash);color:var(--blue);display:grid;place-items:center;font-size:24px;margin-bottom:16px}
.edge h2{font-size:30px;line-height:1.2;margin:0 0 12px}.edge p{margin:0 0 18px}
.edge__label{display:block;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-d);margin:0 0 8px}
.facts-chips{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.facts-chips li{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:var(--wash);border:1px solid var(--line);font-weight:600;font-size:15px}
.facts-chips li i{color:var(--blue)}.facts-chips--no li{background:var(--white);border-style:dashed;color:var(--ink-2)}.facts-chips--no li i{color:var(--c-9aa3af)}
.edge__foot{margin-top:auto}
@media(max-width:900px){.edges{grid-template-columns:1fr}.edge{padding:26px 22px}.edge h2{font-size:26px}}

/* Legal pages: quiet tinted header, 720px column, sticky 'On this page' list, contact card; no closing band */
.legal-hero{background:var(--wash);border-bottom:1px solid var(--line-2);padding:48px 0 44px}
.legal-hero h1{font-size:52px;line-height:1.08;margin:12px 0 10px}.legal-hero .post-meta{margin:0}
.legal{padding:56px 0 88px}.legal__grid{display:grid;grid-template-columns:minmax(0,720px) 280px;justify-content:space-between;gap:56px;align-items:start}
.legal__body{grid-column:1;grid-row:1}.legal__body h2{font-size:28px;margin:40px 0 12px;scroll-margin-top:140px}.legal__body h3{font-size:20px;margin:26px 0 8px}.toc{max-height:calc(100vh - 170px);overflow:auto}.legal__body h2:first-child{margin-top:0}
.toc{grid-column:2;grid-row:1;position:sticky;top:140px;background:var(--white);border:1px solid var(--line);border-top:4px solid var(--blue);border-radius:0 0 14px 14px;padding:20px 22px}
.toc ol{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:4px}.toc a{display:block;padding:6px 0;font-weight:600;font-size:15px;color:var(--ink);text-decoration:none}.toc a:hover{color:var(--blue)}
.contact-card{display:flex;gap:14px;align-items:flex-start;background:var(--wash);border:1px solid var(--line);border-left:6px solid var(--blue);border-radius:0 14px 14px 0;padding:18px 22px}
.contact-card i{color:var(--blue);font-size:20px;margin-top:4px}.contact-card p{margin:0}
@media(max-width:1024px){.legal__grid{grid-template-columns:1fr;gap:28px}.toc{grid-column:1;grid-row:1;position:static}.legal__body{grid-row:2}}
@media(max-width:768px){.legal-hero{padding:32px 0 30px}.legal-hero h1{font-size:36px}.legal{padding:28px 0 64px}.legal__body h2{font-size:24px}}

/* ===== QA ROUND 1 STANDARDS (client QA 2026-10-06). Every later page inherits these; edit here, never per page. ===== */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
p,li,figcaption{text-wrap:pretty}
/* G2 hero type: smaller H1 on every page */
.hero h1,.post-hero h1,.legal-hero h1{font-size:clamp(34px,3.6vw,52px);line-height:1.08}
/* G1/H16 inner hero: compact stacked hero (shorter photo band, tighter panel) */
.hero--panel.hero--inner{padding:250px 0 0}.hero--inner .hero__img{height:330px}
.hero--inner .hero__panel{max-width:760px;padding:30px 36px 28px}
.hero__panel .hero__aud{font-size:15px;margin-bottom:10px}.hero__panel .hero__sub{font-size:17px;margin-bottom:6px}
/* G9 homepage hero = client mockup: full-bleed photo, compact white card left, gold primary, phone-icon call button, swoosh under the accent line */
.hero--home{min-height:540px;align-items:center;padding:64px 0}
.hero--home h1{font-size:clamp(32px,3.1vw,46px);text-wrap:wrap}@media(max-width:768px){.br-d{display:none}}.hero--home .hero__panel{max-width:660px;padding:30px 34px 26px;border-top:0;border-radius:8px;box-shadow:0 18px 40px rgba(31,41,51,.18)}
.hero--home .h1-accent{display:table;padding-bottom:12px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 14' preserveAspectRatio='none'%3E%3Cpath d='M3 9 C 80 2, 200 2, 297 7' fill='none' stroke='%23FFC845' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E") left bottom/100% 12px no-repeat}
.btn--call::before{content:"\f095";font:900 15px/1 "Font Awesome 6 Free"}
.hero--home .btn-row{flex-wrap:nowrap;gap:12px}.hero--home .btn-row .btn{flex:0 1 auto;padding:13px 18px;font-size:15px;letter-spacing:.02em}
/* G11 + mockup trust tiles: white, thin gold border, gold corner, icon + title/sub; no pill */
.trust--home{padding:28px 0 40px}.trust--tiles{padding:40px 0}
.tiles4{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.tiles4--3{grid-template-columns:repeat(3,1fr)}.tiles4--5{grid-template-columns:repeat(5,1fr)}
.tiles4 li{position:relative;display:flex;gap:14px;align-items:center;background:var(--white);border:1.5px solid var(--gold-line);border-radius:6px;padding:18px 20px;overflow:hidden}
.tiles4 li::after{content:"";position:absolute;right:0;bottom:0;width:22px;height:22px;background:var(--gold);clip-path:polygon(100% 0,100% 100%,0 100%)}
.tiles4 .ti{flex:none;width:44px;height:44px;display:grid;place-items:center;font-size:26px;color:var(--gold-icon)}
.tiles4 strong{display:block;font-size:16px;line-height:1.3}.tiles4 small{display:block;font-size:14px;color:var(--slate);line-height:1.4}
/* G14 review: two columns, photo | review card + rating card, placed lower on the page */
.review__in{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.review__media{border-radius:var(--r);overflow:hidden}.review__media img{width:100%;aspect-ratio:4/3;object-fit:cover}
.review__cards{display:grid;gap:16px;justify-items:start}
.review__card{margin:0;background:var(--white);border:1px solid var(--line);border-left:6px solid var(--gold);border-radius:0 14px 14px 0;padding:26px 28px;width:100%}
.review__card blockquote{margin:8px 0 12px;font-size:21px;line-height:1.45;font-weight:600}.review__card figcaption{font-size:14px;font-weight:600;color:var(--slate)}
.review__stars{color:var(--gold-ink);letter-spacing:3px;font-size:18px}
.review__rating{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;background:var(--blue);color:var(--white);border-radius:14px;padding:18px 24px;width:100%}
.review__rating b{font-size:36px;line-height:1}.review__rating .review__stars{color:var(--gold)}.review__rating span:last-child{font-weight:600}
/* G3/G12/A23/W39 hover: every tile, card and pill lifts; blue top rules turn gold (the near-tile behaviour, made global) */
.card,.tiles4 li,.stats li,.near a,.others li,.checks li,.edge,.state,.compare__col,.subcard,.guide,.cities li,.chip,.state li,.facts-chips li,.winter__cols li,.rail li,.contact__list li,.mega__card,.side-card,.review__card{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,background-color .25s ease,color .25s ease}
@media(hover:hover){
 .card:hover,.tiles4 li:hover,.stats li:hover,.near a:hover,.others li:hover,.checks li:hover,.edge:hover,.state:hover,.compare__col:hover,.subcard:hover,.guide:hover,.cities li:hover,.winter__cols li:hover,.contact__list li:hover,.review__card:hover{transform:translateY(-4px);box-shadow:0 14px 28px rgba(31,41,51,.10)}
 .card:hover .card__body,.near a:hover,.edge:hover,.compare__col:hover,.subcard:hover,.guide:hover,.cities li:hover,.state:hover{border-top-color:var(--gold)}
 .tiles4 li:hover{border-color:var(--gold)}.others li:hover{border-left-color:var(--gold)}
 .chip:hover,.chips--static .chip:hover,.state li:hover,.facts-chips li:hover{background:var(--blue);border-color:var(--blue);color:var(--white);transform:translateY(-2px)}
 .chip:hover::before{color:var(--white)}
 .state li.home:hover{background:var(--blue-h)}.facts-chips li:hover i{color:var(--white)}
 .edge:hover .edge__icon{background:var(--blue);color:var(--white)}
}
.edge__icon{transition:background-color .25s,color .25s}
@media(prefers-reduced-motion:reduce){.card,.tiles4 li,.stats li,.near a,.others li,.checks li,.edge,.state,.compare__col,.subcard,.guide,.cities li,.chip,.state li,.facts-chips li,.winter__cols li,.rail li,.contact__list li,.review__card{transition:none!important;transform:none!important}}
/* BL33/P34/C36 light-blue border on every card */
.card{border:1px solid var(--line)}
/* C37 related sections keep their full top padding */
.related{padding-top:var(--space-section)}
/* H17/SP38 no rule under the coupon logo */
.ticket__body img{border-bottom:0;padding-bottom:0;margin-bottom:6px}
/* H18 standalone text links are outline buttons (also B25: the cost-comparison link is now a button) */
.link-arrow{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:12px 22px;border:2px solid var(--blue);border-radius:8px;font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--blue);background:var(--white);text-decoration:none;transition:background .2s,color .2s}
.link-arrow:hover{background:var(--blue);color:var(--white)}.link-arrow::after{content:"\2192"}
.link-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.sec-foot .link-arrow,.where__link .link-arrow{margin-top:4px}
/* H20 service cards: one line under every heading */
.services .card p{min-height:24px}
/* H21 county lists use pin icons, not bullets; G6 deeper list indentation everywhere */
.counties{list-style:none;padding-left:4px}.counties li{position:relative;padding-left:26px;margin-bottom:6px}
.counties li::before{content:"\f3c5";font:900 15px/1 "Font Awesome 6 Free";color:var(--blue);position:absolute;left:2px;top:5px}
.post__body ul:not([class]),.legal__body ul,.legal__body ol,.compare__col ul,.price-card ul{padding-left:34px}
.ticks{padding-left:14px}.ticks li{gap:14px}.checks{padding-left:0}
.legal__body li{margin-bottom:8px}
/* A22 About timeline stays visible while the story scrolls */
@media(min-width:961px){.story__in>.rail{position:sticky;top:150px}}
/* SA31 service-area chips: one size, full width of their card */
.state ul{flex-direction:column}.state li{width:100%;justify-content:flex-start}.state li.home{justify-content:space-between}
/* image tiles: E29 Elkton other services, SP specials, SA32 cities, B27 near-you */
.others li{display:grid;grid-template-columns:76px minmax(0,1fr) auto;align-items:center;padding:12px 16px 12px 12px}
.others li img{width:76px;height:76px;object-fit:cover;border-radius:8px}
.cities li{display:grid;grid-template-columns:76px auto minmax(0,1fr) auto;align-items:center;padding:12px 16px 12px 12px}
.cities li img{width:76px;height:76px;object-fit:cover;border-radius:8px}
.near--img li a{display:flex;flex-direction:column;align-items:stretch;padding:0;overflow:hidden}
.near--img img{width:100%;aspect-ratio:3/2;object-fit:cover}.near--img a>span{display:flex;align-items:center;gap:12px;padding:16px 18px}
.tile-img{width:calc(100% + 48px);max-width:none;margin:-22px -24px 16px;aspect-ratio:3/1;object-fit:cover}
.compare__col,.subcard{overflow:hidden}
.xsec--photo{padding:0;overflow:hidden}.xsec--photo img{width:100%;aspect-ratio:3/2;object-fit:cover}
/* long URLs/emails in client copy must not widen a grid column past the phone screen */
.legal__grid>*,.review__in>*,.post__grid>*{min-width:0}.legal__body,.post__body{overflow-wrap:anywhere}
/* GHL chat widget (client exception to S9): on phones its launcher would sit on the Call/Specials bar, so the host element becomes a
   zero-height containing block 56px above the bottom; the widget's own fixed-position parts then anchor to it. Preview chip moves left. */
@media(max-width:768px){chat-widget{position:fixed;left:0;right:0;bottom:56px;height:0;transform:translateZ(0);z-index:9998}}
.preview-chip{right:auto;left:12px}
/* G8 footer: brand name in gold; secondary number on its own line */
.ftr__nap strong{color:var(--gold)}
/* G4 mobile header: 'Get a Quote' button + gold burger (mockup) */
.hdr__quote{display:none}
@media(max-width:960px){
 .hdr__quote{display:inline-flex;align-items:center;margin-left:auto;min-height:40px;padding:8px 14px;border-radius:8px;background:var(--blue);color:var(--white);font:700 13px/1 var(--font-b);letter-spacing:.04em;text-transform:uppercase;text-decoration:none;white-space:nowrap}
 .hdr__burger{margin-left:10px;background:var(--gold);border-radius:8px}
 .hdr__in{gap:10px}
}
@media(max-width:960px){.hdr__logo{flex:0 1 auto;min-width:0}.hdr__logo img{width:auto;height:auto;max-width:100%;max-height:60px;object-fit:contain}}
@media(max-width:420px){.hdr__logo img{max-height:46px}.hdr__in{min-height:70px;gap:8px}.hdr>.container{padding:0 14px}.hdr__quote{padding:8px 10px;font-size:12px;letter-spacing:.02em}.hdr__burger{margin-left:4px;width:42px;height:42px;padding:9px}}
@media(max-width:480px){.eyebrow{font-size:11px;letter-spacing:.08em;padding:7px 12px}}
/* G5 mobile: every button row is centred and full width, hero and closing band included */
@media(max-width:768px){
 .btn-row,.band--gold .btn-row,.hero--home .btn-row{flex-direction:column;align-items:stretch;flex-wrap:wrap}
 .btn-row .btn,.hero .btn-row .btn,.band--gold .btn-row .btn{width:100%;max-width:none;flex:none}
 .split__copy>.btn,.specials__in>div>.btn,.price-card .btn,.side-card .btn{width:100%}
 .link-btns{flex-direction:column}.link-arrow{width:100%;justify-content:center}
 .next-step{text-align:center}
 /* mockup mobile hero: photo behind, white card inset over it */
 .hero--home{padding:28px 0 120px;min-height:auto}.hero--home .hero__img{height:100%;object-position:72% 50%}
 .hero--home .container{padding:0 16px}.hero--home .hero__panel{padding:22px 18px;border-radius:8px;max-width:calc(100% - 40px)}
 .hero--inner .hero__img{height:240px}.hero--panel.hero--inner{padding:180px 0 0}
 .tiles4,.tiles4--3,.tiles4--5{grid-template-columns:1fr;gap:0;border-top:1px solid var(--rule)}
 .tiles4 li{border:0;border-bottom:1px solid var(--rule);border-radius:0;padding:16px 4px}.tiles4 li::after{display:none}
 .review__in{grid-template-columns:1fr;gap:24px}
 .creds .badges{justify-content:center}
 .others li,.cities li{grid-template-columns:64px minmax(0,1fr) auto}.others li img,.cities li img{width:64px;height:64px}
}
@media(min-width:769px) and (max-width:1024px){.tiles4,.tiles4--5{grid-template-columns:repeat(2,1fr)}}

/* ===== Skill 6 Phase 6A additions. Inert on the approved markup (verified by pixel diff). ===== */
/* M9 card-first: a section holding 3+ sibling .item blocks becomes a card grid (flat :has(), never nested) */
.section:has(> .item + .item + .item),.section.is-cards{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.section:has(> .item + .item + .item)>.item,.section.is-cards>.item{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:22px 24px}
.item:has(> .rich-body){grid-column:1/-1}.rich-body{max-width:70ch}
/* M11 header: nav labels never wrap (the approved header fits its 1025-1440 budget; the probe in site.js reports overlap) */
.nav a,.nav__link{white-space:nowrap}
/* R34 grid completion (L-114 pattern): a 3-up near-you grid holding 5 tiles lays a 6-column scaffold, each tile spans 2,
   and the last row starts at column 2 so the two stranded tiles centre. Phones stack the tiles, so desktop/tablet only. */
@media(min-width:769px){.near[data-n="5"]{grid-template-columns:repeat(6,1fr)}.near[data-n="5"]>li{grid-column:span 2}.near[data-n="5"]>li:nth-child(4){grid-column:2/span 2}
 .near[data-n="4"]{grid-template-columns:repeat(6,1fr)}.near[data-n="4"]>li{grid-column:span 2}.near[data-n="4"]>li:nth-child(4){grid-column:3/span 2}}
/* QA r3 (Amer 2026-10-20): a section's sub-cards form a full-width row under its grid. One card = wide card
   (photo or icon tile left, copy right); two or more = the existing 2-up sub-card grid. Phones stack. */
.subcards--row{margin-top:40px}.subcards--row[data-n="1"]{grid-template-columns:1fr}
.subcard--wide{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);padding:0;align-items:stretch;background:var(--white);border:1px solid var(--line);border-top:4px solid var(--blue)}
.subcard--wide>.tile-img{width:100%;height:100%;min-height:240px;margin:0;aspect-ratio:auto;object-fit:cover}
.subcard--wide .subcard__body{padding:28px 32px;align-self:center}.subcard--wide .subcard__body p:last-child{margin-bottom:0}
.subcard__icon{display:grid;place-items:center;min-height:160px;background:var(--wash);color:var(--blue);font-size:52px}
.subcard--wide:has(> .subcard__icon){grid-template-columns:200px minmax(0,1fr)}
@media(max-width:768px){.subcard--wide,.subcard--wide:has(> .subcard__icon){grid-template-columns:1fr}.subcard--wide>.tile-img{min-height:0;aspect-ratio:3/2}
 .subcard__icon{min-height:120px;font-size:44px}.subcard--wide .subcard__body{padding:22px 20px}}
/* L-197: the GHL form's min-height is a LOAD-TIME reservation (no layout shift while it loads); once form_embed.js
   writes a pixel height on the iframe, site.js adds .is-sized and the reservation is released (no empty band). */
.ghl-form-embed.is-sized,.ghl-form-embed.is-sized iframe{min-height:0!important}
/* R34 (6C 2026-10-20): stranded cards centre. Mega menu: 961-1100px drops to 3 columns, so its 8- and 5-card grids
   go flex-centred there. Trust strip at tablet: the 3-tile strip stays 3-up; the 5th tile of a 5-tile strip centres. */
@media(min-width:961px) and (max-width:1100px){.mega__grid--4,.mega__grid--5{display:flex;flex-wrap:wrap;justify-content:center}
 .mega__grid--4>*,.mega__grid--5>*{flex:0 0 calc((100% - 32px)/3);min-width:0}}
@media(min-width:769px) and (max-width:1024px){.tiles4.tiles4--3{grid-template-columns:repeat(3,1fr)}
 .tiles4.tiles4--5>li:last-child{grid-column:1/-1;justify-self:center;width:calc(50% - 9px)}}
/* R38: the footer logo links home; block so the wrapped image keeps its exact box */
.ftr__logo{display:block;width:fit-content}
/* Site_Navigation item 8 (Amer 2026-10-20): a plain "Contact" header link from 1200px; 961-1199px has no room, the estimate button covers it */
@media(max-width:1199px){.nav__list>.nav__item--contact{display:none}}
/* keeps a hyphenated compound on one line (the font has no U+2011 non-breaking hyphen glyph) */
.nowrap{white-space:nowrap}
/* Narrow dropdowns (Resources, About) open under their own item (Amer 2026-10-20): they were pinned 180px from the
   header's right edge, so the pointer crossed empty space on the way down and the menu closed. Each item now spans the
   full header height (no gap above the panel) and anchors its panel. */
@media(min-width:961px){.nav{align-self:stretch;display:flex}.nav__list{align-items:stretch}
 .nav__item{display:flex;align-items:center}.nav__item:has(>.mega--narrow){position:relative}
 .nav__item>.mega--narrow{top:100%;left:50%;right:auto;transform:translateX(-50%)}
 /* wide menus (Services, Service Areas; also broken in the approved preview): an invisible corridor over the lower half of
    the header, as wide as the panel, keeps the menu open on a diagonal move toward its far items. Links sit above it, so
    moving onto another nav item still switches menus. */
 .nav__link{z-index:2}
 .nav__item:has(>.mega:not(.mega--narrow)):hover::before{content:"";position:absolute;left:24px;right:24px;top:50%;bottom:0;z-index:1}}
/* v8.3 mobile nav contract: the drawer scrolls inside itself; group toggles are 44px+ tap targets */
.drawer{max-height:100dvh;overflow-y:auto}.drawer__grp summary{min-height:44px}

/* ===== R-btn-label-guard (10.34.0, cortex L-047): the button colours, restated as the literal last rules.
   Same values as the approved rules above; contextual overrides (.band--gold, .inline-cta) are more
   specific and still win. ===== */
a.btn.btn--primary{background:var(--blue);color:var(--white)}a.btn.btn--primary:hover{background:var(--blue-h);color:var(--white)}
a.btn.btn--gold{background:var(--gold);color:var(--ink)}a.btn.btn--gold:hover{background:var(--gold-h);color:var(--ink)}
a.btn.btn--outline{background:transparent;color:var(--blue);border-color:var(--blue)}a.btn.btn--outline:hover{background:var(--blue);color:var(--white)}
.band--gold a.btn.btn--outline{color:var(--ink);border-color:var(--ink)}.band--gold a.btn.btn--outline:hover{background:var(--ink);color:var(--white)}
.inline-cta a.btn.btn--outline{color:var(--white);border-color:var(--white)}.inline-cta a.btn.btn--outline:hover{background:var(--white);color:var(--blue)}
