:root{--stone-950:#1b1e20;--stone-900:#232629;--stone-800:#2b2f31;--stone-700:#34383b;--stone-600:#43484b;--chalk:#d8d5ce;--chalk-dim:#8e8f8a;--olive:#6e7355;--signal:#c0392b;--font-display:"Archivo Narrow", "Roboto Condensed", ui-sans-serif, system-ui, sans-serif;--font-body:"IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--measure:66ch;--rule:1px solid var(--stone-700);--radius:2px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body.hg{background:var(--stone-900);color:var(--chalk);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;font-weight:400;line-height:1.62}.hg ::selection{background:var(--olive);color:#fff}.hg a{color:inherit;text-decoration:none}.hg a:hover{text-underline-offset:3px;text-decoration:underline}.hg :focus-visible{outline:2px solid var(--signal);outline-offset:3px}.wrap{width:100%;max-width:1080px;margin:0 auto;padding:0 24px}.nav{z-index:10;background:color-mix(in srgb, var(--stone-900) 92%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:var(--rule);position:sticky;top:0}.nav-in{justify-content:space-between;align-items:center;gap:24px;height:58px;display:flex}.brand{font-family:var(--font-display);letter-spacing:.06em;align-items:center;gap:10px;font-size:1rem;font-weight:600;display:inline-flex}.brand:hover{text-decoration:none}.nav-links{color:var(--chalk-dim);align-items:center;gap:22px;font-size:.9375rem;display:flex}.nav-links a:hover{color:var(--chalk)}.lang{border-left:var(--rule);gap:8px;padding-left:18px;display:inline-flex}.lang-btn{cursor:pointer;font-family:var(--font-mono);letter-spacing:.08em;color:var(--chalk-dim);background:0 0;border:0;padding:0;font-size:.75rem}.lang-btn:hover{color:var(--chalk)}.lang-btn.is-on{color:var(--chalk);text-underline-offset:4px;text-decoration:underline}.section{border-bottom:var(--rule);padding:84px 0}.section--major{padding:104px 0}.section:last-of-type{border-bottom:0}.eyebrow{font-family:var(--font-display);letter-spacing:.02em;color:var(--chalk-dim);margin:0 0 28px;font-size:.9375rem;font-weight:600}.lede{max-width:62ch;margin:0 0 8px;font-size:1.125rem}.section--major .lede{font-size:1.25rem;line-height:1.45}.program{border-top:var(--rule);grid-template-columns:minmax(0,16rem) minmax(0,1fr);align-items:start;gap:28px;margin-top:36px;padding-top:26px;display:grid}.program-head{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.program-head h2{font-size:clamp(1.5rem,3vw,2rem)}.program-body p{color:var(--chalk-dim)}.validation{border-top:var(--rule);margin-top:20px;padding-top:18px;color:var(--chalk)!important}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;color:var(--chalk);margin:0;font-weight:600}h1{max-width:22ch;font-size:clamp(2.25rem,6.2vw,4rem);line-height:1.03}h2{font-size:clamp(1.5rem,3vw,2rem);line-height:1.12}h3{font-size:1.1875rem;line-height:1.25}p{max-width:var(--measure);margin:0 0 1.1em}p:last-child{margin-bottom:0}.dim{color:var(--chalk-dim)}.hero{border-bottom:var(--rule);padding:76px 0 72px}.hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:56px;display:grid}.hero-sub{color:var(--chalk-dim);margin-top:26px;font-size:1.0625rem}.hero-line{border-top:var(--rule);margin-top:22px;padding-top:22px;font-size:1.0625rem}.figure{margin:0}.figure svg{border:var(--rule);border-radius:var(--radius);background:var(--stone-950);width:100%;height:auto;display:block}.figure figcaption{font-family:var(--font-mono);color:var(--chalk-dim);margin-top:10px;font-size:.75rem}.split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:56px;display:grid}.facts{border-top:var(--rule);gap:0;display:grid}.fact{border-bottom:var(--rule);grid-template-columns:7.5rem minmax(0,1fr);align-items:baseline;gap:20px;padding:18px 0;display:grid}.fact-num{font-family:var(--font-mono);color:var(--chalk);font-size:1.125rem}.fact-label{color:var(--chalk-dim);font-size:.9375rem}.stages{border-top:var(--rule);margin-top:44px}.stage{border-bottom:var(--rule);grid-template-columns:minmax(0,15rem) minmax(0,1fr) auto;align-items:start;gap:28px;padding:26px 0;display:grid}.stage p{color:var(--chalk-dim);margin:0;font-size:1rem}.status{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border-radius:var(--radius);border:1px solid var(--stone-600);color:var(--chalk-dim);padding:4px 8px;font-size:.6875rem}.status--active{border-color:var(--signal);color:var(--signal)}.guardrail{border-left:2px solid var(--olive);background:var(--stone-800);max-width:74ch;margin-top:40px;padding:22px 24px}.guardrail strong{color:var(--chalk)}.guardrail span{color:var(--chalk-dim)}.principles{border-top:var(--rule);margin-top:8px}.principle{border-bottom:var(--rule);grid-template-columns:minmax(0,20rem) minmax(0,1fr);gap:28px;padding:24px 0;display:grid}.principle h3{font-size:1.0625rem}.principle p{color:var(--chalk-dim);margin:0;font-size:1rem}.contact-mail{font-family:var(--font-display);letter-spacing:-.02em;color:var(--chalk);margin-top:8px;font-size:clamp(1.5rem,4.4vw,2.5rem);display:inline-block}.foot{border-top:var(--rule);font-family:var(--font-mono);color:var(--chalk-dim);padding:26px 0 40px;font-size:.75rem}.aperture-move{animation:aperture-pan 18s var(--ease,cubic-bezier(.45, 0, .55, 1)) infinite alternate}@keyframes aperture-pan{0%{transform:translate(-90px,24px)}to{transform:translate(90px,-18px)}}@media (prefers-reduced-motion:reduce){.aperture-move{animation:none}}@media (width<=880px){.hero-grid,.split{grid-template-columns:minmax(0,1fr);gap:40px}.stage,.principle{grid-template-columns:minmax(0,1fr);gap:12px}.section{padding:60px 0}}@media (width<=420px){.wrap{padding:0 18px}.fact{grid-template-columns:minmax(0,1fr);gap:4px}}.section--major .principles{margin-top:36px}.principle h2{font-size:1.3125rem;line-height:1.25}.section--major .principle{grid-template-columns:minmax(0,22rem) minmax(0,1fr);padding:28px 0}.section--major .facts{border-top:0;margin-top:44px}.section--major .fact{grid-template-columns:9rem minmax(0,1fr)}@media (width<=880px){.program{grid-template-columns:minmax(0,1fr);gap:16px}.section--major{padding:64px 0}.section--major .principle{grid-template-columns:minmax(0,1fr)}}
