:root{--green: #3c5448;--green-dark: #2c3f35;--green-700: #34493e;--sage: #c9d7c9;--sage-soft: #e9efe8;--sage-tint: #f4f7f3;--burgundy: #5e2330;--burgundy-soft: #f3e6e8;--teal: #2f7e80;--cream: #f4e7c4;--savings: #2f7d4f;--savings-soft: #e7f3ec;--ink: #20302a;--muted: #5c6b62;--line: #d8e1d8;--bg: #f7f9f6;--card: #ffffff;--deep-green: #2c3f35;--warn-soft: #fffaf0;--radius: 14px;--radius-sm: 9px;--shadow: 0 1px 2px rgba(32, 48, 42, .06), 0 6px 20px rgba(32, 48, 42, .07);--shadow-sm: 0 1px 2px rgba(32, 48, 42, .08);--maxw: 1080px;--font: "Poppins", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}[data-theme=dark]{color-scheme:dark;--green: #4f8a66;--green-dark: #d7e6dc;--green-700: #c2d6c9;--sage: #38473d;--sage-soft: #232c27;--sage-tint: #1a211d;--burgundy: #db9aa6;--burgundy-soft: #321e23;--teal: #5cb8ba;--cream: #4a4226;--savings: #62c78a;--savings-soft: #1d2b23;--ink: #e6ece8;--muted: #a2b2a8;--line: #36433c;--bg: #141a16;--card: #1c231f;--warn-soft: #2b2616;--shadow: 0 1px 2px rgba(0, 0, 0, .45), 0 6px 20px rgba(0, 0, 0, .5);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .5)}.site-header .logo-dark,[data-theme=dark] .site-header .logo-full{display:none}[data-theme=dark] .site-header .logo-dark{display:inline-flex;align-items:center;gap:10px}.site-header .logo-dark img{height:42px;width:auto}.site-header .logo-word{font-weight:700;font-size:.9rem;line-height:1.2;color:var(--burgundy)}.emblem-dark,[data-theme=dark] .emblem-light{display:none}[data-theme=dark] .emblem-dark{display:inline-block}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.55;font-size:16px}h1,h2,h3{line-height:1.2;margin:0 0 .35em;color:var(--green-dark)}h1{font-size:clamp(1.5rem,3.5vw,2.1rem);letter-spacing:-.01em}h2{font-size:clamp(1.15rem,2.5vw,1.45rem)}h3{font-size:1rem}p{margin:0 0 .8em}a{color:var(--green)}.container{max-width:var(--maxw);margin:0 auto;padding:0 clamp(16px,4vw,28px)}.skip-link{position:absolute;left:-999px;top:0;z-index:100;background:var(--green);color:#fff;padding:10px 16px;border-radius:0 0 8px}.skip-link:focus{left:0}:where(a,button,input,[tabindex]):focus-visible{outline:3px solid var(--teal);outline-offset:2px;border-radius:4px}.site-header{background:var(--card);border-bottom:1px solid var(--line)}.site-header .container{display:flex;align-items:center;gap:16px;padding-top:14px;padding-bottom:14px;flex-wrap:wrap}.site-header img{height:52px;width:auto}.brand-link{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:inherit;border-radius:6px}.brand-link:hover{opacity:.85}.site-header .tagline{color:var(--muted);font-size:.9rem;margin:0}.site-nav{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}.site-nav a{color:var(--green-dark);font-weight:600;text-decoration:none;padding:8px 12px;border-radius:999px;font-size:.92rem}.site-nav a:hover{background:var(--sage-tint)}.theme-toggle{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-size:.9rem;font-weight:600;line-height:1;cursor:pointer;color:var(--ink);display:inline-flex;align-items:center;gap:6px}.theme-toggle:hover{background:var(--sage-tint)}@media(max-width:640px){.site-header .container{flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px 6px}.site-header .logo-full{display:none}.site-header .logo-dark{display:inline-flex;align-items:center}.site-header .logo-word{display:none}.site-header .logo-dark img{height:clamp(46px,calc(100vw - 339px),74px)}.site-nav{display:contents}.site-header .theme-toggle{margin-left:auto}}.math-ledger{width:100%;border-collapse:collapse;font-size:.86rem;font-variant-numeric:tabular-nums;background:var(--card);border-radius:8px;overflow:hidden}.math-ledger td{padding:5px 9px;border-bottom:1px solid var(--line);vertical-align:top}.math-ledger td.op{width:1.7em;text-align:center;color:var(--muted);font-weight:700}.math-ledger td.lbl{text-align:left}.math-ledger td.num{text-align:right;white-space:nowrap}.math-ledger tbody tr:nth-child(odd):not(.total):not(.tieout) td{background:var(--sage-tint)}.math-ledger tr.sub td{color:var(--muted)}.math-ledger tr.indent td.lbl{padding-left:22px;color:var(--muted)}.math-ledger tr.total td{font-weight:700;border-top:2px solid var(--sage)}.math-ledger tr.tieout td{font-weight:800;color:var(--green-dark);background:var(--sage-soft, #dce7dc);font-size:1rem;border-top:2px solid var(--green)}.math-ledger .lbl-note{color:var(--muted);font-weight:400;font-size:.88em}.math-note{font-size:.8rem;color:var(--muted);margin:16px 2px 6px}.math-banner{background:var(--warn-soft);border:1px solid var(--cream);border-left:4px solid #d8a23a;border-radius:8px;padding:8px 12px;font-size:.88rem;margin:10px 0}.math-banner:empty{display:none}.cta-link{display:inline-flex;align-items:center;gap:8px;background:var(--green);color:#fff;font-weight:600;padding:11px 18px;border-radius:999px;text-decoration:none;box-shadow:var(--shadow-sm)}.cta-link:hover{background:var(--green-dark)}.cta-link.ghost{background:transparent;color:var(--green-dark);border:1.5px solid var(--green);box-shadow:none}.cta-link.ghost:hover{background:var(--sage-tint)}.hero{padding:clamp(20px,4vw,34px) 0 6px}.hero p.lede{font-size:1.05rem;color:var(--muted);max-width:100ch}.disclaimer{background:var(--sage-soft);border:1px solid var(--sage);border-left:5px solid var(--green);border-radius:var(--radius-sm);padding:12px 16px;margin:14px 0;font-size:.9rem;color:var(--green-700)}.disclaimer strong{color:var(--green-dark)}section{margin:26px 0}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.scenario-picker{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}@media(min-width:720px){.scenario-picker{grid-template-columns:repeat(4,1fr)}}.scenario-option{position:relative}.scenario-option input{position:absolute;opacity:0;inset:0;cursor:pointer}.scenario-option label{display:flex;flex-direction:column;gap:4px;height:100%;padding:14px 16px;cursor:pointer;background:var(--card);border:2px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:border-color .15s,box-shadow .15s,background .15s}.scenario-option .opt-title{font-weight:600;color:var(--green-dark)}.scenario-option .opt-sub{font-size:.82rem;color:var(--muted)}.scenario-option input:hover+label{border-color:var(--sage)}.scenario-option input:checked+label{border-color:var(--green);background:var(--sage-tint);box-shadow:0 0 0 1px var(--green),var(--shadow)}.scenario-option input:focus-visible+label{outline:3px solid var(--teal);outline-offset:2px}.input-prefix{display:inline-flex;align-items:center;width:max-content;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);padding-left:12px}.input-prefix span{color:var(--muted)}.input-prefix input[type=number]{border:none;border-radius:0;background:transparent;color:var(--ink);width:140px;padding:9px 12px 9px 4px}.input-prefix:focus-within{outline:3px solid var(--teal);outline-offset:2px}.input-prefix input[type=number]:focus-visible{outline:none}.home-value-control{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.home-value-display{font-size:clamp(2.1rem,5.5vw,2.9rem);font-weight:800;color:var(--green-dark);line-height:1;letter-spacing:-.02em}.home-value-track{width:min(100%,540px)}.home-value-track input[type=range]{width:100%;accent-color:var(--green);cursor:pointer}.home-value-track .ticks{display:flex;justify-content:space-between;font-size:.72rem;color:var(--muted);margin-top:2px}.home-value-exact{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;font-size:.85rem;color:var(--muted)}.home-value-exact label{font-weight:600}.home-value-control .hint{font-size:.78rem;color:var(--muted)}.setup-grid{display:grid;gap:14px;grid-template-columns:1fr}@media(min-width:720px){.setup-grid{grid-template-columns:1fr 1fr}}.setup-label{font-size:.8rem;font-weight:600;color:var(--muted);letter-spacing:.01em}.merger-control{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;transition:opacity .15s}.merger-year-display{font-size:clamp(2.1rem,5.5vw,2.9rem);font-weight:800;color:var(--green-dark);line-height:1;letter-spacing:-.02em}.merger-year-track{width:min(100%,540px)}.merger-year-track input[type=range]{width:100%;accent-color:var(--green);cursor:pointer}.merger-year-track .ticks{display:flex;justify-content:space-between;font-size:.72rem;color:var(--muted);margin-top:2px}.merger-presets{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.merger-presets button{font:inherit;font-size:.78rem;padding:4px 10px;border-radius:999px;cursor:pointer;border:1.5px solid var(--sage);background:var(--sage-tint);color:var(--green-700)}.merger-presets button[aria-pressed=true]{background:var(--green);color:#fff;border-color:var(--green)}.merger-control .hint{font-size:.78rem;color:var(--muted)}.merger-control.is-disabled{opacity:.5}.cards{display:grid;gap:14px;grid-template-columns:1fr}@media(min-width:560px){.cards{grid-template-columns:repeat(2,1fr)}}@media(min-width:920px){.cards{grid-template-columns:repeat(4,1fr)}}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:6px}.card .town{font-weight:600;color:var(--green-dark);display:flex;align-items:center;gap:8px}.card .badge{font-size:.68rem;font-weight:600;padding:2px 7px;border-radius:999px;background:var(--sage-soft);color:var(--green-700)}.card .badge.baseline{background:var(--burgundy-soft);color:var(--burgundy)}.card .amount-label{font-size:.78rem;font-weight:600;color:var(--muted);margin-bottom:-4px}.card .amount{font-size:2rem;font-weight:700;color:var(--green);letter-spacing:-.02em;line-height:1.1}.card .amount small{font-size:.85rem;font-weight:500;color:var(--muted)}.card .permo{font-size:.85rem;color:var(--muted)}.card .delta{font-size:.96rem;font-weight:700;margin-top:4px}.card .delta.save{color:var(--savings)}.card .delta.more{color:var(--burgundy)}.card .delta.none{color:var(--muted);font-weight:500}.card .delta .cum{display:block;font-weight:700;color:inherit;font-size:.95rem;margin-top:1px}.card .rate-note{font-size:.82rem;color:var(--muted);margin-top:2px}.card .rate-note strong{color:var(--green-700);font-weight:600}.chart-wrap{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 14px 6px}.toggle-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 28px;margin-bottom:6px}.town-toggle,.horizon-toggle{display:flex;flex-wrap:wrap;gap:8px}.town-toggle button,.horizon-toggle button{font:inherit;font-size:.85rem;padding:6px 12px;border-radius:999px;cursor:pointer;border:1.5px solid var(--line);background:var(--card);color:var(--green-700)}.town-toggle button[aria-pressed=true],.horizon-toggle button[aria-pressed=true]{background:var(--green);color:#fff;border-color:var(--green)}#chart{width:100%;height:380px}.chart-caption{font-size:.82rem;color:var(--muted);margin:4px 4px 8px}.whatif{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow-sm)}.whatif .whatif-body{padding:18px;display:grid;gap:22px}@media(min-width:720px){.whatif .whatif-body{grid-template-columns:1fr 1fr}}.slider-row{display:flex;flex-direction:column;gap:8px}.slider-row .slider-head{display:flex;justify-content:space-between;align-items:baseline}.slider-row .slider-val{font-weight:700;color:var(--green)}.slider-row input[type=range]{width:100%;accent-color:var(--green)}.slider-row .ticks{display:flex;justify-content:space-between;font-size:.72rem;color:var(--muted)}.slider-row .presets{display:flex;gap:8px}.slider-row .presets button{font:inherit;font-size:.78rem;padding:4px 10px;border-radius:999px;cursor:pointer;border:1.5px solid var(--sage);background:var(--sage-tint);color:var(--green-700)}.assumptions{margin:26px 0}.assumptions>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px;padding:14px 16px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.assumptions>summary::-webkit-details-marker{display:none}.assumptions>summary:before{content:"▸";color:var(--green);transition:transform .15s}.assumptions[open]>summary:before{transform:rotate(90deg)}.assumptions .panel-h{display:inline;margin:0;font-size:clamp(1.15rem,2.5vw,1.45rem);color:var(--green-dark)}.assumptions .assumptions-body{padding:16px 4px 0}.assumptions table{width:100%;border-collapse:collapse;font-size:.88rem}.assumptions caption{text-align:left;color:var(--muted);font-size:.82rem;padding:6px 0}.assumptions th,.assumptions td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}.assumptions thead th{color:var(--green-700);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.assumptions td.num{font-variant-numeric:tabular-nums;white-space:nowrap}.assumptions td.cell{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem}.assumptions h3{margin-top:18px}.term{position:relative;display:inline-flex;align-items:center;gap:3px}.term>button.term-btn{font:inherit;border:none;background:none;cursor:help;padding:0;border-bottom:1.5px dotted var(--teal);color:inherit}.term .term-i{display:inline-grid;place-items:center;width:15px;height:15px;font-size:10px;border-radius:50%;background:var(--teal);color:#fff;font-weight:700}.term .term-pop{position:absolute;bottom:calc(100% + 8px);left:0;z-index:30;width:min(280px,80vw);background:var(--deep-green);color:#fff;padding:10px 12px;border-radius:10px;font-size:.82rem;line-height:1.45;box-shadow:var(--shadow);font-weight:400}.term .term-pop[hidden]{display:none}.site-footer{border-top:1px solid var(--line);margin-top:40px;background:var(--card)}.site-footer .container{padding:22px 0;display:flex;gap:18px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:.85rem}.site-footer img{height:60px}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
