:root{
  --paper:#fcfaf6;
  --paper-alt:#f3efe9;
  --panel:#fffdf9;
  --ink:#1a1512;
  --copy:#4f4742;
  --muted:#706761;
  --dim:#8a8078;
  --rule:#d7d1ca;
  --rule-soft:#e9e3dc;
  --rust:#b33b00;
  --rust-dark:#842c06;
  --rust-soft:#f5e6dc;
  --good:#39745a;
  --serif:Georgia,"Times New Roman",serif;
  --sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --mono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;
  --max:1240px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper)}
body{margin:0;overflow-x:hidden;background:var(--paper);color:var(--copy);font-family:var(--sans);font-size:16px;line-height:1.62;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
button,input{font:inherit}
::selection{background:var(--rust);color:#fffaf4}
.wrap{width:min(var(--max),100%);margin-inline:auto;padding-inline:clamp(20px,5vw,64px)}
.mono{font-family:var(--mono)}
.skip{position:fixed;z-index:100;top:8px;left:8px;padding:9px 13px;background:var(--ink);color:var(--paper);transform:translateY(-150%)}
.skip:focus{transform:none}

.nav{position:sticky;z-index:50;top:0;border-bottom:1px solid var(--rule);background:rgba(252,250,246,.96);backdrop-filter:blur(12px)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:68px}
.brand{display:inline-flex;align-items:baseline;white-space:nowrap;color:var(--ink)}
.brand-word{font:500 25px/1 var(--serif);letter-spacing:-.03em}
.brand-word>span{color:var(--rust)}
.brand-context{margin-left:12px;color:var(--muted);font:600 9px/1 var(--mono);letter-spacing:.09em;text-transform:uppercase}
.nav-links{display:flex;align-items:center;gap:clamp(16px,2vw,27px);font-size:.76rem;color:var(--muted)}
.nav-links>a{padding:8px 0;border-bottom:1px solid transparent}
.nav-links>a:hover{color:var(--ink);border-color:var(--rust)}
.nav-links .nav-cta{min-height:38px;padding:9px 15px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);font-weight:700}
.nav-links .nav-cta:hover{border-color:var(--rust);background:var(--rust);color:#fff}
.nav-toggle{display:none;width:40px;height:40px;padding:0 10px;border:1px solid var(--rule);background:transparent;cursor:pointer}
.nav-toggle span{display:block;height:1.5px;margin:4px 0;background:var(--ink);transition:.18s}

.hero{border-bottom:1px solid var(--rule)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:clamp(48px,8vw,110px);align-items:end;padding-top:clamp(72px,9vw,122px);padding-bottom:clamp(54px,7vw,86px)}
.kicker{margin:0;color:var(--rust);font:700 .67rem/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.hero h1,.section h2{margin:15px 0 0;color:var(--ink);font-family:var(--serif);font-weight:500;letter-spacing:-.045em}
.hero h1{max-width:900px;font-size:clamp(3.3rem,7vw,6.45rem);line-height:.9}
.hero h1 em,.section h2 em{color:var(--rust);font-style:normal}
.lead{max-width:720px;margin:27px 0 0;color:var(--muted);font-size:clamp(1.05rem,1.6vw,1.26rem);line-height:1.58}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 18px;border:1px solid var(--ink);border-radius:0;font-size:.8rem;font-weight:750;cursor:pointer}
.button.primary{background:var(--ink);color:var(--paper)}
.button.primary:hover{border-color:var(--rust);background:var(--rust);color:#fff}
.button.secondary{background:transparent;color:var(--ink)}
.button.secondary:hover{border-color:var(--rust);color:var(--rust)}

.terminal{margin:0;border:1px solid #302a26;background:#1d1916;color:#f6f0e9;box-shadow:18px 20px 0 var(--rust-soft)}
.terminal figcaption{padding:12px 15px;border-bottom:1px solid #3b342f;color:#bfb5ad;font:600 .61rem/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.terminal-body{padding:24px 20px;font-size:.73rem;line-height:1.75;overflow:hidden}
.terminal-body p{margin:0 0 7px;white-space:nowrap}
.terminal-body b{color:#e88655}.terminal-body i{color:#f0c384;font-style:normal}.terminal-body .comment{color:#80766f}.terminal-body .output{color:#c9c1bb}
.terminal svg{width:100%;height:86px;margin:10px 0}.grid-line{fill:none;stroke:#312c28;stroke-width:1}.loss-line{fill:none;stroke:#dd6a33;stroke-width:3;vector-effect:non-scaling-stroke}
.hero-facts{display:grid;grid-template-columns:repeat(4,1fr);padding-top:0;padding-bottom:0;border-top:1px solid var(--ink)}
.hero-facts>div{min-height:116px;padding:20px;border-right:1px solid var(--rule)}
.hero-facts>div:first-child{padding-left:0}.hero-facts>div:last-child{border-right:0}
.hero-facts dt{color:var(--rust);font:500 2rem/1 var(--serif)}
.hero-facts dd{max-width:19ch;margin:11px 0 0;color:var(--muted);font-size:.77rem;line-height:1.4}

.section{padding:clamp(70px,8vw,108px) 0;border-bottom:1px solid var(--rule);scroll-margin-top:68px}
.section.alt{background:var(--paper-alt)}
.section-head{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:clamp(40px,8vw,110px);align-items:end;margin-bottom:45px}
.section h2{max-width:820px;font-size:clamp(2.55rem,5.4vw,5.05rem);line-height:.96}
.section-head>p{max-width:510px;margin:0;color:var(--muted);font-size:.96rem}
.outcome-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink);border-left:1px solid var(--rule)}
.outcome-grid article{min-height:270px;padding:25px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);background:var(--panel)}
.outcome-grid article>span,.method-grid article>span{color:var(--rust);font:700 .64rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.outcome-grid h3,.method-grid h3{margin:45px 0 12px;color:var(--ink);font:500 1.55rem/1.05 var(--serif);letter-spacing:-.025em}
.outcome-grid p,.method-grid p{margin:0;color:var(--muted);font-size:.86rem;line-height:1.55}

.curriculum{border-top:1px solid var(--ink)}
.block-title{display:grid;grid-template-columns:90px 1fr;gap:20px;padding:29px 0 11px;color:var(--ink);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}
.block-title span{color:var(--rust);font:700 .64rem var(--mono)}
.curriculum details{border-top:1px solid var(--rule)}
.curriculum details:last-child{border-bottom:1px solid var(--rule)}
.curriculum summary{display:grid;grid-template-columns:70px minmax(200px,.9fr) 1fr 24px;gap:20px;align-items:center;padding:18px 0;cursor:pointer;list-style:none}
.curriculum summary::-webkit-details-marker{display:none}
.curriculum summary::after{content:"+";justify-self:end;color:var(--rust);font:500 1.25rem var(--mono)}
.curriculum details[open] summary::after{content:"−"}
.curriculum summary>span{color:var(--rust);font:700 .68rem var(--mono)}
.curriculum summary>b{color:var(--ink);font-weight:700}
.curriculum summary>em{color:var(--dim);font:.7rem var(--mono);font-style:normal;text-align:right}
.curriculum details>div{display:grid;grid-template-columns:minmax(200px,.9fr) 1fr;gap:30px;margin-left:90px;padding:0 0 22px;color:var(--muted);font-size:.86rem}
.curriculum details>div p{margin:0}.curriculum details>div strong{color:var(--ink);font-weight:650}

.method-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink);border-left:1px solid var(--rule)}
.method-grid article{min-height:300px;padding:26px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);background:var(--panel)}
.method-grid h3{margin-top:54px;font-size:1.75rem}
.dark{border-color:#3b342f;background:#1d1916;color:#eee7df}
.dark .kicker{color:#eb7943}.dark h2{color:#fffaf4}.dark h2 em{color:#eb7943}
.ecosystem-grid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(420px,1.25fr);gap:clamp(54px,9vw,125px)}
.ecosystem-lead{max-width:520px;margin:27px 0 0;color:#c9c1bb;font-size:1.03rem}
.ecosystem-list{border-top:1px solid #f1e9e0}
.ecosystem-list a{display:grid;grid-template-columns:120px minmax(120px,.6fr) 1fr auto;gap:22px;align-items:center;padding:20px 0;border-bottom:1px solid #433b36}
.ecosystem-list a:hover b,.ecosystem-list a:hover i{color:#eb7943}
.ecosystem-list span{color:#a99e96;font:600 .6rem var(--mono);text-transform:uppercase;letter-spacing:.07em}
.ecosystem-list b{color:#fffaf4;font:500 1.35rem var(--serif)}
.ecosystem-list p{margin:0;color:#bfb5ad;font-size:.8rem}.ecosystem-list i{color:#d5ccc4;font:.66rem var(--mono);font-style:normal}

.audience-grid{display:grid;grid-template-columns:minmax(230px,.6fr) 1.4fr;gap:clamp(45px,8vw,110px)}
.audience-columns{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--ink);border-left:1px solid var(--rule)}
.audience-columns article{padding:25px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);background:var(--panel)}
.audience-columns h3{margin:0 0 20px;color:var(--ink);font:500 1.35rem var(--serif)}
.audience-columns ul{margin:0;padding:0;list-style:none}.audience-columns li{position:relative;padding:10px 0 10px 20px;border-top:1px solid var(--rule-soft);color:var(--muted);font-size:.84rem}.audience-columns li::before{content:"→";position:absolute;left:0;color:var(--rust)}

.apply-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(400px,1.2fr);gap:clamp(55px,9vw,125px);align-items:start}
.apply-copy>p:not(.kicker){max-width:530px;margin:25px 0 0;color:var(--muted)}
.apply-copy dl{margin:36px 0 0;border-top:1px solid var(--ink)}
.apply-copy dl>div{display:grid;grid-template-columns:100px 1fr;gap:20px;padding:13px 0;border-bottom:1px solid var(--rule)}
.apply-copy dt{color:var(--dim);font:700 .62rem var(--mono);text-transform:uppercase}.apply-copy dd{margin:0;color:var(--ink);font-size:.84rem}
.application-form{padding:30px;border:1px solid var(--ink);background:var(--panel)}
.field{margin-bottom:17px}.field label{display:block;margin-bottom:7px;color:var(--ink);font-size:.8rem;font-weight:700}.field label>span,.consent b{color:var(--rust)}.field label small{color:var(--dim);font-weight:400}
.field input{width:100%;height:47px;padding:10px 12px;border:1px solid var(--rule);border-radius:0;background:var(--paper);color:var(--ink)}
.field input:focus{outline:2px solid var(--rust-soft);border-color:var(--rust)}
.honeypot{position:absolute;left:-9999px}
.consent{display:grid;grid-template-columns:17px 1fr;gap:10px;margin:22px 0;color:var(--muted);font-size:.73rem;line-height:1.5}.consent input{width:16px;height:16px;margin:2px 0;accent-color:var(--rust)}.consent a{color:var(--rust);text-decoration:underline;text-underline-offset:2px}
.application-form .button{width:100%}.form-note{margin:12px 0 0;color:var(--dim);font-size:.68rem;text-align:center}.form-message{min-height:22px;margin-top:12px;font-size:.78rem}.form-message.error{color:#9b260e}.form-message.success{color:var(--good)}
.form-done{padding:25px 0}.form-done h3{margin:0 0 10px;color:var(--ink);font:500 2rem var(--serif)}.form-done p{color:var(--muted)}

.faq-grid{display:grid;grid-template-columns:minmax(220px,.55fr) 1.45fr;gap:clamp(45px,8vw,110px)}
.faq-grid>div:last-child{border-top:1px solid var(--ink)}
.faq details{border-bottom:1px solid var(--rule)}.faq summary{display:flex;justify-content:space-between;gap:20px;padding:19px 0;color:var(--ink);font-weight:700;cursor:pointer;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";color:var(--rust);font:500 1.15rem var(--mono)}.faq details[open] summary::after{content:"−"}.faq details p{max-width:760px;margin:0 0 21px;color:var(--muted);font-size:.9rem}

.footer{padding:50px 0 25px;border-top:1px solid var(--ink);background:var(--paper)}
.footer-main{display:grid;grid-template-columns:1.25fr repeat(3,.75fr);gap:40px;padding-bottom:38px}.footer-main>div:first-child p{max-width:330px;margin:18px 0 0;color:var(--muted);font-size:.8rem}.footer-main b{display:block;margin-bottom:12px;color:var(--ink);font:700 .62rem var(--mono);text-transform:uppercase;letter-spacing:.07em}.footer-main>div:not(:first-child) a{display:block;margin:8px 0;color:var(--muted);font-size:.77rem}.footer-main a:hover{color:var(--rust)}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:18px;border-top:1px solid var(--rule);color:var(--dim);font:.62rem var(--mono)}

.legal-page{padding-bottom:90px}.legal-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.5fr);gap:60px;align-items:end;padding-top:90px;padding-bottom:55px;border-bottom:1px solid var(--ink)}.legal-hero h1{max-width:850px;margin:14px 0 0;color:var(--ink);font:500 clamp(3rem,6vw,5.8rem)/.94 var(--serif);letter-spacing:-.045em}.legal-hero>p{margin:0;padding-left:18px;border-left:2px solid var(--rust);color:var(--muted);font-size:.85rem}.legal-layout{display:grid;grid-template-columns:minmax(210px,.42fr) minmax(0,1.58fr);gap:clamp(50px,9vw,130px);padding-top:55px}.legal-layout aside{position:sticky;top:100px;align-self:start;padding-top:16px;border-top:2px solid var(--ink)}.legal-layout aside b{color:var(--ink);font:.67rem var(--mono);text-transform:uppercase;letter-spacing:.08em}.legal-layout aside p{color:var(--muted);font-size:.82rem}.legal-layout aside a,.legal-copy a{color:var(--rust);text-decoration:underline;text-underline-offset:3px}.legal-copy{max-width:760px}.legal-copy section{padding:0;border:0}.legal-copy h2{margin:0 0 13px;color:var(--ink);font:500 2rem/1.1 var(--serif);letter-spacing:-.025em}.legal-copy p{margin:0;color:var(--copy);font-size:.97rem;line-height:1.78}.legal-copy section+section{margin-top:44px;padding-top:40px;border-top:1px solid var(--rule)}

a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--rust);outline-offset:4px}

@media(max-width:960px){
  .hero-grid,.section-head,.ecosystem-grid,.audience-grid,.apply-grid,.faq-grid,.legal-hero,.legal-layout{grid-template-columns:1fr}
  .terminal{max-width:620px}.outcome-grid{grid-template-columns:repeat(2,1fr)}.method-grid{grid-template-columns:1fr}.method-grid article{min-height:0}.ecosystem-list{min-width:0}.apply-copy{max-width:680px}
  .legal-layout aside{position:static;max-width:600px}
}

@media(max-width:760px){
  .nav-toggle{display:block}.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(5.5px) rotate(45deg)}.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}
  .nav-links{position:fixed;top:68px;left:0;right:0;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:11px 20px 23px;border-bottom:1px solid var(--rule);background:var(--paper);opacity:0;visibility:hidden;transform:translateY(-8px);transition:.18s}
  .nav-links.open{opacity:1;visibility:visible;transform:none}.nav-links>a{padding:12px 4px;border-bottom:1px solid var(--rule-soft);font-size:.92rem}.nav-links .nav-cta{margin-top:13px;text-align:center}
  .hero h1{font-size:clamp(3rem,13vw,4.1rem)}.hero-facts{grid-template-columns:repeat(2,1fr)}.hero-facts>div:nth-child(2){border-right:0}.hero-facts>div:nth-child(-n+2){border-bottom:1px solid var(--rule)}.hero-facts>div:nth-child(3){padding-left:0}
  .outcome-grid{grid-template-columns:1fr}.outcome-grid article{min-height:0}.curriculum summary{grid-template-columns:46px minmax(0,1fr) 22px}.curriculum summary>em{display:none}.curriculum details>div{grid-template-columns:1fr;margin-left:66px;gap:8px}.ecosystem-list a{grid-template-columns:75px 1fr auto}.ecosystem-list p{grid-column:2/-1}.audience-columns{grid-template-columns:1fr}.application-form{padding:23px}.footer-main{grid-template-columns:repeat(2,1fr)}.footer-main>div:first-child{grid-column:1/-1}
}

@media(max-width:480px){
  .brand-context{display:none}.actions .button{width:100%}.terminal{box-shadow:9px 10px 0 var(--rust-soft)}.terminal-body{font-size:.63rem;padding:18px 13px}.hero-facts{grid-template-columns:1fr}.hero-facts>div,.hero-facts>div:nth-child(2){min-height:0;padding:16px 0;border-right:0;border-bottom:1px solid var(--rule)}.hero-facts dd{max-width:none}.curriculum details>div{margin-left:0}.block-title{grid-template-columns:65px 1fr}.ecosystem-list a{grid-template-columns:1fr auto}.ecosystem-list a>span{grid-column:1/-1}.ecosystem-list p{grid-column:1/-1}.footer-main{grid-template-columns:1fr}.footer-main>div:first-child{grid-column:auto}.footer-bottom{flex-direction:column}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
