/* ===== Design-system alignment (canvas: Home, Onboarding, Question, Mobile) ===== */
@media (min-width:861px){body.wide .wrap{grid-template-columns:minmax(0,1fr)} body.wide .side{display:none}}
body.flush main{padding-top:0}
.page.xl{grid-template-columns:minmax(0,1280px);justify-content:center}
:root{--gut:clamp(16px,4vw,64px)}

/* header additions */
.hdr-cta{height:36px!important;padding:0 14px!important;font-size:13.5px!important;white-space:nowrap}
body{margin:0}
@media (min-width:1101px){.top .me-btn{display:inline-flex;align-items:center;gap:6px}}
@media (max-width:640px){.hdr-cta{display:none!important}}

/* hero (two columns) */
.hero2{background:var(--navy);color:#fff;margin:0 calc(-1*var(--gut));padding:72px var(--gut) 88px;display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.hero2 h1{color:#fff;font:700 clamp(38px,5vw,62px)/1.05 var(--serif);letter-spacing:-.025em;margin:0;max-width:none}
.hero2 .rot-in{background-image:linear-gradient(90deg,#7fa6ff,#ee7878);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero2 .sub-l{font-size:19px;line-height:1.6;color:#c8d8e8;max-width:560px;margin:0}
.hero2 .col{display:flex;flex-direction:column;gap:24px}
.hero2 .btn:not(.pri){background:transparent;color:#e6eef7;border-color:#3a5579}
.hero2 .btn:not(.pri):hover{background:#1b3355;color:#fff;border-color:#c8d8e8}
.hero2 .btn{height:48px;padding:0 22px;font-size:15px}
.badge-free{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;padding:7px 14px;border-radius:99px;background:#1b3355;color:#c8d8e8;font:600 13px var(--sans)}
.badge-free i{width:8px;height:8px;border-radius:99px;background:#ee7878;display:inline-block;animation:blink 1.6s ease-in-out infinite}
@keyframes blink{50%{opacity:.35}}
.hstats{display:flex;flex-wrap:wrap;gap:16px 40px;padding-top:6px}
.hstats div{display:flex;flex-direction:column}
.hstats b{font:600 28px var(--mono);color:#fff}
.hstats span{font-size:14px;color:#93a8c4}
.qcard{background:var(--panel);color:var(--ink);border-radius:20px;padding:28px;display:flex;flex-direction:column;gap:14px;box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.qcard .kk{font:600 12px var(--sans);letter-spacing:.12em;color:var(--accent);text-transform:uppercase}
.qcard h2{margin:0;font:600 22px/1.35 var(--serif);color:var(--ink)}
.qcard .qtext{font-size:15.5px;line-height:1.6;color:var(--ink2);max-height:190px;overflow:auto}
.qcard .qtext p{margin:0 0 8px}
.qcard form{display:flex;gap:10px}
.qc-input{height:48px;flex:1;min-width:0;border-radius:10px;border:1.5px solid var(--line);padding:0 14px;font:500 16px var(--mono);background:var(--bg);color:var(--ink);outline:none;transition:border-color .15s,box-shadow .15s}
.qc-input:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(41,100,253,.15)}
.qcard .btn{height:48px}
.fbx{padding:14px 16px;border-radius:12px;font-size:15px;line-height:1.5;animation:pop .45s cubic-bezier(.2,1.4,.4,1) both}
.fbx.ok{background:var(--easy-bg);color:var(--easy);border:1px solid #bbf7d0}
.fbx.no{background:var(--hard-bg);color:var(--hard);border:1px solid #fecaca}
@keyframes pop{from{transform:scale(.92);opacity:.001}to{transform:none;opacity:1}}
.muted{font-size:13px;color:var(--ink3)}
.ticker2{margin:0 calc(-1*var(--gut));background:#0e1e36;padding:24px 0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.ticker2 .ticker-in{font-size:20px;gap:64px}
@media (max-width:640px){.badge-free{font-size:12px;padding:6px 12px}.hero2 .sub-l{font-size:17px}.hstats{gap:14px 28px}.hstats b{font-size:24px}.qcard{padding:20px}.qcard form{flex-wrap:wrap}.qcard form .btn{flex:1}}
@media (max-width:980px){.hero2{grid-template-columns:1fr;padding-top:48px;padding-bottom:56px;gap:36px}}

/* home sections */
.sec-h{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin:72px 0 28px}
.sec-h h2{margin:0;font:600 clamp(28px,3.2vw,40px) var(--serif);letter-spacing:-.01em;color:var(--ink)}
.sec-h.sm{margin-top:56px}
.sec-h.sm h2{font-size:clamp(24px,2.6vw,32px)}
.sec-h span{font-size:16px;color:var(--ink2);max-width:440px}
.steps3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.steps3 div{padding:28px;border-radius:18px;background:var(--panel);border:1px solid var(--line);display:flex;flex-direction:column;gap:12px}
.steps3 .n{font:600 14px var(--mono);color:var(--accent)}
.steps3 b{font:600 22px var(--serif)}
.steps3 p{margin:0;font-size:15px;line-height:1.6;color:var(--ink2)}
.cur4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.cur4 .card{padding:22px;border-radius:16px;gap:10px}
.cur4 .card h3{font:600 19px var(--serif)}
.cur4 .bar{height:6px;background:var(--line)}
.bar i{background-image:linear-gradient(90deg,#2964fd,#ee7878)}
.pill.soon2{background:var(--line2);color:var(--ink3);font-weight:700;letter-spacing:.06em}
.pill.live2{background:var(--accent);color:#fff;font-weight:700;letter-spacing:.06em}
.plans3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.plans3 .card{padding:26px;border-radius:18px;gap:10px}
.plans3 .card .kk{font:600 12px var(--mono);color:var(--ink2);text-transform:uppercase}
.plans3 .card h3{font:600 22px var(--serif)}
.plans3 .card p{font-size:15px}
.card.navy{background:var(--navy);border-color:var(--navy);color:#fff}
.card.navy h3{color:#fff}.card.navy p,.card.navy .kk{color:#c8d8e8}
.card.navy .bar{background:#2a4468}
.cont{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:20px 22px;border-radius:16px;background:var(--panel);border:1px solid var(--line);margin-top:28px}
.cont .kk{font:600 11px var(--mono);color:var(--ink3);text-transform:uppercase;letter-spacing:.06em}
.cont b{font:600 18px var(--serif);display:block}
.cont .grow{flex:1;min-width:220px}
.cta-band{margin:64px 0 0;padding:48px;border-radius:24px;background-image:linear-gradient(120deg,#142843 0%,#203d74 60%,#2b4f8f 100%);display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.cta-band b{display:block;font:700 clamp(24px,2.6vw,34px) var(--serif);color:#fff}
.cta-band span{font-size:17px;color:#c8d8e8}
.cta-band .btn{height:54px;padding:0 30px;font-size:16px}
@media (max-width:1100px){.cur4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.steps3,.plans3,.cur4{grid-template-columns:1fr}.cta-band{padding:32px 24px}}

/* footer */
.foot{background:#0e1e36;color:#7f93ae;font-size:14px;padding:32px var(--gut) calc(32px + env(safe-area-inset-bottom,0px));display:flex;justify-content:space-between;align-items:center;gap:14px 28px;flex-wrap:wrap}
.foot b{font:600 18px var(--serif);color:#c8d8e8}
.foot a{color:#9fb3cc;text-decoration:none;margin-right:16px}.foot a:hover{color:#fff}
@media (max-width:860px){.foot{padding-bottom:84px}}

/* onboarding */
.ob{display:grid;grid-template-columns:400px minmax(0,1fr);min-height:calc(100vh - 57px);margin:0 calc(-1*var(--gut))}
.ob-l{background:var(--navy);color:#c8d8e8;padding:56px 44px;display:flex;flex-direction:column;gap:36px}
.ob-l b.t{font:700 34px/1.15 var(--serif);color:#fff;display:block;margin-bottom:10px}
.ob-steps{display:flex;flex-direction:column;gap:18px}
.ob-steps div{display:flex;align-items:center;gap:14px;font-size:16px;color:#93a8c4}
.ob-steps i{width:34px;height:34px;border-radius:99px;display:flex;align-items:center;justify-content:center;font:600 14px var(--mono);font-style:normal;border:1.5px solid #3a5579;color:#7f93ae}
.ob-steps div.on{color:#fff;font-weight:600}.ob-steps div.on i{background:#fff;color:#142843;border-color:#fff}
.ob-steps div.done i{background:#2964fd;border-color:#2964fd;color:#fff}
.ob-r{padding:64px clamp(20px,6vw,96px);display:flex;flex-direction:column;gap:26px;animation:obIn .35s ease both}
@keyframes obIn{from{opacity:.001;transform:translateX(16px)}to{opacity:1;transform:none}}
.ob-r .kk{font:600 13px var(--mono);color:var(--accent)}
.ob-r h1{margin:0;font:600 clamp(28px,3vw,38px) var(--serif)}
.choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.choice{display:flex;flex-direction:column;gap:8px;text-align:left;padding:22px;border-radius:16px;border:1.5px solid var(--line);background:var(--panel);cursor:pointer;font-family:var(--sans);color:var(--ink);transition:border-color .15s,transform .15s,box-shadow .2s}
.choice:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 14px 30px -18px rgba(41,100,253,.6)}
.choice.sel{border-color:var(--accent);box-shadow:0 0 0 4px rgba(41,100,253,.15)}
.choice .tg{font:600 13px var(--mono);color:var(--accent)}
.choice .big{font:600 30px var(--mono)}
.choice b{font:600 21px var(--serif)}
.choice span.d{font-size:15px;line-height:1.55;color:var(--ink2)}
.ob-nav{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:20px}
.btn.ghost{border-color:transparent;background:transparent;color:var(--ink2)}
.btn.big{height:50px;padding:0 26px;font-size:15px}
.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none!important}
.kpi3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.kpi3 div{padding:22px;border-radius:16px;background:var(--panel);border:1px solid var(--line)}
.kpi3 b{display:block;font:600 30px var(--mono)}
.kpi3 span{color:var(--ink2)}
@media (max-width:900px){.ob{grid-template-columns:1fr}.ob-l{padding:32px 20px;gap:20px}.ob-l .grow,.ob-l .muted2{display:none}.choices,.kpi3{grid-template-columns:1fr}.ob-r{padding:32px 20px}}

/* my plan */
.day{display:grid;grid-template-columns:90px minmax(0,1fr);gap:16px;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:var(--panel);margin-bottom:10px}
.day.today{border-color:var(--accent);box-shadow:0 0 0 3px rgba(41,100,253,.12)}
.day .dl{font:600 13px var(--mono);color:var(--ink3)}
.day.today .dl{color:var(--accent)}
.day ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.day li{display:flex;gap:10px;align-items:center;font-size:14.5px}
.day li a{color:var(--ink);text-decoration:none;font-weight:500}.day li a:hover{color:var(--accent)}
.day li .ck{width:18px;color:var(--easy);font-weight:700}
.day li .ty{font:500 11px var(--mono);color:var(--ink3);text-transform:uppercase;min-width:54px}

/* question page polish */
.qpage{grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:20px}
.qpage .pane{border-radius:18px}
.qpage .tabs button{height:52px;padding:0 16px;font-size:15px;font-weight:600}
.qpage .pane-b{padding:22px 24px}
.qpage #tabBody{padding:28px 32px}
.qpage #tabBody > p,.qpage #tabBody .qtext p{font-size:17.5px;line-height:1.7}
.qpage h1.qh{font:600 30px var(--serif);margin:0 0 6px}
.tag.topic{background:var(--line2);color:var(--ink2)}
.tag.firm2{background:var(--accent-soft);color:var(--accent-2)}
.qpage .check input{height:46px;border-radius:10px;border:1.5px solid var(--line);font-size:16px}
.qpage .check .btn{height:46px}
.fb.ok,.fb.no{padding:12px 14px;border-radius:12px;font-weight:500;animation:pop .45s cubic-bezier(.2,1.4,.4,1) both}
.fb.ok{background:var(--easy-bg);border:1px solid #bbf7d0}
.fb.no{background:var(--hard-bg);border:1px solid #fecaca}
.fb b{display:block;font-size:16px}
.sim-l{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.sim-l a{text-decoration:none;color:var(--ink);font-weight:600;display:flex;gap:10px;align-items:center}
.sim-l a:hover{color:var(--accent)}
.kk2{font:600 12px var(--sans);letter-spacing:.12em;color:var(--ink3);text-transform:uppercase}
@media (prefers-reduced-motion:reduce){.badge-free i,.ob-r,.fbx,.fb{animation:none}}
