:root{
  --bg:#090a0c;--bg2:#0f1115;--surface:rgba(255,255,255,.055);--surface-2:rgba(255,255,255,.085);
  --line:rgba(255,255,255,.13);--text:#f5f2e9;--muted:#a3a7ad;--accent:#ff6b49;--acid:#d8ff72;--blue:#7cb8ff;--radius:28px;--shadow:0 32px 90px rgba(0,0,0,.38)
}
*{box-sizing:border-box}html{background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{margin:0;min-height:100vh;background:radial-gradient(circle at 88% 12%,rgba(255,107,73,.12),transparent 30%),radial-gradient(circle at 10% 80%,rgba(124,184,255,.08),transparent 32%),var(--bg);overflow-x:hidden}
button,textarea,input{font:inherit}button{color:inherit}
.grain{pointer-events:none;position:fixed;inset:0;z-index:99;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 220 220' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.85'/%3E%3C/svg%3E")}
.topbar{height:78px;padding:0 clamp(22px,4vw,58px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.07);position:relative;z-index:2}
.brand{font-size:22px;letter-spacing:-.04em;font-weight:850}.brand span{font-weight:500;color:var(--muted)}
.topmeta{font-size:11px;letter-spacing:.15em;color:var(--muted);display:flex;gap:10px;align-items:center}
.status-dot{height:7px;width:7px;border-radius:99px;background:var(--acid);box-shadow:0 0 18px rgba(216,255,114,.6)}
#app{min-height:calc(100vh - 78px)}.screen{display:none;min-height:calc(100vh - 78px)}.screen.active{display:block}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);gap:7vw;align-items:center;max-width:1400px;margin:0 auto;padding:clamp(58px,8vw,120px) clamp(22px,5vw,76px) 56px}
.eyebrow,.step-kicker{font-size:11px;letter-spacing:.18em;font-weight:800;color:var(--accent);text-transform:uppercase}
.hero-copy h1,.done-shell h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(60px,7.3vw,116px);line-height:.89;letter-spacing:-.065em;margin:18px 0 30px;max-width:900px}
.lede,.section-lede{font-size:clamp(19px,2vw,27px);line-height:1.42;color:#c8c8c4;max-width:760px;letter-spacing:-.02em}
.hero-actions,.step-actions{display:flex;gap:12px;align-items:center;margin-top:38px}.step-actions.wrap{flex-wrap:wrap}
.btn{border:1px solid var(--line);border-radius:999px;padding:15px 22px;background:transparent;cursor:pointer;font-weight:750;letter-spacing:-.01em;transition:.2s transform,.2s background,.2s border-color,.2s opacity}
.btn:hover:not(:disabled){transform:translateY(-2px)}.btn.primary{background:var(--text);border-color:var(--text);color:#090a0c}.btn.primary:hover{background:var(--acid);border-color:var(--acid)}
.btn.ghost:hover{background:var(--surface-2)}.btn:disabled{opacity:.35;cursor:not-allowed}
.microcopy{color:#757a82;font-size:13px;margin-top:15px}
.folio-wrap{height:min(560px,62vh);min-height:420px;display:flex;align-items:center;justify-content:center;perspective:1200px}
.folio-card{width:min(100%,560px);height:min(540px,60vh);min-height:410px;position:relative;border-radius:32px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));box-shadow:var(--shadow);padding:34px;display:flex;flex-direction:column;overflow:hidden;transform:rotate(.35deg)}
.folio-card:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.035) 45%,transparent 65%);pointer-events:none}
.folio-card:after{content:"";position:absolute;width:220px;height:220px;background:var(--accent);filter:blur(110px);opacity:.16;right:-65px;top:-65px;pointer-events:none}
.folio-top,.folio-bottom{display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.16em;color:#747982;text-transform:uppercase;position:relative;z-index:1}
.folio-live{display:flex;align-items:center;gap:8px}.folio-live i{width:6px;height:6px;border-radius:50%;background:var(--acid);box-shadow:0 0 14px rgba(216,255,114,.55)}
.folio-name{font-family:Georgia,"Times New Roman",serif;font-size:clamp(42px,4vw,64px);line-height:1;letter-spacing:-.05em;margin-top:auto;margin-bottom:28px;position:relative;z-index:1}
.folio-rule{height:1px;background:var(--line);margin-bottom:4px}
.folio-row{display:grid;grid-template-columns:150px 1fr;gap:18px;align-items:center;border-bottom:1px solid rgba(255,255,255,.085);padding:18px 0;position:relative;z-index:1}
.folio-key{font-size:10px;letter-spacing:.14em;color:#737880}.folio-row strong{font-size:15px;font-weight:650;color:#d9d9d4}
.folio-bottom{margin-top:auto;padding-top:24px}
.principles{max-width:1400px;margin:0 auto;padding:0 clamp(22px,5vw,76px) 80px;display:grid;grid-template-columns:repeat(3,1fr);gap:1px}
.principle{border-top:1px solid var(--line);padding:22px 22px 22px 0;display:grid;grid-template-columns:44px 1fr;gap:12px;font-size:14px;line-height:1.4}.principle-num{color:#656a72;font-size:11px;letter-spacing:.15em}
.step-shell{max-width:1040px;margin:0 auto;padding:clamp(58px,9vw,110px) 24px 90px}.step-shell.narrow{max-width:880px}
.step-shell h2,.question-card h2,dialog h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(42px,5.6vw,74px);letter-spacing:-.052em;line-height:.99;margin:14px 0 24px}
.consent-list{margin-top:44px;border-top:1px solid var(--line)}
.consent-row{display:grid;grid-template-columns:30px 1fr;gap:14px;padding:22px 4px;border-bottom:1px solid var(--line);cursor:pointer}
.consent-row input{position:absolute;opacity:0}.check{width:22px;height:22px;border-radius:7px;border:1px solid #666c75;position:relative;margin-top:2px}
.consent-row input:checked+.check{background:var(--acid);border-color:var(--acid)}.consent-row input:checked+.check:after{content:"✓";position:absolute;color:#0a0b0d;font-weight:900;left:4px;top:0}
.consent-row strong{display:block;font-size:17px}.consent-row small{display:block;color:var(--muted);margin-top:5px;line-height:1.45}
.intake-layout{min-height:calc(100vh - 78px);display:grid;grid-template-columns:330px 1fr}
.intake-rail{border-right:1px solid var(--line);padding:48px 34px;display:flex;flex-direction:column;justify-content:space-between;position:sticky;top:0;height:calc(100vh - 78px)}
.intake-rail h3{font-size:28px;margin:10px 0}.rail-progress{display:flex;align-items:center;gap:16px}.progress-line{height:2px;background:#26292e;flex:1;overflow:hidden}.progress-line span{display:block;height:100%;width:33.3%;background:var(--acid);transition:width .35s ease}.progress-copy{font-size:12px;color:var(--muted);display:flex;gap:5px}.rail-note{font-size:13px;line-height:1.55;color:#6f747c}
.question-stage{max-width:920px;width:100%;margin:0 auto;padding:clamp(56px,8vw,100px) clamp(26px,7vw,92px)}
.question-card{display:none}.question-card.active{display:block;animation:rise .32s ease}@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.question-index{font-size:11px;letter-spacing:.16em;font-weight:800;color:var(--accent)}.question-help{font-size:17px;color:var(--muted);line-height:1.5;max-width:720px;margin:-4px 0 30px}
textarea{width:100%;resize:vertical;background:rgba(255,255,255,.035);color:var(--text);border:1px solid var(--line);border-radius:22px;padding:22px;min-height:190px;outline:none;font-size:18px;line-height:1.5;transition:.2s border,.2s background}
textarea:focus{border-color:rgba(216,255,114,.55);background:rgba(255,255,255,.05)}textarea::placeholder{color:#5c6068}
.input-tools{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.speak-btn{border:0;background:transparent;color:#aeb1b6;cursor:pointer;padding:8px 0}.speak-btn:hover{color:var(--text)}.mic{color:var(--accent);font-size:10px;margin-right:6px}.speak-btn.listening .mic{animation:blink 1s infinite}@keyframes blink{50%{opacity:.25}}
.saved-state{font-size:11px;letter-spacing:.08em;color:#5f646c;text-transform:uppercase;opacity:0;transition:.2s opacity}.saved-state.show{opacity:1}.question-actions{display:flex;justify-content:space-between;margin-top:34px}
.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:46px}.review-card{border:1px solid var(--line);border-radius:22px;padding:22px;background:var(--surface)}
.review-card .label{font-size:10px;letter-spacing:.15em;color:var(--accent);font-weight:800}.review-card h3{font-size:19px;margin:10px 0 0;line-height:1.45;font-weight:600}
.not-authority{margin-top:18px;border:1px solid rgba(216,255,114,.28);background:rgba(216,255,114,.055);border-radius:18px;padding:18px 20px;display:flex;gap:18px;align-items:flex-start}.not-authority span{font-size:10px;letter-spacing:.14em;font-weight:850;color:var(--acid);white-space:nowrap}.not-authority p{margin:0;color:#a7aaa9;font-size:14px;line-height:1.45}
.done-shell{max-width:1100px;margin:0 auto;padding:clamp(70px,10vw,140px) 24px}.done-shell .lede{max-width:830px}.done-mark{margin-top:70px;width:120px;height:120px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-family:Georgia,serif;font-size:28px;letter-spacing:-.04em;box-shadow:inset 0 0 40px rgba(255,107,73,.08)}
dialog{max-width:720px;width:calc(100% - 32px);border:1px solid var(--line);border-radius:28px;background:#121418;color:var(--text);padding:38px;box-shadow:0 30px 120px #000}
dialog::backdrop{background:rgba(0,0,0,.75);backdrop-filter:blur(8px)}.dialog-close{position:absolute;right:20px;top:16px;border:0;background:transparent;font-size:28px;color:var(--muted);cursor:pointer}.dialog-steps{margin-top:34px}
.dialog-steps>div{display:grid;grid-template-columns:54px 1fr;border-top:1px solid var(--line);padding:18px 0}.dialog-steps span{color:#666b73;font-size:11px;letter-spacing:.12em}.dialog-steps p{margin:0;line-height:1.55;color:#b8bab9}.dialog-steps strong{color:var(--text)}
.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,20px);background:var(--text);color:#0b0c0e;padding:12px 17px;border-radius:999px;font-size:13px;font-weight:800;opacity:0;pointer-events:none;transition:.25s;z-index:120}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr}.folio-wrap{height:390px;min-height:390px}.folio-card{height:370px;min-height:370px}.principles{grid-template-columns:1fr}.principle{padding-right:0}.intake-layout{grid-template-columns:1fr}.intake-rail{position:relative;height:auto;border-right:0;border-bottom:1px solid var(--line);padding:22px 24px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.rail-note{display:none}.rail-progress{align-self:end}}
@media(max-width:620px){.topbar{height:66px;padding:0 18px}#app,.screen{min-height:calc(100vh - 66px)}.hero-grid{padding:50px 20px 34px}.hero-copy h1,.done-shell h1{font-size:56px}.folio-wrap{height:350px;min-height:350px}.folio-card{height:330px;min-height:330px;border-radius:24px;padding:24px}.folio-name{font-size:42px}.folio-row{grid-template-columns:110px 1fr;padding:13px 0}.principles{padding:0 20px 54px}.intake-rail{grid-template-columns:1fr}.question-stage{padding:46px 20px}.question-card h2,.step-shell h2,dialog h2{font-size:42px}.review-grid{grid-template-columns:1fr}.step-actions{align-items:stretch}.step-actions .btn{flex:1}}
