@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400 700;font-display:swap;src:url("/assets/fonts/ibm-plex-sans-latin.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400 600;font-display:swap;src:url("/assets/fonts/ibm-plex-mono-500-latin.woff2") format("woff2")}

:root{
  --paper:#f5f7f3;
  --paper-deep:#e8f0ea;
  --surface:#fff;
  --ink:#102c28;
  --ink-soft:#31534c;
  --line:#acc1b7;
  --accent:#146b5b;
  --accent-dark:#0b4d42;
  --signal:#d77948;
  --signal-soft:#f3dfd2;
  --night:#0d2522;
  --night-soft:#c8d8d1;
  --font:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Consolas,monospace;
  --gutter:clamp(20px,4vw,48px);
  --wide:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;height:auto}
a{color:var(--accent-dark);text-underline-offset:.2em}
a:hover{color:var(--signal)}
:where(a,button,summary):focus-visible{outline:3px solid var(--signal);outline-offset:4px}
.skip-link{position:fixed;top:12px;left:12px;z-index:200;padding:8px 13px;background:var(--night);color:#fff;transform:translateY(-160%)}
.skip-link:focus{transform:none}
.wide{width:min(var(--wide),calc(100% - (2 * var(--gutter))));margin-inline:auto}
.narrow{width:min(760px,calc(100% - (2 * var(--gutter))));margin-inline:auto}

.site-header{position:sticky;top:0;z-index:100;background:rgba(245,247,243,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:76px}
.brand{display:inline-flex;align-items:center;width:196px}
.brand img{display:block}
.site-nav{display:flex;align-items:center;gap:clamp(15px,2.3vw,30px);font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.045em;text-transform:uppercase}
.site-nav a{text-decoration:none;color:var(--ink)}
.site-nav a:hover,.site-nav a[aria-current="page"]{color:var(--accent);text-decoration:underline;text-decoration-thickness:2px}
.site-nav .nav-cta{padding:10px 14px;background:var(--ink);color:#fff;border:1px solid var(--ink)}
.site-nav .nav-cta:hover{background:var(--accent);color:#fff;text-decoration:none;box-shadow:3px 3px 0 var(--signal)}
.site-menu{display:none;position:relative;font-family:var(--mono)}
.site-menu summary{cursor:pointer;font-size:12px;font-weight:600;list-style:none;text-transform:uppercase}
.site-menu summary::-webkit-details-marker{display:none}
.site-menu__panel{position:absolute;right:0;top:calc(100% + 22px);display:grid;width:min(320px,calc(100vw - 40px));padding:9px;background:var(--paper);border:1px solid var(--ink);box-shadow:6px 6px 0 var(--ink)}
.site-menu__panel a{padding:13px;color:var(--ink);font-size:12px;font-weight:600;text-decoration:none;text-transform:uppercase}
.site-menu__panel a+a{border-top:1px solid var(--line)}

.hero{position:relative;overflow:hidden;padding:clamp(76px,11vw,144px) 0 clamp(72px,9vw,116px);border-bottom:1px solid var(--line)}
.hero::after{position:absolute;right:-10vw;top:-18vw;width:45vw;height:45vw;content:"";border:1px solid var(--line);border-radius:50%;box-shadow:0 0 0 5vw rgba(20,107,91,.035),0 0 0 10vw rgba(20,107,91,.025);pointer-events:none}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.65fr);align-items:center;gap:clamp(48px,8vw,110px)}
.eyebrow,.kicker{margin:0 0 18px;color:var(--accent);font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
h1,h2,h3{margin:0;font-weight:600;line-height:1.08;letter-spacing:-.035em}
h1{max-width:820px;font-size:clamp(48px,7vw,88px)}
h2{font-size:clamp(34px,4.5vw,58px)}
h3{font-size:clamp(22px,2.4vw,30px)}
.lede{max-width:750px;margin:26px 0 0;color:var(--ink-soft);font-size:clamp(20px,2.2vw,27px);line-height:1.45}
.hero strong{display:block;margin-top:18px;font-size:18px}
.actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:34px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:50px;padding:12px 17px;background:var(--accent);border:2px solid var(--accent);color:#fff;font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.025em;text-decoration:none;text-transform:uppercase}
.button:hover{background:var(--ink);border-color:var(--ink);color:#fff;box-shadow:4px 4px 0 var(--signal)}
.button.secondary{background:transparent;color:var(--ink);border-color:var(--line)}
.button.secondary:hover{border-color:var(--ink);box-shadow:none}
.signal-map{position:relative;min-height:380px;padding:24px;background:var(--night);color:#fff;border-radius:2px;box-shadow:14px 14px 0 var(--paper-deep)}
.signal-map__label{display:flex;justify-content:space-between;color:var(--night-soft);font-family:var(--mono);font-size:11px;text-transform:uppercase}
.signal-map__field{position:absolute;inset:68px 24px 24px;border:1px solid rgba(200,216,209,.25);background:linear-gradient(rgba(200,216,209,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(200,216,209,.08) 1px,transparent 1px);background-size:34px 34px}
.signal-node{position:absolute;display:grid;place-items:center;width:96px;height:96px;padding:12px;background:var(--paper-deep);border-radius:50%;color:var(--ink);font-family:var(--mono);font-size:11px;font-weight:600;text-align:center;text-transform:uppercase}
.signal-node::after{position:absolute;content:"";width:112px;height:1px;background:var(--signal);transform-origin:left}
.signal-node:nth-child(1){left:8%;top:10%}.signal-node:nth-child(1)::after{left:82%;top:88%;transform:rotate(27deg)}
.signal-node:nth-child(2){right:6%;top:32%}.signal-node:nth-child(2)::after{right:74%;top:98%;transform:rotate(145deg)}
.signal-node:nth-child(3){left:28%;bottom:7%;background:var(--signal-soft)}.signal-node:nth-child(3)::after{display:none}

.section{padding:clamp(72px,9vw,120px) 0;border-bottom:1px solid var(--line)}
.section-heading{display:grid;grid-template-columns:.75fr 1.25fr;gap:40px;margin-bottom:clamp(42px,6vw,72px)}
.section-heading p:last-child{max-width:650px;margin:8px 0 0;color:var(--ink-soft);font-size:19px}
.service-list{counter-reset:services;display:grid;border-top:1px solid var(--ink)}
.service{counter-increment:services;display:grid;grid-template-columns:100px 1fr 1fr;gap:clamp(24px,5vw,70px);padding:42px 0;border-bottom:1px solid var(--line)}
.service::before{content:"0" counter(services);font-family:var(--mono);font-size:14px;color:var(--signal)}
.service p{margin:15px 0 22px;color:var(--ink-soft)}
.service ul{margin:0;padding-left:20px;color:var(--ink-soft)}
.text-link{font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:uppercase}
.dark{background:var(--night);color:#fff}
.dark .kicker{color:#e2a17e}.dark p{color:var(--night-soft)}
.literacy-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(48px,9vw,130px)}
.principles{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(200,216,209,.4);border-left:1px solid rgba(200,216,209,.4)}
.principles article{padding:28px;border-right:1px solid rgba(200,216,209,.4);border-bottom:1px solid rgba(200,216,209,.4)}
.principles span{display:block;margin-bottom:16px;color:#e2a17e;font-family:var(--mono);font-size:12px}
.principles h3{font-size:20px;letter-spacing:-.02em}.principles p{margin-bottom:0;font-size:15px}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.why-grid article{padding:32px 26px;background:var(--paper)}
.why-grid span{color:var(--signal);font-family:var(--mono);font-size:12px}
.why-grid h3{margin-top:30px;font-size:23px}.why-grid p{margin-bottom:0;color:var(--ink-soft);font-size:16px}
.founder-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(48px,9vw,130px);align-items:start}
.founder-mark{display:grid;place-items:center;aspect-ratio:1;background:var(--paper-deep);border:1px solid var(--line);font-size:clamp(74px,11vw,140px);font-weight:600;letter-spacing:-.08em}
.founder-mark span{position:relative}.founder-mark span::after{position:absolute;right:-25px;top:5px;width:18px;height:18px;content:"";background:var(--signal);border-radius:50%}
.founder-copy p{max-width:670px;color:var(--ink-soft)}
.proof-line{margin-top:28px;padding-top:22px;border-top:1px solid var(--line);font-family:var(--mono);font-size:12px;text-transform:uppercase}
.final-cta{text-align:center}.final-cta h2{max-width:850px;margin-inline:auto}.final-cta p{max-width:650px;margin:24px auto 0}.final-cta .actions{justify-content:center}

.page-hero{padding:clamp(64px,9vw,112px) 0 64px;border-bottom:1px solid var(--line)}
.page-hero h1{max-width:950px;font-size:clamp(46px,6.5vw,78px)}
.breadcrumbs{padding-top:22px;font-family:var(--mono);font-size:11px;text-transform:uppercase}
.page-grid{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(48px,9vw,130px)}
.page-grid aside{align-self:start;padding:24px;background:var(--paper-deep);border-top:3px solid var(--accent)}
.page-grid aside h2{font-size:21px}.page-grid aside ul{padding-left:19px;color:var(--ink-soft)}
.content h2{margin:56px 0 20px;font-size:clamp(29px,3vw,41px)}
.content h2:first-child{margin-top:0}.content h3{margin:32px 0 12px;font-size:23px}.content p,.content li{color:var(--ink-soft)}
.content ul{padding-left:22px}.content .callout{margin:42px 0;padding:28px;border-left:4px solid var(--signal);background:var(--signal-soft);color:var(--ink);font-size:20px}

.site-footer{padding:56px 0 30px;background:var(--night);color:var(--night-soft);border-top:4px solid var(--signal)}
.footer-grid{display:grid;grid-template-columns:1.35fr .8fr .85fr;gap:50px}
.footer-brand{color:#fff;font-size:25px;font-weight:600;text-decoration:none}.footer-grid p{max-width:440px}
.footer-links{display:grid;align-content:start;gap:9px}.footer-links strong{margin-bottom:7px;color:#fff;font-family:var(--mono);font-size:11px;text-transform:uppercase}.footer-links a{color:var(--night-soft)}
.footer-relation{margin-top:42px;padding-top:24px;border-top:1px solid rgba(200,216,209,.25)}.footer-relation strong{color:#fff}.footer-relation a{color:#fff}
.footer-legal{display:flex;justify-content:space-between;gap:24px;margin-top:36px;padding-top:22px;border-top:1px solid rgba(200,216,209,.25);font-family:var(--mono);font-size:10px;text-transform:uppercase}

@media(max-width:900px){
  .site-nav{display:none}.site-menu{display:block}.hero-grid,.section-heading,.literacy-grid,.founder-grid,.page-grid{grid-template-columns:1fr}.signal-map{min-height:330px}.service{grid-template-columns:60px 1fr}.service>div:last-child{grid-column:2}.why-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.founder-mark{max-width:380px}
}
@media(max-width:600px){
  body{font-size:16px}.site-header__inner{min-height:68px}.brand{width:165px}.hero{padding-top:62px}.hero-grid{gap:42px}.signal-map{min-height:300px;padding:18px}.signal-map__field{inset:58px 18px 18px}.signal-node{width:82px;height:82px;font-size:9px}.service{grid-template-columns:1fr;gap:10px}.service>div:last-child{grid-column:auto}.principles,.why-grid,.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.footer-legal{display:grid}.actions{align-items:stretch;flex-direction:column}.button{width:100%}.page-hero{padding-top:50px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
