
:root{
  --blue:#1672df;--blue-deep:#0d5fc2;--blue-soft:#eaf4ff;
  --pink:#ef4e96;--pink-deep:#e92d7d;--pink-soft:#fff0f7;
  --purple:#855ad8;--ink:#17213a;--muted:#69758e;--line:#e3e8f2;--bg:#f7f9fd;
  --card:#fff;--shadow:0 12px 34px rgba(37,69,128,.10);--shadow-soft:0 6px 18px rgba(37,69,128,.06)
}
*{box-sizing:border-box}
html{background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}
body{margin:0;background:radial-gradient(circle at 10% 0%,rgba(22,114,223,.07),transparent 28%),radial-gradient(circle at 90% 8%,rgba(239,78,150,.07),transparent 25%),var(--bg)}
button,input,select{font:inherit}button{cursor:pointer}.app-shell{max-width:800px;margin:0 auto;min-height:100vh;padding-bottom:98px}
.topbar{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);display:flex;justify-content:space-between;align-items:center;padding:11px 18px;border-bottom:1px solid rgba(227,232,242,.86);box-shadow:0 3px 18px rgba(30,55,100,.035)}
.brand{display:flex;align-items:center;gap:14px;min-width:0}.brand-logo{width:150px;height:auto;display:block;mix-blend-mode:multiply}.product-lockup{display:grid;gap:2px;border-left:1px solid var(--line);padding-left:13px}.product-lockup strong{font-size:13px;color:var(--blue-deep)}.product-lockup span{font-size:10px;color:var(--muted);white-space:nowrap}
.icon-btn,.secondary,.primary,.back-btn{border:0;border-radius:14px;padding:12px 16px;font-weight:800;transition:.18s ease}.primary{background:linear-gradient(100deg,var(--blue),var(--purple) 54%,var(--pink));color:white;box-shadow:0 9px 22px rgba(80,82,205,.20)}.primary:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(80,82,205,.26)}.secondary{background:#eef2f8;color:var(--ink)}.wide{width:100%}.back-btn{padding:9px 12px;background:#fff;border:1px solid var(--line)}
.content{padding:20px}.screen{display:none;animation:fade .18s ease}.screen.active{display:block}@keyframes fade{from{opacity:.3;transform:translateY(3px)}to{opacity:1;transform:none}}
.hero-card{position:relative;overflow:hidden;background:linear-gradient(132deg,#f4f9ff 0%,#fff 47%,#fff1f8 100%);border:1px solid rgba(216,226,243,.9);padding:24px;border-radius:26px;box-shadow:var(--shadow);display:flex;gap:22px;justify-content:space-between;align-items:flex-start}.hero-card:after{content:"";position:absolute;width:190px;height:190px;border-radius:50%;right:-75px;bottom:-108px;background:linear-gradient(135deg,rgba(22,114,223,.12),rgba(239,78,150,.17))}.hero-card h1,.screen-title h1{margin:.15rem 0 .45rem;font-size:clamp(29px,6vw,42px);line-height:1.04;letter-spacing:-.025em}.hero-card p{margin:.35rem 0;max-width:470px}.wave{font-size:.7em}.hero-side{display:grid;justify-items:end;gap:12px;position:relative;z-index:1}.eyebrow{margin:0;color:var(--blue-deep);font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.goal-chip,.badge{white-space:nowrap;border-radius:999px;padding:7px 11px;background:white;border:1px solid var(--line);font-size:11px;font-weight:800}.mini-progress{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;align-content:center;background:conic-gradient(var(--blue) 0 32%,#e9edf5 32% 100%);position:relative}.mini-progress:before{content:"";position:absolute;inset:8px;border-radius:50%;background:white}.mini-progress span,.mini-progress small{position:relative;z-index:1}.mini-progress span{font-size:19px;font-weight:900}.mini-progress small{color:var(--muted);font-size:10px}
.section-head{display:flex;justify-content:space-between;align-items:end;margin:25px 2px 11px}.section-head.compact{margin:0 0 10px;align-items:center}.section-head h2,.form-card h2{margin:0;font-size:19px}.muted,.microcopy{color:var(--muted)}.microcopy{font-size:12px;line-height:1.5}
.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.metric{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px;box-shadow:var(--shadow-soft)}.metric:nth-child(1){background:linear-gradient(180deg,#fff,#edf6ff)}.metric:nth-child(2){background:linear-gradient(180deg,#fff,#fff0f7)}.metric:nth-child(3){background:linear-gradient(180deg,#fff,#f3efff)}.metric:nth-child(4){background:linear-gradient(180deg,#fff,#eefaf7)}.metric span,.metric small{display:block;color:var(--muted);font-size:11px}.metric strong{display:block;font-size:25px;margin:4px 0;letter-spacing:-.02em}
.insight-card{margin-top:15px;background:linear-gradient(120deg,var(--blue-deep),var(--purple) 55%,var(--pink));color:#fff;border:0;border-radius:22px;padding:19px;box-shadow:0 13px 28px rgba(81,76,194,.22)}.insight-card .muted,.insight-card .microcopy{color:rgba(255,255,255,.78)}.insight-card .badge{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.28);color:#fff}.insight-card .primary{background:#fff;color:var(--blue-deep);box-shadow:none}.risk-row{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:18px}.risk-level{font-weight:900;margin-top:3px}
.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:15px}.quick-card{border:1px solid var(--line);background:#fff;border-radius:20px;text-align:left;padding:18px;box-shadow:var(--shadow-soft);transition:.18s ease}.quick-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.quick-card.accent{background:linear-gradient(135deg,#eef6ff,#fff1f8);border-color:#dce8f8}.quick-card strong,.quick-card small{display:block}.quick-card small{color:var(--muted);margin-top:4px;line-height:1.35}.quick-icon{font-size:22px;font-weight:900;color:var(--pink)}
.screen-title{display:flex;align-items:flex-start;gap:12px;margin:9px 0 18px}.screen-title p{margin:.35rem 0;color:var(--muted)}.form-stack{display:grid;gap:14px}.form-card,.result-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:19px;box-shadow:var(--shadow-soft)}fieldset{margin:0}legend{font-size:16px;font-weight:900;padding:0 6px}label{display:grid;gap:7px;font-weight:700;font-size:14px;margin-top:15px}select,input[type="number"],input[type="date"],input[type="datetime-local"]{width:100%;border:1px solid #dce3ef;background:#fbfdff;border-radius:13px;padding:13px;color:var(--ink);outline:none}select:focus,input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(22,114,223,.09)}input[type="range"]{width:100%;accent-color:var(--pink)}.range-row{display:grid;grid-template-columns:20px 1fr 24px;align-items:center;gap:8px;color:var(--muted);font-weight:700}.choice-card{grid-template-columns:24px 1fr;align-items:start;border:1px solid var(--line);border-radius:15px;padding:13px}.choice-card:has(input:checked){border-color:var(--blue);background:var(--blue-soft)}.choice-card small{display:block;color:var(--muted);font-weight:500;margin-top:3px}.summary-list{display:grid;gap:8px}.summary-list>div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:8px 0;gap:15px}.button-stack{display:grid;gap:10px}.success-mark{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#eaf6ff,#fff0f7);color:var(--blue-deep);font-size:26px;font-weight:900}
.chip-group{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.chip{border:1px solid #dce3ef;background:#f9fbfe;border-radius:999px;padding:9px 12px;font-size:13px}.chip.selected{border-color:var(--blue);background:linear-gradient(100deg,var(--blue),var(--purple));color:#fff;font-weight:800}.support-step{display:none}.support-step.active{display:block}.big-range-value{text-align:center;font-size:60px;font-weight:900;margin:14px 0;background:linear-gradient(90deg,var(--blue),var(--pink));-webkit-background-clip:text;color:transparent}.big-range-value small{font-size:20px;color:var(--muted);-webkit-text-fill-color:var(--muted)}.support-list{padding-left:22px;line-height:1.65}.timer{text-align:center;font-size:54px;font-weight:900;letter-spacing:.05em;margin:18px 0;color:var(--blue-deep)}
.milestones{display:grid;gap:12px;margin-top:12px}.milestones div{display:flex;align-items:center;gap:12px}.milestones span{width:28px;height:28px;border:2px solid #d9deea;border-radius:50%;display:grid;place-items:center}.milestones .done span{background:linear-gradient(135deg,var(--blue),var(--pink));color:white;border:0}

.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(800px,100%);z-index:30;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:8px 10px calc(8px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(5,1fr);box-shadow:0 -8px 24px rgba(30,55,100,.05)}.nav-item{border:0;background:transparent;color:#7c8598;display:grid;place-items:center;gap:2px;padding:7px 3px;border-radius:12px}.nav-item span{font-size:20px;font-weight:900}.nav-item small{font-size:10px;font-weight:800}.nav-item.active{color:var(--blue)}.support-nav span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue),var(--pink));color:white;box-shadow:0 7px 16px rgba(78,85,205,.25)}
@media(max-width:650px){.product-lockup{display:none}.brand-logo{width:145px}.metric-grid{grid-template-columns:1fr 1fr}.quick-grid{grid-template-columns:1fr}.hero-card{display:block}.hero-side{display:flex;align-items:center;justify-content:space-between;margin-top:14px}.mini-progress{width:76px;height:76px}.risk-row{align-items:flex-start;flex-direction:column}}
@media(max-width:390px){.content{padding:14px}.topbar{padding:10px 13px}.brand-logo{width:132px}.hero-card{padding:19px}.metric strong{font-size:22px}}

.savings-card{margin-top:14px;display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;background:linear-gradient(125deg,#edf5ff 0%,#fff 48%,#fff0f7 100%);border:1px solid rgba(61,103,232,.15);border-radius:24px;padding:18px;box-shadow:var(--shadow);position:relative;overflow:hidden}.savings-card:after{content:"";position:absolute;width:150px;height:150px;border-radius:50%;right:-65px;top:-80px;background:linear-gradient(135deg,rgba(36,103,232,.10),rgba(239,78,165,.14));pointer-events:none}.savings-icon{width:52px;height:52px;border-radius:17px;display:grid;place-items:center;font-size:24px;font-weight:950;color:#fff;background:linear-gradient(135deg,var(--blue),var(--pink));box-shadow:0 10px 24px rgba(50,80,210,.20)}.savings-copy h2{margin:2px 0 5px;font-size:19px}.savings-copy>p:not(.eyebrow){margin:0;color:var(--muted);font-size:13px;line-height:1.45}.savings-stats{display:flex;gap:24px;margin-top:13px}.savings-stats div{display:grid}.savings-stats small,.savings-stats span{color:var(--muted);font-size:10px}.savings-stats strong{font-size:22px;margin:2px 0;color:#17336f}.savings-edit{position:relative;z-index:1;white-space:nowrap}.spend-box{margin-top:16px;padding:14px;border-radius:16px;background:linear-gradient(135deg,#f0f6ff,#fff3f9);border:1px solid #e2e7f3}.spend-box p{margin:0}.spend-box small{color:var(--muted)}.spend-row{display:grid;grid-template-columns:130px 1fr;gap:10px}.spend-row label{margin-top:12px}.finance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.finance-grid>div{padding:14px;border-radius:16px;background:linear-gradient(135deg,#f3f7ff,#fff4f9);border:1px solid var(--line)}.finance-grid small{display:block;color:var(--muted);font-size:11px}.finance-grid strong{display:block;font-size:24px;margin-top:3px;color:#17336f}@media(max-width:560px){.savings-card{grid-template-columns:auto 1fr}.savings-edit{grid-column:1/-1;width:100%}.savings-stats{gap:14px;justify-content:space-between}.spend-row{grid-template-columns:1fr}.finance-grid{grid-template-columns:1fr 1fr}.finance-grid>div:last-child{grid-column:1/-1}}

.legal-footer{margin:18px 18px 26px;padding:20px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 6px 18px rgba(30,50,100,.05);font-size:12px;line-height:1.55;color:var(--muted)}
.legal-footer strong{display:block;color:var(--ink);font-size:13px;margin-bottom:6px}
.legal-footer p{margin:4px 0}
.legal-footer a{color:var(--blue);font-weight:800;text-decoration:none}
.legal-footer .medical-disclaimer{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);font-weight:700;color:var(--ink)}

/* Accessibility enhancements — v3.6 */
.skip-link{position:fixed;left:12px;top:8px;z-index:1000;background:#fff;color:#0b3f87;border:2px solid #0b3f87;border-radius:10px;padding:10px 14px;font-weight:900;transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
:where(button,a,input,select):focus-visible{outline:3px solid #111827;outline-offset:3px}
.primary:focus-visible,.insight-card .primary:focus-visible,.support-nav:focus-visible{outline:3px solid #111827;outline-offset:3px}
button,.chip,.nav-item,.back-btn,.icon-btn{min-height:44px}
.legal-footer a{text-decoration:underline;text-underline-offset:2px}
.chip[aria-pressed="true"]::before{content:"✓ ";font-weight:950}
.setting-row{display:flex;grid-template-columns:none;align-items:center;justify-content:space-between;gap:18px;margin-top:14px;padding:12px 0;border-top:1px solid var(--line);cursor:pointer}
.setting-row span{display:grid;gap:3px}.setting-row small{color:var(--muted);font-weight:500;line-height:1.4}.setting-row input{width:24px;height:24px;flex:0 0 auto;accent-color:var(--blue)}
.accessibility-card{margin-top:14px}.accessibility-card>p{line-height:1.55}
html.large-text{font-size:112.5%}html.large-text .nav-item small{font-size:11px}html.large-text .metric span,html.large-text .metric small{font-size:12px}
html.high-contrast{--ink:#0a0f1c;--muted:#3f4859;--line:#9aa6b8;--blue:#075db8;--blue-deep:#034a96;--pink:#b91564;--purple:#5a35a6;--bg:#fff}
html.high-contrast body{background:#fff}html.high-contrast .metric,html.high-contrast .form-card,html.high-contrast .result-card,html.high-contrast .quick-card,html.high-contrast .legal-footer{border-width:2px}
html.high-contrast .chip.selected,html.high-contrast .chip[aria-pressed="true"]{background:#111827;color:#fff;border-color:#111827}
html.high-contrast .nav-item.active{color:#034a96;text-decoration:underline;text-underline-offset:3px}
html.reduce-motion *,html.reduce-motion *::before,html.reduce-motion *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media(max-width:420px){html.large-text .savings-stats{display:grid;grid-template-columns:1fr}.bottom-nav{gap:2px}.nav-item{padding-inline:1px}}

/* HIHI review enhancements — v3.7 */
.prototype-note{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);line-height:1.55}
.prototype-note strong{display:inline;color:var(--blue-deep);font-size:12px}
