
@font-face{font-family:"Inter";src:url(../fonts/Inter.ttf);font-weight:100 900;font-display:swap}
@font-face{font-family:"GMono";src:url(../fonts/GeistMono.ttf);font-weight:100 900;font-display:swap}
:root{--base:#FAF8F3;--base2:#F3F0E8;--white:#FFFFFF;--ink:#14171A;--text:#4D5156;--muted:#7C8085;--line:#E7E3D9;--acc:#237A55;--accD:#1C6345;--tint:#E2F2E8;--glow:#9FE6BE;--card:#16191C;--ct:#ECEEEF;--cm:#9AA0A6;--nav-h:76px}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-padding-top:calc(var(--nav-h) + 16px)}
body{font-family:"Inter",system-ui,sans-serif;color:var(--text);background:var(--base);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;font-feature-settings:"cv11","ss01"}
a{color:inherit;text-decoration:none}
.mono{font-family:"GMono",monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.wrap{max-width:1240px;margin:0 auto;padding:0 48px}
.note{background:var(--white);border-bottom:1px solid var(--line);text-align:center;font-size:14px;color:var(--text);padding:10px 20px}
.note b{font-weight:550;color:var(--ink)} .note a{color:var(--acc);margin-left:8px;font-weight:550}
.top{position:relative;overflow:hidden}
.top:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(20,23,26,.11) 1px,transparent 1.2px);background-size:22px 22px;-webkit-mask-image:radial-gradient(60% 70% at 80% 40%,#000 0%,transparent 80%);pointer-events:none}
.top>*{position:relative}
.site-nav{position:sticky;top:0;z-index:40;background:var(--base)}
nav{display:flex;align-items:center;justify-content:space-between;height:var(--nav-h)}
.logo{display:flex;align-items:center;gap:10px;font-weight:600;font-size:21px;letter-spacing:-.03em;color:var(--ink)}
.links{display:flex;gap:32px;font-size:15px;color:var(--text)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:52px;padding:0 24px;border-radius:10px;font-weight:550;font-size:16px;white-space:nowrap;transition:transform .15s,background .15s}
.btn:hover{transform:translateY(-1px)}
.btn.p{background:var(--ink);color:#fff;box-shadow:0 1px 0 rgba(255,255,255,.15) inset,0 10px 24px -14px rgba(20,23,26,.8)}
.btn.p:hover{background:#000}
.btn.p .dot{width:8px;height:8px;border-radius:50%;background:var(--glow)}
.btn.g{color:var(--ink);background:var(--white);box-shadow:0 0 0 1px var(--line) inset}
.btn.sm{height:40px;padding:0 16px;font-size:14.5px;border-radius:9px}
.mob{display:none}
.hero{display:grid;grid-template-columns:minmax(0,1fr) 540px;gap:64px;align-items:center;padding:72px 0 112px}
.lab{display:inline-flex;align-items:center;gap:10px;color:var(--muted)}
.lab i{width:7px;height:7px;border-radius:50%;background:var(--acc)}
h1{font-size:76px;line-height:1.0;letter-spacing:-.055em;font-weight:500;color:var(--ink);margin:24px 0 26px}
h1 span{color:#8C8F92}
.lede{font-size:20px;line-height:1.55;color:var(--text);max-width:520px}
.ctas{display:flex;gap:12px;margin-top:36px;flex-wrap:wrap}
.facts{display:flex;gap:22px;margin-top:26px;font-size:14.5px;color:var(--muted);flex-wrap:wrap}
.facts span{display:inline-flex;align-items:center;gap:7px} .facts svg{color:var(--acc)}
/* composition */
.comp{position:relative;height:660px}
.guide{position:absolute;right:0;top:0;width:400px;border-radius:20px;background:var(--white);box-shadow:0 0 0 1px var(--line),0 30px 60px -30px rgba(60,50,30,.25);padding:26px 26px 28px}
.gt{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.tag{font-family:"GMono",monospace;font-size:11px;letter-spacing:.08em;color:var(--acc);background:var(--tint);border-radius:6px;padding:3px 8px}
.ex{font-family:"GMono",monospace;font-size:11px;letter-spacing:.08em;color:#7A5D0E;background:#F6EBC8;border-radius:6px;padding:3px 8px}
.guide h4{font-size:23px;font-weight:550;letter-spacing:-.03em;color:var(--ink);line-height:1.2;margin-bottom:10px}
.guide p{font-size:14.5px;color:var(--text);line-height:1.55}
.toc{margin-top:18px;border-top:1px solid var(--line)}
.toc div{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px;color:var(--ink)}
.toc span{font-family:"GMono",monospace;font-size:12px;color:var(--muted);padding-top:2px}
.fc{position:absolute;left:0;bottom:0;width:410px;border-radius:20px;background:var(--card);color:var(--ct);padding:24px;box-shadow:0 40px 80px -30px rgba(20,23,26,.55),0 0 0 1px rgba(0,0,0,.4);font-size:14px}
.fh{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.fh b{font-size:15px;font-weight:550;color:#fff}
.fc .ex{color:#F1D98A;background:rgba(241,217,138,.12)}
.pr{display:flex;justify-content:space-between;font-family:"GMono",monospace;font-size:11px;letter-spacing:.08em;color:var(--cm);text-transform:uppercase;margin-bottom:8px}
.bar{height:4px;border-radius:4px;background:rgba(255,255,255,.1);margin-bottom:18px}.bar i{display:block;width:60%;height:100%;background:var(--glow);border-radius:4px}
.q{font-size:19px;color:#fff;font-weight:500;letter-spacing:-.02em;line-height:1.35;margin-bottom:14px}
.opt{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:10px;box-shadow:0 0 0 1px rgba(255,255,255,.1) inset;margin-bottom:8px;color:var(--ct)}
.opt i{width:15px;height:15px;border-radius:50%;box-shadow:0 0 0 1.5px rgba(255,255,255,.3) inset;flex:none}
.opt.on{background:rgba(159,230,190,.10);box-shadow:0 0 0 1px rgba(159,230,190,.5) inset;color:#fff} .opt.on i{box-shadow:0 0 0 4.5px var(--glow) inset}
.fn{display:flex;justify-content:space-between;align-items:center;margin-top:16px;color:var(--cm);font-size:13px}
.fn span{background:var(--glow);color:var(--card);font-weight:600;border-radius:8px;padding:8px 14px;font-size:13.5px}
/* sections */
.light{background:var(--white);border-top:1px solid var(--line)}
section{padding:128px 0}
.kick{color:var(--acc)}
h2{font-size:54px;line-height:1.04;letter-spacing:-.05em;font-weight:500;color:var(--ink);margin:16px 0 0}
h2 span{color:#8C8F92}
.sub{font-size:19px;color:var(--text);margin-top:18px;max-width:520px}
.hd{display:flex;justify-content:space-between;align-items:flex-end;gap:64px} .hd>div{flex:1.7} .hd>.sub{flex:1;margin-bottom:6px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);margin-top:64px;border-top:1px solid var(--line)}
.step{padding:36px 40px 0 0} .step+.step{padding-left:40px;border-left:1px solid var(--line)}
.num{font-size:64px;font-weight:400;letter-spacing:-.05em;color:var(--acc);line-height:1}
.step h3{font-size:26px;font-weight:550;letter-spacing:-.03em;color:var(--ink);margin:28px 0 10px}
.step p{font-size:16.5px}
.tl{display:inline-block;margin-top:18px;color:var(--ink);font-weight:550;font-size:15.5px;border-bottom:1.5px solid var(--glow)}
.cl{margin-top:56px;border-top:1px solid var(--line)}
.cr{display:grid;grid-template-columns:1fr 1.6fr 180px;gap:40px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line)}
.cr h3{font-size:24px;font-weight:550;letter-spacing:-.03em;color:var(--ink)}
.cr p{font-size:16.5px}
.st{justify-self:end;display:inline-flex;align-items:center;gap:7px;font-style:normal;font-family:"GMono",monospace;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;padding:6px 11px;border-radius:999px;white-space:nowrap}
.st i{width:6px;height:6px;border-radius:50%;background:currentColor}
.s1{color:var(--accD);background:var(--tint)} .s2{color:var(--muted);background:var(--base2)}
.tb{border-radius:28px;background:var(--white);box-shadow:0 0 0 1px var(--line),0 30px 60px -40px rgba(60,50,30,.2);padding:72px}
.tb .hd{margin-bottom:56px}
.tg{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.ti{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;color:var(--acc);background:var(--tint)}
.tc h3{font-size:21px;font-weight:550;letter-spacing:-.02em;color:var(--ink);margin:24px 0 8px}
.tc p{font-size:16px}
.cta{text-align:center;padding-top:40px;padding-bottom:136px}
.cta h2{font-size:62px} .cta .sub{margin:18px auto 0} .cta .ctas{justify-content:center}
footer{border-top:1px solid var(--line);color:var(--muted);padding:56px 0 44px;font-size:14.5px;background:var(--base2)}
.fr{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding-bottom:32px;border-bottom:1px solid var(--line)}
.fl{display:flex;gap:28px;flex-wrap:wrap;color:var(--text)}
.disc{margin-top:26px;max-width:760px;font-size:13.5px;line-height:1.6}
@media (prefers-reduced-motion:no-preference){.fc{animation:up .9s .15s cubic-bezier(.2,.7,.2,1) both}.guide{animation:up .9s cubic-bezier(.2,.7,.2,1) both}@keyframes up{from{opacity:0;transform:translateY(24px)}}}
@media (max-width:760px){
 .wrap{padding:0 20px} .links,.desk{display:none} .mob{display:inline-flex}
 .note{font-size:12.5px} .note a{display:none}
 .hero{grid-template-columns:1fr;padding:40px 0 72px;gap:48px}
 h1{font-size:50px;letter-spacing:-.05em} .lede{font-size:18px}
 .ctas .btn{width:100%} .facts{gap:8px 18px;font-size:13.5px}
 .comp{height:auto;display:grid;gap:14px} .guide,.fc{position:static;width:100%} .fc{order:-1} .guide .toc{display:none}
 section{padding:88px 0} h2{font-size:38px} .sub{font-size:17px}
 .hd{display:block} .steps{grid-template-columns:1fr;margin-top:36px} .step,.step+.step{padding:28px 0;border-left:0;border-bottom:1px solid var(--line)} .num{font-size:48px} .step h3{margin-top:18px}
 .cr{grid-template-columns:1fr;gap:8px;padding:24px 0} .st{justify-self:start;margin-top:6px}
 .tb{padding:40px 24px;border-radius:22px} .tb .hd{margin-bottom:32px} .tg{grid-template-columns:1fr;gap:32px}
 .cta{padding-top:16px;padding-bottom:96px} .cta h2{font-size:40px}
}
.logo .lg{height:30px;width:auto;display:block}
/* v2-b colour overrides */
.btn.p{background:var(--acc);color:#fff;box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 10px 24px -14px rgba(28,99,69,.75)}
.btn.p:hover{background:var(--accD)}
.btn.p .dot{background:var(--glow)}
.fc{background:#fff;color:var(--ink);box-shadow:0 40px 80px -34px rgba(60,50,30,.28),0 0 0 1px var(--line)}
.fh b{color:var(--ink)}
.fc .ex{color:#7A5D0E;background:#F6EBC8}
.fc .pr,.fc .fn{color:#5F6469}
.bar{background:#E7E3D9}
.bar i{background:var(--acc)}
.q{color:var(--ink)}
.opt{color:var(--text);box-shadow:0 0 0 1px var(--line) inset}
.opt i{box-shadow:0 0 0 1.5px #C9C4B8 inset}
.opt.on{background:var(--tint);box-shadow:0 0 0 1.5px var(--acc) inset;color:var(--ink)}
.opt.on i{box-shadow:0 0 0 4.5px var(--acc) inset}
.fn span{background:var(--acc);color:#fff}
