/* =====================================================================
   Simi Valley Home Report — Ray Mederos · RE/MAX ONE
   Design system carried over from Ray's Maple open-house site
   (reference/maple/css/site.css): night-navy canvas, framed panels,
   soft aurora — fixed to blues only, and no continuous animations
   (hover / scroll-in only) for phone performance.
   ===================================================================== */

/* ---------- fonts (self-hosted) ---------- */
@font-face{font-family:"Bricolage";src:url(/fonts/bricolage-grotesque-latin-standard-normal.woff2) format("woff2");font-weight:200 800;font-stretch:75% 100%;font-style:normal;font-display:swap}
@font-face{font-family:"DM Sans";src:url(/fonts/dm-sans-latin-standard-normal.woff2) format("woff2");font-weight:100 1000;font-style:normal;font-display:swap}
@font-face{font-family:"DM Mono";src:url(/fonts/dm-mono-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"DM Mono";src:url(/fonts/dm-mono-latin-500-normal.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}

/* ---------- tokens ---------- */
:root{
  --bg:#050912; --bg2:#08101f; --bg3:#0c1629;
  --ink:#eef3fb; --ink2:#cbd6e8; --mut:#a4b6d0; --dim:#8395b4;
  --line:rgba(255,255,255,.09); --line2:rgba(255,255,255,.17);
  --panel:rgba(12,20,38,.62); --panel2:rgba(255,255,255,.035);
  --surface:rgba(8,14,28,.94); --surface2:#0a1426; --bar:rgba(5,9,18,.95);
  --a1:hsl(198 86% 62%); --a2:hsl(214 88% 66%); --a3:hsl(228 85% 70%);
  --a1s:hsl(198 86% 62% / .14); --a1b:hsl(198 86% 62% / .42);
  --glow:hsl(205 92% 60% / .45);
  --grad:linear-gradient(100deg,var(--a1),var(--a2) 55%,var(--a3));
  --sold:#60a5fa; --pend:#fbbf24; --act:#4ade80; --warn:#fbbf24; --err:#fda4af; --ok:#86efac;
  --teal:#2dd4bf; --amb:#fbbf24; --grn:#4ade80; --vio:#a78bfa; --k:var(--a1);
  --grad2:linear-gradient(100deg,var(--teal),var(--a1) 55%,var(--a3));
  --r:20px; --r2:14px;
  --disp:"Bricolage","Bricolage Grotesque","Avenir Next","Segoe UI",system-ui,sans-serif;
  --body:"DM Sans","Avenir Next","Segoe UI",system-ui,-apple-system,sans-serif;
  --mono:"DM Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --hdr:60px;
  --ease:cubic-bezier(.2,.75,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr) + 56px);scroll-padding-bottom:84px;-webkit-text-size-adjust:100%;overflow-x:clip}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.0625rem/1.65 var(--body);-webkit-font-smoothing:antialiased;overflow-x:clip;min-height:100vh}
img,svg{display:block;max-width:100%}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
p{margin:0 0 1em;color:var(--ink2);max-width:68ch}
h1,h2,h3,h4{font-family:var(--disp);margin:0;font-weight:700;letter-spacing:-.03em;line-height:1.04;text-wrap:balance}
h2{font-size:clamp(2rem,4.8vw,3.7rem);font-weight:780;font-stretch:96%;line-height:1.02;letter-spacing:-.04em;margin-bottom:.4em}
h2 em,h1 em,.ttl em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;padding-right:.02em}
h3{font-size:1.3rem;line-height:1.15;font-weight:650;letter-spacing:-.02em}
.mono{font-family:var(--mono)}
.mut{color:var(--mut)}
.fine{font-size:.85rem;line-height:1.6;color:var(--dim);max-width:none}
.gr{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.wrap{width:100%;max-width:1160px;margin:0 auto;padding:0 clamp(16px,4vw,36px)}
.sec{position:relative;padding:clamp(56px,9vw,112px) 0;scroll-margin-top:calc(var(--hdr) + 40px)}
.sec+.sec{border-top:1px solid var(--line)}
.kick{display:inline-flex;align-items:center;gap:10px;font:500 .8125rem var(--mono);letter-spacing:.04em;color:var(--k);margin-bottom:12px}
.kick:before{content:"";width:22px;height:2px;border-radius:2px;background:var(--k)}
.sec h2{position:relative}
.sec h2:after{content:"";display:block;width:56px;height:3px;border-radius:3px;margin-top:.45em;background:linear-gradient(90deg,var(--k),transparent)}
.lead{font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.55;color:var(--mut);max-width:60ch;margin:0 0 2rem}
.ic{width:1.25em;height:1.25em;flex:none;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
:focus-visible{outline:2px solid var(--a1);outline-offset:3px;border-radius:6px}
::selection{background:hsl(205 80% 50% / .45);color:#fff}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
[hidden]{display:none!important}

/* ---------- ambient layer (static — no animation) ---------- */
.aurora{position:fixed;inset:0;z-index:-1;pointer-events:none;background:
  radial-gradient(60vmax 44vmax at 12% -6%,hsl(198 80% 46% / .26),transparent 62%),
  radial-gradient(52vmax 40vmax at 104% 42%,hsl(228 80% 52% / .18),transparent 64%),
  radial-gradient(48vmax 38vmax at 30% 112%,hsl(214 80% 44% / .16),transparent 62%),var(--bg)}
.aurora:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.026) 1px,transparent 1px);background-size:56px 56px;-webkit-mask:radial-gradient(ellipse at 50% 20%,#000 20%,transparent 78%);mask:radial-gradient(ellipse at 50% 20%,#000 20%,transparent 78%)}

/* ---------- frames ---------- */
.fr{position:relative;border-radius:var(--r);background:var(--panel);border:1px solid var(--line)}
.fr.edge{border-color:hsl(205 70% 60% / .28);box-shadow:0 0 0 1px hsl(205 80% 60% / .06) inset,0 18px 50px -24px hsl(205 80% 50% / .45)}
/* Maple's gradient frame, drawn as two background layers (one paint — no mask layer, cheap on phones) */
.fr.glo{border:1.5px solid transparent;box-shadow:0 0 38px -14px hsl(205 85% 55% / .55);
  background:linear-gradient(var(--surface),var(--surface)) padding-box,
    conic-gradient(from 210deg,var(--line2) 0 58%,var(--a1) 72%,var(--a2) 83%,var(--a3) 92%,var(--line2) 100%) border-box}
.fr.pad{padding:clamp(18px,2.6vw,28px)}
.fr.lift{transition:transform .35s var(--ease),border-color .35s,box-shadow .35s}
.fr.lift:hover{transform:translateY(-3px);border-color:hsl(205 75% 62% / .55);box-shadow:0 22px 50px -26px hsl(205 85% 55% / .65)}

/* ---------- tags, chips, buttons ---------- */
.tag{display:inline-flex;align-items:center;gap:.45em;font:600 .75rem/1 var(--body);padding:.42em .7em;border-radius:99px;border:1px solid var(--line2);color:var(--ink2);background:rgba(255,255,255,.04);white-space:nowrap}
.tag i{width:.5em;height:.5em;border-radius:50%;background:currentColor}
.t-sold{color:var(--sold);border-color:rgba(96,165,250,.45);background:rgba(96,165,250,.1)}
.t-pend{color:var(--pend);border-color:rgba(251,191,36,.45);background:rgba(251,191,36,.1)}
.t-act{color:var(--act);border-color:rgba(74,222,128,.45);background:rgba(74,222,128,.1)}
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.6em;border:0;border-radius:14px;padding:.95em 1.45em;font:650 1rem/1 var(--disp);letter-spacing:-.01em;cursor:pointer;text-decoration:none;transition:transform .25s var(--ease),box-shadow .3s,border-color .3s;white-space:nowrap;min-height:48px}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0) scale(.98)}
.btn.pri{color:#04101a;background:var(--grad);box-shadow:0 12px 36px -10px var(--glow),inset 0 1px 0 rgba(255,255,255,.45)}
.btn.ghost{color:#fff;background:rgba(255,255,255,.05);border:1px solid var(--line2)}
.btn.ghost:hover{border-color:var(--a1);box-shadow:0 0 0 4px var(--a1s)}
.btn.block{width:100%}
.btn[disabled]{opacity:.6;pointer-events:none}
.btn .ic{width:1.15em;height:1.15em}

/* ---------- scroll-in reveal (one-shot, transitions only) ---------- */
.js .rv{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.js .rv.in{opacity:1;transform:none}

/* ---------- loading ---------- */
.boot{min-height:100vh;display:grid;place-items:center;color:var(--mut);font:500 .875rem var(--mono)}

/* ---------- gate + code entry ---------- */
.gatepage{min-height:100vh;display:flex;flex-direction:column}
.gatepage main{flex:1;display:grid;place-items:center;padding:clamp(20px,5vw,56px) clamp(14px,4vw,32px)}
.gbox{width:min(480px,100%);padding:clamp(24px,5vw,40px);border-radius:26px}
.logos{display:flex;align-items:center;gap:14px}
.logos .rx{height:20px;width:auto;opacity:.95}
.logos .rx.wide{height:34px}
.logos .rx2{height:32px}
.logos .rxsep{width:1px;height:26px;background:var(--line2)}
/* the Max One mark, alive and crisp: a slow pulse, the "1" drifting teal → sky → violet and back, a light sweeping
   across. No blur, no glow — transform, hue and opacity only, so it stays sharp and cheap to draw. */
.mark{--w:56px;--m:url(/assets/maxone-mask.png);position:relative;display:inline-block;width:var(--w);aspect-ratio:1;flex:none;isolation:isolate}
.mark.m{--m:url(/assets/maxone-mask-mark.png);aspect-ratio:357/303}
.mark img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.mark .sheen{position:absolute;inset:0;z-index:2;-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat;
  background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.85) 50%,transparent 60%);background-size:280% 100%;background-position:140% 0}
/* the logo animates once, in the opening only (no continuous animation anywhere — phone performance) */
#intro .mark.live{animation:mpulse 3.2s ease-in-out 1}
#intro .mark.live .one{animation:mone 3.2s ease-in-out 1}
#intro .mark.live .sheen{animation:msheen 3.2s ease-in-out 1}
@keyframes mpulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
@keyframes mone{0%,100%{filter:hue-rotate(0deg) brightness(1)}25%{filter:hue-rotate(30deg) brightness(1.25)}50%{filter:hue-rotate(85deg) brightness(1.1)}75%{filter:hue-rotate(125deg) brightness(1.2)}}
@keyframes msheen{0%,32%{background-position:140% 0}68%,100%{background-position:-40% 0}}
/* mark + wordmark side by side (gate, and anywhere the live logo sits in a row) */
.lockup{display:inline-flex;align-items:center;gap:.42em;font-size:34px;line-height:1}
.lockup .mark{--w:1.06em;width:1.06em}
.lockup .word{display:block;height:.62em;aspect-ratio:474/149;-webkit-mask:url(/assets/maxone-word-white.png) center/contain no-repeat;mask:url(/assets/maxone-word-white.png) center/contain no-repeat;
  background:linear-gradient(100deg,#fff 0%,#fff 35%,var(--teal) 50%,var(--a1) 62%,var(--a3) 75%,#fff 90%);background-size:300% 100%;background-position:0% 50%}
.lockup.live{transform-origin:left center}
@keyframes wdrift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.lockup.small{font-size:26px}
.lockup.small .mark{--w:1.06em}
.gbox .logos{margin-bottom:26px}
.gbox h1{font-size:clamp(1.8rem,6vw,2.4rem);font-weight:800;font-stretch:96%;letter-spacing:-.04em;margin-bottom:10px}
.gbox p{color:var(--mut);font-size:1rem}
.lock{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;color:var(--a1);background:var(--a1s);border:1px solid var(--a1b);margin-bottom:18px}
.lock .ic{width:24px;height:24px}
.fld{margin-top:16px}
.fld label{display:block;font:500 .8125rem var(--body);color:var(--mut);margin:0 0 6px}
.fld input,.fld select,.fld textarea{width:100%;padding:.85em .95em;border:1px solid var(--line2);border-radius:12px;font:400 1rem var(--body);color:var(--ink);background:rgba(255,255,255,.045);transition:border .2s,box-shadow .2s;appearance:none;-webkit-appearance:none}
.fld input.code{font:500 1.25rem var(--mono);letter-spacing:.18em;text-transform:uppercase}
.fld select{background-image:linear-gradient(45deg,transparent 50%,var(--mut) 50%),linear-gradient(135deg,var(--mut) 50%,transparent 50%);background-position:calc(100% - 20px) 55%,calc(100% - 14px) 55%;background-size:6px 6px;background-repeat:no-repeat;padding-right:2.2em}
.fld select option{background:var(--surface);color:#fff}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--a1);box-shadow:0 0 0 4px var(--a1s)}
.fld input::placeholder,.fld textarea::placeholder{color:var(--dim)}
.fld.bad input,.fld.bad select{border-color:var(--err)}
.status{min-height:1.4em;margin-top:12px;font-size:.9rem;color:var(--err)}
.status.ok{color:var(--ok)}
.gbox .btn{margin-top:18px}
.gbox .help{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);font-size:.875rem;color:var(--mut)}
.gbox .help a{color:var(--a1);font-weight:600;text-decoration:none}
.gfoot{padding:20px clamp(14px,4vw,32px) 28px;text-align:center}
.gfoot p{margin:0 auto .4em;font-size:.75rem;color:var(--dim);max-width:62ch}

/* gate as Maple's split card: side panel (what's inside, who prepared it) + form */
.split{width:min(1000px,100%);display:grid;grid-template-columns:.95fr 1.05fr;border-radius:26px;overflow:hidden}
.split .side{position:relative;padding:clamp(22px,3.2vw,36px);display:flex;flex-direction:column;gap:12px;
  background:radial-gradient(120% 80% at 0% 0%,hsl(198 80% 46% / .34),transparent 62%),radial-gradient(90% 70% at 110% 110%,hsl(228 80% 55% / .26),transparent 64%),var(--surface2);border-right:1px solid var(--line)}
.split .side .logos{align-self:flex-start;margin-bottom:8px}
.split .side .lockup{font-size:40px;margin:2px 0 4px 2px}
.pill{align-self:flex-start;display:inline-flex;align-items:center;gap:.45em;font:600 .75rem/1 var(--body);padding:.5em .85em;border-radius:99px;color:#04101a;background:var(--grad)}
.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:#04101a}
.split .ttl{font-size:clamp(2.1rem,4vw,2.9rem);font-weight:800;font-stretch:100%;letter-spacing:-.045em;line-height:.98;margin-top:6px}
.split .loc{margin:-4px 0 0;color:var(--ink2);font-size:.95rem}
.hosts{display:grid;gap:8px;margin:4px 0 6px}
.host{display:flex;gap:14px;align-items:center;font-size:.86rem;line-height:1.4;color:var(--mut)}
.ring{flex:none;display:block;width:62px;height:62px;padding:3px;border-radius:50%;background:var(--grad2);box-shadow:0 0 0 3px rgba(5,9,18,.9),0 0 0 4px hsl(198 86% 62% / .35)}
.ring img{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:center 20%;border:2px solid #050912}
.host b{color:#fff;font-weight:600}
.inside{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:12px}
.inside li{display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:start;font-size:.875rem;line-height:1.4;color:var(--mut)}
.inside b{display:block;color:#fff;font:650 .98rem var(--disp);letter-spacing:-.01em}
.inside .ib{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;color:var(--a1);background:var(--a1s);border:1px solid var(--a1b)}
.inside .ib.c2{color:var(--amb);background:rgba(251,191,36,.12);border-color:rgba(251,191,36,.4)}
.inside .ib.c3{color:var(--teal);background:rgba(45,212,191,.12);border-color:rgba(45,212,191,.4)}
.inside .ib.c4{color:var(--vio);background:rgba(167,139,250,.14);border-color:rgba(167,139,250,.45)}
.inside .ib .ic{width:19px;height:19px}
.split .gform{padding:clamp(24px,3.6vw,44px);display:flex;flex-direction:column;justify-content:center}
.split .hello{font-size:clamp(2.1rem,4.2vw,3rem);font-weight:800;font-stretch:96%;letter-spacing:-.045em;line-height:1;margin-bottom:10px}
.split .sub{color:var(--mut);font-size:1rem;margin:0 0 6px}
.split .btn{margin-top:18px}
.timer{margin:10px 0 0;padding:.55em .85em;border-radius:10px;font:500 .85rem var(--mono);color:var(--ink2);background:var(--a1s);border:1px solid var(--a1b);max-width:none}
.timer b{color:#fff;font-weight:500}
.timer.low{background:rgba(251,191,36,.1);border-color:rgba(251,191,36,.45);color:#fde68a}
.timer.out{background:rgba(253,164,175,.08);border-color:rgba(253,164,175,.4);color:var(--err);font-family:var(--body)}
.fld input:disabled{opacity:.5}
.codebox{margin-top:18px}
.linkbtn{background:none;border:0;padding:0;color:var(--a1);font:600 .9rem var(--body);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.codebox form{margin-top:4px}
.codebox .btn{margin-top:12px}
.split .help{display:flex;gap:10px;align-items:flex-start;margin-top:22px;padding-top:18px;border-top:1px solid var(--line);font-size:.85rem;color:var(--mut)}
.split .help .ic{width:18px;height:18px;color:var(--a1);margin-top:2px}
.split .help a{color:var(--a1);font-weight:600;text-decoration:none;white-space:nowrap}
@media (max-width:760px){
  .split{display:flex;flex-direction:column}
  .split .side{display:contents}
  .split .side>*{margin-left:22px;margin-right:22px}
  .split .side .logos{margin-top:22px;margin-bottom:6px;align-self:flex-start}
  .split .side .lockup{font-size:30px}
  .split .pill{align-self:flex-start;margin-bottom:10px}
  .split .ttl{font-size:1.85rem;margin:0 22px 6px}
  .split .loc{margin:0 22px 8px;font-size:.9rem}
  .split .gform{order:3;padding:14px 22px 22px}
  .split .hello{font-size:1.75rem}
  .split .sub{font-size:.95rem}
  .split .hosts{order:5;margin:0 22px 22px;padding-top:16px;border-top:1px solid var(--line)}
  .split .inside{display:none}
  .ring{width:48px;height:48px}
}

/* ---------- header + chapter bar ---------- */
header.hd{position:sticky;top:0;z-index:300;height:var(--hdr);background:var(--bar);border-bottom:1px solid var(--line)}
header.hd:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--grad);opacity:.5}
.hd .wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:12px}
.hd .logos .rx{height:18px}
.hd .logos .rx.wide{height:30px}
.hd .logos .rx2{height:28px}
.hd .who{display:flex;flex-direction:column;line-height:1.15;text-align:right;min-width:0}
.hd .who b{font:650 .95rem var(--disp);letter-spacing:-.01em;white-space:nowrap}
.hd .who a{font:500 .8125rem var(--mono);color:var(--a1);text-decoration:none}
nav.chap{position:sticky;top:var(--hdr);z-index:290;background:var(--bar);border-bottom:1px solid var(--line)}
nav.chap .wrap{display:flex;gap:4px;align-items:center;height:46px;overflow-x:auto;scrollbar-width:none}
nav.chap .wrap::-webkit-scrollbar{display:none}
nav.chap a{flex:none;padding:.45em .85em;border-radius:99px;color:var(--mut);text-decoration:none;font:500 .875rem var(--body);transition:color .2s,background .2s}
nav.chap a:hover{color:#fff;background:rgba(255,255,255,.05)}
nav.chap a.on{color:#fff;background:var(--a1s);box-shadow:inset 0 0 0 1px var(--a1b)}

/* ---------- preview banner ---------- */
.pv{display:flex;align-items:center;gap:10px;margin:0 0 22px;padding:.7em 1em;border-radius:12px;background:rgba(251,191,36,.12);border:1px solid rgba(251,191,36,.5);color:#fde68a;font:600 .8125rem var(--mono);letter-spacing:.03em}
.pv:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--warn);flex:none}

/* ---------- hero ---------- */
.hero{padding:clamp(40px,8vw,96px) 0 clamp(48px,8vw,96px)}
.hero .hi{font:500 .9rem var(--mono);color:var(--a1);margin-bottom:14px}
.hero h1{font-size:clamp(2.5rem,7.8vw,5.6rem);line-height:.96;letter-spacing:-.05em;font-weight:800;font-stretch:96%;margin-bottom:.3em}
.hero h1 .l2{display:block;font-size:.46em;line-height:1.12;letter-spacing:-.03em;font-weight:560;font-stretch:100%;color:#dbe6f6;margin-top:.35em}
.hero .prep{font:500 .8125rem var(--mono);color:var(--mut);margin:0 0 28px}
.chips3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:820px}
.chips3 .fr{padding:16px 18px}
.chips3 b{display:block;font:740 clamp(1.5rem,4vw,2.2rem)/1.05 var(--disp);letter-spacing:-.035em;font-variant-numeric:tabular-nums;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.chips3 span{display:block;font-size:.8125rem;color:var(--mut);margin-top:4px;line-height:1.35}
.hero .btns{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}

.herogrid{display:block}
.hero.has-photo .herogrid{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(24px,4vw,56px);align-items:center}
.pcard{margin:0;border-radius:24px;overflow:hidden}
.pcard .ph{aspect-ratio:640/420;background:#0b1426;position:relative}
.pcard .ph img,.pcard .ph iframe{width:100%;height:100%;object-fit:cover;display:block;border:0}
.pcard .svlink{position:absolute;inset:0;display:block;color:#fff;text-decoration:none}
.pcard .svtap{position:absolute;right:10px;bottom:10px;display:inline-flex;align-items:center;gap:.4em;padding:.45em .75em;border-radius:99px;background:rgba(5,9,18,.72);backdrop-filter:blur(6px);font:600 .78rem var(--body);color:#fff}
.pcard .svtap .ic{width:1em;height:1em}
.svph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:24px;
  background:radial-gradient(90% 70% at 20% 10%,hsl(198 80% 50% / .45),transparent 60%),linear-gradient(160deg,#0f2a52,#0a1733)}
.svph .ic{width:42px;height:42px;color:#fff;margin-bottom:6px;filter:drop-shadow(0 6px 14px rgba(0,0,0,.4))}
.svph b{font:760 clamp(1.3rem,3vw,1.9rem)/1.1 var(--disp);letter-spacing:-.03em;color:#fff}
.svph span{font:500 .85rem var(--mono);color:#cfe0ff}
.svph small{margin-top:10px;font-size:.72rem;color:rgba(207,224,255,.7);max-width:30ch}
.pcard figcaption{padding:14px 18px 16px;line-height:1.3}
.pcard figcaption b{display:block;font:700 1.25rem var(--disp);letter-spacing:-.02em}
.pcard figcaption span{font-size:.8125rem;color:var(--mut)}
.again{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.again .btn{min-height:44px;padding:.8em 1.1em;font-size:.95rem}
@media (max-width:900px){
  /* phone: greeting, then the photo, then the facts and the rest */
  .hero.has-photo .herogrid{display:grid;grid-template-columns:1fr;gap:0}
  .hero.has-photo .herogrid>div:first-child{display:contents}
  .hero .hi{order:1}.hero h1{order:2}.hero .prep{order:3}
  .hero.has-photo .pcard{order:4;margin:4px 0 20px}
  .hero .facts2{order:5}.hero .oneline{order:6}.hero .built{order:7}.hero .btns{order:8}
}

/* ---------- your home ---------- */
.facts{display:grid;grid-template-columns:repeat(5,1fr);gap:0;overflow:hidden}
.facts div{padding:20px 18px;text-align:center}
.facts div+div{border-left:1px solid var(--line)}
.facts b{display:block;font:740 clamp(1.4rem,3vw,2rem)/1.1 var(--disp);letter-spacing:-.03em;color:var(--teal)}
.facts span{font-size:.8125rem;color:var(--mut)}
.note{margin-top:14px;font-size:.875rem;line-height:1.55;color:var(--dim);max-width:none}

/* ---------- comps ---------- */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:12px}
.ci{padding:18px 18px 16px;display:flex;flex-direction:column;gap:10px}
.ci .top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.ci .ad{font:650 1.02rem/1.25 var(--disp);letter-spacing:-.015em}
.ci .pr{text-align:right;flex:none}
.ci .pr b{display:block;font:740 1.35rem/1.05 var(--disp);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.ci .pr small{display:block;font:500 .78rem var(--mono);color:var(--ink2);margin-top:3px}
.ci .mt{display:flex;flex-wrap:wrap;gap:4px 14px;font:500 .8125rem var(--mono);color:var(--mut)}
.ci .mt b{color:var(--ink);font-weight:500}
.ci .bt{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:10px;border-top:1px solid var(--line);font-size:.8125rem;color:var(--mut)}
.range{margin-top:18px;padding:16px 20px;border-radius:14px;background:var(--a1s);border:1px solid var(--a1b);color:#dbe8f7;font-size:1rem;max-width:none}
.range b{color:#fff;font-family:var(--mono);font-weight:500}
.widen{margin:0 0 16px;font-size:.875rem;color:var(--mut)}
.cmpline{font-size:clamp(1.05rem,1.6vw,1.3rem);line-height:1.55;color:var(--ink);max-width:62ch;margin:0 0 18px}
.cmpline b{color:var(--sold);font-weight:650}
.cmp{overflow:auto;margin-bottom:28px}
.cmp table{width:100%;border-collapse:collapse;font-size:.95rem;min-width:340px}
.cmp th,.cmp td{padding:12px clamp(10px,2vw,18px);text-align:right;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;white-space:nowrap}
.cmp thead th{font:500 .75rem var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--mut)}
.cmp tbody th{text-align:left;font-weight:500;color:var(--mut)}
.cmp td{font-family:var(--mono);color:var(--ink)}
.cmp td:nth-child(2){color:var(--teal);font-weight:500}
.cmp tr:last-child td,.cmp tr:last-child th{border-bottom:0}
.cards+.src{margin-top:14px}
/* map */
.map{overflow:hidden;margin-bottom:18px}
.mapin,.mapin.leaflet-container{height:clamp(300px,46vw,440px);background:#0b1426;font-family:var(--body)}
.mapin .leaflet-tile{filter:invert(1) hue-rotate(195deg) saturate(.55) brightness(.78) contrast(.92)}
.mapin .leaflet-control-attribution{background:rgba(5,9,18,.8);color:var(--dim);font:11px var(--body)}
.mapin .leaflet-control-attribution a{color:var(--mut)}
.mapin .leaflet-bar,.mapin.leaflet-touch .leaflet-bar{border:1px solid var(--line2);box-shadow:none}
.mapin .leaflet-bar a,.mapin.leaflet-touch .leaflet-bar a{background:var(--surface);color:#fff;border-bottom-color:var(--line)}
.mapin .leaflet-bar a.leaflet-disabled{color:var(--dim)}
.mapin .leaflet-popup-content-wrapper{background:var(--surface);color:var(--ink);border:1px solid var(--line2);border-radius:14px;box-shadow:0 18px 40px -16px rgba(0,0,0,.8)}
.mapin .leaflet-popup-tip{background:var(--surface)}
.mapin .leaflet-popup-content{margin:12px 14px;font:400 .85rem/1.4 var(--body)}
.pop b{display:block;font:650 1rem var(--disp);letter-spacing:-.01em;margin-bottom:2px}
.pop span{display:block;color:var(--mut)}
.pop .pp{color:#fff;font-family:var(--mono)}
.pop .ps{margin-top:6px;font-weight:600}
.pop .ps.sold{color:var(--sold)}.pop .ps.pending{color:var(--pend)}.pop .ps.active{color:var(--act)}
.homepin{background:none;border:0}
.homepin i{position:absolute;inset:0;border-radius:50%;background:var(--grad);box-shadow:0 0 0 4px rgba(5,9,18,.85),0 0 24px var(--glow)}
.homepin svg{position:absolute;inset:8px;width:20px;height:20px;stroke:#04101a;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.legend{display:flex;flex-wrap:wrap;gap:8px 18px;padding:12px 16px;border-top:1px solid var(--line);font:500 .8125rem var(--body);color:var(--mut)}
.legend span{display:inline-flex;align-items:center;gap:7px}
.legend i{width:12px;height:12px;border-radius:50%;border:2px solid #0b1426;box-shadow:0 0 0 1px rgba(255,255,255,.2)}
.lg-home{background:var(--grad)}.lg-sold{background:var(--sold)}.lg-pend{background:var(--pend)}.lg-act{background:var(--act)}
/* try a price */
.calc{display:grid;grid-template-columns:1.1fr .9fr;gap:0;overflow:hidden;border-radius:24px}
.calc .cl{padding:clamp(20px,3vw,32px)}
.calc .cr{padding:clamp(20px,3vw,32px);background:rgba(255,255,255,.03);border-left:1px solid var(--line)}
.calc .pl{display:block;font:500 1rem var(--body);color:var(--mut);margin-bottom:6px}
.calc .pl b{display:block;font:760 clamp(1.8rem,4vw,2.6rem)/1.1 var(--disp);letter-spacing:-.04em;color:#fff;margin-top:2px}
.calc input[type=range]{width:100%;margin:10px 0 4px;accent-color:var(--teal);height:28px}
.calc .rng{display:flex;justify-content:space-between;font:500 .75rem var(--mono);color:var(--dim);margin-bottom:6px}
.calc dl{margin:0;display:grid;gap:8px}
.calc dl div{display:flex;justify-content:space-between;gap:12px;align-items:baseline;font-size:.95rem;color:var(--mut)}
.calc dt{margin:0}
.calc dd{margin:0;color:var(--ink);font-weight:500}
.calc dd.m{color:var(--ink2)}
.calc .net{margin-top:8px;padding-top:14px;border-top:1px solid var(--line2);align-items:flex-start;flex-direction:column;gap:2px}
.calc .net dt{color:var(--ink);font-weight:600}
.calc .net dd{font:780 clamp(1.9rem,4.4vw,2.8rem)/1.05 var(--disp);letter-spacing:-.04em}
.calc .fine{margin:16px 0 0}
/* next move + tax notes */
.taxes{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:4px}
.taxn{padding:18px 20px;border-radius:14px;border:1px solid rgba(74,222,128,.35);background:rgba(74,222,128,.06)}
.taxn b{display:block;font:650 1.02rem var(--disp);color:#fff;margin-bottom:6px}
.taxn p{margin:0;font-size:.9rem;color:var(--ink2)}
/* timeline */
.tl{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;position:relative}
.tl:before{content:"";position:absolute;left:4%;right:4%;top:17px;height:2px;background:linear-gradient(90deg,var(--teal),var(--a1),var(--vio));opacity:.5}
.tl li{position:relative;padding:48px 16px 16px;border-radius:16px;border:1px solid var(--line);background:var(--panel2)}
.tl .tn{position:absolute;left:16px;top:0;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font:700 .9rem var(--disp);color:#04101a;background:var(--grad2);box-shadow:0 0 0 6px var(--bg)}
.tl b{display:block;font:650 1.1rem var(--disp);letter-spacing:-.01em}
.tl .td{display:block;font-size:.8125rem;color:var(--vio);margin:4px 0 6px}
.tl p{margin:0;font-size:.9rem;color:var(--mut)}
.empty{padding:22px;color:var(--mut);font-size:.95rem}

/* ---------- market ---------- */
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.kpi{padding:18px 20px}
.kpi small{font-size:.8125rem;color:var(--mut)}
.kpi b{display:block;font:760 clamp(1.6rem,3.4vw,2.4rem)/1.05 var(--disp);letter-spacing:-.04em;margin:6px 0 2px;font-variant-numeric:tabular-nums;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.chart{margin-top:14px;padding:clamp(16px,2.4vw,26px)}
.chart .chh{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.chart h3{margin-bottom:4px}
.chart .fine{margin:0}
.trend{flex:none;font:600 .8125rem var(--mono);padding:.45em .7em;border-radius:99px;border:1px solid var(--line2)}
.trend.up{color:var(--grn);border-color:rgba(74,222,128,.4);background:rgba(74,222,128,.08)}
.trend.down{color:var(--amb);border-color:rgba(251,191,36,.4);background:rgba(251,191,36,.08)}
.chart svg{width:100%;height:auto;margin-top:14px;overflow:visible}
.chart svg text{font:500 11px var(--mono);fill:var(--mut)}
.chart svg .v{fill:#fff;font-size:11.5px;font-weight:500}
.chart svg .grid{stroke:rgba(255,255,255,.07)}
.chart svg .base{stroke:rgba(255,255,255,.16)}
.chart svg .area{fill:url(#ag);opacity:0;transition:opacity 1s ease .9s}
.chart svg .line{fill:none;stroke:url(#lg);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.6s cubic-bezier(.4,0,.2,1) .1s}
.chart svg .dot{opacity:0;transform:scale(.4);transform-box:fill-box;transform-origin:center;transition:opacity .4s ease,transform .5s cubic-bezier(.2,.9,.3,1.3);transition-delay:calc(.25s + var(--i) * .11s)}
.chart svg .dot circle{fill:#0b1426;stroke:var(--a1);stroke-width:2.5}
.chart svg .dot circle.last{fill:var(--a1);stroke:#fff}
.chart svg .dot .halo{fill:none;stroke:var(--a1);stroke-width:2;opacity:0}
.chart.in svg .area{opacity:1}
.chart.in svg .line{stroke-dashoffset:0}
.chart.in svg .dot{opacity:1;transform:none}
.chart.in svg .dot .halo{animation:halo 2.4s ease-out 2 1.8s}
@keyframes halo{0%{transform:scale(.6);opacity:.9}100%{transform:scale(3);opacity:0}}
.chart svg .dot .halo{transform-box:fill-box;transform-origin:center}
/* colour that moves: the owner's name, gradient words and the primary button drift through the brand hues */
.gr,h1 em,h2 em,.ttl em,.chips3 b,.kpi b,.means b{background-size:200% 100%}
.btn.pri{background:linear-gradient(100deg,var(--a1),var(--a2) 55%,var(--a3))}
@keyframes drift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
/* the story + the timing plan */
.story{margin:34px 0 10px;max-width:72ch}
.story h3{font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-.03em;margin:6px 0 12px}
.story p{color:var(--ink2);font-size:1.02rem}
.story h4{font:650 1.1rem var(--disp);margin:22px 0 12px;color:#fff}
.wants{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.want{display:grid;grid-template-columns:22px 1fr;gap:10px;padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:var(--panel2)}
.want .ic{width:22px;height:22px;color:var(--teal);stroke-width:2.2;margin-top:2px}
.want b{display:block;color:#fff;font:650 .98rem var(--disp)}
.want span{display:block;font-size:.9rem;color:var(--ink2);line-height:1.45;margin-top:2px}
.heading{margin-top:18px;padding:18px 20px}
.heading h4{margin:0 0 8px}
.heading p{margin:0 0 6px;color:var(--ink);font-size:1rem}
.heading p b{color:var(--a1)}
.heading .fine{margin-top:8px}
.timing{padding:clamp(20px,3vw,30px);margin-bottom:22px}
.timing h3{font-size:1.4rem;margin-bottom:4px}
.timing>.mut{margin:0 0 14px;font-size:.95rem}
.tchips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.tchips button{padding:.65em 1em;border-radius:99px;border:1px solid var(--line2);background:rgba(255,255,255,.04);color:var(--ink2);font:600 .9rem var(--body);cursor:pointer;min-height:44px;transition:border-color .2s,background .2s,color .2s}
.tchips button.on{background:var(--a1s);border-color:var(--a1);color:#fff;box-shadow:0 0 0 1px var(--a1b)}
.tplan .tl2{font:650 1.05rem var(--disp);color:var(--teal);margin:0 0 10px}
.tplan ol{margin:0;padding-left:1.3em;display:grid;gap:8px;color:var(--ink2)}
.tplan ol li::marker{color:var(--a1);font-weight:700}
.tplan.pop{animation:pop .45s cubic-bezier(.2,.9,.3,1.2)}
@keyframes pop{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.tcta{margin-top:18px}
@media (prefers-reduced-motion:reduce){.gr,h1 em,h2 em,.ttl em,.chips3 b,.kpi b,.means b,.btn.pri{animation:none!important}.chart svg .line{stroke-dashoffset:0}.chart svg .dot{opacity:1;transform:none}.chart svg .area{opacity:1}}
html.a-motion .chart svg .line{stroke-dashoffset:0}
html.a-motion .chart svg .dot{opacity:1;transform:none}
html.a-motion .chart svg .area{opacity:1}
.src{margin-top:12px;font:500 .8rem var(--mono);color:var(--dim)}

/* ---------- lists (draws, plan) ---------- */
.dl{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.dl li{position:relative;padding:16px 18px 16px 46px;border-radius:14px;border:1px solid var(--line);background:var(--panel2);color:var(--ink2);font-size:.98rem}
.dl li:before{content:"";position:absolute;left:20px;top:24px;width:9px;height:9px;border-radius:2px;transform:rotate(45deg);background:var(--grad)}
.steps{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px;counter-reset:s}
.step{padding:20px 20px 18px}
.step .n{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font:700 .9rem var(--disp);color:#04101a;background:var(--k);margin-bottom:12px}
.step h3{font-size:1.12rem;margin-bottom:6px}
.step p{margin:0;font-size:.92rem;color:var(--mut)}

/* ---------- who we are ---------- */
.team{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),340px));gap:14px}
.mem{overflow:hidden;display:flex;flex-direction:column}
.mem .ph{aspect-ratio:1/1;background:var(--surface);border-bottom:1px solid var(--line);overflow:hidden}
.mem .ph img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.mem .ph.ini{display:grid;place-items:center;font:780 4rem var(--disp);color:rgba(255,255,255,.16)}
.mem .bd{padding:18px 20px 20px}
.mem .role{font:600 .8125rem var(--body);color:var(--teal)}
.mem h3{margin:4px 0 2px;font-size:1.45rem}
.mem .co{font-size:.8125rem;color:var(--mut);margin-bottom:12px}
.mem .lk{display:flex;gap:14px;flex-wrap:wrap;font:500 .9rem var(--body)}
.mem .lk a{color:var(--a1);text-decoration:none}
.mem .lk a:hover{text-decoration:underline;text-underline-offset:3px}
.brokerline{margin-top:16px;font-size:.875rem;color:var(--mut)}

/* ---------- request form ---------- */
.req{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(22px,4vw,56px);align-items:start}
.req>*{min-width:0}
.form{padding:clamp(20px,3vw,32px);border-radius:24px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.opts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.opts label{position:relative;margin:0}
.opts input{position:absolute;opacity:0;pointer-events:none}
.opts span{display:block;text-align:center;padding:.8em .5em;border-radius:12px;border:1px solid var(--line2);background:rgba(255,255,255,.04);cursor:pointer;font:500 .92rem var(--body);color:var(--ink2);transition:border-color .2s,background .2s}
.opts input:checked+span{border-color:var(--a1);background:var(--a1s);color:#fff}
.opts input:focus-visible+span{outline:2px solid var(--a1);outline-offset:2px}
.hp{position:absolute!important;left:-9999px;opacity:0;height:0;overflow:hidden}
.callrow{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.callnow{padding:clamp(18px,2.6vw,26px);display:grid;gap:14px}
.callnow small{display:block;font:500 .75rem var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--teal);margin-bottom:4px}
.callnow .bignum{display:block;font:780 clamp(1.9rem,4.6vw,2.9rem)/1 var(--disp);letter-spacing:-.04em;color:#fff;text-decoration:none;font-variant-numeric:tabular-nums}
.callnow span{display:block;font-size:.875rem;color:var(--mut);margin-top:6px}
.callnow .callrow{margin-top:0}
.form h3{display:flex;align-items:center;gap:.5em}
.form h3 .ic{color:var(--a1);width:1.1em;height:1.1em}
.days{display:flex;gap:8px;overflow-x:auto;min-width:0;max-width:100%;padding:2px 2px 8px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.days::-webkit-scrollbar{display:none}
.days label{position:relative;margin:0;flex:none}
.days input{position:absolute;opacity:0;pointer-events:none}
.days span{display:flex;flex-direction:column;align-items:center;width:62px;padding:.6em 0 .5em;border-radius:14px;border:1px solid var(--line2);background:rgba(255,255,255,.04);cursor:pointer;color:var(--mut);line-height:1.1;transition:border-color .2s,background .2s}
.days small{font:600 .7rem var(--body);letter-spacing:.04em;text-transform:uppercase}
.days b{font:740 1.35rem var(--disp);color:#fff;margin:3px 0 2px;letter-spacing:-.02em}
.days em{font:500 .7rem var(--mono);font-style:normal}
.days input:checked+span{border-color:var(--a1);background:var(--a1s);color:#dbe8f7;box-shadow:0 0 0 1px var(--a1b)}
.days input:focus-visible+span{outline:2px solid var(--a1);outline-offset:2px}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:6px}
.slots label{position:relative;margin:0}
.slots input{position:absolute;opacity:0;pointer-events:none}
.slots span{display:block;text-align:center;padding:.6em .3em;border-radius:10px;border:1px solid var(--line);background:rgba(255,255,255,.03);cursor:pointer;font:500 .85rem var(--mono);color:var(--ink2);transition:border-color .2s,background .2s}
.slots input:checked+span{border-color:var(--teal);background:rgba(45,212,191,.14);color:#fff}
.slots input:focus-visible+span{outline:2px solid var(--a1);outline-offset:2px}
.okcard .when{margin:4px 0 0}
.okcard .when b{display:block;font:740 1.4rem var(--disp);letter-spacing:-.02em;color:#fff}
.okcard .when span{display:block;color:var(--teal);font-weight:600;margin-top:2px}
.okcard{text-align:center;padding:30px 8px}
.okcard .big{width:64px;height:64px;border-radius:50%;margin:0 auto 14px;display:grid;place-items:center;background:rgba(134,239,172,.12);color:var(--ok);border:1px solid rgba(134,239,172,.45)}
.okcard .big .ic{width:28px;height:28px;stroke-width:2.2}

/* ---------- area, what-it-means, services, process ---------- */
.grid4{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:12px;margin-bottom:26px}
.grid4 h3{font-size:1.08rem;margin-bottom:6px}
.grid4 p,.flow p{margin:0;font-size:.93rem;color:var(--mut)}
.subh{font-size:1.15rem;margin:0 0 12px;color:var(--ink)}
.means{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px}
.means b{display:block;font:740 clamp(1.6rem,3.6vw,2.3rem)/1.05 var(--disp);letter-spacing:-.035em;margin-bottom:8px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.means p{margin:0;font-size:.95rem;color:var(--ink2)}
.teamrow{display:grid;grid-template-columns:auto 1fr;gap:clamp(18px,3vw,36px);align-items:start}
.svcs{display:grid;gap:10px}
.svc{padding:14px 16px 14px 44px;position:relative;border-radius:14px;border:1px solid var(--line);background:var(--panel2);font-size:.93rem;color:var(--mut)}
.svc:before{content:"";position:absolute;left:18px;top:21px;width:9px;height:9px;border-radius:2px;transform:rotate(45deg);background:var(--grad)}
.svc b{display:block;color:#fff;font:650 1rem var(--disp);margin-bottom:2px}
.flow{list-style:none;margin:0;padding:0;display:grid;gap:12px;position:relative}
.flow:before{content:"";position:absolute;left:21px;top:16px;bottom:16px;width:2px;background:linear-gradient(180deg,var(--a1),var(--a3));opacity:.4}
.flow li{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start}
.flow .nm{position:relative;z-index:1;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font:700 1rem var(--disp);background:var(--surface);border:2px solid var(--teal);color:#fff}
.flow h3{font-size:1.1rem;margin-bottom:4px}
.opts.o3{grid-template-columns:repeat(3,1fr)}

/* ---------- opening transition (recreated from the Maple site) ---------- */
#intro{position:fixed;inset:0;z-index:1000;overflow:hidden;pointer-events:all}
#intro .half{position:absolute;left:0;right:0;height:50.6%;background:#040810;transition:transform .85s cubic-bezier(.77,0,.18,1);will-change:transform}
#intro .half.top{top:0;border-bottom:1px solid hsl(205 80% 60% / .35)}
#intro .half.bot{bottom:0}
#intro.done{pointer-events:none}
#intro.done .half.top{transform:translateY(-101%)}
#intro.done .half.bot{transform:translateY(101%)}
#intro .ctr{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:20px;text-align:center;transition:opacity .45s ease,transform .45s ease;will-change:opacity,transform}
#intro.done .ctr{opacity:0;transform:translateY(-14px) scale(.98)}
#intro .logos.big,#intro .mark.big{opacity:0;transition:opacity .7s ease}
#intro .logos.big{gap:clamp(14px,3vw,28px);filter:drop-shadow(0 0 18px rgba(80,170,255,.35))}
#intro .logos.big .rx{height:clamp(30px,6vw,52px)}
#intro .logos.big .rx2{height:clamp(44px,9vw,78px)}
#intro .logos.big .rxsep{height:clamp(40px,8vw,70px)}
#intro .mark.big{--w:clamp(150px,34vw,230px);margin-bottom:6px}
#intro .ttl{opacity:0;transform:translateY(12px);transition:opacity .6s ease .18s,transform .8s cubic-bezier(.2,.8,.2,1) .18s;font:800 clamp(1.8rem,5.6vw,3.4rem)/1 var(--disp);font-stretch:96%;letter-spacing:-.04em;color:#fff}
#intro .sub{opacity:0;transition:opacity .6s ease .32s;font:500 .8125rem var(--mono);letter-spacing:.06em;color:var(--mut)}
#intro .whos{display:flex;flex-direction:column;align-items:flex-start;gap:12px;opacity:0;transition:opacity .6s ease .5s}
#intro .who{display:flex;align-items:center;gap:10px;text-align:left}
#intro .who .ring{width:58px;height:58px}
#intro .who small{display:block;font:500 .7rem var(--mono);letter-spacing:.05em;color:var(--dim);text-transform:uppercase}
#intro .who b{display:block;font:650 1rem/1.2 var(--disp);color:#fff}
#intro .who span{display:block;font-size:.78rem;color:var(--mut)}
#intro .bar{width:min(320px,76vw);height:2px;border-radius:2px;background:rgba(255,255,255,.09);overflow:hidden;opacity:0;transition:opacity .4s ease .2s}
#intro .bar i{display:block;height:100%;width:100%;transform:scaleX(0);transform-origin:left;background:var(--grad);transition:transform 2.8s steps(7,end)}
#intro.play .logos.big,#intro.play .mark.big,#intro.play .ttl{opacity:1;transform:none}
#intro.play .sub,#intro.play .whos,#intro.play .bar{opacity:1}
#intro.play .bar i{transform:scaleX(1)}
#intro.instant,#intro.instant *{transition:none!important}
#intro .skip{background:none;border:0;color:var(--dim);font:500 .8rem var(--body);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
body.locked{overflow:hidden}

/* ---------- footer ---------- */
footer.ft{border-top:1px solid var(--line);background:rgba(3,6,14,.85);padding:40px 0 48px}
footer.ft .logos{margin-bottom:18px;opacity:.85}
footer.ft p{font-size:.8125rem;color:var(--dim);margin:0 0 .7em;max-width:none}
footer.ft p.terms{font-size:.75rem;line-height:1.5;opacity:.9;max-width:78ch}
footer.ft b{color:var(--mut);font-weight:600}
.eho{display:flex;gap:10px;align-items:center;margin-top:12px;color:var(--mut);font-size:.8125rem}
.eho svg{width:28px;height:28px}

/* ---------- new content blocks: neighborhoods, selling made simple, FAQ, evaluation ---------- */
.hoods{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:10px;margin-bottom:26px}
.hood{padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:var(--panel2);font-size:.92rem;color:var(--ink2);line-height:1.5}
.hood b{display:block;color:#fff;font:650 1.02rem var(--disp);letter-spacing:-.01em;margin-bottom:3px}
.angles{margin-top:4px}
.angles .fr.edge{border-color:rgba(74,222,128,.35)}
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:34px}
.three .big{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:12px;font:760 1.1rem var(--disp);color:#04101a;background:var(--grad2);margin-bottom:12px}
.three h3{font-size:1.2rem;margin-bottom:6px}
.three p{margin:0;font-size:.95rem;color:var(--ink2)}
.faq{display:grid;gap:10px}
.faq details{padding:0 20px;border-radius:16px}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 0;font:650 1.08rem var(--disp);letter-spacing:-.01em;color:#fff}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{flex:none;width:28px;height:28px;border-radius:50%;border:1px solid var(--line2);position:relative;transition:transform .25s var(--ease)}
.faq summary i:before,.faq summary i:after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;background:var(--a1);transform:translate(-50%,-50%)}
.faq summary i:after{transform:translate(-50%,-50%) rotate(90deg)}
.faq details[open] summary i{transform:rotate(45deg)}
.faq details p{margin:0 0 20px;color:var(--ink2);font-size:.98rem;max-width:68ch}
.evalbox{margin-top:34px;padding:clamp(22px,3.4vw,40px);border-radius:26px;display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,3vw,36px);align-items:start}
.evhead{grid-column:1/-1}
.evhead h3{font-size:clamp(1.5rem,3vw,2.1rem);letter-spacing:-.03em;margin-bottom:8px}
.evhead p{margin:0;color:var(--mut);max-width:60ch}
.evlist{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.evlist li{display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:start}
.evlist .ic{width:24px;height:24px;color:var(--teal);stroke-width:2.2;margin-top:2px}
.evlist b{display:block;color:#fff;font:650 1.02rem var(--disp);letter-spacing:-.01em}
.evlist span{display:block;font-size:.92rem;color:var(--ink2);line-height:1.5;margin-top:2px}
.evcta{display:flex;flex-wrap:wrap;gap:10px;align-content:start;position:sticky;top:calc(var(--hdr) + 60px)}
.evcta .fine{flex-basis:100%;margin:4px 0 0}
.more{margin-top:16px;border-top:1px solid var(--line);padding-top:4px}
.more summary{cursor:pointer;padding:10px 0;font:600 .9rem var(--body);color:var(--a1);list-style:none;display:flex;align-items:center;gap:8px}
.more summary::-webkit-details-marker{display:none}
.more summary:before{content:"+";display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;border:1px solid var(--a1b);font-weight:700}
.more[open] summary:before{content:"–"}
.more .mut{font-weight:500}

/* ---------- accessibility: skip link, the button and its panel, and the options it switches on ---------- */
.skip{position:absolute;left:16px;top:-60px;z-index:2000;padding:.7em 1em;border-radius:10px;background:var(--a1);color:#04101a;font:650 .95rem var(--disp);text-decoration:none;transition:top .2s}
.skip:focus{top:calc(12px + env(safe-area-inset-top,0px))}
.a11y{position:fixed;right:calc(12px + env(safe-area-inset-right,0px));bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:950}
.a11y-btn{height:40px;padding:0 12px 0 9px;border-radius:99px;border:1px solid rgba(255,255,255,.22);cursor:pointer;display:inline-flex;align-items:center;gap:7px;color:var(--ink2);
  background:rgba(8,14,28,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 10px 30px -12px rgba(0,0,0,.7);font:600 .78rem var(--body);letter-spacing:.01em}
.a11y-btn:hover,.a11y-btn:focus-visible{color:#fff;border-color:var(--a1b);background:rgba(12,24,48,.95)}
.a11y-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.a11y-btn svg circle{fill:currentColor;stroke:none}
.a11y-btn.open{opacity:0;pointer-events:none}
.a11y-bg{position:fixed;inset:0;background:rgba(3,6,12,.6);z-index:960}
.a11y-panel{position:fixed;left:0;right:0;bottom:0;z-index:970;max-height:min(86vh,720px);overflow:auto;background:#0a1324;border:1px solid var(--line2);border-bottom:0;border-radius:22px 22px 0 0;
  box-shadow:0 -24px 60px -20px rgba(0,0,0,.8);padding:10px 16px calc(18px + env(safe-area-inset-bottom,0px));color:var(--ink)}
.a11y-panel:before{content:"";display:block;width:40px;height:4px;border-radius:2px;background:rgba(255,255,255,.22);margin:0 auto 10px}
.a11y-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.a11y-head b{font:700 1.1rem var(--disp)}
.a11y-x{background:rgba(255,255,255,.06);border:1px solid var(--line);border-radius:50%;width:36px;height:36px;color:var(--ink2);font-size:1.3rem;line-height:1;cursor:pointer;display:grid;place-items:center}
.a11y-list{display:grid;gap:6px}
.a11y-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;padding:11px 12px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.035);color:var(--ink);font:inherit;min-height:56px}
.a11y-tog{cursor:pointer}
.a11y-tog:hover,.a11y-tog:focus-visible{border-color:var(--a1b)}
.a11y-row b{display:block;font:650 .95rem var(--body);color:#fff}
.a11y-row span{display:block;font-size:.8rem;color:var(--mut);line-height:1.35}
.a11y-row .sw{flex:none;width:44px;height:26px;border-radius:99px;background:rgba(255,255,255,.16);position:relative;transition:background .2s}
.a11y-row .sw:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s}
.a11y-tog.on .sw{background:var(--a1)}
.a11y-tog.on .sw:after{transform:translateX(18px)}
.a11y-seg{display:flex;gap:4px;flex:none}
.a11y-seg button{min-width:44px;min-height:40px;padding:.4em .6em;border-radius:8px;border:1px solid var(--line2);background:none;color:var(--ink2);font:650 .82rem var(--body);cursor:pointer}
.a11y-seg button.on{background:var(--a1s);border-color:var(--a1);color:#fff}
.a11y-reset{margin-top:10px;width:100%;min-height:44px;padding:.6em;border-radius:10px;border:1px solid var(--line);background:none;color:var(--mut);font:500 .85rem var(--body);cursor:pointer}
.a11y-note{margin:8px 0 0;font-size:.72rem;color:var(--dim);text-align:center}
@media (min-width:700px){
  .a11y-panel{left:auto;right:calc(12px + env(safe-area-inset-right,0px));bottom:calc(12px + env(safe-area-inset-bottom,0px));width:360px;border-radius:18px;border-bottom:1px solid var(--line2);padding-top:14px}
  .a11y-panel:before{display:none}
  .a11y-bg{background:transparent}
}
body.locked .a11y{display:none}
/* the options */
html.a-text1{font-size:112%}
html.a-text2{font-size:125%}
html.a-spacing body{line-height:1.9;letter-spacing:.02em;word-spacing:.08em}
html.a-spacing p{max-width:60ch}
html.a-links a{text-decoration:underline;text-underline-offset:3px}
html.a-targets .btn{min-height:56px;padding:1.1em 1.6em}
html.a-targets .fld input,html.a-targets .fld select,html.a-targets .fld textarea{padding:1.05em 1.1em;font-size:1.1rem}
html.a-targets .days span{width:72px}
html.a-targets .slots span,html.a-targets .opts span{padding:.9em .4em}
html.a-targets nav.chap a{padding:.7em 1.1em}
html.a-motion *,html.a-motion *::before,html.a-motion *::after{transition-duration:.01ms!important;animation:none!important}
html.a-motion{scroll-behavior:auto}
html.a-motion .js .rv,html.a-motion .rv{opacity:1!important;transform:none!important}
html.a-contrast{--bg:#000;--bg2:#000;--bg3:#000;--ink:#fff;--ink2:#fff;--mut:#f2f2f2;--dim:#d9d9d9;--line:rgba(255,255,255,.5);--line2:rgba(255,255,255,.7);
  --panel:#000;--panel2:#000;--surface:#000;--surface2:#000;--bar:#000;--a1:#8ee3ff;--a2:#9ec5ff;--a3:#c4b5ff;--a1s:rgba(142,227,255,.18);--a1b:#8ee3ff;--teal:#7af5e3;--grn:#9ef7b3;--amb:#ffd166;--vio:#d4c5ff}
html.a-contrast .aurora{background:#000}
html.a-contrast .aurora:after{display:none}
html.a-contrast .gr,html.a-contrast h1 em,html.a-contrast h2 em,html.a-contrast .ttl em,html.a-contrast .chips3 b,html.a-contrast .kpi b,html.a-contrast .means b,html.a-contrast .calc .net dd{background:none;color:#8ee3ff;-webkit-text-fill-color:#8ee3ff}
html.a-contrast .btn.pri{background:#fff;color:#000;box-shadow:none}
html.a-contrast .btn.ghost{border-color:#fff;color:#fff}
html.a-contrast .fr{background:#000;border-color:rgba(255,255,255,.6)}
html.a-contrast .fr.glo{background:#000;border:2px solid #fff;box-shadow:none}
html.a-contrast .fld input,html.a-contrast .fld select,html.a-contrast .fld textarea{background:#000;border-color:#fff;color:#fff}
html.a-contrast .pill,html.a-contrast .step .n,html.a-contrast .three .big,html.a-contrast .tl .tn{background:#fff;color:#000}
html.a-contrast .kick,html.a-contrast .sec h2:after{color:#8ee3ff;background:#8ee3ff}
html.a-contrast .sec h2:after{background:#8ee3ff}
html.a-contrast .timer{background:#000;border-color:#fff;color:#fff}
html.a-contrast .a11y-btn{background:#fff;color:#000;border-color:#fff}

/* ---------- the simpler report: home chips, one-line summary, nearby list with photos, folds, explained numbers ---------- */
.facts2{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.facts2 span{display:inline-flex;align-items:baseline;gap:.35em;padding:.5em .85em;border-radius:99px;border:1px solid var(--line2);background:rgba(255,255,255,.04);font-size:.85rem;color:var(--mut)}
.facts2 b{font:740 1.1rem var(--disp);color:var(--teal);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.oneline{font-size:clamp(1.05rem,1.6vw,1.25rem);line-height:1.5;color:var(--ink);max-width:56ch;margin:0 0 6px}
.oneline b{color:var(--a1);font-weight:650}
.filt{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}
.filt button{padding:.5em .9em;border-radius:99px;border:1px solid var(--line2);background:rgba(255,255,255,.04);color:var(--ink2);font:600 .85rem var(--body);cursor:pointer}
.filt button.on{background:var(--a1s);border-color:var(--a1);color:#fff}
.nlist{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px}
.nlist.none:after{content:"Nothing in this group right now.";color:var(--mut);padding:18px}
.nh{overflow:hidden;display:flex;flex-direction:column}
.nh .np{position:relative;aspect-ratio:3/2;background:#0b1426}
.nh .np img,.nh .np .tile{width:100%;height:100%;object-fit:cover;display:block}
.nh .np .tile{display:grid;place-items:center;color:rgba(255,255,255,.35)}
.nh .np .tile .ic{width:44px;height:44px}
.tile.t0{background:linear-gradient(150deg,#13305a,#0b1a36)}.tile.t1{background:linear-gradient(150deg,#0f3b45,#0b1a36)}.tile.t2{background:linear-gradient(150deg,#2a2a5c,#0b1a36)}.tile.t3{background:linear-gradient(150deg,#1a3f6b,#0b1a36)}
.nh .np .tag{position:absolute;left:10px;top:10px;backdrop-filter:blur(6px);background:rgba(5,9,18,.7)}
.nh.nophoto .np{aspect-ratio:auto;height:54px}
.nh.nophoto .np .tile .ic{display:none}
.nh.nophoto .np .tag{top:50%;transform:translateY(-50%)}
.nh.nophoto .np .closest{top:50%;transform:translateY(-50%)}
.vcell.nophoto .vp{aspect-ratio:auto;height:10px}
.vcell.nophoto .vp .tile .ic{display:none}
.nh .nb{padding:14px 16px 16px;display:grid;gap:6px}
.nh .ad{font:650 1.05rem/1.25 var(--disp);letter-spacing:-.015em}
.nh .dist{font:500 .8125rem var(--mono);color:var(--mut)}
.nh .pr b{font:760 1.45rem/1.05 var(--disp);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.nh .pr small{font:500 .8125rem var(--mono);color:var(--ink2);margin-left:.6em}
.nh .mt{display:flex;flex-wrap:wrap;gap:4px 12px;font:500 .8125rem var(--mono);color:var(--mut)}
.nh .mt b{color:var(--ink);font-weight:500}
.nh .zl{display:inline-flex;align-items:center;gap:.4em;margin-top:6px;color:var(--a1);font:600 .9rem var(--body);text-decoration:none;min-height:44px}
.nh .zl .ic{width:1em;height:1em;stroke-width:2}
.nh .zl:hover{text-decoration:underline;text-underline-offset:3px}
#moreN{margin-top:14px}
.fold{margin-top:22px;border-radius:16px;border:1px solid var(--line);background:var(--panel2)}
.fold summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 20px;font:650 1.02rem var(--disp);color:#fff;min-height:48px}
.fold summary::-webkit-details-marker{display:none}
.fold summary i{flex:none;width:26px;height:26px;border-radius:50%;border:1px solid var(--line2);position:relative;transition:transform .25s var(--ease)}
.fold summary i:before,.fold summary i:after{content:"";position:absolute;left:50%;top:50%;width:11px;height:2px;background:var(--a1);transform:translate(-50%,-50%)}
.fold summary i:after{transform:translate(-50%,-50%) rotate(90deg)}
.fold[open] summary i{transform:rotate(45deg)}
.foldin{padding:4px 20px 20px}
.foldin .grid4{margin-bottom:14px}
.foldin .hoods{margin-bottom:0}
.kp4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.kp4 .kpi p{margin:8px 0 0;font-size:.9rem;line-height:1.5;color:var(--ink2)}
.agent{display:grid;grid-template-columns:140px 1fr;gap:20px;align-items:center;padding:18px;margin-bottom:22px;overflow:hidden}
.agent img{width:140px;height:140px;border-radius:18px;object-fit:cover;object-position:center 20%}
.agent .role{font:600 .8125rem var(--body);color:var(--teal)}
.agent h3{margin:2px 0;font-size:1.5rem}
.agent .co{font-size:.85rem;color:var(--mut);margin-bottom:12px}
.agent .lk{display:flex;flex-wrap:wrap;gap:8px}
.agent .lk .btn{min-height:44px;padding:.75em 1.1em;font-size:.92rem}
.nxt .fr{display:grid;gap:8px}
.nxt .ic{width:34px;height:34px;color:var(--grn);stroke-width:1.6}
.nxt h3{font-size:1.15rem}
.evalbox.edge{margin-top:0}

/* ---------- alive: travelling glow, count-up flash, pulsing status dots, map pin ring (transform/opacity only) ---------- */
@property --ang{syntax:"<angle>";inherits:false;initial-value:210deg}
.fr.glo{--ang:210deg;background:linear-gradient(var(--surface),var(--surface)) padding-box,
  conic-gradient(from var(--ang),var(--line2) 0 58%,var(--a1) 72%,var(--a2) 83%,var(--a3) 92%,var(--line2) 100%) border-box}
.fr.glo.on{animation:spin 6s linear 1}
.fr.glo:focus-within{animation:spin 6s linear 1}
@keyframes spin{to{--ang:570deg}}
.fr.edge.on,.kpi.on,.nh.on{box-shadow:0 0 0 1px hsl(205 80% 60% / .1) inset,0 18px 50px -24px hsl(205 80% 50% / .55);border-color:hsl(205 72% 62% / .4);transition:border-color .8s,box-shadow .8s}
[data-count].flash{animation:flash .9s ease-out}
@keyframes flash{0%{text-shadow:0 0 18px hsl(198 90% 65% / .9)}100%{text-shadow:0 0 0 transparent}}
.tag.t-act i,.tag.t-pend i{position:relative}
.tag.t-act i:after,.tag.t-pend i:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1.5px solid currentColor;opacity:0;animation:ping 2.4s ease-out 3}
@keyframes ping{0%{transform:scale(.5);opacity:.9}70%,100%{transform:scale(1.6);opacity:0}}
.homepin .ring2{position:absolute;inset:0;border-radius:50%;border:2px solid var(--a1);opacity:0;animation:ping 2.6s ease-out 3}
.btn.pri{overflow:hidden}
.btn.pri:after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-18deg)}
.btn.pri.on:after,.btn.pri:hover:after{animation:btnsheen 1.4s ease-in-out 1 .3s}
@keyframes btnsheen{from{left:-60%}to{left:130%}}
nav.chap a.on{box-shadow:inset 0 0 0 1px var(--a1b),0 0 18px -6px var(--glow)}
.sec h2.rv.in:after{background:linear-gradient(90deg,var(--k),transparent 60%,var(--k) 100%);background-size:200% 100%;animation:line 1.8s ease-out 1}
@keyframes line{from{background-position:200% 0}to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.btn.call,.fr.glo.on,.fr.glo:hover,.tag i:after,.homepin .ring2,.btn.pri:after,.sec h2:after{animation:none!important}}
html.a-motion .btn.pri:after{display:none}

/* ---------- ringed chips, highlighted call, closest badge, vs-your-home, the vs strip, itemized costs, presence, next-home help ---------- */
.facts2 span{position:relative;border:1.5px solid transparent;background:linear-gradient(rgba(10,20,38,.95),rgba(10,20,38,.95)) padding-box,linear-gradient(120deg,var(--teal),var(--a1) 55%,var(--a3)) border-box;color:var(--ink2)}
.facts2 span:after{content:"";position:absolute;inset:-5px;border-radius:99px;border:1px solid hsl(198 86% 62% / .25);pointer-events:none}
.btn.call{color:#04101a;background:linear-gradient(100deg,var(--teal),var(--grn));box-shadow:0 0 0 0 rgba(45,212,191,.5),0 12px 30px -10px rgba(45,212,191,.7);animation:callglow 2.6s ease-out 3}
@keyframes callglow{0%{box-shadow:0 0 0 0 rgba(45,212,191,.55),0 12px 30px -10px rgba(45,212,191,.7)}100%{box-shadow:0 0 0 14px rgba(45,212,191,0),0 12px 30px -10px rgba(45,212,191,.7)}}
.closest{position:absolute;right:10px;top:10px;display:inline-flex;align-items:center;gap:.4em;padding:.45em .7em;border-radius:99px;font:700 .72rem var(--body);color:#04101a;background:linear-gradient(100deg,var(--teal),var(--a1));box-shadow:0 6px 18px -6px rgba(45,212,191,.8)}
.closest .ic{width:1em;height:1em;stroke-width:2.2}
.nh .vs{display:flex;align-items:center;gap:.5em;font-size:.85rem;color:var(--teal);margin-top:2px}
.nh .vs .ic{width:1.1em;height:1.1em;flex:none;stroke-width:2}
.vsstrip{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:10px;align-items:stretch;margin-bottom:22px}
.vsx{display:grid;place-items:center;font:800 .95rem var(--disp);color:var(--mut);font-style:normal}
.vcell{overflow:hidden;display:flex;flex-direction:column}
.vcell .vp{aspect-ratio:3/2;background:#0b1426}
.vcell .vp img,.vcell .vp .tile{width:100%;height:100%;object-fit:cover;display:block}
.vcell .vp .tile{display:grid;place-items:center;color:rgba(255,255,255,.35)}
.vcell .vp .tile .ic{width:40px;height:40px}
.vcell .vb{padding:12px 14px 14px}
.vcell small{display:block;font:600 .72rem var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--teal)}
.vcell:first-child small{color:var(--a1)}
.vcell b{display:block;font:760 1.35rem/1.1 var(--disp);letter-spacing:-.03em;margin:4px 0 2px;font-variant-numeric:tabular-nums}
.vcell span{font-size:.82rem;color:var(--mut);line-height:1.4}
.citems{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:10px}
.citems li b{display:block;font:650 .95rem var(--body);color:#fff}
.citems li span{font-size:.85rem;color:var(--ink2);line-height:1.45}
.presence{padding:clamp(18px,2.6vw,28px);margin:22px 0}
.presence h3{font-size:1.35rem;margin-bottom:4px}
.presence>p{margin:0 0 16px;color:var(--mut)}
.chan{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
.chan>div{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start}
.chan .ic{width:22px;height:22px;color:var(--amb);stroke-width:2.2;margin-top:2px}
.chan b{display:block;color:#fff;font:650 .98rem var(--disp)}
.chan span{display:block;font-size:.88rem;color:var(--ink2);line-height:1.45;margin-top:2px}
.nhelp{padding:clamp(18px,2.6vw,28px);margin-top:18px}
.nhelp h3{font-size:1.3rem;margin-bottom:12px}
.flow2{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.flow2 li{display:grid;grid-template-columns:32px 1fr;gap:12px;align-items:start;color:var(--ink2);font-size:.98rem}
.flow2 .nm{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font:700 .9rem var(--disp);color:#04101a;background:var(--grad2)}

.protect{display:grid;grid-template-columns:64px 1fr;gap:18px;padding:clamp(20px,3vw,32px);margin-bottom:22px;border-color:rgba(45,212,191,.4)}
.protect .ph2{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;color:#04101a;background:linear-gradient(135deg,var(--teal),var(--a1))}
.protect .ph2 .ic{width:30px;height:30px;stroke-width:2}
.protect h3{font-size:clamp(1.4rem,3vw,1.9rem);letter-spacing:-.03em;margin-bottom:6px}
.protect>div>p{color:var(--ink2);margin:0 0 14px}
.ppts{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ppts>div{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start}
.ppts .ic{width:22px;height:22px;color:var(--teal);stroke-width:2.2;margin-top:2px}
.ppts b{display:block;color:#fff;font:650 1rem var(--disp)}
.ppts span{display:block;font-size:.9rem;color:var(--ink2);line-height:1.45;margin-top:2px}

/* ---------- story photos, aerials, the built note, the consent line ---------- */
.spic{margin:0;overflow:hidden}
.spic .sp{position:relative;aspect-ratio:16/10;background:#0b1426}
.spic .sp .tile{position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.3)}
.spic .sp .tile .ic{width:46px;height:46px}
.spic .sp img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;opacity:0;transition:opacity .8s ease}
.spic .sp.has img{opacity:1}
.spic figcaption{padding:12px 16px 14px;font-size:.9rem;line-height:1.45;color:var(--ink2)}
.spic .credit{display:block;margin-top:4px;font:500 .7rem var(--mono);color:var(--dim)}
.team2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:22px}
.team2 .agent{margin-bottom:0}
.agent .ini{width:140px;height:140px;border-radius:18px;display:grid;place-items:center;font:780 3rem var(--disp);color:rgba(255,255,255,.2);background:var(--surface)}
.pics2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0 18px}
.pics3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:8px 0 26px}
.spic.wide{margin:18px 0 0}
.spic.wide .sp{aspect-ratio:21/9}
.built{display:flex;align-items:flex-start;gap:10px;margin:8px 0 0;font:500 .82rem var(--mono);color:var(--mut);line-height:1.45;max-width:60ch}
.built i{flex:none;width:9px;height:9px;border-radius:50%;background:var(--grn);margin-top:5px;box-shadow:0 0 0 0 rgba(74,222,128,.6);animation:livedot 2.2s ease-out 3}
@keyframes livedot{0%{box-shadow:0 0 0 0 rgba(74,222,128,.6)}100%{box-shadow:0 0 0 9px rgba(74,222,128,0)}}
.consent{margin:12px 0 0;font-size:.8rem;line-height:1.5;color:var(--dim);max-width:none}
@media (prefers-reduced-motion:reduce){.built i{animation:none}}

/* ---------- toast ---------- */
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,16px);opacity:0;pointer-events:none;background:var(--surface);border:1px solid var(--a1b);color:#fff;padding:.8em 1.2em;border-radius:99px;font:500 .875rem var(--body);z-index:990;transition:opacity .3s,transform .3s}
.toast.on{opacity:1;transform:translate(-50%,0)}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .req,.teamrow,.calc,.evalbox{grid-template-columns:1fr}
  .kp4{grid-template-columns:1fr 1fr}
  .three{grid-template-columns:1fr}
  .evcta{position:static}
  .calc .cr{border-left:0;border-top:1px solid var(--line)}
  .tl{grid-template-columns:1fr 1fr}
  .tl:before{display:none}
  .facts{grid-template-columns:repeat(3,1fr)}
  .facts div:nth-child(4){border-left:0}
  .facts div:nth-child(n+4){border-top:1px solid var(--line)}
}
@media (max-width:640px){
  body{font-size:1rem}
  .chips3{grid-template-columns:1fr;gap:8px}
  .chips3 .fr{display:flex;align-items:baseline;gap:12px;padding:12px 16px}
  .chips3 span{margin:0}
  .kpis{grid-template-columns:1fr 1fr}
  .facts{grid-template-columns:1fr 1fr}
  .facts div:nth-child(n){border-left:0;border-top:1px solid var(--line)}
  .facts div:nth-child(-n+2){border-top:0}
  .facts div:nth-child(2n){border-left:1px solid var(--line)}
  .facts div:last-child{grid-column:1/-1}
  .row2{grid-template-columns:1fr}
  .opts.o3{grid-template-columns:1fr 1fr 1fr}
  .opts.o3 span{font-size:.85rem;padding:.8em .3em}
  .hd .who b{font-size:.875rem}
  .kp4,.wants,.chan,.ppts,.pics2,.pics3,.team2{grid-template-columns:1fr}
  .protect{grid-template-columns:1fr}
  .protect .ph2{width:52px;height:52px}
  .vsstrip{grid-template-columns:1fr}
  .vsx{padding:2px 0}
  .agent{grid-template-columns:96px 1fr;gap:14px}
  .agent img{width:96px;height:96px;border-radius:14px}
  .hd .logos{gap:10px}
  .hd .logos .rx{height:15px}
  .hd .logos .rx2{height:22px}
  .taxes,.tl{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms!important;animation:none!important}
  .js .rv{opacity:1;transform:none}
  .mark.live,.mark.live *,.lockup.live,.lockup.live *{animation:none!important}
}
@media print{
  .aurora,nav.chap,header.hd,.form,.callrow{display:none!important}
  .js .rv{opacity:1;transform:none}
  body{background:#fff;color:#000}
}
