@font-face{font-family:'Fraunces';font-style:normal;font-weight:500 700;font-display:swap;src:url(fonts/fraunces-latin.woff2) format('woff2')} /* Fraunces: SIL Open Font License, self-hosted */
@font-face{font-family:'Manrope';font-style:normal;font-weight:500 800;font-display:swap;src:url(fonts/manrope-0.woff2) format('woff2')}
:root{
/* THEMES (Stasi, Oct 16 1:08 AM: "premium, classy, modern, professional"). Every color lives in these variables.
   A "Forest & Brass" is the default; ?theme=b (Midnight & Gold) or ?theme=c (Graphite & Emerald) switch it (index.html sets
   data-theme on <html>). --accent = thin lines, icons, highlights; --accent-deep = accent used as TEXT (>=4.5:1 on --bg);
   --primary = the few filled things (your answers, main buttons, selected chips). The GPA logo keeps its own colors. */
--primary:#14342B; --on-primary:#fff;
--accent:#B08D57; --accent-deep:#7A5C2E; --accent-soft:#F3EEE4; --accent-line:#DCCDB1;
--ink:#1E2422; --text:#3A403D; --muted:#5F6662;
--bg:#F7F5F0; --surface:#ffffff; --line:#DDD6C8; --line-soft:#E9E4DA; --bot:#F4F1EA; --composer:#FBFAF7;
--shadow:30,36,34;
--soft-bg:#FBF6EC; --soft-line:#E2CFA6; --soft-ink:#6E5222;
--font:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;
--font-head:"Fraunces",Georgia,"Times New Roman",serif;
--r:14px; --r-lg:20px;
}
html[data-theme="b"]{ /* Midnight & Gold (fills use a lighter navy so nothing reads as a black block) */
--primary:#1F3556; --accent:#C2A14D; --accent-deep:#7D6420; --accent-soft:#F5F0E2; --accent-line:#E0D2A8;
--ink:#0F1B2D; --text:#334155; --muted:#5B6576; --bg:#FAF8F4; --line:#DEDAD0; --line-soft:#ECE8DF; --bot:#F4F2EC; --composer:#FCFBF8;
--shadow:15,27,45; --soft-bg:#FBF7EA; --soft-line:#E5D6A6; --soft-ink:#6B5418;
}
html[data-theme="c"]{ /* Graphite & Emerald (graphite for type; emerald for the few fills, so no black blocks) */
--primary:#1F7A5A; --accent:#1F7A5A; --accent-deep:#17654A; --accent-soft:#EAF3EF; --accent-line:#BCD9CC;
--ink:#1C1F22; --text:#3A3F44; --muted:#5F656B; --bg:#F6F6F4; --line:#DADBD7; --line-soft:#E8E8E5; --bot:#F1F2EF; --composer:#FAFAF9;
--shadow:28,31,34; --soft-bg:#F3F7F4; --soft-line:#BCD9CC; --soft-ink:#17543E;
}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);color:var(--text);background:var(--bg);line-height:1.55;overflow-x:hidden;font-weight:500}
h1,h2,h3{font-family:var(--font-head);color:var(--ink)}
a{color:inherit}button,input,select{font:inherit}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:6px}
.wrap{max-width:1160px;margin:0 auto;padding:0 18px}
.proto-bar{background:var(--accent-soft);color:var(--accent-deep);font-size:12px;font-weight:700;text-align:center;padding:6px 12px;letter-spacing:.02em;border-bottom:1px solid var(--accent-line)}
.site-head{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.mark{display:grid;grid-template-columns:1fr 1fr;gap:3px;width:28px;height:28px;flex:none}.mark i{border-radius:2px;background:var(--accent)}
.mark i:nth-child(1){background:#1f6f66}.mark i:nth-child(2){background:#2f9e8f}.mark i:nth-child(3){background:#0f1b2d}.mark i:nth-child(4){background:#9fd4ca}
.brand-text{font-size:12.5px;line-height:1.1;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--ink)}.brand-text b{display:block;font-weight:800}
.head-nav{display:flex;align-items:center;gap:22px;font-size:14.5px;font-weight:600}.head-nav a{text-decoration:none;color:var(--text)}.head-nav a:hover{color:var(--ink)}
.head-nav .call{background:var(--primary);color:#fff;padding:9px 15px;border-radius:999px;font-weight:700}
@media (max-width:760px){.head-nav a:not(.call){display:none}.head-nav .call{padding:8px 12px;font-size:13.5px}}
.hero{position:relative;padding:48px 16px 56px;background:radial-gradient(1200px 420px at 50% -60px,var(--accent-soft),transparent 70%),var(--bg);border-top:0}
.hero-bg{display:none}
.hero-inner{position:relative;max-width:760px;margin:0 auto;text-align:center}
.eyebrow{display:inline-block;margin:0 0 14px;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-deep);font-weight:800;background:var(--surface);border:1px solid var(--accent-line);border-radius:999px;padding:6px 14px}
h1{margin:0;text-wrap:balance;font-size:clamp(30px,6.4vw,50px);line-height:1.08;letter-spacing:-.025em;font-weight:800}
h1 span{display:block;color:var(--accent-deep)}
.lede{text-wrap:pretty;margin:14px auto 26px;max-width:600px;font-size:clamp(15.5px,2.2vw,18px);color:var(--text)}
.chat{background:var(--surface);color:var(--ink);border-radius:var(--r-lg);border:1px solid var(--line);box-shadow:0 24px 60px -24px rgba(var(--shadow),.28),0 2px 6px rgba(var(--shadow),.04);text-align:left;overflow:hidden}
.chat-head{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line-soft)}
.chat-head>div{min-width:0}.chat-head b{display:block;font-size:15px;color:var(--ink)}.chat-head small{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px;line-height:1.3}
.dot{width:7px;height:7px;border-radius:50%;background:var(--accent);display:inline-block;flex:none}
.avatar{width:38px;height:38px;border-radius:50%;background:var(--accent-soft);color:var(--accent-deep);border:1px solid var(--accent-line);display:grid;place-items:center;font-weight:800;font-size:11.5px;flex:none}
.reset{flex:none;margin-left:auto;display:grid;place-items:center;width:34px;height:34px;border:0;background:transparent;color:var(--muted);border-radius:50%;padding:0;cursor:pointer;opacity:.75;touch-action:manipulation}.reset:hover,.reset:focus-visible{opacity:1;color:var(--accent-deep);background:var(--line-soft)}
.chip.other{border-style:dashed;border-color:var(--accent);color:var(--accent-deep);background:var(--accent-soft);font-weight:700}
.msg small.conf{display:inline-block;margin-left:4px;font-size:12px;color:var(--muted);white-space:nowrap}
.msg small.caveat{display:block;margin-top:6px;font-size:12px;color:var(--muted);line-height:1.35}
.log{max-height:min(46vh,420px);min-height:72px;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:8px;scroll-behavior:smooth}
.msg{max-width:88%;padding:10px 13px;border-radius:16px;font-size:15px;line-height:1.45;animation:pop .22s ease-out}
.msg.bot{background:var(--bot);border:1px solid var(--line-soft);border-bottom-left-radius:5px;align-self:flex-start;color:var(--ink)}
.msg.me{background:var(--primary);color:#fff;border-bottom-right-radius:5px;align-self:flex-end}
.msg.bot b{color:var(--ink)}.msg a{color:var(--accent-deep);font-weight:700}
.typing{display:inline-flex;gap:4px;padding:12px 14px}.typing i{width:7px;height:7px;border-radius:50%;background:var(--muted);opacity:.7;animation:blink 1s infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes blink{0%,80%,100%{opacity:.3}40%{opacity:1}}@keyframes pop{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.chips{display:flex;flex-wrap:wrap;gap:8px;padding:2px 14px 12px}
.chip{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:8px 13px;font-size:14px;font-weight:700;cursor:pointer;transition:.15s;line-height:1.2}
.chip:hover{border-color:var(--accent);color:var(--accent-deep)}.chip.on{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}
.chip.go{background:var(--primary);border-color:var(--primary);color:#fff}
.composer{display:flex;gap:8px;padding:10px;border-top:1px solid var(--line-soft);background:var(--composer)}
.composer input{flex:1;min-width:0;border:1px solid var(--line);border-radius:999px;padding:12px 16px;font-size:16px;background:var(--surface);color:var(--ink)}
.composer input::placeholder{font-size:15px;color:var(--muted)}
.composer input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.composer button{width:46px;height:46px;flex:none;border:0;border-radius:50%;background:var(--primary);color:var(--on-primary);display:grid;place-items:center;cursor:pointer}
.mini{display:grid;gap:8px;margin-top:8px}.mini input{border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:16px;width:100%;background:#fff}
.mini button{justify-self:start}
.results{padding:36px 0 10px}#results,#chat,#how{scroll-margin-top:70px}
.res-top{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}
.results h2{margin:0;font-size:clamp(22px,4vw,30px);letter-spacing:-.02em;font-weight:800}
.res-sub{margin:4px 0 0;color:var(--muted);font-size:14.5px}
.sort{font-size:13.5px;color:var(--muted);display:flex;gap:8px;align-items:center;font-weight:600}.sort select{border:1px solid var(--line);border-radius:10px;padding:7px 10px;background:#fff;color:var(--ink)}
.pills{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 20px}
.pill{display:inline-flex;align-items:center;gap:6px;background:var(--accent-soft);color:var(--accent-deep);border:1px solid var(--accent-line);border-radius:999px;padding:5px 7px 5px 12px;font-size:13px;font-weight:700}
.pill button{border:0;background:#fff;width:22px;height:22px;border-radius:50%;cursor:pointer;color:var(--accent-deep);line-height:1}
.sec-h{margin:6px 0 14px;padding-left:12px;border-left:4px solid var(--line)}.sec-h.ours{border-left-color:var(--accent)}
.sec-h h3{margin:0;font-size:19px;font-weight:800}.sec-h h3 span{display:inline-block;vertical-align:2px;margin-left:4px;background:var(--line-soft);color:var(--ink);font-size:12.5px;border-radius:999px;padding:1px 9px}
.sec-h.ours h3 span{background:var(--primary);color:#fff}.sec-h p{margin:2px 0 0;color:var(--muted);font-size:14px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px;margin-bottom:30px}
.card{background:var(--surface);border-radius:var(--r);overflow:hidden;border:1px solid var(--line);display:flex;flex-direction:column;animation:pop .3s ease-out}
.card.unlocked{border-color:var(--accent-line)}
.ph{position:relative;aspect-ratio:16/9;background:var(--line-soft) center/cover no-repeat}
.ph .tag{position:absolute;left:10px;top:10px;background:rgba(255,255,255,.94);color:var(--ink);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:4px 9px;border-radius:999px}
.cb{padding:14px 14px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.tags{display:flex;flex-wrap:wrap;gap:6px}
.tg{font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:3px 8px}
.tg.gpa{background:var(--primary);border-color:var(--primary);color:#fff}.tg.re{border-color:var(--accent-line);color:var(--accent-deep);background:var(--accent-soft)}
.price{font-size:23px;font-weight:800;letter-spacing:-.02em;color:var(--ink)}
.loc{font-weight:700;color:var(--ink)}.loc small{color:var(--muted);font-weight:600}
.teaser{margin:0;color:var(--text);font-size:14.5px}
.facts{color:var(--muted);font-size:13.5px;display:flex;flex-wrap:wrap;gap:4px 12px}
.lock{font-size:12.5px;color:var(--muted);background:var(--bot);border-radius:8px;padding:6px 9px}
.unl{font-size:13px;font-weight:800;color:var(--accent-deep);background:var(--accent-soft);border-radius:8px;padding:6px 9px}.unl.soft{font-weight:700}
.sample{font-size:11.5px;color:var(--muted)}
.btn{border:0;background:var(--primary);color:#fff;border-radius:12px;padding:12px 16px;font-weight:800;cursor:pointer;font-size:15px}
.btn:hover{filter:brightness(1.15)}.btn.ghost{background:#fff;color:var(--ink);border:1px solid var(--line)}
.btn.gold{background:var(--primary);color:#fff}
.btn:disabled{opacity:.4;cursor:not-allowed;filter:none}
.card .btn{margin-top:auto}
.empty{background:var(--surface);border:1px dashed var(--line);border-radius:var(--r);padding:20px;text-align:center}
.refine{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:15;border:0;border-radius:999px;background:var(--primary);color:#fff;font-weight:800;padding:12px 18px;box-shadow:0 10px 30px rgba(var(--shadow),.3);cursor:pointer;display:none}
.refine.show{display:block}
.how{padding:44px 0 50px;background:var(--surface);border-top:1px solid var(--line-soft)}.how h2{font-size:clamp(22px,4vw,30px);margin:0 0 16px;font-weight:800;letter-spacing:-.02em}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;counter-reset:s}
.steps li{background:var(--bg);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--r);padding:16px;counter-increment:s;display:flex;flex-direction:column;gap:4px}
.steps li b{color:var(--ink)}
.steps li::before{content:counter(s,decimal-leading-zero);color:var(--accent-deep);font-weight:800;font-size:13px;letter-spacing:.1em}
.steps span{color:var(--muted);font-size:14.5px}
.sell-cta{margin-top:22px;background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:var(--r-lg);padding:22px;display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.sell-cta h3{margin:0 0 4px;font-size:21px;font-weight:800}.sell-cta p{margin:0;color:var(--text);max-width:560px}
.sell-cta .btn{background:var(--accent-deep)}
.site-foot{background:var(--bg);color:var(--text);padding:28px 0 36px;font-size:14px;border-top:1px solid var(--line-soft)}
.site-foot a{color:var(--ink);font-weight:700}.foot-brand{margin-bottom:12px}.fine{font-size:12.5px;color:var(--muted)}
.modal{position:fixed;inset:0;z-index:50;background:rgba(var(--shadow),.45);display:flex;align-items:flex-end;justify-content:center}
.modal[hidden]{display:none}
.sheet{position:relative;background:#fff;width:100%;max-width:520px;max-height:92vh;overflow-y:auto;border-radius:20px 20px 0 0;padding:22px 20px 26px;animation:up .25s ease-out;border-top:0}
@media (min-width:640px){.modal{align-items:center;padding:20px}.sheet{border-radius:20px}}
@keyframes up{from{transform:translateY(30px);opacity:0}to{transform:none;opacity:1}}
.x{position:absolute;right:12px;top:10px;border:0;background:var(--bot);width:34px;height:34px;border-radius:50%;font-size:22px;line-height:1;cursor:pointer;color:var(--muted)}
.sheet h3{margin:0 34px 6px 0;font-size:20px;font-weight:800}.sheet .sub{color:var(--muted);margin:0 0 14px;font-size:14.5px}
.terms{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:13.5px;color:var(--text);max-height:150px;overflow-y:auto;margin-bottom:4px}
.terms p{margin:0 0 8px}.fine-t{font-size:12px;color:var(--muted);font-style:italic}
.agree{display:flex;gap:10px;align-items:flex-start;margin:12px 0;font-size:14.5px;font-weight:700;color:var(--ink)}.agree input{width:20px;height:20px;margin-top:2px;flex:none;accent-color:var(--accent)}
.fields{display:grid;gap:10px;margin-bottom:14px}.fields label{font-size:13px;font-weight:700;color:var(--muted);display:grid;gap:4px}
.fields input{border:1px solid var(--line);border-radius:10px;padding:11px 12px;font-size:16px;color:var(--ink)}
.fields input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.sigin{font-family:"Snell Roundhand","Brush Script MT","Segoe Script",cursive;font-size:20px!important;font-style:italic}
.sheet .btn{width:100%}
.ok{text-align:center;padding:10px 0}.ok .big{width:56px;height:56px;border-radius:50%;background:var(--accent-soft);color:var(--accent-deep);display:grid;place-items:center;font-size:28px;margin:6px auto 12px}
.sig{font-size:12.5px;color:var(--accent-deep);font-weight:700;margin:-4px 0 14px}
.note{font-size:12px;color:var(--muted);margin-top:10px;text-align:center}
@media (min-width:900px){.hero{padding:72px 24px 84px}.log{max-height:380px}}
@media (max-width:520px){.hero{padding:24px 14px 40px}.eyebrow{font-size:10px;letter-spacing:.06em;padding:5px 11px;margin-bottom:10px}.proto-bar{font-size:11.5px}.lede{margin:6px auto 14px;font-size:15px}.chat-head small .dot{display:none}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}

.typehint{padding:0 18px 8px;font-size:12.5px;font-weight:600;color:var(--accent-deep);text-align:left}
.typehint[hidden]{display:none}

/* v3 header: logo avatar + AI pill, one line */
.chat-head{padding:8px 12px;gap:9px}
.avatar{position:relative;width:36px;height:36px;background:#fff;border:1px solid var(--line);font-size:0}
.avatar .spark{position:absolute;right:-6px;bottom:-5px;width:18px;height:18px;border-radius:50%;background:var(--accent);color:#fff;font-size:11px;line-height:18px;text-align:center;border:2px solid #fff;box-sizing:content-box;box-shadow:0 1px 3px rgba(var(--shadow),.25)}
.chat-head .who{display:flex;align-items:center;gap:7px;min-width:0;flex:1}
.chat-head .who b{display:inline;font-size:15px;white-space:nowrap}
.ai-pill{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.08em;font-variant-caps:all-small-caps;padding:1px 7px 2px;border-radius:999px;background:var(--accent-soft);color:var(--accent-deep);border:1px solid var(--accent-line);cursor:help;line-height:1.4}

/* value range card */
.vcard{margin-top:10px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 14px 12px;color:var(--ink)}
.vk{font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.vr{font-size:27px;font-weight:800;letter-spacing:-.02em;line-height:1.15;margin:4px 0 10px;font-variant-numeric:tabular-nums;white-space:nowrap}
.vr em{font-style:normal;color:var(--muted);margin:0 4px;font-weight:600}
.vbar{display:flex;height:10px;border-radius:999px;overflow:hidden;background:var(--line-soft)}
.vbar i{display:block;height:100%}
.vb-b,.vleg i.b{background:var(--accent)}
.vb-p,.vleg i.p{background:var(--primary)}
.vleg{display:flex;flex-wrap:wrap;gap:4px 14px;margin:8px 0 6px;font-size:12.5px;color:var(--text);font-weight:600}
.vleg i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px;vertical-align:0}
.vleg .muted{color:var(--muted)}
.vcard .caveat{display:block;margin:6px 0 10px}
.vbtns{display:flex;gap:8px}
.vbtns .btn{flex:1;min-width:0;padding:10px 12px;font-size:14px}
.chip.soft{background:var(--soft-bg);border-color:var(--soft-line);color:var(--soft-ink)}
.fin-cta{display:block;width:100%;margin:14px 0 4px;padding:12px 14px;border:1px dashed var(--soft-line);background:var(--soft-bg);color:var(--soft-ink);border-radius:12px;font-weight:700;font-size:14.5px;cursor:pointer;text-align:center}
/* labeled Start over pill (hidden until the visitor has said something) */
.chat-head .reset{width:auto;height:auto;min-height:32px;padding:0 11px;border:1.5px solid var(--accent);border-radius:999px;color:var(--accent-deep);background:#fff;font:700 13px/1 var(--font);opacity:1;white-space:nowrap;gap:4px;display:inline-flex;align-items:center}
.chat-head .reset[hidden]{display:none}
.chat-head .reset span{font-size:14px}
.chat-head .who b{overflow:hidden;text-overflow:ellipsis;font-size:14.5px}

/* state picker: 📍 detected state + "Choose a state ▾" (native select on top, invisible, so a tap opens the phone's picker) */
.chip.geo{border:2px solid var(--accent);color:var(--accent-deep);background:var(--surface);padding:7px 12px}
.chip.geo.on{background:var(--primary);color:#fff}
.chip.pick{position:relative;display:inline-flex;align-items:center;overflow:hidden;border-color:var(--ink);background:var(--surface)}
.chip.pick b{font-weight:800;color:var(--accent-deep)}
.chip.pick select{position:absolute;inset:0;width:100%;height:100%;opacity:0;font-size:16px;cursor:pointer;-webkit-appearance:none;appearance:none;border:0;margin:0}
.chip.pick:focus-within{outline:3px solid var(--accent);outline-offset:2px}
/* multi-select: picked chips stay filled with a ✓ */
.chip.on::after{content:" ✓";font-weight:800}
.chip.go{padding:8px 16px}
/* edit any answer */
/* Answer bubbles are real buttons (edit fix, Oct 16): >=44px tall, their own ✎ circle, no text-select/callout on long press. */
.msg.me.ed{font:inherit;font-size:15px;line-height:1.35;text-align:left;border:0;margin:0;min-height:44px;height:auto;flex:none;white-space:normal;overflow:visible;overflow-wrap:anywhere;display:inline-flex;align-items:center;gap:9px;padding:8px 8px 8px 14px;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:var(--accent-line);transition:transform .1s}
.msg.me.ed .ed-t{min-width:0;flex:1 1 auto}
.msg.me.ed .ed-ic{flex:none;align-self:center;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;font-size:14px;line-height:1}
.msg.me.ed:active{transform:scale(.97)}
.msg.me.ed:focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent)}
@media (hover:hover){.msg.me.ed:hover{box-shadow:0 0 0 3px var(--accent-soft)}.msg.me.ed:hover .ed-ic{background:rgba(255,255,255,.28)}}
.chip.pick.money .pick-l{white-space:nowrap}
.chip.pick.money>b{margin-left:4px}
.tip{align-self:center;font-size:12px;color:var(--muted);background:var(--line-soft);border-radius:999px;padding:4px 10px;margin:2px 0}
.msg.bot.editing{box-shadow:0 0 0 2px var(--accent)}
.chip.prev{border:2px dashed var(--accent);padding:7px 12px}
/* range card v2: one likely number big, tight range small */
.vr.vlikely{font-size:38px;margin:2px 0 0}
.vrange{font-size:14px;font-weight:700;color:var(--text);margin:0 0 10px;font-variant-numeric:tabular-nums}
.vaddr{font-size:12.5px;color:var(--accent-deep);background:var(--accent-soft);border-radius:8px;padding:6px 9px;margin:8px 0 0}
.vbtns{flex-wrap:wrap}.vbtns .btn{flex:1 1 140px}
/* email breakdown preview */
.emailprev{margin-top:10px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 13px;color:var(--ink);font-size:14px;line-height:1.45}
.emailprev .eh{border-bottom:1px solid var(--line-soft);padding-bottom:8px;margin-bottom:8px}
.emailprev .eh b{display:block}.emailprev .eh small{color:var(--muted)}
.emailprev p{margin:0 0 8px}.emailprev .eproto{display:block;color:var(--muted);font-size:11.5px;margin-top:4px}
/* our listings: filter row + NDA note */
.lfilter{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 4px}
.lfilter label{display:flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;color:var(--muted)}
.lfilter select{border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:#fff;color:var(--ink);font-size:16px;max-width:170px}
.lnote{margin:4px 0 8px;font-size:13px;color:var(--accent-deep);font-weight:600}
/* ✦ badge v2 (Stasi: "make it fill that bubble"): 23px badge, the star is ~88% of it, accent on white, crisp SVG */
.avatar .spark{width:23px;height:23px;right:-7px;bottom:-6px;padding:0;display:grid;place-items:center;background:#fff;color:var(--accent);border:1.5px solid var(--accent);box-sizing:border-box;line-height:0;font-size:0}
.avatar .spark svg{width:20px;height:20px;display:block} /* 20 of 23px = 87% */

/* LINE ICONS on chips (Oct 16): thin teal Lucide-style SVG, 18px, centered with the text; white on filled chips. */
.chip{display:inline-flex;align-items:center;gap:6px}
.chip .ico{flex:none;width:18px;height:18px;color:var(--accent);display:block}
.chip.on .ico,.chip.go .ico,.chip.geo.on .ico{color:#fff}
.chip.soft .ico{color:var(--accent)}
.chip.pick .ico{position:relative;z-index:0}
.chips.locked{pointer-events:none}.chips.locked .chip{opacity:.55}

/* REMEMBER ME (Oct 16): ♡ on listing photos, welcome-back strip above the chat, footer note, code box. */
.ph .heart{position:absolute;right:10px;top:8px;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.94);display:grid;place-items:center;cursor:pointer;color:var(--accent);box-shadow:0 1px 4px rgba(var(--shadow),.18);touch-action:manipulation;-webkit-tap-highlight-color:transparent;padding:0}
.ph .heart svg{width:22px;height:22px;display:block;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s}
.ph .heart.on svg{fill:var(--accent)}
.ph .heart:active svg{transform:scale(.85)}
.wb{text-align:left;background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:var(--r);padding:10px 12px 8px;margin:0 0 12px;box-shadow:0 6px 20px -12px rgba(var(--shadow),.25)}
.wb-h{font-size:14px;color:var(--ink);margin-bottom:8px}.wb-h span{color:var(--muted);font-size:12.5px}
.wb-row{display:flex;flex-wrap:wrap;gap:6px}
.wb .wbchip{font-size:13px;padding:7px 11px;max-width:100%}
.wb .wbchip .chip-t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.wb-f{margin-top:6px;font-size:12px;color:var(--muted);display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.linkbtn{border:0;background:none;padding:6px 0;font:inherit;font-size:12.5px;color:var(--accent-deep);text-decoration:underline;cursor:pointer;min-height:32px}
.site-foot .remember{font-size:13px}
.site-foot .remember .linkbtn{font-size:13px}
form.mini.code input{letter-spacing:.3em;font-variant-numeric:tabular-nums;max-width:160px}
/* Long answers/replies never shrink inside the scrolling chat log (a flex column): every bubble keeps its full height. */
.log>.msg{flex-shrink:0}
/* no hero subline any more (Oct 16): keep the gap between the headline and the chat */
.hero h1{margin-bottom:18px}
@media (max-width:520px){.hero h1{margin-bottom:14px}}
/* "+" upload in the ask box (Stasi Oct 16 12:50 AM: like iMessage, no label). A transparent file input covers the round button so
   a tap opens the iPhone's Photos / Camera / Files sheet. Attached files show as small chips above the box. */
.composer{align-items:center}
.composer .add{position:relative;flex:none;width:42px;height:42px;border-radius:50%;border:1.5px solid var(--accent);color:var(--accent-deep);display:grid;place-items:center;background:var(--surface);cursor:pointer;overflow:hidden}
.composer .add input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:16px}
.composer .add:focus-within{box-shadow:0 0 0 3px var(--accent-soft)}
.att{display:flex;flex-wrap:wrap;gap:6px;padding:8px 10px 0;background:var(--composer);border-top:1px solid var(--line-soft)}
.att[hidden]{display:none}
.att .af{display:inline-flex;align-items:center;gap:6px;max-width:100%;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:4px 4px 4px 10px;font-size:13px;color:var(--ink)}
.att .af .ico{width:16px;height:16px;color:var(--accent);flex:none}
.att .af span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:200px}
.att .af button{flex:none;width:28px;height:28px;border:0;border-radius:50%;background:var(--line-soft);color:var(--muted);font-size:16px;line-height:1;cursor:pointer}
.msg small.caveat.up{color:var(--accent-deep);font-weight:600}
.chip.upl{position:relative;overflow:hidden;border-style:dashed;border-color:var(--accent);color:var(--accent-deep)}
.chip.upl input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:16px}

/* Email-my-breakdown form (real send, Oct 16) */
.mini.bd .hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}
.mini.bd .tc{display:flex;align-items:center;gap:10px;min-height:44px;font-size:14.5px;color:var(--ink);cursor:pointer}
.mini.bd .tc[hidden],.mini.bd .tcfine[hidden],.mini.bd .ferr[hidden]{display:none}
.mini.bd .tc input{width:22px;height:22px;margin:0;accent-color:var(--primary);flex:none}
.mini.bd .tcfine{margin-top:-8px;font-size:11.5px;color:var(--muted)}
.mini.bd .ferr{margin:0;font-size:13.5px;color:#9b1c1c;font-weight:600}
.mini.bd .ferr a{color:inherit}
.mini.bd .fnote{font-size:12px;color:var(--muted);line-height:1.35}
.mini.bd button[disabled]{opacity:.7}

/* PREMIUM PASS (Oct 16, Stasi 1:08 AM): serif headline, more air, hairline cards with a soft shadow, accent used sparingly. */
h1{font-family:var(--font-head);font-weight:600;letter-spacing:-.015em;font-variation-settings:"opsz" 96}
h2,h3{letter-spacing:-.01em}
.hero{background:radial-gradient(900px 360px at 50% -80px,var(--accent-soft),transparent 70%),var(--bg)}
.hero h1::after{content:"";display:block;width:44px;height:1px;background:var(--accent);margin:16px auto 0}
.chat{box-shadow:0 18px 48px -28px rgba(var(--shadow),.30),0 1px 3px rgba(var(--shadow),.05)}
.card{box-shadow:0 10px 28px -22px rgba(var(--shadow),.35)}
.chip{font-weight:650}
.proto-bar{background:var(--surface);color:var(--muted);font-weight:600;border-bottom:1px solid var(--line-soft)}

/* TAP TARGETS (bug bash Oct 16): every tappable thing is at least 44px tall on a phone. */
.chip{min-height:44px;padding-top:0;padding-bottom:0}
.chip.pick,.chip.upl{min-height:44px}
.brand{min-height:44px}
.head-nav .call{min-height:44px;display:inline-flex;align-items:center}
.chat-head .reset{min-height:44px}
.vbtns .btn,.mini .btn{min-height:44px}
.linkbtn{min-height:44px}
h1{letter-spacing:-.005em;font-variation-settings:"opsz" 72}

h2,h3{font-family:var(--font)}
.site-head{background:rgba(255,255,255,.96)}

/* BACK ARROW on answers (Stasi, Oct 16 1:24 AM): a subtle ↩ instead of the pencil; the whole bubble is the 44px button. */
.msg.me.ed .ed-ic{background:transparent;color:#fff;opacity:.6;width:24px;height:24px}
.msg.me.ed .ed-ic svg{display:block}
@media (hover:hover){.msg.me.ed:hover .ed-ic{opacity:.95;background:transparent}}
.tip .tip-ic{display:inline-grid;vertical-align:-3px;color:var(--accent-deep)}
/* small ✕ buttons keep a 44px hit area without growing the pill */
.pill button{width:44px;height:44px;margin:-12px -14px -12px -10px;background:transparent;display:grid;place-items:center;font-size:17px}
.pill{padding-right:14px}
.att .af button{width:44px;height:44px;margin:-8px -8px -8px -10px;background:transparent;font-size:15px}
.sort select{font-size:16px}

/* real listing cards (Oct 16): a title line + "Under contract" badge */
.card .ct{margin:2px 0 2px;font-size:16px;line-height:1.3;font-weight:800;color:var(--ink);font-family:var(--font)}
.tg.uc{background:var(--soft-bg);border-color:var(--soft-line);color:var(--soft-ink)}
.card .btn.ghost.similar{margin-top:auto}

.log>.msg.bot.wide{max-width:100%;width:100%}

/* ---------- Top 3, hand-picked (example outbound cards) + offer step (Oct 16 5 AM) ---------- */
.mkt{margin:4px 0 28px;padding:18px 16px 16px;background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--r-lg)}
.sec-h.mk{border-left-color:var(--accent);margin-top:0}
.exlab{display:inline-block;background:var(--accent-soft);color:var(--accent-deep);border:1px solid var(--accent-line);font-size:11.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:0 8px;margin-right:4px;vertical-align:1px}
.xcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.xcard{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:var(--r);padding:12px;background:var(--composer);min-width:0}
.xic{flex:none;width:48px;height:48px;border-radius:12px;background:var(--accent-soft);color:var(--accent-deep);display:grid;place-items:center}
.xbody{min-width:0;flex:1}
.xbody h4{margin:0;font-size:16px;color:var(--ink);font-weight:800;line-height:1.3}
.xloc{margin:2px 0 8px;color:var(--muted);font-size:14px}.xloc b{color:var(--ink)}
.xact{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}
.xlink{display:inline-flex;align-items:center;min-height:44px;color:var(--accent-deep);font-weight:800;font-size:14.5px;text-decoration:underline;text-underline-offset:3px}
.xoffer{min-height:44px;padding:8px 12px;font-size:14px}
.mk-cta{display:block;width:100%;margin-top:14px;min-height:48px}
.srch{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:6px}
.srch .linkbtn,.mini .back,.mback{min-height:44px;font-size:14px;font-weight:700;color:var(--accent-deep);background:none;border:0;padding:0 2px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.mini .back{justify-self:start;text-decoration:none}
.mback{display:inline-flex;align-items:center;gap:4px;text-decoration:none;margin:-8px 0 2px}
.mini .flab{display:grid;gap:4px;font-size:13px;font-weight:700;color:var(--muted)}.mini .flab i{font-weight:500;font-style:normal}
.mini input[readonly]{background:var(--bot);color:var(--ink);font-weight:700}
.mini.bd .al-fine{margin-top:-8px}
.sheet .mini.of .btn{width:100%}
@media (max-width:420px){.mkt{padding:14px 12px;margin-left:-2px;margin-right:-2px}.xcard{padding:10px}.xic{width:40px;height:40px}}
.xcues{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12.5px;color:var(--soft-ink);font-weight:700}
.mini textarea{border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:16px;width:100%;background:#fff;font-family:inherit;color:var(--ink);resize:vertical;line-height:1.35}
.mini .lsel{margin:0;padding:10px 12px;border-radius:10px;background:var(--bot);color:var(--ink);font-weight:700;font-size:15px;line-height:1.35}
.sheet .x{min-width:44px;min-height:44px}
.sheet .x{width:44px;height:44px;right:8px;top:6px}.sheet h3{margin-right:48px}

/* offer v2 (Oct 16 6:40 AM): two screens, $ inputs, financing/close/DD selects, conditions expander, proof-of-funds upload */
.ofv2 .ostep{display:grid;gap:10px}.ofv2 .ostep[hidden]{display:none}
.ofv2 select{border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:16px;width:100%;min-height:44px;background:#fff;color:var(--ink);font-weight:500}
.ofv2 .flab input,.ofv2 .flab textarea{font-weight:500;color:var(--ink)}
.ofv2 .dollar{position:relative;display:block}.ofv2 .dollar>span{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:16px;color:var(--muted);font-weight:600;pointer-events:none}
.ofv2 .dollar input{padding-left:26px}
.ofv2 input{min-height:44px}
.ofv2 .dpw[hidden]{display:none}
.ofv2 .dprow{display:flex;gap:8px;align-items:stretch}.ofv2 .dprow input{flex:1;min-width:0}
.ofv2 .seg{display:flex;border:1px solid var(--line);border-radius:10px;overflow:hidden;flex:none}
.ofv2 .seg button{min-width:48px;min-height:44px;border:0;background:#fff;color:var(--ink);font-weight:700;font-size:16px;cursor:pointer}
.ofv2 .seg button.on{background:var(--primary);color:var(--on-primary)}
.ofv2 .ocond{border:1px solid var(--accent-line);border-radius:12px;background:var(--accent-soft)}
.ofv2 .ocond summary{min-height:44px;display:flex;align-items:center;padding:0 14px;font-weight:700;color:var(--accent-deep);cursor:pointer;list-style:none;font-size:15px}
.ofv2 .ocond summary::-webkit-details-marker{display:none}
.ofv2 .ocond summary::before{content:"+";display:inline-block;width:18px;font-size:18px;font-weight:800}
.ofv2 .ocond[open] summary::before{content:"–"}
.ofv2 .ocond summary i{font-weight:500;font-style:normal;color:var(--muted);margin-left:4px}
.ofv2 .ocbody{display:grid;gap:10px;padding:2px 12px 12px}
.ofv2 fieldset.cbx{border:0;margin:0;padding:0;display:grid;gap:0;min-width:0}
.ofv2 fieldset.cbx legend{font-size:13px;font-weight:700;color:var(--muted);padding:0;margin-bottom:2px}
.ofv2 fieldset.cbx .tc{line-height:1.25}.ofv2 fieldset.cbx .tc span{overflow-wrap:anywhere}
.ofv2 fieldset.cbx input[name=cto]{margin-top:4px}
.ofv2 .pofbtn{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border:1.5px dashed var(--accent);border-radius:12px;color:var(--accent-deep);font-weight:700;font-size:15px;background:#fff;cursor:pointer;overflow:hidden}
.ofv2 .pofbtn svg{width:20px;height:20px;flex:none}
.ofv2 .pofbtn input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:16px}
.ofv2 .pofile{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 4px 0 12px;border-radius:10px;background:var(--bot);color:var(--ink);font-weight:600;font-size:14px;min-width:0}
.ofv2 .pofile[hidden]{display:none}.ofv2 .pofile .pfn{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.ofv2 .pofile .pofx{min-height:44px;flex:none}
.ofv2 .pof .fnote{font-weight:500}.ofv2 .pof .conf{font-style:italic}
.ofv2 .pof .ferr{font-size:13.5px}
.sheet .ok .pofneed{display:inline-block;margin-top:8px;color:var(--accent-deep)}

/* inline field errors (Oct 16 6:40 AM) */
small.ierr{display:block;color:#9b1c1c;font-size:13px;font-weight:600;line-height:1.3;margin:-2px 0 2px}
small.ierr[hidden]{display:none}
.mini small.ierr{margin:-4px 0 0}
input[aria-invalid=true]{border-color:#9b1c1c!important;box-shadow:0 0 0 3px rgba(155,28,28,.12)}
.agree input[aria-invalid=true]{outline:2px solid #9b1c1c;outline-offset:1px}
.agree + small.ierr{margin:-8px 0 10px}
.agree{min-height:44px;align-items:center}.agree input{width:22px;height:22px;margin-top:0}
.ofv2 select{-webkit-appearance:none;appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%237A5C2E' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 14px center;padding-right:36px}

/* add-on #4: alerts Yes/No toggle in the top-3 form */
.mini.bd .alq{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px}
.mini.bd .alq-l{font-size:14.5px;font-weight:700;color:var(--ink);line-height:1.3;min-width:0}
.mini .seg{display:flex;border:1px solid var(--line);border-radius:10px;overflow:hidden;flex:none}
.mini .seg button{min-width:52px;min-height:44px;border:0;background:#fff;color:var(--ink);font-weight:700;font-size:15px;cursor:pointer;justify-self:auto}
.mini .seg button.on{background:var(--primary);color:var(--on-primary)}
.mini.bd .al-fine{margin-top:-6px}

/* live matches elsewhere: plain-text buttons, grey disclaimer */
.liveout{margin:14px 0 4px;display:grid;gap:8px;text-align:left}
.liveout .lo-h{margin:0;font-size:13.5px;font-weight:700;color:var(--muted)}
.liveout .lo-row{display:flex;flex-wrap:wrap;gap:8px}
.liveout .lo-btn{display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:0 14px;border:1px solid var(--accent-line);border-radius:999px;background:#fff;color:var(--accent-deep);font-weight:700;font-size:14.5px;text-decoration:none;white-space:nowrap}
.liveout .lo-btn:hover{border-color:var(--accent)}
.liveout .lo-note{font-size:12px;color:var(--muted);line-height:1.35}
.empty .liveout{justify-items:center;text-align:center}.empty .liveout .lo-row{justify-content:center}
.sheet .freeline{margin:-6px 0 14px;font-size:13.5px;font-weight:700;color:var(--accent-deep)}

/* add-on #6: welcome-back card */
.wb{position:relative;text-align:left;background:linear-gradient(135deg,#fff 0%,var(--accent-soft) 100%);border:1px solid var(--accent-line);border-left:4px solid var(--accent);border-radius:16px;padding:16px 18px 10px;margin:0 0 14px;box-shadow:0 10px 28px -18px rgba(var(--shadow),.35)}
.wb-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.wb-title{margin:0;font-family:var(--font-head);font-weight:600;font-size:24px;line-height:1.1;color:var(--primary);letter-spacing:-.01em}
.wb-rule{flex:1;max-width:72px;height:2px;border-radius:2px;background:var(--accent);opacity:.8}
.wb-items{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.wbi{display:flex;align-items:center;gap:12px;width:100%;min-height:60px;padding:10px 12px;border:1px solid var(--accent-line);border-radius:12px;background:#fff;color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .1s;-webkit-tap-highlight-color:transparent}
.wbi:hover{border-color:var(--accent);box-shadow:0 6px 16px -10px rgba(var(--shadow),.35)}
.wbi:active{transform:scale(.99)}
.wbi-ic{flex:none;width:40px;height:40px;border-radius:50%;background:var(--accent-soft);color:var(--accent-deep);display:grid;place-items:center}
.wbi-ic svg{width:20px;height:20px}
.wbi-th{flex:none;width:44px;height:44px;border-radius:10px;background:#ddd center/cover no-repeat}
.wbi-t{flex:1;min-width:0;display:grid;gap:2px}
.wbi-t b{font-size:15px;font-weight:700;color:var(--ink);line-height:1.25}
.wbi-t small{font-size:13px;color:var(--muted);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wbi-go{flex:none;font-size:13.5px;font-weight:700;color:var(--accent-deep);white-space:nowrap}
.wb-cap{margin:10px 0 0;font-size:12.5px;color:var(--muted);display:flex;flex-wrap:wrap;align-items:center;gap:0 2px}
.wb-cap .linkbtn{min-height:44px;font-size:12.5px;font-weight:600;color:var(--muted);text-decoration:underline;text-underline-offset:3px;background:none;border:0;padding:0 4px;cursor:pointer}
@media (max-width:520px){.wb{padding:14px 14px 6px}.wb-title{font-size:22px}.wb-items{grid-template-columns:1fr}}
@media (max-width:520px){.wb-cap{font-size:12px}.wb-cap .linkbtn{font-size:12px;padding:0 2px}}

.wb-main{display:grid;gap:10px;grid-template-columns:1fr 1fr;margin-bottom:10px}.wb-main.one{grid-template-columns:1fr}
.wbc{display:flex;align-items:center;gap:12px;min-height:72px;padding:12px 14px;border-radius:14px;font:inherit;text-align:left;cursor:pointer;width:100%;transition:box-shadow .15s,transform .1s,border-color .15s;-webkit-tap-highlight-color:transparent}
.wbc:active{transform:scale(.99)}
.wbc.pri{background:var(--primary);color:var(--on-primary);border:1px solid var(--primary);box-shadow:0 10px 22px -14px rgba(var(--shadow),.6)}
.wbc.sec{background:#fff;color:var(--ink);border:1px solid var(--accent-line)}
.wbc.sec:hover{border-color:var(--accent)}
.wbc-ic{flex:none;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-size:24px;font-weight:500;line-height:1}
.wbc.pri .wbc-ic{background:rgba(255,255,255,.12);color:var(--accent)}
.wbc.sec .wbc-ic{background:var(--accent-soft);color:var(--accent-deep)}
.wbc-ic svg{width:20px;height:20px}
.wbc-t{flex:1;min-width:0;display:grid;gap:3px}
.wbc-t b{font-size:16px;font-weight:700;line-height:1.25}
.wbc-t small{font-size:13px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wbc.pri .wbc-t small{color:rgba(255,255,255,.78)}.wbc.sec .wbc-t small{color:var(--muted)}
.wbc-go{flex:none;font-size:14px;font-weight:700;white-space:nowrap}
.wbc.pri .wbc-go{color:var(--accent)}.wbc.sec .wbc-go{color:var(--accent-deep)}
.wb-items .wbi{min-height:52px;padding:6px 12px}.wb-items .wbi-th{width:38px;height:38px}.wb-items .wbi-ic{width:36px;height:36px}
@media (max-width:640px){.wb-main{grid-template-columns:1fr}}
.wbc.pri .wbc-go,.wbc.pri .wbc-ic{color:#E2C58F}

/* add-on #7: NDA terms as a link + in-page sheet */
.sheet .agreeline{margin:-4px 0 12px;font-size:13.5px;color:var(--muted)}
.sheet .agreeline .tlink{min-height:44px;padding:0 2px;font-size:13.5px;font-weight:700;color:var(--accent-deep);background:none;border:0;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.sheet.has-terms{overflow:hidden}
.tsheet{position:absolute;left:0;right:0;height:100%;z-index:5;background:#fff;display:flex;flex-direction:column;border-radius:inherit}
.tsheet-h{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px 10px 20px;border-bottom:1px solid var(--line)}
.tsheet-h h3{margin:0!important;font-size:18px}
.tsheet-h .tclose{width:auto!important;min-height:44px;padding:0 18px}
.tsheet-b{flex:1;overflow-y:auto;padding:14px 20px 24px;font-size:15px;line-height:1.5;color:var(--ink)}
.tsheet-b p{margin:0 0 12px}.tsheet-b .fine-t{font-size:12.5px;color:var(--muted)}
.sheet .agreeline .tlink{padding:0 6px;margin:0 -4px}

/* NDA = GPA's Adobe Sign form inside the sheet */
.sheet.wide-nda{max-width:760px}
.ndaframe{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;margin:0 0 12px}
.ndaframe iframe{display:block;width:100%;height:min(68vh,720px);border:0}
.sheet .ndaback{margin:0 0 10px;font-size:14.5px;color:var(--primary);text-align:center}
.sheet .ndatab{margin-bottom:8px;display:flex;align-items:center;justify-content:center;gap:4px;min-height:44px;text-decoration:none}
.fields label .opt{font-weight:500;font-style:normal}
.ndaf .hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}
.ndaf .ferr{margin:8px 0 0;font-size:13.5px;color:#9b1c1c;font-weight:600}.ndaf .ferr[hidden]{display:none}
.ofv2 .lview{display:inline-flex;align-items:center;gap:4px;min-height:44px;font-weight:700;color:var(--accent-deep);font-size:14px}

/* ON-SITE NDA v3 (Oct 16 7:18 AM): typed signature + optional pad + terms pop-up */
.ndaf .sigprev{min-height:46px;margin:-6px 0 8px;padding:4px 4px 2px;border-bottom:1px solid var(--line);font-family:"Snell Roundhand","Apple Chancery","Segoe Script","Brush Script MT",cursive;font-size:30px;line-height:1.2;color:var(--primary);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.ndaf .sigprev:not(.on)::before{content:"Your signature appears here";font-family:inherit;font-size:20px;color:#b9b2a4}
.ndaf .linkbtn{min-height:44px;padding:0;background:none;border:0;font:inherit;font-size:14px;font-weight:700;color:var(--accent-deep);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.ndaf .sigpad{border:1px dashed var(--accent-line);border-radius:12px;background:#fff;margin:2px 0 8px;overflow:hidden}
.ndaf .sigpad[hidden]{display:none}
.ndaf .sigpad canvas{display:block;width:100%;height:130px;touch-action:none;cursor:crosshair;background:linear-gradient(to top,transparent 34px,var(--line) 34px,var(--line) 35px,transparent 35px)}
.ndaf .sigpad-row{display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-top:1px solid var(--line-soft)}
.ndaf .sigpad-row small{font-size:12.5px;color:var(--muted)}
.ndaf .agree{display:flex;gap:10px;align-items:center;min-height:44px;margin:4px 0 10px;font-size:15px;font-weight:600;color:var(--ink);cursor:pointer}
.ndaf .agree input{flex:none;width:22px;height:22px;accent-color:var(--primary)}
.ndaf .agree .tlink{color:var(--accent-deep);font-weight:800;text-decoration:underline;text-underline-offset:3px;display:inline-block;padding:10px 2px;margin:-10px 0}
.ndaf .agree + small.ierr{margin:-8px 0 8px}
.ndaf .esign{margin:-4px 0 12px;font-size:12.5px;color:var(--muted)}
.tmodal{position:fixed;inset:0;z-index:80;background:rgba(var(--shadow),.55);display:flex;align-items:flex-end;justify-content:center}
.tmodal[hidden]{display:none}
.tcard{background:#fff;width:100%;max-width:700px;height:92vh;height:92dvh;border-radius:20px 20px 0 0;display:flex;flex-direction:column;animation:up .22s ease-out;box-shadow:0 -10px 40px -20px rgba(var(--shadow),.6)}
@media (min-width:640px){.tmodal{align-items:center;padding:24px}.tcard{border-radius:20px;height:min(86vh,920px)}}
.tcard-h{display:flex;align-items:center;gap:8px;padding:8px 8px 8px 20px;border-bottom:1px solid var(--line)}
.tcard-h h3{flex:1;margin:0;font-size:18px;font-weight:700}
.tcard-h .tx{flex:none;width:44px;height:44px;border:0;border-radius:50%;background:var(--accent-soft);color:var(--ink);font-size:28px;line-height:1;cursor:pointer;display:grid;place-items:center}
.tcard-b{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:16px 20px 24px}
.tcard-b:focus{outline:none}
.tcard-f{padding:10px 20px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}
.tcard-f .btn{width:100%}
.ndaterms{font-size:15px;line-height:1.55;color:var(--text)}
.ndaterms h1{font-family:var(--font-head);font-size:21px;line-height:1.25;color:var(--primary);margin:0 0 8px;font-weight:600}
.ndaterms h2{font-family:var(--font-head);font-size:16.5px;color:var(--ink);margin:18px 0 6px;font-weight:600}
.ndaterms p{margin:0 0 10px}
.ndaterms .cl .n{font-weight:700;color:var(--accent-deep);margin-right:2px}
.ndaterms .draft{display:inline-block;margin:0 0 8px;padding:5px 10px;border-radius:8px;background:#FDF1E7;color:#8a3b12;font-size:12.5px;font-weight:700}
.ndaterms .parties{font-size:13px;color:var(--muted);margin-bottom:12px}
.ndaterms .blank{display:inline-block;min-width:120px;border-bottom:1px solid var(--ink);line-height:1}
.ndaterms .fill{color:var(--primary)}
.ndaterms .sigt{border-collapse:collapse;margin:4px 0 12px;font-size:14.5px}
.ndaterms .sigt td{padding:4px 12px 4px 0;vertical-align:top}.ndaterms .sigt td.k{color:var(--muted);white-space:nowrap}
.tv{font-size:12px;color:var(--muted);margin:14px 0 0}
body.termspage{background:var(--bg)}
.terms-wrap{max-width:760px;margin:0 auto;padding:16px 16px 48px}
.terms-wrap .ndaterms{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 20px}
.terms-back{display:inline-flex;align-items:center;min-height:44px;font-weight:700;color:var(--accent-deep);text-decoration:none;margin-bottom:6px}

/* Oct 16 2026 (Stasi 7:53 AM): consent line under contact submit buttons; footer legal row; privacy/terms pages */
.consent{display:block;margin:8px 2px 0;font-size:12px;line-height:1.45;color:var(--muted);font-weight:400}
.consent a{color:inherit;text-decoration:underline;font-weight:400}
.site-foot .legal{font-size:12.5px;color:var(--muted);margin-top:10px}
.site-foot .legal a{color:var(--muted);font-weight:600;text-decoration:underline}
.ndaterms.legalpg ul{margin:0 0 10px;padding-left:20px}.ndaterms.legalpg li{margin:0 0 6px}
.ndaterms.legalpg .eff{font-size:13px;color:var(--muted);margin:0 0 12px}

/* one NDA for every listing + returning buyers (Oct 16 2026) */
.ndaterms .scope{border-left:3px solid var(--accent,#B08D57);background:rgba(176,141,87,.10);padding:10px 12px;border-radius:0 8px 8px 0;margin:0 0 12px}
.modal .scopeline{margin:6px 0 8px;padding:9px 11px;border-radius:10px;background:rgba(176,141,87,.12);border:1px solid rgba(176,141,87,.35);font-size:14px;line-height:1.45;color:var(--ink)}
.modal .scopeline b{color:var(--primary)}
.already{margin:2px 0 10px}
.already .alrtog{font-size:14.5px;font-weight:600;padding:6px 0;min-height:36px}
.already .alrf{margin:6px 0 4px;padding:12px;border:1px solid var(--line,#ddd);border-radius:12px;background:rgba(20,52,43,.03)}
.already .alrf .btn{width:100%;margin-top:8px}
.wbnda{margin:10px 0 12px;padding:9px 11px;border-radius:10px;background:rgba(20,52,43,.07);color:var(--primary);font-size:14px;line-height:1.45;text-align:left}
.ok .btn.ghost{margin-top:8px}

/* Oct 16 2026 10:14 AM (Stasi: "a card to the right of welcome back… still too upfront, I want people focused on the ai chat"):
   the returning-visitor strip is ONE slim line: "Welcome back!" small on the left, the remembered items as small pills on the
   right, no box, no gold bar. It sits visually under the chat. (Replaces the 9:32 "smaller" block.) */
.wb { display:flex;align-items:center;gap:10px;background:none;border:0;border-left:0;border-radius:0;padding:0 2px;margin:0 0 8px;box-shadow:none }
.wb-head { margin:0;flex:none;display:block }
.wb-title { font-family:var(--font-body,inherit);font-weight:600;font-size:13px;line-height:1.2;color:var(--muted);letter-spacing:0 }
.wb-rule { display:none }
.wb-items { display:flex;flex:1 1 auto;min-width:0;justify-content:flex-end;flex-wrap:wrap;gap:6px }
.wb-items .wbi { width:auto;max-width:100%;min-height:0;padding:4px 10px 4px 6px;gap:7px;border-radius:999px;border:1px solid var(--line);background:#fff;box-shadow:none;transition:border-color .15s }
.wb-items .wbi:hover { border-color:var(--accent);box-shadow:none }
.wb-items .wbi-th { width:22px;height:22px;flex:0 0 22px;border-radius:50% }
.wb-items .wbi-ic { width:22px;height:22px;flex:0 0 22px }
.wb-items .wbi-ic svg { width:12px;height:12px }
.wb-items .wbi-t { display:flex;align-items:baseline;gap:5px;min-width:0;flex:0 1 auto }
.wb-items .wbi-t b { font-size:12.5px;font-weight:600;line-height:1.3;white-space:nowrap;flex:none }
.wb-items .wbi-t small { font-size:12px;line-height:1.3;max-width:300px;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap }
.wb-items .wbi-t small:before { content:"· ";color:var(--muted) }
.wb-items .wbi-go { font-size:12px;font-weight:600;flex:none }
.wb-items.multi .wbi-t small { max-width:170px } /* several pills: keep them on one or two rows */
.wb-cap { margin:0 }
@media (max-width:600px){
  .wb { gap:8px;margin:0 0 8px }
  .wb-title { font-size:12.5px }
  .wb-items { justify-content:flex-end }
  .wb-items .wbi { padding:3px 8px 3px 5px;gap:5px;flex:0 1 auto;min-width:0 }
  .wb-items .wbi-th, .wb-items .wbi-ic { width:20px;height:20px;flex:0 0 20px }
  .wb-items .wbi-t { flex:0 1 auto }
  .wb-items .wbi-t b { font-size:12px }
  .wb-items .wbi-t small { font-size:11.5px;max-width:150px }
  .wb-items.multi .wbi-t small { display:none } /* several pills on a phone: labels only, two rows max */
  .wb.many { flex-wrap:wrap;row-gap:6px } .wb-items.multi { display:contents } /* several pills: they flow beside the title, two rows max */
  .wb-items .wbi-go { font-size:11.5px }
  .wb-items .wbi { position:relative }
  .wb-items .wbi:after { content:"";position:absolute;left:0;right:0;top:-8px;bottom:-8px } /* 44px tap area, no visual change */
}

/* Oct 16 2026 9:36 AM (Stasi vote): top menu "Buy · Sell · How it works" also on phones, as a slim second row under the logo + call button */
@media (max-width:760px){
  .site-head{flex-wrap:wrap;row-gap:2px;padding-bottom:4px}
  .head-nav{display:contents}
  .site-head .brand{order:1}
  .head-nav .call{order:2;margin-left:auto}
  .head-nav a:not(.call){display:inline-flex;order:3;flex:1 1 28%;min-height:44px;align-items:center;justify-content:center;font-size:14.5px;border-top:1px solid var(--line-soft)}
}

/* Oct 16 9:46 AM: saves links moved from Welcome back strip to footer, small + quiet */
.site-foot .saves-links{display:flex;flex-wrap:wrap;align-items:center;gap:0 2px;margin-top:6px}
.site-foot .saves-links .linkbtn{font:inherit;font-size:12.5px;font-weight:600;color:var(--muted);text-decoration:underline;text-underline-offset:3px;background:none;border:0;padding:0 4px;min-height:32px;cursor:pointer}
.site-foot .saves-links .linkbtn:first-child{padding-left:0}
/* Oct 16 9:48 AM Stasi (desktop): too much white space above 'Find your next business'; heading not centered between header and strip.
   Was: 79px header->heading ink, 33px heading ink->Welcome back strip. Now ~37px each. */
@media (min-width:900px){.hero{padding-top:30px}.hero h1{margin-bottom:22px}}

/* Oct 16 2026 11:20 AM (Stasi: "Still looks wonky"): the returning-visitor strip is ONE quiet text line, left-aligned with the chat card
   (same container/width): "Welcome back · Recently viewed: <listing> →". Muted small text, gold underlined text links; no pill, border,
   box or thumbnail; 20px tall, 6px above the chat. Links keep a 44px tap height via an invisible ::after (no layout change).
   Overrides the 10:14 pill row above. */
.wb, .wb.many { display:block;background:none;border:0;border-radius:0;box-shadow:none;padding:0 2px;margin:-4px 0 6px;text-align:left }
.wbl { margin:0;font-size:13px;line-height:20px;color:var(--muted);white-space:nowrap;overflow:visible }
.wbl .wb-title { display:inline;font-family:var(--font-body,inherit);font-size:13px;font-weight:600;line-height:20px;color:var(--muted);letter-spacing:0;margin:0 }
.wbl-sep { color:var(--muted);opacity:.8 }
.wbl-a { display:inline-block;vertical-align:top;position:relative;height:20px;font:inherit;font-size:13px;line-height:20px;color:var(--accent-deep);background:none;border:0;border-radius:0;margin:0;padding:0;cursor:pointer;text-align:left;white-space:nowrap;-webkit-tap-highlight-color:transparent }
.wbl-a .wbl-l { font-weight:600 }
.wbl-a .wbl-d { text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:var(--accent-line, currentColor) }
.wbl-a:hover .wbl-d, .wbl-a:hover .wbl-l { text-decoration:underline;text-decoration-color:currentColor;text-underline-offset:3px }
.wbl-a:focus-visible { outline:2px solid var(--accent);outline-offset:2px;border-radius:3px }
.wbl-go { font-weight:600 }
.wbl-a:after { content:"";position:absolute;left:-4px;right:-4px;top:-12px;bottom:-12px } /* 44px tap height, no layout change */
.wbl-a:not(:has(.wbl-d)) .wbl-l { text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:var(--accent-line, currentColor) }
@media (max-width:600px){ .wb, .wb.many { margin:-4px 0 6px } .wbl, .wbl .wb-title, .wbl-a { font-size:12.5px } }

/* ADDRESS TYPE-AHEAD (Oct 16 2026): plain white list just above the text box; thin border, site font, no logos. */
.composer{position:relative}
.ac{position:absolute;left:10px;right:10px;bottom:calc(100% + 4px);z-index:6;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 26px -16px rgba(var(--shadow),.35);overflow-y:auto;-webkit-overflow-scrolling:touch;font-family:var(--font);text-align:left}
.ac[hidden]{display:none}
.ac-o{display:block;padding:9px 14px;min-height:44px;box-sizing:border-box;cursor:pointer;border-top:1px solid var(--line-soft);color:var(--ink);font-size:15px;line-height:1.3;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.ac-o:first-child{border-top:0}
.ac-o b{display:block;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ac-o span{display:block;font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ac-o.on{background:var(--bot)}
@media (hover:hover){.ac-o:hover{background:var(--bot)}}
.ac-attr{padding:3px 14px 5px;font-size:10.5px;color:var(--muted);opacity:.8;text-align:right;border-top:1px solid var(--line-soft)}

/* CHAT COPY (Oct 16): keep a price range on one line */
.msg .nw{white-space:nowrap}

.who .ai{font-family:var(--font-head);font-weight:600;letter-spacing:.02em} /* serif I so "AI" never reads as "Al" */

/* NO CHAT HEADER (Stasi, Oct 16 7:14 PM): header row (avatar + "Your advisor") removed so the greeting sits at the top
   and the type bar rides higher on a phone. "Start over" now lives in a slim row under the composer, shown only once a chat has started. */
.chat-head{display:none}
.chat>.log{padding-top:12px}
.chat-foot{display:flex;justify-content:flex-end;background:var(--composer)}
.chat-foot .reset{width:auto;height:auto;opacity:1;min-height:44px;margin:0 10px 8px;padding:0 13px;border:1.5px solid var(--accent);border-radius:999px;color:var(--accent-deep);background:#fff;font:700 13px/1 var(--font);white-space:nowrap;gap:4px;display:inline-flex;align-items:center;cursor:pointer}
.chat-foot .reset[hidden]{display:none}
.chat-foot .reset span{font-size:14px}
@media (max-width:520px){.chips{gap:6px;padding-bottom:10px}}

/* ADVISOR AVATAR BESIDE CHAT BUBBLES (Oct 16 2026 ~7:55 PM, Stasi 7:50 PM: "I still like this little thing to the left of the first line").
   The 4-square GPA logo with the gold sparkle, ~30px, left of the advisor's bubbles like a texting app shows the sender's picture.
   One avatar per run of consecutive advisor bubbles, on the last bubble of the run. User bubbles and wide form cards get none.
   No header row, no "Your advisor" label, no divider. Pure CSS (no script change). */
.log>.msg.bot:not(.wide){position:relative;margin-left:38px;max-width:min(88%,calc(100% - 38px))}
.log>.msg.bot:not(.wide)::before{content:"";position:absolute;left:-38px;bottom:0;width:31px;height:31px;background:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 32 32%22%3E%3Ccircle cx=%2213%22 cy=%2213%22 r=%2212.4%22 fill=%22%23fff%22 stroke=%22%23DDD6C8%22 stroke-width=%221%22/%3E%3Cg transform=%22translate(5.5 5.5) scale(.625)%22%3E%3Crect x=%221%22 y=%221%22 width=%2210.5%22 height=%2210.5%22 rx=%222%22 fill=%22%231f6f66%22/%3E%3Crect x=%2212.5%22 y=%221%22 width=%2210.5%22 height=%2210.5%22 rx=%222%22 fill=%22%232f9e8f%22/%3E%3Crect x=%221%22 y=%2212.5%22 width=%2210.5%22 height=%2210.5%22 rx=%222%22 fill=%22%230f1b2d%22/%3E%3Crect x=%2212.5%22 y=%2212.5%22 width=%2210.5%22 height=%2210.5%22 rx=%222%22 fill=%22%239fd4ca%22/%3E%3C/g%3E%3Ccircle cx=%2224.6%22 cy=%2224.6%22 r=%226.8%22 fill=%22%23fff%22 stroke=%22%23B08D57%22 stroke-width=%221.1%22/%3E%3Cg transform=%22translate(18.75 18.75) scale(.4875)%22%3E%3Cpath d=%22M12 0.5C12.9 7.2 16.8 11.1 23.5 12C16.8 12.9 12.9 16.8 12 23.5C11.1 16.8 7.2 12.9 0.5 12C7.2 11.1 11.1 7.2 12 0.5Z%22 fill=%22%23B08D57%22/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;pointer-events:none}
.log>.msg.bot:not(.wide):has(+ .msg.bot:not(.wide))::before{content:none}
/* FAINT LINE UNDER THE AVATAR + GREETING ROW (Stasi 7:52 PM mockup): same subtle line the old header had (1px --line-soft), card edge to edge,
   under the conversation area so it sits right under "Hi 👋 Ask me anything." on the first screen and above the chips / type bar after that. */
.chat>.log{border-bottom:1px solid var(--line-soft);padding-bottom:10px;min-height:66px}
.chat>.log+.chips{padding-top:10px}

/* SPARKLE BIGGER + NO FAINT LINE (Oct 16 2026 ~8:10 PM, Stasi 8:06 PM: "the little sparkle logo is smaller" / "I don't know if I like the faint line").
   Avatar redrawn in a 38px box: logo circle 31px (same as before), gold sparkle badge 18.4px incl. its gold ring (~59% of the avatar, was ~13px)
   tucked bottom-right and overlapping, with a ~1.2px white ring around it so it separates from the logo. Same look as the old header badge
   (white disc, thin gold ring, gold 4-point star). Bubble indent 38 -> 42px so the badge never touches the bubble.
   The faint divider under the conversation (.chat>.log border-bottom) is gone; spacing kept. */
.log>.msg.bot:not(.wide){margin-left:42px;max-width:min(88%,calc(100% - 42px))}
.log>.msg.bot:not(.wide)::before{left:-42px;width:38px;height:38px;background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 38 38%22%3E%3Ccircle cx=%2215.5%22 cy=%2215.5%22 r=%2215%22 fill=%22%23fff%22 stroke=%22%23DDD6C8%22 stroke-width=%221%22/%3E%3Cg transform=%22translate(6.5 6.5) scale(.75)%22%3E%3Crect x=%221%22 y=%221%22 width=%2210.5%22 height=%2210.5%22 rx=%222%22 fill=%22%231f6f66%22/%3E%3Crect x=%2212.5%22 y=%221%22 width=%2210.5%22 height=%2210.5%22 rx=%222%22 fill=%22%232f9e8f%22/%3E%3Crect x=%221%22 y=%2212.5%22 width=%2210.5%22 height=%2210.5%22 rx=%222%22 fill=%22%230f1b2d%22/%3E%3Crect x=%2212.5%22 y=%2212.5%22 width=%2210.5%22 height=%2210.5%22 rx=%222%22 fill=%22%239fd4ca%22/%3E%3C/g%3E%3Ccircle cx=%2227.5%22 cy=%2227.5%22 r=%2210.4%22 fill=%22%23fff%22/%3E%3Ccircle cx=%2227.5%22 cy=%2227.5%22 r=%228.55%22 fill=%22%23fff%22 stroke=%22%23B08D57%22 stroke-width=%221.3%22/%3E%3Cg transform=%22translate(19.935 19.935) scale(0.6304)%22%3E%3Cpath d=%22M12 0.5C12.9 7.2 16.8 11.1 23.5 12C16.8 12.9 12.9 16.8 12 23.5C11.1 16.8 7.2 12.9 0.5 12C7.2 11.1 11.1 7.2 12 0.5Z%22 fill=%22%23B08D57%22/%3E%3C/g%3E%3C/svg%3E")}
.chat>.log{border-bottom:0}

/* TALK TO STASI ON ITS OWN ROW (Oct 16 8:15 PM): a zero-height full-width break before the last start chip; negative top margin cancels the extra row gap. */
.chips .chip-break{flex:0 0 100%;height:0;margin:0;padding:0;border:0}
.chips .chip-break+.chip{margin-top:-8px}
@media (max-width:520px){.chips .chip-break+.chip{margin-top:-6px}}

/* AVATAR A LITTLE BIGGER (Oct 16 2026 9:15 PM, Stasi): 38 -> 46px box, same drawing scaled 1.21x (logo ~37.5px, sparkle badge ~22.3px,
   star ~17.6px, white ring kept). Bubble indent 42 -> 50px (same 4px gap). bottom:-1px keeps it centred on the one-line greeting bubble. */
.log>.msg.bot:not(.wide){margin-left:50px;max-width:min(88%,calc(100% - 50px))}
.log>.msg.bot:not(.wide)::before{left:-50px;width:46px;height:46px;bottom:-1px}

/* FORM VIEW (Oct 16 2026 10:26 PM): while a form card is open script.js grows the chat window inline (max-height) and positions it;
   jump-free scrolling for that moment. */
.chat.form-open>.log{scroll-behavior:auto}

/* ===== HERO SIDE PHOTOS (Oct 17 2026): wide desktop only; phone/tablet unchanged ===== */
.hero-side{display:none}
@media (min-width:1280px){
  .hero-side{--sw:clamp(180px,calc((100vw - 760px)/2 - 76px),300px);display:block;position:absolute;top:6px;width:var(--sw);height:420px;margin:0;border-radius:var(--r-lg,20px);overflow:hidden;background:var(--line-soft);box-shadow:0 18px 44px -26px rgba(var(--shadow),.45),0 1px 3px rgba(var(--shadow),.06);pointer-events:none}
  .hero-side img{display:block;width:100%;height:100%;object-fit:cover}
  .hero-side-r img{object-position:50% 50%}
  .hero-side::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
  .hero-side-l{right:calc(100% + 44px)}
  .hero-side-r{left:calc(100% + 44px)}
  .hero-side-l::after{background:linear-gradient(to right,rgba(247,245,240,0) 62%,rgba(247,245,240,.38) 100%)}
  .hero-side-r::after{background:linear-gradient(to left,rgba(247,245,240,0) 62%,rgba(247,245,240,.38) 100%)}
}


/* ===================== DESIGN V2 (Oct 17 2026, preview gpa-design-v2) =====================
   "Premium advisory firm that still speaks plainly." Everything for the new look lives in this one block, scoped to
   body.v2 / .v2 classes, so porting = paste this block + the index.html sections + img/v2/. Palette unchanged (Forest & Brass). */
body.v2{--forest:#14342B;--forest-2:#0F2A22;--brass:#B08D57;--brass-hi:#C9A86F;--cream:#F7F5F0;--r:12px;--r-lg:16px;background:var(--bg)}
body.v2 h1,body.v2 h2,body.v2 h3{font-family:var(--font-head);letter-spacing:-.015em;font-weight:600}
body.v2 .wrap{max-width:1200px;padding:0 24px}
body.v2 .eyebrow{margin:0 0 14px;font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-hi)}
body.v2 .eyebrow.dark{color:var(--accent-deep)}

/* header */
body.v2 .site-head{padding:14px 32px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line-soft)}
body.v2 .head-nav{gap:30px;font-size:14.5px}
body.v2 .head-nav a:not(.call){color:var(--text);position:relative;padding:4px 0}
body.v2 .head-nav a:not(.call):hover{color:var(--forest)}
body.v2 .head-nav a:not(.call)::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1.5px;background:var(--brass);transform:scaleX(0);transition:transform .2s}
body.v2 .head-nav a:not(.call):hover::after{transform:scaleX(1)}
body.v2 .head-nav .call{display:inline-flex;align-items:center;gap:10px;background:var(--forest);padding:10px 18px;border-radius:10px;font-size:14px}
body.v2 .head-nav .call .call-l{font-weight:800}
body.v2 .head-nav .call .call-n{font-weight:600;opacity:.82;padding-left:10px;border-left:1px solid rgba(255,255,255,.25)}
body.v2 .head-nav .call .call-ic{display:none}

/* buttons */
body.v2 .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 22px;border-radius:10px;font-weight:800;font-size:15px;letter-spacing:.005em;border:1px solid transparent;cursor:pointer;text-decoration:none;transition:transform .15s,box-shadow .15s,background .15s}
body.v2 .btn:hover{transform:translateY(-1px)}
body.v2 .btn-gold{background:var(--brass);color:#14241F;box-shadow:0 10px 24px -12px rgba(176,141,87,.8)}
body.v2 .btn-gold:hover{background:var(--brass-hi)}
body.v2 .btn-ghost{background:transparent;color:var(--forest);border-color:rgba(20,52,43,.35)}
body.v2 .btn-ghost:hover{background:rgba(20,52,43,.05);border-color:var(--forest)}
body.v2 .btn.sm{min-height:42px;padding:9px 16px;font-size:14px}

/* hero */
/* v3 (Oct 17, Stasi: "a bit darker than I was expecting"): light by default. Warm cream band, the station photo as a faint wash, dark-green type. */
body.v2 .hero.v2{position:relative;padding:72px 32px 80px;background:#F3EEE4;overflow:hidden;color:var(--text);border-bottom:1px solid var(--line-soft)}
body.v2 .hero.v2 .hero-photo{position:absolute;inset:0;background:url(img/v2/hero-forecourt.webp) 70% 55%/cover no-repeat;filter:grayscale(.55) sepia(.25) brightness(1.15);opacity:.2}
body.v2 .hero.v2 .hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#F3EEE4 0%,rgba(243,238,228,.92) 40%,rgba(243,238,228,.35) 75%,rgba(243,238,228,.5) 100%)}
body.v2 .hero.v2 .eyebrow{color:var(--accent-deep)}
body.v2 .hero-grid{position:relative;max-width:1200px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,540px);gap:64px;align-items:center}
body.v2 .hero-copy{max-width:560px}
body.v2 .hero.v2 h1{margin:0 0 20px;color:var(--forest);font-size:clamp(40px,4.3vw,60px);line-height:1.06;text-align:left}
body.v2 .hero.v2 h1::after{display:none}
body.v2 .hero-sub{margin:0 0 30px;font-size:19px;line-height:1.55;color:var(--text);max-width:500px}
body.v2 .hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:30px}
body.v2 .hero-ticks{list-style:none;margin:0;padding:22px 0 0;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:12px 22px;font-size:14px;font-weight:600;color:var(--muted)}
body.v2 .hero-ticks li{display:flex;align-items:center;gap:8px;white-space:nowrap}
body.v2 .hero-ticks .ic{color:var(--accent-deep)}
body.v2 .hero-ticks a{color:inherit;text-decoration:none;border-bottom:1px solid var(--accent-line)}
body.v2 .hero-chat{position:relative}
body.v2 .hero-chat .chat{border-radius:var(--r-lg);border:1px solid var(--line);box-shadow:0 30px 60px -32px rgba(var(--shadow),.38),0 2px 6px rgba(var(--shadow),.05)}
body.v2 .hero-chat .wb{color:var(--ink)}
body.v2 .chip{border-radius:10px;border-color:var(--line);font-weight:700}
body.v2 .chip:hover{border-color:var(--brass);background:var(--accent-soft)}
body.v2 .composer{border-top-color:var(--line-soft)}
body.v2 .composer button[type=submit]{border-radius:10px}

/* trust strip */
body.v2 .trust{background:#fff;border-bottom:1px solid var(--line-soft)}
body.v2 .trust-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
body.v2 .t-item{display:flex;gap:14px;align-items:flex-start;padding:34px 24px}
body.v2 .t-item+.t-item{border-left:1px solid var(--line-soft)}
body.v2 .t-item .ic{flex:none;color:var(--accent-deep);margin-top:2px}
body.v2 .t-item b{display:block;font-family:var(--font-head);font-weight:600;font-size:18px;color:var(--ink);line-height:1.25;margin-bottom:6px}
body.v2 .t-item span{display:block;font-size:14px;line-height:1.5;color:var(--muted)}

/* sectors */
body.v2 .sectors{padding:96px 0 40px}
body.v2 .sec-head{margin-bottom:34px}
body.v2 .sec-head h2,body.v2 .how h2{margin:0;font-size:clamp(30px,3vw,42px);line-height:1.12;color:var(--ink)}
body.v2 .sec-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
body.v2 .sec-card{position:relative;margin:0;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/5;background:var(--forest);box-shadow:0 20px 40px -28px rgba(var(--shadow),.6)}
body.v2 .sec-card img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(1.04);transition:transform .5s}
body.v2 .sec-card:hover img{transform:scale(1.03)}
body.v2 .sec-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,52,43,.12) 0%,rgba(20,52,43,0) 35%,rgba(15,42,34,.88) 100%);mix-blend-mode:normal}
body.v2 .sec-card figcaption{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:22px 22px 24px;color:#fff}
body.v2 .sec-card figcaption b,body.v2 .sec-more b{display:block;font-family:var(--font-head);font-weight:600;font-size:22px;line-height:1.2}
body.v2 .sec-card figcaption span{display:block;margin-top:6px;font-size:13.5px;color:rgba(255,255,255,.8)}
body.v2 .sec-more{display:flex;flex-direction:column;justify-content:flex-end;gap:12px;padding:26px;background:var(--forest);color:#fff;border:1px solid rgba(255,255,255,.05)}
body.v2 .sec-more::after{display:none}
body.v2 .sec-more::before{content:"";position:absolute;top:26px;left:26px;width:40px;height:1.5px;background:var(--brass)}
body.v2 .sec-more span{font-size:14.5px;line-height:1.55;color:rgba(233,239,236,.82)}
body.v2 .sec-more .btn{align-self:flex-start;margin-top:8px}

/* how it works */
body.v2 .how{padding:72px 0 96px;background:transparent}
body.v2 .how h2{margin-bottom:34px}
body.v2 .steps{counter-reset:s;list-style:none;margin:0 0 56px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
body.v2 .steps li{counter-increment:s;position:relative;background:#fff;border:1px solid var(--line-soft);border-radius:var(--r-lg);padding:28px 24px 26px;box-shadow:0 14px 30px -26px rgba(var(--shadow),.5)}
body.v2 .steps li::before{content:"0" counter(s);display:block;position:static;width:auto;height:auto;margin:0 0 16px;background:none;border:0;border-radius:0;font-family:var(--font-head);font-size:15px;font-weight:600;color:var(--accent-deep);letter-spacing:.06em;padding-bottom:12px;border-bottom:1px solid var(--accent-line);line-height:1;text-align:left;box-shadow:none}
body.v2 .steps li b{display:block;font-family:var(--font-head);font-weight:600;font-size:19px;line-height:1.25;color:var(--ink);margin-bottom:8px}
body.v2 .steps li span{display:block;font-size:14.5px;line-height:1.55;color:var(--muted)}
body.v2 .sell-cta{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:48px 52px;border-radius:20px;background:var(--forest) radial-gradient(600px 300px at 100% 0%,rgba(176,141,87,.22),transparent 70%);border:0;color:#E9EFEC;box-shadow:0 30px 60px -40px rgba(0,0,0,.6)}
body.v2 .sell-cta h3{margin:0 0 10px;color:#fff;font-size:clamp(26px,2.4vw,34px);line-height:1.15}
body.v2 .sell-cta p{margin:0;max-width:560px;color:rgba(233,239,236,.84);font-size:16.5px}
body.v2 .sell-cta .eyebrow{margin-bottom:10px}
body.v2 .cta-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px;flex:none}
body.v2 .cta-call{display:inline-flex;align-items:center;justify-content:center;gap:8px;color:#F1E6D2;font-weight:700;font-size:14.5px;text-decoration:none}
body.v2 .cta-call .ic{color:var(--brass-hi)}

/* footer */
body.v2 .site-foot.v2{background:var(--forest-2);color:rgba(233,239,236,.78);padding:64px 0 28px;border-top:0;text-align:left}
body.v2 .foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:40px}
body.v2 .site-foot.v2 .brand-text{color:#fff}
body.v2 .site-foot.v2 .fine{margin:16px 0 0;max-width:320px;font-size:14px;line-height:1.6;color:rgba(233,239,236,.7)}
body.v2 .foot-col{display:flex;flex-direction:column;gap:10px;font-size:14.5px}
body.v2 .foot-col h4{margin:0 0 6px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-hi);font-weight:800}
body.v2 .foot-col a{color:rgba(233,239,236,.86);text-decoration:none}
body.v2 .foot-col a:hover{color:#fff}
body.v2 .foot-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:48px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1)}
body.v2 .foot-bar p{margin:0;font-size:13px;color:rgba(233,239,236,.6)}
body.v2 .foot-bar a,body.v2 .foot-bar .linkbtn{color:rgba(233,239,236,.75);text-decoration:none;background:none;border:0;padding:0;cursor:pointer;font-size:13px}

/* tablet */
@media (max-width:1080px){
  body.v2 .hero-grid{grid-template-columns:1fr;gap:36px}
  body.v2 .hero-copy{max-width:680px}
  body.v2 .trust-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.v2 .t-item:nth-child(3){border-left:0}
  body.v2 .t-item:nth-child(n+3){border-top:1px solid var(--line-soft)}
  body.v2 .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.v2 .sec-grid{gap:14px}
  body.v2 .foot-grid{grid-template-columns:1fr 1fr}
  body.v2 .sell-cta{flex-direction:column;align-items:flex-start;padding:36px 32px}
}
/* phone */
@media (max-width:760px){
  body.v2 .site-head{padding:10px 16px 0}
  body.v2 .head-nav{gap:0}
  body.v2 .head-nav .nav-about{display:none!important}
  body.v2 .head-nav a:not(.call)::after{display:none}
  body.v2 .head-nav .call{padding:9px 12px;border-radius:10px;gap:6px;font-size:14px;white-space:nowrap}
  body.v2 .head-nav .call .call-l{display:none}
  body.v2 .head-nav .call .call-n{opacity:1;font-weight:700;padding-left:0;border-left:0}
  body.v2 .head-nav .call .call-ic{display:block;flex:none}
  body.v2 .hero.v2{padding:20px 16px 24px}
  body.v2 .hero.v2 .hero-photo{background-image:url(img/v2/hero-forecourt-900.webp);background-position:35% 40%;opacity:.14}
  body.v2 .hero.v2 .hero-photo::after{background:linear-gradient(180deg,rgba(243,238,228,.6) 0%,rgba(243,238,228,.85) 45%,#F3EEE4 100%)}
  body.v2 .hero-sub .sub-more{display:none}
  body.v2 .hero-grid{gap:18px}
  body.v2 .eyebrow{font-size:11px;margin-bottom:10px}
  body.v2 .hero.v2 h1{font-size:30px;line-height:1.1;margin-bottom:10px}
  body.v2 .hero-sub{font-size:15.5px;margin-bottom:0}
  body.v2 .hero-ctas,body.v2 .hero-ticks{display:none}
  body.v2 .wrap{padding:0 16px}
  body.v2 .trust-grid{grid-template-columns:1fr}
  body.v2 .t-item{padding:20px 4px}
  body.v2 .t-item+.t-item{border-left:0;border-top:1px solid var(--line-soft)}
  body.v2 .sectors{padding:56px 0 20px}
  body.v2 .sec-grid{grid-template-columns:1fr;gap:12px}
  body.v2 .sec-card{aspect-ratio:4/3}
  body.v2 .sec-card.gas img{object-position:50% 92%}
  body.v2 .sec-card.motel img{object-position:50% 0}
  body.v2 .sec-card figcaption{padding:14px}
  body.v2 .sec-card figcaption b{font-size:20px}
  body.v2 .sec-card figcaption span{font-size:13px}
  body.v2 .sec-more{padding:16px}
  body.v2 .sec-more::before{top:16px;left:16px}
  body.v2 .sec-more b{font-size:17px}
  body.v2 .sec-more span{font-size:12.5px}
  body.v2 .sec-more .btn{display:none}
  body.v2 .how{padding:48px 0 64px}
  body.v2 .steps{grid-template-columns:1fr;gap:12px;margin-bottom:36px}
  body.v2 .steps li{padding:20px 18px}
  body.v2 .sell-cta{padding:28px 22px;gap:22px}
  body.v2 .cta-actions{width:100%}
  body.v2 .foot-grid{grid-template-columns:1fr;gap:28px}
  body.v2 .foot-bar{flex-direction:column;align-items:flex-start}
}

/* v2 fixes after first render */
body.v2 .eyebrow{display:block;background:none;border:0;border-radius:0;padding:0;font-size:12px;letter-spacing:.16em}
body.v2 .how{border-top:0;background:transparent}
@media (max-width:760px){
  body.v2 .hero-copy .eyebrow{display:none}
  body.v2 .eyebrow{font-size:11px}
  body.v2 .hero.v2{padding:18px 16px 22px}
  body.v2 .hero.v2 h1{font-size:30px;margin-bottom:8px}
  body.v2 .hero-sub{font-size:15px;line-height:1.45}
  body.v2 .hero-grid{gap:14px}
}

body.v2 .sell-cta .eyebrow{color:var(--brass-hi)}
body.v2 .foot-bar{border-top:0;position:relative}
body.v2 .foot-bar::before{content:"";position:absolute;top:0;left:24px;right:24px;height:1px;background:rgba(255,255,255,.1)}
@media (max-width:760px){body.v2 .foot-bar::before{left:16px;right:16px}}
/* ===== GREEN LOOK (the site default: body.tone-dark is set by the tone script unless ?tone=light) ===== */
body.v2.tone-dark .hero.v2{background:var(--forest);color:#E9EFEC;border-bottom:0}
body.v2.tone-dark .hero.v2 .hero-photo{filter:saturate(.75);opacity:1}
body.v2.tone-dark .hero.v2 .hero-photo::after{background:linear-gradient(90deg,rgba(15,42,34,.97) 0%,rgba(15,42,34,.9) 36%,rgba(15,42,34,.5) 68%,rgba(15,42,34,.62) 100%),linear-gradient(0deg,rgba(15,42,34,.5),rgba(15,42,34,0) 45%)}
body.v2.tone-dark .hero.v2 .eyebrow{color:var(--brass-hi)}
body.v2.tone-dark .hero.v2 h1{color:#fff}
body.v2.tone-dark .hero-sub{color:rgba(233,239,236,.86)}
body.v2.tone-dark .hero .btn-ghost{color:#fff;border-color:rgba(255,255,255,.45)}
body.v2.tone-dark .hero .btn-ghost:hover{background:rgba(255,255,255,.08);border-color:#fff}
body.v2.tone-dark .hero-ticks{border-top-color:rgba(255,255,255,.14);color:rgba(233,239,236,.85)}
body.v2.tone-dark .hero-ticks .ic{color:var(--brass-hi)}
body.v2.tone-dark .hero-ticks a{border-bottom-color:rgba(255,255,255,.3)}
body.v2.tone-dark .hero-chat .chat{border-color:rgba(255,255,255,.6);box-shadow:0 40px 80px -30px rgba(0,0,0,.6),0 0 0 6px rgba(255,255,255,.06)}
@media (max-width:760px){
  body.v2.tone-dark .hero.v2 .hero-photo{opacity:1}
  body.v2.tone-dark .hero.v2 .hero-photo::after{background:linear-gradient(180deg,rgba(15,42,34,.86) 0%,rgba(15,42,34,.93) 45%,rgba(15,42,34,.98) 100%)}
}
/* ===== /GREEN LOOK ===== */
/* ===================== /DESIGN V2 ===================== */

/* Oct 17 12:45: Stasi - no subhead on phones */
@media (max-width:700px){ #hero-sub{display:none !important} }

/* 1:20 PM Oct 17: keep trust ticks on one line; phone tick drops on narrower desktops (header has the number) */
@media (max-width:1240px){ body.v2 .hero-ticks li.tick-phone{display:none} }

/* ===================== INNER PAGES V2 (Oct 17 2026, preview only, NOT in patch) =====================
   About / Contact / FAQ / Privacy / Terms in the homepage's language. Scoped to body.v2.inner. */
body.v2.inner{background:var(--bg)}
body.v2.inner .site-head{z-index:50}
body.v2.inner .head-nav a[aria-current=page]{color:var(--forest)}
body.v2.inner .head-nav a[aria-current=page]::after{transform:scaleX(1)}
body.v2.inner .head-nav .call{color:#fff;text-decoration:none}
.inner .wrap{margin:0 auto}
/* top band */
.inner .phero{position:relative;background:#F3EEE4;border-bottom:1px solid var(--line-soft);padding:64px 32px 72px;overflow:hidden}
.inner .phero::before{content:"";position:absolute;right:-120px;top:-160px;width:520px;height:520px;border-radius:50%;background:radial-gradient(closest-side,rgba(176,141,87,.16),rgba(176,141,87,0));pointer-events:none}
.inner .phero-grid{position:relative;max-width:1200px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:64px;align-items:center}
.inner .phero .eyebrow{color:var(--accent-deep)}
.inner .phero h1{margin:0 0 18px;color:var(--forest);font-size:clamp(38px,4vw,56px);line-height:1.06}
.inner .phero h1::after{display:none}
.inner .phero .lede{margin:0 0 28px;font-size:18.5px;line-height:1.6;color:var(--text);max-width:540px}
.inner .phero .ctas{display:flex;flex-wrap:wrap;gap:12px}
.inner .phero-photo{position:relative;margin:0;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:5/4;background:var(--forest);box-shadow:0 30px 60px -34px rgba(var(--shadow),.55)}
.inner .phero-photo img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.75) contrast(1.03)}
.inner .phero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,52,43,0) 55%,rgba(15,42,34,.55) 100%)}
.inner .phero-photo figcaption{position:absolute;left:20px;bottom:18px;z-index:1;display:flex;align-items:center;gap:10px;color:#fff;font-size:13.5px;font-weight:700;letter-spacing:.02em}
.inner .phero-photo figcaption::before{content:"";width:28px;height:1.5px;background:var(--brass-hi)}
.inner .crumb{display:inline-flex;gap:8px;margin:0 0 18px;font-size:13px;font-weight:700;color:var(--muted)}
.inner .crumb a{color:var(--muted);text-decoration:none}
.inner .crumb a:hover{color:var(--forest)}
/* sections */
.inner .sect{padding:88px 0}
.inner .sect.tint{background:#fff;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
.inner .sect-head{max-width:720px;margin-bottom:36px}
.inner .sect-head h2{margin:0 0 12px;font-size:clamp(28px,2.8vw,40px);line-height:1.12;color:var(--ink)}
.inner .sect-head p{margin:0;font-size:17px;line-height:1.6;color:var(--muted)}
.inner .story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}
.inner .story p{margin:0 0 16px;font-size:17px;line-height:1.7;color:var(--text)}
.inner .story .pull{margin:0;padding:30px 32px;border-radius:var(--r-lg);background:var(--forest) radial-gradient(500px 260px at 100% 0%,rgba(176,141,87,.22),transparent 70%);color:#E9EFEC}
.inner .story .pull b{display:block;font-family:var(--font-head);font-weight:600;font-size:24px;line-height:1.3;color:#fff;margin-bottom:14px}
.inner .story .pull span{display:block;font-size:15px;line-height:1.6;color:rgba(233,239,236,.82)}
.inner .chips-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.inner .tag{display:inline-flex;align-items:center;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:#F1E6D2;font-size:13px;font-weight:700}
.inner .award{display:inline-flex;align-items:center;gap:10px;margin-top:6px;padding:10px 14px;border-radius:10px;background:var(--accent-soft);border:1px solid var(--accent-line);color:var(--soft-ink);font-size:14px;font-weight:800}
.inner .award .ic{color:var(--accent-deep);flex:none}
/* cards */
.inner .cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.inner .cards.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.inner .card{background:#fff;border:1px solid var(--line-soft);border-radius:var(--r-lg);padding:28px 24px 26px;box-shadow:0 14px 30px -26px rgba(var(--shadow),.5)}
.inner .sect.tint .card{background:var(--bg)}
.inner .card .ic{display:block;color:var(--accent-deep);margin-bottom:16px}
.inner .card b{display:block;font-family:var(--font-head);font-weight:600;font-size:19px;line-height:1.25;color:var(--ink);margin-bottom:8px}
.inner .card span,.inner .card p{display:block;margin:0;font-size:14.5px;line-height:1.6;color:var(--muted)}
.inner .card a{color:var(--forest);font-weight:700}
.inner ol.cards{list-style:none;margin:0;padding:0;counter-reset:s}
.inner ol.cards li{counter-increment:s}
.inner ol.cards li::before{content:"0" counter(s);display:block;margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid var(--accent-line);font-family:var(--font-head);font-size:15px;font-weight:600;color:var(--accent-deep);letter-spacing:.06em;line-height:1}
/* team */
.inner .team{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.inner .person{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px;align-items:center;background:#fff;border:1px solid var(--line-soft);border-radius:var(--r-lg);padding:18px;box-shadow:0 20px 40px -32px rgba(var(--shadow),.6)}
.inner .person img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:12px;background:var(--accent-soft)}
.inner .person h3{margin:0 0 4px;font-size:23px;line-height:1.2;color:var(--ink)}
.inner .person .role{margin:0 0 12px;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-deep)}
.inner .person p{margin:0 0 14px;font-size:14.5px;line-height:1.6;color:var(--muted)}
.inner .person .award{margin-top:0;font-size:13px;padding:8px 12px}
/* contact */
.inner .ways{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:20px}
.inner .way{display:flex;flex-direction:column;gap:10px;background:#fff;border:1px solid var(--line-soft);border-radius:var(--r-lg);padding:28px 26px;box-shadow:0 14px 30px -26px rgba(var(--shadow),.5);text-decoration:none;color:inherit}
.inner .way .ic{color:var(--accent-deep)}
.inner .way small{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-deep)}
.inner .way b{font-family:var(--font-head);font-weight:600;font-size:22px;line-height:1.25;color:var(--ink);word-break:break-word}
.inner .way span{font-size:14.5px;line-height:1.55;color:var(--muted)}
.inner .way.main{background:var(--forest) radial-gradient(500px 260px at 100% 0%,rgba(176,141,87,.25),transparent 70%);border:0;color:#E9EFEC}
.inner .way.main .ic,.inner .way.main small{color:var(--brass-hi)}
.inner .way.main b{color:#fff;font-size:26px}
.inner .way.main span{color:rgba(233,239,236,.82)}
.inner .way.main .btn{align-self:flex-start;margin-top:auto}
.inner .way .go{margin-top:auto;font-weight:800;font-size:14.5px;color:var(--forest)}
.inner .forms-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:980px}
/* FAQ */
.inner .faq-nav{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.inner .faq-nav a{display:inline-flex;align-items:center;min-height:42px;padding:9px 16px;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--ink);font-weight:700;font-size:14px;text-decoration:none}
.inner .faq-nav a:hover{border-color:var(--brass);background:var(--accent-soft)}
.inner .faq-groups{display:grid;gap:56px;max-width:880px}
.inner .faq-group{scroll-margin-top:90px}
.inner .faq-group h2{display:flex;align-items:center;gap:14px;margin:0 0 18px;font-size:clamp(24px,2.3vw,32px);color:var(--ink)}
.inner .faq-group h2 .ic{flex:none;color:var(--accent-deep)}
.inner .qa{margin:0 0 12px;background:#fff;border:1px solid var(--line-soft);border-radius:14px;box-shadow:0 10px 24px -22px rgba(var(--shadow),.5);transition:border-color .2s}
.inner .qa[open]{border-color:var(--accent-line)}
.inner .qa summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;font-family:var(--font-head);font-weight:600;font-size:18px;line-height:1.35;color:var(--ink)}
.inner .qa summary::-webkit-details-marker{display:none}
.inner .qa summary::after{content:"";flex:none;width:30px;height:30px;border-radius:50%;border:1px solid var(--accent-line);background:var(--accent-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237A5C2E' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center/14px no-repeat;transition:transform .2s}
.inner .qa[open] summary::after{transform:rotate(45deg)}
.inner .qa .a{padding:0 22px 22px;font-size:15.5px;line-height:1.65;color:var(--text)}
.inner .qa .a p{margin:0 0 10px}
.inner .qa .a ol{margin:4px 0 0;padding-left:20px}
.inner .qa .a li{margin:0 0 8px}
/* legal */
.inner .legal-card{max-width:820px;margin:0 auto;background:#fff;border:1px solid var(--line-soft);border-radius:var(--r-lg);padding:44px 48px;box-shadow:0 20px 40px -34px rgba(var(--shadow),.5)}
.inner .legal-card h2{font-size:22px;margin:30px 0 10px;color:var(--ink)}
.inner .legal-card h2:first-child{margin-top:0}
.inner .legal-card p,.inner .legal-card li{font-size:15.5px;line-height:1.7;color:var(--text)}
.inner .legal-card .eff{color:var(--muted);font-size:14px}
.inner .phero.slim{padding:48px 32px 52px}
.inner .phero.slim .phero-grid{grid-template-columns:1fr}
/* CTA band */
.inner .cta-band{padding:0 0 96px}
.inner .cta-band .sell-cta h3{margin:0 0 10px}
.inner .cta-band .btn-ghost.on-dark{color:#fff;border-color:rgba(255,255,255,.4)}
.inner .cta-band .btn-ghost.on-dark:hover{background:rgba(255,255,255,.08);border-color:#fff}
.inner .sect + .cta-band{padding-top:0}
.inner .sect.tint + .cta-band{padding-top:88px}
@media (max-width:1080px){
  .inner .phero-grid{grid-template-columns:1fr;gap:36px}
  .inner .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .inner .story{grid-template-columns:1fr;gap:28px}
  .inner .team{grid-template-columns:1fr}
  .inner .ways{grid-template-columns:1fr 1fr}
  .inner .way.main{grid-column:1/-1}
}
@media (max-width:760px){
  .inner .phero,.inner .phero.slim{padding:26px 16px 30px}
  .inner .phero-grid{gap:22px}
  .inner .crumb{margin-bottom:12px}
  .inner .phero h1{font-size:33px;line-height:1.1;margin-bottom:12px}
  .inner .phero .lede{font-size:16px;margin-bottom:20px}
  .inner .phero .ctas .btn{flex:1 1 auto}
  .inner .phero-photo{aspect-ratio:16/10}
  .inner .sect{padding:52px 0}
  .inner .sect.tint + .cta-band{padding-top:52px}
  .inner .sect-head{margin-bottom:24px}
  .inner .sect-head p{font-size:15.5px}
  .inner .cards,.inner .cards.three,.inner .ways,.inner .forms-list{grid-template-columns:1fr;gap:12px}
  .inner .card{padding:20px 18px}
  .inner .way{padding:22px 20px}
  .inner .story p{font-size:16px}
  .inner .story .pull{padding:24px 22px}
  .inner .story .pull b{font-size:21px}
  .inner .person{grid-template-columns:118px minmax(0,1fr);gap:16px;padding:14px;align-items:start}
  .inner .person h3{font-size:20px}
  .inner .person .role{font-size:11px;margin-bottom:8px}
  .inner .person p{font-size:14px;margin-bottom:10px}
  .inner .person .award{font-size:12px;padding:6px 10px;gap:7px}
  .inner .faq-groups{gap:40px}
  .inner .faq-nav{gap:8px;margin-top:18px}
  .inner .faq-nav a{min-height:40px;padding:8px 13px;font-size:13.5px}
  .inner .qa summary{padding:17px 16px;font-size:16.5px;gap:12px}
  .inner .qa .a{padding:0 16px 18px;font-size:15px}
  .inner .legal-card{padding:26px 20px}
  .inner .cta-band{padding-bottom:56px}
}


/* team card layout: photo | name, role, award; bio under (phone) or beside (desktop) */
.inner .person{grid-template-columns:190px minmax(0,1fr);grid-template-areas:"img pm" "img bio";grid-template-rows:auto 1fr;align-items:start;column-gap:24px;row-gap:0}
.inner .person img{grid-area:img}
.inner .person .pmeta{grid-area:pm;padding-top:6px}
.inner .person .bio{grid-area:bio;margin:14px 0 0}
.inner .person .pmeta .award{margin:2px 0 0}
@media (max-width:760px){
  .inner .person{grid-template-columns:104px minmax(0,1fr);grid-template-areas:"img pm" "bio bio";grid-template-rows:auto auto;column-gap:16px;padding:16px}
  .inner .person .pmeta{padding-top:4px;align-self:center}
  .inner .person .bio{margin-top:14px}
}
/* FAQ side card + hero alignment */
.inner .phero-grid{max-width:1152px}
.inner .faq-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:56px;align-items:start}
.inner .faq-aside{position:sticky;top:96px}
.inner .faq-groups{max-width:none}
@media (max-width:1080px){.inner .faq-layout{grid-template-columns:1fr}.inner .faq-aside{display:none}}
/* inner: gap between trust strip and CTA band; green look for inner top bands */
.inner .cta-gap{height:88px}
@media (max-width:760px){.inner .cta-gap{height:52px}}
body.v2.inner.tone-dark .phero{background:var(--forest) radial-gradient(700px 360px at 100% 0%,rgba(176,141,87,.2),transparent 70%);border-bottom:0}
body.v2.inner.tone-dark .phero h1{color:#fff}
body.v2.inner.tone-dark .phero .eyebrow{color:var(--brass-hi)}
body.v2.inner.tone-dark .phero .lede,body.v2.inner.tone-dark .crumb,body.v2.inner.tone-dark .crumb a{color:rgba(233,239,236,.84)}
body.v2.inner.tone-dark .phero .btn-ghost{color:#fff;border-color:rgba(255,255,255,.45)}
body.v2.inner.tone-dark .phero-photo{box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
/* ===================== /INNER PAGES V2 ===================== */


/* Oct 17 1:26 PM Stasi picked MEDIUM photo strength: now the default on desktop light hero. NOT in patch */
@media (min-width:761px){
body.v2:not(.tone-dark) .hero.v2 .hero-photo{opacity:.45;filter:grayscale(.3) sepia(.15) brightness(1.05)}
body.v2:not(.tone-dark) .hero.v2 .hero-photo::after{background:linear-gradient(90deg,#F3EEE4 0%,rgba(243,238,228,.9) 38%,rgba(243,238,228,.25) 72%,rgba(243,238,228,.35) 100%)}
}

/* ROTATING HERO WORD + GREEN DEFAULT (Oct 17 2026, preview). NOT in patch. */
body.v2 .hero.v2 h1 .h1-vis{display:block;color:inherit}
body.v2 .hero.v2 h1 .rot{display:grid;justify-items:start;overflow:hidden;line-height:1.16;padding-bottom:.14em;margin-bottom:-.06em;color:#8E6B2C}
body.v2 .hero.v2 h1 .rot-w{grid-area:1/1;color:inherit;white-space:nowrap;opacity:0;transform:translateY(105%);text-decoration-line:underline;text-decoration-thickness:.055em;text-underline-offset:.13em;text-decoration-color:rgba(176,141,87,.6)}
body.v2 .hero.v2 h1 .rot-w.is-on{opacity:1;transform:none}
body.v2 .hero.v2 h1 .rot.anim .rot-w{transition:transform .6s cubic-bezier(.2,.75,.25,1),opacity .45s ease}
body.v2 .hero.v2 h1 .rot-w.is-out{opacity:0;transform:translateY(-105%)}
body.v2.tone-dark .hero.v2 h1 .rot{color:#D6B676}
body.v2.tone-dark .hero.v2 h1 .rot-w{text-decoration-color:rgba(201,168,111,.55)}
@media (min-width:701px){body.v2 .hero.v2 h1{margin-bottom:28px}}
@media (prefers-reduced-motion:reduce){body.v2 .hero.v2 h1 .rot-w{transition:none!important}}
/* /ROTATING HERO WORD */

/* TRIM (Oct 17 2026): icon-tick lists for short lines. NOT in patch. */
body.v2 ul.tight{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:12px}
body.v2 ul.tight li{position:relative;padding-left:30px;font-size:17px;line-height:1.45;color:var(--text)}
body.v2 ul.tight li::before{content:"";position:absolute;left:2px;top:.32em;width:16px;height:16px;border-radius:50%;background:var(--brass) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/11px no-repeat}
body.v2 .qa .a ul.tight li{font-size:15.5px}

/* ===== PHONE HEADER DIVIDER + GREEN HERO PHOTO (Oct 17 2026 2:12 PM, Stasi's "Looks odd" screenshot) ===== */
@media (max-width:760px){
  /* one full-width hairline between the logo/call row and Buy·Sell·How it works (was 3 separate link borders with gaps) */
  .head-nav a:not(.call){border-top:0!important}
  .site-head::after{content:"";order:2;flex:0 0 calc(100% + 32px);margin:8px -16px 0;height:1px;background:var(--line-soft)}
  body.v2 .site-head::after{background:rgba(20,52,43,.12)}
  /* green look: let the station photo show (was .86-.98 overlay = flat green block) */
  body.v2.tone-dark .hero.v2 .hero-photo{opacity:1;filter:saturate(.9) brightness(1.1);background-image:url(img/hero/station-dusk.webp);background-size:118% auto;background-position:30% -95px;background-repeat:no-repeat}
  body.v2.tone-dark .hero.v2 .hero-photo::after{background:linear-gradient(180deg,rgba(15,42,34,.5) 0%,rgba(15,42,34,.62) 30%,rgba(15,42,34,.8) 58%,rgba(15,42,34,.94) 82%,rgba(15,42,34,.98) 100%)}
  body.v2.tone-dark .hero.v2 h1,body.v2.tone-dark .hero.v2 .eyebrow{text-shadow:0 1px 14px rgba(8,24,19,.55)}
  /* rotating word: a little air under the underline */
  body.v2 .hero.v2 h1 .rot{padding-bottom:.2em;margin-bottom:0}
}
/* green look, desktop: photo a bit stronger too (medium-ish), text side still solid */
@media (min-width:761px){
  body.v2.tone-dark .hero.v2 .hero-photo::after{background:linear-gradient(90deg,rgba(15,42,34,.95) 0%,rgba(15,42,34,.84) 36%,rgba(15,42,34,.32) 68%,rgba(15,42,34,.42) 100%),linear-gradient(0deg,rgba(15,42,34,.45),rgba(15,42,34,0) 45%)}
  body.v2.tone-dark .hero.v2 .hero-photo{filter:saturate(.85)}
}
/* ===== /PHONE HEADER DIVIDER + GREEN HERO PHOTO ===== */

/* ===== DESKTOP FOLD FIT (Oct 17 2026 2:14 PM, Stasi's MacBook ~1440x750 view): hero tighter so the whole trust strip shows above the fold. Headline, chat card, buttons unchanged. ===== */
@media (min-width:1041px){
  body.v2 .hero.v2{padding-top:40px;padding-bottom:44px}
  body.v2 .t-item{padding:24px 24px}
  body.v2 .t-item b{margin-bottom:4px}
}
/* ===== /DESKTOP FOLD FIT ===== */


/* ===== PHONE 2-LINE HEADLINE + CHAT ABOVE SAFARI BAR (Oct 17 2026 2:29 PM, Stasi's iPhone screenshot: "move the scrolling words over to the right so the whole thing can go up one row ... the address line and the entering text line aren't on top of each other"). NOT in patch. ===== */
body.v2 .hero.v2 h1 .h1-l2{display:inline;color:inherit} /* wrapper for "with the pros"; the old global `h1 span` rule must not tint it */
@media (max-width:640px){
  /* line 1 "Buy or sell a [word]", line 2 "with the pros"; font scales with the screen so the longest word ("grocery store") still fits on line 1 at 360-430px */
  body.v2 .hero.v2 h1{font-size:clamp(21px,calc((100vw - 32px) / 11.6),34px);line-height:1.12;margin-bottom:12px}
  /* the word box sits inline and is always as wide as the longest word (grid stacks all words in one cell) -> no jump as words change; clip-path keeps the slide-in clipped without moving the baseline */
  body.v2 .hero.v2 h1 .rot{display:inline-grid;vertical-align:baseline;overflow:visible;clip-path:inset(0 -.4em 0 -.4em);line-height:inherit;padding-bottom:.2em;margin-bottom:-.2em}
  body.v2 .hero.v2 h1 .h1-l2{display:block}
  /* 360px phones: the one-column grid was sized by the chat's min-content (368px) and pushed the send button off-screen; let it shrink to the screen */
  body.v2 .hero-grid{grid-template-columns:minmax(0,1fr)}
  /* tighter hero + chat card so the typing row clears Safari's floating bottom bar (390x664 visible viewport) */
  body.v2 .hero.v2{padding-top:12px;padding-bottom:calc(22px + env(safe-area-inset-bottom,0px))}
  body.v2 .hero.v2 .chat>.log{padding-top:9px;padding-bottom:6px}
  body.v2 .hero.v2 .chips{gap:5px;padding-top:6px;padding-bottom:6px}
  body.v2 .hero.v2 .chips .chip{min-height:40px}
  body.v2 .hero.v2 .chips .chip-break+.chip{margin-top:-5px}
  body.v2 .hero.v2 .typehint{padding-bottom:4px}
  body.v2 .hero.v2 .composer{padding-top:7px;padding-bottom:8px}
}
/* short visible viewports (small phones / Safari with both bars) get a bit more trimming */
@media (max-width:640px) and (max-height:700px){
  body.v2 .hero.v2 .chips .chip{min-height:38px}
}
@media (max-width:640px) and (max-height:660px){
  body.v2 .hero.v2 .typehint[data-start]{display:none}  /* the opening "or type below" hint only; later hints still show */
}
/* ===== /PHONE 2-LINE HEADLINE ===== */

/* 360px phones: the full placeholder fits (was cut to "What's my business wor"). NOT in patch. */
@media (max-width:370px){body.v2 .hero.v2 .composer input{padding-left:12px;padding-right:10px}body.v2 .hero.v2 .composer input::placeholder{font-size:13.5px}}

/* Oct 17 2:46 PM Stasi poll: drop "with the pros" on phones (desktop keeps it). NOT in patch */
@media (max-width:640px){body.v2 .hero.v2 h1 .h1-l2{display:none}}

/* desktop (Stasi 2:51 PM Oct 17): two lines — "Buy or sell a [word]" / "with the pros" */
@media (min-width:641px){
  body.v2 .hero.v2 h1{font-size:clamp(34px,3.4vw,50px);line-height:1.1}
  body.v2 .hero.v2 h1 .rot{display:inline-grid;vertical-align:baseline;overflow:visible;clip-path:inset(0 -.4em 0 -.4em);line-height:inherit;padding-bottom:.2em;margin-bottom:-.2em}
  body.v2 .hero.v2 h1 .h1-l2{display:block}
}

/* trust strip one-liners on phones (Stasi 2:53 PM) */
@media (max-width:640px){body.v2 .t-item span{white-space:nowrap}}

/* 3:12 PM Oct 17: sell CTA subline one line on phones */
@media (max-width:640px){body.v2 .sell-cta p{white-space:nowrap;font-size:clamp(13px,4.1vw,17px)}body.v2 .sell-cta h3{white-space:nowrap;font-size:clamp(20px,6.4vw,26px)}}

/* PREV ANSWER (Stasi Oct 17 3:32 PM: dashed box 'doesnt make sense'): earlier answer on a reopened question = solid gold outline + ✓ */
.chip.prev{border:2px solid var(--accent);border-style:solid;padding:7px 12px;background:var(--line-soft)}.chip.prev::after{content:"✓";margin-left:6px;font-weight:800;color:var(--accent-deep)}

.empty-acts{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:6px 0 4px}

/* tip moved to the chat footer (Stasi Oct 17 4:13 PM) */
.chat-foot{align-items:center}
.chat-foot .tip{margin:0 auto 8px 12px;background:transparent;padding:0;font-size:12.5px;white-space:nowrap}

/* Stasi Oct 17 4:23 PM: a tapped pick must turn green at once (iPhone's sticky :hover kept it beige until the next tap) */
.chip.on,.chip.on:hover,.chip.on:focus,.chip.on:active,body.v2 .chip.on:hover,body.v2 .chip.on:focus{background:var(--primary)!important;border-color:var(--primary)!important;color:var(--on-primary)!important}
@media (hover:none){body.v2 .chip:hover:not(.on):not(.go),.chip:hover:not(.on):not(.go){background:var(--surface);border-color:var(--line);color:inherit}}

/* custom range: Min / Max in one row (Stasi Oct 17 4:25 PM) */
.rangebox{display:contents}
.rangebox.open{display:flex;flex-basis:100%;align-items:center;gap:6px;flex-wrap:nowrap}
.rangebox.open .chip.rp{flex:1 1 0;min-width:0;justify-content:center}
.rangebox.open .rp-to{font-size:13px;color:var(--muted)}
.rangebox.open .chip.go{flex:none}
.chip.rp.on .pick-l,.chip.rp.on b{color:inherit}
.chip.rp.on::after{content:none}

/* phones: while a form is open the composer and tip step aside (Stasi Oct 17 4:28 PM) */
@media (max-width:640px){.chat.form-phone .composer{display:none}.chat.form-phone .chat-foot .tip{display:none}.chat.form-phone .chat-foot{padding-top:8px}}

/* phones: a form opens as a full-screen sheet so nothing is cut off (Stasi Oct 17 4:42 PM "Still cuts off") */
@media (max-width:640px){
.chat.form-phone{position:fixed;left:0;right:0;top:0;bottom:0;z-index:2000;margin:0!important;border-radius:0;display:flex;flex-direction:column;height:100vh;height:100dvh;max-width:none;width:auto;max-height:none}
.chat.form-phone #log{max-height:none!important;flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}
.chat.form-phone .chat-foot{flex:0 0 auto;padding-bottom:calc(10px + env(safe-area-inset-bottom))}
html.sheet-open,html.sheet-open body{overflow:hidden}
}
@media (max-width:640px) and (pointer:coarse){.chat.form-phone .chat-foot{padding-bottom:calc(58px + env(safe-area-inset-bottom))}}

/* QA fix Oct 17 (bug hunt): inner-page CTA (about.html "Call, or chat for a free, confidential value range.") was nowrap on phones and pushed the page 32px wider than the screen; inner pages may wrap */
@media (max-width:640px){body.v2.inner .sell-cta > div{max-width:100%;min-width:0}
body.v2.inner .sell-cta p,body.v2.inner .sell-cta h3{white-space:normal}}
