@font-face{font-family:Montserrat;src:url("assets/fonts/montserrat-variable.woff2") format("woff2"),url("assets/fonts/montserrat-variable.ttf") format("truetype");font-weight:100 900;font-display:swap}
@font-face{font-family:Cormorant;src:url("assets/fonts/cormorant-variable.woff2") format("woff2"),url("assets/fonts/cormorant-variable.ttf") format("truetype");font-weight:300 700;font-display:swap}
:root{--obsidian:#070709;--ink:#151519;--porcelain:#f6f6f8;--paper:#fff;--platinum:#8e8f94;--line:rgba(20,20,25,.14);--line-dark:rgba(255,255,255,.16);--signal:#146ef5;--shell:min(1240px,calc(100% - 64px))}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--obsidian)}
body{margin:0;background:var(--porcelain);color:var(--ink);font-family:Montserrat,Arial,sans-serif;font-size:16px;line-height:1.5}
body.menu-open{overflow:hidden}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit}
button{cursor:pointer}
.shell{width:var(--shell);margin:0 auto}
.skip-link{position:fixed;z-index:100;top:12px;left:12px;padding:12px 16px;background:#fff;color:#000;transform:translateY(-160%);transition:transform .2s}
.skip-link:focus{transform:translateY(0)}
:focus-visible{outline:3px solid var(--signal);outline-offset:4px}
.site-header{position:sticky;z-index:50;top:0;border-bottom:1px solid rgba(255,255,255,.06);background:rgba(7,7,9,.88);backdrop-filter:blur(16px)}
.nav-shell{display:flex;width:var(--shell);min-height:64px;margin:0 auto;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-flex;flex:0 0 auto;align-items:center}
.brand img{width:126px;height:auto}
.nav-links{display:flex;align-items:center;gap:28px;color:#c6c6ca;font-size:.75rem;font-weight:560}
.nav-links>a:not(.nav-action):hover{color:#fff}
.nav-action{padding:10px 15px;border-radius:999px;background:var(--signal);color:#fff}
.menu-button{display:none;width:44px;height:44px;padding:10px;border:0;background:transparent}
.menu-button span{display:block;width:22px;height:1px;margin:6px auto;background:#fff}
.hero{position:relative;min-height:min(780px,calc(100svh - 64px));overflow:hidden;background:var(--obsidian);color:#fff;isolation:isolate}
.hero-media,.hero-media picture,.hero-media img,.hero-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-media img{object-position:67% center}
.hero-media video{opacity:0;transition:opacity .7s}
.hero-media video.ready{opacity:1}
.hero:after{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(7,7,9,.95) 0%,rgba(7,7,9,.69) 43%,rgba(7,7,9,.08) 78%),linear-gradient(0deg,rgba(7,7,9,.66),transparent 43%);content:""}
.hero-inner{position:relative;z-index:1;display:flex;min-height:inherit;padding:clamp(100px,14vh,170px) 0 68px;flex-direction:column;align-items:flex-start;justify-content:center}
.eyebrow{margin:0 0 18px;color:#d4d4d8;font-size:.69rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.eyebrow-dark{color:#606168}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{letter-spacing:-.075em;line-height:.92}
h1{max-width:850px;margin-bottom:26px;font-size:clamp(3.9rem,8vw,8.2rem);font-weight:650}
h1 span,h2 span{color:#acadb4}
.hero-copy{max-width:650px;margin-bottom:13px;color:#e5e5e9;font-size:clamp(1rem,1.4vw,1.28rem);line-height:1.55}
.hero-proof{max-width:620px;margin-bottom:34px;color:#bbbcc3;font-size:.85rem;line-height:1.6}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.button{display:inline-flex;min-height:48px;padding:13px 18px;align-items:center;justify-content:center;gap:16px;border:1px solid transparent;border-radius:999px;font-size:.77rem;font-weight:700;transition:transform .2s,background .2s,border-color .2s}
.button:hover{transform:translateY(-2px)}
.button-primary{background:var(--signal);color:#fff}
.button-quiet{border-color:rgba(255,255,255,.32);color:#fff}
.button-secondary{border-color:rgba(255,255,255,.35);background:transparent;color:#fff}
.signature{margin:42px 0 0;color:#a9aab2;font-family:Cormorant,serif;font-size:1.3rem;font-style:italic}
.motion-toggle{position:absolute;z-index:2;right:26px;bottom:26px;padding:10px 13px;border:1px solid var(--line-dark);border-radius:999px;background:rgba(7,7,9,.62);color:#fff;font-size:.66rem}
.section{padding:clamp(78px,11vw,152px) 0}
.section-light{background:var(--porcelain)}
.section-dark{background:var(--obsidian);color:#fff}
.split-heading{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:64px;align-items:end;margin-bottom:64px}
h2{margin-bottom:0;font-size:clamp(3rem,6vw,6rem);font-weight:640}
.split-heading>p{max-width:440px;margin:0;color:#77787f;font-size:1rem;line-height:1.65}
.section-dark .split-heading>p{color:#b7b8c0}
.problem-grid,.route-flow,.audience-grid{display:grid;margin:0;padding:0;list-style:none}
.problem-grid{grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.problem-grid li,.audience-grid article{min-height:260px;padding:34px 28px;border-right:1px solid var(--line)}
.problem-grid li:last-child,.audience-grid article:last-child{border-right:0}
.problem-grid span,.route-flow span,.audience-grid span{display:block;margin-bottom:70px;color:#52535a;font-size:.68rem;font-weight:700;letter-spacing:.08em}
.problem-grid h3,.audience-grid h3{margin-bottom:14px;font-size:1.7rem;font-weight:650}
.problem-grid p,.audience-grid p{margin:0;color:#77787f;font-size:.83rem;line-height:1.65}
.route{padding-bottom:0}
.route-flow{grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark)}
.route-flow li{min-height:286px;padding:36px 28px;border-right:1px solid var(--line-dark)}
.route-flow li:last-child{border-right:0}
.route-flow span{margin-bottom:72px;color:#5b9aff}
.route-flow h3{margin-bottom:15px;font-size:1.65rem;font-weight:620}
.route-flow p{margin:0;color:#bbbcc3;font-size:.82rem;line-height:1.65}
.commitments{display:grid;grid-template-columns:repeat(4,1fr);padding:28px 0;gap:20px}
.commitments article{padding:8px 12px 8px 0}
.commitments i{display:block;width:7px;height:7px;margin-bottom:20px;border-radius:50%;background:var(--signal)}
.commitments h3{margin-bottom:9px;font-size:1rem;letter-spacing:-.04em}
.commitments p{margin:0;color:#a5a6ad;font-size:.76rem;line-height:1.6}
.system{background:#ececef}
.system-intro{margin-bottom:54px}
.system-intro>p:last-child{display:inline-block;margin:20px 0 0;padding:7px 10px;border:1px solid var(--line);border-radius:999px;color:#606168;font-size:.67rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.system-grid{display:grid;grid-template-columns:minmax(300px,.95fr) minmax(300px,1.05fr);gap:30px;align-items:stretch}
.prototype{min-height:480px;padding:13px;border:1px solid #4e4f56;border-radius:26px;background:linear-gradient(145deg,#222329,#111115);box-shadow:16px 20px 0 rgba(0,0,0,.2);color:#fff}
.prototype-top{display:flex;justify-content:space-between;padding:5px 7px 16px;color:#bdbec5;font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.prototype-screen{position:relative;display:flex;height:calc(100% - 36px);padding:38px;flex-direction:column;justify-content:space-between;overflow:hidden;border-radius:16px;background:#fbfbfc;color:#1a1a1f}
.prototype-marker{display:flex;align-items:center;gap:10px;font-size:.7rem;font-weight:700}
.prototype-marker i{width:8px;height:8px;border-radius:50%;background:var(--signal)}
.prototype-route{position:relative;display:flex;margin:70px 0;align-items:center;justify-content:space-between;gap:8px;font-size:.72rem}
.prototype-route:before{position:absolute;z-index:0;top:50%;right:50px;left:76px;height:1px;background:#9bbdfb;content:""}
.prototype-route>*{position:relative;z-index:1}
.prototype-route i{width:12px;height:12px;border:3px solid #fff;border-radius:50%;background:var(--signal);box-shadow:0 0 0 1px var(--signal)}
.prototype-screen p{max-width:300px;margin:0;color:#666770;font-size:.82rem;line-height:1.6}
.system-content{display:flex;min-height:480px;padding:16px 0;flex-direction:column;justify-content:space-between}
.tab-list{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.tab-list button{display:flex;padding:14px 0;justify-content:space-between;border:0;border-bottom:1px solid var(--line);background:transparent;color:#77787f;font-size:.74rem;font-weight:700;text-align:left}
.tab-list button span{font-size:.88rem}
.tab-list button[aria-selected="true"]{border-color:var(--signal);color:var(--ink)}
.tab-panels article{padding:28px 0 0}
.js .tab-panels article:not(.is-active){display:none}
.tab-panels h3{margin-bottom:16px;font-size:clamp(2.7rem,4vw,4.8rem);font-weight:640}
.tab-panels p{max-width:560px;margin:0;color:#666770;font-size:1rem;line-height:1.65}
.audience-grid{grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.doctrine{margin:32px auto 0;padding:25px 30px;border-radius:22px;background:#2d2d32;color:#fff;font-size:clamp(1.45rem,2.4vw,2.45rem);font-weight:650;letter-spacing:-.06em}
.doctrine span{float:right;color:#c7c7cd;font-family:Cormorant,serif;font-size:.85rem;font-style:italic;font-weight:500;letter-spacing:0}
.global{position:relative;min-height:720px;overflow:hidden;background:var(--obsidian);color:#fff;isolation:isolate}
.global-media,.global-media picture,.global-media img,.global-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.global-media img{object-position:center}
.global-media video{opacity:0;transition:opacity .7s}
.global-media video.ready{opacity:1}
.global:after{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(7,7,9,.94),rgba(7,7,9,.48) 47%,rgba(7,7,9,.05) 80%);content:""}
.global-content{position:relative;z-index:1;display:flex;min-height:720px;padding:90px 0;flex-direction:column;justify-content:center}
.global-content h2{max-width:800px;margin-bottom:28px}
.global-content>p:not(.eyebrow):not(.global-note){max-width:570px;margin-bottom:0;color:#d1d1d6;font-size:1.02rem;line-height:1.65}
.global-note{margin:34px 0 0;color:#b4b5bc;font-family:Cormorant,serif;font-size:1.35rem;font-style:italic}
.global-toggle{right:26px;bottom:26px}
.join-heading{margin-bottom:52px}
.join-heading h2{margin-bottom:22px}
.join-heading>p:last-child{max-width:580px;margin:0;color:#b4b5bd;font-size:.92rem;line-height:1.65}
.join-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:22px}
.contact-card{padding:36px;border:1px solid var(--line-dark);border-radius:24px;background:#0d0d10}
.contact-primary{border-color:rgba(20,110,245,.56)}
.card-label{display:inline-block;margin-bottom:22px;padding:7px 10px;border:1px solid var(--line-dark);border-radius:999px;color:#c9cad0;font-size:.64rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.contact-primary .card-label{border-color:rgba(20,110,245,.65);background:rgba(20,110,245,.14);color:#b9d3ff}
.contact-card h3{margin-bottom:14px;font-size:clamp(2.3rem,3.8vw,4.5rem);font-weight:640}
.contact-card>p{max-width:540px;margin-bottom:30px;color:#aeb0b8;font-size:.87rem;line-height:1.65}
.contact-card form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.contact-card label{display:grid;gap:7px;color:#d7d7dd;font-size:.65rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.contact-card input,.contact-card select{width:100%;min-width:0;padding:13px 14px;border:1px solid var(--line-dark);border-radius:10px;background:#151519;color:#fff;font-size:1rem;line-height:1.25}
.contact-card input::placeholder{color:#77787f}
.contact-card select{color:#e4e4e8}
.contact-card select:invalid{color:#95969d}
.form-submit,.form-note{grid-column:1/-1}
.form-submit{width:100%;margin-top:8px}
.form-note{margin:0;color:#94959d;font-size:.72rem;line-height:1.55}
.site-footer{background:#050506;color:#d6d6db}
.footer-top{display:flex;padding:34px 0;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line-dark)}
.footer-top>div{display:flex;flex-wrap:wrap;gap:20px;color:#aaaab1;font-size:.72rem}
.footer-top a:hover{color:#fff}
.footer-bottom{display:flex;padding:24px 0 34px;align-items:flex-start;justify-content:space-between;gap:40px;color:#898a92;font-size:.69rem;line-height:1.6}
.footer-bottom p{max-width:700px;margin:0;text-align:right}
.legal-page{min-height:100vh;background:var(--porcelain);color:var(--ink)}
.legal-header{min-height:74px;border-bottom:1px solid var(--line)}
.legal-header>a:last-child{color:#55565d;font-size:.78rem;font-weight:700}
.legal-main{width:min(820px,calc(100% - 40px));margin:0 auto;padding:clamp(72px,11vw,130px) 0}
.legal-main h1{margin-bottom:24px;font-size:clamp(3.5rem,9vw,6.8rem)}
.legal-main h2{margin:56px 0 16px;font-size:clamp(1.8rem,4vw,3rem);line-height:1}
.legal-main p{max-width:720px;color:#606168;line-height:1.75}
.legal-main .legal-lede{max-width:680px;color:#22232a;font-size:clamp(1.08rem,2vw,1.32rem)}
.legal-main section a{color:#075bcf;text-decoration:underline;text-underline-offset:3px}
.primary-button{display:inline-flex;margin-top:20px;padding:14px 18px;align-items:center;gap:14px;border-radius:999px;background:var(--signal);color:#fff;font-size:.78rem;font-weight:700}
@media (max-width:900px){
  :root{--shell:min(100% - 40px,1240px)}
  .nav-links{position:fixed;z-index:60;top:64px;right:0;left:0;height:calc(100svh - 64px);display:flex;padding:42px 20px 50px;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:10px;overflow-y:auto;background:#070709;opacity:0;pointer-events:none;transition:opacity .2s}
  .nav-links.open{opacity:1;pointer-events:auto}
  .nav-links>a{padding:17px 8px;border-bottom:1px solid var(--line-dark);color:#fff;font-size:1.6rem}
  .nav-links .nav-action{margin-top:16px;border:0;text-align:center;font-size:1rem}
  .menu-button{display:block}
  .split-heading{grid-template-columns:1fr;gap:24px;margin-bottom:40px}
  .problem-grid,.route-flow,.audience-grid{grid-template-columns:repeat(2,1fr)}
  .problem-grid li:nth-child(2),.route-flow li:nth-child(2),.audience-grid article:nth-child(2){border-right:0}
  .problem-grid li:nth-child(n+3),.route-flow li:nth-child(n+3),.audience-grid article:nth-child(n+3){border-top:1px solid var(--line)}
  .route-flow li:nth-child(n+3){border-top-color:var(--line-dark)}
  .commitments{grid-template-columns:repeat(2,1fr)}
  .system-grid,.join-grid{grid-template-columns:1fr}
  .system-content{min-height:320px}
  .global,.global-content{min-height:620px}
  .global:after{background:linear-gradient(90deg,rgba(7,7,9,.91),rgba(7,7,9,.36) 80%)}
}
@media (max-width:600px){
  :root{--shell:calc(100% - 32px)}
  .hero{min-height:calc(100svh - 64px)}
  .hero:after{background:linear-gradient(90deg,rgba(7,7,9,.9),rgba(7,7,9,.62) 58%,rgba(7,7,9,.16)),linear-gradient(0deg,rgba(7,7,9,.94),rgba(7,7,9,.28) 78%)}
  .hero-media img{object-position:61% center}
  .hero-inner{padding:72px 0 58px;justify-content:flex-end}
  h1{font-size:clamp(3.35rem,15vw,4.7rem)}
  h2{font-size:clamp(2.75rem,13vw,4rem)}
  .hero-copy{font-size:.98rem}
  .hero-proof{font-size:.78rem}
  .signature{margin-top:28px}
  .motion-toggle{right:16px;bottom:16px}
  .section{padding:72px 0}
  .problem-grid,.route-flow,.audience-grid{grid-template-columns:1fr}
  .problem-grid li,.route-flow li,.audience-grid article{min-height:0;padding:28px 18px;border-right:0}
  .problem-grid li+li,.route-flow li+li,.audience-grid article+article{border-top:1px solid var(--line)}
  .route-flow li+li{border-top-color:var(--line-dark)}
  .problem-grid span,.route-flow span,.audience-grid span{margin-bottom:34px}
  .commitments{grid-template-columns:1fr;padding:18px 0}
  .commitments article{padding:16px 0;border-bottom:1px solid var(--line-dark)}
  .commitments article:last-child{border-bottom:0}
  .prototype{min-height:360px;box-shadow:8px 10px 0 rgba(0,0,0,.18)}
  .prototype-screen{padding:26px}
  .prototype-route{margin:44px 0;font-size:.62rem}
  .tab-list{grid-template-columns:1fr}
  .tab-list button{padding:13px 0}
  .tab-panels h3{font-size:3rem}
  .doctrine{padding:22px;font-size:1.65rem}
  .doctrine span{display:block;float:none;margin-top:12px}
  .global,.global-content{min-height:580px}
  .global-content{padding:70px 0 90px}
  .global-content>p:not(.eyebrow):not(.global-note){font-size:.9rem}
  .contact-card{padding:26px 18px}
  .contact-card form{grid-template-columns:1fr}
  .footer-top,.footer-bottom{align-items:flex-start;flex-direction:column}
  .footer-bottom{gap:12px}
  .footer-bottom p{text-align:left}
  .legal-main{width:var(--shell)}
}
@media (prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .hero-media video,.global-media video,.motion-toggle{display:none}
}
