﻿:root{--navy:#0E0059;--navy-dk:#090038;--burnt:#C2410C;--burnt-dk:#9A340A;--green:#15803D;--green-dk:#116631;--ink:#1b1b24;--muted:#5d5d6b;--mist:#f5f6fa;--line:#e5e6ef;--paper:#fff}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"IBM Plex Sans",sans-serif;color:var(--ink);background:var(--paper);line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:"Archivo",sans-serif;line-height:1.1;letter-spacing:-.01em}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.lab{font-family:"Archivo",sans-serif;text-transform:uppercase;letter-spacing:.13em;font-size:.8rem;color:var(--burnt);font-weight:600}
.btn{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:.95rem;padding:14px 24px;border-radius:8px;border:0;cursor:pointer;transition:.18s;font-family:"IBM Plex Sans",sans-serif}
.btn-cta{background:var(--green);color:#fff}
.btn-cta:hover{background:var(--green-dk);transform:translateY(-2px)}
.ico{width:30px;height:30px;stroke:var(--burnt);stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}
.gridbg{background-color:var(--mist);background-image:linear-gradient(rgba(70,90,150,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(70,90,150,.05) 1px,transparent 1px);background-size:40px 40px}
.pcap{position:absolute;left:12px;bottom:12px;background:rgba(14,0,89,.85);color:#fff;font-family:"Archivo";font-weight:600;font-size:.64rem;letter-spacing:.08em;padding:6px 12px;border-radius:6px;text-transform:uppercase}

/* ── Utility bar ─────────────────────────────────────────── */
.ubar{background:var(--navy);color:#fff;font-size:.9rem}
.ubar .wrap{display:flex;justify-content:space-between;align-items:center;height:46px}
.ubar a.phone{display:flex;align-items:center;gap:8px;font-weight:500;color:#fff}
.ubar a.phone:hover{color:#d7d4ef}
.ubar .sched{background:var(--green);color:#fff;padding:7px 16px;border-radius:6px;font-weight:600;font-size:.85rem;white-space:nowrap}
.ubar .sched:hover{background:var(--green-dk)}

/* ── Main nav ────────────────────────────────────────────── */
nav.main{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
nav.main .wrap{display:flex;justify-content:space-between;align-items:center;height:78px;position:relative}
.brand img{height:48px;display:block}
.navlinks{display:flex;gap:26px;align-items:center;font-size:.95rem;font-weight:500;color:var(--navy)}
.navlinks a:hover{color:var(--burnt)}
.navlinks .drop{position:relative;display:flex;align-items:center}
.dropbtn{background:none;border:none;cursor:pointer;font-family:"IBM Plex Sans",sans-serif;font-size:.95rem;font-weight:500;color:var(--navy);display:flex;align-items:center;gap:5px;padding:0;line-height:1}
.dropbtn:hover,.drop:hover .dropbtn,.drop.is-open .dropbtn{color:var(--burnt)}
.dropbtn svg{transition:transform .2s}
.drop:hover .dropbtn svg,.drop.is-open .dropbtn svg{transform:rotate(180deg)}
.dropmenu{position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%);background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px -10px rgba(14,0,89,.16);min-width:290px;padding:8px 0;display:none;z-index:30}
.dropmenu a{display:block;padding:10px 22px;color:var(--navy);font-size:.9rem;white-space:nowrap;font-weight:400;margin-bottom:0}
.dropmenu a:hover{background:var(--mist);color:var(--burnt)}
.navlinks .drop:hover .dropmenu,.navlinks .drop.is-open .dropmenu{display:block}
/* Invisible bridge spans the gap so moving cursor into the menu doesn't close it */
.navlinks .drop::after{content:"";position:absolute;top:100%;left:-20px;right:-20px;height:16px}

/* Hamburger — hidden above 560px */
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px;flex-shrink:0}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--navy);border-radius:2px;transition:.2s}

/* ── Hero ────────────────────────────────────────────────── */
.hero{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(ellipse 90% 80% at 70% 30%,#000,transparent)}
.hero .wrap{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:46px;align-items:center;padding:72px 24px 104px}
.hero h1{font-size:3rem;font-weight:800;margin:18px 0}
.hero h1 em{font-style:normal;border-bottom:4px solid var(--burnt);padding-bottom:2px}
.hero p.sub{font-size:1.15rem;color:#d7d4ef;max-width:520px;margin-bottom:28px}
.hero .cta-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.phone-link{color:#fff;font-weight:600;display:flex;align-items:center;gap:8px}
.phone-link:hover{color:#d7d4ef}
.hero .ministat{margin-top:30px;display:flex;gap:26px;font-size:.9rem;color:#cdc9ec;font-family:"IBM Plex Sans";font-weight:400}
.hero .ministat b{color:#fff;font-weight:600}
.hero .ministat .mi-google{display:inline-flex;align-items:center;gap:6px}
.hero-photo{position:relative;border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.18);box-shadow:0 24px 50px -28px rgba(0,0,0,.6)}
.hero-photo img{width:100%;display:block}

/* ── Proof card ──────────────────────────────────────────── */
.proof2{position:relative;z-index:5;margin-top:-66px}

/* ── Section bands ───────────────────────────────────────── */
section.band{padding:74px 0;position:relative}
.band.mist{background:var(--mist)}
.band.tight{padding-top:46px}
.sec-head{max-width:680px;margin-bottom:40px;position:relative}
.sec-head h2{font-size:2.1rem;font-weight:700;margin:12px 0 14px;color:var(--ink)}
.sec-head p{color:var(--muted);font-size:1.08rem}

/* ── Best of Gwinnett ────────────────────────────────────── */
.bog .wrap{display:grid;grid-template-columns:.62fr 1fr;gap:50px;align-items:center}
.bog .ribbon{text-align:center}
.bog .ribbon img{max-height:430px;width:auto;max-width:100%;display:inline-block;filter:drop-shadow(0 18px 30px rgba(14,0,89,.22))}
.bog h2{font-size:2.3rem;font-weight:800;color:var(--navy);margin:12px 0 14px}
.bog p{color:var(--muted);font-size:1.08rem;max-width:480px}
.bog .small{font-family:"Archivo";font-weight:600;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--burnt);margin-top:18px}

/* ── Cards ───────────────────────────────────────────────── */
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;position:relative}
.card{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;padding:28px 24px;transition:.2s;position:relative;overflow:hidden;color:var(--ink)}
.card::before{content:"";position:absolute;top:0;left:0;height:3px;width:0;background:var(--burnt);transition:.25s}
.card:hover{transform:translateY(-4px);border-color:#d2d4e2}
.card:hover::before{width:100%}
.card .ico{margin-bottom:16px}
.card h3{font-size:1.18rem;font-weight:700;color:var(--navy);margin-bottom:8px}
.card p{font-size:.94rem;color:var(--muted);margin-bottom:16px}
.card .more{font-family:"Archivo";font-weight:600;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--burnt)}

/* ── How it works ────────────────────────────────────────── */
.howit2{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}
.steps-col{display:flex;flex-direction:column;gap:26px}
.steps-col > .btn-cta{align-self:flex-start}
.stepc{display:flex;gap:18px;align-items:flex-start}
.stepc .sn{flex:0 0 40px;height:40px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-family:"Archivo";font-weight:700;color:#fff;font-size:1rem}
/* nth-child selectors were off-by-one (sec-head is child 1); all badges set to navy */
.stepc .sn{background:var(--navy)}
.stepc h3{font-size:1.12rem;color:var(--navy);font-weight:700;margin-bottom:4px}
.stepc p{font-size:.95rem;color:var(--muted)}
.journey{text-align:center}
.journey img{max-width:100%;height:auto}

/* ── Why us ──────────────────────────────────────────────── */
.why-split{display:grid;grid-template-columns:1.02fr .98fr;gap:50px;align-items:center}
.why{display:grid;grid-template-columns:1fr;gap:22px}
.why .pt{display:flex;gap:16px}
.why .tick{flex:0 0 38px;height:38px;border:1.5px solid var(--burnt);border-radius:9px;display:flex;align-items:center;justify-content:center}
.why .tick svg{width:20px;height:20px;stroke:var(--burnt);stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.why .pt h3{font-size:1.06rem;color:var(--navy);margin-bottom:4px;font-weight:700}
.why .pt p{font-size:.92rem;color:var(--muted)}
.why-photo{position:relative;border-radius:16px;overflow:hidden;border:1px solid var(--line)}
.why-photo img{width:100%;display:block}

/* ── Gallery band ────────────────────────────────────────── */
.galband{background:var(--navy);color:#fff;position:relative;overflow:hidden;padding:70px 0}
.galband::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(ellipse 80% 90% at 50% 40%,#000,transparent)}
.galband .wrap{position:relative}
/* NOTE: #C2410C on navy — if contrast is insufficient, lighten back to #f0a472 */
.galband .lab{color:#C2410C}
.galband h2{color:#fff;font-size:2.1rem;font-weight:700;margin:12px 0 36px}
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.gal figure{margin:0}
.gal img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px;display:block;border:1px solid rgba(255,255,255,.12)}
.gal figcaption{font-family:"Archivo";font-weight:600;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:#cdc9ec;margin-top:10px;text-align:center}

/* ── Credentials ─────────────────────────────────────────── */
.creds{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:46px 0;text-align:center}
.creds .lead{font-family:"Archivo";font-weight:600;font-size:.8rem;letter-spacing:.13em;text-transform:uppercase;color:var(--burnt);margin-bottom:8px}
.creds h3{font-size:1.3rem;color:var(--navy);font-weight:700;margin-bottom:6px}
.creds p{color:var(--muted);font-size:.95rem;margin-bottom:26px}
.creds .row{display:flex;justify-content:center;align-items:center;gap:38px;flex-wrap:wrap}
.creds .row img{height:78px;width:auto;filter:saturate(.45);opacity:.85;transition:.2s;display:inline-block}
.creds .row img:hover{filter:none;opacity:1}

/* ── Video ───────────────────────────────────────────────── */
.video-wrap{max-width:600px;margin:0 auto;text-align:center}
.player{position:relative;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:var(--navy);border:1px solid var(--line);cursor:pointer}
.player img{width:100%;height:100%;object-fit:cover;opacity:.92;display:block}
.player .play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}
.player .circ{width:70px;height:70px;border-radius:50%;background:var(--green);display:flex;align-items:center;justify-content:center;transition:.2s}
.player:hover .circ{transform:scale(1.08);background:var(--green-dk)}
.player .circ svg{width:26px;height:26px;margin-left:4px;fill:#fff}
.player iframe{position:absolute;inset:0;width:100%;height:100%;border:none}
.vtitle{margin-top:18px;font-weight:600;color:var(--navy);font-size:1.05rem}
a.yt{font-family:"Archivo";font-weight:600;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--burnt)}
a.yt:hover{color:var(--burnt-dk)}

/* ── Reviews ─────────────────────────────────────────────── */
.rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.review{background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px 24px;display:flex;flex-direction:column}
.stars{color:var(--burnt);letter-spacing:1px;margin-bottom:12px}
.review p{font-size:.95rem;flex:1;margin-bottom:16px}
.review .who{font-weight:600;color:var(--navy);font-size:.92rem;display:flex;gap:8px;align-items:center}
.review .who .tag{font-weight:500;color:var(--muted);font-size:.82rem;display:inline-flex;align-items:center}
.rev-foot{margin-top:30px;display:flex;gap:24px;justify-content:center;flex-wrap:wrap;align-items:center}
.rev-foot a{font-weight:600;color:var(--burnt);display:inline-flex;align-items:center;gap:7px}
.rev-foot a:hover{color:var(--burnt-dk)}

/* ── FAQ ─────────────────────────────────────────────────── */
.faq-wrap{max-width:820px;margin:0 auto}
.faq details{border-bottom:1px solid var(--line);padding:4px 0}
.faq summary{cursor:pointer;list-style:none;padding:18px 0;font-family:"Archivo";font-weight:600;font-size:1.08rem;color:var(--navy);display:flex;justify-content:space-between;align-items:center;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--burnt);font-size:1.5rem;font-weight:400;font-family:"Archivo"}
.faq details[open] summary::after{content:"\2212"}
.faq details p{padding:0 0 20px;color:var(--muted);font-size:.98rem;max-width:720px}

/* ── Area chips ──────────────────────────────────────────── */
.chips{display:flex;flex-wrap:wrap;gap:12px}
.chip{border:1px solid var(--line);border-radius:8px;padding:11px 20px;font-weight:500;color:var(--navy);font-size:.95rem;transition:.18s;background:#fff}
.chip:hover{border-color:var(--burnt);color:var(--burnt)}

/* ── City photo cards ────────────────────────────────────── */
.city-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.city-card{display:block;border-radius:12px;overflow:hidden;border:1px solid var(--line);box-shadow:0 2px 8px -2px rgba(14,0,89,.08);transition:.2s;color:var(--navy)}
.city-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px -8px rgba(14,0,89,.18);border-color:#d2d4e2}
.city-card img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.city-card .city-ph{width:100%;aspect-ratio:3/2;background:var(--navy);display:flex;align-items:center;justify-content:center}
.city-card .city-ph span{font-family:"Archivo",sans-serif;font-weight:700;font-size:1.05rem;color:#fff;text-align:center;padding:12px}
.city-card .city-name{font-family:"Archivo",sans-serif;font-weight:600;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);text-align:center;padding:12px 8px 14px;display:block}

/* ── Media placeholder ───────────────────────────────────── */
.media-placeholder{width:100%;background-color:rgba(14,0,89,.04);background-image:linear-gradient(rgba(70,90,150,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(70,90,150,.06) 1px,transparent 1px);background-size:40px 40px;border:2px dashed rgba(14,0,89,.3);border-radius:12px;display:flex;align-items:center;justify-content:center;font-family:"Archivo",sans-serif;font-weight:700;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(14,0,89,.4);text-align:center;padding:12px;line-height:1.4}
.media-placeholder.ico-slot{width:32px;height:32px;flex:0 0 32px;min-width:32px;border-radius:6px;background-image:none;border-width:1.5px;padding:0;font-size:0;line-height:0}

/* ── Service page hero (slim) ────────────────────────────── */
.svc-hero{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.svc-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(ellipse 90% 80% at 60% 40%,#000,transparent)}
.svc-hero .wrap{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center;padding:52px 24px 68px}
.svc-hero h1{font-size:2.5rem;font-weight:800;margin:0 0 16px}
.svc-hero p.sub{font-size:1.05rem;color:#d7d4ef;margin-bottom:24px}
.svc-hero .media-placeholder{border-color:rgba(255,255,255,.25);background-color:rgba(255,255,255,.05);color:rgba(255,255,255,.4);background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px)}
.svc-hero .breadcrumb{font-size:.84rem;color:rgba(255,255,255,.6);margin-bottom:16px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.svc-hero .breadcrumb a{color:rgba(255,255,255,.6)}
.svc-hero .breadcrumb a:hover{color:#fff}
.svc-hero .breadcrumb .sep{color:rgba(255,255,255,.35)}
.svc-hero .breadcrumb [aria-current="page"]{color:#fff;font-weight:500}

/* ── Service page two-column split ───────────────────────── */
.svc-split{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center}
.svc-text{display:flex;flex-direction:column;gap:16px}
.svc-text h2{font-size:2rem;font-weight:700;color:var(--ink)}
.svc-text p{color:var(--muted);font-size:1.02rem}

/* ── Inspection checklist ────────────────────────────────── */
.incl-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px}
.incl-col-head{display:flex;align-items:center;gap:14px;padding-bottom:16px;margin-bottom:8px;border-bottom:2px solid var(--navy)}
.incl-col-head h3{font-family:"Archivo",sans-serif;font-weight:700;font-size:1.12rem;color:var(--navy)}
.incl-item{display:flex;gap:12px;align-items:flex-start;padding:11px 0;border-bottom:1px solid var(--line)}
.incl-item:last-child{border-bottom:0}
.incl-item-text strong{font-family:"Archivo",sans-serif;font-weight:600;color:var(--navy);font-size:.93rem;display:block}
.incl-item-text span{font-size:.86rem;color:var(--muted);display:block;margin-top:2px;line-height:1.5}

/* ── Icon list ───────────────────────────────────────────── */
.icon-list{list-style:none;display:flex;flex-direction:column;gap:9px}
.icon-list li{display:flex;align-items:center;gap:12px;font-size:.97rem;color:var(--muted);line-height:1.5}

/* ── Stat band ───────────────────────────────────────────── */
.stat-band{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.stat-block{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:32px 20px;background:var(--paper)}
.stat-block .stat-num{font-family:"Archivo",sans-serif;font-weight:800;font-size:2.4rem;color:var(--navy);line-height:1;letter-spacing:-.02em}
.stat-block .stat-lab{font-family:"Archivo",sans-serif;font-weight:600;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);max-width:140px;line-height:1.45}
.stat-band.dark{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.12)}
.stat-band.dark .stat-block{background:rgba(255,255,255,.05)}
.stat-band.dark .stat-block .stat-num{color:#fff}
.stat-band.dark .stat-block .stat-lab{color:rgba(255,255,255,.65)}
.stat-band.dark .media-placeholder.ico-slot{border-color:rgba(255,255,255,.3);background-color:rgba(255,255,255,.08)}

/* ── Highlight callout ───────────────────────────────────── */
.highlight-callout{background:var(--navy);color:#fff;border-radius:14px;padding:32px 36px;display:flex;align-items:flex-start;gap:20px;position:relative;overflow:hidden}
.highlight-callout::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:36px 36px;pointer-events:none}
.highlight-callout .hc-content{position:relative;z-index:1;flex:1}
.highlight-callout p{font-family:"Archivo",sans-serif;font-weight:700;font-size:1.12rem;color:#fff;line-height:1.55;margin:0}
.highlight-callout .media-placeholder.ico-slot{flex:0 0 36px;width:36px;height:36px;min-width:36px;border-color:rgba(255,255,255,.3);background-color:rgba(255,255,255,.08);position:relative;z-index:1}
.highlight-callout.bordered{background:rgba(194,65,12,.06);border-left:4px solid var(--burnt);border-radius:0 10px 10px 0;padding-left:28px}
.highlight-callout.bordered::before{display:none}
.highlight-callout.bordered p{color:var(--navy)}
.highlight-callout.bordered .media-placeholder.ico-slot{border-color:rgba(194,65,12,.4);background-color:rgba(194,65,12,.07)}

/* ── Pull quote ──────────────────────────────────────────── */
.pull-quote{max-width:780px;margin:0 auto;text-align:center}
.pull-quote .quote-mark{width:56px;height:56px;background-image:none;border-width:1.5px;border-radius:10px;margin:0 auto 20px;font-size:.5rem;letter-spacing:0;padding:4px;line-height:1}
.pull-quote blockquote{font-family:"Archivo",sans-serif;font-weight:700;font-size:1.42rem;color:var(--navy);line-height:1.45;letter-spacing:-.01em;margin:0 0 20px}
.pull-quote .attribution{font-family:"IBM Plex Sans",sans-serif;font-size:.9rem;color:var(--muted);font-weight:500}
.pull-quote .attribution strong{color:var(--navy);font-weight:600;display:block;margin-bottom:2px}
.pull-quote .attribution .attr-src{display:inline-flex;align-items:center;gap:6px}

/* ── Service page: comp-faithful, scoped under .service-page ── */
.service-page{--orange-soft:#ff8a4c}

/* sp-hero */
.service-page .sp-hero{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.service-page .sp-hero::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:38px 38px;pointer-events:none}
.service-page .sp-hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:46px;align-items:center;padding:64px 24px 80px}
.service-page .sp-crumb{font-family:"Archivo",sans-serif;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#9a9cff;margin-bottom:20px}
.service-page .sp-hero h1{color:#fff;font-size:clamp(34px,5vw,58px);font-weight:800;line-height:1.05;letter-spacing:-.015em;margin:0}
.service-page .sp-hero-lead{font-size:19px;color:#c9caff;margin:20px 0 30px;max-width:30em;line-height:1.5}
.service-page .sp-hero-ph{border:2px dashed rgba(255,255,255,.4);border-radius:14px;aspect-ratio:4/3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#aeb0ff;text-align:center;padding:24px}
.service-page .sp-hero-ph svg{width:44px;height:44px;opacity:.75}
.service-page .sp-hero-ph span{font-family:"Archivo",sans-serif;font-size:12px;letter-spacing:.1em;text-transform:uppercase}

/* sp-stats */
.service-page .sp-stats{padding:0 0 60px}
.service-page .sp-inner{margin-top:-44px;position:relative;z-index:3;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 60px -28px rgba(14,0,89,.4);display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden}
.service-page .sp-stat{padding:34px 26px;text-align:center;border-right:1px solid var(--line)}
.service-page .sp-stat:last-child{border-right:0}
.service-page .sp-stat-ico{width:54px;height:54px;border-radius:14px;background:rgba(194,65,12,.1);color:var(--burnt);display:flex;align-items:center;justify-content:center;margin:0 auto 16px}
.service-page .sp-stat-ico svg{width:28px;height:28px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.service-page .sp-stat-ico.filled svg{fill:currentColor;stroke:none}
.service-page .sp-num{font-family:"Archivo",sans-serif;font-weight:800;font-size:clamp(40px,5vw,60px);color:var(--navy);line-height:1}
.service-page .sp-stat-lab{font-family:"Archivo",sans-serif;font-weight:600;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:10px}

/* sp-know */
.service-page .sp-know{padding:84px 0 70px}
.service-page .sp-know-top{display:grid;grid-template-columns:1.1fr .9fr;gap:54px;align-items:start}
.service-page .sp-know-lead{font-size:22px;line-height:1.45;color:var(--navy);font-weight:500;margin-top:18px;max-width:30em}
.service-page .sp-know-ph{border:2px dashed #c3cae3;border-radius:14px;aspect-ratio:4/5;min-height:380px;position:sticky;top:88px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#8a93b8;text-align:center;padding:24px;background-color:var(--mist);background-image:linear-gradient(rgba(70,90,150,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(70,90,150,.05) 1px,transparent 1px);background-size:30px 30px}
.service-page .sp-know-ph svg{width:44px;height:44px;opacity:.75}
.service-page .sp-know-ph span{font-family:"Archivo",sans-serif;font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.service-page .sp-hide-title{font-family:"Archivo",sans-serif;font-weight:800;font-size:15px;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);margin:38px 0 20px;display:flex;align-items:center;gap:12px}
.service-page .sp-hide-title::before{content:"";width:30px;height:3px;background:var(--burnt);border-radius:2px;flex-shrink:0}
.service-page .sp-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.service-page .sp-card{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;transition:transform .16s,box-shadow .16s,border-color .16s}
.service-page .sp-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px -22px rgba(14,0,89,.45);border-color:#c9cfe6}
.service-page .sp-card-ico{flex:0 0 auto;width:48px;height:48px;border-radius:12px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center}
.service-page .sp-card-ico svg{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.service-page .sp-card h4{font-family:"Archivo",sans-serif;font-weight:700;font-size:16px;color:var(--navy);margin-bottom:4px;line-height:1.2}
.service-page .sp-card p{font-size:14.5px;color:var(--muted);line-height:1.45}
.service-page .sp-closing{font-size:17px;color:var(--muted);margin-top:30px;max-width:54em;line-height:1.55}
.service-page .sp-closing b{color:var(--navy)}

/* sp-callout */
.service-page .sp-callout{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.service-page .sp-callout::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:38px 38px;pointer-events:none}
.service-page .sp-callout-inner{position:relative;z-index:1;padding:54px 24px;text-align:center;max-width:62em;margin:0 auto}
.service-page .sp-callout-inner p{font-family:"Archivo",sans-serif;font-weight:600;font-size:clamp(20px,2.6vw,30px);line-height:1.34;color:#fff}
.service-page .sp-callout-inner .sp-pop{color:var(--orange-soft,#ff8a4c);font-weight:800}

/* sp-incl */
.service-page .sp-incl{padding:84px 0}
.service-page .sp-sec-head{text-align:center;max-width:46em;margin:0 auto 46px}
.service-page .sp-sec-head .lab{margin-bottom:12px}
.service-page .sp-sec-head h2{font-size:clamp(30px,4.6vw,50px);font-weight:800;color:var(--navy);line-height:1.05;letter-spacing:-.015em;margin-top:8px}
.service-page .sp-sec-head p{font-size:18px;color:var(--muted);margin-top:14px;line-height:1.5}
.service-page .sp-panels{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.service-page .sp-panel{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 18px 44px -30px rgba(14,0,89,.35)}
.service-page .sp-panel-head{display:flex;align-items:center;gap:14px;padding:22px 24px;color:#fff}
.service-page .sp-panel-head.ext{background:var(--burnt)}
.service-page .sp-panel-head.intr{background:var(--navy)}
.service-page .sp-ph-ico{width:42px;height:42px;border-radius:10px;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center}
.service-page .sp-ph-ico svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.service-page .sp-panel-head h3{color:#fff;font-size:20px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;line-height:1}
.service-page .sp-rows{padding:10px 24px 24px}
.service-page .sp-row{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--line)}
.service-page .sp-row:last-child{border-bottom:0}
.service-page .sp-ri{flex:0 0 auto;width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center}
.service-page .sp-ri svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.service-page .sp-panel.ext .sp-ri{background:rgba(194,65,12,.12);color:var(--burnt)}
.service-page .sp-panel.intr .sp-ri{background:rgba(14,0,89,.09);color:var(--navy)}
.service-page .sp-row b{font-family:"Archivo",sans-serif;font-weight:700;font-size:15px;color:var(--navy);display:block;line-height:1.2}
.service-page .sp-row em{font-style:normal;font-size:13.5px;color:var(--muted)}

/* sp-quote */
.service-page .sp-quote{padding:80px 0}
.service-page .sp-quote .wrap{max-width:920px;margin:0 auto;text-align:center}
.service-page .sp-qmark{font-family:"Archivo",sans-serif;font-weight:900;font-size:120px;line-height:.6;color:var(--burnt);height:60px}
.service-page .sp-stars{display:flex;gap:6px;justify-content:center;margin:8px 0 22px;color:#f5a623}
.service-page .sp-stars svg{width:24px;height:24px;fill:currentColor}
.service-page .sp-quote blockquote{font-family:"Archivo",sans-serif;font-weight:600;font-size:clamp(22px,3vw,33px);line-height:1.34;color:var(--navy)}
.service-page .sp-quote blockquote .sp-pop{color:var(--burnt);font-weight:800}
.service-page .sp-byline{margin-top:24px;font-family:"Archivo",sans-serif;font-weight:700;font-size:15px;letter-spacing:.04em;color:var(--navy)}
.service-page .sp-byline span{display:flex;align-items:center;justify-content:center;gap:6px;font-family:"IBM Plex Sans",sans-serif;font-weight:500;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:4px}

/* sp-receive */
.service-page .sp-receive{padding:84px 0}
.service-page .sp-rcards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.service-page .sp-rc{background:#fff;border:1px solid var(--line);border-top:4px solid var(--navy);border-radius:14px;padding:26px 22px;transition:transform .16s,box-shadow .16s}
.service-page .sp-rc:hover{transform:translateY(-4px);box-shadow:0 20px 40px -26px rgba(14,0,89,.45)}
.service-page .sp-rc:nth-child(1){border-top-color:var(--burnt)}
.service-page .sp-rc:nth-child(2){border-top-color:var(--navy)}
.service-page .sp-rc:nth-child(3){border-top-color:var(--green)}
.service-page .sp-rc:nth-child(4){border-top-color:var(--burnt)}
.service-page .sp-rc-ico{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:16px;color:#fff}
.service-page .sp-rc:nth-child(1) .sp-rc-ico{background:var(--burnt)}
.service-page .sp-rc:nth-child(2) .sp-rc-ico{background:var(--navy)}
.service-page .sp-rc:nth-child(3) .sp-rc-ico{background:var(--green)}
.service-page .sp-rc:nth-child(4) .sp-rc-ico{background:var(--burnt)}
.service-page .sp-rc-ico svg{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.service-page .sp-rc h4{font-family:"Archivo",sans-serif;font-weight:700;font-size:17px;color:var(--navy);margin-bottom:8px;line-height:1.2}
.service-page .sp-rc p{font-size:14px;color:var(--muted);line-height:1.5}

/* sp-faq */
.service-page .sp-faq{padding:84px 0}
.service-page .sp-faq-list{max-width:820px;margin:0 auto}
.service-page .sp-faq details{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:12px;overflow:hidden}
.service-page .sp-faq details[open]{border-color:#c4cbe6;box-shadow:0 12px 30px -22px rgba(14,0,89,.4)}
.service-page .sp-faq summary{list-style:none;cursor:pointer;padding:20px 24px;display:flex;justify-content:space-between;align-items:center;gap:16px;font-family:"Archivo",sans-serif;font-weight:700;font-size:17px;color:var(--navy)}
.service-page .sp-faq summary::-webkit-details-marker{display:none}
.service-page .sp-chev{flex:0 0 auto;width:28px;height:28px;border-radius:50%;background:rgba(194,65,12,.12);color:var(--burnt);display:flex;align-items:center;justify-content:center;transition:transform .2s}
.service-page .sp-faq details[open] .sp-chev{transform:rotate(45deg)}
.service-page .sp-chev svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round}
.service-page .sp-faq details p{padding:0 24px 22px;color:var(--muted);font-size:15.5px;line-height:1.6;margin:0}

/* sp-edu — "What Is Mold" educational section */
.service-page .sp-edu{padding:84px 0}
.service-page .sp-edu-intro{max-width:50em;margin:0 auto 44px;text-align:center}
.service-page .sp-edu-intro h2{font-size:clamp(30px,4.6vw,50px);font-weight:800;line-height:1.05;letter-spacing:-.015em;margin-top:8px}
.service-page .sp-edu-intro p{font-size:18px;color:var(--muted);margin-top:14px;line-height:1.5}
.service-page .sp-needs{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:960px;margin:0 auto}
.service-page .sp-need{background:#fff;border:1px solid var(--line);border-top:4px solid var(--navy);border-radius:16px;padding:32px 26px;text-align:center}
.service-page .sp-need:nth-child(1){border-top-color:var(--burnt)}
.service-page .sp-need:nth-child(2){border-top-color:var(--navy)}
.service-page .sp-need:nth-child(3){border-top-color:var(--green)}
.service-page .sp-need-ico{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;color:#fff}
.service-page .sp-need:nth-child(1) .sp-need-ico{background:var(--burnt)}
.service-page .sp-need:nth-child(2) .sp-need-ico{background:var(--navy)}
.service-page .sp-need:nth-child(3) .sp-need-ico{background:var(--green)}
.service-page .sp-need-ico svg{width:30px;height:30px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.service-page .sp-need h4{font-family:"Archivo",sans-serif;font-weight:800;font-size:19px;color:var(--navy);margin-bottom:8px;line-height:1.1}
.service-page .sp-need p{font-size:14.5px;color:var(--muted);line-height:1.45}
.service-page .sp-edu-why{max-width:54em;margin:40px auto 0;text-align:center;font-size:17px;color:var(--muted);line-height:1.55}
.service-page .sp-edu-why b{color:var(--navy)}

/* ── Builder page: hero tagline, hero CTA row, email link, final-CTA consult ── */
.service-page .sp-hero-tagline{font-family:"Archivo",sans-serif;font-weight:700;font-size:1.15rem;color:#fff;margin:12px 0 14px}
.service-page .sp-hero-tagline span{color:var(--orange-soft)}
.service-page .sp-hero-cta{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center}
.service-page .sp-hero-email{font-family:"Archivo",sans-serif;font-weight:600;font-size:.92rem;color:#cdd4e6}
.service-page .sp-hero-email:hover{color:#fff}
.service-page .sp-consult{margin-top:18px;font-family:"Archivo",sans-serif;font-weight:700;color:#fff;font-size:1.05rem;line-height:1.8}
.service-page .sp-consult a{color:#fff}
.service-page .sp-consult span{color:var(--orange-soft)}

/* Responsive — service-page only */
@media(max-width:860px){
  .service-page .sp-hero .wrap{grid-template-columns:1fr;gap:32px;padding:48px 24px 64px}
  .service-page .sp-inner{grid-template-columns:1fr 1fr}
  .service-page .sp-stat{border-bottom:1px solid var(--line)}
  .service-page .sp-stat:nth-child(2){border-right:0}
  .service-page .sp-stat:nth-child(3),.service-page .sp-stat:nth-child(4){border-bottom:0}
  .service-page .sp-know-top{grid-template-columns:1fr;gap:34px}
  .service-page .sp-know-ph{position:static;aspect-ratio:16/10;min-height:0}
  .service-page .sp-cards{grid-template-columns:1fr}
  .service-page .sp-needs{grid-template-columns:1fr}
  .service-page .sp-panels{grid-template-columns:1fr}
  .service-page .sp-rcards{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .service-page .sp-rcards{grid-template-columns:1fr}
  .service-page .sp-quote blockquote{font-size:clamp(18px,5vw,22px)}
  .service-page .sp-num{font-size:clamp(32px,8vw,48px)}
}

/* ── Final CTA ───────────────────────────────────────────── */
.final{background:var(--navy);padding:80px 0 64px;position:relative;overflow:hidden}
.final::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(ellipse 70% 90% at 50% 50%,#000,transparent)}
.final .wrap{position:relative}
.cta-card{background:#fff;border-radius:16px;padding:52px 48px;max-width:720px;margin:0 auto;box-shadow:0 24px 60px -20px rgba(14,0,89,.55);text-align:center}
.cta-card h2{font-size:2.2rem;font-weight:800;color:var(--navy);margin-bottom:12px}
.cta-card p{color:var(--muted);font-size:1.05rem;margin-bottom:28px}
.cta-card .lab{color:var(--burnt);margin-bottom:8px}
.cta-card .cta-row{display:flex;gap:20px;justify-content:center;align-items:center;flex-wrap:wrap}
.cta-card .phone-link{color:var(--navy)}
.cta-card .phone-link:hover{color:var(--burnt)}

/* ── Footer ──────────────────────────────────────────────── */
footer{background:var(--navy-dk);color:#cdc9ec;padding:50px 0 30px;font-size:.92rem}
footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:34px;margin-bottom:30px}
footer img.flogo{height:54px;margin-bottom:16px;display:block}
footer h4{font-family:"Archivo";font-weight:600;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:#fff;margin-bottom:14px}
footer a{color:#cdc9ec;display:block;margin-bottom:8px}
footer a:hover{color:#fff}
/* NOTE: #C2410C on navy-dk — if contrast is insufficient, lighten back to #f0a472 */
footer .award-txt{font-family:"Archivo";font-weight:600;font-size:.74rem;letter-spacing:.06em;color:#C2410C;margin-top:8px}
footer .legal{border-top:1px solid rgba(255,255,255,.12);padding-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.82rem;color:#9a93d0}
footer .legal a{display:inline;margin-bottom:0;color:#9a93d0}
footer .legal a:hover{color:#fff}

/* ── Animations ──────────────────────────────────────────── */
.rise{opacity:0;transform:translateY(16px);animation:rise .7s ease forwards}
@keyframes rise{to{opacity:1;transform:none}}
.d1{animation-delay:.05s}.d2{animation-delay:.15s}.d3{animation-delay:.25s}.d4{animation-delay:.35s}

/* ── 900px breakpoint ────────────────────────────────────── */
@media(max-width:900px){
  .hero .wrap,.why-split,.bog .wrap,.howit2{grid-template-columns:1fr}
  .hero h1{font-size:2.3rem}
  .hero .wrap{padding-bottom:72px}
  .proof2{margin-top:24px}
  .bog .ribbon{margin-bottom:20px}
  .bog .ribbon img{max-height:340px}
  .grid4,.rev-grid,.gal,.city-grid{grid-template-columns:1fr 1fr}
  .svc-hero .wrap,.svc-split,.incl-grid{grid-template-columns:1fr}
  .svc-hero h1{font-size:2.1rem}
  .stat-band{grid-template-columns:1fr 1fr}
  .journey{margin-top:10px}
  .steps-col{order:-1}
  footer .cols{grid-template-columns:1fr 1fr}
  .creds .row{gap:24px}
  .creds .row img{height:60px}
}

/* ── Realtor partner intake form ─────────────────────────── */
.service-page .partner{background:linear-gradient(160deg,var(--navy),var(--navy-dk));color:#fff;position:relative;overflow:hidden}
.service-page .partner::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(ellipse 70% 90% at 50% 0%,#000,transparent 80%);pointer-events:none}
.service-page .partner .wrap{position:relative}
.partner-card{background:#fff;color:var(--ink);max-width:660px;margin:0 auto;border-radius:16px;padding:30px 24px;box-shadow:0 30px 70px rgba(9,0,56,.42);border:1px solid var(--line)}
@media(min-width:600px){.partner-card{padding:38px 36px}}
.pform{display:grid;gap:16px}
.pform .row{display:grid;gap:16px}
@media(min-width:540px){.pform .row{grid-template-columns:1fr 1fr}}
.pform label{display:block;font-family:"Archivo",sans-serif;font-weight:600;font-size:.82rem;color:var(--navy);margin-bottom:6px}
.pform label .req{color:var(--burnt)}
.pform input,.pform select,.pform textarea{width:100%;font-family:"IBM Plex Sans",sans-serif;font-size:.95rem;color:var(--ink);background:var(--mist);border:1px solid var(--line);border-radius:8px;padding:12px 14px;transition:border-color .15s,box-shadow .15s}
.pform input:focus,.pform select:focus,.pform textarea:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(14,0,89,.12)}
.pform textarea{resize:vertical;min-height:96px}
.pform .btn{width:100%;justify-content:center;margin-top:4px}
.pform .fineprint{font-size:.78rem;color:var(--muted);text-align:center;line-height:1.5;margin-top:2px}
.service-page .partner .talk{text-align:center;margin-top:24px;font-family:"Archivo",sans-serif;font-weight:600;color:#cdd4e6;font-size:.95rem}
.service-page .partner .talk a{color:#ff8a4c}
.form-success{display:none;text-align:center;padding:28px 20px}
.form-success .ok-ico{width:56px;height:56px;border-radius:50%;background:rgba(194,65,12,.12);display:flex;align-items:center;justify-content:center;margin:0 auto 16px}
.form-success .ok-ico svg{width:28px;height:28px;stroke:var(--burnt);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.form-success h3{font-family:"Archivo",sans-serif;font-weight:700;font-size:1.15rem;color:var(--navy);margin-bottom:8px}
.form-success p{font-size:.95rem;color:var(--muted)}
.form-error{display:none;background:#fff4f2;border:1px solid #fcc5bb;border-radius:8px;padding:14px 16px;font-size:.9rem;color:#7a2a1a;margin-top:8px}
.form-error a{color:var(--burnt);font-weight:600}

/* ── City directory — areas-we-serve hub (CSS exception #3) ─ */
.cities{background:#fff;position:relative}
.cities::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:30px 30px;opacity:.16}
.cities .wrap{position:relative}
.cgrid{display:grid;gap:16px;margin-top:34px}
@media(min-width:560px){.cgrid{grid-template-columns:1fr 1fr}}
@media(min-width:980px){.cgrid{grid-template-columns:repeat(4,1fr)}}
.ccard{display:flex;flex-direction:column;background:var(--mist);border:1px solid var(--line);border-radius:11px;padding:22px 20px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;color:var(--ink)}
.ccard:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(14,0,89,.10);border-color:#d6dcea}
.ccard .pin{width:38px;height:38px;border-radius:9px;background:rgba(194,65,12,.10);display:flex;align-items:center;justify-content:center;margin-bottom:13px}
.ccard .pin svg{width:21px;height:21px;stroke:var(--burnt);fill:none;stroke-width:1.8}
.ccard h3{font-size:1.08rem;color:var(--navy);font-weight:800;margin-bottom:2px}
.ccard .county{font-family:"Archivo",sans-serif;font-weight:600;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.ccard .county b{color:var(--burnt);font-weight:700}
.ccard p{font-size:.88rem;color:var(--muted);line-height:1.5;margin-bottom:14px}
.ccard .go{margin-top:auto;font-family:"Archivo",sans-serif;font-weight:700;font-size:.86rem;color:var(--burnt);display:inline-flex;align-items:center;gap:.35rem}
.ccard:hover .go{text-decoration:underline}


/* ── About + Contact additions ──────────────────────────────────────────── */
/* .icard — icon cards (about: How We Work; contact: reach methods) */
.icard{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px;box-shadow:0 6px 22px rgba(14,0,89,.06);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.icard:hover{transform:translateY(-3px);box-shadow:0 14px 36px rgba(14,0,89,.10);border-color:#d6dcea}
.icard .ico{width:40px;height:40px;border-radius:10px;background:rgba(194,65,12,.10);display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.icard .ico svg{width:22px;height:22px;stroke:var(--burnt);fill:none;stroke-width:1.8}
.icard h3{font-size:1rem;color:var(--navy);font-weight:700;margin-bottom:8px}
.icard p{font-size:.9rem;color:var(--muted);line-height:1.55}
.icard p a{color:var(--navy);font-weight:600}
.icard p a:hover{color:var(--burnt)}
/* contact page: center the reach-method card icons (these icards sit in
   .sp-inner; about-us's icards are in .how-grid, so they stay top-left) */
.sp-inner .icard .ico{margin-left:auto;margin-right:auto}
/* about — story */
.story{padding:72px 0}
.story-grid{display:grid;gap:48px;margin-top:36px}
@media(min-width:900px){.story-grid{grid-template-columns:1fr 1fr;align-items:start}}
.story-copy p{color:var(--muted);font-size:1rem;line-height:1.72;margin-bottom:18px}
.story-copy p:last-child{margin-bottom:0}
.story-aside img{width:100%;height:auto;border-radius:14px;display:block;box-shadow:0 18px 48px rgba(14,0,89,.10)}
/* about — how we work */
.how-work{padding:72px 0}
.how-grid{display:grid;gap:16px;margin-top:36px}
@media(min-width:560px){.how-grid{grid-template-columns:1fr 1fr}}
@media(min-width:900px){.how-grid{grid-template-columns:repeat(3,1fr)}}
/* about — team (CSS exception #2) */
.team{padding:72px 0}
.tgrid{display:grid;gap:22px;margin-top:40px}
@media(min-width:560px){.tgrid{grid-template-columns:1fr 1fr}}
@media(min-width:900px){.tgrid{grid-template-columns:repeat(4,1fr)}}
.tcard{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 10px 28px rgba(14,0,89,.06)}
.tcard img{width:100%;aspect-ratio:1;object-fit:cover;display:block}
.tbody{padding:20px}
.tcard h3{font-size:1rem;font-weight:800;color:var(--navy);margin-bottom:4px}
.trole{font-family:"Archivo",sans-serif;font-weight:600;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--burnt);margin-bottom:12px}
.tbody p{font-size:.86rem;color:var(--muted);line-height:1.55;margin-bottom:8px}
.tbody p:last-child{margin-bottom:0}
/* about — insurance edge (CSS exception #2) */
.edge{padding:72px 0;background:var(--navy);color:#fff}
.edge .lab{color:var(--orange-soft)}
.edge .sec-head h2{color:#fff}
.edge-panel{display:grid;gap:40px;margin-top:36px}
@media(min-width:900px){.edge-panel{grid-template-columns:1fr 1fr;align-items:start}}
.edge-panel h3{color:#fff;font-size:1.15rem;font-weight:800;margin-bottom:12px}
.edge-panel > div > p{color:#c9cfe6;font-size:.97rem;line-height:1.65}
.edge-panel ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px}
.edge-panel ul li{color:#c9cfe6;font-size:.93rem;padding-left:22px;position:relative;line-height:1.5}
.edge-panel ul li::before{content:"\203A";position:absolute;left:0;color:var(--orange-soft);font-weight:700;font-size:1.1rem}
/* contact — reach methods */
.reach{background:var(--mist);position:relative;padding-bottom:72px}
.reach::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:26px 26px;opacity:.22}
.reach .wrap{position:relative}
.cards4{display:grid;gap:16px;margin-top:-40px}
@media(min-width:560px){.cards4{grid-template-columns:1fr 1fr}}
@media(min-width:980px){.cards4{grid-template-columns:repeat(4,1fr);margin-top:-52px}}
/* contact — form + map grid */
.pform-sec{padding:72px 0}
.form-grid{display:grid;gap:36px;margin-top:40px}
@media(min-width:900px){.form-grid{grid-template-columns:1.05fr .95fr;gap:48px;align-items:start}}
.map-side h3{color:var(--navy);font-size:1.1rem;font-weight:800;margin-bottom:8px}
.map-side > p{color:var(--muted);font-size:.93rem;margin-bottom:18px}
/* contact — map embed + hours */
.map-embed{border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 14px 40px rgba(14,0,89,.09)}
.map-embed iframe{display:block;width:100%;height:380px;border:0}
.hours{margin-top:22px;background:var(--mist);border:1px solid var(--line);border-radius:12px;padding:20px}
.hours h4{color:var(--navy);font-size:.95rem;font-family:"Archivo",sans-serif;font-weight:700;margin-bottom:10px}
.hours table{width:100%;border-collapse:collapse;font-size:.9rem}
.hours td{padding:5px 0;color:var(--muted)}
.hours td:last-child{text-align:right;color:var(--ink);font-weight:500}
/* ── 560px breakpoint (mobile) ───────────────────────────── */
@media(max-width:560px){
  .nav-toggle{display:flex}
  .navlinks{display:none;flex-direction:column;width:100%;padding:10px 0 16px;gap:0;border-top:1px solid var(--line)}
  .navlinks.is-open{display:flex}
  .navlinks > a{display:block;padding:11px 0;border-bottom:1px solid var(--line)}
  .navlinks .drop{display:block;width:100%}
  .dropbtn{width:100%;padding:11px 0;border-bottom:1px solid var(--line);text-align:left;justify-content:space-between}
  .dropmenu{position:static;transform:none;box-shadow:none;border:0;border-left:3px solid var(--line);border-radius:0;background:#fff;padding:4px 0;min-width:0}
  .dropmenu a{padding:9px 16px;white-space:normal;font-size:.88rem;border-bottom:none;margin-bottom:0}
  nav.main .wrap{flex-wrap:wrap;height:auto;padding:14px 24px}
  .brand img{height:40px}
  .grid4,.rev-grid{grid-template-columns:1fr}
  .svc-hero h1{font-size:1.9rem}
  .svc-hero .wrap{padding:36px 24px 48px}
  .pull-quote blockquote{font-size:1.2rem}
  .hero h1{font-size:2rem}
  .gal{grid-template-columns:1fr 1fr}
  footer .cols{grid-template-columns:1fr}
  footer .legal{flex-direction:column;gap:6px}
  .cta-card{padding:32px 24px}
}

/* ============================================================
   EDUCATION HUB + ARTICLES
   .tag and .media-placeholder are scoped by context on purpose.
   ============================================================ */
.crumb{font-size:.82rem; color:rgba(255,255,255,.6); margin-bottom:18px}
.crumb a{color:rgba(255,255,255,.78); text-decoration:none}
.crumb a:hover{color:#fff}
/* article body */
.article{padding:52px 0 10px}
.abody{max-width:720px; margin:0 auto; padding:0 22px}
.lede{font-size:1.18rem; color:#33334a; line-height:1.6}
.abody h2{font-size:1.55rem; font-weight:800; margin:42px 0 14px}
.abody h3{font-size:1.16rem; font-weight:700; margin:26px 0 8px}
.abody p{margin:0 0 16px; font-size:1.06rem}
.abody ul{margin:0 0 18px; padding-left:22px}
.abody li{margin:0 0 8px; font-size:1.05rem}
.abody a{color:var(--burnt); font-weight:600; text-decoration:underline; text-underline-offset:2px}
/* cost callout */
.cost{display:flex; gap:14px; align-items:flex-start; background:#fdf3ec; border:1px solid #f3d6c4; border-left:4px solid var(--burnt); border-radius:10px; padding:14px 18px; margin:8px 0 22px}
.cost .k{font-family:"Archivo",sans-serif; font-weight:800; font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; color:var(--burnt); white-space:nowrap; padding-top:3px}
.cost .v{font-size:1rem}
.cost .v b{font-family:"Archivo",sans-serif; color:var(--navy)}
.flag{background:#fff4d6; border:1px solid #e8d27a; color:#7a5b00; font-size:.92rem; padding:2px 6px; border-radius:5px}
/* in-article testimonial */
.pull{background:var(--mist); border:1px solid var(--line); border-radius:14px; padding:26px 28px; margin:30px auto; max-width:720px}
.pull blockquote{margin:0 0 14px; font-size:1.12rem; line-height:1.55; color:#2a2a40; font-weight:500}
.pull .who{font-family:"Archivo",sans-serif; font-weight:700; font-size:.9rem; color:var(--navy)}
.pull .stars{color:#f5a623; letter-spacing:2px; margin-bottom:10px}
/* end CTA band */
.acta{background:var(--navy-dk); color:#fff; margin-top:44px; padding:54px 0; position:relative; overflow:hidden}
.acta::before{content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px); background-size:26px 26px}
.acta .wrap{position:relative; text-align:center; max-width:680px}
.acta h2{color:#fff; font-size:clamp(1.5rem,3vw,2.1rem); font-weight:800; margin:0}
.acta p{color:rgba(255,255,255,.8); margin:12px auto 22px; font-size:1.05rem}
/* back-to-hub link */
.aback{max-width:720px; margin:30px auto 0; padding:0 22px}
.aback a{display:inline-flex; align-items:center; gap:8px; font-family:"Archivo",sans-serif; font-weight:700; font-size:.95rem; color:var(--burnt); text-decoration:none; border:1.5px solid var(--line); border-radius:10px; padding:11px 18px; transition:.15s}
.aback a:hover{border-color:var(--burnt); background:#fdeee6}
/* hub: category filter */
.edu-filter{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:34px}
.chip{font-family:"Archivo",sans-serif; font-weight:600; font-size:.9rem; padding:9px 17px; border-radius:999px; border:1.5px solid var(--line); background:#fff; color:var(--navy); cursor:pointer; transition:all .14s ease}
.chip:hover{border-color:var(--burnt); color:var(--burnt)}
.chip[aria-pressed="true"]{background:var(--navy); border-color:var(--navy); color:#fff}
.chip .ct{opacity:.55; font-weight:500; margin-left:5px}
/* hub: article cards */
.agrid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px}
@media(max-width:900px){.agrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.agrid{grid-template-columns:1fr}}
.acard{display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:14px; overflow:hidden; text-decoration:none; color:inherit; transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease}
.acard:hover{transform:translateY(-3px); box-shadow:0 14px 34px rgba(14,0,89,.10); border-color:transparent}
.acard:focus-visible{outline:3px solid var(--burnt); outline-offset:2px}
.acard .thumb{aspect-ratio:16/10; background:linear-gradient(135deg,#dfe5f3,#eef1f8); position:relative; display:flex; align-items:center; justify-content:center}
.acard .media-placeholder{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:var(--navy); opacity:.4; font-family:"Archivo",sans-serif; font-weight:700; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; text-align:center; padding:0 12px}
.acard .body{padding:20px 20px 22px; display:flex; flex-direction:column; flex:1}
.acard .tag{align-self:flex-start; font-family:"Archivo",sans-serif; font-weight:700; font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; color:var(--burnt); background:#fdeee6; padding:5px 10px; border-radius:6px; margin-bottom:12px}
.acard h3{font-size:1.16rem; font-weight:700; line-height:1.22}
.acard p{color:var(--muted); font-size:.95rem; margin:10px 0 0}
.acard .meta{margin-top:auto; padding-top:16px; font-size:.8rem; color:#8a8aa0}
.acard .more{font-family:"Archivo",sans-serif; font-weight:700; font-size:.9rem; color:var(--navy); margin-top:14px}
.acard:hover .more{color:var(--burnt)}
.is-hidden{display:none !important}
/* hub: watch cross-link */
.watch{background:#fff; border:1px dashed var(--line); border-radius:14px; padding:26px 28px; margin-top:46px; display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap}
.watch h3{font-size:1.2rem}
.watch p{color:var(--muted); margin:6px 0 0; font-size:.96rem}

/* ============================================================ VIDEO LIBRARY ============================================================ */
.vfilter{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:30px}
.vgroup{margin:0 0 14px}
.vgroup h2{font-size:1.4rem; font-weight:800}
.vgroup p{color:var(--muted); margin:4px 0 0; font-size:.98rem}
.vsec{margin-bottom:48px}
.vgrid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px}
@media(max-width:900px){.vgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.vgrid{grid-template-columns:1fr}}
.vcard{display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:14px; overflow:hidden}
.vthumb{aspect-ratio:16/9; position:relative; background:linear-gradient(135deg,#dfe5f3,#eef1f8); background-size:cover; background-position:center; cursor:pointer}
.vthumb::after{content:""; position:absolute; inset:0; background:rgba(14,0,89,.12); transition:.15s}
.vthumb:hover::after{background:rgba(14,0,89,.02)}
.vplay{position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:58px; height:58px; border-radius:50%; background:var(--navy); display:flex; align-items:center; justify-content:center; z-index:2; transition:.15s; box-shadow:0 6px 20px rgba(14,0,89,.35)}
.vthumb:hover .vplay{background:var(--burnt); transform:translate(-50%,-50%) scale(1.06)}
.vplay svg{width:22px; height:22px; margin-left:3px; fill:#fff}
.vframe{aspect-ratio:16/9; width:100%; border:0; display:block}
.vcard .body{padding:16px 18px 18px; display:flex; flex-direction:column; flex:1}
.vtag{align-self:flex-start; font-family:"Archivo",sans-serif; font-weight:700; font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; color:var(--burnt); background:#fdeee6; padding:4px 9px; border-radius:6px; margin-bottom:10px}
.vcard h3{font-size:1.04rem; font-weight:700; line-height:1.25}
.vcard .meta{margin-top:auto; padding-top:12px; font-size:.8rem; color:#8a8aa0}
.vmore{display:inline-flex; align-items:center; gap:8px; font-family:"Archivo",sans-serif; font-weight:700; font-size:.95rem; color:var(--burnt); text-decoration:none; border:1.5px solid var(--line); border-radius:10px; padding:11px 18px; transition:.15s}
.vmore:hover{border-color:var(--burnt); background:#fdeee6}

/* ============================================================
   REVIEWS PAGE — new components (appended). Uses live vars +
   literals; no green. Does not modify any existing rule.
   var(--font-head) not in production :root — replaced with "Archivo",sans-serif.
   .callout and section padding added (not in existing library).
   ============================================================ */
/* Reviews: float the rating badges over the hero seam */
.reviews-page .hero .wrap{padding-bottom:100px}
@media(max-width:679px){.reviews-page .hero .wrap{padding-bottom:84px}}
.reviews-page .rbadges-band{background:transparent;padding-top:0}
.reviews-page .rbadges{margin-top:-56px;position:relative;z-index:3}
@media(max-width:679px){.reviews-page .rbadges{margin-top:-44px}}
/* Reviews hero: branded "by the numbers" card */
.hero-stats{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 60px rgba(9,0,56,.28);padding:24px 26px}
.hero-stats .hs-rating{text-align:center;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--line)}
.hero-stats .hs-big{font-family:"Archivo",sans-serif;font-weight:800;font-size:3rem;color:var(--navy);line-height:1;letter-spacing:-.02em}
.hero-stats .hs-big span{color:var(--burnt);font-size:1.6rem;vertical-align:middle}
.hero-stats .hs-stars{color:var(--burnt);letter-spacing:4px;font-size:1rem;margin:8px 0 4px}
.hero-stats .hs-sub{color:var(--muted);font-size:.85rem}
.hero-stats .hs-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.hero-stats .hs-list li{display:flex;flex-direction:column;gap:1px;padding-left:16px;position:relative}
.hero-stats .hs-list li::before{content:"";position:absolute;left:0;top:7px;width:7px;height:7px;border-radius:50%;background:var(--burnt)}
.hero-stats .hs-list strong{font-family:"Archivo",sans-serif;font-weight:700;font-size:1.02rem;color:var(--navy)}
.hero-stats .hs-list span{font-size:.82rem;color:var(--muted)}
.rbadges-band{background:var(--paper);position:relative;padding:0 0 52px}
.rbadges-band::before{content:"";position:absolute;inset:0;
  background-image:linear-gradient(#c2cde0 1px,transparent 1px),linear-gradient(90deg,#c2cde0 1px,transparent 1px);
  background-size:26px 26px;opacity:.28}
.rbadges{position:relative;display:grid;gap:18px;margin-top:-46px}
@media(min-width:680px){.rbadges{grid-template-columns:1fr 1fr;margin-top:-58px}}
.rbadge{background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 24px 60px rgba(14,0,89,.16);
  padding:24px;display:flex;align-items:center;gap:18px;text-decoration:none;color:inherit}
.rbadge .rlogo{width:54px;height:54px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;
  font-family:"Archivo",sans-serif;font-weight:800;font-size:1.6rem;color:#fff}
.rbadge .rlogo.g{background:#4285F4}
.rbadge .rlogo.y{background:#d32323}
.rbadge .rmeta{flex:1;min-width:0}
.rbadge .rname{font-family:"Archivo",sans-serif;font-weight:700;font-size:.9rem;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}
.rbadge .rnum{font-family:"Archivo",sans-serif;font-weight:800;font-size:1.7rem;color:var(--navy);letter-spacing:-.02em;display:flex;align-items:baseline;gap:9px;margin-top:2px}
.rbadge .rnum .rstars{font-size:1rem;color:var(--burnt);letter-spacing:2px;font-weight:400}
.rbadge .rcount{font-size:.85rem;color:var(--muted);margin-top:1px}
.rbadge .rlink{font-family:"Archivo",sans-serif;font-weight:700;font-size:.82rem;color:var(--burnt);display:inline-flex;align-items:center;gap:5px;margin-top:9px}
.rbadge .rlink svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2}
.rbadge .rlink:hover{color:var(--navy)}
.reviews{background:#fff;position:relative;padding:60px 0}
.reviews::before{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(#c2cde0 1px,transparent 1px),linear-gradient(90deg,#c2cde0 1px,transparent 1px);
  background-size:30px 30px;opacity:.16}
.reviews .wrap{position:relative}
.rgrid{display:grid;gap:18px;margin-top:34px}
@media(min-width:620px){.rgrid{grid-template-columns:1fr 1fr}}
@media(min-width:980px){.rgrid{grid-template-columns:repeat(3,1fr)}}
.rcard{background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:22px;display:flex;flex-direction:column;gap:12px;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.rcard:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(14,0,89,.10);border-color:#d6dcea}
.rcard .rtop{display:flex;align-items:center;justify-content:space-between;gap:10px}
.rcard .stars{color:var(--burnt);letter-spacing:3px;font-size:.95rem}
.rcard .rplat{font-family:"Archivo",sans-serif;font-weight:700;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.rcard blockquote{font-size:.95rem;color:var(--ink);line-height:1.55;flex:1}
.rcard blockquote em{font-style:normal;color:var(--burnt);font-weight:600}
.rcard .rtag{align-self:flex-start;font-family:"Archivo",sans-serif;font-weight:700;font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--burnt);background:rgba(194,65,12,.10);border-radius:999px;padding:4px 11px}
.rcard .rfoot{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:12px;margin-top:auto}
.rcard .rwho{font-family:"Archivo",sans-serif;font-weight:700;font-size:.9rem;color:var(--navy)}
.rcard .rdate{font-size:.78rem;color:var(--muted)}
.rallrow{position:relative;text-align:center;margin-top:34px;font-size:.95rem;color:var(--muted)}
.rallrow a{font-family:"Archivo",sans-serif;font-weight:700;color:var(--burnt)}
.rallrow a:hover{color:var(--navy)}
.callout{background:var(--navy);color:#fff;position:relative;overflow:hidden;padding:54px 0}
.callout::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:42px 42px}
.callout .wrap{position:relative;text-align:center;max-width:54ch}
.callout p{font-family:"Archivo",sans-serif;font-weight:600;font-size:1.3rem;line-height:1.45;letter-spacing:-.01em}
@media(min-width:600px){.callout p{font-size:1.6rem}}
.callout em{font-style:normal;color:#ff8a4c}
/* Footer: full-width Areas We Serve band below the main columns */
.footer-areas{margin-top:34px;padding-top:26px;border-top:1px solid rgba(255,255,255,.10)}
.footer-areas-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:10px 22px;margin-top:14px}
/* ============================================================
   CASE STUDIES (hub: .case-hub / spokes: .case-page)
   Added 2026-06-16.
   Hub wrapper:   <div class="case-hub">
   Spoke wrapper: <div class="case-page">
   ============================================================ */

/* ── shared: at-a-glance statcard ── */
.case-hub .statcard,.case-page .statcard{background:#fff;border-radius:14px;box-shadow:0 24px 60px rgba(14,0,89,.16);border:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:0;overflow:hidden;position:relative;margin-top:-60px}
@media(min-width:760px){.case-hub .statcard,.case-page .statcard{grid-template-columns:repeat(4,1fr);margin-top:-78px}}
.case-hub .stat,.case-page .stat{padding:22px 18px;text-align:center;position:relative}
.case-hub .stat+.stat::before,.case-page .stat+.stat::before{content:"";position:absolute;left:0;top:18%;bottom:18%;width:1px;background:linear-gradient(180deg,transparent,var(--line),transparent)}
.case-hub .stat:nth-child(3)::before,.case-page .stat:nth-child(3)::before{display:none}
@media(min-width:760px){.case-hub .stat:nth-child(3)::before,.case-page .stat:nth-child(3)::before{display:block}}
.case-hub .stat .num,.case-page .stat .num{font-family:"Archivo",sans-serif;font-weight:800;color:var(--navy);font-size:1.5rem;letter-spacing:-.02em}
.case-hub .stat .num.hot,.case-page .stat .num.hot{color:var(--burnt)}
.case-hub .stat .cap,.case-page .stat .cap{font-size:.8rem;color:var(--muted);margin-top:6px;line-height:1.4}

/* ── shared: final cta ── */
.case-hub .finalcta,.case-page .finalcta{background:linear-gradient(160deg,var(--navy),var(--navy-dk));color:#fff;text-align:center;position:relative;overflow:hidden}
.case-hub .finalcta::before,.case-page .finalcta::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(ellipse 70% 90% at 50% 0%,#000,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 70% 90% at 50% 0%,#000,transparent 75%)}
.case-hub .finalcta .wrap,.case-page .finalcta .wrap{position:relative;max-width:54ch}
.case-hub .finalcta h2,.case-page .finalcta h2{font-size:1.8rem;font-weight:800;margin-bottom:14px}
@media(min-width:600px){.case-hub .finalcta h2,.case-page .finalcta h2{font-size:2.3rem}}
.case-hub .finalcta p,.case-page .finalcta p{color:#cdd4e6;margin-bottom:28px;font-size:1.05rem}
.case-hub .finalcta .ph,.case-page .finalcta .ph{margin-top:18px;font-family:"Archivo",sans-serif;font-weight:700;color:#fff;font-size:1.05rem}
.case-hub .finalcta .ph a,.case-page .finalcta .ph a{color:#fff}
.case-hub .finalcta .ph span,.case-page .finalcta .ph span{color:#ff8a4c}

.case-hub .label{font-family:"Archivo",sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--burnt)}

/* ── hub: scaffold ── */
.case-hub section{padding:58px 0}
@media(min-width:900px){.case-hub section{padding:78px 0}}
.case-hub .statband{padding:0}
.case-hub .sec-head{max-width:60ch;text-align:center;margin:0 auto}
.case-hub .sec-head h2{font-size:1.7rem;font-weight:800;color:var(--navy);margin:12px 0 12px}
@media(min-width:600px){.case-hub .sec-head h2{font-size:2.1rem}}
.case-hub .sec-head p{color:var(--muted);font-size:1.02rem}

/* ── hub: case cards ── */
.case-hub .cases{background:var(--paper);position:relative}
.case-hub .cases::before{content:"";position:absolute;inset:0;background-image:linear-gradient(#c2cde0 1px,transparent 1px),linear-gradient(90deg,#c2cde0 1px,transparent 1px);background-size:26px 26px;opacity:.22;pointer-events:none}
.case-hub .cases .wrap{position:relative}
.case-hub .cgrid{display:grid;gap:24px;margin-top:42px}
@media(min-width:780px){.case-hub .cgrid{grid-template-columns:repeat(3,1fr)}}
.case-hub .ccard{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 10px 30px rgba(14,0,89,.06);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.case-hub a.ccard:hover{transform:translateY(-4px);box-shadow:0 22px 46px rgba(14,0,89,.13);border-color:#d6dcea;text-decoration:none}
.case-hub .cimg{aspect-ratio:16/9;position:relative;overflow:hidden;background:repeating-linear-gradient(45deg,#13105a 0 14px,#1a1668 14px 28px)}
.case-hub .cimg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.case-hub .badge{position:absolute;top:12px;left:12px;background:var(--burnt);color:#fff;font-family:"Archivo",sans-serif;font-weight:700;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;padding:5px 10px;border-radius:5px}
.case-hub .cbody{padding:22px 22px 24px;display:flex;flex-direction:column;gap:11px;flex:1}
.case-hub .ctag{font-family:"Archivo",sans-serif;font-weight:700;font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;color:var(--burnt)}
.case-hub .ccard h3{font-size:1.2rem;font-weight:800;color:var(--navy);line-height:1.22;margin:0}
.case-hub .ccard p{font-size:.95rem;color:var(--muted);line-height:1.55;flex:1;margin:0}
.case-hub .cmeta{font-family:"Archivo",sans-serif;font-weight:600;font-size:.78rem;color:var(--ink);border-top:1px solid var(--line);padding-top:13px;margin-top:4px}
.case-hub .go{font-family:"Archivo",sans-serif;font-weight:700;font-size:.85rem;color:var(--burnt)}

/* ── spoke: hero ── */
.case-page .label{font-family:"Archivo",sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--burnt)}
.case-page .hero{position:relative;background:var(--navy);color:#fff;overflow:hidden}
.case-page .hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:46px 46px;mask-image:radial-gradient(ellipse 80% 90% at 30% 20%,#000 40%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 80% 90% at 30% 20%,#000 40%,transparent 100%)}
.case-page .hero .wrap{position:relative;display:grid;gap:30px;padding-top:40px;padding-bottom:52px}
@media(min-width:900px){.case-page .hero .wrap{grid-template-columns:1.05fr .95fr;align-items:center;gap:46px;padding-top:56px;padding-bottom:84px}}
.case-page .crumb{font-size:.8rem;color:#9aa3c4;margin-bottom:16px}
.case-page .crumb a{color:#9aa3c4}
.case-page .crumb a:hover{color:#fff}
.case-page .eyebrow{font-family:"Archivo",sans-serif;font-weight:700;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:#ff8a4c}
.case-page .eyebrow span{color:#7e87ad;margin:0 .5em}
.case-page .hero h1{font-size:2.1rem;font-weight:800;margin:14px 0 16px}
@media(min-width:600px){.case-page .hero h1{font-size:2.8rem}}
.case-page .hero p.lede{font-size:1.08rem;color:#d6dbef;max-width:42ch}
.case-page .hero-photo{aspect-ratio:4/3;border-radius:12px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.38)}
.case-page .hero-photo img{width:100%;height:100%;object-fit:cover;display:block}

/* ── spoke: scaffold ── */
.case-page section{padding:58px 0}
@media(min-width:900px){.case-page section{padding:80px 0}}
.case-page .statband{background:var(--paper);position:relative}
.case-page .statband::before{content:"";position:absolute;inset:0;background-image:linear-gradient(#c2cde0 1px,transparent 1px),linear-gradient(90deg,#c2cde0 1px,transparent 1px);background-size:26px 26px;opacity:.28;pointer-events:none}
.case-page .sec-head{max-width:60ch}
.case-page .sec-head h2{font-size:1.7rem;font-weight:800;color:var(--navy);margin:12px 0 14px}
@media(min-width:600px){.case-page .sec-head h2{font-size:2.1rem}}
.case-page .sec-head p{color:var(--muted);font-size:1.02rem}

/* ── spoke: situation ── */
.case-page .situation{background:#fff;position:relative}
.case-page .situation::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(#c2cde0 1px,transparent 1px),linear-gradient(90deg,#c2cde0 1px,transparent 1px);background-size:30px 30px;opacity:.14}
.case-page .situation .wrap{position:relative;max-width:760px}
.case-page .situation p{font-size:1.08rem;color:var(--ink);margin-top:16px;line-height:1.7}
.case-page .situation p:first-of-type{margin-top:22px}
.case-page .situation .turn{font-family:"Archivo",sans-serif;font-weight:700;color:var(--navy);font-size:1.25rem;line-height:1.4;margin-top:26px;padding-left:18px;border-left:4px solid var(--burnt)}
@media(min-width:600px){.case-page .situation .turn{font-size:1.45rem}}

/* ── spoke: findings ── */
.case-page .found{background:var(--paper);position:relative}
.case-page .found::before{content:"";position:absolute;inset:0;background-image:linear-gradient(#c2cde0 1px,transparent 1px),linear-gradient(90deg,#c2cde0 1px,transparent 1px);background-size:26px 26px;opacity:.22;pointer-events:none}
.case-page .found .wrap{position:relative}
.case-page .findings{display:grid;gap:26px;margin-top:38px}
.case-page .finding{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;display:grid;grid-template-columns:1fr;box-shadow:0 10px 30px rgba(14,0,89,.06)}
@media(min-width:860px){.case-page .finding{grid-template-columns:1.05fr 1fr}}
@media(min-width:860px){.case-page .finding.flip .f-media{order:2}}
.case-page .f-media{background:transparent;padding:14px;display:grid;align-content:center}
.case-page .f-body{padding:28px 26px}
@media(min-width:600px){.case-page .f-body{padding:34px 32px}}
.case-page .f-tag{font-family:"Archivo",sans-serif;font-weight:700;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--burnt)}
.case-page .f-body h3{font-size:1.32rem;font-weight:800;color:var(--navy);margin:9px 0 18px}
@media(min-width:600px){.case-page .f-body h3{font-size:1.5rem}}
.case-page .ft{margin-bottom:14px}
.case-page .ft .k{font-family:"Archivo",sans-serif;font-weight:700;font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}
.case-page .ft p{font-size:.97rem;color:var(--ink);line-height:1.6;margin-top:0}
.case-page .cost{margin-top:18px;background:var(--paper);border:1px solid var(--line);border-radius:9px;padding:13px 16px}
.case-page .cost .amt{font-family:"Archivo",sans-serif;font-weight:800;color:var(--navy);font-size:1.05rem}
.case-page .cost .ill{font-size:.76rem;color:var(--muted);margin-top:2px}
.case-page .f-media img{width:100%;aspect-ratio:16/9;height:auto;object-fit:contain;background:var(--navy-dk);border-radius:9px;display:block}

/* ── spoke: outcome ── */
.case-page .outcome{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.case-page .outcome::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(ellipse 70% 90% at 50% 0%,#000,transparent 80%);-webkit-mask-image:radial-gradient(ellipse 70% 90% at 50% 0%,#000,transparent 80%)}
.case-page .outcome .wrap{position:relative;max-width:60ch}
.case-page .outcome .label{color:#ff8a4c}
.case-page .outcome h2{color:#fff;font-size:1.7rem;font-weight:800;margin:12px 0 16px}
@media(min-width:600px){.case-page .outcome h2{font-size:2.1rem}}
.case-page .outcome p{color:#d6dbef;font-size:1.08rem;line-height:1.7}

/* ── spoke: cross-links ── */
.case-page .xlinks{background:#fff}
.case-page .xgrid{display:grid;gap:18px;margin-top:32px}
@media(min-width:720px){.case-page .xgrid{grid-template-columns:1fr 1fr}}
.case-page .xcard{border:1px solid var(--line);border-radius:13px;padding:26px 24px;background:var(--paper);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;display:block;color:inherit}
.case-page .xcard:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(14,0,89,.10);border-color:#d6dcea;text-decoration:none}
.case-page .xcard .xk{font-family:"Archivo",sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--burnt);margin-bottom:9px}
.case-page .xcard h3{font-size:1.2rem;color:var(--navy);font-weight:800;margin-bottom:6px;margin-top:0}
.case-page .xcard p{font-size:.94rem;color:var(--muted);line-height:1.5;margin:0}
.case-page .xcard .go{margin-top:14px;font-family:"Archivo",sans-serif;font-weight:700;font-size:.9rem;color:var(--green);display:inline-flex;align-items:center;gap:.4rem}
.case-page .xcard.empty{background:repeating-linear-gradient(45deg,#f4f6fb 0 14px,#eef1f8 14px 28px);border-style:dashed;color:#9aa1b8;cursor:default}
.case-page .xcard.empty:hover{transform:none;box-shadow:none;border-color:var(--line)}
.case-page .xcard.empty h3{color:#8990a8}
.case-page .xcard.empty .xk{color:#9aa1b8}

/* INSURANCE & PARTNERS (.ip page scope) Added 2026-06-16 */
.ip .story-cta-row{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:6px}
.ip .story-phone{font-family:"Archivo",sans-serif;font-weight:700;color:var(--navy);font-size:1rem}
.ip .s24-plate{background:var(--navy);border-radius:12px;padding:20px 24px;width:340px;max-width:85%;margin:0 auto 22px}
.ip .s24-logo{display:block;width:100%}
.ip .s24-contact{background:var(--mist);border:1px solid var(--line);border-radius:10px;padding:16px 18px;margin:22px 0;font-size:.92rem;line-height:1.7}
.ip .s24-contact .lab{margin-bottom:6px;display:block}
.ip .s24-contact a{color:var(--burnt);font-weight:600}
.ip .s24-contact .who{font-weight:700;color:var(--ink)}
.ip .pc-contact{font-size:.84rem;color:var(--muted);line-height:1.7;margin:10px 0 0}
.ip .pc-contact b{color:var(--ink)}
.ip .pc-contact a{color:var(--burnt)}

/* SMART PHOTO SLOTS — Added 2026-06-16 */
.slot-img{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit}
.sp-hero-ph.is-filled,.sp-know-ph.is-filled,.thumb.is-filled,.ph.is-filled{border:none;padding:0;background:none;gap:0;min-height:0}
.sp-hero-ph.is-filled,.sp-know-ph.is-filled,.thumb.is-filled,.ph.is-filled{display:block}

/* SAMPLE REPORT (.sr page scope) ─────────────────────────────── */
.sr{--orange-soft:#ff8a4c}

/* hero extras */
.sr .hero .eyebrow{font-family:"Archivo",sans-serif;font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;color:var(--orange-soft);display:block;margin-bottom:.4rem}
.sr .hero .trust{margin-top:.6rem;font-weight:600;color:#fff;font-size:.98rem}
.sr .hero .trust b{color:var(--orange-soft)}
.sr .hero .ministat{flex-wrap:wrap;gap:8px 20px}
.sr .hero .ministat .mi{display:inline-flex;align-items:center}
.sr .hero-photo{aspect-ratio:4/3}
.sr .hero-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border:2px dashed rgba(255,255,255,.4);border-radius:16px;color:#aeb0ff;text-align:center;padding:24px;background-color:rgba(255,255,255,.05);background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:40px 40px}
.sr .hero-ph svg{width:46px;height:46px;opacity:.8}
.sr .hero-ph .lbl{font-family:"Archivo",sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}
.sr .hero-ph .fn{font-size:.72rem;color:rgba(255,255,255,.5);font-style:italic;letter-spacing:.02em}

/* button variants */
.sr .btn-ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.55);padding:12px 22px}
.sr .btn-ghost:hover{background:rgba(255,255,255,.1);text-decoration:none}
.sr .btn-pdf{background:var(--navy);color:#fff}
.sr .btn-pdf:hover{background:var(--navy-dk);text-decoration:none}

/* kicker — centered section head */
.sr .kicker{text-align:center;max-width:62ch;margin:0 auto 2.2rem}
.sr .kicker h2{font-size:clamp(1.5rem,3.5vw,2.1rem);color:var(--navy);font-weight:800;margin:.4rem 0 .6rem}
.sr .kicker p{color:var(--muted);font-size:1.05rem}

/* teaching block */
.sr .teach{display:grid;gap:2rem;align-items:start;grid-template-columns:1fr}
@media(min-width:860px){.sr .teach{grid-template-columns:1.05fr .95fr}}
.sr .shot{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px;box-shadow:0 10px 30px rgba(14,0,89,.10)}
.sr .shot img{border-radius:6px;display:block;width:100%}
.sr .shotcap{font-size:.8rem;color:var(--muted);margin-top:.55rem;text-align:center}
.sr .teach h3{color:var(--navy);font-size:1.35rem;font-weight:700;margin-bottom:.4rem}
.sr .step{display:flex;gap:.7rem;margin:.8rem 0}
.sr .step .n{flex:none;width:26px;height:26px;border-radius:50%;background:var(--burnt);color:#fff;font-family:"Archivo",sans-serif;font-weight:700;font-size:.85rem;display:grid;place-items:center}
.sr .step b{color:var(--ink)}
.sr .legend{margin-top:1.4rem;border:1px solid var(--line);border-radius:12px;background:#fff;padding:1rem 1.1rem}
.sr .legend h4{font-family:"Archivo",sans-serif;color:var(--navy);font-size:1rem;margin-bottom:.6rem}
.sr .legend .row{display:flex;gap:.7rem;align-items:flex-start;margin:.5rem 0;font-size:.92rem}
.sr .tag{flex:none;font-family:"Archivo",sans-serif;font-weight:800;color:#fff;border-radius:6px;padding:.12rem .5rem;font-size:.78rem;min-width:34px;text-align:center}
.sr .t-ok{background:var(--green)}
.sr .t-mm{background:var(--burnt)}
.sr .t-rr{background:#b3261e}
.sr .t-is{background:var(--navy)}

/* reports grid */
.sr-grid{display:grid;gap:1.6rem;grid-template-columns:1fr}
@media(min-width:740px){.sr-grid{grid-template-columns:1fr 1fr}}
.sr-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 6px 20px rgba(14,0,89,.06);transition:.18s}
.sr-card:hover{box-shadow:0 14px 38px rgba(14,0,89,.13);transform:translateY(-2px)}
.sr-card .figure{background:var(--mist);border-bottom:1px solid var(--line);padding:14px}
.sr-card .figure a{display:block;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}
.sr-card .figure img{transition:.2s;display:block;width:100%}
.sr-card .figure a:hover img{transform:scale(1.015)}
.sr-card .figcap{font-size:.74rem;color:var(--muted);margin-top:.5rem;text-align:center}
.sr-card .body{padding:18px 20px 22px;display:flex;flex-direction:column;flex:1}
.sr-card h3{color:var(--navy);font-size:1.2rem;margin-bottom:.1rem}
.sr-card .sub{color:var(--burnt);font-weight:700;font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;margin-bottom:.6rem}
.sr-card p.desc{color:var(--ink);font-size:.96rem;margin-bottom:.9rem}
.sr-card .look{list-style:none;margin:0 0 1.1rem;padding:0}
.sr-card .look li{position:relative;padding-left:1.5rem;margin:.4rem 0;font-size:.9rem;color:var(--muted)}
.sr-card .look li:before{content:"";position:absolute;left:0;top:.45rem;width:9px;height:9px;border-radius:2px;background:var(--burnt);transform:rotate(45deg)}
.sr-card .look li b{color:var(--ink)}
.sr-card .note{font-size:.83rem;line-height:1.5;color:var(--muted);font-style:italic;border-left:3px solid var(--burnt);background:#fff7f2;padding:.55rem .75rem;border-radius:0 6px 6px 0;margin:0 0 1rem}
.sr-card .note b{color:var(--burnt-dk);font-style:normal}
.sr-card .foot{margin-top:auto}

/* privacy band */
.sr-privacy{background:var(--navy);color:#fff}
.sr-privacy .wrap{padding:42px 20px;display:flex;gap:1rem;align-items:flex-start;flex-wrap:wrap}
.sr-privacy svg{width:34px;height:34px;color:#ff8a4c;flex:none}
.sr-privacy h3{font-size:1.2rem;font-weight:700;margin-bottom:.3rem}
.sr-privacy p{color:#dfe0f2;max-width:70ch}

/* sample-report: sp-hero extras */
.sr .sp-hero h1 em{font-style:normal;border-bottom:4px solid #ff8a4c;padding-bottom:2px}
.sr .sp-hero .cta-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:24px}
.sr .sp-hero .trust{margin-top:14px;font-size:.97rem;color:#c9caff;font-weight:600}
.sr .sp-hero .trust b{color:#ff8a4c}
.sr .sp-hero .ministat{margin-top:24px;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:.88rem;color:#9a9cff}
.sr .sp-hero .ministat b{color:#fff;font-weight:600}

/* education articles: sp-hero-ph native aspect ratio (source images have
   edge-to-edge labeled callouts a 4:3 crop would cut off) */
.epi .sp-hero-ph.native-ph{aspect-ratio:16/10}
.dbp .sp-hero-ph.native-ph{aspect-ratio:2/1}

/* about page: light-background photo-slot placeholders (the two non-hero
   slots sit on white, so they can't reuse the dark-hero .sp-hero-ph; these
   are page-scoped so no base rule is touched). Filled state keeps the
   existing .story-aside img / .tcard img styling, so nothing crops. */
.story-aside .about-story-ph{border:2px dashed #c3cae3;border-radius:14px;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#8a93b8;text-align:center;padding:24px;background-color:var(--mist);background-image:linear-gradient(rgba(70,90,150,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(70,90,150,.05) 1px,transparent 1px);background-size:30px 30px}
.story-aside .about-story-ph svg{width:44px;height:44px;opacity:.75}
.story-aside .about-story-ph span{font-family:"Archivo",sans-serif;font-size:12px;letter-spacing:.1em;text-transform:uppercase}
/* insurance page: Scheiderich Agency photo slot — same light .story-aside
   empty-state placeholder as about-story, landscape ratio for an agency
   photo. The filled <img> uses .story-aside img (width:100%;height:auto),
   so the real photo shows at its native ratio, uncropped. The aspect-ratio
   here only shapes the empty box, replacing the old inline min-height. */
.story-aside .agency-ph{border:2px dashed #c3cae3;border-radius:14px;aspect-ratio:3/2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#8a93b8;text-align:center;padding:24px;background-color:var(--mist);background-image:linear-gradient(rgba(70,90,150,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(70,90,150,.05) 1px,transparent 1px);background-size:30px 30px}
.story-aside .agency-ph svg{width:44px;height:44px;opacity:.75}
.story-aside .agency-ph span{font-family:"Archivo",sans-serif;font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.tcard .tcard-ph{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#8a93b8;text-align:center;padding:20px;background-color:var(--mist);background-image:linear-gradient(rgba(70,90,150,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(70,90,150,.05) 1px,transparent 1px);background-size:30px 30px;border-bottom:1px solid var(--line)}
.tcard .tcard-ph svg{width:40px;height:40px;opacity:.7}
.tcard .tcard-ph span{font-family:"Archivo",sans-serif;font-size:11px;letter-spacing:.08em;text-transform:uppercase}

/* resources hubs (education / videos / case-studies) rebuilt on .sp-hero.
   All page-scoped; base .sp-hero / .sp-inner / .sp-num rules untouched.
   .cols-3 = 3-stat pop-out (edu/videos); .reshub em = orange H1 emphasis;
   .sp-num.hot = case-studies' preserved orange review stat. */
@media(min-width:861px){.service-page .sp-inner.cols-3{grid-template-columns:repeat(3,1fr)}}
.reshub .sp-hero h1 em{color:var(--orange-soft);font-style:normal}
.service-page .sp-num.hot{color:var(--burnt)}

/* homepage proof card: shared .sp-inner reused with a brand modifier for the
   icon + rating + count cells. .proof2 (the section) keeps handling the hero
   overlap, so the card's own margin-top is zeroed here. The .src header is a
   real flex row — align-items:center is what vertically centers the Google
   icon against the word next to it (the old .pcard .src was not flex, so the
   inline SVG sat on the text baseline). */
.service-page .sp-inner--brand{margin-top:0}
.sp-inner--brand .src{display:flex;align-items:center;justify-content:center;gap:6px;font-family:"Archivo",sans-serif;font-weight:600;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--burnt);margin-bottom:10px}
.sp-inner--brand .src svg{flex:0 0 auto}
