@font-face{font-family:"Space Grotesk";src:url("assets/fonts/space-grotesk-400.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"Space Grotesk";src:url("assets/fonts/space-grotesk-500.ttf") format("truetype");font-weight:500;font-display:swap}
@font-face{font-family:Manrope;src:url("assets/fonts/manrope-400.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url("assets/fonts/manrope-700.ttf") format("truetype");font-weight:700;font-display:swap}

:root{--midnight:#05060f;--deep:#080a14;--glass:rgba(186,214,247,.045);--glass-strong:rgba(8,10,20,.78);--edge:rgba(186,215,247,.16);--frost:#d1e4fa;--ice:#d8ecf8;--mist:#c7d3ea;--fog:#9da7ba;--violet:#663af3;--violet-hover:#5125dd;--display:"Space Grotesk",sans-serif;--body:Manrope,sans-serif;--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--midnight)}
body{margin:0;background:var(--midnight);color:var(--frost);font-family:var(--body);font-size:16px;line-height:1.5;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;z-index:-1;background:radial-gradient(circle at 50% 0,rgba(94,122,170,.12),transparent 32%),var(--midnight)}
::selection{background:var(--frost);color:var(--midnight)}
::-webkit-scrollbar{width:9px}::-webkit-scrollbar-track{background:var(--midnight)}::-webkit-scrollbar-thumb{background:#343b4a;border:3px solid var(--midnight);border-radius:99px}
a{color:inherit;text-decoration:none;text-underline-offset:.24em}a:focus-visible{outline:2px solid var(--ice);outline-offset:4px}
svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6}
h1,h2,h3,p{margin-top:0}.section{position:relative;padding:clamp(100px,11vw,170px) clamp(22px,6vw,96px);scroll-margin-top:88px}
.skip-link{position:fixed;z-index:1000;top:12px;left:12px;padding:10px 16px;border-radius:999px;background:var(--frost);color:var(--midnight);transform:translateY(-160%)}.skip-link:focus{transform:none}

.site-header{position:fixed;z-index:60;top:18px;left:50%;width:min(calc(100% - 40px),1280px);height:62px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 12px 0 22px;border-radius:999px;background:rgba(5,6,15,.32);box-shadow:inset 0 1px 1px rgba(216,236,248,.17),inset 0 0 0 1px rgba(186,215,247,.12);backdrop-filter:blur(16px);transform:translateX(-50%);transition:background-color 200ms ease-out,box-shadow 200ms ease-out}
.site-header.scrolled{background:rgba(5,6,15,.88);box-shadow:inset 0 1px 1px rgba(216,236,248,.2),inset 0 0 0 1px rgba(186,215,247,.18),0 16px 42px rgba(0,0,0,.25)}
.logo{display:inline-flex;align-items:center;gap:11px;width:max-content;font:500 .78rem/1 var(--display);letter-spacing:.28em;color:var(--ice)}
.logo-orbit{position:relative;width:25px;height:25px;border:1px solid rgba(216,236,248,.48);border-radius:50%;box-shadow:0 0 10px rgba(186,207,247,.15)}.logo-orbit::before{content:"";position:absolute;inset:5px;border:1px solid rgba(216,236,248,.24);border-radius:50%}.logo-orbit i{position:absolute;left:50%;top:50%;width:3px;height:3px;border-radius:50%;background:var(--ice);transform:translate(-50%,-50%)}
nav{display:flex;align-items:center;gap:clamp(18px,3vw,42px);font-size:.72rem;color:var(--mist)}nav a{transition:color 150ms ease-out}nav a:hover{color:#fff;transition-duration:0ms}
.header-action,.primary-button,.ghost-button{display:inline-flex;align-items:center;justify-content:center;gap:18px;border-radius:999px;font-size:.75rem;font-weight:700;letter-spacing:.04em}.header-action{justify-self:end;padding:11px 18px;background:rgba(186,214,247,.06);box-shadow:inset 0 0 0 1px var(--edge)}.header-action:hover,.ghost-button:hover{background:rgba(186,214,247,.12)}.header-action svg,.primary-button svg,.ghost-button svg{width:18px;height:18px}

.hero{position:relative;min-height:100svh;overflow:hidden;background:var(--midnight);isolation:isolate}
.hero-photo{position:absolute;z-index:-3;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.9) brightness(.84);animation:photoIn 700ms var(--ease) both}
.hero::after{content:"";position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,rgba(5,6,15,.98) 0%,rgba(5,6,15,.62) 38%,rgba(5,6,15,.08) 72%),linear-gradient(0deg,rgba(5,6,15,.82) 0%,transparent 35%,rgba(5,6,15,.25) 100%)}
.hero-grid,.manifesto-grid,.map-grid{position:absolute;z-index:-1;inset:0;background-image:linear-gradient(rgba(186,215,247,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(186,215,247,.055) 1px,transparent 1px);background-size:80px 80px;mask-image:radial-gradient(ellipse at center,#000 15%,transparent 78%)}
.hero-light{position:absolute;z-index:-1;top:-32%;left:34%;width:24%;height:85%;background:linear-gradient(90deg,transparent,rgba(164,202,250,.25),transparent);filter:blur(18px);clip-path:polygon(43% 0,57% 0,100% 100%,0 100%);animation:lightIn 850ms var(--ease) 80ms both}
.hero-wordmark{position:absolute;z-index:-1;left:5%;top:20%;margin:0;font:500 clamp(4rem,8vw,6rem)/1 var(--display);letter-spacing:.18em;color:transparent;-webkit-text-stroke:1px rgba(216,236,248,.37);text-shadow:0 0 28px rgba(152,192,239,.12)}
.hero-copy{position:absolute;z-index:5;left:clamp(24px,6vw,96px);top:43%;width:min(560px,41vw)}
.hero-copy h1{margin-bottom:24px;font:500 clamp(3.4rem,6vw,6rem)/.98 var(--display);letter-spacing:-.035em;color:var(--ice)}.hero-copy h1 span,h2 span{color:transparent;-webkit-text-stroke:1px rgba(216,236,248,.78)}
.hero-copy>p{margin-bottom:30px;color:var(--mist);font-size:clamp(.95rem,1.2vw,1.12rem);line-height:1.65}.hero-copy>p strong{color:var(--ice);font-weight:400}
.primary-button{padding:15px 22px;background:var(--violet);color:#fff;box-shadow:inset 0 1px 1px rgba(255,255,255,.24),0 18px 46px rgba(62,28,184,.3);transition:transform 150ms ease-out,background-color 150ms ease-out}.primary-button:hover{background:var(--violet-hover);transform:translateY(-2px);transition-duration:0ms}.primary-button:active{transform:scale(.98)}
.glass-plate{position:absolute;z-index:6;background:var(--glass-strong);border-radius:16px;backdrop-filter:blur(18px);box-shadow:inset 0 1px 1px rgba(216,236,248,.2),inset 0 24px 48px rgba(168,216,245,.055),inset 0 0 0 1px rgba(186,215,247,.14),0 24px 42px rgba(0,0,0,.38);animation:plateIn 520ms var(--ease) both}
.focus-plate{top:18%;right:4.2%;width:230px;padding:17px 20px;animation-delay:180ms}.focus-plate div{display:flex;align-items:center;gap:13px;padding:13px 0;border-bottom:1px solid rgba(186,215,247,.12);font:500 .69rem/1 var(--display);letter-spacing:.13em;text-transform:uppercase}.focus-plate div:last-child{border:0}.focus-plate svg{width:20px;height:20px;color:var(--ice)}
.session-plate{right:3%;bottom:9%;width:200px;padding:18px;text-align:center;animation-delay:240ms}.session-plate>span,.session-plate small{display:block;font:400 .58rem/1.3 var(--display);letter-spacing:.16em;text-transform:uppercase;color:var(--mist)}.session-dial{display:grid;place-items:center;width:98px;height:98px;margin:16px auto;border:1px solid rgba(186,215,247,.16);border-radius:50%;box-shadow:inset 0 0 0 10px rgba(186,215,247,.025),inset 0 0 0 11px rgba(186,215,247,.12)}.session-dial strong{font:400 1.9rem/1 var(--display);color:var(--ice)}
.location-chip{left:5.5%;bottom:5%;display:flex;align-items:center;gap:14px;padding:14px 18px;border-radius:12px;font:500 .65rem/1 var(--display);letter-spacing:.12em;text-transform:uppercase;animation-delay:300ms}.location-chip svg{width:20px;height:20px}
.hero-scroll{position:absolute;z-index:6;left:50%;bottom:24px;display:flex;align-items:center;gap:12px;font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--fog);transform:translateX(-50%)}.hero-scroll i{position:relative;width:1px;height:28px;background:linear-gradient(var(--fog),transparent)}

.statement{min-height:780px;display:grid;grid-template-columns:minmax(300px,.82fr) minmax(480px,1.18fr);align-items:center;gap:clamp(64px,9vw,150px);overflow:hidden}.section-beam{position:absolute;top:0;left:50%;width:1px;height:100px;background:linear-gradient(transparent,rgba(216,236,248,.35));box-shadow:0 0 18px rgba(186,207,247,.28)}
.statement h2,.process h2,.manifesto h2,.location h2,.closing h2{margin-bottom:28px;font:500 clamp(2.8rem,5.2vw,5.6rem)/1.08 var(--display);letter-spacing:-.035em;color:var(--ice)}
.statement-copy{max-width:620px}.statement-copy h2{font-size:clamp(3rem,5.4vw,5.7rem)}.statement-copy>p{max-width:48ch;margin:0;color:var(--mist);font-size:1.05rem}.statement-line{display:flex;align-items:center;gap:14px;margin-top:38px;font:500 .62rem/1 var(--display);letter-spacing:.13em;text-transform:uppercase;color:var(--fog)}.statement-line i{width:44px;height:1px;background:var(--frost);box-shadow:0 0 9px rgba(186,207,247,.45)}
.statement-visual{position:relative;min-height:540px;border-radius:16px;background:rgba(186,214,247,.025);box-shadow:inset 0 1px 1px rgba(216,236,248,.17),inset 0 0 0 1px rgba(186,215,247,.11);overflow:hidden}.statement-visual::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(186,215,247,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(186,215,247,.04) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(90deg,transparent,#000 55%,transparent)}.instrument-head{position:relative;z-index:2;display:flex;justify-content:space-between;padding:20px 22px;border-bottom:1px solid rgba(186,215,247,.1);font:400 .58rem/1 var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--fog)}.instrument-head span:last-child{display:flex;align-items:center;gap:8px;color:var(--mist)}.instrument-head i{width:6px;height:6px;border-radius:50%;background:var(--frost);box-shadow:0 0 8px rgba(186,207,247,.6)}
.approach-signature{position:absolute;z-index:1;left:clamp(24px,4vw,58px);top:50%;display:flex;align-items:center;gap:24px;transform:translateY(-50%)}.approach-signature span{font:500 clamp(3.5rem,6vw,5rem)/1 var(--display);color:var(--ice)}.approach-signature i{display:block;width:1px;height:250px;background:linear-gradient(transparent,rgba(216,236,248,.28),transparent)}.approach-list{position:relative;z-index:2;width:58%;margin:62px 7% 40px auto;padding:0;list-style:none}.approach-list::before{content:"";position:absolute;left:7px;top:36px;bottom:36px;width:1px;background:rgba(186,215,247,.16)}.approach-list li{position:relative;display:grid;grid-template-columns:16px 1fr;gap:20px;align-items:center;padding:25px 0;border-bottom:1px solid rgba(186,215,247,.1)}.approach-list li:last-child{border:0}.approach-list li>i{position:relative;z-index:1;width:15px;height:15px;border-radius:50%;background:var(--midnight);box-shadow:inset 0 0 0 1px rgba(216,236,248,.48)}.approach-list li:first-child>i{background:var(--violet);box-shadow:0 0 16px rgba(102,58,243,.35)}.approach-list div{display:grid;gap:7px}.approach-list strong{font:500 1.05rem/1 var(--display);color:var(--ice)}.approach-list span{color:var(--mist);font-size:.78rem}

.process{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(520px,1.28fr);align-items:center;gap:clamp(60px,9vw,140px);background:linear-gradient(180deg,var(--midnight),#080a15 50%,var(--midnight))}.process-copy{max-width:560px}.process-copy p{max-width:44ch;color:var(--mist)}
.process-console{padding:18px;border-radius:16px;background:rgba(186,214,247,.035);box-shadow:inset 0 1px 1px rgba(216,236,248,.2),inset 0 24px 48px rgba(168,216,245,.05),inset 0 0 0 1px rgba(186,215,247,.13),0 32px 64px rgba(0,0,0,.38)}
.console-top{display:flex;justify-content:space-between;padding:4px 6px 17px;border-bottom:1px solid rgba(186,215,247,.1);font:400 .58rem/1 var(--display);letter-spacing:.12em;color:var(--fog)}.status{display:flex;align-items:center;gap:7px}.status i{width:6px;height:6px;border-radius:50%;background:var(--frost);box-shadow:0 0 8px rgba(186,207,247,.6)}
.process-console ol{list-style:none;margin:0;padding:0}.process-console li{display:grid;grid-template-columns:48px 1fr;gap:20px;padding:24px 8px;border-bottom:1px solid rgba(186,215,247,.1);opacity:.66}.process-console li.active{opacity:1}.step-dot{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(186,214,247,.05);box-shadow:inset 0 0 0 1px rgba(186,215,247,.16);font:500 .74rem/1 var(--display)}.process-console h3{margin:1px 0 7px;font:500 1.05rem/1.25 var(--display);color:var(--ice)}.process-console li p{margin:0;color:var(--mist);font-size:.83rem}.console-meter{position:relative;margin:20px 8px 5px;padding-top:14px;font-size:.61rem;letter-spacing:.09em;text-transform:uppercase;color:var(--fog)}.console-meter::before{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:rgba(186,215,247,.08)}.console-meter i{position:absolute;top:0;left:0;width:42%;height:2px;background:var(--frost);box-shadow:0 0 9px rgba(186,207,247,.45)}

.manifesto{min-height:570px;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:clamp(60px,10vw,160px);overflow:hidden;background:#070812}.manifesto-grid{z-index:0;mask-image:linear-gradient(90deg,#000,transparent)}.manifesto-copy{position:relative;z-index:1}.manifesto-copy>p{margin-bottom:25px;color:var(--mist)}.manifesto-copy h2{max-width:880px;margin:0}.manifesto-side{position:relative;z-index:1;padding-left:clamp(28px,4vw,60px);border-left:1px solid rgba(186,215,247,.16)}.manifesto-side p{max-width:34ch;margin:0 0 16px;color:var(--mist)}.manifesto-side p:first-child{font:500 1.15rem/1.4 var(--display);color:var(--ice)}.manifesto-side a{display:inline-flex;align-items:center;gap:14px;margin-top:20px;font-size:.72rem;font-weight:700}.manifesto-side a svg{width:18px;height:18px}.manifesto-side a:hover{color:#fff}

.location{display:grid;grid-template-columns:.82fr 1.18fr;align-items:center;gap:clamp(60px,9vw,140px)}.location-copy p{color:var(--mist);font-size:1.05rem}.location-detail{display:flex;align-items:center;gap:12px;width:max-content;margin-top:34px;padding:12px 17px;border-radius:999px;background:rgba(186,214,247,.05);box-shadow:inset 0 0 0 1px rgba(186,215,247,.12);font-size:.72rem}.location-detail svg{width:19px;height:19px}.location-panel{position:relative;min-height:470px;overflow:hidden;border-radius:16px;background:linear-gradient(135deg,rgba(186,214,247,.05),rgba(8,10,20,.3));box-shadow:inset 0 1px 1px rgba(216,236,248,.18),inset 0 0 0 1px rgba(186,215,247,.12)}.location-panel::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(186,215,247,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(186,215,247,.04) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(90deg,transparent,#000)}.location-word{position:absolute;z-index:1;left:7%;top:8%;font:500 clamp(3rem,6vw,5.8rem)/1 var(--display);letter-spacing:.08em;color:transparent;-webkit-text-stroke:1px rgba(216,236,248,.22)}.location-axis{position:absolute;z-index:2;left:12%;top:31%;bottom:12%;width:1px;background:rgba(186,215,247,.16)}.location-axis i,.location-axis b{position:absolute;left:50%;width:12px;height:12px;border-radius:50%;background:var(--midnight);box-shadow:inset 0 0 0 1px rgba(216,236,248,.46);transform:translateX(-50%)}.location-axis i{top:0;background:var(--violet);box-shadow:0 0 16px rgba(102,58,243,.35)}.location-axis b{bottom:0}.location-panel-copy{position:absolute;z-index:3;left:23%;top:35%;display:grid;gap:20px}.location-panel-copy>span,.location-panel-copy small{font:500 .62rem/1 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--fog)}.location-panel-copy strong{font:500 clamp(2.3rem,4vw,4.5rem)/1.05 var(--display);color:var(--ice)}

.closing{min-height:520px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden}.closing-glow{position:absolute;top:0;left:50%;width:36%;height:90%;background:linear-gradient(90deg,transparent,rgba(133,173,226,.13),transparent);filter:blur(24px);clip-path:polygon(44% 0,56% 0,100% 100%,0 100%);transform:translateX(-50%)}.closing>p{position:relative;color:var(--mist);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.closing h2{position:relative;margin-bottom:32px}.ghost-button{position:relative;padding:13px 18px;background:rgba(186,214,247,.05);box-shadow:inset 0 0 0 1px rgba(186,215,247,.14);transition:background-color 150ms ease-out,transform 150ms ease-out}.ghost-button:hover{transform:translateY(-2px);transition-duration:0ms}
footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px clamp(22px,6vw,96px);border-top:1px solid rgba(186,215,247,.1);color:var(--fog);font-size:.7rem}footer p{margin:0}

.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(16px);filter:blur(5px)}.js .reveal.is-visible{opacity:1;transform:none;filter:none;transition:opacity 480ms var(--ease),transform 480ms var(--ease),filter 480ms var(--ease)}
@keyframes photoIn{from{opacity:.25;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}
@keyframes lightIn{from{opacity:0;transform:translateY(-40px)}to{opacity:1;transform:none}}
@keyframes plateIn{from{opacity:0;transform:translateY(14px) scale(.98);filter:blur(7px)}to{opacity:1;transform:none;filter:none}}

@media (max-width:1050px){.focus-plate{right:2%;width:205px}.session-plate{right:2%;width:180px}.hero-copy{width:48vw}.statement{grid-template-columns:1fr 1fr;gap:48px}.statement-visual{min-height:500px}.approach-signature{left:30px}.approach-list{width:64%;margin-right:5%}.process{grid-template-columns:1fr 1.25fr;gap:50px}}
@media (max-width:820px){
  .site-header{top:12px;width:calc(100% - 24px);height:60px;padding-left:10px}.site-header nav{display:none}.site-header .logo{min-height:44px;padding:9px 6px}.header-action{grid-column:3;min-height:44px;padding:10px 16px}
  .hero{min-height:940px}.hero-photo{height:56%;object-position:61% center}.hero::after{background:linear-gradient(0deg,var(--midnight) 38%,rgba(5,6,15,.02) 76%),linear-gradient(90deg,rgba(5,6,15,.45),transparent)}.hero-grid{background-size:64px 64px}.hero-light{left:43%;width:35%;height:52%}.hero-wordmark{top:16%;left:6%;font-size:clamp(3.8rem,14vw,6rem);letter-spacing:.08em}.hero-copy{top:auto;left:22px;right:22px;bottom:100px;width:auto}.hero-copy h1{font-size:clamp(3.5rem,14vw,5.4rem)}
  .focus-plate{top:30%;right:16px;width:188px;padding:10px 15px}.focus-plate div{padding:9px 0}.session-plate{display:none}.location-chip{left:20px;bottom:34px}.hero-scroll{display:none}
  .statement,.process,.manifesto,.location{grid-template-columns:1fr}.statement{min-height:auto;gap:58px}.statement-copy{max-width:680px}.statement-visual{min-height:500px}.approach-signature{left:8%}.approach-list{width:62%;margin-right:6%}.process{gap:56px}.process-copy{max-width:660px}.manifesto{min-height:auto;gap:46px}.manifesto-side{padding:32px 0 0;border-left:0;border-top:1px solid rgba(186,215,247,.16)}.location{gap:54px}.location-panel{min-height:430px}
}
@media (max-width:520px){
  .section{padding:92px 20px}.logo{font-size:.68rem}.header-action{min-width:88px;font-size:.64rem}.header-action svg{display:none}
  .hero{min-height:870px}.hero-photo{height:52%;object-position:64% center}.hero-wordmark{top:14%;left:19px;font-size:15vw}.hero-copy{bottom:86px}.hero-copy h1{font-size:clamp(3.2rem,15vw,4.5rem);margin-bottom:20px}.hero-copy>p{font-size:.91rem;margin-bottom:24px}.primary-button{width:100%;padding:14px 18px}.focus-plate{top:27%;right:12px;width:166px}.focus-plate div{gap:9px;font-size:.58rem}.focus-plate svg{width:17px}.location-chip{left:16px;bottom:22px;font-size:.56rem}
  .statement h2,.process h2,.manifesto h2,.location h2,.closing h2{font-size:clamp(2.7rem,13vw,4rem)}.statement-copy>p{font-size:.96rem}.statement-line{line-height:1.4}.statement-visual{min-height:auto}.instrument-head{padding:16px;font-size:.52rem}.approach-signature{display:none}.approach-list{width:auto;margin:22px 18px 24px}.approach-list li{padding:21px 0}.manifesto-side{padding-top:26px}.location-panel{min-height:360px}.location-word{top:9%;left:6%;font-size:14vw}.location-axis{left:12%;top:30%;bottom:12%}.location-panel-copy{left:22%;top:34%}.location-panel-copy strong{font-size:clamp(2.2rem,11vw,3.4rem)}
  .process-console{padding:13px}.process-console li{grid-template-columns:40px 1fr;gap:12px;padding:21px 4px}.process-console h3{font-size:.94rem}.process-console li p{font-size:.77rem}
  .manifesto{min-height:auto}.closing{min-height:500px}footer{align-items:flex-start;flex-wrap:wrap}footer .logo{width:100%}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.js .reveal{opacity:1;transform:none;filter:none}}
