/* 3 Cheers — site styles. Tokens and layout follow the approved Claude Design artboard. */

:root{
  color-scheme: only dark;
  --bg:#0B0A09; --panel:#141110; --ink:#F4F0E9; --ink-2:#C3BCB1; --muted:#9A9284;
  --line:#332C25; --line-2:#4A4137;
  --gold:#DDB65F; --gold-lt:#EBCB7C; --gold-hair:rgba(221,182,95,.38);
  --accent:#DDB65F; --accent-dk:#EBCB7C; --accent-ink:#141110; --accent-txt:#EBCB7C;
  --pad-y:clamp(46px,6vw,84px); --pad-x:clamp(20px,4vw,44px);
  --mono:ui-monospace,"SFMono-Regular",Menlo,monospace;
  --r-sm:8px; --r:12px; --r-lg:16px; --r-pill:999px;
  --shadow:0 10px 30px rgba(0,0,0,.35);
  --wa:#25D366; --wa-dk:#1DB954; --wa-ink:#FFFFFF;
}

*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink)}
html{scroll-behavior:smooth}
body{font-family:Archivo,system-ui,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.5}
main{background:var(--bg)}
h1,h2,h3{margin:0}
ol,ul{margin:0;padding:0;list-style:none}
figure{margin:0}
img{max-width:100%}
button{font-family:inherit}
a{color:var(--accent-txt);text-decoration:none}
a:hover{color:var(--ink)}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--accent-txt);outline-offset:2px}
input::placeholder{color:var(--muted)}
[hidden]{display:none !important}

/* Light sections override the token set */
.light{
  --bg:#F4F0E9; --panel:#E8E1D4; --ink:#141110; --ink-2:#4C453B; --muted:#6E6659;
  --line:#D6CFC0; --line-2:#B9B0A0; --gold:#8A6A17; --gold-lt:#7A5D14; --gold-hair:rgba(138,106,23,.32);
  --accent:#B8902F; --accent-dk:#A07A1C; --accent-ink:#141110; --accent-txt:#8A6A17;
  background:var(--bg); color:var(--ink);
}
.light-cta{--bg:#EFE9DC; --panel:#FFFFFF}

@keyframes roll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes stateIn{from{fill-opacity:0}to{fill-opacity:1}}
@keyframes ping{0%{r:4;opacity:.7}70%{r:19;opacity:0}100%{r:19;opacity:0}}
@media (prefers-reduced-motion:reduce){
  *{animation:none !important;transition:none !important}
  html{scroll-behavior:auto}
}

/* Shared section furniture */
.section{padding:var(--pad-y) var(--pad-x)}
.eyebrow{font-size:14px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--gold)}
.light .eyebrow{font-weight:700}
.h2{font-size:clamp(27px,3.5vw,44px);font-weight:700;line-height:1.06;letter-spacing:-.022em;margin:14px 0 0;max-width:24ch;color:var(--ink);text-wrap:pretty}
.lede{font-size:clamp(15px,1.3vw,17px);line-height:1.6;color:var(--ink-2);margin:18px 0 0;max-width:64ch;text-wrap:pretty}

/* Header */
.hero-wrap{min-height:100svh;display:flex;flex-direction:column}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:10px 16px;flex-wrap:wrap;padding:14px 20px;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:11px;color:inherit}
.brand:hover{color:inherit}
.brand-text{display:flex;flex-direction:column;gap:5px}
.brand-mark{filter:drop-shadow(0 0 6px rgba(235,203,124,.35))}
.brand-name{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:23px;letter-spacing:.08em;line-height:.9;color:#EBCB7C;font-variant-numeric:lining-nums}
.brand-tag{font-size:8px;letter-spacing:.32em;text-transform:uppercase;color:#CBB077;white-space:nowrap}
.header-wa{display:inline-flex;align-items:center;gap:9px;min-height:40px;padding:0 14px 0 6px;background:none;border:1px solid var(--line-2);border-radius:var(--r-pill);font-size:13px;font-weight:600;color:var(--ink);transition:border-color .15s,color .15s}
.header-wa:hover{color:var(--ink);border-color:var(--wa)}
.wa-badge{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--wa);color:#FFFFFF;flex:0 0 auto}
.wa-badge svg{width:15px;height:15px}

/* Hero */
.hero{flex:1 1 auto;min-height:0;display:flex;flex-wrap:wrap;align-items:stretch}
.hero-copy{flex:1 1 50%;min-width:320px;max-width:760px;display:flex;flex-direction:column;justify-content:center;gap:clamp(24px,4.2vh,52px);padding:clamp(30px,5.5vh,84px) clamp(20px,4vw,60px)}
.hero-eyebrow{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-txt);margin-bottom:clamp(18px,2.4vh,30px)}
.hero h1{font-size:clamp(31px,4.6vw,56px);font-weight:700;line-height:1.05;letter-spacing:-.025em;max-width:21ch;color:var(--ink);text-wrap:pretty}
.hero-lede{font-size:clamp(15px,1.35vw,18px);line-height:1.55;color:var(--ink-2);margin:clamp(20px,2.6vh,32px) 0 0;max-width:54ch;text-wrap:pretty}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px}
.hero-proofline{font-size:14px;font-weight:600;color:var(--ink-2)}

.btn-primary{min-height:56px;padding:0 28px;background:var(--accent);border:none;border-radius:var(--r);box-shadow:0 6px 18px rgba(221,182,95,.22);transition:transform .15s,box-shadow .15s,background .15s;font-size:16px;font-weight:700;color:var(--accent-ink);cursor:pointer;flex:0 0 auto;white-space:nowrap;line-height:1}
.btn-primary:hover{background:var(--accent-dk);transform:translateY(-1px);box-shadow:0 10px 24px rgba(221,182,95,.3)}
.wa-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 20px 0 10px;flex:0 0 auto;white-space:nowrap;background:none;border:1px solid var(--line-2);border-radius:var(--r-pill);font-size:15px;font-weight:600;color:var(--ink);transition:border-color .15s,transform .15s,background .15s}
.wa-link:hover{color:var(--ink);border-color:var(--wa);background:rgba(37,211,102,.06);transform:translateY(-1px)}
.wa-link .wa-badge{width:30px;height:30px}
.wa-link .wa-badge svg{width:17px;height:17px}

/* Lead forms and their confirmation state */
.lead{max-width:520px}
.lead-form{display:flex;flex-direction:column;gap:10px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.lead-fields{display:flex;flex-wrap:wrap;gap:10px}
.lead-form input{flex:1 1 148px;min-width:148px;min-height:52px;padding:0 16px;border:1px solid var(--line-2);border-radius:var(--r);transition:border-color .15s,box-shadow .15s;background:var(--panel);font-family:inherit;font-size:16px;color:var(--ink)}
.lead-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(221,182,95,.22);outline:none}
.lead-form input[aria-invalid="true"]{border-color:#D9534F}
.btn-submit{min-height:54px;padding:0 22px;background:var(--accent);border:none;border-radius:var(--r);transition:transform .15s,box-shadow .15s,background .15s;font-size:15px;font-weight:700;color:var(--accent-ink);cursor:pointer;width:100%;text-align:left}
.btn-submit:hover{background:var(--accent-dk);transform:translateY(-1px);box-shadow:0 8px 20px rgba(0,0,0,.18)}
.btn-submit[disabled]{opacity:.7;cursor:progress}
.lead .wa-link{margin-top:10px}
.lead-done{border:1px solid var(--accent);border-radius:var(--r-lg);background:rgba(221,182,95,.07);padding:20px 20px 22px;max-width:520px}
.lead-done-head{display:flex;align-items:center;gap:10px}
.lead-done .check{color:var(--accent-txt);flex:0 0 auto}
.lead-done-title{font-size:17px;font-weight:700;color:var(--ink)}
.lead-done-body{font-size:15px;line-height:1.55;color:var(--ink-2);margin-top:8px}
.btn-ghost{margin-top:14px;min-height:44px;padding:0 16px;background:none;border:1px solid var(--line-2);border-radius:var(--r-sm);font-size:13px;font-weight:600;color:var(--ink);cursor:pointer}
.btn-ghost:hover{border-color:var(--accent-txt);color:var(--accent-txt)}

/* Hero photo carousel */
.hero-photos{flex:1 1 44%;min-width:300px;min-height:min(360px,40svh);position:relative;overflow:hidden;background:var(--panel);border-left:1px solid var(--line)}
.photo-track{position:absolute;inset:0;display:flex;width:100%;transition:transform .7s cubic-bezier(.4,0,.2,1)}
.photo-track > div{flex:0 0 100%;width:100%;height:100%;position:relative;overflow:hidden;background:var(--panel)}
/* Each photo is shown whole; a blurred, darkened copy of itself fills whatever the frame has left over. */
.photo-track > div::before{content:"";position:absolute;inset:-24px;background:var(--img) center/cover no-repeat;filter:blur(22px) brightness(.5) saturate(1.1);transform:scale(1.05)}
.photo-track img{position:relative;width:100%;height:100%;object-fit:contain;display:block}
.photo-dots{position:absolute;left:14px;bottom:14px;display:flex;gap:6px}
.photo-dots button{width:26px;height:20px;padding:0;border:none;background:none;cursor:pointer;position:relative}
.photo-dots button::after{content:"";position:absolute;left:0;right:0;top:8px;height:4px;border-radius:2px;background:rgba(244,240,233,.34);transition:background .2s}
.photo-dots button[aria-current="true"]::after{background:var(--gold)}

/* Campaign ticker */
.roll{border-top:1px solid var(--line)}
.roll-label{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:14px 20px 0}
.roll-viewport{overflow:hidden;padding:12px 0 16px}
.roll-track{display:flex;width:max-content;align-items:stretch;animation:roll 60s linear infinite}
.roll-item{flex:0 0 auto;display:flex;align-items:baseline;gap:12px;padding:0 26px;border-right:1px solid var(--line);white-space:nowrap}
.roll-code{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.06em;color:var(--accent-txt)}
.roll-place{font-size:15px;font-weight:700;letter-spacing:.01em;color:var(--ink)}
.roll-act{font-size:13px;color:var(--muted)}
.roll-res{font-family:var(--mono);font-size:12.5px;color:var(--ink-2)}

/* Clients */
.clients{border-top:2px solid var(--gold-hair);border-bottom:1px solid var(--line);background:#FFFFFF}
.clients .eyebrow{color:#8A6A17}
.clients .h2{color:#141110}
.logo-grid{--lg:clamp(14px,1.6vw,22px);display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(22px,2.4vw,34px) var(--lg);margin-top:clamp(38px,5vw,58px)}
.logo{flex:0 0 calc((100% - 5 * var(--lg)) / 6)}
@media (max-width:900px){.logo{flex-basis:calc((100% - 3 * var(--lg)) / 4)}}
.logo{display:flex;flex-direction:column;align-items:center;gap:10px}
.logo img{width:100%;max-width:120px;height:auto;aspect-ratio:1;object-fit:contain;object-position:center;border-radius:var(--r);background:#FFFFFF}
.logo span{font-size:12px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:#635C51;text-align:center}

/* Why brands hire us */
.why{background:#141110;color:var(--ink);border-top:1px solid var(--line)}
.why .eyebrow{font-weight:700;letter-spacing:.13em;color:var(--gold)}
.why h2{font-size:clamp(30px,4.2vw,54px);font-weight:700;line-height:1.03;letter-spacing:-.03em;margin:16px 0 0;max-width:22ch;color:var(--ink);text-wrap:pretty}
.why .lede{font-size:clamp(16px,1.4vw,19px);line-height:1.55;color:var(--ink-2);margin:20px 0 0;max-width:58ch}
.flow{display:flex;flex-wrap:wrap;align-items:center;gap:14px 16px;margin-top:clamp(30px,4vw,42px)}
.flow-step{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;background:var(--gold);border-radius:var(--r-pill);font-size:clamp(15px,1.5vw,18px);font-weight:700;letter-spacing:-.01em;color:#141110;white-space:nowrap}
.flow-arrow{fill:none;stroke:var(--gold);stroke-width:2.4}
.compare{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1px;background:var(--line-2);border:1px solid var(--line-2);border-radius:var(--r-lg);overflow:hidden;margin-top:clamp(34px,4.4vw,52px)}
.compare-col{padding:26px 24px 28px}
.compare-old{background:#1C1815}
.compare-new{background:#FBF4E4;color:#141110}
.compare-label{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.compare-old .compare-label{color:var(--muted)}
.compare-new .compare-label{color:#6B5312}
.compare-list{display:flex;flex-direction:column;gap:2px;margin-top:18px}
.compare-list > div{display:flex;align-items:baseline;gap:12px;padding:9px 0}
.compare-old .compare-list > div{font-size:clamp(17px,1.7vw,20px);line-height:1.35;color:var(--ink-2)}
.compare-old .x{font-family:var(--mono);font-size:15px}
.compare-new .compare-list > div{font-size:clamp(19px,2vw,24px);font-weight:700;letter-spacing:-.015em;line-height:1.3;color:#1A1512}
.compare-new svg{flex:0 0 auto;margin-top:6px;fill:none;stroke:#8A6A17;stroke-width:3;stroke-linecap:square}

/* How a campaign runs */
.how .eyebrow,.how .step-get-v{color:#8A6A17}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(max(34%,232px),1fr));gap:14px;margin-top:clamp(32px,4vw,46px)}
.step{background:#FFFFFF;border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 24px 28px;position:relative;box-shadow:0 2px 10px rgba(20,17,16,.04)}
.step-num{position:absolute;right:16px;top:14px;font-family:var(--mono);font-size:13px;letter-spacing:.1em;color:var(--muted)}
.step-icon{display:block;fill:none;stroke:#8A6A17;stroke-width:1.7;stroke-linecap:square;stroke-linejoin:miter}
.step-title{font-size:clamp(19px,1.9vw,22px);font-weight:700;letter-spacing:-.015em;color:var(--ink);margin-top:22px}
.step-body{font-size:15px;line-height:1.55;color:var(--ink-2);margin-top:9px;text-wrap:pretty}
.step-get{display:flex;align-items:baseline;gap:9px;margin-top:20px;padding-top:14px;border-top:2px solid var(--gold-hair)}
.step-get-k{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.step-get-v{font-size:15px;font-weight:700;letter-spacing:-.01em}
.result-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;background:#141110;color:#F4F0E9;padding:22px 24px;margin-top:14px;border-radius:var(--r-lg)}
.result-strip > div{display:flex;align-items:center;gap:14px}
.result-strip svg{flex:0 0 auto;fill:none;stroke:#E3C67F;stroke-width:2;stroke-linecap:square}
.result-strip strong{font-size:clamp(17px,1.8vw,21px);font-weight:700;letter-spacing:-.015em}

/* What we run */
.run{border-top:1px solid var(--line)}
.services{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:22px;margin-top:36px}
.service{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;transition:border-color .16s,transform .2s,box-shadow .2s}
.service:hover{border-color:var(--gold-hair);transform:translateY(-3px);box-shadow:var(--shadow)}
.service-media{aspect-ratio:16/9;position:relative;overflow:hidden}
.service-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,10,9,.18) 0%,rgba(11,10,9,.72) 100%);pointer-events:none}
.service-creative{grid-column:1 / -1;justify-self:center;width:100%;max-width:840px}
@media (min-width:1100px){.services{grid-template-columns:repeat(4,1fr)}}
/* Creative samples scroller inside the Creative services card */
.creative-media::after{display:none}
.cscroll{display:flex;height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.cscroll::-webkit-scrollbar{display:none}
.cscroll:focus-visible{outline:2px solid var(--accent-txt);outline-offset:-2px}
.cslide{flex:0 0 100%;height:100%;scroll-snap-align:start;position:relative;overflow:hidden;background:var(--panel)}
.cslide::before{content:"";position:absolute;inset:-24px;background:var(--img) center/cover no-repeat;filter:blur(20px) brightness(.45);transform:scale(1.05)}
.cslide img{position:relative;width:100%;height:100%;object-fit:contain;display:block}
.cbtn{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;border:1px solid rgba(244,240,233,.25);background:rgba(11,10,9,.55);color:#F4F0E9;cursor:pointer;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);transition:background .15s,border-color .15s}
.cbtn:hover{background:rgba(11,10,9,.8);border-color:var(--gold)}
.cbtn svg{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.cprev{left:10px}.cnext{right:10px}
.cdots{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;gap:6px;pointer-events:none}
.cdots span{width:7px;height:7px;border-radius:50%;background:rgba(244,240,233,.35);transition:background .2s,transform .2s}
.cdots span.on{background:var(--gold);transform:scale(1.25)}
.service-body{padding:22px}
.service-title{font-size:21px;font-weight:700;letter-spacing:-.012em;color:var(--ink)}
.service-desc{font-size:15px;line-height:1.55;color:var(--ink-2);margin-top:9px}
.service-stat{font-size:clamp(26px,2.6vw,34px);font-weight:700;letter-spacing:-.02em;color:var(--gold);margin-top:16px}
.service-stat-l{font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#8F887D;margin-top:4px}
.service-sub{font-size:13px;line-height:1.5;color:var(--muted);margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}

/* Image slot: a placeholder until a real photograph is dropped in.
   To fill one, replace the .slot element with an <img> that has the same
   position:absolute; inset:0; object-fit:cover framing (see README). */
.slot{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:12px;background:rgba(127,127,127,.08);color:inherit;font:13px/1.45 system-ui,-apple-system,sans-serif;user-select:none}
.slot::after{content:"";position:absolute;inset:6px;border:1.5px dashed currentColor;border-radius:var(--r);opacity:.35;pointer-events:none}
.slot svg{opacity:.55}
.slot span{max-width:92%;font-weight:500;letter-spacing:.01em;opacity:.8}
.slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.slot-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}

/* Proof */
.proof{border-top:2px solid var(--gold-hair)}
.chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:26px}
.chip{flex:0 0 auto;min-height:40px;padding:0 16px;background:none;border:1px solid rgba(138,106,23,.42);border-radius:var(--r-pill);font-size:14px;font-weight:600;color:#6B5312;cursor:pointer;transition:background .12s,color .12s,border-color .12s}
.chip:hover{border-color:#8A6A17}
.chip[aria-pressed="true"]{background:#8A6A17;color:#F4F0E9;border-color:#8A6A17}
.proof-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-top:26px}
.proof-tile > img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;background:var(--panel);border-radius:var(--r)}
.proof-tile-tall > img{aspect-ratio:3/4;object-position:center bottom}
.proof-media{position:relative;aspect-ratio:4/3;background:var(--panel);border-radius:var(--r);overflow:hidden}
.gps-stamp{position:absolute;left:0;right:0;bottom:0;padding:10px 12px;background:rgba(11,10,9,.78);font-family:var(--mono);font-size:12px;line-height:1.5;color:#F4F0E9;pointer-events:none}
.gps-stamp div:first-child{font-size:14px;font-weight:600}
.proof-empty{border:1px dashed var(--line-2);border-radius:var(--r);padding:26px;margin-top:26px;font-size:16px;color:var(--ink-2)}

/* Coverage */
.coverage{border-top:1px solid var(--line)}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;margin-top:clamp(30px,4vw,44px)}
.stat{background:var(--bg);padding:22px 20px 24px}
.stat-n{font-size:clamp(30px,3.4vw,44px);font-weight:700;letter-spacing:-.03em;line-height:1;color:var(--gold)}
.stat-l{font-size:13px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-top:9px}
.cov{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:clamp(30px,4vw,54px);align-items:start;margin-top:clamp(30px,4vw,46px)}
#cov-map{position:relative;width:100%;aspect-ratio:1/1;min-height:360px;background:var(--panel);border-radius:var(--r-lg);overflow:hidden}
#cov-map svg{display:block}
#cov-map path[data-covered]{cursor:default;transition:fill .18s}
.legend{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:14px}
.legend > span{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--ink-2)}
.sw{width:11px;height:11px;border-radius:3px;background:var(--gold);flex:0 0 auto}
.sw-office{background:none;border:1px solid var(--gold)}
#cov-readout{font-size:14px;font-weight:700;color:var(--gold)}
.cov-hint{font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.office{border-top:2px solid var(--gold-hair);padding:clamp(20px,2.4vw,26px) 0}
.office-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.office-head > div{display:flex;align-items:baseline;gap:12px}
.office-name{font-size:clamp(21px,2.3vw,28px);font-weight:700;letter-spacing:-.018em;color:var(--ink)}
.office-state{font-family:var(--mono);font-size:12.5px;letter-spacing:.06em;color:var(--muted);white-space:nowrap}
.office-count{font-family:var(--mono);font-size:13px;color:var(--gold);white-space:nowrap}
.office-desc{font-size:14px;line-height:1.5;color:var(--ink-2);margin-top:8px}
.office-states{display:flex;flex-wrap:wrap;gap:8px 9px;margin-top:14px}
.state-tag{min-height:38px;display:inline-flex;align-items:center;padding:0 14px;border:1px solid var(--line-2);border-radius:var(--r-pill);font-size:14px;font-weight:600;color:var(--ink-2);cursor:default;transition:border-color .16s,color .16s}
.state-tag:hover,.state-tag.is-hi{border-color:var(--gold);color:var(--gold)}
.office-end{border-top:2px solid var(--gold-hair)}


/* Closing call to action */
.cta{border-top:2px solid var(--gold-hair);border-bottom:2px solid var(--gold-hair)}
.cta{text-align:center}
.cta .h2{margin:0 auto}
.cta .lead,.cta .lead-done{max-width:540px;margin:26px auto 0}
.cta .btn-submit{text-align:center}
.cta .lead-done-head{justify-content:center}

/* Footer */
.site-footer{padding:var(--pad-y) var(--pad-x) 28px}
.foot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:34px}
.foot-body{font-size:15px;line-height:1.75;color:var(--ink-2);margin-top:14px}
.foot-links{display:flex;flex-direction:column;align-items:flex-start;margin-top:14px}
.foot-links a{min-height:44px;display:inline-flex;align-items:center;font-size:15px;font-weight:600;color:var(--ink)}
.foot-links a:hover{color:var(--accent-txt)}
.foot-in{gap:8px}
.foot-in svg{color:var(--gold)}
.foot-wa{gap:9px}
.foot-wa .wa-badge{width:22px;height:22px}
.foot-wa .wa-badge svg{width:13px;height:13px}
.lockup{display:flex;align-items:center;gap:11px;background:#000000;border:1px solid var(--line);border-radius:var(--r);padding:14px 18px;margin-top:38px;width:max-content;max-width:100%}
.powered{margin-top:clamp(40px,5vw,64px);padding-top:26px;border-top:1px solid var(--line);display:flex;justify-content:center}
.powered-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;color:var(--muted);font-size:13px;font-weight:600;letter-spacing:.04em;transition:color .15s}
.powered-link:hover{color:var(--ink)}
.powered-label{text-transform:uppercase;letter-spacing:.14em;font-size:11px}
.idx-logo{height:40px;width:auto;display:block}

/* Mobile pass */
@media (max-width:600px){
  .site-header{padding:12px 16px;flex-wrap:nowrap}
  .brand{gap:9px}
  .brand-mark{width:40px;height:25px}
  .brand-name{font-size:21px}
  .header-wa{padding:0 12px;font-size:12px;gap:6px;flex:0 0 auto}
  .hero-copy{padding:28px 20px 30px;gap:24px}
  .hero-actions{flex-direction:column;align-items:stretch;gap:10px}
  .btn-primary{width:100%;justify-content:center;text-align:center}
  .hero-actions .wa-link{width:100%;min-height:52px}
  .lead .wa-link{width:100%}
  .lead-fields{flex-direction:column}
  .lead-form input{width:100%;flex:0 0 auto;min-height:52px;text-align:center}
  .btn-submit{text-align:center}
  .roll-label{padding:12px 16px 0}
  .chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:22px calc(-1 * var(--pad-x)) 0;padding:2px var(--pad-x) 6px;scroll-snap-type:x proximity}
  .chips::-webkit-scrollbar{display:none}
  .chip{scroll-snap-align:start}
  .stats{grid-template-columns:repeat(3,1fr)}
  .stat{padding:16px 12px 18px}
  .stat-n{font-size:26px}
  .stat-l{font-size:11px;letter-spacing:.06em}
  .services{gap:14px}
  .steps{gap:10px}
  .compare-list > div{padding:7px 0}
  .flow{gap:10px 12px}
  .foot-grid{gap:26px}
  .logo-grid{--lg:12px;gap:18px var(--lg)}
  .logo{flex-basis:calc((100% - 2 * var(--lg)) / 3)}
  .logo span{font-size:10.5px;letter-spacing:.05em}
  .lockup{width:100%;justify-content:center}

  /* Single-column layouts read better centred */
  .section,.hero-copy,.site-footer{text-align:center}
  .h2,.lede,.hero h1,.hero-lede,.why h2,.why .lede{margin-left:auto;margin-right:auto}
  .hero-copy > div{display:flex;flex-direction:column;align-items:center}
  .hero-actions,.lead,.lead-done{margin-left:auto;margin-right:auto}
  .lead .wa-link,.lead-done-head{justify-content:center}
  .flow,.legend,.office-states,.result-strip,.result-strip > div,.foot-links{justify-content:center}
  .compare-list > div{justify-content:center}
  .step-icon{margin:0 auto}
  .step-get{justify-content:center}
  .office-head,.office-head > div{flex-direction:column;align-items:center;gap:6px}
  .foot-links{align-items:center}
  .roll-label{text-align:left}
  .chips{justify-content:flex-start}
}
