@font-face{font-family:'DM Sans';font-style:normal;font-weight:100 1000;font-display:swap;src:url('assets/fonts/dm-sans.ttf') format('truetype')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:200 800;font-display:swap;src:url('assets/fonts/manrope.ttf') format('truetype')}
/* Legibility and restrained depth refinement. */
:root{--forest:#123d31;--paper:#f5f5ed;--lime:#d4ed87;--ink:#19352d;--line:#cbd3c5;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:5px}button,input{font:inherit}button,a,input{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #aa590b;outline-offset:5px}::selection{background:var(--lime);color:var(--forest)}header,footer{display:flex;justify-content:space-between;align-items:center;padding:28px 5vw;gap:24px}.brand{font-family:Manrope,sans-serif;font-size:36px;font-weight:800;letter-spacing:-.04em;text-decoration:none;line-height:1}.brand span{display:block;font:600 9px 'DM Sans',sans-serif;letter-spacing:.24em;margin-top:9px}nav{display:flex;align-items:center;gap:32px;font-size:14px}nav a{text-decoration:none}.nav-cta{border-bottom:1px solid;padding:10px 0}.hero{background:var(--forest);color:var(--paper);display:grid;grid-template-columns:1.1fr 1fr;gap:7vw;padding:74px 7vw 76px;align-items:center}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,sans-serif}h1{font-size:clamp(52px,6.8vw,96px);letter-spacing:-.04em;line-height:1.03;font-weight:500}em{font-style:normal;color:var(--lime)}.hero-copy>p{font-size:18px;line-height:1.65;max-width:38ch;margin:26px 0}.button{display:inline-flex;justify-content:space-between;gap:32px;background:var(--lime);color:var(--forest);padding:19px 22px;text-decoration:none;font-weight:700;transition:background .15s}.button:hover{background:#e3f5b2}.text-link{display:block;margin-top:24px;font-size:14px}.hero-copy>.fine,.fine{font-size:12px;line-height:1.65}.hero-copy>.fine{color:#c3d2c6;margin-bottom:0}.story{background:var(--paper);color:var(--ink);transform:rotate(1deg);box-shadow:0 20px 40px #061e242b}.story-head{display:flex;justify-content:space-between;padding:20px;font-size:11px;border-bottom:1px solid var(--line);gap:12px}.record{display:flex;gap:12px;align-items:center;padding:20px;border-bottom:1px solid var(--line)}.avatar{width:38px;height:38px;display:grid;place-items:center;border:1px solid #92a395;border-radius:50%}.record p{font-size:11px;margin-top:5px}.conversation{padding:22px;min-height:385px;display:flex;flex-direction:column;gap:12px}.bubble{padding:14px 16px;font-size:13px;line-height:1.55;max-width:88%;border-radius:12px}.outgoing{background:#dfe8d9;align-self:flex-end;border-bottom-right-radius:0}.incoming{background:white;align-self:flex-start;border:1px solid var(--line);border-bottom-left-radius:0}[data-stage]{display:none}[data-stage].shown{display:block;animation:arrive .4s cubic-bezier(.16,1,.3,1)}.handover{background:var(--forest);color:var(--paper);padding:18px}.handover span{font-size:11px;color:var(--lime)}.handover strong{display:block;font-size:21px;margin:8px 0}.handover p{font-size:12px}.story-controls{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:15px;font-size:11px;gap:8px}.story-controls button{background:transparent;border:0;text-decoration:underline;text-underline-offset:4px;min-height:35px;cursor:pointer;color:var(--ink)}.statement,.calculator{display:grid;grid-template-columns:1fr 1fr;gap:9vw;padding:100px 7vw}.statement>p{font-size:clamp(25px,3vw,42px);line-height:1.4;letter-spacing:-.03em}.statement>p span{color:#657668}h2{font-size:clamp(30px,3.5vw,50px);font-weight:500;letter-spacing:-.035em;line-height:1.15}.statement h2{font-size:28px}.statement div p,.calculator p,.proof p{margin-top:24px;line-height:1.8;max-width:65ch}.process{background:#e4e9dc;padding:85px 7vw}.process em{color:#617847}.process ol{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:48px;margin:55px 0 30px;counter-reset:step}.process li{border-top:1px solid #7b8e76;padding-top:20px;counter-increment:step}.process li:before{content:counter(step);display:block;margin-bottom:22px}.process h3{font-size:21px;margin-bottom:14px}.process li p{line-height:1.75;font-size:15px}.systems{padding:100px 7vw;display:grid;grid-template-columns:1fr 1.4fr;gap:8vw}.system-list article{padding:26px 0;border-bottom:1px solid var(--line)}.system-list article:first-child{padding-top:0}.system-list span,.system-list small{font-size:12px}.system-list h3{font-size:29px;margin:9px 0}.system-list p{line-height:1.65;margin-bottom:12px}.system-list small{color:#536952}.calculator{background:var(--forest);color:var(--paper)}#scenario{display:grid;grid-template-columns:1fr 1fr;gap:22px}label{font-size:13px}input{display:block;width:100%;margin-top:9px;padding:12px;border:1px solid #9bb19e;color:var(--paper);background:transparent;border-radius:0;caret-color:var(--lime)}output{font-size:64px;color:var(--lime);grid-column:1/-1;font-variant-numeric:tabular-nums}#formula{grid-column:1/-1;font-size:12px;margin:0}.proof{padding:85px 7vw;border-bottom:1px solid var(--line)}.contact{padding:90px 7vw;background:var(--lime)}.contact h2{font-size:clamp(40px,6vw,80px)}.contact em{color:#4a6839}.contact p{max-width:52ch;line-height:1.7;margin-top:24px}.contact .button{background:var(--forest);color:white;margin-top:28px}.booking-notice{font-size:13px}footer p{font-size:11px}.skip{position:absolute;left:20px;top:-100px;z-index:20;background:white;padding:15px}.skip:focus{top:10px}@keyframes arrive{from{opacity:.4;transform:translateY(8px)}to{opacity:1;transform:none}}@media(max-width:800px){header{align-items:flex-start}nav{gap:15px;flex-wrap:wrap;justify-content:flex-end;max-width:65%;font-size:12px}.hero{grid-template-columns:1fr;padding:45px 6vw;gap:50px}.hero-copy>p{max-width:45ch}.story{transform:none;max-width:560px}.statement,.calculator,.systems{grid-template-columns:1fr;gap:40px;padding:65px 6vw}.process{padding:65px 6vw}.process ol{grid-template-columns:1fr;gap:30px}.process li:before{margin-bottom:12px}.proof,.contact{padding:65px 6vw}footer{align-items:flex-start;flex-wrap:wrap}.conversation{min-height:385px}h1{font-size:64px}}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
