/* Foundation Ledger: deep green, paper, one coral heart. Serif display, system sans body. No external fonts. */
:root{--bg:#F7F2E7;--surface:#FFFDF8;--fg:#1B2420;--muted:#55605A;--green:#17352B;--heart:#D4505F;--line:#D9CFB8;--soft:#EFE8D6;--on-green:#F7F2E7;--link:#17352B;
--serif:"Iowan Old Style",Palatino,"Palatino Linotype","Book Antiqua",serif;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0F1D18;--surface:#17261F;--fg:#F1EBDD;--muted:#B7C0B8;--green:#E9E2CF;--heart:#EE7683;--line:#2F4238;--soft:#1B2D25;--on-green:#0F1D18;--link:#E9E2CF;color-scheme:dark}}
:root[data-theme="dark"]{--bg:#0F1D18;--surface:#17261F;--fg:#F1EBDD;--muted:#B7C0B8;--green:#E9E2CF;--heart:#EE7683;--line:#2F4238;--soft:#1B2D25;--on-green:#0F1D18;--link:#E9E2CF;color-scheme:dark}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:17px/1.65 var(--sans);padding-inline:max(16px,env(safe-area-inset-left,0px)) max(16px,env(safe-area-inset-right,0px))}
.wrap{max-width:46rem;margin-inline:auto;padding-block:1.5rem 2.5rem}
h1,h2,h3{font-family:var(--serif);font-weight:500;color:var(--green);line-height:1.1;text-wrap:balance;margin:0}
h1{font-size:clamp(2.4rem,9vw,4rem);letter-spacing:-.01em}
h2{font-size:1.65rem;margin-block:3rem .9rem;padding-top:1rem;border-top:1px solid var(--line)}
p,li{max-width:60ch}
a{color:var(--link);text-underline-offset:3px}
a:focus-visible{outline:3px solid var(--heart);outline-offset:3px;border-radius:3px}
.top{display:flex;align-items:center;gap:.6rem;font:500 1.4rem var(--serif);text-decoration:none;color:var(--green);border-bottom:1px solid var(--line);padding-bottom:1rem}
.top svg{width:1.9rem;height:1.9rem}
.mark .r{fill:var(--green)}.mark .h{fill:var(--heart)}
.eyebrow{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.hero{display:flex;flex-direction:column;gap:1.3rem;align-items:flex-start;padding-block:3rem 1rem}
.promise{font-size:1.25rem;margin:0;max-width:34ch;color:var(--fg)}
.statement{width:100%;max-width:26rem;background:var(--surface);border:1px solid var(--line);padding:1.3rem 1.5rem;display:grid;gap:.6rem;font-size:.95rem}
.statement .row{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.statement .k{color:var(--muted)}
.statement .rule{border-top:2px solid var(--green)}.statement .hair{border-top:1px solid var(--line)}
.statement .bar{display:block;width:6rem;height:.7rem;background:var(--line)}
.statement .total{font:500 1.9rem var(--serif);color:var(--green);font-variant-numeric:tabular-nums}
.statement .lbl{font:500 1.1rem var(--serif);color:var(--green)}
.statement .paid{display:flex;align-items:center;gap:.4rem;color:var(--muted);font-size:.85rem}
.statement .paid svg{width:1rem;height:1rem;flex:none}
.steps{list-style:none;padding:0;margin:0;display:grid;gap:0;counter-reset:s;border-top:1px solid var(--line)}
.steps li{counter-increment:s;border-bottom:1px solid var(--line);padding:1rem 0 1rem 3rem;position:relative}
.steps li::before{content:counter(s);position:absolute;left:0;top:.95rem;font:500 1.5rem var(--serif);color:var(--heart);font-variant-numeric:tabular-nums}
.steps b{display:block;font-family:var(--serif);font-weight:500;font-size:1.15rem;color:var(--green)}
.pillars{display:grid;gap:1.4rem;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr))}
.pillars b{display:block;font-family:var(--serif);font-weight:500;font-size:1.15rem;color:var(--green);margin-bottom:.2rem}
.check{width:100%;border-collapse:collapse;font-size:.95rem}
.check td{border-bottom:1px solid var(--line);padding:.6rem .5rem .6rem 0;vertical-align:top}
.check td:first-child{color:var(--muted);width:40%}
.note{border-left:3px solid var(--heart);padding:.1rem 0 .1rem 1rem;margin-block:1.5rem}
.cta{margin-top:3rem;background:var(--green);color:var(--on-green);padding:1.8rem;display:flex;flex-direction:column;gap:.8rem;align-items:flex-start}
.cta h2{margin:0;padding:0;border:0;color:var(--on-green)}.cta p{margin:0}
.badge{display:inline-flex;flex-direction:column;border:1px solid currentColor;padding:.55rem 1.2rem;opacity:.8;cursor:not-allowed;user-select:none}
.badge small{font-size:.75rem}.badge strong{font:500 1.2rem var(--serif)}
footer{border-top:1px solid var(--line);margin-top:3rem;padding-top:1.2rem;display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;color:var(--muted);font-size:.92rem}
footer a{color:var(--muted)}
.tag{display:inline-block;border:1px solid var(--line);padding:.15rem .8rem;font-size:.85rem;color:var(--muted)}
