.calc-app{grid-template-columns:minmax(0,1fr);align-items:start;gap:24px;display:grid}.calc-app>*{min-width:0}.calc-app .calc fieldset{border:0;gap:14px;min-width:0;margin:0 0 18px;padding:0;display:grid}.calc-app .calc legend{font:650 1.2rem/1.2 var(--display);align-items:center;gap:10px;margin-bottom:10px;padding:0;display:flex}.calc-app .calc .step{background:var(--pencil);border:2px solid var(--ink);width:30px;height:30px;font:700 .95rem/1 var(--body);border-radius:50%;place-items:center;display:inline-grid}.calc-app .calc label{flex-direction:column;gap:5px;font-size:.95rem;font-weight:700;display:flex}.calc-app .calc label small{color:var(--muted);font-size:.84rem;font-weight:400;line-height:1.4}.calc-app .calc input:focus,.calc-app .calc select:focus{outline:3px solid var(--ring);outline-offset:2px;box-shadow:0 0 0 5px var(--ring-halo);border-color:var(--ink)}.calc-app .calc .money{display:block;position:relative}.calc-app .calc .money:before{content:"$";color:var(--muted);font-weight:400;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.calc-app .calc .money input{padding-left:26px}.calc-app .calc .bene{border-top:1px dashed var(--rule);margin-bottom:8px;padding-top:12px}.calc-app .calc .bene summary{cursor:pointer;color:var(--accent-ink);font-weight:700}.calc-app .calc .more label{margin-top:10px}.calc-app .calc .bene summary small{color:var(--muted);font-weight:400}.calc-app .calc label.tick{flex-direction:row;align-items:flex-start;gap:10px;font-weight:400}.calc-app .calc label.tick input{width:22px;height:22px;accent-color:var(--accent);flex:none;margin:2px 0 0}.calc-app .calc .actions{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.calc-app .calc button{font:700 1.05rem/1 var(--body);border:2px solid var(--ink);cursor:pointer;border-radius:10px;padding:15px 22px;transition:transform .12s,box-shadow .12s}.calc-app .calc .go{background:var(--accent);color:var(--on-accent);box-shadow:3px 3px 0 var(--ink);flex:1}.calc-app .calc .go:hover{box-shadow:4px 4px 0 var(--ink);transform:translate(-1px,-1px)}.calc-app .calc .share,.calc-app .calc .print{background:var(--field);color:var(--ink)}.calc-app .calc .error{color:var(--accent-ink);background:var(--clay-soft);border-radius:8px;padding:10px 12px;font-size:.95rem}.calc-app .stub{background:repeating-linear-gradient(transparent 0 33px, var(--rule-blue) 33px 34px), var(--card);position:relative;overflow:hidden}.calc-app .stub:before{content:"";background:radial-gradient(circle at 8px -2px, var(--paper) 6px, transparent 6.5px) 0 0 / 16px 10px repeat-x;height:10px;position:absolute;top:0;left:0;right:0}.calc-app .stub .row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.calc-app .stub .amount{font:750 clamp(2.6rem, 1.8rem + 4vw, 4.4rem)/1 var(--display);letter-spacing:-.02em;font-variant-numeric:lining-nums tabular-nums;margin:14px 0 6px}.calc-app .stub .amount small{color:var(--muted);letter-spacing:0;font-size:.32em;font-weight:500}.calc-app .stub.ghost .amount{color:var(--ghost)}.calc-app .stub .tier{font:650 1.05rem/1.2 var(--display);margin:0}.calc-app .stub dl{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px 18px;margin:18px 0 4px;display:grid}.calc-app .stub dt{font:700 .7rem/1.2 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.calc-app .stub dd{font:650 1.1rem/1.25 var(--display);margin:3px 0 0}.calc-app .stub .formula{color:var(--ink-soft);background:var(--paper);border:1px dashed var(--rule);overflow-wrap:anywhere;border-radius:8px;margin:14px 0 0;padding:10px 12px;font-size:.92rem}.calc-app .stub .callout{margin:14px 0 0}.calc-app .stub ul.why{color:var(--ink-soft);margin:12px 0 0;padding-left:18px;font-size:.9rem}.calc-app .stub ul.why li{margin:3px 0}.calc-app .stub .class-badge span{color:var(--ink-soft);font-size:.92rem}.calc-app .stub .class-badge{border:2px solid var(--ink);background:var(--pencil-soft);border-radius:10px;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:6px 0 2px;padding:8px 14px;display:inline-flex}.calc-app .stub .class-badge b{font:750 1.35rem/1.1 var(--display)}.calc-app .tl{height:116px;margin:6px 4px 0;position:relative}.calc-app .tl .track{border:1.5px solid var(--ink);border-radius:99px;height:16px;display:flex;position:absolute;top:50px;left:0;right:0;overflow:hidden}.calc-app .tl .zone{height:100%}.calc-app .tl .z-no{background:repeating-linear-gradient(135deg, var(--paper-2) 0 6px, var(--zone-no) 6px 12px)}.calc-app .tl .z-early{background:var(--zone-early)}.calc-app .tl .z-full{background:var(--sage)}.calc-app .tl .tick{color:var(--muted);font-size:.75rem;position:absolute;top:70px;transform:translate(-50%)}.calc-app .tl .mark{text-align:center;white-space:nowrap;font-size:.78rem;font-weight:700;line-height:1.15;position:absolute;transform:translate(-50%)}.calc-app .tl .mark:after{content:"";background:var(--ink);width:2px;margin-left:-1px;position:absolute;left:50%}.calc-app .tl .mark.up{top:0}.calc-app .tl .mark.up:after{height:24px;top:32px}.calc-app .tl .mark.down{top:88px}.calc-app .tl .mark.down:after{height:26px;bottom:26px}.calc-app .chip.warn.nv{white-space:normal;margin-left:6px}.calc-app .tl .mark.plan{color:var(--accent-ink)}.calc-app .tl .mark.plan:after{background:var(--accent);width:3px}.calc-app .results .bar-head span small{color:var(--muted)}.calc-app .tl .mark.full{color:var(--sage)}.calc-app .tl .mark.full:after{background:var(--sage);width:3px}.calc-app .results .gain{color:var(--sage);font-size:.85rem;font-weight:700}.calc-app .tl .mark span{color:var(--muted);font-weight:400;display:block}.calc-app .results .filled>.card{animation:.6s cubic-bezier(.2,.7,.2,1) both rise}.calc-app .legend{color:var(--muted);flex-wrap:wrap;gap:6px 14px;margin:6px 0 8px;font-size:.82rem;display:flex}.calc-app .results .filled>.card:nth-child(2){animation-delay:80ms}.calc-app .legend i{vertical-align:-1px;border:1px solid var(--ink);border-radius:3px;width:12px;height:12px;margin-right:6px;display:inline-block}.calc-app .results .filled>.card:nth-child(3){animation-delay:.16s}.calc-app .results .filled>.card:nth-child(4){animation-delay:.24s}.calc-app .results .card h2{margin:0 0 14px;font-size:1.35rem}.calc-app .age-table tr.plan td{background:var(--paper)}.calc-app .age-table tr.plan td:first-child{box-shadow:inset 4px 0 0 var(--accent)}.calc-app .age-table tr.full td{background:var(--sage-soft)}.calc-app .age-table small{color:var(--muted)}.calc-app .print-head{display:none}@media (width>=940px){.calc-app{grid-template-columns:minmax(0,420px) minmax(0,1fr)}.calc-app .calc{position:sticky;top:16px}}@media (width<=939.98px){.calc-app{grid-template-columns:minmax(0,1fr)}}@media print{body{font-size:10.5pt;background:var(--field)!important}.masthead,footer,.draft,.calc-app>.calc,.calc-app .results .road,.calc-app .results .compare,main>:not(.calc-app){display:none!important}.calc-app .stub .amount{margin:6px 0 2px;font-size:34pt}.calc-app .results .card{padding:14px 18px!important}.calc-app .results .card h2{margin-bottom:8px;font-size:14pt}.calc-app .age-table th,.calc-app .age-table td{padding:5px 8px}.calc-app{display:block!important}.calc-app .results .card,.calc-app .stub{break-inside:avoid;margin-bottom:10px;box-shadow:none!important;border:1px solid var(--rule-strong)!important;animation:none!important}.calc-app .print-head:not([hidden]){margin-bottom:12px;font-size:10.5pt;display:block}.calc-app .print-head h2{margin:0 0 4px;font-size:16pt}.calc-app .print-head dl{grid-template-columns:repeat(3,1fr);gap:4px 16px;margin:8px 0;display:grid}.calc-app .print-head dt{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:8pt}.calc-app .print-head dd{margin:0;font-weight:700}.calc-app .print-head .qs{border:1px dashed var(--rule-strong);margin-top:8px;padding:8px 10px;list-style:none}.calc-app .print-head .qs li{margin:2px 0}.calc-app .bar-fill{-webkit-print-color-adjust:exact;print-color-adjust:exact;animation:none!important}.calc-app .age-table tr td{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.calc-app .visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.calc-app .nowrap{white-space:nowrap}.calc-app .calc .calc-title{font:700 1.3rem/1.2 var(--display);border-bottom:1px solid var(--rule);margin:0 0 16px;padding-bottom:12px}.calc-app .calc label small,.calc-app .calc .fact small{font-size:var(--fs-small);display:block}.calc-app .calc .fact small{color:var(--muted)}.calc-app .calc label.tick small{display:block}.calc-app .calc .fact .seg{max-width:220px;margin-top:12px;display:flex}.calc-app .calc .fact .seg label{flex:1;display:flex}.calc-app .calc .fact .seg span{text-align:center;background:var(--field);flex:1;min-height:48px;padding:13px 0}.calc-app .calc .fact .seg input:checked+span{color:var(--on-ink);background:var(--ink)}.calc-app .calc button{min-height:48px}@media (width<=479px){.calc-app .calc .actions{grid-template-columns:1fr 1fr;display:grid}.calc-app .calc .actions .go{grid-column:1/-1}}.calc-app.calc-app :is(input,select,button,summary,a):focus-visible{outline:3px solid var(--ring);outline-offset:2px;box-shadow:0 0 0 5px var(--ring-halo)}.calc-app.calc-app .calc .go:focus-visible{box-shadow:3px 3px 0 var(--ink), 0 0 0 5px var(--ring-halo)}.calc-app.calc-app .seg input:focus-visible+span{outline:3px solid var(--ring);outline-offset:-3px;box-shadow:inset 0 0 0 6px var(--ring-halo)}.calc-app article.stub:focus{box-shadow:var(--shadow);outline:none}.calc-app article.stub:focus-visible{outline:3px solid var(--ring);outline-offset:3px}.calc-app .field-err{border-left:4px solid var(--accent);color:var(--accent-ink);font-weight:700;font-size:var(--fs-small);max-width:none;margin:-6px 0 0;padding:2px 0 2px 10px;line-height:1.4}.calc-app .seg+.field-err,.calc-app [role=radiogroup]+.field-err{margin-top:8px}.calc-app.calc-app input[aria-invalid=true],.calc-app.calc-app select[aria-invalid=true]{border-color:var(--accent-ink);box-shadow:0 0 0 1px var(--accent-ink);border-width:2px}.calc-app .seg:has([aria-invalid=true]){border-color:var(--accent-ink);border-width:2px}.calc-app .err-summary{border:2px solid var(--accent-ink);background:var(--clay-soft);color:var(--ink);border-left-width:8px;border-radius:10px;margin:6px 0 12px;padding:12px 14px;font-size:.95rem}.calc-app .err-summary p{margin:0 0 6px}.calc-app .err-summary ul{margin:0;padding-left:18px}.calc-app .err-summary li{max-width:none;margin:3px 0}.calc-app .err-summary a{color:var(--accent-ink);font-weight:700}.calc-app .filled .stub,.calc-app .empty .stub,.calc-app .results .stub{background:var(--card)}.calc-app .stub .estimate-only{background:var(--pencil-soft);border-top:2px solid var(--ink);color:var(--ink);flex-wrap:wrap;align-items:baseline;gap:6px 10px;max-width:none;margin:18px -22px -22px;padding:12px 22px 14px;font-size:.95rem;line-height:1.45;display:flex}.calc-app .stub .estimate-only strong{color:var(--ink)}.calc-app .stub .estimate-only .chip{flex:none}@media (width<=479px){.calc-app .stub .estimate-only{margin:16px -16px -16px;padding:12px 16px 14px}}.calc-app .results .stub dt{font-size:var(--fs-label);letter-spacing:.08em}.calc-app .calc-sources{border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--card);margin:0 0 24px;padding:14px 18px}.calc-app .calc-sources h2{font-size:var(--fs-label);margin:0 0 6px}.calc-app .calc-sources ul{font-size:var(--fs-small);margin:0;padding-left:18px;line-height:1.5}.calc-app .calc-sources li{max-width:none;margin:3px 0}.calc-app .tl-sum{font-size:var(--fs-small);color:var(--ink-soft);margin:0 0 4px}.calc-app .results .tl .tick,.calc-app .results .tl .mark{font-size:var(--fs-label)}.calc-app .results .legend{font-size:var(--fs-small)}.calc-app .results .tl .z-early,.calc-app .results .legend i.sw-early{background:repeating-linear-gradient(90deg, var(--zone-early) 0 6px, var(--card) 6px 8px)}.calc-app .results .tl .z-no,.calc-app .results .legend i.sw-no{background:repeating-linear-gradient(135deg, var(--paper-2) 0 3px, var(--zone-no) 3px 6px)}.calc-app .results .tl .z-full,.calc-app .results .legend i.sw-full{background:var(--sage)}.calc-app .tl .mark.tl-nosub span{display:none}.calc-app table.age-table.stacked,.calc-app table.age-table.stacked tbody,.calc-app table.age-table.stacked tr,.calc-app table.age-table.stacked td{display:block}.calc-app table.age-table.stacked{width:100%;min-width:0}.calc-app table.age-table.stacked thead{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.calc-app table.age-table.stacked tr{border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,1fr) auto;column-gap:12px;padding:9px 6px;display:grid}.calc-app table.age-table.stacked td{white-space:normal;text-align:left;box-shadow:none;background:0 0;border:0;grid-column:1;padding:1px 0}.calc-app table.age-table.stacked td:not(:first-child):not(.m-col){font-size:var(--fs-small);color:var(--ink-soft)}.calc-app table.age-table.stacked td:not(:first-child):not(.m-col)[data-label]:not([data-label=""]):before{content:attr(data-label) ": ";color:var(--muted);font-weight:700}.calc-app table.age-table.stacked td.m-col{text-align:right;white-space:nowrap;grid-area:1/2/span 12;align-self:center}.calc-app table.age-table.stacked tr.plan{background:var(--paper);box-shadow:inset 4px 0 0 var(--accent);padding-left:12px}.calc-app table.age-table.stacked tr.full{background:var(--sage-soft)}@media (width<=599px){body:has(main .calc-app) .hero .stamp,body:has(main .calc-app) .hero.has-aside>:last-child{display:none}body:has(main .calc-app) .hero.has-aside{padding-bottom:28px}body:has(main .calc-app) .hero .lede{font-size:1rem;line-height:1.45}}.calc-app .tl .tick.tl-edge-r{transform:translate(-100%)}.calc-app .tl .tick.tl-edge-l{transform:none}.calc-app .tl .tick.tl-hide{visibility:hidden}.calc-app .tl .mark.tl-al-r{text-align:right;transform:translate(calc(1.5px - 100%))}.calc-app .tl .mark.tl-al-r:after{margin-left:0;left:auto;right:0}.calc-app .tl .mark.tl-al-l{text-align:left;transform:translate(-1.5px)}.calc-app .tl .mark.tl-al-l:after{margin-left:0;left:0}
