/* ==========================================================================
   Sold House design system
   Display: Bricolage Grotesque (variable) · Body: Karla
   Accent lock: --accent (#ed1f56) is the ONLY accent on the entire site.
   Radius rule: buttons = pill · cards/inputs/media = 14px · chips = 999px
   ========================================================================== */

@font-face{font-family:"Anton";src:url("../fonts/anton-latin-400-normal.woff2") format("woff2");font-weight:400;font-display:swap;font-style:normal;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Archivo";src:url("../fonts/archivo-latin-wght-normal.woff2") format("woff2-variations");font-weight:100 900;font-display:swap;font-style:normal;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

:root{
  --ink:#0c1020;
  --ink-2:#252c45;
  --muted:#5c6480;
  --line:#e2e5ee;
  --line-soft:#eef0f5;
  --paper:#ffffff;
  --paper-2:#f6f7fa;
  --paper-3:#eff1f6;
  --deep:#181544;          /* exact navy from the Sold House logo plate */
  --deep-2:#221e5c;
  --sky:#7ccfef;           /* the logo blue. supporting colour on dark grounds only */
  --sky-ink:#0a6f96;       /* same blue, darkened for text on light */
  --indigo:#243d84;        /* brand indigo, structural */
  --accent:#ed1f56;        /* brand crimson, the ONLY accent */
  --accent-btn:#d4173f;    /* same crimson, darkened only so 16px bold label clears WCAG AA */
  --accent-btn-h:#b31135;
  --accent-ink:#c30f3f;    /* accent for text on light backgrounds */
  --radius:14px;
  --radius-sm:10px;
  --shell:1240px;
  --shadow-1:0 1px 2px rgba(20,31,69,.05),0 8px 24px -12px rgba(20,31,69,.18);
  --shadow-2:0 2px 4px rgba(20,31,69,.06),0 28px 60px -24px rgba(20,31,69,.30);
  --ease:cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:"Archivo",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img,picture,svg,video{max-width:100%;display:block}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
::selection{background:var(--accent);color:#fff}

h1,h2,.display{
  font-family:"Anton","Archivo",Impact,system-ui,sans-serif;
  font-weight:400;margin:0;color:var(--ink);
  text-transform:uppercase;letter-spacing:.002em;
}
h3,h4{font-family:"Archivo",system-ui,sans-serif;font-weight:700;letter-spacing:-.018em;margin:0;color:var(--ink)}
h1{font-size:clamp(2.35rem,5.3vw,4rem);line-height:.94;text-wrap:balance}
h2{font-size:clamp(1.85rem,3.7vw,2.9rem);line-height:.98;text-wrap:balance}
h3{font-size:clamp(1.14rem,1.6vw,1.38rem);line-height:1.2;font-weight:800}
h4{font-size:1.02rem;line-height:1.3;font-weight:800}
p{margin:0 0 1.05em}
p:last-child{margin-bottom:0}
strong{font-weight:700}

/* ---------- layout ---------- */
.shell{width:100%;max-width:var(--shell);margin-inline:auto;padding-inline:clamp(20px,5vw,40px)}
.shell-wide{max-width:1420px}
section{position:relative}
.band{padding-block:clamp(64px,8vw,116px)}
.band-tight{padding-block:clamp(48px,5.5vw,76px)}
.band-paper2{background:var(--paper-2)}
.band-deep{background:var(--deep);color:#fff}
.band-deep h1,.band-deep h2,.band-deep h3,.band-deep h4{color:#fff}
.rule{height:1px;background:var(--line);border:0;margin:0}

.grid{display:grid;gap:clamp(20px,2.4vw,32px)}
.g2{grid-template-columns:1fr}
.g3{grid-template-columns:1fr}
.g4{grid-template-columns:1fr 1fr}
@media (min-width:768px){.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1024px){.g4{grid-template-columns:repeat(4,1fr)}}

/* ---------- type utilities ---------- */
.eyebrow{
  font-family:"Archivo";font-size:.74rem;font-weight:800;letter-spacing:.2em;
  text-transform:uppercase;color:var(--accent-ink);margin:0 0 18px;display:flex;align-items:center;gap:10px;
}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--accent);display:block;flex:none}
.band-deep .eyebrow{color:var(--sky)}
.band-deep .eyebrow::before{background:var(--sky)}
.lede{font-size:clamp(1.06rem,1.4vw,1.235rem);line-height:1.58;color:var(--muted);max-width:60ch}
.band-deep .lede{color:rgba(255,255,255,.76)}
.measure{max-width:65ch}
.small{font-size:.9rem;line-height:1.5}
.micro{font-size:.795rem;line-height:1.45;color:var(--muted)}
.band-deep .micro{color:rgba(255,255,255,.6)}
.num{font-family:"Anton","Archivo",Impact,sans-serif;font-weight:400;letter-spacing:.005em;font-variant-numeric:tabular-nums}

/* ---------- buttons (pill) ---------- */
.btn{
  --bg:var(--accent-btn);--fg:#fff;--bd:var(--accent-btn);
  display:inline-flex;align-items:center;justify-content:center;gap:.55em;
  white-space:nowrap;text-decoration:none;cursor:pointer;
  background:var(--bg);color:var(--fg);border:1.5px solid var(--bd);
  font-weight:800;font-size:.955rem;letter-spacing:.002em;
  padding:.86em 1.55em;border-radius:999px;
  transition:transform .16s var(--ease),background .18s,border-color .18s,color .18s,box-shadow .18s;
}
.btn:hover{background:var(--accent-btn-h);border-color:var(--accent-btn-h);box-shadow:0 10px 24px -12px rgba(212,23,63,.7)}
.btn:active{transform:translateY(1px)}
.btn:focus-visible{outline:3px solid rgba(237,31,86,.4);outline-offset:2px}
.btn-lg{font-size:1.03rem;padding:1.02em 1.85em}
.btn-block{width:100%}
.btn-ghost{--bg:transparent;--fg:var(--ink);--bd:var(--line)}
.btn-ghost:hover{background:var(--paper-2);border-color:var(--ink-2);color:var(--ink);box-shadow:none}
.btn-onDeep{--bg:transparent;--fg:#fff;--bd:rgba(255,255,255,.34)}
.btn-onDeep:hover{background:rgba(255,255,255,.1);border-color:#fff;color:#fff;box-shadow:none}
.btn svg{flex:none}
.link-arrow{
  display:inline-flex;align-items:center;gap:.45em;text-decoration:none;
  font-weight:700;color:var(--accent-ink);border-bottom:1.5px solid rgba(237,31,86,.3);
  padding-bottom:2px;transition:border-color .18s,gap .18s;
}
.link-arrow:hover{border-color:var(--accent);gap:.75em}
.band-deep .link-arrow{color:#fff;border-color:rgba(255,255,255,.4)}

/* ---------- chips ---------- */
.chip{
  display:inline-flex;align-items:center;gap:.5em;padding:.42em .9em;border-radius:999px;
  background:var(--paper-2);border:1px solid var(--line);font-size:.86rem;font-weight:600;color:var(--ink-2);
}
.chip-onDeep{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);color:#fff}
.dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex:none}

/* ---------- cards ---------- */
.card{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
  padding:clamp(22px,2.4vw,30px);
}
.card-flat{background:var(--paper-2);border-color:transparent}
.card-deep{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.13);color:#fff}
.media{border-radius:var(--radius);overflow:hidden;background:var(--paper-3);position:relative}
.media picture{display:block;width:100%;height:100%}
.media img{width:100%;height:100%;object-fit:cover}

/* ---------- header ---------- */
.topbar{
  background:var(--deep);color:#fff;font-size:.83rem;
}
.topbar .shell{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:40px;padding-block:7px}
.topbar a{color:#fff;text-decoration:none;font-weight:600}
.topbar-tag{display:none}
@media (min-width:760px){.topbar-tag{display:block}}
.topbar-meta{display:flex;gap:22px;align-items:center;color:rgba(255,255,255,.72)}
.topbar-meta .hours{display:none}
@media (min-width:1000px){.topbar-meta .hours{display:block}}

.mast{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.9);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line)}
.mast .shell{display:flex;align-items:center;gap:clamp(14px,2vw,34px);min-height:74px}
.mast.is-stuck{box-shadow:0 6px 20px -14px rgba(12,16,32,.4)}
.brand{display:inline-flex;align-items:baseline;gap:.05em;text-decoration:none;font-family:"Archivo";font-weight:700;font-size:1.32rem;letter-spacing:-.038em;color:var(--ink);flex:none}
.brand em{font-style:normal;color:var(--accent)}
.nav{display:none;align-items:center;gap:clamp(10px,1.5vw,24px);margin-left:auto}
@media (min-width:1060px){.nav{display:flex}}
.nav a{
  text-decoration:none;font-weight:600;font-size:.945rem;color:var(--ink-2);
  padding:.4em 0;border-bottom:2px solid transparent;transition:color .16s,border-color .16s;
}
.nav a:hover{color:var(--ink);border-color:var(--accent)}
.nav a[aria-current="page"]{color:var(--ink);border-color:var(--accent)}
.mast-cta{display:flex;align-items:center;gap:12px;margin-left:auto}
@media (min-width:1060px){.mast-cta{margin-left:0}}
.mast-phone{display:none;text-decoration:none;font-family:"Archivo";font-weight:700;font-size:1.06rem;letter-spacing:-.02em;white-space:nowrap}
@media (min-width:620px){.mast-phone{display:inline-block}}
.burger{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--line);border-radius:999px;background:var(--paper)}
@media (min-width:1060px){.burger{display:none}}
.burger span{display:block;width:17px;height:1.6px;background:var(--ink);position:relative}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:17px;height:1.6px;background:var(--ink)}
.burger span::before{top:-5px}.burger span::after{top:5px}

.drawer{position:fixed;inset:0;z-index:70;background:var(--paper);display:none;flex-direction:column;overflow-y:auto}
.drawer[data-open="true"]{display:flex}
.drawer-head{display:flex;align-items:center;justify-content:space-between;min-height:74px;border-bottom:1px solid var(--line);padding-inline:clamp(20px,5vw,40px)}
.drawer-close{width:44px;height:44px;border:1px solid var(--line);border-radius:999px;background:var(--paper);font-size:1.2rem;line-height:1;cursor:pointer}
.drawer nav{display:flex;flex-direction:column;padding:8px clamp(20px,5vw,40px) 28px}
.drawer nav a{
  text-decoration:none;font-family:"Anton","Archivo",Impact,sans-serif;font-weight:400;font-size:1.6rem;
  letter-spacing:.01em;text-transform:uppercase;padding:.6em 0;border-bottom:1px solid var(--line-soft);
}
.drawer-foot{padding:0 clamp(20px,5vw,40px) 40px;display:grid;gap:12px}

/* ---------- hero ---------- */
.hero{background:var(--deep);color:#fff;position:relative;overflow:hidden}
.hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(120% 90% at 90% 6%,rgba(36,61,132,.42) 0%,rgba(20,31,69,0) 60%);
}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg picture{display:block;width:100%;height:100%}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:50% 64%;opacity:.62}
.hero-bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(96deg,rgba(10,14,28,.94) 0%,rgba(13,20,48,.86) 42%,rgba(20,31,69,.55) 100%);
}
@media (min-width:900px){
  .hero-bg::after{background:linear-gradient(94deg,rgba(10,14,28,.95) 0%,rgba(12,19,46,.84) 34%,rgba(20,31,69,.36) 72%,rgba(20,31,69,.3) 100%)}
}
.hero .shell{position:relative;z-index:2}
.hero-grid{display:grid;gap:clamp(34px,4vw,56px);padding-block:clamp(48px,6.5vw,92px);align-items:start}
@media (min-width:1000px){.hero-grid{grid-template-columns:minmax(0,1.14fr) minmax(0,.86fr);gap:clamp(36px,4vw,60px);align-items:center}}
.hero h1{color:#fff}
.hero h1 b{font-weight:400;color:var(--sky);display:block}

.hero-sub{font-size:clamp(1.07rem,1.45vw,1.26rem);line-height:1.56;color:rgba(255,255,255,.8);max-width:52ch;margin-top:22px}
.hero-proof{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}

/* offer form card */
.offer-card{
  background:var(--paper);color:var(--ink);border-radius:18px;padding:clamp(22px,2.6vw,32px);
  box-shadow:var(--shadow-2);border:1px solid rgba(255,255,255,.6);
}
.offer-card h2{font-size:1.42rem;letter-spacing:-.026em}
.field{display:block;margin-top:16px}
.field > span:first-child{display:block;font-size:.815rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}
.field input,.field select,.field textarea{
  width:100%;padding:.86em 1em;border:1.5px solid var(--line);border-radius:var(--radius-sm);
  background:var(--paper);transition:border-color .16s,box-shadow .16s;
}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:0;border-color:var(--indigo);box-shadow:0 0 0 3px rgba(36,61,132,.14);
}
.field-row{display:grid;gap:14px}
@media (min-width:520px){.field-row{grid-template-columns:1fr 1fr}}
.form-note{margin-top:14px;font-size:.775rem;line-height:1.45;color:var(--muted)}

.band-deep .hero-bg img{opacity:1;object-position:50% 42%}
.band-deep .hero-bg::after{background:linear-gradient(180deg,rgba(12,17,40,.82) 0%,rgba(14,21,50,.9) 55%,rgba(12,17,40,.94) 100%)}

/* ---------- trust strip ---------- */
.strip{border-bottom:1px solid var(--line);background:var(--paper)}
.strip ul{list-style:none;margin:0;padding:20px 0;display:grid;gap:14px 30px;grid-template-columns:1fr 1fr}
@media (min-width:900px){.strip ul{grid-template-columns:repeat(4,1fr);padding:22px 0}}
.strip li{display:flex;align-items:flex-start;gap:10px;font-size:.895rem;font-weight:600;color:var(--ink-2);line-height:1.35}
.strip svg{flex:none;margin-top:1px;color:var(--accent)}

/* ---------- section head ---------- */
.sec-head{max-width:none;display:grid;gap:clamp(18px,2.4vw,40px);margin-bottom:clamp(34px,4vw,54px)}
@media (min-width:900px){.sec-head{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:end}}
.sec-head .lede{margin:0}

/* ---------- compare table ---------- */
.compare{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--paper)}
.compare-row{display:grid;grid-template-columns:1fr;border-top:1px solid var(--line-soft)}
.compare-row:first-child{border-top:0}
@media (min-width:760px){.compare-row{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,1fr)}}
.compare-cell{padding:16px clamp(16px,2vw,24px)}
@media (min-width:760px){.compare-cell+.compare-cell{border-left:1px solid var(--line-soft)}}
.compare-head .compare-cell{background:var(--paper-2);font-weight:700}
.compare-head .is-ours{background:rgba(237,31,86,.06)}
.compare-cell.is-ours{background:rgba(237,31,86,.045)}
.compare-label{font-weight:600;color:var(--ink)}
.compare-cell .k{display:block;font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
@media (min-width:760px){.compare-row:not(.compare-head) .compare-cell .k{display:none}}
@media (max-width:759px){
  .compare-row{grid-template-columns:1fr 1fr}
  .compare-row .compare-cell:first-child{grid-column:1 / -1;padding:14px 16px 2px;font-size:.94rem}
  .compare-row .compare-cell+.compare-cell{border-left:1px solid var(--line-soft)}
  .compare-cell{padding:10px 16px 16px;font-size:.895rem;line-height:1.45}
  .compare-cell .k{display:none}
  .compare-head .compare-cell{padding-block:14px}
  .compare-total{font-size:1.28rem}
}
.compare-total{font-size:1.5rem}
.compare-foot{padding:14px clamp(16px,2vw,24px);background:var(--paper-2);border-top:1px solid var(--line-soft)}

/* ---------- steps ---------- */
.step{position:relative;padding-top:26px;border-top:2px solid var(--ink)}
.step .n{
  font-family:"Archivo";font-weight:800;font-size:.78rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--accent-ink);display:block;margin-bottom:12px;
}
.step h3{margin-bottom:10px}
.step p{color:var(--muted);font-size:.965rem}

/* ---------- situation cards ---------- */
.sit{
  display:flex;flex-direction:column;gap:9px;background:var(--paper);border:1px solid var(--line);
  border-radius:var(--radius);padding:22px 22px 24px;transition:border-color .2s,transform .2s var(--ease),box-shadow .2s;
  text-decoration:none;
}
a.sit:hover{border-color:var(--ink-2);transform:translateY(-3px);box-shadow:var(--shadow-1)}
.sit h3{font-size:1.075rem}
.sit p{font-size:.925rem;color:var(--muted);margin:0}
.sit .tag{font-size:.75rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--accent-ink)}

/* ---------- knowledge list ---------- */
.know{list-style:none;margin:0;padding:0;display:grid;gap:0}
.know li{padding:18px 0;border-top:1px solid rgba(255,255,255,.14);display:grid;gap:6px}
.know li:first-child{border-top:0;padding-top:0}
.know b{font-family:"Archivo";font-weight:800;font-size:1.045rem;letter-spacing:-.018em}
.know span{color:rgba(255,255,255,.7);font-size:.945rem}

/* ---------- area tiles ---------- */
.area{position:relative;border-radius:var(--radius);overflow:hidden;display:block;text-decoration:none;color:#fff;min-height:210px}
.area picture{position:absolute;inset:0;display:block}
.area img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.9);transition:transform .5s var(--ease)}
.area::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,16,32,.86) 6%,rgba(12,16,32,.12) 78%)}
.area:hover img{transform:scale(1.045)}
.area-body{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:20px;min-height:210px}
.area-body strong{font-family:"Anton","Archivo",Impact,sans-serif;font-weight:400;font-size:1.3rem;letter-spacing:.01em;text-transform:uppercase}
.area-body em{font-style:normal;font-size:.845rem;color:rgba(255,255,255,.78)}
.towns{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.towns a{text-decoration:none}

/* ---------- review ---------- */
.quote{display:grid;gap:18px}
.quote blockquote{margin:0;font-family:"Archivo";font-weight:600;font-size:clamp(1.2rem,1.9vw,1.5rem);line-height:1.32;letter-spacing:-.02em}
.stars{display:inline-flex;gap:3px;color:var(--accent)}
.who{font-size:.9rem;color:var(--muted);font-weight:600}
.placeholder-note{
  border:1.5px dashed var(--accent);border-radius:var(--radius-sm);padding:14px 16px;
  background:rgba(237,31,86,.045);font-size:.86rem;color:var(--accent-ink);font-weight:600;
}

/* ---------- faq ---------- */
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{
  cursor:pointer;list-style:none;padding:22px 44px 22px 0;position:relative;
  font-family:"Archivo";font-weight:800;font-size:clamp(1.04rem,1.5vw,1.2rem);letter-spacing:-.018em;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"";position:absolute;right:6px;top:50%;width:13px;height:13px;margin-top:-6px;
  border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);
  transform:rotate(45deg) translateY(-3px);transition:transform .22s var(--ease);
}
.faq details[open] summary::after{transform:rotate(225deg) translateY(-3px)}
.faq .ans{padding:0 clamp(0px,4vw,64px) 24px 0;color:var(--muted)}
.faq .ans p{max-width:70ch}

/* ---------- final cta ---------- */
.cta-band{background:var(--deep);color:#fff;position:relative;overflow:hidden}
.cta-band h2,.cta-band h3{color:#fff}
.cta-band .lede{color:rgba(255,255,255,.78)}
.cta-band .shell{position:relative;z-index:2}
.cta-grid{display:grid;gap:clamp(28px,4vw,56px);align-items:center}
@media (min-width:940px){.cta-grid{grid-template-columns:minmax(0,1fr) minmax(0,.82fr)}}

/* ---------- footer ---------- */
.foot{background:#0a0e1c;color:rgba(255,255,255,.68);font-size:.925rem}
.foot a{color:rgba(255,255,255,.78);text-decoration:none}
.foot a:hover{color:#fff}
.foot-grid{display:grid;gap:34px;padding-block:clamp(48px,6vw,72px)}
@media (min-width:760px){.foot-grid{grid-template-columns:1.5fr 1fr 1fr 1.2fr}}
.foot h4{color:#fff;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:16px;font-family:"Archivo";font-weight:700}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.foot .brand{color:#fff;font-size:1.3rem}
.foot-legal{border-top:1px solid rgba(255,255,255,.1);padding-block:22px;display:grid;gap:12px;font-size:.83rem}
@media (min-width:760px){.foot-legal{grid-template-columns:1fr auto;align-items:center}}
.foot-legal ul{display:flex;flex-wrap:wrap;gap:18px}
.disclaimer{max-width:78ch;color:rgba(255,255,255,.5);font-size:.79rem;line-height:1.55}

/* ---------- sticky mobile action bar ---------- */
.actionbar{
  position:fixed;left:0;right:0;bottom:0;z-index:55;display:grid;grid-template-columns:1fr 1fr;gap:10px;
  padding:10px 14px calc(10px + env(safe-area-inset-bottom));
  background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-top:1px solid var(--line);
}
@media (min-width:760px){.actionbar{display:none}}
body:has(.actionbar){padding-bottom:78px}
@media (min-width:760px){body:has(.actionbar){padding-bottom:0}}

/* ---------- reveal ---------- */
.rv{opacity:0;transform:translateY(16px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}

/* ---------- skip link ---------- */
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;z-index:100;background:var(--paper);color:var(--ink);padding:12px 18px;border-radius:999px;box-shadow:var(--shadow-1)}

/* ---------- interior page head ---------- */
.phead{background:var(--deep);color:#fff;position:relative;overflow:hidden}
.phead .shell{position:relative;z-index:2;padding-block:clamp(40px,5.4vw,78px)}
.phead h1{color:#fff;max-width:26ch;font-size:clamp(2.1rem,4.3vw,3.35rem)}
.phead .lede{color:rgba(255,255,255,.78);margin-top:20px;max-width:58ch}
.phead-grid{display:grid;gap:clamp(26px,3vw,48px)}
@media (min-width:980px){.phead-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:end}}
.crumbs{list-style:none;margin:0 0 22px;padding:0;display:flex;flex-wrap:wrap;gap:8px;font-size:.8rem;color:rgba(255,255,255,.6)}
.crumbs a{color:rgba(255,255,255,.82);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.28)}
.crumbs li+li::before{content:"/";margin-right:8px;color:rgba(255,255,255,.35)}

/* ---------- prose (legal + long copy) ---------- */
.prose{max-width:72ch}
.prose h2{font-size:clamp(1.35rem,2.1vw,1.72rem);margin:2.2em 0 .6em}
.prose h3{margin:1.8em 0 .5em}
.prose h2:first-child,.prose h3:first-child{margin-top:0}
.prose p,.prose li{color:var(--ink-2)}
.prose ul,.prose ol{padding-left:1.25em;margin:0 0 1.1em}
.prose li{margin-bottom:.5em}
.prose a{color:var(--accent-ink);text-decoration:underline;text-underline-offset:2px}
.prose table{width:100%;border-collapse:collapse;margin:1.2em 0;font-size:.94rem}
.prose th,.prose td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line)}
.prose th{background:var(--paper-2);font-weight:700}

/* ---------- two column detail layout ---------- */
.split{display:grid;gap:clamp(30px,4vw,64px);align-items:start}
/* grid items default to min-width:auto, which lets a wide table push the page sideways */
.split > *{min-width:0}
@media (min-width:980px){.split{grid-template-columns:minmax(0,1fr) minmax(0,380px)}}
.sticky-aside{position:static}
@media (min-width:980px){.sticky-aside{position:sticky;top:100px}}

/* ---------- stat row ---------- */
.stats{list-style:none;margin:0;padding:0;display:grid;gap:22px;grid-template-columns:1fr 1fr}
@media (min-width:820px){.stats{grid-template-columns:repeat(4,1fr)}}
.stats b{display:block;font-family:"Anton","Archivo",Impact,sans-serif;font-weight:400;font-size:clamp(1.85rem,3.2vw,2.5rem);letter-spacing:.01em;line-height:.95;text-transform:uppercase}
.stats span{display:block;margin-top:8px;font-size:.885rem;color:var(--muted);line-height:1.4}
.band-deep .stats span{color:rgba(255,255,255,.7)}

/* ---------- contact rows ---------- */
.contact-list{list-style:none;margin:0;padding:0;display:grid;gap:0}
.contact-list li{padding:20px 0;border-top:1px solid var(--line);display:grid;gap:5px}
.contact-list li:first-child{border-top:0;padding-top:0}
.contact-list b{font-family:"Archivo";font-weight:800;font-size:1.02rem;letter-spacing:-.015em}
.contact-list span,.contact-list a{color:var(--muted)}
.contact-list a{color:var(--accent-ink);text-decoration:none;font-weight:700}

/* ---------- visually hidden ---------- */
.vh{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- brand mark ---------- */
.brand{display:inline-flex;align-items:center;text-decoration:none;flex:none;line-height:0}
/* The lockup carries its own rounded plate and its own .COM hanging off the corner, so it
   gets no border-radius of its own, and it needs a little more height than a bare mark did
   for the .COM to stay legible. */
.brand img{width:auto;height:56px;display:block}
@media (max-width:520px){.brand img{height:48px}}
/* The plate navy is the same family as the footer ground, so on dark the sign loses its edge
   and the letters read as loose type. The PNG is transparent outside the plate, so a set of
   1px drop shadows traces the artwork's own silhouette and gives the plate its border back
   without recolouring the mark. */
.brand-foot img{height:64px;
  filter:drop-shadow(1px 0 0 rgba(255,255,255,.34)) drop-shadow(-1px 0 0 rgba(255,255,255,.34))
         drop-shadow(0 1px 0 rgba(255,255,255,.34)) drop-shadow(0 -1px 0 rgba(255,255,255,.34))}
.drawer-head .brand img{height:46px}

/* ---------- required / optional field flags ---------- */
.field > span:first-child{display:flex;align-items:baseline;gap:.5em}
.field .req{font-size:.66rem;font-weight:800;letter-spacing:.1em;color:var(--accent-ink);text-transform:uppercase}
.field .opt{font-size:.66rem;font-weight:700;font-style:normal;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}
.field input:user-invalid{border-color:var(--accent)}

/* ---------- exit intent ---------- */
.exit{position:fixed;inset:0;z-index:90;display:none}
.exit[data-open="true"]{display:block}
.exit-backdrop{position:absolute;inset:0;background:rgba(10,14,28,.62);backdrop-filter:blur(3px);animation:exit-fade .22s var(--ease) both}
.exit-panel{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:min(520px,calc(100vw - 28px));max-height:calc(100dvh - 28px);overflow-y:auto;
  background:var(--paper);border-radius:18px;box-shadow:var(--shadow-2);
  padding:clamp(24px,3.4vw,36px);animation:exit-rise .28s var(--ease) both;
}
.exit-panel h2{font-size:clamp(1.6rem,3.4vw,2.15rem);line-height:.98}
.exit-panel .lede{font-size:.98rem}
.exit-close{
  position:absolute;top:12px;right:12px;width:40px;height:40px;border-radius:999px;
  border:1px solid var(--line);background:var(--paper);font-size:1.35rem;line-height:1;cursor:pointer;color:var(--ink);
}
.exit-close:hover{background:var(--paper-2)}
.exit-alt{margin-top:16px;font-size:.88rem;color:var(--muted);text-align:center}
.exit-alt a{color:var(--accent-ink);font-weight:800;text-decoration:none;border-bottom:1.5px solid rgba(237,31,86,.3)}
@keyframes exit-fade{from{opacity:0}to{opacity:1}}
@keyframes exit-rise{from{opacity:0;transform:translate(-50%,calc(-50% + 14px))}to{opacity:1;transform:translate(-50%,-50%)}}
@media (prefers-reduced-motion:reduce){
  .exit-backdrop,.exit-panel{animation:none}
}

/* ---------- mobile tap targets and label legibility ----------
   Inline links inside a sentence are exempt from WCAG 2.5.8, but every link that
   stands on its own line gets a real touch area. */
.field .req,.field .opt{font-size:.72rem}
.topbar .shell{min-height:44px}
.topbar a{display:inline-block;padding-block:10px}
.crumbs{gap:8px 10px}
.crumbs a{display:inline-block;padding:6px 0}
.crumbs li+li::before{padding-block:6px;display:inline-block}
.link-arrow{padding-block:7px}
.foot ul{gap:2px}
.foot ul a{display:inline-block;padding:7px 0}
.foot-legal ul a{display:inline-block;padding:7px 0}
.contact-list a{display:inline-block;padding:5px 0}
.exit-alt a{display:inline-block;padding:6px 0}
.towns a.chip{padding:.52em 1em}
@media (max-width:759px){
  .hero-proof{gap:8px}
  .strip ul{gap:16px 22px}
  .stats{gap:20px 18px}
  .sit{padding:20px}
  .faq summary{padding-block:20px}
}

/* ---------- two step form ---------- */
.stepper{margin:18px 0 8px;font-size:.74rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.stepper b{font-weight:800;color:var(--ink)}
.stepbar{display:block;height:4px;border-radius:999px;background:var(--paper-3);overflow:hidden;margin-bottom:4px}
.stepbar i{display:block;height:100%;width:50%;background:var(--accent);border-radius:999px;transition:width .32s var(--ease)}
.stepback{
  display:block;margin:14px auto 0;background:none;border:0;cursor:pointer;
  font-size:.85rem;font-weight:700;color:var(--muted);text-decoration:underline;text-underline-offset:3px;padding:8px 4px;
}
.stepback:hover{color:var(--ink)}
[data-pane]{animation:pane-in .28s var(--ease) both}
@keyframes pane-in{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){[data-pane]{animation:none}}

/* ---------- who we help ---------- */
.help{position:relative;border-radius:var(--radius);overflow:hidden;display:block;text-decoration:none;color:#fff;min-height:392px}
.help picture{position:absolute;inset:0;display:block}
.help img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 28%;transition:transform .5s var(--ease)}
.help::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,15,30,.96) 0%,rgba(11,15,30,.9) 30%,rgba(11,15,30,.42) 54%,rgba(11,15,30,.06) 78%,rgba(11,15,30,0) 100%)}
.help:hover img{transform:scale(1.04)}
.help-body{position:relative;z-index:2;height:100%;min-height:392px;display:flex;flex-direction:column;justify-content:flex-end;padding:24px;gap:8px}
.help-body strong{font-family:"Anton","Archivo",Impact,sans-serif;font-weight:400;font-size:1.32rem;letter-spacing:.01em;text-transform:uppercase}
.help-body span{font-size:.925rem;color:rgba(255,255,255,.84);line-height:1.45}
.help-body em{font-style:normal;font-size:.78rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--sky);display:flex;align-items:center;gap:.4em;text-shadow:0 1px 10px rgba(11,15,30,.9)}

/* ---------- benefit checklist ---------- */
.checks{list-style:none;margin:0;padding:0;display:grid;gap:14px 30px;grid-template-columns:1fr}
@media (min-width:600px){.checks{grid-template-columns:1fr 1fr}}
@media (min-width:960px){.checks{grid-template-columns:repeat(3,1fr)}}
.checks li{display:flex;align-items:flex-start;gap:12px;font-weight:700;font-size:1rem;line-height:1.35}
.checks svg{flex:none;margin-top:3px;color:var(--accent)}
.band-deep .checks svg{color:var(--sky)}

/* ---------- transfer tax calculator ---------- */
.calc{background:var(--paper-2);border:1px solid var(--line);border-radius:18px;padding:clamp(20px,2.6vw,30px)}
.calc-grid{display:grid;gap:16px}
@media (min-width:640px){.calc-grid{grid-template-columns:1fr 1fr}}
@media (min-width:900px){#calc > .calc-grid{grid-template-columns:1.1fr 1.3fr .9fr}}
.calc .field > span:first-child{margin-bottom:7px}
.calc .field .micro{margin-top:7px;display:block;text-transform:none;letter-spacing:0;font-weight:400}
.calc .field input,.calc .field select{background:var(--paper)}
.input-money,.input-pct{position:relative;display:block}
.input-money input{padding-left:2em}
.input-pct input{padding-right:2.2em}
.input-money::before,.input-pct::after{
  position:absolute;top:50%;transform:translateY(-50%);color:var(--muted);font-weight:700;pointer-events:none;
}
.input-money::before{content:"$";left:1em}
.input-pct::after{content:"%";right:1em}
.calc-custom{margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}

.calc-out{display:block;margin-top:clamp(20px,2.4vw,26px)}
.calc-totals{display:grid;gap:14px}
@media (min-width:600px){.calc-totals{grid-template-columns:1fr 1fr}}
.calc-total{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:18px 20px}
.calc-total.is-seller{border-color:rgba(237,31,86,.35);background:rgba(237,31,86,.035)}
.calc-total .k{display:block;font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.calc-total strong.num{display:block;font-size:clamp(1.9rem,3.6vw,2.5rem);line-height:1;margin:8px 0 4px;text-transform:uppercase}
.calc-total ul{list-style:none;margin:12px 0 0;padding:12px 0 0;border-top:1px solid var(--line-soft);display:grid;gap:9px}
.calc-total li{display:grid;grid-template-columns:1fr auto;gap:2px 10px;font-size:.9rem}
.calc-total li .l{font-weight:700}
.calc-total li .v{font-weight:700;font-variant-numeric:tabular-nums}
.calc-total li em{grid-column:1 / -1;font-style:normal;font-size:.78rem;color:var(--muted)}
.calc-total li.empty{color:var(--muted);font-size:.88rem}
.calc-note{margin:16px 0 0;font-size:.875rem;color:var(--muted);line-height:1.5}
.calc-note.is-warn{
  color:var(--accent-ink);font-weight:600;background:rgba(237,31,86,.055);
  border-radius:10px;padding:12px 14px;border:1px solid rgba(237,31,86,.22);
}

.calc-net{margin-top:22px;border-top:1px solid var(--line);padding-top:18px}
.calc-net summary{cursor:pointer;font-weight:800;font-size:.95rem;list-style:none;position:relative;padding:6px 30px 6px 0}
.calc-net summary::-webkit-details-marker{display:none}
.calc-net summary::after{
  content:"";position:absolute;right:6px;top:50%;width:10px;height:10px;margin-top:-6px;
  border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);
  transform:rotate(45deg);transition:transform .22s var(--ease);
}
.calc-net[open] summary::after{transform:rotate(225deg) translateY(-2px)}
.calc-net-out{margin-top:18px;background:var(--deep);color:#fff;border-radius:14px;padding:18px 20px}
.calc-net-out .k{display:block;font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--sky)}
.calc-net-out strong.num{display:block;font-size:clamp(1.9rem,3.6vw,2.5rem);line-height:1;margin:8px 0 6px;text-transform:uppercase}
.calc-net-out strong.num.is-negative{color:#ff8fab}
.calc-net-out .micro{color:rgba(255,255,255,.7)}

/* ---------- rate table ---------- */
.table-scroll{overflow-x:auto;margin-top:clamp(18px,2.2vw,26px);border:1px solid var(--line);border-radius:var(--radius)}
table.rates{width:100%;border-collapse:collapse;font-size:.92rem;min-width:600px}
table.rates th,table.rates td{text-align:left;padding:13px 16px;border-bottom:1px solid var(--line-soft);vertical-align:top}
table.rates thead th{
  background:var(--paper-2);font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted);white-space:nowrap;position:sticky;top:0;
}
table.rates tbody tr:last-child th,table.rates tbody tr:last-child td{border-bottom:0}
table.rates tbody th{font-weight:800;white-space:nowrap}
table.rates td.num{font-variant-numeric:tabular-nums;white-space:nowrap}
.vstat{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.05em;padding:.3em .65em;border-radius:999px;white-space:nowrap}
.vstat.ok{background:rgba(15,122,82,.12);color:#0b6343}
.vstat.part{background:rgba(179,124,0,.14);color:#7a5200}
.vstat.unk{background:var(--paper-3);color:var(--muted)}
.table-scroll:focus-visible{outline:3px solid rgba(237,31,86,.4);outline-offset:2px}
