html{scroll-padding-top:1rem}
a{color:var(--accent);text-underline-offset:.18em}
.public-nav{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;justify-content:flex-end}
.public-nav a,.source-links a{font-weight:650}
.public-main{max-width:1160px}
.calc-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.07fr);grid-template-areas:"intro calc" "member calc";grid-template-rows:auto 1fr;gap:clamp(1rem,3vw,2.25rem);align-items:start}
.calc-intro{grid-area:intro;min-width:0}.calc-card{grid-area:calc}.membership-card{grid-area:member}
.calc-intro h1{font-size:clamp(2.5rem,5.3vw,4.25rem)}
.calc-intro>p:not(.eyebrow){font-size:1.07rem;max-width:35ch;margin-bottom:1rem}
.action-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:.55rem;padding:.55rem .85rem;text-decoration:none;font-weight:720;border:1px solid transparent;color:white;background:var(--accent)}
.action-link:hover{filter:brightness(.94)}
.action-link.secondary{color:var(--ink);background:#edf1eb;border-color:var(--border)}
.action-link.on-dark{background:#d7f3c4;color:#113e38}
.membership-card .eyebrow,.calc-card .eyebrow,.calc-method .eyebrow{color:var(--accent)}
.calc-card{padding:clamp(1rem,3vw,1.8rem);min-width:0}
.calc-card-head{display:flex;justify-content:space-between;gap:.55rem;align-items:flex-start;margin-bottom:.9rem}
.calc-card-head button{white-space:nowrap;font-size:.82rem}
.calc-card h2,.calc-method h2,.membership-card h2{font-size:clamp(1.36rem,2.9vw,1.8rem)}
.calc-card form{display:grid;gap:.62rem}
.calc-card form p{margin:0}
.calc-card fieldset{min-inline-size:0;margin:0;padding:.3rem 0 .55rem;border:0;border-bottom:1px solid var(--border)}
.calc-card legend{font-weight:720;padding:0}
.calc-card legend span{font-size:.8rem;display:inline-block;padding:.03rem .36rem;margin-left:.25rem;border-radius:1rem;background:#edf4ec;color:var(--accent)}
.calc-card .check{margin:.2rem 0 .15rem}
.calc-result{background:#edf4ec;border:1px solid #d3e2d3;border-radius:.75rem;padding:1rem;margin-top:.9rem}
.calc-amount{font-size:clamp(1.65rem,4vw,2.3rem);font-weight:780;letter-spacing:-.05em;margin:0 0 .35rem;overflow-wrap:anywhere}
.calc-result dl{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.4rem .65rem;font-size:.89rem;margin:.45rem 0 .7rem}
.calc-result .sub{margin:0}
.calc-method{margin:1rem 0 0;padding:clamp(1rem,3vw,1.8rem)}
.calc-method dl{display:grid;grid-template-columns:1fr 4fr;gap:.5rem 1rem}
.calc-method dt{font-weight:700}.calc-method dd{text-align:left}
.source-links{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-size:.84rem}
footer a{margin-left:.45rem}
#billing-panel{margin-bottom:1rem}
#billing-actions{display:flex;gap:.55rem;align-items:center;flex-wrap:wrap}
#billing-price{font-weight:750;color:var(--accent)}
#billing-export{margin:.4rem 0 .6rem}
.legal-copy{max-width:70ch;white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:740px){.calc-layout{grid-template-columns:1fr;grid-template-areas:"intro" "calc" "member";grid-template-rows:auto}.public-nav{gap:.6rem}.public-nav a{font-size:.84rem}}
@media(max-width:420px){.calc-method dl{display:block}.calc-method dt{margin-top:.5rem}.calc-method dd{margin-bottom:.45rem}}
