:root{font-family:Arial,Helvetica,sans-serif;color:#213d34;background:#f7f8f2;font-synthesis:none;font-size:16px;--green:#163c32;--muted:#63766c;--line:#dce3d8;--lime:#d7ef87}*{box-sizing:border-box}body{margin:0}a{color:inherit}button,input,textarea{font:inherit}button,a,input,summary{outline-offset:5px}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #75933b}button{cursor:pointer}a{text-underline-offset:4px}.wrap{width:min(1120px,calc(100% - 48px));margin-inline:auto}.masthead{display:flex;justify-content:space-between;align-items:center;padding:27px 0;border-bottom:1px solid var(--line);gap:16px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:.85rem;font-weight:800;letter-spacing:.12em}.brand-icon{display:grid;place-items:center;background:var(--green);color:var(--lime);width:32px;height:32px;border-radius:7px;font-size:1.6rem}.pill{font-size:.75rem;border:1px solid #cbd8bd;border-radius:5px;background:#eaf0df;padding:7px 10px;letter-spacing:.08em;font-weight:700}.intro{padding:34px 0 26px}.eyebrow{font-size:.75rem;font-weight:800;letter-spacing:.14em;margin:0 0 12px;color:var(--muted)}h1{font-size:clamp(2rem,4.3vw,3.1rem);line-height:1.1;letter-spacing:-.045em;margin:0 0 14px}h2{font-size:1.25rem;letter-spacing:-.025em;line-height:1.3;margin:0}.accent{color:#6f9435}.intro>p:last-child{color:var(--muted);margin:0;line-height:1.6}.calculator{display:grid;grid-template-columns:.85fr 1.15fr;border:1px solid #cad7c6;border-radius:15px;overflow:hidden;background:white;box-shadow:0 12px 40px #203e3008;scroll-margin-top:16px}.inputs{padding:30px 32px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:27px}.step{font-size:.75rem;font-family:monospace;letter-spacing:.04em;color:var(--muted)}label:not(.toggle){display:flex;justify-content:space-between;gap:8px;font-size:.9rem;font-weight:700;margin-bottom:9px;flex-wrap:wrap}label>span{font-size:.8rem;font-weight:400;color:var(--muted)}input[type=number]{width:100%;padding:11px 13px;border:1px solid #b9cabc;border-radius:7px;background:#fbfcf9;font-size:1.15rem;color:#163c32;font-variant-numeric:tabular-nums;min-height:46px}input:disabled{background:#edf0e8;color:#7c867d}input[aria-invalid=true]{border-color:#ac3934}.error{font-size:.8rem;color:#a3302d;line-height:1.4;min-height:12px;margin:4px 0 11px}.error:empty{height:12px}.toggle{display:flex;align-items:center;gap:12px;margin:5px 0 22px;position:relative;cursor:pointer}.toggle>span:first-child{font-size:.95rem;color:#213d34;font-weight:700;flex:1}.toggle input{position:absolute;right:0;width:43px;height:26px;opacity:0;cursor:pointer}.switch{width:43px;height:25px;border-radius:20px;background:#a4aea5;pointer-events:none;position:relative}.switch:after{content:'';position:absolute;width:19px;height:19px;left:3px;top:3px;background:white;border-radius:50%;transition:transform .15s}.toggle input:checked+.switch{background:var(--green)}.toggle input:checked+.switch:after{transform:translateX(18px)}.toggle input:focus-visible+.switch{outline:3px solid #75933b;outline-offset:4px}.presets{display:flex;gap:10px;flex-wrap:wrap}button{border:1px solid #c6d3c1;background:#f2f6eb;border-radius:6px;padding:10px 14px;color:var(--green);font-size:.875rem;font-weight:700;min-height:42px}button:hover{background:#e4edda}.small{font-size:.8rem;color:var(--muted);line-height:1.55}.inputs>.small{margin:16px 0 0}.results{background:var(--green);color:#f6f9ef;padding:30px 34px}.results .step{color:#adbfaf}.result-label{font-size:.75rem;letter-spacing:.13em;color:#bdd0bc;margin:35px 0 5px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}#cap-badge{font-size:.7rem;letter-spacing:.05em;color:var(--lime)}.big-number{color:var(--lime);font-size:clamp(3rem,6vw,4.7rem);font-weight:700;letter-spacing:-.065em;margin:0;line-height:1.13;font-variant-numeric:tabular-nums}.result-note{color:#b4c9b9;font-size:.875rem;margin:14px 0 27px}.result-note strong{font-weight:400;color:#f6f9ef}.tiers{display:grid;grid-template-columns:1fr 1fr;gap:22px;border-block:1px solid #446050;padding:22px 0}.tiers>div{display:flex;flex-direction:column;gap:8px}.tiers>div+div{border-left:1px solid #446050;padding-left:24px}.tier-label{font-size:.75rem;letter-spacing:.12em;color:#c1d3b5}.tiers strong{font-size:1.75rem;font-variant-numeric:tabular-nums;letter-spacing:-.04em}.tiers div>span:last-child{font-size:.8rem;color:#b4c9b9}.receipt{margin:24px 0 0;font-family:Consolas,monospace;font-size:.8rem;color:#c6d7c7}.receipt>p{font-size:.7rem;letter-spacing:.12em;margin:0 0 13px}.receipt>div{display:flex;justify-content:space-between;gap:14px;line-height:1.8}.receipt-total{border-top:1px dashed #64806b;margin-top:10px;padding-top:10px}.receipt-total strong{color:#e2f0d2}.result-footnote{font-size:.8rem;line-height:1.55;color:#b5c9b7;margin-bottom:0}.notice{display:flex;gap:14px;padding:20px 0;border-bottom:1px solid var(--line);align-items:flex-start}.notice p{margin:0;font-size:.825rem;line-height:1.6;color:var(--muted)}.notice strong{color:#425641}.notice-mark{font:700 .9rem Georgia,serif;border:1px solid #a6b694;border-radius:50%;width:20px;height:20px;flex-shrink:0;text-align:center;margin-top:2px}.details-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:65px;padding:42px 0}.details-grid h2{font-size:1.7rem;line-height:1.2}.details-grid p:not(.eyebrow){line-height:1.6;font-size:.9rem;color:var(--muted)}.formula{border-left:3px solid #99b966;padding:10px 16px;background:#ecf1e4;line-height:1.7;font: .85rem/1.8 Consolas,monospace}.questions details{border-bottom:1px solid var(--line);padding:16px 0}.questions details:first-child{padding-top:0}summary{cursor:pointer;font-weight:700;font-size:.95rem;line-height:1.5}.questions details p{margin:12px 0}.bonus-results{display:grid;gap:7px;font:.8rem/1.6 Consolas,monospace;color:#264c39}.sources{padding:30px 0;border-top:1px solid var(--line)}.sources .section-heading{margin-bottom:18px}.source-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.source-list a{display:flex;flex-direction:column;gap:12px;border:1px solid var(--line);border-radius:7px;padding:18px;text-decoration:none;line-height:1.5}.source-list a:hover{border-color:#789965;background:#eef3e6}.source-list span{font:.7rem Consolas,monospace;letter-spacing:.05em;color:var(--muted)}.source-list strong{font-size:.875rem}.source-list small{font-size:.8rem;color:var(--muted)}.feedback{padding:22px 24px;margin:6px 0 32px;background:#e9efde;border-radius:9px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.feedback h2{font-size:1.1rem}.feedback p{font-size:.825rem;color:#5d7154;line-height:1.5;margin:7px 0 0}.feedback button{background:var(--green);color:#f2f8e5;white-space:nowrap}.feedback button:hover{background:#285743}#copy-status:empty{display:none}#report-text{width:100%;min-height:220px;padding:14px;line-height:1.5}footer{display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--line);padding-block:22px 30px;align-items:center}footer>span{font-size:.7rem;font-weight:700;letter-spacing:.08em;line-height:1.7}footer p{font-size:.75rem;color:var(--muted);line-height:1.5;max-width:370px;margin:0}.footer-dot{color:#a6b197;padding:0 8px}.skip{position:absolute;left:16px;top:-100px;background:white;padding:12px;z-index:10}.skip:focus{top:10px}[hidden]{display:none!important}@media(max-width:760px){.wrap{width:calc(100% - 32px)}.masthead{padding:19px 0}.brand{font-size:.7rem;letter-spacing:.07em}.pill{font-size:.65rem;padding:6px}.intro{padding:26px 0}.calculator{grid-template-columns:1fr}.inputs,.results{padding:24px}.result-label{margin-top:26px}.big-number{font-size:4rem}.details-grid{grid-template-columns:1fr;gap:28px;padding:32px 0}.source-list{grid-template-columns:1fr}.source-list a{gap:6px}.sources .section-heading{align-items:flex-start;flex-direction:column;gap:8px}.feedback{padding:20px}footer{align-items:flex-start;flex-direction:column;gap:12px}.tiers strong{font-size:1.6rem}.receipt{font-size:.75rem}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}@media(min-width:761px){.inputs{display:flex;flex-direction:column}.presets{margin-top:auto}}

/* Card price affordability: uses the existing wallet palette. */
.affordability{border-bottom:1px solid #446050;padding-bottom:25px;margin-bottom:26px}
.affordability h2{margin-bottom:16px}
.affordability-title{font-size:1.55rem;line-height:1.25;letter-spacing:-.025em;color:var(--lime);font-weight:700;margin:0 0 10px}
.affordability-message{font-size:.9rem;line-height:1.55;color:#dae6d9;margin:0 0 18px}
.affordability-tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.affordability-tiers>div{border:1px solid #54705e;border-radius:7px;padding:12px;display:flex;flex-direction:column;gap:8px}
.affordability-tiers span{font-size:.875rem;color:#c6d7c7}
.affordability-tiers strong{font-size:1.1rem;color:#c6d7c7}
.affordability-tiers [data-affordable=true]{color:var(--lime)}
.affordability-tiers [data-affordable=false]{color:#ffd2bd}
.affordability-note{font-size:.8rem;line-height:1.55;color:#b5c9b7;margin:14px 0 0}
.affordability[data-status=unaffordable] .affordability-title{color:#ffd2bd}
.affordability[data-status=empty] .affordability-title{font-size:1.1rem;color:#dae6d9}
@media(max-width:360px){.affordability-tiers{gap:6px}.affordability-tiers>div{padding:9px}.affordability-title{font-size:1.35rem}}
