:root{
  --forest:#0F3A2A; --market:#2A9456; --ivory:#F6F0E0;
  --ground:var(--ivory); --ink:var(--forest); --ink-muted:rgba(15,58,42,.72); --panel:rgba(15,58,42,.05); --hairline:rgba(15,58,42,.16); --field:rgba(15,58,42,.30);
  --inv-ground:var(--forest); --inv-ink:var(--ivory); --inv-muted:rgba(246,240,224,.72); --inv-hair:rgba(246,240,224,.14);
  --btn-bg:var(--forest); --btn-ink:var(--ivory); --sp:rgba(15,58,42,.42); --band:rgba(15,58,42,.06);
  --font-display:"Outfit","Avenir Next",system-ui,sans-serif; --font-body:"Figtree","Helvetica Neue",system-ui,sans-serif; --radius:6px;
  color-scheme:light; box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --ground:var(--forest); --ink:var(--ivory); --ink-muted:rgba(246,240,224,.72); --panel:rgba(246,240,224,.07); --hairline:rgba(246,240,224,.14); --field:rgba(246,240,224,.30);
    --inv-ground:rgba(246,240,224,.07); --inv-ink:var(--ivory); --inv-muted:rgba(246,240,224,.72); --inv-hair:rgba(246,240,224,.14);
    --btn-bg:var(--ivory); --btn-ink:var(--forest); --sp:rgba(246,240,224,.45); --band:rgba(246,240,224,.06); color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --ground:var(--forest); --ink:var(--ivory); --ink-muted:rgba(246,240,224,.72); --panel:rgba(246,240,224,.07); --hairline:rgba(246,240,224,.14); --field:rgba(246,240,224,.30);
  --inv-ground:rgba(246,240,224,.07); --inv-ink:var(--ivory); --inv-muted:rgba(246,240,224,.72); --inv-hair:rgba(246,240,224,.14);
  --btn-bg:var(--ivory); --btn-ink:var(--forest); --sp:rgba(246,240,224,.45); --band:rgba(246,240,224,.06); color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box;}
html{height:100%; scroll-padding-top:calc(env(safe-area-inset-top,0px) + 84px); scroll-behavior:smooth; background:var(--ground);}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} }
body{margin:0; background:var(--ground); color:var(--ink); font:400 16px/1.6 var(--font-body); -webkit-font-smoothing:antialiased;}
h1,h2,h3{font-family:var(--font-display); font-weight:600; margin:0;}
h1{font-size:clamp(44px,6vw,64px); line-height:1; letter-spacing:-.025em;}
h2{font-size:clamp(32px,4vw,40px); line-height:1.1; letter-spacing:-.02em;}
h3{font-size:24px; line-height:1.25; letter-spacing:-.01em;}
p{margin:0;}
.lead{font-size:18px; line-height:1.55; max-width:62ch;}
.eyebrow{font:500 15px/1.33 var(--font-display); letter-spacing:.01em; color:var(--market); margin-bottom:16px;}
.green{color:var(--market);}
a{color:inherit; text-decoration-color:var(--market); text-underline-offset:4px; text-decoration-thickness:2px;}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--market); outline-offset:3px;}
.wrap{max-width:1120px; margin:0 auto; padding:0 28px;}
section{padding:96px 0;}
@media (max-width:700px){ section{padding:64px 0;} }
.dark{background:var(--inv-ground); color:var(--inv-ink);}
.dark .eyebrow{color:var(--inv-muted);}
.muted{color:var(--ink-muted);}
.dark .muted{color:var(--inv-muted);}

.btn{display:inline-block; font:600 15px/1 var(--font-display); padding:15px 26px; border-radius:var(--radius); text-decoration:none; border:1.5px solid var(--btn-bg); background:var(--btn-bg); color:var(--btn-ink); cursor:pointer;}
.btn:hover{background:var(--market); border-color:var(--market); color:var(--forest);}
.btn.outline{background:transparent; color:var(--ink); border-color:var(--ink);}
.btn.outline:hover{background:var(--market); border-color:var(--market); color:var(--forest);}
.dark .btn{background:var(--ivory); border-color:var(--ivory); color:var(--forest);}
.dark .btn:hover{background:var(--market); border-color:var(--market);}
.ctas{display:flex; gap:14px; flex-wrap:wrap; margin-top:34px;}

header.site{position:sticky; top:0; z-index:20; background:var(--ground); border-bottom:1px solid var(--hairline);}
body::before{content:""; position:fixed; inset:0 0 auto; height:env(safe-area-inset-top,0px); background:var(--ground); z-index:30;}
header.site .wrap{display:flex; align-items:center; justify-content:space-between; gap:20px; padding-top:18px; padding-bottom:18px; flex-wrap:wrap;}
.brandlink{display:block; color:var(--ink); line-height:0;}
.lockup{width:180px; height:auto; display:block;}
header nav{display:flex; align-items:center; gap:26px; flex-wrap:wrap;}
header nav a{font:500 15px var(--font-display); text-decoration:none; color:var(--ink);}
header nav a[aria-current="page"]{text-decoration:underline; text-decoration-color:var(--market);}
header nav .btn{padding:11px 18px; color:var(--btn-ink);}
@media (max-width:760px){ .lockup{width:150px;} header.site .wrap{padding-top:12px; padding-bottom:12px; row-gap:10px;} header nav{gap:16px;} header nav a:not(.btn){font-size:14px;} header nav .btn{display:none;} }

.hero{padding:96px 0 80px;}
.hero h1{font-size:clamp(52px,8vw,88px);}
.hero .lead{margin-top:26px;}
.pillars{display:flex; gap:14px; flex-wrap:wrap; margin-top:56px; padding-top:22px; border-top:1px solid var(--hairline); font:500 15px var(--font-display); color:var(--ink-muted);}

.belief h2{max-width:24ch;}
.belief p{margin-top:20px; max-width:60ch; font-size:18px;}

.panel{background:var(--panel); border:1px solid var(--hairline); border-radius:var(--radius); padding:28px 28px 22px;}
.panel-head{display:flex; justify-content:space-between; align-items:flex-end; gap:20px; flex-wrap:wrap; margin-bottom:10px;}
.panel-head h2{flex:1 1 300px; max-width:18ch;}
.readout{text-align:right; flex:0 0 auto;}
.readout .val{font:600 44px/1 var(--font-display); letter-spacing:-.02em; font-variant-numeric:tabular-nums;}
.readout .when{font-size:13px; color:var(--ink-muted); margin-top:8px;}
.readout .vs{font-size:14px; margin-top:2px;}
#chart{width:100%; height:auto; display:block; cursor:crosshair; touch-action:pan-y;}
.chart-foot{display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; align-items:center; margin-top:10px; font-size:13px; color:var(--ink-muted);}
.legend{display:flex; gap:20px; flex-wrap:wrap;}
.legend span{display:inline-flex; gap:8px; align-items:center;}
.legend i{display:inline-block; width:22px; height:3px; border-radius:2px;}
.scale{display:flex; border:1px solid var(--hairline); border-radius:var(--radius); overflow:hidden;}
.scale button{background:transparent; border:none; padding:8px 12px; font:500 13px var(--font-display); color:var(--ink); cursor:pointer;}
.scale button[aria-pressed="true"]{background:var(--btn-bg); color:var(--btn-ink);}
.milestones{display:grid; grid-template-columns:repeat(3,1fr); margin-top:22px; border-top:1px solid var(--hairline);}
.milestones div{padding:18px 18px 0 0;}
.milestones div+div{padding-left:18px; border-left:1px solid var(--hairline);}
.milestones b{display:block; font:600 28px/1.15 var(--font-display); letter-spacing:-.01em;}
.milestones span{font-size:14px; color:var(--ink-muted);}
@media (max-width:640px){ .milestones{grid-template-columns:1fr;} .milestones div+div{border-left:none; padding-left:0; border-top:1px solid var(--hairline);} .readout{text-align:left;} }
.ytd{display:grid; grid-template-columns:1fr 1fr; margin-top:24px; border-radius:var(--radius); overflow:hidden; border:1px solid var(--hairline);}
.ytd div{padding:22px 24px;}
.ytd .a{background:var(--inv-ground); color:var(--inv-ink);}
.ytd .b{background:var(--panel);}
.ytd p{font-size:14px;}
.ytd .a p{color:var(--inv-muted);}
.ytd .b p{color:var(--ink-muted);}
.ytd b{display:block; font:600 40px/1.1 var(--font-display); margin-top:4px; letter-spacing:-.02em;}
.ytd .a b{color:var(--inv-ink);}
.note{font-size:13px; line-height:1.4; color:var(--ink-muted); margin-top:14px; max-width:95ch;}

.mv{display:grid; grid-template-columns:1fr 1fr; gap:56px; margin-top:8px;}
.mv h2{font-size:clamp(26px,3vw,32px);}
.mv p{margin-top:14px; font-size:18px; line-height:1.55; color:var(--inv-muted);}
@media (max-width:760px){ .mv{grid-template-columns:1fr; gap:40px;} }

.cards{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:40px;}
@media (max-width:860px){ .cards{grid-template-columns:1fr;} }
.card{background:var(--panel); border:1px solid var(--hairline); border-radius:var(--radius); padding:28px;}
.card p{margin-top:10px; color:var(--ink-muted);}
.card svg{width:28px; height:28px; margin-bottom:18px; color:var(--market);}

.name{display:grid; grid-template-columns:1fr 1fr; gap:0; margin-top:40px; border:1px solid var(--hairline); border-radius:var(--radius); overflow:hidden;}
.name > div{padding:28px;}
.name .l{background:var(--panel);}
.name .m{background:var(--inv-ground); color:var(--inv-ink);}
.name .m p{color:var(--inv-muted);}
.name h3{font-size:22px; letter-spacing:.2em;}
.name h3 span{opacity:.55; font-weight:500;}
.name p{margin-top:10px; color:var(--ink-muted);}
@media (max-width:560px){ .name > div{padding:18px;} .name h3{font-size:16px; letter-spacing:.14em;} .name p{font-size:14px;} }

.tablewrap{overflow-x:auto; margin-top:32px;}
table{width:100%; border-collapse:collapse; font-variant-numeric:tabular-nums;}
th{text-align:left; font:600 14px var(--font-display); color:var(--ink-muted); padding:12px 8px; border-bottom:1.5px solid var(--ink);}
td{padding:16px 8px; border-bottom:1px solid var(--hairline);}
.n{text-align:right;}
.split{display:grid; grid-template-columns:1fr 1fr; gap:56px; margin-top:32px;}
.split > div p + p{margin-top:14px;}
.split p{color:var(--ink-muted);}
@media (max-width:760px){ .split{grid-template-columns:1fr; gap:24px;} }

.faq{margin-top:36px; border-top:1.5px solid var(--ink);}
.faq div{padding:24px 0; border-bottom:1px solid var(--hairline); display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:32px;}
.faq h3{font-size:20px;}
.faq p{color:var(--ink-muted);}
@media (max-width:760px){ .faq div{grid-template-columns:1fr; gap:8px;} }

.terms{margin-top:36px; border-top:1.5px solid var(--ink);}
.terms div{display:flex; justify-content:space-between; gap:20px; padding:18px 0; border-bottom:1px solid var(--hairline);}
.terms dd{margin:0; font-weight:600; text-align:right;}

.contact-grid{display:grid; grid-template-columns:1.2fr .8fr; gap:64px; margin-top:40px;}
@media (max-width:820px){ .contact-grid{grid-template-columns:1fr; gap:40px;} }
form{display:grid; gap:18px;}
label.f span{display:block; font:500 14px var(--font-display); margin-bottom:6px;}
label.f input,label.f textarea,label.f select{width:100%; padding:13px 14px; border:1px solid var(--field); border-radius:var(--radius); background:transparent; color:var(--ink); font:inherit;}
label.f input:focus,label.f textarea:focus,label.f select:focus{outline:2px solid var(--ink); outline-offset:0;}
label.f textarea{min-height:110px; resize:vertical;}
.check{display:flex; gap:10px; align-items:flex-start; font-size:14px; color:var(--ink-muted);}
.check input{margin-top:4px; accent-color:var(--forest);}
.direct dt{font:500 15px var(--font-display); color:var(--ink-muted);}
.direct dd{margin:6px 0 26px; font:600 20px var(--font-display);}

.cta h2{font-size:clamp(40px,5.5vw,56px); max-width:16ch;}
footer.site{background:var(--inv-ground); color:var(--inv-ink); padding:72px 0 calc(40px + env(safe-area-inset-bottom,0px)); border-top:1px solid var(--inv-hair);}
.foot-top{display:flex; justify-content:space-between; gap:32px; flex-wrap:wrap; padding-bottom:36px; border-bottom:1px solid var(--inv-hair);}
.foot-top .mark{width:44px; height:auto;}
.foot-top nav, .foot-top address{display:flex; flex-direction:column; gap:8px; font-style:normal;}
.foot-top a{text-decoration:none; color:var(--inv-ink);}
.foot-top a:hover{text-decoration:underline; text-decoration-color:var(--market);}
.legal{margin-top:32px;}
.legal p{font-size:13px; line-height:1.55; color:var(--inv-muted); margin-bottom:12px; max-width:110ch;}
.legal p.first{color:var(--inv-ink);}

/* ---- Added: skip link, breadcrumbs, prose, insights, calculator ---- */
.skip{position:absolute; left:-9999px; top:8px; z-index:50; background:var(--btn-bg); color:var(--btn-ink); padding:10px 16px; border-radius:var(--radius); font:600 14px var(--font-display);}
.skip:focus{left:12px;}
.dark .eyebrow{color:var(--inv-muted);}
.crumbs{font-size:14px; color:var(--ink-muted); margin-bottom:22px;}
.crumbs ol{list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:6px;}
.crumbs li+li::before{content:"/"; margin-right:6px; opacity:.6;}
.crumbs a{text-decoration:none;}
.crumbs a:hover{text-decoration:underline;}
.disclose{font-size:14px; line-height:1.5; margin-top:14px; padding:14px 16px; border-left:3px solid var(--market); background:var(--panel); max-width:95ch;}

.article-hero{padding:72px 0 8px;}
.article-hero h1{font-size:clamp(36px,5vw,54px); line-height:1.05; max-width:20ch;}
.dek{font-size:20px; line-height:1.5; margin-top:20px; max-width:58ch; color:var(--ink-muted);}
.byline{margin-top:22px; font-size:14px; color:var(--ink-muted);}
.byline a{color:var(--ink);}
.prose{max-width:68ch; padding-bottom:24px;}
.prose > * + *{margin-top:18px;}
.prose p,.prose li{font-size:18px; line-height:1.7;}
.prose h2{font-size:clamp(26px,3vw,32px); margin-top:56px;}
.prose h3{font-size:21px; margin-top:34px;}
.prose ul,.prose ol{padding-left:1.3em;}
.prose li + li{margin-top:8px;}
.prose .tablewrap{margin-top:24px;}
.prose table{font-size:16px;}
.prose figure{margin:28px 0 0;}
.prose figcaption{font-size:14px; color:var(--ink-muted); margin-top:10px;}
.summary{background:var(--panel); border:1px solid var(--hairline); border-radius:var(--radius); padding:22px 24px; margin-top:36px;}
.summary h2{font-size:18px; margin:0 0 8px;}
.summary p{font-size:17px;}
.math{font-family:var(--font-display); font-size:19px; padding:16px 20px; background:var(--panel); border-radius:var(--radius); overflow-x:auto; white-space:nowrap;}
.sources{border-top:1px solid var(--hairline); padding-top:22px; margin-top:48px;}
.sources h2{font-size:18px; margin:0;}
.sources ol{margin-top:12px;}
.sources li{font-size:15px; line-height:1.55; color:var(--ink-muted);}
.fineprint{font-size:14px; color:var(--ink-muted); line-height:1.55;}

.postlist{margin-top:36px; border-top:1.5px solid var(--ink);}
.post{display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px 32px; padding:26px 0; border-bottom:1px solid var(--hairline); text-decoration:none; color:inherit;}
.post h3{font-size:22px; grid-column:1;}
.post p{grid-column:1; color:var(--ink-muted); max-width:62ch;}
.post .rt{grid-column:2; grid-row:1 / span 2; align-self:center; font-size:14px; color:var(--ink-muted); white-space:nowrap;}
.post:hover h3{text-decoration:underline; text-decoration-color:var(--market); text-underline-offset:4px; text-decoration-thickness:2px;}
@media (max-width:640px){ .post{grid-template-columns:1fr;} .post .rt{grid-column:1; grid-row:auto;} }

.calc{background:var(--panel); border:1px solid var(--hairline); border-radius:var(--radius); padding:24px; margin-top:28px;}
.calc h3{margin:0;}
.calc-grid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-top:16px;}
@media (max-width:700px){ .calc-grid{grid-template-columns:1fr 1fr;} }
.calc label span{display:block; font:500 14px var(--font-display); margin-bottom:6px;}
.calc input,.calc select{width:100%; padding:11px 12px; border:1px solid var(--field); border-radius:var(--radius); background:var(--ground); color:var(--ink); font:inherit; font-size:16px;}
.calc-out{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:20px; border-top:1px solid var(--hairline);}
.calc-out div{padding:16px 16px 0 0;}
.calc-out div+div{padding-left:16px; border-left:1px solid var(--hairline);}
.calc-out b{display:block; font:600 30px/1.1 var(--font-display); font-variant-numeric:tabular-nums; letter-spacing:-.01em;}
.calc-out span{font-size:14px; color:var(--ink-muted);}
@media (max-width:640px){ .calc-out{grid-template-columns:1fr;} .calc-out div+div{border-left:none; padding-left:0; border-top:1px solid var(--hairline);} }
.calc .fineprint{margin-top:14px;}

.steps{margin:32px 0 0; padding:0; list-style:none; counter-reset:s; border-top:1.5px solid var(--ink);}
.steps li{counter-increment:s; display:grid; grid-template-columns:48px minmax(0,1fr); gap:16px; padding:20px 0; border-bottom:1px solid var(--hairline);}
.steps li::before{content:counter(s); font:600 24px/1.2 var(--font-display); color:var(--market);}
.steps h3{font-size:20px;}
.steps p{color:var(--ink-muted); margin-top:6px;}
.example{margin-top:32px;}
.example td:first-child{color:var(--ink-muted);}
.example tr.total td{font-weight:600; color:var(--ink); border-bottom:1.5px solid var(--ink);}
.principles{display:grid; grid-template-columns:1fr 1fr; gap:0 56px; margin-top:36px;}
.principles div{padding:22px 0; border-top:1px solid var(--hairline);}
.principles h3{font-size:21px;}
.principles p{margin-top:8px; color:var(--ink-muted);}
@media (max-width:760px){ .principles{grid-template-columns:1fr;} }
.founder{display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:56px; margin-top:32px; align-items:start;}
.founder .who h3{font-size:28px;}
.founder .who p{color:var(--ink-muted); margin-top:6px;}
.founder .bio p{font-size:18px; line-height:1.65;}
.founder .bio p+p{margin-top:16px;}
@media (max-width:760px){ .founder{grid-template-columns:1fr; gap:20px;} }
.notfound{min-height:60vh;}
@media print{ header.site,.ctas,.calc,footer.site nav,.skip{display:none !important;} body{background:#fff; color:#000;} .prose p,.prose li{font-size:12pt;} a{text-decoration:none;} }
.prose .fineprint,.prose .calc .fineprint{font-size:14px; line-height:1.55;}
.prose .calc h3{margin-top:0;}
@media (max-width:760px){
  header nav{gap:12px; flex-wrap:nowrap; overflow-x:auto; max-width:100%; scrollbar-width:none;}
  header nav::-webkit-scrollbar{display:none;}
  header nav a:not(.btn){font-size:13.5px; white-space:nowrap;}
}
@media (max-width:420px){ header nav a[href="/#performance"]{display:none;} }
