/* Mortza design system v2: dark premium fintech.
   Deep navy-black ground, layered surfaces, electric blue accent, mint for positive signals. Geist + Geist Mono. */
[hidden]{display:none!important}
@font-face{font-family:"Geist";src:url("../fonts/geist-latin.woff2") format("woff2-variations"),url("../fonts/geist-latin.woff2") format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Geist Mono";src:url("../fonts/geist-mono-latin.woff2") format("woff2-variations"),url("../fonts/geist-mono-latin.woff2") format("woff2");font-weight:100 900;font-display:swap}
:root{
  color-scheme:dark;
  --bg:#070B16;
  --bg-2:#0A1020;
  --surface:#0F1729;
  --surface-2:#152039;
  --line:rgba(148,170,210,.13);
  --line-2:rgba(148,170,210,.26);
  --text:#EAF0FA;
  --muted:#97A5BE;
  --dim:#8090AA;
  --accent:#5B8CFF;
  --accent-2:#9DB8FF;
  --glow:rgba(91,140,255,.38);
  --mint:#3DDBB0;
  --warn:#F5B451;
  --danger:#FF7A7A;
  --sans:"Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --mono:"Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;
  --step--1:clamp(.84rem,.82rem + .1vw,.9rem);
  --step-0:clamp(1rem,.97rem + .15vw,1.06rem);
  --step-1:clamp(1.15rem,1.08rem + .35vw,1.35rem);
  --step-2:clamp(1.45rem,1.25rem + .9vw,1.95rem);
  --step-3:clamp(1.85rem,1.45rem + 1.8vw,2.85rem);
  --step-4:clamp(2.35rem,1.6rem + 3.4vw,4.4rem);
  --gutter:clamp(1rem,.6rem + 2vw,2.5rem);
  --max:1200px;
  --measure:68ch;
  --r:12px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:88px;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--text);font:400 var(--step-0)/1.65 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{display:block;max-width:100%}
a{color:var(--accent-2);text-decoration:none}
a:hover{color:#fff}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
::selection{background:var(--accent);color:#fff}
.skip{position:absolute;left:-999px;top:0;background:var(--accent);color:#fff;padding:.6rem 1rem;z-index:100}
.skip:focus{left:1rem;top:1rem}
.wrap{max-width:var(--max);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}
h1,h2,h3{font-family:var(--sans);font-weight:600;letter-spacing:-.035em;line-height:1.06;margin:0;color:#fff;text-wrap:balance}
h1{font-size:var(--step-4)}
h2{font-size:var(--step-3);letter-spacing:-.03em}
h3{font-size:var(--step-1);letter-spacing:-.015em;line-height:1.25}
p{margin:0 0 1em}
.lede{font-size:var(--step-1);line-height:1.55;color:var(--muted);max-width:52ch}
.num,.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}

/* Header */
.notice-bar{background:var(--surface);border-bottom:1px solid var(--line);color:var(--muted);font-size:.8rem;padding:.45rem var(--gutter);text-align:center}
.site-head{position:sticky;top:0;z-index:40;background:rgba(7,11,22,.72);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line)}
.site-head .wrap{display:flex;align-items:center;gap:1.5rem;min-height:66px}
.brand{display:flex;align-items:center;gap:.55rem;color:#fff;font:600 1.3rem/1 var(--sans);letter-spacing:-.04em}
.brand:hover{color:#fff}
.brand svg{width:28px;height:28px}
.nav{display:flex;gap:1.6rem;margin-left:auto;font-size:.92rem}
.nav a{color:var(--muted);padding:.4rem 0}
.nav a:hover,.nav a[aria-current="page"]{color:#fff}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font:500 .92rem/1 var(--sans);border:1px solid transparent;background:#3D6FE8;color:#fff;padding:.8rem 1.1rem;border-radius:10px;cursor:pointer;transition:background .15s ease,box-shadow .2s ease,transform .1s ease;box-shadow:0 0 0 1px rgba(255,255,255,.08) inset,0 8px 24px -10px var(--glow)}
.btn:hover{background:#2F62D6;color:#fff;box-shadow:0 0 0 1px rgba(255,255,255,.14) inset,0 10px 30px -8px var(--glow)}
.btn:active{transform:translateY(1px)}
.btn--ghost{background:rgba(255,255,255,.04);border-color:var(--line-2);box-shadow:none;color:var(--text)}
.btn--ghost:hover{background:rgba(255,255,255,.08);box-shadow:none}
.menu-btn{display:none;margin-left:auto;background:none;border:0;padding:.5rem;cursor:pointer;color:#fff}
@media (max-width:880px){
  .nav{display:none;position:absolute;top:66px;left:0;right:0;flex-direction:column;gap:0;background:var(--bg);border-bottom:1px solid var(--line);padding:.5rem var(--gutter) 1rem}
  .nav.open{display:flex}
  .nav a{padding:.85rem 0;border-bottom:1px solid var(--line);font-size:var(--step-0)}
  .menu-btn{display:block}
  .site-head .btn{display:none}
}

/* Hero */
.hero{position:relative;overflow:hidden;padding:clamp(3rem,1.5rem + 6vw,6.5rem) 0 clamp(3rem,2rem + 4vw,5rem);isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;z-index:-2;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse 80% 70% at 70% 30%,#000 10%,transparent 75%);mask-image:radial-gradient(ellipse 80% 70% at 70% 30%,#000 10%,transparent 75%);opacity:.55}
.hero::after{content:"";position:absolute;z-index:-1;width:min(760px,90vw);height:560px;right:-8%;top:-12%;background:radial-gradient(closest-side,rgba(91,140,255,.32),rgba(91,140,255,.08) 55%,transparent);filter:blur(10px)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(2rem,1rem + 4vw,4.5rem);align-items:center}
.pill{display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--line-2);background:rgba(255,255,255,.03);color:var(--muted);border-radius:999px;padding:.35rem .75rem .35rem .45rem;font-size:.82rem;margin-bottom:1.4rem}
.pill b{background:rgba(61,219,176,.14);color:var(--mint);font-weight:500;border-radius:999px;padding:.1rem .5rem;font-size:.74rem}
.hero h1{font-size:clamp(2.6rem,1.5rem + 4.4vw,5.1rem);line-height:1.02;letter-spacing:-.045em}
.nw{white-space:nowrap}
.qualify-word{position:relative;display:inline-block;border:0;background:none;padding:0;font:inherit;letter-spacing:inherit;color:var(--accent-2);cursor:pointer;text-shadow:0 0 32px var(--glow)}
.qualify-word::after{content:"";position:absolute;left:0;right:0;bottom:.04em;height:2px;background:linear-gradient(90deg,var(--accent),rgba(91,140,255,0));transform-origin:left;transition:transform .5s cubic-bezier(.7,0,.2,1)}
.qualify-word .w{display:inline-block;transition:opacity .22s ease,transform .22s ease}
.qualify-word.is-swapping .w{opacity:0;transform:translateY(.12em)}
.qualify-word.is-swapping::after{transform:scaleX(0)}
.hero-note{margin-top:1.4rem}
.qualify-list{display:flex;flex-wrap:wrap;gap:.45rem;margin:1.5rem 0 0;padding:0;list-style:none}
.qualify-list button{font:500 .84rem/1 var(--sans);background:rgba(255,255,255,.03);border:1px solid var(--line-2);color:var(--muted);padding:.55rem .8rem;border-radius:999px;cursor:pointer;transition:all .15s}
.qualify-list button:hover{color:#fff;border-color:rgba(157,184,255,.5)}
.qualify-list button[aria-pressed="true"]{background:rgba(91,140,255,.16);color:#fff;border-color:rgba(91,140,255,.6)}
.ask-bar{margin-top:2rem;display:flex;gap:.5rem;background:var(--surface);border:1px solid var(--line-2);border-radius:14px;padding:.45rem;max-width:560px;box-shadow:0 20px 50px -30px rgba(0,0,0,.8)}
.ask-bar input{flex:1;min-width:0;background:transparent;border:0;color:#fff;font:400 1rem/1.4 var(--sans);padding:.6rem .7rem}
.ask-bar input::placeholder{color:var(--dim)}
.ask-bar input:focus{outline:none}
.ask-bar:focus-within{border-color:rgba(91,140,255,.7);box-shadow:0 0 0 4px rgba(91,140,255,.15)}
.fine{font-size:.8rem;color:var(--dim);margin-top:.7rem;max-width:56ch}

/* Product panel (example conversation) */
.panel{position:relative;background:linear-gradient(180deg,rgba(21,32,57,.92),rgba(13,20,37,.96));border:1px solid var(--line-2);border-radius:18px;box-shadow:0 40px 90px -40px rgba(0,0,0,.9),0 0 0 1px rgba(255,255,255,.03) inset;overflow:hidden}
.panel-top{display:flex;align-items:center;gap:.6rem;padding:.8rem 1rem;border-bottom:1px solid var(--line);font-size:.82rem;color:var(--muted)}
.panel-top .dot{width:8px;height:8px;border-radius:50%;background:var(--mint);box-shadow:0 0 10px var(--mint)}
.panel-top .tag{margin-left:auto;font-family:var(--mono);font-size:.7rem;color:var(--dim);border:1px solid var(--line);border-radius:6px;padding:.15rem .45rem}
.panel-body{padding:1rem;display:grid;gap:.7rem}
.bubble{max-width:88%;padding:.7rem .85rem;border-radius:12px;font-size:.88rem;line-height:1.5}
.bubble.me{justify-self:end;background:var(--accent);color:#fff;border-bottom-right-radius:4px}
.bubble.ai{background:rgba(255,255,255,.05);border:1px solid var(--line);color:var(--text);border-bottom-left-radius:4px}
.scenario{border:1px solid var(--line);border-radius:12px;background:rgba(7,11,22,.55);padding:.85rem}
.scenario h4{margin:0 0 .6rem;font:500 .74rem/1 var(--mono);color:var(--dim);letter-spacing:.04em}
.kv{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem;font-size:.84rem}
.kv dt{color:var(--muted)}
.kv dd{margin:0;color:#fff;font-family:var(--mono);font-size:.8rem;text-align:right}
.matches{display:grid;gap:.45rem;margin-top:.8rem}
.match{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.6rem;font-size:.84rem}
.match .bar{grid-column:1 / -1;height:4px;border-radius:4px;background:rgba(255,255,255,.06);overflow:hidden}
.match .bar i{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,var(--accent),var(--mint));transform-origin:left}
.match small{font-family:var(--mono);color:var(--muted);font-size:.72rem}
.panel-foot{border-top:1px solid var(--line);padding:.7rem 1rem;font-size:.76rem;color:var(--dim)}
.demo [data-step]{opacity:1;transform:none;transition:opacity .45s ease,transform .45s ease}
.demo.playing [data-step]:not(.shown){opacity:0;transform:translateY(8px)}
@media (max-width:960px){.hero-grid{grid-template-columns:1fr}.hero::after{right:-30%;top:30%}}

/* Trust strip */

/* Sections */
.band{padding:clamp(3.5rem,2rem + 5vw,7rem) 0;border-top:1px solid var(--line)}
.band--paper{background:var(--bg-2)}
.band--ink{background:var(--bg)}
.band-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem 3rem;align-items:end;margin-bottom:2.6rem}
.band-head p{color:var(--muted);max-width:56ch;margin:0}
.kicker{display:block;font:500 .8rem/1 var(--mono);color:var(--accent-2);margin-bottom:.9rem}
@media (max-width:860px){.band-head{grid-template-columns:1fr}}

/* Pipeline */
.pipeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;position:relative;counter-reset:s;list-style:none;margin:0;padding:0}
.pipeline li{position:relative;padding:1.3rem 1.3rem 1.4rem;border:1px solid var(--line);background:var(--surface);counter-increment:s}
.pipeline li+li{border-left:0}
.pipeline li:first-child{border-radius:var(--r) 0 0 var(--r)}
.pipeline li:last-child{border-radius:0 var(--r) var(--r) 0;background:linear-gradient(180deg,rgba(61,219,176,.08),var(--surface))}
.pipeline li::before{content:"0" counter(s);display:block;font:500 .74rem/1 var(--mono);color:var(--dim);margin-bottom:1.6rem}
.pipeline .ico{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:rgba(91,140,255,.12);color:var(--accent-2);margin-bottom:.9rem}
.pipeline li:last-child .ico{background:rgba(61,219,176,.12);color:var(--mint)}
.pipeline h3{font-size:1.05rem;margin-bottom:.4rem}
.pipeline p{color:var(--muted);font-size:.9rem;margin:0}
.pipeline .who{display:inline-block;margin-top:.9rem;font:500 .72rem/1 var(--mono);color:var(--dim);border:1px solid var(--line);border-radius:6px;padding:.25rem .45rem}
@media (max-width:900px){.pipeline{grid-template-columns:1fr 1fr}.pipeline li{border-left:1px solid var(--line)!important;border-radius:0!important}.pipeline li:first-child{border-radius:var(--r) 0 0 0!important}}
@media (max-width:560px){.pipeline{grid-template-columns:1fr}}

/* Program tiles */
.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.tile{display:flex;flex-direction:column;gap:.55rem;background:var(--bg-2);padding:1.4rem 1.3rem 1.3rem;color:var(--text);transition:background .2s}
.tile:hover{background:var(--surface);color:var(--text)}
.tile .ico{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;border:1px solid var(--line-2);color:var(--accent-2);margin-bottom:.4rem;transition:all .2s}
.tile:hover .ico{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 8px 24px -8px var(--glow)}
.tile strong{font-weight:600;font-size:1.05rem;letter-spacing:-.015em;color:#fff}
.tile span{color:var(--muted);font-size:.88rem;line-height:1.5}
.tiles + p{margin-top:1rem}
@media (min-width:1100px){.tiles{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media (max-width:540px){.tiles{grid-template-columns:1fr}}
.tile em{font-style:normal;margin-top:auto;padding-top:.6rem;font:500 .74rem/1 var(--mono);color:var(--dim)}

/* Ledger table (hub) */
.ledger{width:100%;border-collapse:collapse;font-size:.92rem}
.ledger th{font:500 .76rem/1.3 var(--mono);text-align:left;color:var(--dim);padding:.8rem 1rem .8rem 0;border-bottom:1px solid var(--line-2)}
.ledger td{padding:1.05rem 1rem 1.05rem 0;border-bottom:1px solid var(--line);vertical-align:top;color:var(--muted)}
.ledger td:first-child{font-weight:600;font-size:1.02rem;color:#fff;width:26%}
.ledger td:first-child a{color:#fff}
.ledger tr:hover td:first-child a{color:var(--accent-2)}
@media (max-width:720px){
  .ledger thead{display:none}
  .ledger tr{display:block;border-bottom:1px solid var(--line);padding:1rem 0}
  .ledger td{display:block;border:0;padding:.2rem 0;width:auto!important}
  .ledger td[data-label]::before{content:attr(data-label) ": ";color:var(--dim)}
}

/* Steps (legacy) */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.steps li{border-top:1px solid var(--line-2);padding-top:1rem}
.steps p{color:var(--muted)}

/* Mini calculator on home */
.calc-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(2rem,1rem + 4vw,4rem);align-items:center}
@media (max-width:900px){.calc-split{grid-template-columns:1fr}}

/* Article */
.crumbs{font-size:.84rem;color:var(--dim);padding-top:1.6rem}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}
.crumbs a{color:var(--muted)}
.crumbs a:hover{color:#fff}
.crumbs li+li::before{content:"/";margin-right:.4rem;color:var(--line-2)}
.article-head{padding-top:1.6rem;padding-bottom:2.4rem;border-bottom:1px solid var(--line)}
.article-head h1{font-size:clamp(2.1rem,1.4rem + 2.6vw,3.5rem);max-width:22ch}
.answer{margin-top:1.5rem;max-width:64ch;font-size:var(--step-1);line-height:1.6;color:var(--text);padding:1.1rem 1.25rem;border:1px solid rgba(91,140,255,.35);background:linear-gradient(180deg,rgba(91,140,255,.08),rgba(91,140,255,.02));border-radius:12px}
.meta{margin-top:1rem;font-size:.82rem;color:var(--dim)}
.article-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:clamp(2rem,1rem + 4vw,4.5rem);padding-top:2.6rem;padding-bottom:3.5rem}
.prose{max-width:var(--measure);color:#C9D3E4;font-size:1.04rem;line-height:1.75}
.prose h2{font-size:var(--step-2);margin:2.8rem 0 .9rem;scroll-margin-top:96px}
.prose h2:first-child{margin-top:0}
.prose strong{color:#fff;font-weight:600}
.prose a{text-decoration:underline;text-decoration-color:rgba(157,184,255,.4);text-underline-offset:.18em}
.prose a:hover{text-decoration-color:#fff}
.prose ul,.prose ol{padding-left:1.2rem;margin:0 0 1.2em}
.prose li{margin:.35em 0}
.prose li::marker{color:var(--accent-2)}
.prose table{width:100%;border-collapse:collapse;margin:1.3rem 0 1.7rem;font-size:.92rem;background:var(--surface);border-radius:10px;overflow:hidden}
.prose th,.prose td{border-bottom:1px solid var(--line);padding:.7rem .85rem;text-align:left;vertical-align:top}
.prose th{background:var(--surface-2);color:#fff;font-weight:600}
.table-scroll{overflow-x:auto;border-radius:10px}
.aside{position:relative}
.aside-inner{position:sticky;top:92px;display:grid;gap:1.2rem}
.glance{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1.2rem}
.glance h2{font-size:1.02rem;margin-bottom:.9rem;letter-spacing:-.01em}
.glance dl{margin:0;display:grid;gap:.85rem;font-size:.88rem}
.glance dt{color:var(--dim);font:500 .74rem/1.3 var(--mono);margin-bottom:.15rem}
.glance dd{margin:0;color:var(--text)}
.glance ul{margin:.2rem 0 0;padding-left:1.1rem;color:var(--muted)}
.toc{font-size:.88rem}
.toc h2{font-size:.78rem;font-family:var(--mono);font-weight:500;color:var(--dim);margin-bottom:.6rem;letter-spacing:0}
.toc ol{margin:0;padding-left:0;list-style:none;display:grid;gap:.1rem;border-left:1px solid var(--line)}
.toc a{display:block;color:var(--muted);padding:.3rem 0 .3rem .9rem;margin-left:-1px;border-left:1px solid transparent}
.toc a:hover{color:#fff;border-left-color:var(--accent)}
.ask-card{border:1px solid rgba(91,140,255,.4);border-radius:14px;padding:1.2rem;background:radial-gradient(120% 120% at 100% 0%,rgba(91,140,255,.2),transparent 60%),var(--surface)}
.ask-card h2{font-size:1.05rem!important;margin-bottom:.4rem!important}
.ask-card p{font-size:.88rem;color:var(--muted)}
@media (max-width:980px){.article-grid{grid-template-columns:1fr}.aside-inner{position:static}.toc{display:none}}

.faq{margin-top:3rem}
.faq h2{margin-bottom:1rem}
.faq details{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:0 1.1rem;margin-bottom:.6rem;transition:border-color .2s}
.faq details[open]{border-color:var(--line-2)}
.faq summary{cursor:pointer;font-weight:500;color:#fff;list-style:none;display:flex;justify-content:space-between;gap:1rem;padding:1rem 0}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:300 1.3rem/1 var(--sans);color:var(--accent-2);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin:0 0 1.1rem;color:var(--muted);max-width:var(--measure)}
.sources{margin-top:2.6rem;font-size:.88rem;color:var(--muted)}
.sources h2{font-size:1.1rem;margin-bottom:.7rem}
.sources ul{padding-left:1.1rem}
.related{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.related a{display:flex;flex-direction:column;gap:.45rem;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1.3rem;color:var(--text);transition:border-color .2s,transform .2s}
.related a:hover{border-color:rgba(91,140,255,.5);transform:translateY(-2px)}
.related a strong{font-weight:600;font-size:1.05rem;letter-spacing:-.015em;color:#fff}
.related a span{color:var(--muted);font-size:.88rem}
@media (max-width:860px){.related{grid-template-columns:1fr}}

/* Calculators */
.calc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.6rem;background:var(--surface);border:1px solid var(--line-2);border-radius:18px;padding:clamp(1.2rem,1rem + 1vw,1.8rem);margin:1.8rem 0;box-shadow:0 40px 90px -50px rgba(0,0,0,.9)}
.field{display:grid;gap:.35rem;margin-bottom:1rem}
.field label{font-weight:500;font-size:.88rem;color:#fff}
.field .hint{color:var(--dim);font-size:.78rem}
.field input,.field select,.lead-form input,.lead-form select{font:400 1rem/1.3 var(--sans);padding:.75rem .8rem;border:1px solid var(--line-2);border-radius:10px;background:var(--bg);color:#fff;width:100%}
.field input{font-family:var(--mono)}
.field input:focus,.field select:focus,.lead-form input:focus,.lead-form select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(91,140,255,.2)}
.result{background:radial-gradient(120% 100% at 100% 0%,rgba(91,140,255,.18),transparent 60%),var(--bg);border:1px solid var(--line);border-radius:14px;padding:1.3rem;align-self:start}
.result output{display:block;font:500 clamp(2.6rem,2rem + 2.4vw,3.8rem)/1 var(--mono);letter-spacing:-.04em;color:#fff;margin:.5rem 0 .2rem;font-variant-numeric:tabular-nums}
.result .label{font:500 .76rem/1 var(--mono);color:var(--dim)}
.result dl{display:grid;grid-template-columns:1fr auto;gap:.5rem 1rem;font-size:.88rem;margin:1.1rem 0 0;padding-top:1rem;border-top:1px solid var(--line)}
.result dt{color:var(--muted)}
.result dd{margin:0;text-align:right;font-family:var(--mono);color:#fff}
.result p{font-size:.86rem;margin-top:1rem;color:var(--muted)}
@media (max-width:760px){.calc{grid-template-columns:1fr}}

/* Footer */
.site-foot{background:var(--bg-2);border-top:1px solid var(--line);color:var(--muted);padding:4rem 0 2rem;font-size:.88rem}
.site-foot a{color:var(--muted)}
.site-foot a:hover{color:#fff}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2rem}
.foot-grid h2{font:500 .76rem/1.2 var(--mono);color:var(--dim);margin-bottom:.9rem;letter-spacing:0}
.foot-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.legal{border-top:1px solid var(--line);margin-top:3rem;padding-top:1.6rem;display:grid;gap:.75rem;color:var(--dim);font-size:.8rem;max-width:120ch}
.ehl{display:flex;align-items:center;gap:.6rem;color:var(--muted)}
.ehl svg path{stroke:var(--muted)}
@media (max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}}

/* Advisor panel */
.ask-fab{position:fixed;right:1.1rem;bottom:1.1rem;z-index:50}
.advisor{position:fixed;inset:0 0 0 auto;width:min(460px,100vw);background:var(--bg-2);border-left:1px solid var(--line-2);z-index:60;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .32s cubic-bezier(.2,.8,.2,1);visibility:hidden;box-shadow:-30px 0 80px -20px rgba(0,0,0,.8)}
.advisor.open{transform:none;visibility:visible}
.advisor-head{display:flex;align-items:start;gap:.8rem;padding:1rem 1.1rem;border-bottom:1px solid var(--line)}
.advisor-head h2{font-size:1.1rem;display:flex;align-items:center;gap:.5rem}
.advisor-head h2::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--mint);box-shadow:0 0 10px var(--mint)}
.advisor-head p{margin:.25rem 0 0;font-size:.78rem;color:var(--dim);line-height:1.45}
.advisor-close{margin-left:auto;background:none;border:0;font-size:1.6rem;line-height:1;cursor:pointer;color:var(--muted);padding:.2rem .4rem}
.advisor-close:hover{color:#fff}
.advisor-log{flex:1;overflow-y:auto;padding:1.1rem;display:flex;flex-direction:column;gap:.75rem}
.msg{max-width:88%;padding:.75rem .9rem;border-radius:12px;font-size:.93rem;line-height:1.55;white-space:pre-wrap}
.msg--ai{background:rgba(255,255,255,.05);border:1px solid var(--line);align-self:flex-start;border-bottom-left-radius:4px}
.msg--me{background:var(--accent);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
.msg--note{align-self:stretch;max-width:none;background:rgba(245,180,81,.1);border:1px solid rgba(245,180,81,.35);color:#F7D7A4;font-size:.85rem}
.msg--typing{color:var(--dim)}
.advisor-form{display:flex;gap:.5rem;padding:.8rem;border-top:1px solid var(--line)}
.advisor-form textarea{flex:1;resize:none;min-height:46px;max-height:140px;font:400 .95rem/1.4 var(--sans);padding:.7rem;border:1px solid var(--line-2);border-radius:10px;background:var(--bg);color:#fff}
.lead-form{display:grid;gap:.65rem;padding:1rem;background:var(--surface);border:1px solid var(--line-2);border-radius:14px}
.lead-form h3{font-size:1.02rem}
.lead-form .two{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}
.lead-form label{font-size:.8rem;font-weight:500;display:grid;gap:.3rem;color:#fff}
.lead-form .consent{display:flex;gap:.55rem;font-weight:400;font-size:.74rem;line-height:1.45;color:var(--muted);align-items:start}
.lead-form .consent input{width:auto;margin-top:.2rem;accent-color:var(--accent)}
.lead-form p{color:var(--muted)!important}
.scrim{position:fixed;inset:0;background:rgba(3,6,14,.6);backdrop-filter:blur(2px);z-index:55;opacity:0;pointer-events:none;transition:opacity .3s}
.scrim.show{opacity:1;pointer-events:auto}

.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:640px){
  .ask-fab{left:.75rem;right:.75rem;bottom:.75rem;width:auto}
  body{padding-bottom:64px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}.demo.playing [data-step]{opacity:1!important;transform:none!important}}
@media print{.site-head,.ask-fab,.advisor,.site-foot,.aside{display:none}body{background:#fff;color:#000}}

/* AI-first hero */
.hero-ai{padding-top:clamp(3.5rem,2rem + 6vw,7rem)}
.hero-ai::after{left:50%;right:auto;transform:translateX(-50%);top:-18%;width:min(1000px,110vw);height:620px}
.hero-ai::before{-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 25%,#000 10%,transparent 75%);mask-image:radial-gradient(ellipse 70% 60% at 50% 25%,#000 10%,transparent 75%)}
.hero-center{max-width:820px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center}
.hero-center h1{font-size:clamp(2.7rem,1.6rem + 4.8vw,5.4rem);line-height:1;letter-spacing:-.05em;background:linear-gradient(180deg,#fff 30%,#B9CCFF);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-center .lede{margin:1.4rem auto 0;max-width:60ch}
.prompt{width:100%;max-width:720px;margin-top:2.2rem;text-align:left;background:linear-gradient(180deg,rgba(21,32,57,.95),rgba(15,23,41,.95));border:1px solid rgba(91,140,255,.45);border-radius:18px;padding:.9rem .9rem .75rem 1.1rem;box-shadow:0 0 0 6px rgba(91,140,255,.08),0 30px 80px -30px rgba(91,140,255,.45)}
.prompt:focus-within{border-color:var(--accent);box-shadow:0 0 0 6px rgba(91,140,255,.16),0 30px 80px -30px rgba(91,140,255,.6)}
.prompt textarea{width:100%;resize:none;background:transparent;border:0;color:#fff;font:400 1.08rem/1.5 var(--sans);padding:.2rem 0;min-height:3.2em}
.prompt textarea::placeholder{color:var(--dim)}
.prompt textarea:focus{outline:none}
.prompt-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.5rem}
.prompt-row .fine{margin:0}
.suggest{list-style:none;margin:1.2rem 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;max-width:860px}
.suggest button{font:400 .86rem/1.3 var(--sans);color:var(--muted);background:rgba(255,255,255,.03);border:1px solid var(--line-2);border-radius:999px;padding:.55rem .9rem;cursor:pointer;transition:all .15s}
.suggest button:hover{color:#fff;border-color:rgba(91,140,255,.6);background:rgba(91,140,255,.1)}
.demo-wide{max-width:1040px;margin:clamp(3rem,2rem + 3vw,4.5rem) auto 0 !important}
.demo-wide .panel-body{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:1.2rem;align-items:start;padding:1.2rem}
.demo-wide .convo{display:grid;gap:.7rem}
@media (max-width:860px){.demo-wide .panel-body{grid-template-columns:1fr}}
@media (max-width:560px){.prompt-row .fine{display:none}.prompt-row{justify-content:flex-end}}

/* ===== v4: luxury real estate + fintech ===== */
:root{--gold:#D9B77E;--gold-2:#F1DDB6;--serif:var(--sans)}
.hero-photo{position:relative;isolation:isolate;padding:clamp(2.5rem,1.5rem + 4vw,5rem) 0 clamp(2rem,1rem + 2.5vw,3rem);min-height:0;display:flex;align-items:center}
.hero+.band{padding-top:clamp(2.5rem,1.5rem + 3vw,4.5rem)}
.hero-photo::before,.hero-photo::after{display:none}
.hero-bg{position:absolute;inset:0;z-index:-1;overflow:hidden}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:60% 50%;transform:scale(1.03)}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,11,22,.94) 0%,rgba(7,11,22,.78) 38%,rgba(7,11,22,.35) 70%,rgba(7,11,22,.55) 100%),linear-gradient(0deg,var(--bg) 0%,rgba(7,11,22,0) 22%)}
.hero-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(2rem,1rem + 4vw,4.5rem);align-items:center;width:100%}
.hero-copy h1{font-family:var(--sans);font-weight:600;font-size:clamp(2.2rem,1.4rem + 2.8vw,3.75rem);line-height:1.04;letter-spacing:-.04em;max-width:14ch;color:#fff}
.hero-copy h1{text-wrap:balance}.hero-copy h1 .nw{white-space:nowrap}
.hero-copy .lede{margin-top:1.1rem;color:#C9D3E4;max-width:44ch}
.hero-copy .ask-bar{margin-top:1.8rem;background:rgba(10,16,32,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.suggest--left{justify-content:flex-start;margin-top:.9rem}
.suggest--left button{background:rgba(10,16,32,.55);backdrop-filter:blur(6px)}
.hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:2.2rem 0 0;padding-top:1.4rem;border-top:1px solid rgba(255,255,255,.12);max-width:600px}
.hero-stats dt{font:500 .72rem/1 var(--mono);color:var(--gold);margin-bottom:.45rem}
.hero-stats dd{margin:0;font-size:.88rem;color:#fff}
@media (max-width:1020px){.hero-split{grid-template-columns:minmax(0,1fr)}.hero-photo{min-height:0}.hero-copy h1{max-width:none}}
@media (max-width:560px){.hero-stats{grid-template-columns:1fr 1fr}.hero-stats div:last-child{grid-column:1 / -1}}

/* 3-step lead wizard */
.wizard{position:relative;background:rgba(9,14,28,.86);backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);border:1px solid rgba(217,183,126,.28);border-radius:20px;padding:1.5rem;box-shadow:0 50px 100px -40px rgba(0,0,0,.95),0 0 0 1px rgba(255,255,255,.04) inset;color:var(--text)}
.wizard h2{font-family:var(--sans);font-weight:600;letter-spacing:-.03em;font-size:1.9rem;letter-spacing:-.01em;line-height:1.1}
.wiz-sub{color:var(--muted);font-size:.86rem;margin:.4rem 0 1rem}
.wiz-progress{height:4px;border-radius:4px;background:rgba(255,255,255,.08);overflow:hidden}
.wiz-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--accent));border-radius:4px;transition:width .45s cubic-bezier(.2,.8,.2,1)}
.wiz-step-label{display:flex;justify-content:space-between;align-items:center;font:500 .74rem/1 var(--mono);color:var(--dim);margin:.6rem 0 1.1rem}
.wiz-back{background:none;border:0;color:var(--accent-2);font:500 .8rem/1 var(--sans);cursor:pointer;padding:.2rem 0}
.wiz-step{border:0;margin:0;padding:0;display:grid;gap:.85rem;animation:wizIn .35s ease}
@keyframes wizIn{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:none}}
.wiz-step legend{font-size:1.08rem;font-weight:600;color:#fff;margin-bottom:.35rem;padding:0}
.choices{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.choice{display:flex;flex-direction:column;align-items:flex-start;gap:.9rem;text-align:left;background:rgba(255,255,255,.035);border:1px solid var(--line-2);border-radius:14px;padding:1.05rem 1rem;color:#fff;font:500 .95rem/1.25 var(--sans);cursor:pointer;transition:all .18s}
.choice svg{color:var(--gold)}
.choice:hover,.choice:focus-visible{border-color:var(--gold);background:rgba(217,183,126,.08);transform:translateY(-1px)}
.choice[aria-pressed="true"]{border-color:var(--gold);background:rgba(217,183,126,.14)}
.wizard label{display:grid;gap:.3rem;font-size:.8rem;font-weight:500;color:#DCE4F2}
.wizard input:not([type=checkbox]):not([type=radio]),.wizard select{font:400 .98rem/1.3 var(--sans);padding:.75rem .8rem;border:1px solid var(--line-2);border-radius:10px;background:rgba(7,11,22,.7);color:#fff;width:100%}
.wizard input:focus,.wizard select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(217,183,126,.18)}
.wizard input[aria-invalid="true"],.wizard select[aria-invalid="true"]{border-color:var(--danger)}
.wizard .two{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.chip-group{display:flex;flex-wrap:wrap;gap:.4rem;border:0;padding:0;margin:0}
.chip-label{width:100%;font-size:.8rem;font-weight:500;color:#DCE4F2;margin-bottom:.1rem}
.chip{display:inline-flex!important;cursor:pointer}
.chip input{position:absolute;opacity:0;pointer-events:none}
.chip span{display:inline-block;font:400 .84rem/1 var(--sans);color:var(--muted);border:1px solid var(--line-2);border-radius:999px;padding:.55rem .8rem;transition:all .15s}
.chip input:checked+span{color:#fff;border-color:var(--gold);background:rgba(217,183,126,.14)}
.chip input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}
.wizard .btn{width:100%;padding:1rem;font-size:1rem;margin-top:.2rem}
.wizard .consent{display:flex;gap:.55rem;font-weight:400;font-size:.7rem;line-height:1.45;color:var(--dim);align-items:start}
.wizard .consent input{margin-top:.15rem;accent-color:var(--gold)}
.wiz-error{color:var(--danger)!important;font-size:.82rem;margin:.6rem 0 0;min-height:0}
.wiz-error:empty{display:none}
.wiz-trust{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 1.1rem;margin:1rem 0 0;padding:.9rem 0 0;border-top:1px solid var(--line);font:500 .72rem/1 var(--mono);color:var(--dim)}
.wiz-trust li::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--mint);margin-right:.4rem;vertical-align:middle}
.wiz-done{text-align:center;padding:1rem 0 .4rem;display:grid;gap:.6rem;justify-items:center}
.wiz-done h3{font-family:var(--sans);font-weight:600;letter-spacing:-.03em;font-size:1.8rem}
.wiz-done p{color:var(--muted);margin:0}
.wiz-check{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:rgba(61,219,176,.14);color:var(--mint);border:1px solid rgba(61,219,176,.4)}
@media (max-width:600px){.hero-stats{display:none}.suggest--left li:nth-child(n+3){display:none}.choice{padding:.85rem .8rem;gap:.6rem;font-size:.9rem}}
@media (max-width:340px){.choices{grid-template-columns:1fr}.wizard .two{grid-template-columns:1fr}}

/* Serif display for section headings: real estate editorial voice */
.band-head h2,.feature-split h2,.demo-split h2,.calc-split h2,.page-hero h1,.article-head h1{font-family:var(--sans);font-weight:600;letter-spacing:-.035em;line-height:1.06}
.band-head h2{font-size:clamp(2.2rem,1.5rem + 2.6vw,3.6rem)}
.kicker{color:var(--gold)}

/* Loan families */
.families{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;align-items:stretch}
.family{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden;color:var(--text);transition:transform .25s,border-color .25s,box-shadow .25s}
.family:hover{transform:translateY(-4px);border-color:var(--line-2);color:var(--text);box-shadow:0 30px 60px -30px rgba(0,0,0,.9)}
.family-img{position:relative;aspect-ratio:16/10;overflow:hidden;max-width:100%}
.family-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.family:hover .family-img img{transform:scale(1.05)}
.family-img::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,23,41,.85),rgba(15,23,41,0) 55%)}
.badge{position:absolute;z-index:1;top:1rem;left:1rem;font:500 .72rem/1 var(--mono);color:#1A1306;background:var(--gold);border-radius:999px;padding:.4rem .7rem}
.family-body{padding:1.3rem 1.4rem 1.5rem;display:flex;flex-direction:column;gap:.6rem;flex:1}
.family-body h3{font-family:var(--sans);font-weight:600;letter-spacing:-.03em;font-size:1.9rem;letter-spacing:-.01em}
.family-body p{color:var(--muted);margin:0;font-size:.95rem}
.family-body ul{list-style:none;margin:.4rem 0 0;padding:0;display:grid;gap:.4rem;font-size:.9rem}
.family-body li{padding-left:1.1rem;position:relative;color:#D4DCEA}
.family-body li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--accent)}
.family-link{margin-top:auto;padding-top:.8rem;color:var(--accent-2);font-weight:500;font-size:.9rem}
.family--featured{border-color:rgba(217,183,126,.45);background:linear-gradient(180deg,rgba(217,183,126,.06),var(--surface) 40%)}
.family--featured .family-body li::before{background:var(--gold)}
.family--featured .family-link{color:var(--gold)}
@media (max-width:960px){.families{grid-template-columns:1fr}}

/* Feature split with photo */
.feature-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,1rem + 4vw,5rem);align-items:center}
.feature-split h2{font-size:clamp(2rem,1.4rem + 2.2vw,3.2rem);margin-bottom:1.6rem}
.feature-img{position:relative;border-radius:20px;overflow:hidden;aspect-ratio:4/5;max-width:100%;box-shadow:0 50px 100px -50px rgba(0,0,0,.9)}
.feature-img img{width:100%;height:100%;object-fit:cover}
.float-card{position:absolute;left:1rem;right:1rem;bottom:1rem;display:flex;gap:.8rem;align-items:center;background:rgba(9,14,28,.8);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line-2);border-radius:14px;padding:.9rem 1rem}
.float-card .dot{flex:none;width:10px;height:10px;border-radius:50%;background:var(--mint);box-shadow:0 0 12px var(--mint)}
.float-card strong{display:block;color:#fff;font-weight:600;font-size:.92rem}
.float-card span{display:block;color:var(--muted);font-size:.8rem}
.pipeline--stack{grid-template-columns:1fr!important;gap:.6rem}
.pipeline--stack li{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:start;border:1px solid var(--line)!important;border-radius:14px!important;padding:1rem 1.1rem}
.pipeline--stack li::before{display:none}
.pipeline--stack .ico{margin:0}
@media (max-width:960px){.feature-split{grid-template-columns:1fr}.feature-img{aspect-ratio:16/10}}

/* Photo band with demo */
.band--photo{position:relative;isolation:isolate;overflow:hidden}
.band-photo-bg{position:absolute;inset:0;z-index:-1}
.band-photo-bg img{width:100%;height:100%;object-fit:cover}
.band-photo-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,11,22,.95),rgba(7,11,22,.75) 50%,rgba(7,11,22,.6))}
.demo-split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,1rem + 4vw,4.5rem);align-items:center}
.demo-split h2{font-size:clamp(2rem,1.4rem + 2.2vw,3.2rem)}
@media (max-width:960px){.demo-split{grid-template-columns:1fr}}

/* Guide cards with photos */
.guide-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}
.guide-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden;color:var(--text);transition:border-color .2s,transform .2s}
.guide-card:hover{border-color:var(--line-2);transform:translateY(-3px);color:var(--text)}
.guide-card .gc-img{width:100%;aspect-ratio:16/9;object-fit:cover;height:auto}
.guide-card div{padding:1.1rem 1.2rem 1.3rem;display:grid;gap:.4rem}
.guide-card strong{color:#fff;font-weight:600;letter-spacing:-.015em}
.guide-card span{color:var(--muted);font-size:.88rem}
@media (max-width:860px){.guide-cards{grid-template-columns:1fr}}

/* Page hero for articles and loan overviews */
.page-hero{position:relative;isolation:isolate;overflow:hidden;border-bottom:1px solid var(--line)}
.page-hero-img{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:cover}
.page-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,11,22,.95),rgba(7,11,22,.8) 55%,rgba(7,11,22,.55)),linear-gradient(0deg,var(--bg),rgba(7,11,22,0) 40%)}
.page-hero-inner{padding-bottom:clamp(2.2rem,1.5rem + 3vw,4rem)}
.page-hero h1{font-size:clamp(2.4rem,1.5rem + 3.2vw,4.2rem);max-width:20ch;margin-top:1.4rem;color:#fff}
.page-hero .answer{background:rgba(9,14,28,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.page-hero .meta{color:#A9B5CA}
.prod-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem}
.prod-card{display:grid;gap:.4rem;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1.1rem 1.2rem;color:var(--text)}
.prod-card:hover{border-color:rgba(217,183,126,.5);color:var(--text)}
.prod-card strong{color:#fff;font-weight:600}
.prod-card span{color:var(--muted);font-size:.88rem}
@media (prefers-reduced-motion:reduce){.wiz-step{animation:none}}

/* ===== v5: prominent lead form (light card on the dark photo) ===== */
.brand span{font-weight:600;letter-spacing:-.05em}
.brand svg{width:30px;height:30px}
.btn--gold{background:linear-gradient(180deg,#E7C891,#C9A061);color:#1A1306;border-color:transparent;box-shadow:0 0 0 1px rgba(255,255,255,.25) inset,0 10px 28px -10px rgba(217,183,126,.7);font-weight:600}
.btn--gold:hover{background:linear-gradient(180deg,#F0D6A5,#D3AB6C);color:#1A1306;box-shadow:0 0 0 1px rgba(255,255,255,.3) inset,0 14px 34px -10px rgba(217,183,126,.85)}
.btn--lg{padding:1.05rem 1.6rem;font-size:1.02rem;border-radius:12px}
.site-head .wrap{gap:1rem}
.site-head .head-ai{margin-left:.5rem}
@media (max-width:880px){.site-head .btn--gold{display:inline-flex;margin-left:auto;padding:.65rem .9rem;font-size:.86rem}.menu-btn{margin-left:.4rem}.site-head .head-ai{display:none}}

.hero-split{grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);align-items:center}
.hero-copy h1{font-size:clamp(2.6rem,1.4rem + 4.2vw,4.8rem)}
.hero-form{position:relative}
.hero-form::before{content:"";position:absolute;inset:-28px;border-radius:40px;background:radial-gradient(closest-side,rgba(217,183,126,.35),rgba(91,140,255,.18) 55%,transparent);filter:blur(24px);z-index:-1}

.wizard{background:#FFFFFF;color:#0B1222;border:0;border-radius:22px;padding:1.9rem 1.9rem 1.5rem;box-shadow:0 60px 120px -40px rgba(0,0,0,.95),0 0 0 1px rgba(217,183,126,.55),0 0 0 7px rgba(217,183,126,.12);backdrop-filter:none;-webkit-backdrop-filter:none}
.wiz-ribbon{display:inline-block;font:600 .74rem/1 var(--sans);color:#6B4E16;background:#F6E8CC;border-radius:999px;padding:.45rem .75rem;margin-bottom:.9rem}
.wizard h2{font-size:clamp(1.8rem,1.4rem + 1.2vw,2.3rem);color:#0B1222;letter-spacing:-.04em;font-weight:650}
.wiz-sub{color:#55607A;font-size:.95rem}
.wiz-progress{background:#E8ECF4;height:6px}
.wiz-progress i{background:linear-gradient(90deg,#C9A061,#5B8CFF)}
.wiz-step-label{color:#7A869E}
.wiz-back{color:#2F55D4}
.wiz-step legend{color:#0B1222;font-size:1.15rem}
.choice{background:#F5F7FB;border:1.5px solid #DCE2EE;color:#0B1222;font-size:1rem;padding:1.2rem 1.05rem}
.choice svg{color:#B8873B;width:26px;height:26px}
.choice:hover,.choice:focus-visible{border-color:#C9A061;background:#FBF6EC;box-shadow:0 10px 24px -14px rgba(184,135,59,.6)}
.choice[aria-pressed="true"]{border-color:#B8873B;background:#F8EED9}
.wizard label{color:#26324A}
.wizard input:not([type=checkbox]):not([type=radio]),.wizard select{background:#F7F9FC;border:1.5px solid #D5DCE8;color:#0B1222;font-size:1rem;padding:.85rem .9rem}
.wizard input::placeholder{color:#8C97AD}
.wizard input:focus,.wizard select:focus{border-color:#2F55D4;box-shadow:0 0 0 4px rgba(47,85,212,.14);background:#fff}
.wizard select option{color:#0B1222}
.chip-label{color:#26324A}
.chip span{color:#3A4560;border-color:#D5DCE8;background:#F7F9FC}
.chip input:checked+span{color:#0B1222;border-color:#B8873B;background:#F8EED9}
.wizard .btn{background:linear-gradient(180deg,#3F6EF5,#2F55D4);color:#fff;font-size:1.05rem;font-weight:600;padding:1.05rem;border-radius:12px;box-shadow:0 14px 30px -14px rgba(47,85,212,.8)}
.wizard .btn:hover{background:linear-gradient(180deg,#5580FF,#3961E0)}
.wizard .consent{color:#6B7690}
.wizard .consent input{accent-color:#2F55D4}
.wiz-error{color:#B42318!important}
.wiz-trust{border-top-color:#E8ECF4;color:#6B7690}
.wiz-trust li::before{background:#1BA77F}
.wiz-done h3{color:#0B1222;font-weight:650;letter-spacing:-.03em}
.wiz-done p{color:#55607A}
.wiz-check{background:#E3F7EF;color:#1BA77F;border-color:#9FE3C9}
.wizard .btn--ghost{background:#F2F5FB;color:#0B1222;box-shadow:none;border:1px solid #D5DCE8}
.wizard :focus-visible{outline-color:#2F55D4}

/* CTA band */
.cta-band{background:linear-gradient(120deg,#122046,#0B1430 55%,#1A1630);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cta-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem;padding-top:clamp(2.4rem,1.5rem + 3vw,3.6rem);padding-bottom:clamp(2.4rem,1.5rem + 3vw,3.6rem)}
.cta-inner h2{font-size:clamp(1.7rem,1.2rem + 1.8vw,2.5rem)}
.cta-inner p{color:var(--muted);margin:.5rem 0 0;max-width:56ch}

/* Mobile: form right after the headline */
@media (max-width:1020px){
  .hero-copy .ask-bar,.hero-copy .suggest,.hero-copy .hero-stats{display:none}
  .hero-copy .lede{margin-bottom:0}
  .wizard{padding:1.5rem 1.25rem 1.2rem}
}
@media (max-width:1020px){.hero-split{grid-template-columns:minmax(0,1fr)}.hero-photo{min-height:0;padding-top:1.6rem}.hero-copy h1{font-size:clamp(2.3rem,1.6rem + 3vw,3.4rem)}.hero-copy .pill{margin-bottom:.9rem}.hero-form::before{inset:-12px}}
@media (max-width:480px){.wiz-ribbon{font-size:.7rem}.wizard h2{font-size:1.75rem}.choices{gap:.5rem}.choice{padding:.9rem .75rem;gap:.55rem;font-size:.93rem}.choice svg{width:22px;height:22px}}

/* v6: lead form as frosted glass with a subtle bevel, to sit with the dark photo hero */
.wizard{
  background:linear-gradient(180deg,rgba(255,255,255,.90) 0%,rgba(246,248,252,.84) 100%);
  backdrop-filter:blur(22px) saturate(1.4);-webkit-backdrop-filter:blur(22px) saturate(1.4);
  border:1px solid rgba(255,255,255,.55);
  box-shadow:
    inset 0 1.5px 0 rgba(255,255,255,.95),
    inset 0 -1.5px 0 rgba(11,18,34,.10),
    inset 1px 0 0 rgba(255,255,255,.35),
    inset -1px 0 0 rgba(11,18,34,.05),
    0 0 0 1px rgba(217,183,126,.45),
    0 0 0 6px rgba(217,183,126,.10),
    0 60px 120px -40px rgba(0,0,0,.95);
}
.choice{background:rgba(245,247,251,.72);border-color:rgba(205,213,228,.9);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),inset 0 -1px 0 rgba(11,18,34,.05)}
.choice:hover,.choice:focus-visible{background:rgba(251,246,236,.92)}
.choice[aria-pressed="true"]{background:rgba(248,238,217,.95)}
.wizard input:not([type=checkbox]):not([type=radio]),.wizard select,.chip span{background:rgba(247,249,252,.78)}
.wiz-trust{border-top-color:rgba(11,18,34,.08)}
.wizard .btn{box-shadow:inset 0 1px 0 rgba(255,255,255,.28),inset 0 -1px 0 rgba(0,0,0,.18),0 14px 30px -14px rgba(47,85,212,.8)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.wizard{background:#F9FAFC}}
/* v6.1: soft black outer glow for depth */
.wizard{
  box-shadow:
    inset 0 1.5px 0 rgba(255,255,255,.95),
    inset 0 -1.5px 0 rgba(11,18,34,.10),
    inset 1px 0 0 rgba(255,255,255,.35),
    inset -1px 0 0 rgba(11,18,34,.05),
    0 0 0 1px rgba(217,183,126,.45),
    0 0 0 6px rgba(217,183,126,.10),
    0 0 40px 6px rgba(0,0,0,.45),
    0 0 90px 20px rgba(0,0,0,.35),
    0 60px 120px -40px rgba(0,0,0,.95);
}

/* v7: dark glass lead form with gold edge glow (matches mockup) */
.hero-form::before{background:radial-gradient(closest-side,rgba(217,183,126,.22),rgba(217,183,126,.06) 60%,transparent)}
.wizard{
  color:#EEF2FA;
  background:linear-gradient(180deg,rgba(22,30,50,.72) 0%,rgba(10,15,28,.80) 100%);
  backdrop-filter:blur(20px) saturate(1.3);-webkit-backdrop-filter:blur(20px) saturate(1.3);
  border:1px solid rgba(232,200,140,.55);
  border-radius:26px;padding:2rem 2rem 1.4rem;
  box-shadow:
    inset 0 1px 0 rgba(255,236,200,.28),
    inset 0 -1px 0 rgba(0,0,0,.5),
    inset 0 0 40px rgba(217,183,126,.06),
    0 0 0 1px rgba(0,0,0,.35),
    0 0 18px rgba(232,190,120,.35),
    0 0 50px rgba(217,170,100,.18),
    0 0 90px 20px rgba(0,0,0,.45),
    0 60px 120px -40px rgba(0,0,0,.95);
}
.wiz-ribbon{color:#3A2A0C;background:linear-gradient(180deg,#F3D9A4,#E2BC7C);font-weight:650;box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}
.wizard h2{color:#fff;font-size:clamp(1.9rem,1.4rem + 1.4vw,2.55rem);line-height:1.05;letter-spacing:-.04em}
.wizard h2 .gold{background:linear-gradient(180deg,#F6DDA8,#D9AE68);-webkit-background-clip:text;background-clip:text;color:transparent}
.wiz-sub{color:#C9D2E4;font-size:1rem;line-height:1.45;max-width:36ch}
.wiz-seg{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:.45rem;height:5px;background:none;border-radius:0;overflow:visible;margin-top:1.3rem}
.wiz-seg i{display:block;height:100%;border-radius:4px;background:rgba(255,255,255,.14);transition:background .35s ease,box-shadow .35s ease}
.wiz-seg i.on{background:linear-gradient(90deg,#E9C98C,#D3A65E);box-shadow:0 0 10px rgba(233,201,140,.45)}
.wiz-step-label{color:#AEB8CC;font:500 .9rem/1 var(--sans)}
.wiz-back{color:#E9C98C;font-size:.92rem}
.wiz-step legend{color:#fff;font-size:1.25rem;font-weight:650}
.wizard label{color:#DCE3F0;font-size:.88rem}
.chip-label{color:#DCE3F0;font-size:.88rem}
.wizard input:not([type=checkbox]):not([type=radio]),.wizard select{background:rgba(6,10,20,.55);border:1px solid rgba(255,255,255,.22);color:#fff;border-radius:10px;box-shadow:inset 0 1px 2px rgba(0,0,0,.4)}
.wizard select{color:#DCE3F0}
.wizard input::placeholder{color:#8F9AB2}
.wizard input:focus,.wizard select:focus{background:rgba(6,10,20,.7);border-color:#E9C98C;box-shadow:0 0 0 3px rgba(233,201,140,.18)}
.wizard select option{color:#0B1222;background:#fff}
.input-icon{position:relative;display:block}
.input-icon svg{position:absolute;left:.95rem;top:50%;transform:translateY(-50%);color:#AEB8CC;pointer-events:none}
.input-icon input{padding-left:2.9rem!important}
.input-icon::after{content:"";position:absolute;left:2.4rem;top:28%;bottom:28%;width:1px;background:rgba(255,255,255,.18)}
.chip span{background:transparent;border:1px solid rgba(255,255,255,.32);color:#E6EBF5;padding:.55rem 1rem;border-radius:999px}
.chip:hover span{border-color:rgba(233,201,140,.7)}
.chip input:checked+span{background:rgba(233,201,140,.16);border-color:#E9C98C;color:#fff}
.choice{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.2);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.choice svg{color:#E9C98C}
.choice:hover,.choice:focus-visible{background:rgba(233,201,140,.10);border-color:rgba(233,201,140,.75);box-shadow:0 10px 24px -14px rgba(233,201,140,.5)}
.choice[aria-pressed="true"]{background:rgba(233,201,140,.18);border-color:#E9C98C}
.wizard .btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:linear-gradient(180deg,#F2D79F 0%,#DDB06A 100%);color:#1B1408;font-weight:650;font-size:1.1rem;border-radius:12px;padding:1.05rem;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55),inset 0 -1px 0 rgba(120,80,20,.35),0 0 22px rgba(233,190,120,.35),0 14px 30px -14px rgba(0,0,0,.8)}
.wizard .btn:hover{background:linear-gradient(180deg,#F7E1B2,#E4BA77)}
.wizard .consent{color:#AEB8CC}
.wizard .consent input{accent-color:#E9C98C}
.wiz-error{color:#FF9C8F!important}
.wiz-trust{border-top:1px solid rgba(255,255,255,.12);gap:.4rem 0;font:500 .82rem/1 var(--sans);color:#DCE3F0;justify-content:space-between}
.wiz-trust li{display:flex;align-items:center;gap:.45rem;padding:0 .7rem}
.wiz-trust li+li{border-left:1px solid rgba(255,255,255,.14)}
.wiz-trust li:first-child{padding-left:0}.wiz-trust li:last-child{padding-right:0}
.wiz-trust li::before{display:none}
.wiz-trust svg{width:17px;height:17px;fill:none;stroke:#E9C98C;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.wiz-done h3{color:#fff}.wiz-done p{color:#C9D2E4}
.wizard .btn--ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3);box-shadow:none}
@media (max-width:520px){.wizard{padding:1.5rem 1.2rem 1.1rem}.wiz-trust{justify-content:center}.wiz-trust li{padding:.2rem .5rem}.wiz-trust li+li{border-left:0}}
.wiz-sub{max-width:44ch}
.wiz-trust{flex-wrap:nowrap;font-size:.78rem}
.wiz-trust li{white-space:nowrap;padding:0 .55rem}
.wizard{border-color:rgba(240,210,150,.75);box-shadow:
    inset 0 1px 0 rgba(255,236,200,.32),inset 0 -1px 0 rgba(0,0,0,.5),inset 0 0 40px rgba(217,183,126,.07),
    0 0 0 1px rgba(0,0,0,.35),0 0 14px rgba(240,200,130,.55),0 0 40px rgba(225,180,105,.28),
    0 0 90px 20px rgba(0,0,0,.45),0 60px 120px -40px rgba(0,0,0,.95)}
@media (max-width:520px){.wiz-trust{flex-wrap:wrap}}

/* v8: LeadPops-style funnel, one question per screen */
.funnel .wiz-sub{max-width:46ch}
.fx-progress{height:6px;border-radius:6px;background:rgba(255,255,255,.12);overflow:hidden;margin-top:1.2rem}
.fx-progress i{display:block;height:100%;width:4%;border-radius:6px;background:linear-gradient(90deg,#E9C98C,#D3A65E);box-shadow:0 0 10px rgba(233,201,140,.5);transition:width .4s cubic-bezier(.2,.8,.2,1)}
.fx-step{border:0;margin:0;padding:0;display:grid;gap:.85rem;animation:wizIn .3s ease}
.fx-step legend{color:#fff;font-size:1.3rem;font-weight:650;letter-spacing:-.02em;line-height:1.25;margin-bottom:.4rem;padding:0}
.fx-opts{display:grid;gap:.6rem}
.fx-opts--grid{grid-template-columns:1fr 1fr}
.fx-opt{display:flex;align-items:center;gap:.7rem;text-align:left;width:100%;min-height:54px;padding:.85rem 1rem;border-radius:12px;cursor:pointer;
  font:550 1rem/1.25 var(--sans);color:#fff;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.2);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);transition:background .15s,border-color .15s,transform .1s}
.fx-opt svg{color:#E9C98C;flex:none}
.fx-opt--icon{flex-direction:column;align-items:flex-start;justify-content:center;gap:.55rem;min-height:92px}
.fx-opt--sub{flex-direction:column;align-items:flex-start;gap:.15rem}
.fx-opt--sub small{color:#AEB8CC;font-weight:450;font-size:.8rem}
.fx-opt:hover,.fx-opt:focus-visible{background:rgba(233,201,140,.10);border-color:rgba(233,201,140,.75);outline:none}
.fx-opt:active{transform:scale(.99)}
.fx-opt[aria-pressed="true"]{background:rgba(233,201,140,.2);border-color:#E9C98C}
.fx-tip{margin:.1rem 0 0;padding:.7rem .85rem;border-radius:10px;background:rgba(233,201,140,.08);border:1px solid rgba(233,201,140,.22);color:#E6DCC6;font-size:.86rem;line-height:1.45}
.fx-val{display:block;text-align:center;font:650 2.4rem/1 var(--sans);letter-spacing:-.03em;color:#fff;margin-top:.3rem}
.fx-sub{text-align:center;color:#C9D2E4;font-size:.9rem;margin:-.2rem 0 .2rem;min-height:1.2em}
.fx-range{-webkit-appearance:none;appearance:none;width:100%;height:8px;border-radius:8px;outline:none;padding:0!important;border:0!important;
  background:linear-gradient(90deg,#E2BC7C 0%,#E2BC7C var(--fill,50%),rgba(255,255,255,.16) var(--fill,50%))!important;box-shadow:none!important}
.fx-range::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;border-radius:50%;background:#F6E2B6;border:3px solid #fff;box-shadow:0 0 0 4px rgba(233,201,140,.3),0 4px 12px rgba(0,0,0,.5);cursor:pointer}
.fx-range::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:#F6E2B6;border:3px solid #fff;box-shadow:0 0 0 4px rgba(233,201,140,.3);cursor:pointer}
.fx-scale{display:flex;justify-content:space-between;color:#8F9AB2;font-size:.78rem;margin-top:-.3rem}
.fx-fits{list-style:none;margin:.4rem 0;padding:0;display:grid;gap:.5rem;width:100%;text-align:left}
.fx-fits a{display:grid;gap:.15rem;padding:.75rem .9rem;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(233,201,140,.35);color:#fff;text-decoration:none}
.fx-fits a:hover{border-color:#E9C98C;background:rgba(233,201,140,.08)}
.fx-fits strong{color:#F2D79F}.fx-fits span{color:#C9D2E4;font-size:.86rem}
@media (max-width:420px){.fx-opts--grid{grid-template-columns:1fr}.fx-opt--icon{flex-direction:row;align-items:center;min-height:54px}}
/* v8: education band */
.edu-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2rem}
.edu-card{display:grid;gap:.5rem;align-content:start;padding:1.3rem;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);text-decoration:none;transition:border-color .2s,background .2s}
.edu-card:hover{border-color:rgba(233,201,140,.6);background:rgba(233,201,140,.06)}
.edu-q{color:#fff;font-weight:650;font-size:1.08rem;letter-spacing:-.01em}
.edu-a{color:#AEB8CC;font-size:.92rem;line-height:1.5}
.edu-more{margin-top:2rem;display:flex;flex-wrap:wrap;gap:.8rem}
@media (max-width:1020px){.edu-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.edu-grid{grid-template-columns:1fr}}
.fx-opts--3{grid-template-columns:repeat(3,1fr)}
.fx-opts--3 .fx-opt--icon{min-height:110px}
.funnel.is-started .wiz-sub{display:none}
.funnel .wiz-done .btn--ghost{background:transparent;color:#F2D79F;border:1px solid rgba(233,201,140,.6);box-shadow:none}
@media (max-width:520px){.fx-opts--3{grid-template-columns:1fr}.fx-opts--3 .fx-opt--icon{flex-direction:row;align-items:center;min-height:56px}}
/* v10: interactive funnel. Answers as chips (tap to change), a check on the picked answer, quick picks and typed amounts on sliders,
   a direction-aware slide between questions, a preview of how many loans fit before the contact step. */
.wiz-nav{display:inline-flex;gap:1rem;align-items:center;flex:none}.wiz-nav button{white-space:nowrap}.wiz-step-label [data-step-num]{min-width:0}
.fx-crumbs{display:flex;min-width:0;max-width:100%;contain:inline-size;gap:.4rem;overflow-x:auto;scrollbar-width:none;margin:-.5rem 0 1rem;padding:2px 1px}
.fx-crumbs::-webkit-scrollbar{display:none}
.fx-crumb{flex:none;max-width:16rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:500 .8rem/1 var(--sans);padding:.42rem .7rem;border-radius:999px;cursor:pointer;
  color:#E6DCC6;background:rgba(233,201,140,.08);border:1px solid rgba(233,201,140,.28);animation:fxPop .25s ease}
.fx-crumb:hover,.fx-crumb:focus-visible{border-color:#E9C98C;background:rgba(233,201,140,.16)}
.fx-crumb::after{content:"";display:inline-block;width:.5rem;height:.5rem;margin-left:.4rem;vertical-align:.05em;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(-45deg) scale(.8);opacity:.55}
.fx-opt{position:relative}
.fx-opt.is-picked::after{content:"";position:absolute;top:.55rem;right:.55rem;width:1.35rem;height:1.35rem;border-radius:50%;
  background:#E9C98C url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23121826' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7'/%3E%3C/svg%3E") center/70% no-repeat;animation:fxPop .28s cubic-bezier(.2,1.4,.4,1)}
.fx-opt.is-picked{transform:scale(1.015)}
@keyframes fxPop{from{transform:scale(.4);opacity:0}to{transform:none;opacity:1}}
@keyframes wizInBack{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:none}}
.funnel.is-back .fx-step{animation-name:wizInBack}
.fx-val.is-editable{cursor:text;border-bottom:1.5px dashed rgba(233,201,140,.45);width:max-content;margin-left:auto;margin-right:auto;padding:0 .2rem .15rem}
.fx-val.is-editable:hover,.fx-val.is-editable:focus-visible{border-bottom-color:#E9C98C;outline:none}
.fx-valin{display:block;width:min(100%,14rem);margin:.3rem auto 0;text-align:center;font:650 2rem/1.1 var(--sans);padding:.3rem .5rem;border-radius:10px}



.fx-teaser{margin:-.2rem 0 .2rem;padding:.65rem .85rem;border-radius:10px;font-size:.9rem;line-height:1.4;color:#E6DCC6;background:rgba(233,201,140,.1);border:1px solid rgba(233,201,140,.3);animation:fxPop .3s ease}
.fx-teaser b{color:#F2D79F}
@media (prefers-reduced-motion:reduce){.fx-step,.fx-crumb,.fx-teaser,.fx-opt.is-picked::after{animation:none!important}.fx-opt.is-picked{transform:none}}

/* v9: toolshed */
.tools-hub{padding-top:2rem;padding-bottom:4rem}
.tool-feat{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:2rem}
.tool-card{position:relative;display:grid;gap:.45rem;align-content:start;padding:1.25rem 1.3rem;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);text-decoration:none;transition:border-color .2s,background .2s,transform .2s}
.tool-card:hover{border-color:rgba(233,201,140,.6);background:rgba(233,201,140,.06);transform:translateY(-2px)}
.tool-card strong{color:#fff;font-size:1.05rem;font-weight:650;letter-spacing:-.01em}
.tool-card span{color:#AEB8CC;font-size:.9rem;line-height:1.5}
.tool-card em{font-style:normal;color:#E9C98C;font-size:.85rem;font-weight:600;margin-top:.2rem}
.tool-card--feat{padding:1.6rem;background:linear-gradient(160deg,rgba(233,201,140,.10),rgba(255,255,255,.03));border-color:rgba(233,201,140,.35)}
.tool-card--feat strong{font-size:1.3rem}
.tool-card .badge{justify-self:start;font:600 .7rem/1 var(--mono);color:#3A2A0C;background:#E9C98C;padding:.35rem .55rem;border-radius:999px}
.tool-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.5rem;position:sticky;top:72px;z-index:5;padding:.6rem 0;background:linear-gradient(var(--bg,#070B16) 70%,transparent)}
.tool-tab{font:550 .9rem/1 var(--sans);color:#DCE3F0;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:.6rem .95rem;cursor:pointer}
.tool-tab small{color:#8F9AB2;margin-left:.25rem}
.tool-tab.is-on,.tool-tab:hover{border-color:#E9C98C;color:#fff;background:rgba(233,201,140,.12)}
.tool-group{margin-bottom:2.2rem}.tool-group h2{font-size:1.35rem;color:#fff;margin:0 0 1rem}
.tool-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.tool-disclaimer{color:#8F9AB2;font-size:.82rem;line-height:1.5;max-width:80ch;margin:1.5rem 0}
.tool-wrap{padding-top:1.5rem;padding-bottom:4rem}
.tool-calc{display:grid;grid-template-columns:1.05fr 1fr;gap:1.5rem;align-items:start}
.tool-inputs{display:grid;grid-template-columns:1fr 1fr;gap:.9rem 1rem;padding:1.5rem;border-radius:20px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.1)}
.tool-inputs .field{display:grid;gap:.3rem;align-content:start}
.tool-inputs label{color:#DCE3F0;font-size:.86rem;font-weight:550}
.tool-inputs .hint{color:#8F9AB2;font-size:.75rem;line-height:1.35;order:3}
.tool-input{position:relative;display:flex;align-items:center}
.tool-input input,.tool-inputs select{width:100%;font:500 1rem/1.2 var(--sans);color:#fff;background:rgba(6,10,20,.6);border:1px solid rgba(255,255,255,.2);border-radius:10px;padding:.75rem .8rem}
.tool-input--money input{padding-left:1.6rem}.tool-input--pct input,.tool-input--years input,.tool-input--months input{padding-right:2.6rem}
.tool-input .affix{position:absolute;left:.75rem;color:#8F9AB2;font-size:.95rem;pointer-events:none}
.tool-input .affix--end{left:auto;right:.8rem}
.tool-input input:focus,.tool-inputs select:focus{outline:none;border-color:#E9C98C;box-shadow:0 0 0 3px rgba(233,201,140,.18)}
.tool-results{position:sticky;top:90px;padding:1.5rem;border-radius:20px;background:linear-gradient(180deg,rgba(22,30,50,.75),rgba(10,15,28,.85));border:1px solid rgba(232,200,140,.55);box-shadow:inset 0 1px 0 rgba(255,236,200,.25),0 0 18px rgba(232,190,120,.22),0 30px 80px -30px rgba(0,0,0,.9);display:grid;gap:1rem}
.tool-results-h{font-size:1rem;color:#E9C98C;margin:0;font-family:var(--mono);font-weight:500;letter-spacing:.02em}
.tool-stats{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin:0}
.tool-stats div{padding:.75rem .85rem;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.tool-stats div.big{background:rgba(233,201,140,.09);border-color:rgba(233,201,140,.35)}
.tool-stats dt{color:#AEB8CC;font-size:.78rem;line-height:1.3}
.tool-stats dd{margin:.25rem 0 0;color:#fff;font-size:1.05rem;font-weight:600;letter-spacing:-.01em}
.tool-stats .big dd{font-size:1.45rem;color:#F6E2B6}
.tool-read{margin:0;padding:.8rem .9rem;border-radius:12px;font-size:.9rem;line-height:1.5;border:1px solid}
.tool-read--good{background:rgba(61,219,176,.08);border-color:rgba(61,219,176,.35);color:#CFF5EA}
.tool-read--ok{background:rgba(233,201,140,.08);border-color:rgba(233,201,140,.35);color:#F3E6CC}
.tool-read--warn{background:rgba(255,170,90,.08);border-color:rgba(255,170,90,.4);color:#FFE2C6}
.tool-read--bad{background:rgba(255,110,110,.08);border-color:rgba(255,110,110,.4);color:#FFD6D6}
.tool-note{margin:0;color:#AEB8CC;font-size:.84rem;line-height:1.5}
.tool-visual{margin-top:1.8rem;padding:1.4rem;border-radius:20px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.1)}
.tool-chart{width:100%;height:auto;display:block}
.tool-chart text{fill:#8F9AB2;font:12px var(--sans)}.tool-chart .grid{stroke:rgba(255,255,255,.08)}
.tool-legend{display:flex;gap:1.2rem;margin:.6rem 0 1rem;color:#AEB8CC;font-size:.85rem}
.tool-legend span::before{content:"";display:inline-block;width:14px;height:3px;border-radius:2px;background:var(--c);margin-right:.4rem;vertical-align:middle}
.tool-table{margin-top:1rem}
.tool-more{margin-top:2.5rem}.tool-more h2{font-size:1.3rem;color:#fff;margin-bottom:1rem}
.tool-cta{margin-top:2.5rem;border-radius:20px}
@media (max-width:1020px){.tool-calc{grid-template-columns:1fr}.tool-results{position:static}.tool-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.tool-feat,.tool-grid,.tool-inputs,.tool-stats{grid-template-columns:1fr}.tool-tabs{top:60px}}
.tool-card .badge{position:static;transform:none;margin-bottom:.2rem}
/* v10: header logo at 2x (Colin, 2026-10-15) */
.site-head .brand{font-size:2.6rem;gap:.8rem}
.site-head .brand svg{width:60px;height:60px}
.site-head .wrap{min-height:84px}html{scroll-padding-top:104px}
@media (max-width:560px){.site-head .brand{font-size:2rem;gap:.6rem}.site-head .brand svg{width:46px;height:46px}.site-head .wrap{min-height:72px}}
/* v11: value pillars and how-it-works steps (copy rewrite 2026-10-15) */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}
.why-card{padding:1.6rem;border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.1)}
.why-card:first-child{border-color:rgba(233,201,140,.45);background:linear-gradient(180deg,rgba(233,201,140,.1),rgba(233,201,140,.02))}
.why-num{display:block;font:500 .8rem/1 var(--mono);color:var(--gold);margin-bottom:1rem}
.why-card h3{font-size:1.25rem;margin:0 0 .5rem;letter-spacing:-.02em}.why-card p{margin:0;color:var(--muted)}
.how-steps{list-style:none;padding:0;margin:2rem 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;counter-reset:none}
.how-steps li{position:relative;padding:1.5rem 1.5rem 1.5rem 4.4rem;border-radius:16px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03)}
.how-n{position:absolute;left:1.3rem;top:1.4rem;display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--gold);color:#070B16;font-weight:700}
.how-steps h3{margin:0 0 .35rem;font-size:1.1rem}.how-steps p{margin:0;color:var(--muted)}
@media (max-width:960px){.why-grid,.how-steps{grid-template-columns:1fr}}

/* v12: visual pass (fit band, image related cards, split sections) */
.fit-band{display:grid;grid-template-columns:minmax(0,300px) 1fr;gap:1.6rem;align-items:center;margin:2.6rem 0;padding:1rem;border-radius:20px;border:1px solid rgba(233,201,140,.28);background:linear-gradient(135deg,rgba(233,201,140,.08),rgba(91,140,255,.06) 60%,rgba(255,255,255,.02))}
.fit-band .fit-img{width:100%;height:100%;min-height:190px;aspect-ratio:4/3;object-fit:cover;border-radius:14px;display:block}
.fit-body{padding:.4rem .6rem .4rem 0}
.prose .fit-band h2.fit-h{margin:.5rem 0 .5rem;font-size:var(--step-1);line-height:1.15;scroll-margin:0}
.fit-body p{margin:0 0 1rem;color:var(--muted)}
.fit-body .fit-cta{margin:0;display:flex;flex-wrap:wrap;gap:.6rem}
@media (max-width:700px){.fit-band{grid-template-columns:1fr;padding:.8rem}.fit-band .fit-img{aspect-ratio:16/9;min-height:0}.fit-body{padding:.2rem .3rem .5rem}}
.related--img .rel-card{padding:0;overflow:hidden;gap:0}
.related--img .rel-card .rel-img{width:100%;aspect-ratio:16/9;height:auto;object-fit:cover;display:block}
.related--img .rel-card strong{padding:1.1rem 1.2rem .35rem}
.related--img .rel-card span{padding:0 1.2rem 1.3rem}
.split{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.split-img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:20px;border:1px solid var(--line);display:block}
.split-body h2{font-size:var(--step-3);margin:.6rem 0 1rem}
.split-body p{color:var(--muted);margin:0 0 1rem;max-width:60ch}
.role-grid ul{margin:.4rem 0 0;padding-left:1.1rem;color:var(--muted)}.role-grid li{margin:.35rem 0}
.sub-h{font-size:var(--step-1);margin:2.6rem 0 0}
.cta-btns{display:flex;flex-wrap:wrap;gap:.6rem;margin:0}
@media (max-width:860px){.split{grid-template-columns:1fr;gap:1.6rem}.split .split-media{order:-1}}

/* v13: accessibility (contrast, links inside text) */
.legal a,.band-head p a,.foot-blurb a{text-decoration:underline;text-underline-offset:2px}

/* v14: photo banner above each calculator */
.tool-banner{margin-top:1.6rem}
.tool-banner-img{display:block;width:100%;height:auto;aspect-ratio:4/1;object-fit:cover;border-radius:20px;border:1px solid var(--line)}
@media (max-width:700px){.tool-banner-img{aspect-ratio:2/1;border-radius:14px}}

/* v15 tool hub card photos */
.tool-card{overflow:hidden}
.tool-card-img{display:block;max-width:none;width:calc(100% + 2.6rem);margin:-1.25rem -1.3rem .4rem;height:auto;aspect-ratio:16/9;object-fit:cover;border-bottom:1px solid rgba(255,255,255,.08)}
.tool-card--feat .tool-card-img{width:calc(100% + 3.2rem);margin:-1.6rem -1.6rem .5rem}
@media (max-width:700px){.tool-card-img{aspect-ratio:2/1}}

/* phone line */
.foot-call{margin-top:1rem;font-size:.95rem;max-width:38ch}.foot-call .call-line{white-space:nowrap;font-weight:650;color:inherit;text-decoration:none;border-bottom:1px solid currentColor}.foot-call span{opacity:.75;white-space:nowrap}.foot-call small{display:block;margin-top:.3rem;opacity:.7;font-size:.8rem;line-height:1.45}
.wiz-call{text-align:center;margin:.75rem 0 0;font-size:.85rem;color:#8692AC}.wiz-call .call-line{font-weight:650;color:inherit;white-space:nowrap}
.head-cta{display:flex;flex-direction:column;align-items:center;gap:.3rem;flex:none}.head-call{font:600 .8rem/1 var(--sans,inherit);color:#E7C891;text-decoration:none;letter-spacing:.02em;white-space:nowrap}.head-call{display:inline-flex;align-items:center;min-height:32px;padding:0 .35rem}.head-call:hover{color:#F6E2BB;text-decoration:underline}
@media (max-width:880px){.head-cta{margin-left:auto;gap:.2rem}.site-head .head-cta .btn--gold{margin-left:0}.head-call{font-size:.74rem}}
.head-actions{display:flex;align-items:flex-start;gap:.75rem;flex:none}.site-head .head-actions .head-ai{margin-left:0}
.site-head .wrap{min-height:100px;padding-top:.7rem;padding-bottom:.7rem}html{scroll-padding-top:116px}
.nav.open{top:100%}
@media (max-width:880px){.head-actions{margin-left:auto}.head-cta{margin-left:0}}
@media (max-width:560px){.site-head .wrap{min-height:84px;padding-top:.55rem;padding-bottom:.55rem}html{scroll-padding-top:96px}}
/* campaign landing pages (/local/...) */
.lp-head .eyebrow{font:500 .78rem/1.2 var(--mono);color:var(--gold,#D9B77E);letter-spacing:.04em;text-transform:uppercase;margin:0 0 .8rem}
.lp-ctas{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.4rem}
.lp-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,430px);gap:clamp(1.5rem,3vw,3.5rem);align-items:start;padding-top:2.4rem;padding-bottom:3.5rem}
.lp-aside{position:sticky;top:120px}.lp-aside .wizard{margin:0}
.lp-body h2{margin-top:2.2rem}.lp-body h2:first-of-type{margin-top:1.4rem}
.lp-local{margin:2.2rem 0;padding:.4rem 1.4rem 1.2rem;border:1px solid rgba(217,183,126,.32);border-radius:16px;background:linear-gradient(180deg,rgba(217,183,126,.07),rgba(217,183,126,.02))}
.lp-local h2{margin-top:1.2rem!important}
.lp-program{margin-top:2rem;font-weight:500}
.lp-team .lp-los{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;margin-top:1.6rem}
.lp-lo{display:flex;gap:.9rem;align-items:center;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.03)}
.lp-lo img,.lp-lo-ph{width:64px;height:64px;border-radius:50%;object-fit:cover;flex:none}.lp-lo-ph{display:grid;place-items:center;background:#1B2A4A;color:#fff;font-weight:650;font-size:1.4rem}
.lp-lo b{display:block;color:#fff}.lp-lo span{display:block;font-size:.86rem;color:var(--muted)}
.lp-faq{padding-top:3rem;padding-bottom:3rem}.lp-faq .faq{max-width:var(--measure)}
.lp-related{padding-bottom:3rem}.lp-related ul,.lp-hub ul{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.5rem 1.5rem}
.lp-related a,.lp-hub a{color:#C9D3E4}.lp-hub{padding-top:2rem;padding-bottom:4rem}.lp-hub section{margin-bottom:2rem}
.lp-preview-bar{position:sticky;top:0;z-index:60;background:#F1DDB6;color:#2A1F08;text-align:center;font-weight:600;font-size:.9rem;padding:.45rem 1rem}
@media (max-width:960px){.lp-grid{grid-template-columns:1fr}.lp-aside{position:static;order:-1}}
/* Self-sourced: "You're working with" card on the quote form */
.wiz-lo{display:flex;gap:.75rem;align-items:center;padding:.7rem .85rem;margin:0 0 1rem;border-radius:14px;border:1px solid rgba(217,183,126,.5);background:rgba(217,183,126,.1);font-size:.88rem;line-height:1.4}
.wiz-lo img,.wiz-lo-i{width:44px;height:44px;border-radius:50%;flex:none;object-fit:cover}
.wiz-lo-i{display:grid;place-items:center;background:#3D6FE8;color:#fff;font-weight:650}
.wiz-lo b{display:block;font-weight:620}
.wiz-lo span{opacity:.78}
/* Live email check under email fields */
.email-hint{margin:.35rem 0 0;font-size:.82rem;line-height:1.4;font-weight:500;color:inherit}
.email-hint:empty{display:none}
.email-hint.bad{color:var(--danger,#B42318)}
.email-fix{background:none;border:0;padding:0;margin:0;font:inherit;font-weight:650;color:inherit;text-decoration:underline;cursor:pointer;box-shadow:none;min-height:0}
/* ===== Landing page designs (/local/...). The quote form start stays in the first screen in every design. ===== */
.lp-page .crumbs{padding-top:0;margin-bottom:1rem}
.lp-hero{position:relative;isolation:isolate;padding:clamp(1.4rem,1rem + 2vw,3rem) 0 clamp(2rem,1.4rem + 2.5vw,3.5rem);border-bottom:1px solid var(--line);background:radial-gradient(1100px 520px at 85% -10%,rgba(91,140,255,.16),transparent 60%),radial-gradient(800px 420px at -10% 110%,rgba(217,183,126,.10),transparent 60%),var(--bg)}
.lp-hero h1{font-size:clamp(1.75rem,1.2rem + 2.4vw,3rem);line-height:1.08;letter-spacing:-.02em;margin:0}
.lp-page .eyebrow{font:500 .78rem/1.2 var(--mono);color:var(--gold,#D9B77E);letter-spacing:.04em;text-transform:uppercase;margin:0 0 .7rem}
.lp-hero .answer{margin-top:1rem;font-size:1.05rem}
.lp-form .wizard{margin:0}
.lp-checks{list-style:none;padding:0;margin:1.2rem 0 0;display:grid;gap:.5rem;color:#C9D3E4}
.lp-checks li{position:relative;padding-left:1.6rem}.lp-checks li::before{content:"";position:absolute;left:0;top:.38em;width:.95rem;height:.55rem;border-left:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(-45deg)}
.lp-call{margin:1.1rem 0 0;color:var(--muted);font-size:.95rem}.lp-call a{color:#fff;font-weight:600}
.lp-trust{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 1.6rem;padding:.95rem var(--gutter);border-bottom:1px solid var(--line);background:var(--bg-2);font:500 .78rem/1.3 var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.03em}
.lp-trust span::before{content:"\2713";color:var(--gold);margin-right:.4rem}
.lp-single{padding-top:2.4rem;padding-bottom:3rem}
.lp-sources{margin-top:2.4rem;padding-top:1.4rem;border-top:1px solid var(--line);font-size:.92rem}.lp-sources h2{font-size:1.1rem!important}.lp-sources ul{padding-left:1.1rem}.lp-sources a{color:#C9D3E4}.lp-sources .muted{color:var(--dim);font-size:.85rem}
.lp-team-cta{margin-top:1.6rem}
/* split: copy left, form right */
.lp-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,440px);gap:clamp(1.5rem,3vw,3.5rem);align-items:start}
/* form first: short headline, then the form, centered */
.lp-t-formfirst .wrap{display:flex;flex-direction:column;align-items:center;text-align:center}
.lp-t-formfirst .crumbs{align-self:flex-start;text-align:left}
.lp-ff-head{max-width:46rem}.lp-ff-head .answer{text-align:left;margin-left:auto;margin-right:auto}
.lp-t-formfirst .lp-form{width:100%;max-width:640px;margin-top:1.4rem;text-align:left}
.lp-t-formfirst .lp-trust{background:none;border:0;padding:1rem 0 0}
/* spotlight: photo behind the form */
.lp-t-spotlight{padding-top:clamp(1.4rem,1rem + 2vw,2.6rem);padding-bottom:clamp(2.4rem,2rem + 3vw,4.5rem);background:#070B16}
.lp-spot-img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.lp-t-spotlight::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(7,11,22,.78),rgba(7,11,22,.55) 40%,rgba(7,11,22,.88))}
.lp-t-spotlight .wrap{display:flex;flex-direction:column;align-items:center}
.lp-spot-head{width:100%;max-width:52rem;text-align:center}.lp-spot-head .crumbs{text-align:left}
.lp-t-spotlight h1{text-shadow:0 2px 24px rgba(0,0,0,.5)}
.lp-t-spotlight .lp-form{width:100%;max-width:600px;margin-top:1.4rem}
/* how it works */
.lp-steps{padding-top:2.6rem;padding-bottom:.6rem}
.lp-steps h2{font-size:clamp(1.3rem,1.1rem + 1vw,1.8rem);margin:0 0 1.2rem}
.lp-steps ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;counter-reset:s}
.lp-steps li{counter-increment:s;padding:1.1rem 1.2rem;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.02)}
.lp-steps li::before{content:counter(s);display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:rgba(217,183,126,.16);color:var(--gold);font-weight:700;margin-bottom:.6rem}
.lp-steps b{display:block;color:#fff;margin-bottom:.25rem}.lp-steps span{color:var(--muted);font-size:.95rem}
/* guide: quick-start prompts between sections */
.lp-nudge{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.8rem 1.2rem;margin:2rem 0;padding:1.1rem 1.2rem;border-radius:14px;border:1px solid rgba(217,183,126,.35);background:linear-gradient(120deg,rgba(217,183,126,.10),rgba(91,140,255,.06))}
.lp-nudge p{margin:0;color:#DCE4F2}.lp-nudge b{color:#fff}
/* sticky bar on phones when the form is off screen */
.lp-sticky{position:fixed;left:0;right:0;bottom:0;z-index:70;display:flex;gap:.6rem;align-items:center;padding:.7rem var(--gutter) calc(.7rem + env(safe-area-inset-bottom));background:rgba(7,11,22,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line)}
.lp-sticky[hidden]{display:none}
.lp-sticky .btn{flex:1;justify-content:center}
.lp-sticky-call{color:#fff;font-weight:600;padding:.6rem .9rem;border:1px solid var(--line);border-radius:10px;text-decoration:none}
@media (min-width:961px){.lp-sticky{display:none!important}}
@media (max-width:960px){
  .lp-split{grid-template-columns:1fr}
  .lp-split-copy .answer,.lp-split-copy .lp-checks,.lp-split-copy .lp-call{display:none}   /* phones: headline, then straight to the form */
  .lp-split .lp-form{margin-top:-.2rem}
  .lp-t-split .lp-split-copy .answer{display:none}
  .lp-steps ol{grid-template-columns:1fr}
  .lp-t-guide .answer{font-size:1rem;padding:.8rem 1rem}
  .lp-page{padding-bottom:4.5rem}
}
/* landing pages: compact form header so the first question is on the first screen */
.lp-form .wiz-sub{display:none}
.lp-form .wiz-head h2{font-size:clamp(1.15rem,1rem + .6vw,1.45rem);margin:.4rem 0 .2rem}
.lp-form .wiz-ribbon{margin-bottom:.1rem}
/* guide: headline and form side by side, article below the headline */
.lp-guide{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,430px);grid-template-areas:"head form" "body form";gap:0 clamp(1.5rem,3vw,3.5rem);align-items:start;padding-top:1.4rem;padding-bottom:3rem}
.lp-g-head{grid-area:head;padding-bottom:.4rem}.lp-g-head h1{font-size:clamp(1.75rem,1.2rem + 2.2vw,2.8rem);line-height:1.1;margin:0}
.lp-g-form{grid-area:form;position:sticky;top:96px}
.lp-g-body{grid-area:body}.lp-g-body .answer{margin-top:1rem}
@media (max-width:960px){.lp-guide{grid-template-columns:1fr;grid-template-areas:"head" "form" "body"}.lp-g-form{position:static;margin:.8rem 0 1.2rem}}

/* Landing page side form: let the trust row wrap instead of spilling past the form edge */
.lp-form .wiz-trust{flex-wrap:wrap;justify-content:center;row-gap:.55rem}
/* Landing page pictures */
.lp-fig{margin:1.6rem 0}
.lp-fig img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:16px;border:1px solid var(--line)}
.lp-fig figcaption{margin-top:.4rem;font-size:.75rem;color:var(--dim)}
.lp-spot-note{position:absolute;right:.8rem;bottom:.6rem;z-index:1;font-size:.7rem;color:rgba(255,255,255,.62)}
/* Realtor partner preapproval page (/apply/{agent}) */
.rp-people{display:grid;gap:.6rem;margin:1.1rem 0 .4rem}
.rp-person{display:flex;gap:.8rem;align-items:center;background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:14px;padding:.7rem .85rem}
.rp-av{width:56px;height:56px;border-radius:50%;flex:none;display:grid;place-items:center;overflow:hidden;background:#D9B77E;color:#070B16;font-weight:700;font-size:1.3rem}
.rp-av img{width:100%;height:100%;object-fit:cover}.rp-av-agent{background:#3D6FE8;color:#fff}
.rp-txt b{display:block;font-size:1.02rem}.rp-txt span{display:block;font-size:.84rem;color:var(--dim)}.rp-txt .rp-role{font:500 .7rem/1.4 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:#D9B77E}
.rp-txt a{font-size:.9rem;font-weight:600}
.rp-learn{padding-top:2rem;padding-bottom:1rem}.rp-tools{display:flex;flex-wrap:wrap;gap:.5rem}.rp-tools a{padding:.55rem .9rem;border:1px solid var(--line);border-radius:99px;text-decoration:none;font-size:.92rem}
.rp-tools a:hover{border-color:#D9B77E}
.rp-disc{padding-bottom:2.4rem}.rp-disc p{font-size:.8rem;color:var(--dim);max-width:900px;line-height:1.6}
@media (min-width:900px){.rp-people{grid-template-columns:1fr 1fr}.rp-people .rp-person:only-child{grid-column:1/-1;max-width:420px}}
.consent-share{margin-top:.55rem}
/* open house sign-in and listing pages (partner marketing program) */
.oh-wrap{padding-top:2rem;padding-bottom:2rem;max-width:760px}
.oh-card{background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:18px;padding:1.4rem 1.3rem}
.oh-card h1{font-size:clamp(1.6rem,4.5vw,2.3rem);margin:.2rem 0 .3rem}.oh-facts{color:var(--dim);margin:0 0 .3rem}.oh-host{margin:0 0 1.2rem;font-size:.95rem}
.oh-row{display:grid;gap:0 .9rem}@media (min-width:640px){.oh-row{grid-template-columns:1fr 1fr}}
.oh-opt{font-size:.82rem;color:var(--dim);margin:.2rem 0 .5rem}
.oh-check{display:flex;gap:.7rem;align-items:flex-start;padding:.8rem .9rem;border:1px solid var(--line);border-radius:12px;margin-bottom:.6rem;font-size:.82rem;line-height:1.5;color:var(--dim);cursor:pointer}
.oh-check b{display:block;color:#fff;font-size:.95rem;margin-bottom:.15rem}.oh-check input{width:22px;height:22px;flex:none;margin-top:.1rem;accent-color:#3D6FE8}
.oh-check.oh-sub{margin-left:1.6rem;margin-top:-.3rem}.oh-go{width:100%;padding:1rem;font-size:1.05rem;margin-top:.4rem}
.oh-err{background:rgba(214,72,56,.15);border:1px solid rgba(214,72,56,.45);border-radius:10px;padding:.6rem .8rem;color:#fff}
.oh-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.oh-done{text-align:center;padding:1.4rem 0 .4rem}.oh-done h2{margin:0 0 .4rem}.oh-done p{color:var(--dim)}
.oh-disc{font-size:.78rem;color:var(--dim);line-height:1.6;margin-top:1rem}
.lst-price{font-size:1.8rem;font-weight:700;margin:.1rem 0}.lst-facts{color:var(--dim);margin:0 0 .6rem}.lst-desc{white-space:normal}
.lst-calc{padding-top:2rem;padding-bottom:1rem}.lst-grid{display:grid;gap:0 .9rem}@media (min-width:700px){.lst-grid{grid-template-columns:repeat(3,1fr)}}
.lst-note{font-size:.84rem;color:var(--dim);max-width:820px}
.lst-out{border:1px solid var(--line);border-radius:14px;padding:1rem;margin:.4rem 0 .6rem;color:var(--dim)}.lst-out b{display:block;font-size:1.6rem;color:#fff}.lst-out span{font-size:.86rem}
/* the sign-in sheet is often a tablet at the front door: no chat bubble, no header call to action, short footer */
body:has(.oh-wrap) .ask-fab,body:has(.oh-wrap) .head-cta,body:has(.oh-wrap) .head-ai,body:has(.oh-wrap) .foot-grid{display:none!important}
/* ---------- thank-you page ---------- */
.ty{padding:clamp(2.2rem,1.4rem + 3vw,4.5rem) 0 clamp(2.5rem,2rem + 2vw,4rem)}
.ty-wrap{max-width:980px}
.ty-hero{text-align:center;max-width:640px;margin:0 auto clamp(1.8rem,1.2rem + 2vw,2.8rem)}
.ty-badge{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;margin:0 auto 1.1rem;background:var(--accent);color:var(--bg);box-shadow:0 0 0 8px var(--glow)}
.ty-eyebrow{font:600 .78rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-2);margin:0 0 .7rem}
.ty-hero h1{font-size:clamp(2rem,1.5rem + 2vw,3rem);line-height:1.08;letter-spacing:-.03em;margin:0 0 .8rem;outline:none}
.ty-lede{color:var(--muted);font-size:1.08rem;line-height:1.55;margin:0 auto 1.3rem;max-width:46ch}
.ty-ref{display:inline-flex;align-items:center;gap:.7rem;flex-wrap:wrap;justify-content:center;padding:.6rem .7rem .6rem 1.1rem;border:1px solid var(--line-2);border-radius:999px;background:var(--surface)}
.ty-ref-l{font-size:.8rem;color:var(--muted)}.ty-ref strong{font:600 1.05rem/1 var(--mono,ui-monospace,monospace);letter-spacing:.04em;color:var(--text)}
.ty-copy{font:600 .8rem/1 var(--sans);padding:.45rem .8rem;border-radius:999px;border:1px solid var(--line-2);background:transparent;color:var(--text);cursor:pointer}
.ty-copy:hover{border-color:var(--accent)}
.ty-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:1.1rem;align-items:start}
.ty-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:clamp(1.2rem,1rem + 1vw,1.8rem)}
.ty-card h2{font-size:1.15rem;letter-spacing:-.01em;margin:0 0 1.1rem}
.ty-tl{list-style:none;margin:0;padding:0;position:relative}
.ty-tl li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:.9rem;position:relative;padding-bottom:1.2rem}
.ty-tl li:last-child{padding-bottom:0}
.ty-tl li:not(:last-child)::before{content:"";position:absolute;left:16px;top:36px;bottom:4px;width:2px;background:var(--line-2)}
.ty-dot{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font:600 .9rem/1 var(--sans);background:var(--surface-2);color:var(--accent-2);border:1px solid var(--line-2)}
.ty-tl li:first-child .ty-dot{background:var(--accent);color:var(--bg);border-color:var(--accent)}
.ty-tl h3{font-size:1rem;line-height:1.35;margin:.35rem 0 .25rem;letter-spacing:-.005em}
.ty-tl p{margin:0;color:var(--muted);font-size:.93rem;line-height:1.5}
.ty-side{display:flex;flex-direction:column;gap:.55rem}
.ty-btn{display:flex;align-items:center;justify-content:center;gap:.55rem;width:100%;text-align:center}
.ty-side-note{margin:0 0 .4rem;font-size:.85rem;color:var(--muted);line-height:1.45}
.ty-fits{margin-top:1.1rem}
.ty-fitlist{list-style:none;margin:0 0 .6rem;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.6rem}
.ty-fitlist a{display:grid;gap:.2rem;height:100%;padding:.85rem 1rem;border-radius:12px;border:1px solid var(--line-2);background:var(--bg-2);color:var(--text);text-decoration:none}
.ty-fitlist a:hover{border-color:var(--accent)}.ty-fitlist strong{color:var(--accent-2)}.ty-fitlist span{color:var(--muted);font-size:.88rem;line-height:1.4}
.ty-h{font-size:1.15rem;margin:clamp(1.8rem,1.4rem + 1vw,2.4rem) 0 .9rem}
.ty-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}
.ty-links a{display:flex;gap:.8rem;align-items:flex-start;padding:1rem 1.05rem;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--text);text-decoration:none;transition:border-color .2s}
.ty-links a:hover{border-color:var(--accent)}
.ty-links svg{flex:none;color:var(--accent-2);margin-top:.1rem}
.ty-links span{font-size:.88rem;color:var(--muted);line-height:1.45}.ty-links b{display:block;color:var(--text);font-size:.98rem;margin-bottom:.15rem}
.ty-legal{margin-top:1.8rem;text-align:center;max-width:70ch;margin-left:auto;margin-right:auto}
@media (max-width:820px){.ty-grid{grid-template-columns:1fr}.ty-links{grid-template-columns:1fr}}

/* hero headline "The first / self-driving / mortgage": sized to the copy column so "self-driving" fills about 78% of it in this theme's font (container units), capped for very wide columns */
.hero-copy{container-type:inline-size}.hero-copy h1{max-width:none;font-size:min(15.35cqi,5.5rem)}@media (min-width:641px) and (max-width:1020px){.hero-copy h1{font-size:min(15.35cqi,4.5rem)}}@media (max-width:640px){.hero-copy h1{font-size:min(13.20cqi,3.4rem)}}

/* v11 (2026-10-24): fields light up on hover, live checks on contact fields, form starters around the site, the form in a dialog */
.fx-opt{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease}
.fx-opt svg{transition:transform .18s ease}
.fx-opt:active{transform:scale(.98)}
.wizard input:not([type=checkbox]):not([type=radio]),.fx-start input{transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}
.fx-range::-webkit-slider-thumb{transition:transform .15s ease,box-shadow .15s ease}
.fx-range::-moz-range-thumb{transition:transform .15s ease,box-shadow .15s ease}
.wizard .consent{padding:.45rem .55rem;margin-left:-.55rem;margin-right:-.55rem;border-radius:10px;transition:background-color .18s ease;cursor:pointer}
.wizard .btn,.fx-start .btn{transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
.wizard label{transition:color .18s ease}
.wizard label:focus-within{color:#F3DDB0}
@media (hover:hover){
.fx-opt:hover{transform:translateY(-2px);box-shadow:0 0 0 3px rgba(233,201,140,.14),0 14px 28px -16px rgba(233,201,140,.6)}
.fx-opt:hover svg{transform:scale(1.1)}
.wizard input:not([type=checkbox]):not([type=radio]):not(:focus):hover,.fx-start input:not(:focus):hover{border-color:rgba(233,201,140,.65);box-shadow:0 0 0 3px rgba(233,201,140,.1)}
.wizard .consent:hover{background:rgba(233,201,140,.07)}
.fx-range:hover::-webkit-slider-thumb{transform:scale(1.12);box-shadow:0 0 0 7px rgba(233,201,140,.28),0 4px 12px rgba(0,0,0,.5)}
.fx-range:hover::-moz-range-thumb{transform:scale(1.12);box-shadow:0 0 0 7px rgba(233,201,140,.28)}
.wizard .btn:hover,.fx-start .btn:hover{transform:translateY(-1px)}
.fx-val.is-editable:hover{transform:scale(1.03)}
}
.fx-val{transition:transform .15s ease}
/* field states: a check mark when it's right, a red outline and a plain-English fix when it isn't */
.wizard input.is-ok:not([type=checkbox]):not([type=radio]),.fx-start input.is-ok{border-color:#34B27D;padding-right:2.7rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2334B27D' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .85rem center;background-size:18px}
.wizard input.is-bad:not([type=checkbox]):not([type=radio]),.fx-start input.is-bad{border-color:#F07070;padding-right:2.7rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='11' fill='%23D64545'/%3E%3Cpath d='M12 6.5v7' stroke='%23fff' stroke-width='2.6' stroke-linecap='round'/%3E%3Ccircle cx='12' cy='17.3' r='1.5' fill='%23fff'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .85rem center;background-size:18px;animation:fxShake .32s ease}
.input-icon input.is-ok,.input-icon input.is-bad{padding-left:2.9rem!important}
@keyframes fxShake{20%{transform:translateX(-4px)}45%{transform:translateX(4px)}70%{transform:translateX(-2px)}100%{transform:none}}
.fx-msg{display:flex;gap:.4rem;align-items:flex-start;margin:.4rem 0 0;font-size:.82rem;line-height:1.35;font-weight:500;text-align:left}
.fx-msg:empty{display:none}
.fx-msg:not(:empty){animation:fxMsgIn .2s ease}
.fx-msg.bad{color:#FF9B9B}
.fx-msg.ok{color:#7FD7AE}
.fx-msg.bad::before,.fx-msg.ok::before{content:"";flex:none;width:16px;height:16px;margin-top:1px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='11' fill='%23D64545'/%3E%3Cpath d='M12 6.5v7' stroke='%23fff' stroke-width='2.6' stroke-linecap='round'/%3E%3Ccircle cx='12' cy='17.3' r='1.5' fill='%23fff'/%3E%3C/svg%3E") center/16px no-repeat}
.fx-msg.ok::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='11' fill='%2334B27D'/%3E%3Cpath d='M7 12.5l3.3 3.3L17 9' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
@keyframes fxMsgIn{from{opacity:0;transform:translateY(-3px)}}
/* the quote form in a dialog, on pages that don't have it */
.fx-dlg{padding:0;border:0;background:transparent;width:min(540px,calc(100vw - 1.5rem));max-width:none;max-height:calc(100dvh - 1.5rem);overflow:visible;margin:auto;color:inherit}
.fx-dlg::backdrop{background:rgba(5,9,20,.62);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.fx-dlg[open]{animation:fxDlgIn .28s cubic-bezier(.2,.8,.2,1)}
@keyframes fxDlgIn{from{opacity:0;transform:translateY(14px) scale(.98)}}
.fx-dlg-body{max-height:calc(100dvh - 1.5rem);overflow-y:auto;border-radius:22px;overscroll-behavior:contain}
.fx-dlg .wizard{margin:0}
.fx-dlg .wiz-head{padding-right:2.4rem}
.fx-dlg-x{position:absolute;top:.6rem;right:.6rem;z-index:3;width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.12);color:#FFFFFF;font-size:26px;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0 0 3px}
.fx-dlg-x:hover{background:rgba(255,255,255,.22)}
.fx-dlg-wait{margin:0;padding:4rem 2rem;text-align:center;color:#C9D3E6;background:#0E1528;border-radius:22px}
html.fx-dlg-open{overflow:hidden}
@media (max-width:560px){.fx-dlg{width:100vw;height:100dvh;max-height:100dvh;margin:0}.fx-dlg-body{height:100%;max-height:100dvh;border-radius:0}.fx-dlg .wizard{border-radius:0;min-height:100%}}
/* starters: the form's first question in other shapes */
.fx-start .fx-st-q{margin:0 0 .7rem;font-weight:650;font-size:1.02rem;line-height:1.3;color:#FFFFFF}
.fx-st-opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}
.fx-st-opt{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;min-height:98px;padding:1rem .6rem;text-align:center;border-radius:14px;border:1.5px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04);color:#FFFFFF;font-weight:600;font-size:.95rem;line-height:1.2;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease}
.fx-st-opt svg{color:#E9C98C;transition:transform .18s ease}
.fx-start a.fx-st-opt,.fx-start .fx-st-list a{text-decoration:none}
.fx-st-opt:focus-visible{border-color:#E9C98C}
.fx-st-opt:active{transform:scale(.97)}
.fit-alt{margin:.85rem 0 0!important;font-size:.88rem}
.fit-ask{background:none;border:0;padding:0;font:inherit;font-weight:600;color:#9DB8FF;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.cta-start{flex:1 1 420px;max-width:560px}
.fx-start--zip{flex:1 1 380px;max-width:560px}
.fx-start--zip .fx-st-q{display:block}
.fx-st-row{display:flex;gap:.6rem;align-items:stretch}
.fx-st-row .input-icon{flex:1;min-width:0}
.fx-start--zip input{width:100%;font:500 1.05rem/1.3 var(--sans);padding:.95rem .9rem;border-radius:12px;border:1.5px solid rgba(255,255,255,.24);background:rgba(6,10,20,.55);color:#FFFFFF}
.fx-start--zip input:focus{outline:none;border-color:#E9C98C;box-shadow:0 0 0 3px rgba(233,201,140,.18)}
.fx-start--zip .btn{white-space:nowrap;display:inline-flex;gap:.45rem;align-items:center;justify-content:center;margin:0}
.fx-start--aside{border:1px solid rgba(233,201,140,.38);border-radius:14px;padding:1.1rem;background:linear-gradient(160deg,rgba(233,201,140,.1),rgba(233,201,140,0) 60%),var(--surface)}
.fx-start--aside .kicker{font-size:.72rem}
.fx-start--aside .fx-st-q{margin:.3rem 0 .75rem;font-size:1.08rem}
.fx-st-list{display:grid;gap:.45rem}
.fx-st-list a{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.72rem .8rem;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.03);color:#FFFFFF;font-weight:600;font-size:.9rem;line-height:1.25;text-decoration:none;transition:transform .18s ease,border-color .18s ease,background-color .18s ease}
.fx-st-list svg{color:#E9C98C;flex:none;transition:transform .18s ease}
.fx-st-foot{margin:.75rem 0 0;font-size:.78rem;color:var(--muted)}
@media (hover:hover){
.fx-st-opt:hover{transform:translateY(-3px);border-color:rgba(233,201,140,.8);background:rgba(233,201,140,.1);box-shadow:0 0 0 3px rgba(233,201,140,.12),0 16px 30px -18px rgba(233,201,140,.65)}
.fx-st-opt:hover svg{transform:scale(1.12)}
.fx-st-list a:hover{border-color:rgba(233,201,140,.8);background:rgba(233,201,140,.1)}
.fx-st-list a:hover svg{transform:translateX(3px)}
}
@media (max-width:520px){.fx-st-row{flex-direction:column}.fx-start--zip .btn{width:100%;padding:.95rem}}
@media (max-width:420px){.fx-st-opts{gap:.45rem}.fx-st-opt{min-height:86px;font-size:.86rem;padding:.8rem .35rem}}
/* phones: slim bar with the first question */
.fx-bar{position:fixed;left:.6rem;right:.6rem;bottom:.6rem;z-index:55;display:flex;align-items:center;gap:.4rem;padding:.45rem .3rem .45rem .9rem;border-radius:14px;background:#0E1528;border:1px solid rgba(233,201,140,.45);box-shadow:0 16px 40px -12px rgba(0,0,0,.75);animation:fxBarIn .3s cubic-bezier(.2,.8,.2,1)}
.fx-bar[hidden]{display:none}
@keyframes fxBarIn{from{opacity:0;transform:translateY(16px)}}
.fx-bar-q{flex:1;min-width:0;font-weight:650;font-size:.88rem;line-height:1.2;color:#FFFFFF}
.fx-bar-b{border:0;border-radius:10px;padding:.6rem .8rem;min-height:44px;font:650 .88rem/1 var(--sans);background:#E9C98C;color:#0B1222;cursor:pointer}
.fx-bar-x{background:none;border:0;color:#AEB8CC;font-size:24px;line-height:1;width:34px;height:44px;cursor:pointer;padding:0}
html.has-fx-bar .ask-fab{display:none}
html.fx-dlg-open .fx-bar{display:none}
@media (prefers-reduced-motion:reduce){.fx-opt,.fx-st-opt,.fx-st-list a,.wizard .btn,.fx-start .btn{transition:none}.fx-opt:hover,.fx-st-opt:hover,.wizard .btn:hover,.fx-start .btn:hover{transform:none}.wizard input.is-bad,.fx-start input.is-bad,.fx-msg:not(:empty),.fx-dlg[open],.fx-bar{animation:none}}
/* v11 (2026-10-24): main menu by goal (Home Purchase, Mortgage Refinance, Home Equity, Loan Programs, Guides, Tools) with grouped panels */
.nav-list{display:flex;align-items:center;gap:.15rem;list-style:none;margin:0;padding:0}
.nav-item{position:relative;display:flex;align-items:center}
.nav .nav-top{display:inline-flex;align-items:center;padding:.55rem .1rem .55rem .55rem;font-weight:500;white-space:nowrap;color:#C9D3E6;text-decoration:none}
.nav-item.is-current>.nav-top,.nav .nav-top:hover{color:#FFFFFF}
.nav-item.is-current>.nav-top{box-shadow:inset 0 -2px 0 #E9C98C}
.nav-caret{display:inline-grid;place-items:center;width:26px;height:32px;padding:0;margin:0 .2rem 0 0;background:none;border:0;border-radius:6px;color:#AEB8CC;cursor:pointer}
.nav-caret svg{transition:transform .2s ease}
.nav-item.open>.nav-caret svg{transform:rotate(180deg)}
.nav-caret:hover{color:#FFFFFF;background:rgba(255,255,255,.06)}
.mega{position:absolute;top:calc(100% + 10px);left:50%;z-index:60;min-width:min(620px,90vw);padding:1.2rem 1.3rem 1rem;border-radius:16px;background:#0F1729;border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 60px -20px rgba(0,0,0,.6);opacity:0;visibility:hidden;transform:translate(-50%,6px);transition:opacity .16s ease,transform .16s ease,visibility 0s linear .16s}
.mega::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.nav-item:nth-last-child(-n+2)>.mega{left:auto;right:0;transform:translate(0,6px)}
.nav-item.open>.mega{opacity:1;visibility:visible;transform:translate(-50%,0);transition:opacity .16s ease,transform .16s ease}
.nav-item:nth-last-child(-n+2).open>.mega{transform:translate(0,0)}
.mega-cols{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(170px,1fr));gap:1.4rem}
.mega-h{margin:0 0 .5rem;font:600 .72rem/1.2 var(--sans);text-transform:uppercase;letter-spacing:.12em;color:#E9C98C}
.mega ul{list-style:none;margin:0;padding:0;display:grid;gap:.1rem}
.mega a{display:block;padding:.42rem .5rem;margin:0 -.5rem;border-radius:8px;color:#EAF0FA;text-decoration:none;font-size:.9rem;line-height:1.3}
.mega a strong{font-weight:550}
.mega a span{display:block;font-size:.78rem;color:#AEB8CC;margin-top:.1rem}
.mega a:hover,.mega a:focus-visible{background:rgba(255,255,255,.06);color:#FFFFFF}
.mega-foot{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding-top:.9rem;border-top:1px solid rgba(255,255,255,.1);font-size:.82rem;color:#AEB8CC}
.mega-foot .btn{padding:.6rem 1rem;font-size:.86rem;white-space:nowrap}
@media (min-width:1181px) and (hover:hover){.nav-item:hover>.mega,.nav-item:focus-within>.mega{opacity:1;visibility:visible;transform:translate(-50%,0);transition:opacity .16s ease,transform .16s ease}.nav-item:nth-last-child(-n+2):hover>.mega,.nav-item:nth-last-child(-n+2):focus-within>.mega{transform:translate(0,0)}.nav-item.no-peek:not(.open)>.mega{opacity:0;visibility:hidden}}
/* tablets and phones: the menu button opens a full-width panel; each item's arrow opens its links as an accordion */
@media (max-width:1180px){
  .menu-btn{display:block}
  .nav{display:none;position:absolute;top:100%;left:0;right:0;max-height:calc(100vh - 100%);max-height:calc(100dvh - 100px);overflow-y:auto;overscroll-behavior:contain;background:#0B1222;border-bottom:1px solid rgba(255,255,255,.12);padding:.4rem var(--gutter) 1.2rem;box-shadow:0 30px 50px -20px rgba(0,0,0,.6)}
  .nav.open{display:block}
  .nav-list{flex-direction:column;align-items:stretch;gap:0}
  .nav-item{flex-wrap:wrap;border-bottom:1px solid rgba(255,255,255,.1)}
  .nav .nav-top{flex:1;padding:.95rem 0;font-size:1.02rem;border:0}
  .nav-item.is-current>.nav-top{box-shadow:none;color:#E9C98C}
  .nav-caret{width:48px;height:48px;margin:0}
  .mega,.nav-item:nth-last-child(-n+2)>.mega{position:static;flex-basis:100%;min-width:0;display:none;opacity:1;visibility:visible;transform:none;transition:none;padding:.2rem 0 1rem;border:0;border-radius:0;box-shadow:none;background:none}
  .nav-item.open>.mega,.nav-item:nth-last-child(-n+2).open>.mega{display:block;transform:none}
  .mega::before{content:none}
  .mega-cols{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}
  .mega a{padding:.5rem .5rem;font-size:.95rem}
  .mega-foot{flex-direction:column;align-items:stretch;text-align:center}
  html.nav-open{overflow:hidden}
  .nav .mega a{border-bottom:0}
  html.nav-open .ask-fab,html.nav-open .fx-bar{display:none}
}
/* goal hubs: the starter card under the page title */
.goal-start{padding-top:1.6rem}
.goal-start-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.6rem;align-items:center;padding:1.4rem 1.6rem;border-radius:18px;border:1px solid rgba(233,201,140,.35);background:linear-gradient(135deg,rgba(233,201,140,.1),rgba(91,140,255,.06)),#0F1729}
.goal-start-card h2{margin:.4rem 0 .4rem;font-size:var(--step-1)}
.goal-start-card p{margin:0;color:var(--muted)}
.goal-start-card .fx-start--zip{max-width:none}
@media (max-width:860px){.goal-start-card{grid-template-columns:1fr;padding:1.2rem}}
.tool-cta .cta-inner{padding-left:clamp(1.3rem,.8rem + 2.5vw,2.6rem);padding-right:clamp(1.3rem,.8rem + 2.5vw,2.6rem)}
.fx-dlg .wizard{background:#0E1528}

/* Hero headline typography (2026-10-24): three sizes on three lines with tight leading. A small lead-in ("The first"),
   the key word in the accent color, and the noun set largest. Sizes are relative to the h1, whose size each theme fits
   to its column, so every theme keeps "self-driving" at about 78% of the copy width. */
.hero-copy h1.hero-h1{line-height:.9;letter-spacing:-.035em}
.hero-h1>span{display:block}
.hero-h1 .h1a{font-size:.46em;line-height:1.15;letter-spacing:-.01em;font-weight:500;opacity:.82;margin:0 0 .16em}
.hero-h1 .h1b{color:#8FB0FF}
.hero-h1 .h1c{font-size:1.24em;line-height:.88;letter-spacing:-.045em}
@media (max-width:640px){.hero-h1 .h1a{font-size:.5em}.hero-h1 .h1b{font-size:1.15em}.hero-h1 .h1c{font-size:1.42em}}
/* a long row of answer chips must scroll inside the form, never widen the page (iPhone report, Oct 25) */
.hero-split>*,.wizard,.wiz-head{min-width:0}

/* Conversion and trust pass (Oct 25, 2026). Shared by every theme; theme colours still come from the theme files. */
/* Phone menu button: it was squeezed to 16px wide (and so invisible) next to the logo and header button in most themes. */
.menu-btn{flex:none;min-width:44px;min-height:44px;display:none;align-items:center;justify-content:center}
.menu-btn svg{flex:none;width:26px;height:26px}
@media (max-width:1180px){.menu-btn{display:inline-flex}}
/* Header phone number: a 24px-tall tap area (it was 16 to 19px). */
.head-call{display:inline-flex;align-items:center;min-height:24px}
/* The contact consent is a required disclosure: keep it readable (it was 11.2px). */
.wizard .consent{font-size:.78rem;line-height:1.5}
/* Phones: the hero already introduces the form, so the form's own intro paragraph is skipped there and the first answer
   shows sooner. The dialog and landing-page forms keep it. */
@media (max-width:640px){.hero-form .wiz-sub{display:none}}
/* With the menu button at full size, keep the header inside narrow phones (no sideways scrolling). */
@media (max-width:400px){.site-head .wrap{gap:.5rem}.site-head .menu-btn{margin-left:0}}
@media (max-width:370px){.site-head .wrap .brand{font-size:1.85rem;gap:.5rem}.site-head .wrap .brand svg{width:40px;height:40px}}
@media (max-width:340px){.site-head .wrap .brand{font-size:1.55rem;gap:.4rem}.site-head .wrap .brand svg{width:34px;height:34px}.site-head .wrap{padding-left:12px;padding-right:12px}.site-head .head-cta .btn--gold{padding:.55rem .6rem;font-size:.8rem}}
/* Article pages on 320px phones: a table could widen the text column past the screen. */
.article-grid>*{min-width:0}
/* Keyboard focus on answer buttons and starters looked the same as mouse hover in the original theme; give it a ring. */
.fx-opt:focus-visible,.fx-st-opt:focus-visible,.fx-val.is-editable:focus-visible,.fx-crumb:focus-visible{outline:2px solid #E9C98C;outline-offset:2px}

/* Logo (approved "02 Slender Star", src/assets/brand): one inline SVG, never squeezed (fixed 336:91 ratio); themes
   recolour its parts. */
.brand{flex:none}
.brand svg.mz-logo{height:30px;width:111px;flex:none;overflow:visible}
.mz-logo .lg-h{fill:none;stroke:var(--logo-house,#6A9DFE)}.mz-logo .lg-s{fill:var(--logo-star,#DBB477)}.mz-logo .lg-w{fill:var(--logo-word,#FFFFFF)}
.site-head .brand svg.mz-logo{height:46px;width:170px}
@media (max-width:1180px){.site-head .brand svg.mz-logo{height:42px;width:155px}}
@media (max-width:560px){.site-head .brand svg.mz-logo{height:38px;width:140px}}
@media (max-width:370px){.site-head .wrap .brand svg.mz-logo{height:34px;width:126px}}
@media (max-width:340px){.site-head .wrap .brand svg.mz-logo{height:29px;width:107px}}
.site-foot .brand svg.mz-logo{height:40px;width:148px}
