:root{--paper:oklch(97% .012 75);--paper-2:oklch(94% .015 70);--paper-3:oklch(91% .018 68);--ink:oklch(20% .015 60);--ink-2:oklch(38% .018 60);--ink-3:oklch(55% .02 60);--rule:oklch(85% .02 65);--rule-soft:oklch(90% .016 68);--terracotta:oklch(58% .13 40);--terracotta-deep:oklch(46% .13 38);--terracotta-soft:oklch(84% .06 40);--olive:oklch(55% .06 110);--olive-soft:oklch(86% .04 110);--clay:oklch(35% .05 45);--rust:oklch(50% .14 35);--gold:oklch(72% .1 80);--shadow:0 1px 0 oklch(85% .02 65/.5), 0 12px 40px -12px oklch(30% .04 50/.18)}*,:before,:after{box-sizing:border-box}html,body,#root{width:100%;height:100%;min-height:100%;margin:0;padding:0}body{background:var(--paper-2);-webkit-font-smoothing:antialiased}input[type=range]{appearance:none;background:0 0}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none}.editorial{color:var(--ink);background:var(--paper);font-feature-settings:"ss01", "lnum";font-family:Newsreader,Instrument Serif,Georgia,serif}.editorial .sans{font-family:Geist,system-ui,sans-serif}.editorial .mono{font-family:Geist Mono,ui-monospace,monospace}.fintech{color:var(--ink);background:var(--paper);font-feature-settings:"ss01", "tnum";font-family:Geist,system-ui,sans-serif}.fintech .mono{font-family:Geist Mono,ui-monospace,monospace}.fintech .serif{font-family:Instrument Serif,Georgia,serif}.tabnum{font-variant-numeric:tabular-nums}.upper{text-transform:uppercase;letter-spacing:.08em}.sans{font-family:Geist,system-ui,sans-serif}.mono{font-family:Geist Mono,ui-monospace,monospace}.hairline{border:1px solid var(--rule)}.hairline-b{border-bottom:1px solid var(--rule)}.hairline-t{border-top:1px solid var(--rule)}.hairline-r{border-right:1px solid var(--rule)}summary::-webkit-details-marker{display:none}summary::marker{display:none}.details-chevron{transition:transform .15s;display:block}details[open] .details-chevron{transform:rotate(180deg)}.chip{background:var(--paper-2);border:1px solid var(--rule);color:var(--ink-2);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:inline-flex}.dot{border-radius:50%;width:8px;height:8px;display:inline-block}.desktop-scroll-wrapper{min-height:100vh;overflow-x:hidden}.mobile-wrapper{flex-direction:column;height:100dvh;min-height:0;display:flex;overflow:hidden}.mobile-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;min-height:0;padding:0 14px;overflow-y:auto}@media print{.no-print{display:none!important}}@keyframes input-col-pulse{0%{box-shadow:0 0 oklch(58% .13 40/.3)}55%{box-shadow:0 0 0 10px oklch(58% .13 40/0)}to{box-shadow:0 0 oklch(58% .13 40/0)}}.input-col-focused{animation:1.6s .3s 2 input-col-pulse}.intro-modal-overlay{z-index:9999;background:var(--paper);justify-content:center;align-items:flex-start;padding:clamp(16px,5vw,48px);display:flex;position:fixed;inset:0;overflow-y:auto}.intro-modal-panel{width:min(100%,1120px);color:var(--ink);grid-template-columns:minmax(0,1fr);gap:clamp(20px,4vw,34px);margin:auto;padding:clamp(28px,5vw,48px);display:grid}.intro-modal-copy{max-width:640px}.intro-modal-eyebrow{color:var(--ink-3);letter-spacing:.14em;margin-bottom:8px;font-size:clamp(11px,1.5vw,13px);font-weight:600}.intro-modal-heading{margin-bottom:clamp(16px,3vw,22px)}.intro-modal-title{color:var(--rust);letter-spacing:0;margin:0;font-family:Newsreader,serif;font-size:clamp(38px,8vw,58px);font-weight:400;line-height:1.02}.intro-modal-subtitle{color:var(--ink-2);margin-top:4px;font-family:Newsreader,serif;font-size:clamp(18px,4vw,26px);line-height:1.1;display:block}.intro-modal-body{color:var(--ink-2);margin:0 0 clamp(14px,2.4vw,18px);font-family:Geist,system-ui,sans-serif;font-size:clamp(15px,2.3vw,18px);line-height:1.55}.intro-modal-body:last-child{margin-bottom:0}.intro-modal-preview{border:1px dashed var(--rule);background:var(--paper-2);border-radius:8px;align-items:center;gap:clamp(16px,4vw,22px);padding:clamp(16px,4vw,24px);display:grid}.intro-modal-ring-wrap{justify-content:center;display:flex}.intro-modal-ring{width:clamp(130px,36vw,176px);height:auto}.intro-modal-chart-area{flex-direction:column;gap:6px;width:100%;min-width:0;display:flex}.intro-modal-chart-legend{flex-wrap:wrap;gap:6px 14px;padding:0 2px;display:flex}.intro-chart-legend-item{letter-spacing:.04em;color:var(--ink-3);align-items:center;gap:5px;font-family:Geist Mono,monospace;font-size:10px;display:flex}.intro-chart-swatch{border-radius:2px;flex-shrink:0;width:22px;height:8px;display:inline-block}.intro-chart-swatch--band1{background:var(--terracotta-soft);opacity:.7}.intro-chart-swatch--band2{background:var(--olive-soft);opacity:.9}.intro-chart-swatch--median{background:var(--rust);border-radius:1px;height:2px}.intro-modal-chart{pointer-events:none;width:100%;min-width:0}.intro-modal-chart svg{width:100%;height:clamp(190px,45vw,260px)}.intro-modal-features{border:1px solid var(--rule);background:var(--rule);border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.intro-feature-item{background:var(--paper-2);padding:clamp(12px,2vw,18px) clamp(14px,2vw,20px)}.intro-feature-title{color:var(--ink);margin-bottom:4px;font-family:Geist,system-ui,sans-serif;font-size:clamp(12px,1.2vw,14px);font-weight:600;line-height:1.3}.intro-feature-body{color:var(--ink-3);font-family:Geist,system-ui,sans-serif;font-size:clamp(11px,1.1vw,13px);line-height:1.45}.intro-modal-retirement-card{border:1px solid var(--rule);background:var(--paper-2);border-radius:8px;padding:clamp(18px,3vw,28px)}.intro-retirement-heading{color:var(--rust);margin:0 0 8px;font-family:Newsreader,serif;font-size:clamp(20px,2.2vw,26px);font-weight:400;line-height:1.15}.intro-retirement-body{color:var(--ink-2);max-width:560px;margin:0 0 10px;font-family:Geist,system-ui,sans-serif;font-size:clamp(13px,1.3vw,15px);line-height:1.5}.intro-retirement-cta{color:var(--ink);margin:0;font-family:Geist,system-ui,sans-serif;font-size:clamp(13px,1.3vw,15px);font-weight:600}.intro-modal-footnote{border-top:1px solid var(--rule);flex-direction:column;gap:4px;margin:0;padding:12px 0 0 16px;display:flex}.intro-modal-footnote li{letter-spacing:.03em;color:var(--ink-3);font-family:Geist Mono,monospace;font-size:10px;line-height:1.5}.intro-modal-action{width:100%;display:flex}.intro-modal-button{letter-spacing:0;text-align:center;cursor:pointer;border-radius:8px;min-height:48px;padding:14px 18px;font-family:Geist,system-ui,sans-serif;font-size:clamp(15px,2.3vw,17px);font-weight:500;transition:background-color .16s,border-color .16s,color .16s,transform .16s}.intro-modal-button:hover{transform:translateY(-1px)}.intro-modal-button-primary{border:1px solid var(--ink);background:var(--ink);color:var(--paper)}.intro-modal-button-primary:hover{background:var(--clay);border-color:var(--clay)}.intro-modal-button-secondary{border:1px solid var(--rule);background:var(--paper-2);color:var(--ink-3)}.intro-modal-button-secondary:hover{border-color:var(--ink-3);background:var(--paper-3);color:var(--ink-2)}@media (width<=899px){.intro-modal-overlay{align-items:flex-start;padding:12px 12px 32px;overflow-y:auto}.intro-modal-panel{gap:12px;width:100%;margin:0 auto;padding:16px}.intro-modal-copy{order:1}.intro-modal-action-primary{order:3}.intro-modal-preview{order:2}.intro-modal-action-secondary{order:4}.intro-modal-features{order:5}.intro-modal-retirement-card{order:6}.intro-modal-footnote{order:7}.intro-modal-heading{margin-bottom:10px}.intro-modal-title{font-size:clamp(34px,11vw,48px)}.intro-modal-subtitle{font-size:clamp(17px,5.5vw,22px)}.intro-modal-body{margin-bottom:8px;font-size:clamp(14px,4vw,15px);line-height:1.4}.intro-modal-eyebrow{margin-bottom:4px}.intro-modal-preview{gap:6px;padding:10px}.intro-modal-ring-wrap{display:none}.intro-modal-chart-legend{gap:4px 10px}.intro-chart-legend-item{font-size:9px}.intro-modal-chart svg{height:clamp(100px,26dvh,140px)}.intro-modal-button{width:100%;min-height:44px;padding:11px 14px;font-size:15px}.intro-modal-features{grid-template-columns:repeat(2,minmax(0,1fr))}.intro-feature-title{font-size:13px}.intro-feature-body{font-size:12px}.intro-retirement-heading{font-size:clamp(18px,5.5vw,22px)}.intro-modal-features,.intro-modal-retirement-card{display:none}}@media (width>=820px){.intro-modal-panel{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:16px clamp(16px,3vw,28px)}.intro-modal-copy{max-width:none;min-height:0}.intro-modal-title{font-size:clamp(58px,6vw,76px)}.intro-modal-subtitle{font-size:clamp(25px,2.7vw,32px)}.intro-modal-body{font-size:clamp(17px,1.55vw,20px)}.intro-modal-ring{width:clamp(168px,16vw,208px)}.intro-modal-button{width:100%;min-width:0;min-height:54px;padding-left:clamp(16px,2vw,24px);padding-right:clamp(16px,2vw,24px)}.intro-modal-preview{grid-template-columns:auto 1fr;min-height:100%}.intro-modal-action-primary{grid-column:1}.intro-modal-action-secondary{grid-column:2}.intro-modal-features,.intro-modal-retirement-card,.intro-modal-footnote{grid-column:1/-1}}
