body{display:flex;min-height:100vh;flex-direction:column}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.main{flex:1;padding:58px 0 78px}.intro{max-width:850px;margin:0 auto 34px;text-align:center}.intro h1{margin:18px auto 14px;font-size:clamp(2.65rem,7vw,4.8rem)}.breadcrumbs{margin-bottom:18px;color:var(--muted);font-size:.82rem}.breadcrumbs a{color:var(--primary);font-weight:750}.breadcrumbs span{margin:0 7px}.privacy-note{display:inline-flex;align-items:center;gap:7px;margin-top:17px;color:#087b6c;font-size:.8rem;font-weight:750}.privacy-note svg{width:15px;height:15px}.calculator{max-width:1110px;margin:auto}.calc-shell{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:30px;background:rgba(255,255,255,.92);box-shadow:var(--shadow)}.calc-shell:before,.calc-shell:after{position:absolute;border-radius:50%;content:"";pointer-events:none}.calc-shell:before{width:340px;height:340px;top:-235px;right:-115px;background:rgba(0,194,168,.14)}.calc-shell:after{width:260px;height:260px;bottom:-205px;left:38%;background:rgba(108,92,231,.09)}.workspace{display:grid;grid-template-columns:390px 1fr;position:relative;z-index:1}.inputs{padding:31px;border-right:1px solid var(--border);background:rgba(250,250,255,.8)}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:25px}.panel-heading h2{margin:0 0 5px;font-size:1.22rem}.panel-heading p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.5}.saved{display:flex;align-items:center;gap:5px;flex:0 0 auto;margin-top:3px;color:#087b6c;font-size:.71rem;font-weight:800;opacity:0;transition:.2s}.saved.show{opacity:1}.saved-dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}.fields{display:grid;gap:17px}.field{display:grid;gap:7px;min-width:0}.field label,.field legend{display:flex;justify-content:space-between;gap:8px;color:#393b52;font-size:.8rem;font-weight:800}.field-hint,.help{color:var(--muted);font-weight:600}.help{font-size:.69rem;line-height:1.45}.label-link{color:var(--primary);font-size:.71rem;font-weight:750}.input-wrap{display:flex;align-items:center;min-width:0;border:1px solid rgba(31,34,62,.14);border-radius:13px;background:#fff;overflow:hidden;transition:.2s}.input-wrap:focus-within{border-color:var(--primary);box-shadow:0 0 0 4px rgba(108,92,231,.1)}.prefix{flex:0 0 auto;padding-left:13px;color:var(--muted);font-size:.82rem;font-weight:800}.input-wrap input,.input-wrap select{min-width:0;width:100%;height:49px;padding:0 12px;border:0;outline:0;color:var(--text);background:transparent;font-weight:750}.input-wrap .with-prefix{padding-left:7px}.input-wrap select{cursor:pointer}.target-field{padding:0;border:0;margin:2px 0 0}.target-field legend{width:100%;margin-bottom:9px}.preset-row{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.preset{min-height:38px;padding:7px;border:1px solid var(--border);border-radius:10px;color:var(--muted);background:#fff;font-size:.71rem;font-weight:800;transition:.18s}.preset:hover{border-color:rgba(108,92,231,.35);color:var(--primary)}.preset.active{border-color:rgba(108,92,231,.25);color:var(--primary);background:rgba(108,92,231,.09);box-shadow:inset 0 0 0 1px rgba(108,92,231,.04)}.range-row{display:flex;align-items:center;gap:12px;margin-top:8px}.range-row input[type=range]{width:100%;height:auto;padding:0;accent-color:var(--primary)}.range-value{min-width:82px;padding:8px 9px;border-radius:10px;color:var(--primary);background:rgba(108,92,231,.08);text-align:center;font-size:.74rem;font-weight:850}.error{min-height:18px;margin:12px 0 0;color:#a43a51;font-size:.78rem;font-weight:700}.input-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:15px;padding-top:18px;border-top:1px solid var(--border)}.clear-btn{padding:0;border:0;color:var(--muted);background:none;font-size:.77rem;font-weight:750}.clear-btn:hover{color:#a43a51}.local-copy{color:var(--muted);font-size:.69rem;text-align:right}.results{min-width:0;padding:31px 33px 33px}.result-top{display:flex;align-items:center;justify-content:space-between;gap:22px}.result-copy{min-width:0}.result-label,.mini-label{color:var(--muted);font-size:.71rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase}.result-value{margin:8px 0 7px;color:var(--primary);font-size:clamp(2.7rem,6vw,4.4rem);font-weight:900;letter-spacing:-.06em;line-height:1;overflow-wrap:anywhere}.result-value.pop{animation:pop .3s ease}.result-sub{margin:0;color:var(--muted);font-size:.88rem;line-height:1.5}.goal-ring{position:relative;display:grid;place-items:center;flex:0 0 auto;width:122px;height:122px}.goal-ring svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}.goal-ring circle{fill:none;stroke-width:9}.ring-track{stroke:#ecebf5}.ring-progress{stroke:url(#ringGradient);stroke-linecap:round;transition:stroke-dashoffset .65s cubic-bezier(.22,1,.36,1)}.ring-copy{position:relative;text-align:center}.ring-copy strong{display:block;font-size:1.25rem;letter-spacing:-.04em}.ring-copy span{color:var(--muted);font-size:.66rem;font-weight:750}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-top:24px}.summary{min-width:0;padding:15px;border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.78)}.summary span,.summary strong{display:block}.summary span{margin-bottom:7px;color:var(--muted);font-size:.7rem;font-weight:750}.summary strong{font-size:1.02rem;letter-spacing:-.025em;overflow-wrap:anywhere}.summary.target strong{color:#087b6c}.insight{display:flex;align-items:center;gap:12px;margin-top:14px;padding:14px 16px;border-radius:16px;color:#45455f;background:linear-gradient(110deg,rgba(108,92,231,.09),rgba(0,194,168,.08));font-size:.79rem;line-height:1.5}.insight-icon{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border-radius:11px;color:var(--primary);background:#fff;font-size:1rem;box-shadow:0 6px 15px rgba(53,49,110,.08)}.insight strong{color:var(--text)}.runway-card{margin-top:19px;padding:19px;border:1px solid var(--border);border-radius:19px;background:#fff}.runway-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.runway-head h3{margin:5px 0 0;font-size:1rem}.status-pill{padding:7px 10px;border-radius:99px;color:#6b5b00;background:#fff4c8;font-size:.68rem;font-weight:850}.status-pill.strong{color:#087b6c;background:#dff8f3}.status-pill.start{color:#a43a51;background:#ffe9ee}.month-track{display:grid;grid-template-columns:repeat(12,1fr);gap:6px;margin-top:22px}.month-block{position:relative;height:72px;overflow:hidden;border:1px solid #e9e8f1;border-radius:9px;background:#f4f3f8}.month-fill{position:absolute;inset:auto 0 0;height:0;background:linear-gradient(180deg,#8b7df0,#6c5ce7);transition:height .55s cubic-bezier(.22,1,.36,1)}.month-block.target-month{border-color:rgba(0,194,168,.55);box-shadow:0 0 0 2px rgba(0,194,168,.09)}.month-block.target-month:after{position:absolute;top:4px;left:50%;width:4px;height:4px;border-radius:50%;background:var(--accent);content:"";transform:translateX(-50%)}.track-labels{display:grid;grid-template-columns:1fr 1fr 1fr;margin-top:7px;color:var(--muted);font-size:.62rem;font-weight:700}.track-labels span:nth-child(2){text-align:center;color:#087b6c}.track-labels span:last-child{text-align:right}.milestone-note{display:flex;align-items:center;gap:8px;margin-top:15px;padding-top:14px;border-top:1px solid var(--border);color:var(--muted);font-size:.72rem;line-height:1.4}.milestone-dot{flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(0,194,168,.1)}.celebrate{position:absolute;z-index:4;inset:0;overflow:hidden;pointer-events:none}.confetti{position:absolute;top:-12px;width:7px;height:13px;border-radius:2px;animation:fall 1.4s ease-in forwards}.content-section{padding:70px 0;border-block:1px solid rgba(31,34,62,.06);background:rgba(255,255,255,.42)}.faq-section{border-top:0;background:transparent}.content{max-width:900px;margin:auto}.section-kicker{display:block;margin-bottom:10px;color:var(--primary);font-size:.72rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.content h2{margin:0 0 13px;font-size:clamp(1.8rem,4vw,2.5rem)}.content>p,.info-card p,.faq p{color:var(--muted);line-height:1.75}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-top:25px}.info-card{padding:22px;border:1px solid var(--border);border-radius:19px;background:#fff}.info-icon{display:grid;place-items:center;width:38px;height:38px;margin-bottom:16px;border-radius:12px;color:var(--primary);background:rgba(108,92,231,.09);font-weight:900}.info-card h3{margin:0 0 8px;font-size:.98rem}.info-card p{margin:0;font-size:.86rem}.formula-card{margin-top:18px;padding:22px;border:1px solid rgba(108,92,231,.16);border-radius:18px;background:linear-gradient(115deg,rgba(108,92,231,.08),rgba(0,194,168,.07));text-align:center}.formula-label{display:block;margin-bottom:12px;color:var(--muted);font-size:.69rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.formula-card div{display:flex;align-items:center;justify-content:center;gap:13px;flex-wrap:wrap}.formula-card strong{padding:8px 12px;border-radius:10px;background:#fff;font-size:.83rem;box-shadow:0 6px 15px rgba(53,49,110,.06)}.formula-card div>span{color:var(--primary);font-weight:900}.disclaimer{margin-top:22px;padding:14px 16px;border-radius:13px;color:var(--muted);background:rgba(108,92,231,.06);font-size:.78rem;line-height:1.6}.faq{display:grid;gap:11px;margin-top:25px}.faq details{border:1px solid var(--border);border-radius:15px;background:#fff;overflow:hidden}.faq summary{padding:17px 19px;cursor:pointer;font-weight:800}.faq p{margin:0;padding:0 19px 18px}.try-section{padding:70px 0}.try-wrap{max-width:1000px;margin:auto}.try-head{text-align:center}.try-head h2{margin:0 0 10px;font-size:clamp(1.8rem,4vw,2.55rem)}.try-head p{margin:0;color:var(--muted)}.try-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}.try-card{display:flex;align-items:center;gap:14px;padding:20px;border:1px solid var(--border);border-radius:19px;background:rgba(255,255,255,.82);box-shadow:0 10px 30px rgba(53,49,110,.05);transition:.22s}.try-card:hover{transform:translateY(-4px);border-color:rgba(108,92,231,.25);box-shadow:0 17px 38px rgba(53,49,110,.1)}.try-icon{display:grid;place-items:center;flex:0 0 auto;width:45px;height:45px;border-radius:13px;color:var(--primary);background:rgba(108,92,231,.1);font-weight:900}.try-card strong,.try-card span{display:block}.try-card strong{margin-bottom:4px;font-size:.9rem}.try-card span{color:var(--muted);font-size:.75rem}.try-card>.try-icon{color:var(--primary)}@keyframes pop{0%{opacity:.35;transform:translateY(7px) scale(.98)}100%{opacity:1;transform:none}}@keyframes fall{to{transform:translate(var(--drift),430px) rotate(540deg);opacity:0}}@media(max-width:900px){.workspace{grid-template-columns:350px 1fr}.inputs,.results{padding:25px}.summary-grid{grid-template-columns:1fr}.summary{display:flex;align-items:center;justify-content:space-between}.summary span{margin:0}.try-grid,.info-grid{grid-template-columns:1fr 1fr}}@media(max-width:740px){.workspace{grid-template-columns:1fr}.inputs{border-right:0;border-bottom:1px solid var(--border)}.summary-grid{grid-template-columns:repeat(3,1fr)}.summary{display:block}.summary span{margin-bottom:7px}.try-grid{grid-template-columns:1fr}.try-section,.content-section{padding:54px 0}}@media(max-width:540px){.main{padding:41px 0 55px}.calc-shell{border-radius:23px}.inputs,.results{padding:21px}.result-top{align-items:flex-start}.goal-ring{width:96px;height:96px}.result-value{font-size:clamp(2.3rem,12vw,3.2rem)}.summary-grid{grid-template-columns:1fr}.summary{display:flex;align-items:center;justify-content:space-between}.summary span{margin:0}.month-track{gap:3px}.month-block{height:57px;border-radius:6px}.info-grid{grid-template-columns:1fr}.local-copy{max-width:130px}.formula-card div{gap:7px}.formula-card strong{padding:7px 8px;font-size:.72rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
