/* Shared presentation layer. Pricing, content and routes remain in their original sources. */
:root {
  color-scheme: light;
  --background:#fafcfb; --surface:#fff; --surface-tint:#f2f8f5;
  --ink:#172c25; --muted:#52665e; --faint:#63766e;
  --accent:#146b4e; --accent-soft:#eaf6ef; --border:#dce6e0;
  --radius:8px; --radius-panel:12px; --space:8px;
  --shadow:0 2px 6px rgb(24 55 40 / 3%); --focus:0 0 0 3px rgb(29 125 88 / 15%);
  --gradient:radial-gradient(ellipse at 75% 0%,#e4f5ed 0%,transparent 62%);
  --bg0:var(--background); --bg1:#f4f9f6; --card:var(--surface);
  --line:var(--border); --cyan:var(--accent); --violet:var(--accent); --green:var(--accent); --amber:#886326;
}
body {background:var(--background);color:var(--ink);font-size:15px;line-height:1.65}
::selection {background:#d1eadc;color:var(--ink)}
a,button,input {transition:color 180ms,background-color 180ms,border-color 180ms,box-shadow 180ms}
a:focus-visible,button:focus-visible,[role=radio]:focus-visible,input:focus-visible {outline:2px solid var(--accent);outline-offset:3px}
header.site {background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:1px solid var(--border);padding:17px 0}
header.site .wrap,footer.site .wrap {max-width:1200px}
header.site .wrap {gap:24px}
.logo {font-size:18px;font-weight:750;white-space:nowrap}
.logo span,.grad,.hero h1 .grad,.page-hero h1 .grad {background:none;color:var(--accent);-webkit-text-fill-color:currentColor}
nav {display:flex;align-items:center;gap:22px}
nav a {margin:0;font-size:13px;white-space:nowrap}
.wrap {max-width:860px}
.home>.wrap {max-width:1200px}
.home .hero {text-align:left;padding:35px 0 22px;background:var(--gradient)}
.home .hero::after {content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(#197651 0.65px,transparent .8px);background-size:18px 18px;opacity:.055}
.home .hero h1 {font-size:40px;font-weight:700;letter-spacing:-1.5px;text-shadow:none;margin-bottom:10px}
.home .hero p.sub {margin:0;max-width:720px;font-size:16px;text-shadow:none;line-height:1.55}
.pill {font:500 11px/1.5 inherit;letter-spacing:.1px;text-transform:none;border:0;background:transparent;color:var(--accent);padding:0;margin-bottom:12px;backdrop-filter:none}
.pill .dot,.livedot {box-shadow:none;animation:none;width:6px;height:6px}
.bg-stage {display:none}
.calc {padding:25px 28px 28px;margin:0 0 20px;background:var(--surface);border-radius:var(--radius-panel);box-shadow:var(--shadow);backdrop-filter:none;-webkit-backdrop-filter:none;overflow:visible}
.calc::before,.calc h2::before,.stat.hero-stat::before,article h2::before {display:none}
.calc h2 {font-size:19px;font-weight:650;margin-bottom:9px}
.trustline {font-family:inherit;font-size:11px;margin:0 0 23px;line-height:1.6}
.calculator-layout {display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);gap:28px;align-items:start}
.calculator-inputs,.cost-summary {min-width:0}
.sec-label,body .cwc .cwc-label {font-family:inherit;font-size:12px;font-weight:650;letter-spacing:0;text-transform:none;color:var(--ink);margin-bottom:9px}
.models {gap:8px;margin-bottom:20px}
.model {padding:12px 10px;border-radius:var(--radius);text-align:left;background:#fff;box-shadow:none;min-width:0}
.model b {font-size:14px;font-weight:650;margin-bottom:5px}
.model small {font-family:inherit;font-size:11px;display:block;line-height:1.6}
.model:hover,.preset:hover {transform:none;border-color:#8ab39d;background:#f7fbf8}
.model.active {border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}
.tiers {border-radius:var(--radius);background:#f7f9f8}
.tier {padding:9px 6px}
.tier b {font-size:13px;font-weight:650}
.tier small {font-family:inherit;font-size:10px}
.tier.active {background:var(--accent-soft);box-shadow:none;color:var(--accent)}
.tier-note {font-size:11px;line-height:1.6;margin-bottom:20px}
.grid {gap:12px 16px}
label.field {font-size:12px;color:var(--muted);font-weight:500;margin-bottom:5px}
input[type=number],input[type=text] {background:#fff;border-color:var(--border);border-radius:6px;color:var(--ink);padding:9px 12px;font-size:15px;line-height:1.5;font-variant-numeric:tabular-nums}
input:focus {border-color:var(--accent);box-shadow:var(--focus)}
.slider-row {margin:14px 0 4px}
input[type=range] {accent-color:var(--accent);min-height:22px}
.presets {display:grid;grid-template-columns:1fr 1fr;gap:8px}
.preset {padding:9px 10px;text-align:left;background:#fff;border-radius:6px}
.preset b {font-size:12px;font-weight:600;margin-bottom:2px}
.preset small {font:10px/1.5 inherit;display:block;font-family:inherit}
.preset-note {font-size:11px;line-height:1.6}
.cost-summary,body .cwc .cwc-summary {background:linear-gradient(145deg,#f1faf4,#f9fcfa 65%);border:1px solid #d6e9dd;border-radius:10px;padding:22px;min-width:0}
.summary-label {font-size:13px;font-weight:600;color:var(--ink);margin:0 0 8px}
.results {grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:0}
.stat {padding:12px 0;text-align:left;border:0;border-radius:0;background:none;overflow:visible;min-width:0}
.stat.hero-stat {grid-column:1/-1;grid-row:1;border-bottom:1px solid #d6e9dd;padding:2px 0 22px;margin-bottom:3px}
.stat.hero-stat .v {font-family:inherit;font-size:clamp(30px,3.5vw,46px);letter-spacing:-1.8px;font-weight:650;background:none;color:var(--accent);overflow-wrap:anywhere}
.stat .v {font-family:inherit;font-size:15px;font-weight:600;letter-spacing:-.3px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.stat .k {font-family:inherit;text-transform:none;font-size:10px;letter-spacing:0;margin-top:3px}
.compare-wrap {margin-top:18px}
.compare-wrap .sec-label {font-size:11px;font-weight:600}
.compare-wrap .tbl-wrap {border:0;border-radius:0;background:none}
.compare-wrap table {min-width:0;font-size:11px;table-layout:fixed}
.compare-wrap th,.compare-wrap td {font-family:inherit;font-size:10px;padding:10px 3px;white-space:normal;overflow-wrap:anywhere;letter-spacing:0;text-transform:none}
.compare-wrap th:first-child,.compare-wrap td:first-child {width:29%}
.compare-wrap td.num {font-family:inherit;color:var(--ink);font-size:11px}
.compare-wrap tr.hl td {background:#e5f2e9;color:var(--accent)}
.verdict {border:0;border-top:1px solid #d6e9dd;border-radius:0;background:none;color:var(--muted);padding:16px 0 0;font-size:12px;line-height:1.75}
.verdict b {color:var(--ink);font-weight:600}
.share-row {margin-top:20px}
.share-btn {border:1px solid #b6d0c0;border-radius:6px;background:#fff;color:var(--accent);font-size:12px;width:100%;padding:10px}
.share-hint {font:11px/1.5 inherit}
.tibo-strip {padding:12px 16px;margin:18px 0 30px;border-radius:6px;background:#f3f6f4;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;gap:12px}
.tibo-strip .cell {font-size:11px;gap:6px}
.tibo-strip .rk {font:10px/1.5 inherit;letter-spacing:0;text-transform:none}
.tibo-strip .rv {font-size:10px;font-weight:500}
#stripNext,#stripElapsed {text-shadow:none;color:var(--muted)}
.tibo-strip a.goto {font:11px/1.5 inherit}
.badge.banked,.badge.immediate {background:#e6f1e9;border-color:#ccdfd2;color:var(--accent)}
section.block {background:#fff;border-radius:10px;padding:30px;margin-bottom:24px;backdrop-filter:none;-webkit-backdrop-filter:none}
section.block h2 {font-size:23px;font-weight:650;letter-spacing:-.5px}
.tbl-wrap,.table-wrap {background:#fff;border-color:var(--border);border-radius:6px}
th {background:#f4f7f5;color:var(--muted);font-family:inherit;letter-spacing:.2px;text-transform:none}
th,td {padding:12px 14px}
td.num {color:var(--ink);font-size:13px}
.prose p,article p,article ul,article ol,details.faq .a {color:var(--muted)}
.prose h3 {font-weight:650}
details.faq {border-radius:6px;background:#fff}
.newbadge {animation:none;background:#e1f1e7;color:var(--accent);border-radius:3px;letter-spacing:0}
.page-hero {padding-bottom:18px;background:var(--gradient)}
.page-hero h1 {font-weight:700;line-height:1.2;letter-spacing:-1px}
.crumbs,.crumb,.trust,.byline,.updated {font-family:inherit}
.example,.calc-card,.cta,.formula,figure.chart,.post-card,.post,.card {background:#fff;border-color:var(--border);border-radius:8px;box-shadow:none}
.cta {background:var(--surface-tint)}
.btn {background:var(--accent);color:#fff;border-radius:6px;font-weight:600}
article {padding-top:8px}
article h1 {font-weight:700}
article img.hero {padding:0;max-height:320px;object-fit:cover;border-radius:8px}
footer.site {background:#f4f7f5;border-color:var(--border);margin-top:44px}
/* Shared embedded calculator: stronger selectors override its legacy injected styles. */
body:has(.cwc)>.wrap {max-width:1200px}
body:has(.cwc) .prose,body:has(.cwc) .faq {max-width:840px;margin-left:auto;margin-right:auto}
.cwc {--cwc-line:var(--border)!important;--cwc-muted:var(--muted)!important;--cwc-cyan:var(--accent)!important;--cwc-violet:var(--accent)!important}
body .cwc {display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);gap:28px;padding:26px;background:#fff;border:1px solid var(--border);border-radius:12px}
body .cwc .cwc-inputs {min-width:0}
body .cwc .cwc-pill {color:var(--ink);background:#fff;border-radius:6px;padding:11px 12px;flex-basis:130px;font-size:13px}
body .cwc .cwc-pill small {font-size:11px}
body .cwc .cwc-pill.active {background:var(--accent-soft);border-color:var(--accent)}
body .cwc .cwc-grid {grid-template-columns:1fr 1fr}
body .cwc .cwc-label {margin-top:20px}
body .cwc .cwc-field {font-size:12px}
body .cwc input[type=number] {width:100%}
body .cwc .cwc-results {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;text-align:left;margin:0}
body .cwc .cwc-stat:has([data-out=perMonth]) {grid-row:1;grid-column:1/-1;border-bottom:1px solid var(--border);padding-bottom:20px;margin-bottom:12px}
body .cwc .cwc-stat .v {font-size:15px;overflow-wrap:anywhere;font-weight:600}
body .cwc .cwc-stat [data-out=perMonth] {font-size:42px;letter-spacing:-1.5px;color:var(--accent)}
body .cwc .cwc-stat .k {font-size:10px}
body .cwc .cwc-verdict {padding:14px 0;border:0;border-bottom:1px solid var(--border);background:none;border-radius:0;font-size:12px}
body .cwc table {min-width:0;table-layout:fixed;font-size:11px}
body .cwc th,body .cwc td {font-size:10px;padding:10px 3px;white-space:normal;overflow-wrap:anywhere}
body .cwc th:first-child,body .cwc td:first-child {width:30%}
body .cwc .cwc-src {font-size:11px}
body .cwc tr.cwc-sel td {background:var(--accent-soft)}
@media(min-width:1000px) {body:has(.cwc) .page-hero {max-width:900px}}
@media(max-width:1000px) {
 .calculator-layout,body .cwc {gap:20px;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}
 .calc {padding:22px}.cost-summary,body .cwc .cwc-summary {padding:16px}
 header.site .wrap {gap:16px}nav {gap:14px}nav a {font-size:12px}
}
@media(max-width:760px) {
 header.site {position:relative;padding:13px 0 10px}
 header.site .wrap {display:block}
 nav {margin-top:9px;gap:18px;overflow-x:auto;padding-bottom:3px}nav a {font-size:12px;min-height:30px;display:flex;align-items:center}
 .wrap {padding:0 16px}
 .home .hero {padding:25px 0 20px}
 .home .hero h1 {font-size:30px;letter-spacing:-1px;line-height:1.18}
 .home .hero p.sub {font-size:14px;line-height:1.6}
 .calculator-layout,body .cwc {grid-template-columns:minmax(0,1fr);gap:22px}
 .calc {padding:18px 16px;border-radius:10px}
 .calc h2 {font-size:18px}.trustline {font-size:10px;margin-bottom:20px}
 .models {flex-direction:row;gap:6px}.model {padding:10px 7px}.model b {font-size:12px}.model small {font-size:10px}
 .tiers {flex-direction:row}.tier {border-bottom:0;border-right:1px solid var(--line);padding:10px 5px}.tier b {font-size:12px}.tier small {font-size:9px}
 .grid {grid-template-columns:1fr 1fr;gap:12px 10px}
 label.field {font-size:11px}input[type=number] {font-size:16px;padding:10px}
 .preset {padding:10px 8px}.preset small {font-size:10px}.preset b {font-size:11px}
 .cost-summary {padding:20px 16px}.results {grid-template-columns:repeat(3,minmax(0,1fr))}
 .stat.hero-stat .v {font-size:44px}.stat .v {font-size:15px}
 .compare-wrap th,.compare-wrap td {font-size:10px;padding:12px 3px}
 .compare-wrap td.num {font-size:11px}
 .tibo-strip {display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px}.tibo-strip a.goto {grid-column:1/-1}
 section.block {padding:22px 16px}section.block h2 {font-size:22px;line-height:1.3}
 body .cwc .cwc-pills {gap:7px}body .cwc .cwc-pill {flex-basis:85px;padding:10px 8px;font-size:12px}body .cwc .cwc-pill small {font-size:10px}
 body .cwc {padding:16px}body .cwc .cwc-results {grid-template-columns:repeat(3,minmax(0,1fr))}
 article img.hero {max-height:210px}.page-hero h1 {font-size:30px}
}
@media(prefers-reduced-motion:reduce) {html {scroll-behavior:auto}*,*::before,*::after {animation:none!important;transition:none!important}}
.calc-card:has(.cwc) {padding:0;border:0;background:none}
body .cwc input[type=number] {border:1px solid var(--border);background:#fff;border-radius:6px;padding:10px 12px;color:var(--ink);font-size:16px}
body .cwc input[type=range] {width:100%;accent-color:var(--accent)}
body .cwc .cwc-stat:has([data-out=perMonth]) .v {font-size:42px;color:var(--accent)}
body .cwc .cwc-stat .v {font-size:15px}
body .cwc .cwc-summary {align-self:start}
.pill {font-family:inherit;letter-spacing:0}
.post-card:hover {transform:none;border-color:#9cbfa9;box-shadow:none}
.post-card .thumb {height:120px;object-fit:cover;border-radius:5px}
.disclosure,.ok-callout {background:var(--surface-tint);border-color:var(--border);border-radius:6px}
header.site nav a:first-child {border:1px solid var(--border);padding:4px 10px;border-radius:5px;color:var(--accent)}
@media(max-width:760px) {
 .lede {font-size:14px;line-height:1.65}.trust {font-size:11px}
 .page-hero {padding-bottom:6px}.crumbs {margin-top:20px}
}
/* Reserve space while the existing progressive calculator widget initializes. */
body .cwc {min-height:570px}
.hero-clock {background:var(--gradient);min-height:760px;padding:60px 20px}
.hero-clock #stars,.hero-clock .grid-floor,.hero-clock .vignette,.hero-clock .scan {display:none}
.hero-clock .digits,.hero-clock .digit-group:nth-child(2n) .digits {color:var(--accent);text-shadow:none;font-weight:650}
.hero-clock .colon {color:#91b6a2;animation:none}
.hero-clock .t-prefix,#statNext {text-shadow:none}
.hero-clock .ro {background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none;border-radius:8px}
.hero-clock .ro .rk {letter-spacing:.5px}
.honest,.honest b {color:var(--muted);background:#f8f7f0;border-color:#e1ddc8}
.card p {color:var(--muted)}
@media(max-width:760px) {body .cwc {min-height:1050px}.hero-clock {min-height:740px;padding:35px 16px 65px}.hero-clock .digits {font-size:48px}}
/* Keep currency values intact; wide extreme values scroll within the comparison. */
.compare-wrap td.num,body .cwc td:not(:first-child) {white-space:nowrap;overflow-wrap:normal}
@media(max-width:760px) {.compare-wrap td.num {font-size:10px;letter-spacing:-.2px}}
