:root{
  --black:#05070a;
  --dark:#071018;
  --ink:#101419;
  --white:#f7fbff;
  --muted:#8ca0ad;
  --lime:#e4ff2e;
  --blue:#00d5ff;
  --pink:#ff3fc7;
  --orange:#ff7a1a;
  --line:rgba(255,255,255,.12);
  --shell:min(1180px, calc(100% - 42px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--black);color:var(--white);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
button,input,select{font:inherit}
.shell{width:var(--shell);margin-inline:auto}
.motion-canvas{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.5;mix-blend-mode:screen}
.cursor{position:fixed;left:0;top:0;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(228,255,46,.20),rgba(0,213,255,.08) 38%,transparent 68%);z-index:1;pointer-events:none;filter:blur(12px);transform:translate(-50%,-50%)}
.loader{position:fixed;inset:0;z-index:300;background:#05070a;display:grid;place-items:center;gap:18px;transition:.7s ease}
.loader.is-hidden{opacity:0;visibility:hidden}
.loader img{width:138px}
.loader span{font-size:12px;text-transform:uppercase;letter-spacing:.24em;color:var(--muted);font-weight:900}
.scrollbar{position:fixed;top:0;left:0;width:100%;height:4px;background:rgba(255,255,255,.08);z-index:220}
.scrollbar span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--lime),var(--blue),var(--pink))}
.topbar{position:fixed;z-index:160;top:0;left:0;width:100%;height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;transition:.25s ease}
.topbar.is-scrolled{background:rgba(5,7,10,.7);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.08)}
.brand img{width:118px}
.topbar nav{display:flex;align-items:center;gap:6px}
.topbar nav a{padding:12px 14px;text-transform:uppercase;letter-spacing:.13em;font-size:12px;font-weight:900;color:rgba(255,255,255,.72)}
.join-link{background:var(--lime);color:#05070a!important}
.menu{display:none;background:none;border:0;width:44px;height:44px}
.menu span{display:block;width:24px;height:2px;background:#fff;margin:6px auto}
.hero{position:relative;min-height:100vh;overflow:hidden;padding:96px 0 0;isolation:isolate}
.pulse-bg{position:absolute;inset:-20%;z-index:0;background:
 radial-gradient(circle at 20% 26%,rgba(255,63,199,.30),transparent 22%),
 radial-gradient(circle at 76% 16%,rgba(0,213,255,.28),transparent 22%),
 radial-gradient(circle at 68% 82%,rgba(228,255,46,.20),transparent 18%);
 animation:pulseMove 14s ease-in-out infinite alternate}
.hero-word{position:absolute;z-index:1;font-size:18vw;font-weight:1000;line-height:.8;letter-spacing:-.09em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.13);text-transform:uppercase;pointer-events:none}
.word-a{left:-2vw;top:14vh}
.word-b{right:-4vw;bottom:2vh;color:rgba(228,255,46,.08);-webkit-text-stroke:1px rgba(228,255,46,.18)}
.hero-media{position:absolute;z-index:2;right:6vw;top:13vh;width:min(55vw,780px);height:72vh;clip-path:polygon(12% 0,100% 0,88% 100%,0 100%);overflow:hidden;border:1px solid rgba(255,255,255,.12)}
.hero-media img{width:100%;height:100%;object-fit:cover;filter:saturate(1.04) contrast(1.06)}
.hero-copy{position:relative;z-index:4;width:min(680px,calc(100% - 42px));margin-left:clamp(22px,7vw,110px);padding-top:16vh}
.tag,.section-no{display:block;margin:0 0 18px;text-transform:uppercase;letter-spacing:.22em;color:var(--lime);font-size:12px;font-weight:1000}
.hero-copy h1{margin:0;font-size:clamp(58px,9vw,132px);line-height:.82;letter-spacing:-.075em;text-transform:uppercase}
.hero-copy p:not(.tag){max-width:520px;color:rgba(255,255,255,.72);font-size:18px;line-height:1.65}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.btn{min-height:58px;padding:0 24px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.18);text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:1000;transition:.25s ease}
.btn-main{background:var(--lime);color:#05070a;border-color:var(--lime)}
.btn-line{background:rgba(255,255,255,.03)}
.hero-meter{position:absolute;z-index:5;left:clamp(22px,7vw,110px);bottom:34px;display:grid;grid-template-columns:repeat(3,130px);gap:1px;background:rgba(255,255,255,.12)}
.hero-meter div{padding:16px;background:rgba(5,7,10,.72);backdrop-filter:blur(12px)}
.hero-meter span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:var(--muted)}
.hero-meter strong{font-size:38px;line-height:1}
.ticker{overflow:hidden;background:var(--lime);color:#05070a}
.ticker div{display:flex;width:max-content;gap:28px;padding:12px 0;animation:ticker 18s linear infinite}
.ticker span{font-size:clamp(34px,6vw,92px);font-weight:1000;letter-spacing:-.08em;text-transform:uppercase;line-height:.8}
.statement{padding:80px 0;background:#f6fbff;color:#071018}
.statement-inner{width:var(--shell);margin:auto;display:flex;justify-content:space-between;gap:40px;align-items:flex-end}
.statement p{margin:0;font-size:clamp(34px,5vw,78px);max-width:720px;line-height:.95;font-weight:950;letter-spacing:-.06em;text-transform:uppercase}
.statement div{display:grid;gap:8px;text-align:right;text-transform:uppercase;font-size:12px;letter-spacing:.18em;font-weight:900}
.split-section{display:grid;grid-template-columns:1.15fr .85fr;min-height:780px;background:#071018}
.split-image{overflow:hidden;clip-path:polygon(0 0,100% 0,86% 100%,0 100%)}
.split-image img{width:100%;height:100%;object-fit:cover}
.split-copy{align-self:center;padding:80px clamp(24px,6vw,90px)}
.split-copy h2,.flow-title h2,.system-head h2,.challenge-copy h2,.faq-title h2,.join-form h2{font-size:clamp(44px,6vw,88px);line-height:.92;letter-spacing:-.065em;text-transform:uppercase;margin:0}
.split-copy p{max-width:430px;color:var(--muted);line-height:1.65}
.split-copy ul{list-style:none;margin:38px 0 0;padding:0;display:grid;gap:14px;text-transform:uppercase;letter-spacing:.12em;font-size:13px;font-weight:900}
.split-copy li{border-top:1px solid var(--line);padding-top:14px}
.cards-section{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.12)}
.impact-card{min-height:360px;padding:34px;background:#0a141d;position:relative;overflow:hidden}
.impact-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(228,255,46,.12),transparent 45%);opacity:0;transition:.3s}
.impact-card:hover:before{opacity:1}
.impact-card strong{color:var(--lime);font-size:12px;letter-spacing:.2em}
.impact-card h3{font-size:clamp(30px,4vw,54px);text-transform:uppercase;line-height:.9;letter-spacing:-.06em}
.impact-card p{color:var(--muted)}
.flow{padding:130px 0;background:#f6fbff;color:#071018}
.flow-title{width:var(--shell);margin:0 auto 60px}
.flow-steps{width:var(--shell);margin:auto;display:grid;gap:18vh}
.flow-step{display:grid;grid-template-columns:180px 1fr;gap:40px;align-items:start;border-top:2px solid #071018;padding-top:30px;opacity:.45;transition:.35s ease}
.flow-step.is-active{opacity:1;transform:translateX(30px)}
.flow-step span{font-size:clamp(60px,8vw,120px);line-height:.75;font-weight:1000;letter-spacing:-.08em;color:var(--blue)}
.flow-step h3{font-size:clamp(38px,5vw,76px);line-height:.9;letter-spacing:-.06em;text-transform:uppercase;margin:0}
.flow-step p{font-size:18px;color:#53636f}
.wide-photo{position:relative;min-height:760px;overflow:hidden}
.wide-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(1.1) brightness(.78)}
.wide-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,7,10,.8),rgba(5,7,10,.1))}
.wide-photo div{position:relative;z-index:2;width:var(--shell);margin:auto;padding-top:130px}
.wide-photo span{color:var(--lime);font-size:12px;text-transform:uppercase;letter-spacing:.22em;font-weight:1000}
.wide-photo h2{max-width:760px;font-size:clamp(52px,8vw,116px);line-height:.84;text-transform:uppercase;letter-spacing:-.08em}
.system{padding:130px 0;background:#071018}
.system-head,.mode-switch,.mode-stage{width:var(--shell);margin-inline:auto}
.system-head{margin-bottom:42px}
.mode-switch{display:flex;gap:10px;margin-bottom:24px}
.mode-btn{border:1px solid var(--line);background:transparent;color:#fff;padding:14px 18px;text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:1000;cursor:pointer}
.mode-btn.is-active{background:var(--lime);color:#05070a;border-color:var(--lime)}
.mode-stage{position:relative;min-height:650px}
.mode-panel{display:none;grid-template-columns:1.05fr .95fr;gap:42px;align-items:end}
.mode-panel.is-active{display:grid;animation:modeIn .4s ease}
.mode-panel img{height:650px;width:100%;object-fit:cover;clip-path:polygon(0 0,100% 0,88% 100%,0 100%)}
.mode-panel span{color:var(--blue);text-transform:uppercase;letter-spacing:.2em;font-size:12px;font-weight:1000}
.mode-panel h3{font-size:clamp(42px,6vw,92px);line-height:.88;letter-spacing:-.07em;text-transform:uppercase;margin:16px 0}
.mode-panel p{color:var(--muted);font-size:18px;line-height:1.7}
.challenge{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:center;padding:130px max(21px,calc((100% - 1180px)/2));background:#f6fbff;color:#071018}
.challenge-box{display:grid;grid-template-columns:280px 1fr;gap:44px;align-items:center;border-top:2px solid #071018;border-bottom:2px solid #071018;padding:46px 0}
.ring{width:240px;height:240px;border-radius:50%;background:conic-gradient(var(--lime) var(--score,25%),#d7e2e9 0);display:grid;place-items:center}
.ring span{width:160px;height:160px;border-radius:50%;display:grid;place-items:center;background:#f6fbff;font-size:46px;font-weight:1000;letter-spacing:-.06em}
.checks{display:grid;gap:12px}
.check{display:flex;align-items:center;gap:16px;border:0;border-top:1px solid #d7e2e9;background:transparent;padding:18px 0;text-align:left;font-weight:900;text-transform:uppercase;letter-spacing:.1em;cursor:pointer}
.check span{width:18px;height:18px;border:2px solid #071018}
.check.is-active span{background:#071018}
.faq{padding:130px 0;background:#071018}
.faq-title,.faq-list{width:var(--shell);margin-inline:auto}
.faq-title{margin-bottom:40px}
.faq-item{border-top:1px solid var(--line)}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;background:none;border:0;color:#fff;padding:26px 0;text-align:left;font-size:24px;text-transform:uppercase;font-weight:950;letter-spacing:-.03em;cursor:pointer}
.faq-q span{width:20px;height:20px;border-right:2px solid var(--lime);border-bottom:2px solid var(--lime);transform:rotate(45deg);transition:.25s}
.faq-q.is-open span{transform:rotate(225deg)}
.faq-a{display:grid;grid-template-rows:0fr;transition:.25s ease}
.faq-a.is-open{grid-template-rows:1fr}
.faq-a p{overflow:hidden;margin:0;padding:0 0 22px;color:var(--muted);font-size:18px}
.join{display:grid;grid-template-columns:1fr 1fr;background:#f6fbff;color:#071018;min-height:820px}
.join-image{overflow:hidden;clip-path:polygon(0 0,100% 0,84% 100%,0 100%)}
.join-image img{height:100%;width:100%;object-fit:cover}
.join-form{align-self:center;padding:70px clamp(24px,7vw,110px)}
.join-form img{width:126px;margin-bottom:40px}
.join-form label{display:grid;gap:9px;margin-top:18px;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:1000}
.join-form input,.join-form select{border:0;border-bottom:2px solid #071018;background:transparent;min-height:54px;outline:none;color:#071018}
.join-form .btn{margin-top:26px;width:100%}
.form-note{color:#596875}
.success{display:none;margin-top:16px;background:#071018;color:#fff;padding:16px;font-weight:900}
.success.is-visible{display:block}
.footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 28px;background:#05070a;color:var(--muted);text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:900}
.footer img{width:110px}
.reveal{opacity:0;transform:translateY(46px);filter:blur(8px);transition:.8s cubic-bezier(.22,.7,.18,1)}
.reveal.is-visible{opacity:1;transform:translateY(0);filter:blur(0)}
[data-tilt],.magnetic{will-change:transform}
@keyframes pulseMove{from{transform:translate3d(-2%,0,0) scale(1)}to{transform:translate3d(2%,-2%,0) scale(1.08)}}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes modeIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1000px){
  .hero-media{position:relative;width:var(--shell);height:560px;right:auto;top:auto;margin:40px auto 0}
  .hero-copy{padding-top:90px}
  .hero-meter{position:relative;left:auto;bottom:auto;width:var(--shell);margin:28px auto 0;grid-template-columns:repeat(3,1fr)}
  .split-section,.mode-panel,.challenge,.join{grid-template-columns:1fr}
  .split-image,.join-image{clip-path:none;min-height:520px}
  .cards-section{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .topbar{height:68px;padding:0 18px}
  .menu{display:block}
  .topbar nav{display:none;position:absolute;left:18px;right:18px;top:68px;background:rgba(5,7,10,.95);border:1px solid var(--line);flex-direction:column;align-items:stretch}
  .topbar nav.is-open{display:flex}
  .topbar nav a{padding:16px;border-bottom:1px solid var(--line)}
  .hero-copy h1{font-size:54px}
  .hero-media{height:470px}
  .hero-meter,.statement-inner,.flow-step,.challenge-box{grid-template-columns:1fr}
  .statement-inner{display:grid}
  .statement div{text-align:left}
  .cards-section{grid-template-columns:1fr}
  .impact-card{min-height:260px}
  .flow-steps{gap:80px}
  .mode-panel img{height:430px}
  .wide-photo{min-height:560px}
  .join-form{padding:70px 22px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation:none!important;transition:none!important}
  .motion-canvas,.cursor{display:none}
  .reveal{opacity:1;transform:none;filter:none}
}
