:root{
  --bg:#05070A; --bg-2:#080B10; --panel:#0B1016; --panel-2:#0F151D; --panel-3:#131A23;
  --line:#1A2129; --line-2:#232C37;
  --gold:#E3B45F; --gold-2:#C89843; --gold-dim:rgba(227,180,95,.12);
  --green:#3DD68C; --green-dim:rgba(61,214,140,.12);
  --red:#FF6B6B; --red-dim:rgba(255,107,107,.12);
  --amber:#F0B429;
  --tx:#EDF1F6; --tx-2:#9AA7B6; --tx-3:#768491;
  --r:14px; --r-sm:10px;
  --ease:cubic-bezier(.22,1,.36,1);
  /* motion — one shared vocabulary instead of one-off durations per component */
  --dur-fast:.16s; --dur:.28s; --dur-slow:.6s; --dur-reveal:.7s;
  --blur:14px;
}
.glass{background:rgba(11,16,22,.86);backdrop-filter:blur(var(--blur)) saturate(1.5);
  -webkit-backdrop-filter:blur(var(--blur)) saturate(1.5)}
.skel{position:relative;overflow:hidden;background:var(--panel-3);border-radius:var(--r-sm)}
.skel::after{content:'';position:absolute;inset:0;transform:translateX(-100%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.045),transparent);
  animation:skel-sheen 1.5s infinite}
@keyframes skel-sheen{100%{transform:translateX(100%)}}
.counter{font-variant-numeric:tabular-nums}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--bg); color:var(--tx);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  font-size:15px; line-height:1.55; -webkit-font-smoothing:antialiased;
  font-feature-settings:'tnum' 1,'cv05' 1;
}
::selection{background:var(--gold);color:#000}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}
.mono{font-family:'SF Mono',ui-monospace,'JetBrains Mono',Menlo,monospace;font-variant-numeric:tabular-nums}
.num{font-variant-numeric:tabular-nums;letter-spacing:-.01em}

/* ── layout ───────────────────────────── */
.wrap{max-width:1240px;margin:0 auto;padding:0 28px}
.sec{padding:88px 0;border-top:1px solid var(--line)}
.eyebrow{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--tx-3);font-weight:600;margin-bottom:18px}
h1,h2,h3{font-weight:600;letter-spacing:-.03em;line-height:1.08}
h1{font-size:clamp(38px,5vw,62px)}
h2{font-size:clamp(27px,3.2vw,38px)}
h3{font-size:19px;letter-spacing:-.02em}
.lead{color:var(--tx-2);font-size:16px;max-width:46ch}
.gold{color:var(--gold)}
.up{color:var(--green)} .dn{color:var(--red)}

/* ── nav ──────────────────────────────── */
.nav{position:sticky;top:0;z-index:100;background:rgba(5,7,10,.82);backdrop-filter:blur(18px) saturate(1.6);border-bottom:1px solid var(--line)}
.nav-in{max-width:1240px;margin:0 auto;padding:0 28px;height:62px;display:flex;align-items:center;gap:38px}
.brand{display:flex;align-items:center;gap:10px;font-weight:600;letter-spacing:.13em;font-size:14px}
.brand small{display:block;font-size:7.5px;letter-spacing:.2em;color:var(--tx-3);font-weight:500;margin-top:2px}
.star{width:20px;height:20px;flex:0 0 20px}
.nav-links{display:flex;gap:26px;font-size:13.5px;color:var(--tx-2);margin-left:8px}
.nav-links a{padding:4px 0;position:relative;transition:color .18s}
.nav-links a:hover{color:var(--tx)}
.nav-links a.on{color:var(--tx)}
.nav-links a.on::after{content:'';position:absolute;left:0;right:0;bottom:-21px;height:1.5px;background:var(--gold)}
.nav-cta{margin-left:auto;display:flex;gap:10px;align-items:center}
.btn{padding:8.5px 17px;border-radius:9px;font-size:13.5px;font-weight:500;transition:all .2s var(--ease);white-space:nowrap}
.btn-ghost{border:1px solid var(--line-2);color:var(--tx-2)}
.btn-ghost:hover{border-color:var(--tx-3);color:var(--tx)}
.btn-gold{background:linear-gradient(180deg,var(--gold),var(--gold-2));color:#120C00;font-weight:600;box-shadow:0 1px 0 rgba(255,255,255,.22) inset,0 6px 20px -8px rgba(227,180,95,.5)}
.btn-gold:hover{transform:translateY(-1px);box-shadow:0 1px 0 rgba(255,255,255,.25) inset,0 10px 26px -8px rgba(227,180,95,.62)}
.btn-lg{padding:12px 22px;font-size:14.5px}

/* ── hero ─────────────────────────────── */
.hero{position:relative;padding:74px 0 62px;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.02fr 1.5fr;gap:44px;align-items:center}
.hero h1{margin-bottom:20px}
.hero .lead{margin-bottom:30px}
.feat-row{display:flex;gap:14px;margin-bottom:32px;flex-wrap:wrap}
.feat{display:flex;flex-direction:column;align-items:center;gap:7px;width:66px;text-align:center}
.feat i{width:34px;height:34px;border:1px solid var(--line-2);border-radius:50%;display:grid;place-items:center;color:var(--gold);background:radial-gradient(circle at 50% 20%,rgba(227,180,95,.09),transparent 70%)}
.feat span{font-size:9px;color:var(--tx-3);letter-spacing:.04em;line-height:1.3}
.hero-cta{display:flex;gap:12px}
.hero-analyze{margin:6px 0 24px;max-width:480px}
.hero-analyze-row{display:flex;gap:10px}
.hero-analyze-row input{flex:1;background:var(--panel-2);border:1px solid var(--line-2);border-radius:11px;
  padding:14px 16px;color:var(--tx);font-size:14.5px;transition:border-color .2s,box-shadow .2s}
.hero-analyze-row input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(227,180,95,.14)}
.hero-analyze-row input::placeholder{color:var(--tx-3)}
.hero-analyze-row .btn-lg{flex:0 0 auto}
.hero-flow{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:10.5px;color:var(--tx-3);flex-wrap:wrap}
.hero-flow span{padding:4px 11px;border:1px solid var(--line-2);border-radius:20px}
.hero-flow i{font-style:normal}
.trust-strip{display:flex;gap:32px;flex-wrap:wrap;margin-top:4px}
.trust-strip div{display:flex;flex-direction:column;gap:3px}
.trust-strip b{font-size:17px;font-weight:600;letter-spacing:-.01em}
.trust-strip span{font-size:9.5px;color:var(--tx-3);letter-spacing:.06em;text-transform:uppercase}
@media(max-width:640px){.hero-analyze-row{flex-direction:column}.hero-analyze-row .btn-lg{width:100%}}
.hero-visual{position:relative;height:400px}
.glowmap{position:absolute;inset:0}
.mk-card{position:absolute;right:0;top:6px;width:232px;background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line-2);border-radius:var(--r);padding:15px;box-shadow:0 30px 70px -30px #000}
.mk-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.mk-head b{font-size:13.5px;font-weight:600}
.live{display:inline-flex;align-items:center;gap:5px;font-size:9.5px;color:var(--green);background:var(--green-dim);border:1px solid rgba(61,214,140,.25);padding:2.5px 7px;border-radius:20px}
.live::before{content:'';width:4.5px;height:4.5px;border-radius:50%;background:var(--green);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(61,214,140,.6)}50%{opacity:.55;box-shadow:0 0 0 5px rgba(61,214,140,0)}}
.mk-score{font-size:11px;color:var(--tx-3);margin-bottom:2px}
.mk-big{display:flex;align-items:flex-end;gap:8px;margin-bottom:10px}
.mk-big b{font-size:38px;font-weight:600;letter-spacing:-.04em;line-height:1}
.mk-big s{text-decoration:none;font-size:14px;color:var(--tx-3);padding-bottom:5px}
.mk-spark{flex:1;height:34px;padding-bottom:2px}
.mk-row{display:flex;justify-content:space-between;padding:7.5px 0;border-top:1px solid var(--line);font-size:11.5px}
.mk-row span{color:var(--tx-3)}
.mk-row b{font-weight:500}
.mk-btn{width:100%;margin-top:12px;padding:9px;border:1px solid var(--line-2);border-radius:9px;font-size:12px;color:var(--tx-2);display:flex;justify-content:center;gap:7px;transition:all .2s}
.mk-btn:hover{border-color:var(--gold);color:var(--gold)}

/* ── pulse strip ──────────────────────── */
.pulse{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg-2);padding:20px 0}
.pulse-in{display:flex;gap:0;align-items:stretch}
.pulse-lbl{width:200px;flex:0 0 200px;padding-right:22px}
.pulse-lbl div{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:5px}
.pulse-lbl p{font-size:11.5px;color:var(--tx-3);line-height:1.4}
.pulse-items{display:flex;flex:1;gap:0;overflow-x:auto;scrollbar-width:none}
.pulse-items::-webkit-scrollbar{display:none}
.pcard{flex:1;min-width:150px;padding:2px 16px;border-left:1px solid var(--line);cursor:pointer;transition:background .2s}
.pcard:hover{background:rgba(255,255,255,.02)}
.pcard-t{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.pcard-t b{font-size:12.5px;font-weight:500}
.pcard-t i{font-style:normal;font-size:11.5px}
.pcard small{font-size:10px;color:var(--tx-3);display:block;margin-bottom:6px}
.pcard svg{width:100%;height:26px}

/* ── panels & cards ───────────────────── */
.panel{background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.split{display:grid;grid-template-columns:1fr 1fr}
.split>div{padding:52px 44px}
.split>div+div{border-left:1px solid var(--line)}
.cell{padding:52px 44px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--line)}
.grid2>div+div{border-left:1px solid var(--line)}

/* ── heat map ─────────────────────────── */
.heat{position:relative;height:460px;margin:0 30px}
.hnode{position:absolute;transform:translate(-50%,-50%);cursor:pointer}
.hdot{width:14px;height:14px;border-radius:50%;transition:all .3s var(--ease)}
.hnode:hover .hdot{transform:scale(1.5)}
.hlbl{position:absolute;left:50%;top:calc(50% + 14px);transform:translateX(-50%);background:rgba(8,12,17,.94);border:1px solid var(--line-2);border-radius:8px;padding:4px 9px;white-space:nowrap;backdrop-filter:blur(8px);transition:all .25s var(--ease);opacity:0;pointer-events:none}
.hnode.key .hlbl,.hnode:hover .hlbl{opacity:1}
.hnode:hover{z-index:5}
.hlbl b{display:block;font-size:10.5px;font-weight:500}
.hlbl span{font-size:9px}
.hnode:hover .hlbl{border-color:var(--gold);transform:translateX(-50%) translateY(-2px)}

/* ── score card ───────────────────────── */
.scorebox{background:var(--panel-3);border:1px solid var(--line-2);border-radius:var(--r);padding:22px 24px;text-align:center;margin-bottom:20px}
.scorebox b{font-size:52px;font-weight:600;letter-spacing:-.045em;line-height:1;background:linear-gradient(180deg,#fff,var(--gold));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.scorebox s{text-decoration:none;font-size:17px;color:var(--tx-3)}
.stars{color:var(--gold);letter-spacing:4px;font-size:14px;margin:8px 0 4px}
.scorebox p{font-size:11.5px;color:var(--tx-2)}
.bars{display:grid;grid-template-columns:1fr 1fr;gap:11px 26px}
.bar-r{display:flex;align-items:center;gap:10px;font-size:11.5px}
.bar-r span{color:var(--tx-2);width:104px;flex:0 0 104px}
.bar-t{flex:1;height:3px;background:var(--line-2);border-radius:2px;overflow:hidden}
.bar-f{height:100%;border-radius:2px;transform-origin:left;animation:grow 1.1s var(--ease) both}
@keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.bar-r i{font-style:normal;color:var(--tx-3);width:44px;text-align:right;font-size:10.5px}

/* property card */
.propcard{position:relative;border-radius:var(--r);overflow:hidden;border:1px solid var(--line-2);min-height:230px;background:linear-gradient(150deg,#1B2430,#0C1117)}
.propcard-img{position:absolute;inset:0;opacity:.9}
.propcard-top{position:absolute;top:0;left:0;right:0;padding:15px 17px;display:flex;justify-content:space-between;align-items:flex-start;background:linear-gradient(180deg,rgba(0,0,0,.65),transparent)}
.propcard-top b{font-size:13.5px;display:block}
.propcard-top small{font-size:10.5px;color:var(--tx-2)}
.propcard-bot{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(0deg,rgba(3,5,8,.94) 55%,transparent);padding:26px 17px 14px}
.pprice{text-align:right;margin-bottom:12px}
.pprice b{font-size:20px;font-weight:600;letter-spacing:-.02em}
.pprice small{display:block;font-size:9.5px;color:var(--tx-3)}
.pspecs{display:flex;gap:0;border-top:1px solid rgba(255,255,255,.09);padding-top:10px}
.pspecs div{flex:1;text-align:center;font-size:10.5px;color:var(--tx-2);border-left:1px solid rgba(255,255,255,.07)}
.pspecs div:first-child{border:0}

/* ── tables ───────────────────────────── */
table{width:100%;border-collapse:collapse;font-size:12.5px}
th{text-align:right;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--tx-3);font-weight:600;padding:0 0 11px;border-bottom:1px solid var(--line-2)}
th:first-child,td:first-child{text-align:left}
td{padding:11px 0;border-bottom:1px solid var(--line);text-align:right}
tbody tr{transition:background .15s;cursor:pointer}
tbody tr:hover{background:rgba(227,180,95,.035)}
td:first-child{font-weight:500}

/* ── AI assistant ─────────────────────── */
.ai-box{background:var(--panel-3);border:1px solid var(--line-2);border-radius:var(--r);overflow:hidden}
.ai-q{display:flex;gap:11px;align-items:center;padding:15px 17px;border-bottom:1px solid var(--line)}
.ai-q i{width:22px;height:22px;border-radius:6px;background:var(--gold-dim);display:grid;place-items:center;color:var(--gold);font-style:normal;font-size:11px;flex:0 0 22px}
.ai-q p{font-size:13px}
.ai-a{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}
.ai-a div{padding:15px 17px;border-left:1px solid var(--line)}
.ai-a div:first-child{border:0}
.ai-a small{font-size:9.5px;color:var(--tx-3);display:block;margin-bottom:6px}
.ai-a b{font-size:21px;font-weight:600;letter-spacing:-.02em}
.ai-more{padding:13px;text-align:center;font-size:12px;color:var(--tx-2);transition:color .2s;width:100%}
.ai-more:hover{color:var(--gold)}
.typing::after{content:'▌';animation:blink 1s steps(2) infinite;color:var(--gold)}
@keyframes blink{50%{opacity:0}}

/* ── signals ──────────────────────────── */
.sig{display:flex;gap:13px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line);cursor:pointer;transition:padding-left .2s var(--ease)}
.sig:hover{padding-left:5px}
.sig-i{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;flex:0 0 32px;border:1px solid var(--line-2)}
.sig-b{flex:1;min-width:0}
.sig-b b{font-size:12.5px;font-weight:500;display:block}
.sig-b small{font-size:10.5px;color:var(--tx-3)}
.sig-v{text-align:right;flex:0 0 auto}
.sig-v b{font-size:13px}
.sig-v small{display:block;font-size:9.5px;color:var(--tx-3)}
.sig-t{font-size:9.5px;color:var(--tx-3);width:44px;text-align:right;flex:0 0 44px}

/* ── misc ─────────────────────────────── */
.chip{display:inline-flex;align-items:center;gap:5px;font-size:10px;padding:3px 8px;border-radius:20px;border:1px solid var(--line-2);color:var(--tx-3)}
.chip.g{color:var(--green);border-color:rgba(61,214,140,.28);background:var(--green-dim)}
.chip.a{color:var(--amber);border-color:rgba(240,180,41,.28);background:rgba(240,180,41,.1)}
.chip.r{color:var(--red);border-color:rgba(255,107,107,.28);background:var(--red-dim)}
.trust{display:flex;gap:34px;flex-wrap:wrap}
.trust div{text-align:center;color:var(--tx-3)}
.trust b{display:block;font-size:9.5px;letter-spacing:.12em;margin-top:9px;font-weight:500}
.foot{border-top:1px solid var(--line);padding:30px 0;font-size:12px;color:var(--tx-3);display:flex;align-items:center;gap:30px;flex-wrap:wrap}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.in{opacity:1;transform:none}
.datatag{position:fixed;left:16px;bottom:16px;z-index:200;font-size:10.5px;color:var(--tx-3);background:rgba(11,16,22,.92);border:1px solid var(--line-2);border-radius:9px;padding:8px 12px;backdrop-filter:blur(10px);max-width:250px;line-height:1.45}
.datatag b{color:var(--gold);font-weight:600}
@media(max-width:960px){
  .hero-grid,.split,.grid2{grid-template-columns:1fr}
  .split>div+div,.grid2>div+div{border-left:0;border-top:1px solid var(--line)}
  .split>div,.cell{padding:34px 22px}
  .nav-links{display:none}
  .pulse-in{flex-direction:column;gap:16px}
  .pulse-lbl{width:auto;flex:auto}
  .hero-visual{height:330px}
  .mk-card{position:relative;right:auto;width:100%;max-width:320px;margin:0 auto}
  .glowmap{opacity:.35}
}