.page-intro{max-width:48rem;margin-bottom:1.5rem;padding-left:1rem;position:relative}.page-intro:before{background:linear-gradient(var(--amber) 0 2.7rem, var(--navy) 2.7rem 100%);content:"";width:3px;position:absolute;top:.15rem;bottom:.2rem;left:0}.eyebrow,.step{color:var(--teal);letter-spacing:.095em;text-transform:uppercase;margin:0 0 .35rem;font-size:.75rem;font-weight:800}.page-intro>p:last-child,.section-heading>p,.advanced-content>p,.prose-section>p{color:var(--muted)}.page-intro>p:last-child{max-width:43rem;margin-bottom:0;font-size:1.1rem}.calculator-layout{gap:1rem;display:grid}.panel,.content-section{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow-card)}.inputs-panel{border-top:4px solid var(--navy)}.inputs-panel,.content-section{padding:1.25rem}.section-heading{flex-direction:column;gap:.25rem;margin-bottom:1rem;display:flex}.section-heading h2,.section-heading p{margin-bottom:0}.section-heading>p{font-size:.9rem}.input-grid{gap:1rem;display:grid}.field{color:var(--navy-deep);gap:.4rem;font-size:.88rem;font-weight:700;display:grid}.input-shell{background:var(--white);min-height:3rem;color:var(--muted);border:1px solid #bac7cc;border-radius:.55rem;align-items:center;font-weight:600;transition:border-color .12s,box-shadow .12s;display:flex;overflow:hidden}.input-shell:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px #167c732e}.input-shell>span{white-space:nowrap;padding-inline:.8rem}.input-shell.prefix>span:first-child{padding-right:0}.input-shell.suffix>span:last-child{padding-left:0}.input-shell input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;padding:.72rem .8rem;font-weight:700}input[aria-invalid=true]{color:var(--danger)}.input-shell:has(input[aria-invalid=true]){border-color:var(--danger);box-shadow:0 0 0 3px #a42a2a1f}.assumption-note{border-left:3px solid var(--amber);color:var(--muted);margin:1rem 0 0;padding-left:.8rem;font-size:.82rem}.result-card{contain:paint;border:1px solid var(--navy-3);border-top:4px solid var(--yellow);border-radius:var(--radius);background-color:var(--navy);color:var(--white);box-shadow:var(--shadow-result);background-image:linear-gradient(#ffffff0a 1px,#0000 1px),linear-gradient(90deg,#ffffff0a 1px,#0000 1px),linear-gradient(135deg,#0000 55%,#1f4a7352);background-size:24px 24px,24px 24px,auto;padding:1.5rem;position:relative;overflow:hidden}.result-card:before{content:"";opacity:.65;background:repeating-linear-gradient(#f2b632b8 0 1px,#0000 1px 8px);width:.45rem;height:3.2rem;position:absolute;top:1.15rem;right:.9rem}.result-card:after{background:repeating-linear-gradient(90deg, var(--amber) 0 2px, transparent 2px 9px);content:"";opacity:.45;pointer-events:none;width:8rem;height:1px;position:absolute;bottom:1rem;right:-1.5rem;transform:rotate(-8deg)}.result-card .step{color:#8ed9d1}.result-statement,.validation-summary h2{z-index:1;max-width:33rem;color:var(--white);font-size:clamp(1.55rem,6vw,2.35rem);line-height:1.2;position:relative}.result-statement strong,.secondary-result strong{color:var(--amber);font-family:var(--font-number);font-variant-numeric:tabular-nums;letter-spacing:-.045em}.validation-summary ul{margin:0;padding-left:1.25rem}.validation-summary a{color:#ffd394}.advanced-panel{margin-top:1rem}.advanced-panel>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:1.15rem 1.25rem;list-style:none;display:flex}.advanced-panel>summary::-webkit-details-marker{display:none}.advanced-panel>summary:focus-visible,.faq-section summary:focus-visible{outline:3px solid var(--amber);outline-offset:3px}.advanced-panel .step{display:block}.summary-action{color:var(--teal);font-size:.88rem;font-weight:800}.advanced-panel[open] .summary-action{font-size:0}.advanced-panel[open] .summary-action:after{content:"Hide fields";font-size:.88rem}.advanced-content{border-top:1px solid var(--line);padding:1.25rem}.content-section{margin-top:1rem;position:relative}.content-section:before{background:var(--teal);content:"";width:4rem;height:2px;position:absolute;top:-1px;left:1.25rem}.breakdown-grid{margin:0;display:grid}.breakdown-grid>div{border-top:1px solid var(--line);justify-content:space-between;gap:1rem;padding-block:.8rem;display:flex}.breakdown-grid dt{color:var(--muted)}.breakdown-grid dd{color:var(--navy-deep);font-family:var(--font-number);font-variant-numeric:tabular-nums;text-align:right;margin:0;font-weight:800}.breakdown-grid .emphasis-row{border-top-color:var(--navy)}.breakdown-grid .emphasis-row dt,.breakdown-grid .emphasis-row dd{color:var(--navy-deep);font-weight:800}.prose-section,.faq-section,.related-calculators,.recommendation-section{max-width:54rem}.formula-list{border-left:3px solid var(--teal);margin-block:1.25rem;padding-left:1rem}.formula-list p{margin-bottom:.5rem}.disclaimer{background:var(--cream);border-radius:.6rem;padding:1rem;font-size:.9rem}.faq-section details{border-top:1px solid var(--line);padding-block:.9rem}.faq-section summary{cursor:pointer;min-height:2.75rem;color:var(--navy-deep);align-items:center;font-weight:750;display:flex}.faq-section details p{color:var(--muted);margin:.75rem 0 0}.related-calculators ul{gap:1rem;margin:1.25rem 0 0;padding:0;list-style:none;display:grid}.related-calculators li{border-top:1px solid var(--line);padding-top:.9rem}.related-calculators a{color:var(--navy-deep);font-weight:750}.related-calculators li p,.recommendation-section>p:not(.step){color:var(--muted);margin:.35rem 0 0}.selector-fieldset,.mode-fieldset{border:0;margin:0 0 1rem;padding:0}.selector-fieldset legend,.mode-fieldset legend{color:var(--navy-deep);margin-bottom:.4rem;font-size:.88rem;font-weight:750}.segmented-control,.mode-toggle{border:1px solid var(--line);background:#e8edef;border-radius:.65rem;gap:.3rem;padding:.25rem;display:grid}.segmented-control label,.mode-toggle label{cursor:pointer;position:relative}.segmented-control input,.mode-toggle input{z-index:1;opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.segmented-control span,.mode-toggle span{color:var(--muted);text-align:center;border-radius:.45rem;padding:.7rem .75rem;font-weight:750;display:block}.segmented-control input:checked+span,.mode-toggle input:checked+span{background:var(--card);color:var(--navy-deep);box-shadow:0 1px 4px #071f2d1f}.segmented-control input:checked+span{box-shadow:inset 0 -3px var(--amber), 0 1px 4px #071f2d1f}.segmented-control input:focus-visible+span,.mode-toggle input:focus-visible+span{outline:3px solid var(--amber);outline-offset:2px}.result-card [data-output],.primary-periods dd,.recovery-value strong,.side-card dd,.variance-grid dd,.summary-row>span{font-family:var(--font-number);font-variant-numeric:tabular-nums}.result-card .step{letter-spacing:.12em}.result-card .result-label{z-index:1;color:#d7e3e7;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .35rem;font-size:.78rem;font-weight:800;position:relative}.result-metrics{z-index:1;gap:.55rem;margin:1.2rem 0 0;display:grid;position:relative}.result-metrics>div{border-top:1px solid #fff3;justify-content:space-between;gap:1rem;padding-top:.65rem;display:flex}.result-metrics dt{color:#cbd9df}.result-metrics dd{font-family:var(--font-number);text-align:right;margin:0;font-weight:800}@media (width<=41.999rem){.input-shell,.input-shell input{font-size:1rem}.result-card{background-size:32px 32px;padding:1.25rem}.result-card:after{display:none}}@media (width>=42rem){.inputs-panel,.content-section{padding:1.75rem}.input-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wide-heading{flex-direction:row;justify-content:space-between;align-items:end}.breakdown-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:2rem}}@media (width>=62rem){.page-intro{margin-bottom:1rem}.calculator-layout{grid-template-columns:minmax(0,1.35fr) minmax(20rem,.65fr);align-items:start}.inputs-panel{padding:1.25rem 1.5rem}.inputs-panel .section-heading{margin-bottom:.75rem}.inputs-panel .input-grid{gap:.75rem 1rem}.inputs-panel .assumption-note,.advanced-panel,.content-section{margin-top:.75rem}.result-card{min-height:21rem;padding:2rem;position:sticky;top:1rem}.advanced-grid,.advanced-content .input-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
