@import url("https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700;800&family=DM+Mono:wght@400;500&display=swap");
:root{--bg:#0f0b08;--card:#17110c;--tile:#1f1710;--tile2:#271d14;--ink:#f7efe6;--dim:#b3a493;--faint:#776a5c;--hair:#2a2018;--hair2:#3a2d22;--acc:#ffb347;--on:#1f1200;--up:#4ade80;--down:#f87171}
*{box-sizing:border-box}
html{background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 Sora,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}
.mono,.num{font-family:"DM Mono",ui-monospace,monospace;font-variant-numeric:tabular-nums}
.hint{color:var(--faint);font-size:13.5px}
.chg{font-family:"DM Mono",monospace;font-size:.86em}.chg.up{color:var(--up)}.chg.down{color:var(--down)}

header.top .wrap{display:flex;align-items:center;gap:30px;height:74px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:22px;letter-spacing:-.025em}
.brand img{width:28px;height:28px}
nav{display:flex;gap:24px;color:var(--dim);font-size:15px;margin-left:auto}nav a:hover{color:var(--ink)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:46px;padding:0 22px;border-radius:8px;font:700 15px Sora,sans-serif;border:1px solid transparent;cursor:pointer;white-space:nowrap}
.btn-acc{background:var(--acc);color:var(--on)}.btn-acc:hover{background:#46ddf2}
.btn-ghost{background:transparent;border-color:var(--hair2);color:var(--ink)}
.btn:disabled{opacity:.45;cursor:not-allowed}

/* hero: headline over a full-width calculator */
.hero{padding:64px 0 10px}
.eyebrowless{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;flex-wrap:wrap}
.hero h1{font-size:clamp(44px,6vw,80px);line-height:.96;letter-spacing:-.045em;font-weight:800;margin:0;max-width:780px}
.hero h1 span{color:var(--acc)}
.hero .sub{color:var(--dim);font-size:18px;max-width:380px;margin:0}
.ca{display:inline-flex;gap:10px;margin-top:18px;padding:8px 14px;border:1px solid var(--hair2);border-radius:8px;font:13px "DM Mono",monospace;color:var(--dim);cursor:pointer}.ca b{color:var(--ink);font-weight:500}
.calc{margin-top:40px;display:grid;grid-template-columns:330px 1fr;background:var(--card);border:1px solid var(--hair);border-radius:16px;overflow:hidden}
.calc .in{padding:24px;border-right:1px solid var(--hair);display:flex;flex-direction:column;gap:14px}
.calc label{font-size:13px;color:var(--dim);display:flex;justify-content:space-between}
.calc label b{color:var(--ink);font:500 14px "DM Mono",monospace}
input[type=range]{width:100%;accent-color:var(--acc)}
select,input{font:inherit;color:var(--ink);background:var(--tile2);border:1px solid var(--hair2);border-radius:8px;padding:11px 14px;width:100%;outline:none}
select:focus,input:focus{border-color:var(--acc)}
.calc .out{padding:24px;display:flex;flex-direction:column;gap:20px}
.tl{position:relative;height:120px;border-bottom:1px solid var(--hair2)}
.tl .bar{position:absolute;bottom:0;background:var(--acc);border-radius:4px 4px 0 0;opacity:.9}
.tl .bar.big{background:var(--down);opacity:.75}
.tl .lab{position:absolute;top:-2px;font:12px "DM Mono",monospace;color:var(--faint)}
.cmp{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cmp .k{font-size:12.5px;color:var(--faint);text-transform:uppercase;letter-spacing:.07em}
.cmp .v{font:500 30px "DM Mono",monospace;margin-top:2px}
.cmp .s{color:var(--dim);font-size:13.5px}
.cmp .a .v{color:var(--down)}.cmp .b .v{color:var(--acc)}
.lg{width:28px;height:28px;border-radius:50%;object-fit:cover;flex:none;background:#fff}
.lg.badge{display:inline-grid;place-items:center;background:var(--tile2);color:var(--dim);font-size:11px;font-weight:700}

section{padding:90px 0 0}
.sh{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px;flex-wrap:wrap}
.sh h2{font-size:clamp(30px,3.4vw,44px);letter-spacing:-.04em;margin:0;font-weight:800;line-height:1.05}
.sh p{color:var(--dim);margin:0;max-width:470px}
.depth{background:var(--card);border:1px solid var(--hair);border-radius:16px;overflow:hidden}
.depth table{width:100%;border-collapse:collapse;font-size:15px}
.depth th{font-size:12px;color:var(--faint);text-transform:uppercase;letter-spacing:.07em;font-weight:600;text-align:left;padding:14px 18px;border-bottom:1px solid var(--hair)}
.depth td{padding:12px 18px;border-top:1px solid var(--hair)}
.depth td.r,.depth th.r{text-align:right;font-family:"DM Mono",monospace}
.depth tr:hover td{background:var(--tile)}
.depth .tk{display:flex;align-items:center;gap:10px}.depth .tk b{display:block}.depth .tk span{color:var(--faint);font-size:13px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.card{background:var(--card);border:1px solid var(--hair);border-radius:16px;padding:26px}
.card .n{font:500 34px "DM Mono",monospace;color:var(--acc);line-height:1}
.card h3{font-size:21px;margin:16px 0 8px;letter-spacing:-.02em}
.card p{color:var(--dim);margin:0;font-size:15px}
.faq{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.faq details{background:var(--card);border:1px solid var(--hair);border-radius:16px;padding:20px 22px}
.faq summary{cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary:after{content:"+";color:var(--acc)}.faq details[open] summary:after{content:"−"}
.faq p{color:var(--dim);margin:12px 0 0;font-size:15px}
.final{padding:100px 0 90px}
.final .wrap{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;flex-wrap:wrap}
.final h2{font-size:clamp(32px,4.4vw,56px);line-height:1.02;letter-spacing:-.045em;margin:0;max-width:760px;font-weight:800}
.final .btn{margin-top:8px}
footer{background:#000;padding:72px 0 80px}
footer .wrap{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap}
footer .note{color:#6b7680;font-size:14px;max-width:340px}
footer .cols{display:flex;gap:56px}footer .col{display:flex;flex-direction:column;gap:10px;font-size:15px;color:#b3bec7}
footer .col b{color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}footer a:hover{color:#fff}

/* app */
.appgrid{display:grid;grid-template-columns:420px 1fr;gap:18px;padding:30px 0 80px;align-items:start}
.panel{background:var(--card);border:1px solid var(--hair);border-radius:16px;padding:22px}
.panel h3{margin:0 0 6px;font-size:19px}
.seg{display:grid;grid-template-columns:1fr 1fr;background:var(--tile2);border-radius:8px;padding:4px;gap:4px}
.seg button{height:38px;border:0;border-radius:6px;background:transparent;color:var(--dim);font:700 14px Sora;cursor:pointer}
.seg button.on{background:var(--acc);color:var(--on)}
.fld{margin-top:14px}.fld label{display:flex;justify-content:space-between;font-size:13px;color:var(--dim);margin-bottom:7px}
.fld .in2{display:flex;align-items:center;gap:8px;background:var(--tile2);border:1px solid var(--hair2);border-radius:8px;padding:4px 6px 4px 14px}
.fld .in2 input{border:0;background:transparent;padding:9px 0;font:500 19px "DM Mono",monospace}
.fld .in2 span{color:var(--dim);font-size:14px;padding-right:8px}
.tsel{display:flex;align-items:center;gap:10px}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.mini{display:inline-flex;align-items:center;height:30px;padding:0 11px;font:600 12.5px Sora;border-radius:6px;background:var(--tile2);border:1px solid var(--hair2);color:var(--ink);cursor:pointer}
.mini.on,.mini:hover{border-color:var(--acc);color:var(--acc)}
.preview{margin-top:16px;padding:14px;border-radius:8px;background:var(--tile);color:var(--dim);font-size:14.5px}.preview b{color:var(--ink)}
.big-btn{width:100%;height:52px;margin-top:16px;font-size:16px}
.ol{display:flex;flex-direction:column;gap:10px}
.ord{background:var(--tile);border:1px solid var(--hair);border-radius:12px;padding:14px}
.ord .hd{display:flex;align-items:center;gap:12px}.ord .t{font-weight:700}.ord .s{color:var(--faint);font-size:13px}
.ord .hd .act{margin-left:auto}
.prog{display:flex;gap:3px;margin-top:12px}.prog i{flex:1;height:8px;border-radius:2px;background:var(--hair2)}.prog i.d{background:var(--acc)}
.tag{display:inline-block;padding:3px 9px;border-radius:6px;font-size:12px;background:var(--tile2);color:var(--dim)}.tag.live{color:var(--acc)}.tag.done{color:var(--up)}
.empty{padding:36px 10px;text-align:center;color:var(--faint)}
.banner{margin-top:24px;padding:14px 18px;border:1px solid rgba(255,179,71,.35);background:rgba(255,179,71,.06);border-radius:10px;font-size:14.5px}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.6);display:none;place-items:center;z-index:50}.modal.open{display:grid}
.wbtn{display:flex;align-items:center;gap:10px;width:100%;margin-top:10px;padding:12px;border-radius:8px;background:var(--tile);border:1px solid var(--hair2);color:var(--ink);font:600 15px Sora;cursor:pointer}.wbtn img{width:24px;height:24px}
.toast{position:fixed;left:50%;bottom:24px;opacity:0;pointer-events:none;transform:translateX(-50%) translateY(120px);background:var(--tile2);border:1px solid var(--hair2);padding:12px 18px;border-radius:8px;transition:transform .3s;z-index:60}.toast.show{transform:translateX(-50%);opacity:1}.toast.bad{border-color:var(--down)}
.doc{max-width:780px;padding:60px 0 90px}.doc h1{font-size:46px;letter-spacing:-.04em;margin:0 0 10px}.doc h2{margin:40px 0 10px;font-size:24px}.doc p,.doc li{color:var(--dim)}
.doc table{width:100%;border-collapse:collapse;margin-top:10px;font-size:14px}.doc td{padding:10px 8px;border-top:1px solid var(--hair)}.doc code{font-family:"DM Mono",monospace;color:var(--ink);font-size:13px}.doc a{color:var(--acc)}

@media(max-width:980px){.calc,.appgrid{grid-template-columns:1fr}.calc .in{border-right:0;border-bottom:1px solid var(--hair)}.steps,.faq{grid-template-columns:1fr}nav{display:none}}
@media(max-width:560px){.depth .hide{display:none}.cmp{grid-template-columns:1fr}footer .cols{gap:32px}}

/* Tranche layout: split hero (headline left, calculator right), depth table beside a sticky heading, steps as rising tranches */
.hero{display:grid!important;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:start;padding:72px 0 20px!important}
.hero > .eyebrowless{position:sticky;top:96px}
.hero .sub{max-width:460px!important;margin-top:22px!important}
.hero #caBox{grid-column:1}
.hero .calc{margin-top:0!important;grid-column:2;grid-row:1/3;grid-template-columns:1fr!important;border-radius:4px!important}
.hero .calc .in{border-right:0!important;border-bottom:1px solid var(--hair)}
#depth .wrap{display:grid;grid-template-columns:320px 1fr;gap:40px;align-items:start}
#depth .sh{position:sticky;top:96px;display:block!important}
#depth .sh p{margin-top:14px!important}
.depth{border-radius:4px!important}
.steps{align-items:end}
.steps .card{border-radius:4px!important;border-top:3px solid var(--acc)!important}
.steps .card:nth-child(1){min-height:220px}.steps .card:nth-child(2){min-height:260px}.steps .card:nth-child(3){min-height:300px}
.steps .card .n{font:800 42px/1 Sora!important;color:var(--acc)}
.faq details,.card,.panel,.final .wrap,.btn{border-radius:4px!important}
@media(max-width:960px){.hero{grid-template-columns:1fr}.hero > .eyebrowless{position:static}.hero .calc{grid-column:1;grid-row:auto}#depth .wrap{grid-template-columns:1fr}#depth .sh{position:static}.steps .card{min-height:0!important}}
