:root{
  color-scheme:dark;
  --ink:#ededee;
  --soft:#92999c;
  --mint:#add7cd;
  --body:"Inter",Arial,sans-serif;
  --display:"Inter Tight","Inter","Helvetica Neue",Arial,sans-serif;
  background:#000;
  color:var(--ink);
  font-family:var(--body);
  scroll-behavior:smooth;
  scroll-padding-top:80px;
}
*{box-sizing:border-box}
body{margin:0;background:#000}
h1,h2,p{margin:0}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
img{display:block;width:100%;height:auto}
a,button{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:1px solid #c6f4e7;outline-offset:7px}
.skip{position:fixed;z-index:30;left:20px;top:15px;padding:12px;background:white;color:black;transform:translateY(-170%)}
.skip:focus{transform:none}
.navigation{position:fixed;inset:0 0 auto;z-index:15;display:flex;justify-content:space-between;align-items:center;padding:26px 4.2vw;transition:background .3s,padding .3s;border-bottom:1px solid transparent}
.navigation.scrolled{background:#000b;backdrop-filter:blur(18px);padding-block:19px;border-color:#ffffff10}
.wordmark{display:flex;gap:12px;align-items:center;font-weight:500;letter-spacing:.15em;font-size:16px}
.wordmark img{width:26px;height:22px;object-fit:contain;filter:grayscale(1) brightness(1.28)}
nav{display:flex;align-items:center;gap:36px;font-size:12px}
nav a{color:#ededeecc;transition:color .2s}
nav a:hover{color:#fff}
.nav-contact{border-bottom:1px solid #ffffff60;padding-block:7px}
.nav-contact span{padding-left:25px}
.scene{position:relative;isolation:isolate;overflow:clip;min-height:820px;height:100svh;max-height:1100px}
.scene-image{position:absolute;inset:0;z-index:-2;overflow:hidden}
.scene-image img{width:100%;height:100%;object-fit:cover}
.hero-image{inset:2% 0 -10%;transform:translateY(calc(var(--travel,0px) * -.25))}
.hero-image img{object-position:center 58%;animation:arrive 2.8s cubic-bezier(.15,.65,.3,1) both}
.hero-image::after{position:absolute;inset:0;content:"";background:linear-gradient(0deg,#000 0%,transparent 23%,transparent 67%,#0008)}
.hero-light{position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#000 0%,transparent 19%,transparent 57%,#0004)}
.scene-copy{text-align:center;position:relative;z-index:1}
.hero-copy{padding:clamp(150px,21svh,230px) 25px 0}
.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:10px;font-weight:500;line-height:1.6;color:#bac3c7;margin-bottom:24px}
h1,h2{font-family:var(--display);font-weight:300;letter-spacing:-.04em;line-height:1.04}
h1{font-size:clamp(60px,7.8vw,112px)}
h2{font-size:clamp(55px,6.5vw,94px)}
h1>span,h2>span{display:block}
.soft{color:var(--soft)}
.scene-bottom{position:absolute;inset:auto 4.2vw 37px;display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#b2b9bd}
.hero-bottom{color:#d5dee2}
.scroll-link{display:flex;gap:32px;align-items:center}
.scroll-link span{font-size:22px;line-height:1;animation:scroll-hint 2.8s ease-in-out infinite}
.story{display:flex;align-items:center;min-height:760px;height:94svh}
.story-copy{position:relative;width:55%;padding-left:9.5vw;z-index:1}
.support{font-size:15px;line-height:1.65;color:#a1a6a8;max-width:285px;margin-top:30px}
.particles{position:absolute;inset:0;z-index:-1}
.particles canvas{width:100%;height:100%;display:block}
.place{height:110svh;max-height:1180px}
.place-image img{object-position:64% 50%;transform:scale(1.12) translateY(calc(var(--travel,0px) * -.08));filter:saturate(.5) brightness(.78)}
.place-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#000a,transparent 24%,#0002 65%,#000c),linear-gradient(90deg,#0003,transparent)}
.place-copy{padding:15svh 30px 0}
.place-copy h2{font-size:clamp(80px,10vw,145px)}
.place-copy .eyebrow{color:#fff}
.core-scene{height:auto;min-height:1000px;padding:130px 0 75px;max-height:none}
.core-heading{text-align:center;position:relative;z-index:1}
.hologram{margin-top:-50px;height:700px;overflow:hidden;position:relative;z-index:-1;mask-image:linear-gradient(transparent,#000 15%,#000 85%,transparent)}
.hologram svg{display:block;width:100%;height:100%;transform:scale(1.08)}
.core-caption{text-align:center;color:#a2a9a6;font-size:14px;position:relative;margin-top:-38px}
.hologram .scan{animation:scan 9s linear infinite}
.hologram .flowdash{animation:flow 5s linear infinite}
.hologram .star{animation:twinkle 5s ease-in-out infinite;animation-delay:var(--d,0s)}
.hologram .cell{animation:cell-glow 5s ease-in-out infinite;animation-delay:var(--d,0s)}
.invitation{min-height:740px;height:94svh;display:grid;place-items:center;padding:90px 25px 145px;background:radial-gradient(ellipse at 50% 70%,#0d1715 0%,#000 60%)}
.invite-copy{text-align:center;position:relative;z-index:2}
.connect-button{margin-top:37px;display:inline-flex;align-items:center;gap:53px;padding:17px 25px;border:1px solid #7d8580;font-size:12px;transition:background .3s,color .3s,border-color .3s}
.connect-button:hover{background:#ededee;color:#060606;border-color:#ededee}
.connect-button span{font-size:19px}
.invitation-orbit{position:absolute;width:min(800px,85vw);aspect-ratio:1;left:50%;top:50%;transform:translate(-50%,-50%) rotateX(66deg) rotateZ(-22deg);opacity:.3;z-index:-1}
.orbit-ring{position:absolute;inset:0;border:1px solid #71887f;border-radius:50%;animation:orbit 32s linear infinite}
.orbit-ring::before{content:"";position:absolute;left:49.7%;top:-3px;width:5px;height:5px;background:#d2f7e7;border-radius:50%;box-shadow:0 0 18px #baffdb}
.orbit-ring:nth-child(2){inset:12%;animation-duration:22s;animation-direction:reverse}
.orbit-ring:nth-child(3){inset:25%;animation-duration:18s}
.orbit-center{position:absolute;inset:42%;border-radius:50%;background:#61957e30;box-shadow:0 0 90px #6dc5a029}
footer{position:absolute;bottom:0;left:4.2vw;right:4.2vw;display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #ffffff24;padding:28px 0 30px;color:#808b88;font-size:10px}
.footer-wordmark{font-size:14px;font-weight:500;letter-spacing:.13em;color:#c5cecb}
.motion-toggle{position:fixed;right:21px;bottom:17px;z-index:20;display:grid;place-items:center;width:30px;height:30px;border:1px solid #ffffff30;border-radius:50%;background:#0009;font-size:12px;cursor:pointer;opacity:.7;transition:opacity .2s}
.motion-toggle:hover{opacity:1}
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity 1s ease,transform 1s cubic-bezier(.16,.6,.3,1)}
.js .reveal.visible{opacity:1;transform:none}
.js [data-reveal-lines]>span{overflow:clip;padding:.07em .1em .14em;margin:-.07em -.1em -.14em}
.js [data-reveal-lines] .line-inner{display:block;transform:translateY(115%);filter:blur(9px);transition:transform 1.2s cubic-bezier(.16,.7,.2,1),filter 1.2s,opacity 1.2s;opacity:0}
.js [data-reveal-lines].visible .line-inner{transform:none;filter:blur(0);opacity:1}
.js [data-reveal-lines]>span:nth-child(2) .line-inner{transition-delay:.12s}
.js .hero-copy .eyebrow{transition-delay:.1s}
.js .hero-copy h1 .line-inner{transition-delay:.22s}
.js .hero-copy h1>span:nth-child(2) .line-inner{transition-delay:.36s}
.paused *,.paused *::before{animation-play-state:paused!important}
@keyframes arrive{from{transform:scale(1.12);opacity:.2}to{transform:scale(1);opacity:1}}
@keyframes scroll-hint{0%,100%{transform:translateY(0);opacity:.6}50%{transform:translateY(6px);opacity:1}}
@keyframes scan{from{transform:translateX(0)}to{transform:translateX(2040px)}}
@keyframes flow{to{stroke-dashoffset:-290}}
@keyframes twinkle{0%,100%{opacity:.25}50%{opacity:.85}}
@keyframes cell-glow{0%,100%{opacity:.3}50%{opacity:.9}}
@keyframes orbit{to{transform:rotate(360deg)}}
@media(min-width:1800px){.hero-copy{padding-top:190px}.hero-image{inset:-3% 0 -25%}}
@media(max-width:800px){
 .navigation{padding:23px 24px}
 .wordmark{font-size:13px;gap:9px;letter-spacing:.1em}
 .wordmark img{width:22px;height:19px}
 nav{gap:23px;font-size:11px}
 .nav-contact span{padding-left:10px}
 .scene{min-height:640px;max-height:950px}
 .hero-copy{padding-top:22svh}
 .hero-image{inset:0 -44% -5%}
 h1{font-size:clamp(51px,9.6vw,77px)}
 h2{font-size:clamp(46px,8vw,67px)}
 .eyebrow{font-size:9px;letter-spacing:.16em;margin-bottom:21px}
 .scene-bottom{left:25px;right:25px;font-size:9px;bottom:31px;letter-spacing:.08em}
 .scroll-link{gap:16px}
 .story{align-items:flex-start;min-height:750px;height:100svh}
 .story-copy{padding:100px 26px 0;width:100%;text-align:center}
 .support{margin:24px auto 0;max-width:260px;font-size:14px}
 .place-image{inset:0 -55%}
 .place-copy{padding-top:16svh}
 .place-copy h2{font-size:clamp(75px,15vw,116px)}
 .core-scene{min-height:760px;height:auto;max-height:none;padding-top:100px}
 .core-heading{padding-inline:25px}
 .hologram{height:480px;margin:0 -28% 0}
 .hologram svg{transform:scale(1)}
 .core-caption{font-size:12px;max-width:240px;margin:-35px auto 0;line-height:1.65}
 .invitation{height:90svh;min-height:690px}
 .connect-button{gap:29px;font-size:11px}
 footer{left:25px;right:25px;flex-wrap:wrap;font-size:9px;justify-content:space-between;padding-bottom:30px}
 footer .footer-wordmark{width:100%;font-size:13px;margin-bottom:7px}
 .motion-toggle{right:12px;bottom:11px;width:26px;height:26px}
}
@media(max-width:380px){
 .wordmark{font-size:11px}
 nav{gap:14px}
 .navigation{padding-inline:17px}
 h1{font-size:47px}
 .hero-copy{padding-inline:15px}
 .scene-bottom{left:18px;right:18px;font-size:8px}
}
@media(prefers-reduced-motion:reduce){
 :root{scroll-behavior:auto}
 :root:not(.motion-enabled) *,:root:not(.motion-enabled) *::before,:root:not(.motion-enabled) *::after{animation:none!important;transition:none!important}
 :root:not(.motion-enabled) .hero-image,:root:not(.motion-enabled) .place-image img{transform:none!important}
}

[hidden]{display:none!important}
nav a[aria-current="page"]{color:#fff}
.thesis-page{background:radial-gradient(ellipse 65% 330px at 60% 0,#13211a70,transparent)}
.thesis-heading{max-width:1160px;margin:auto;padding:170px 50px 85px}
.thesis-heading h1{font-size:clamp(80px,11vw,158px);line-height:1}
.thesis-heading .eyebrow{margin-bottom:21px}
.thesis-intro{font-family:var(--display);font-size:clamp(25px,3.1vw,43px);font-weight:300;line-height:1.2;letter-spacing:-.025em;color:#9ba5a0;margin-top:30px}
.founder-note{max-width:1160px;margin:auto;padding:0 50px 110px;display:grid;grid-template-columns:1fr 2.2fr;gap:50px}
.note-margin{display:flex;flex-direction:column;gap:12px;padding-top:10px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#9aa39d}
.note-margin span:last-child{color:#87948c}
.note-body{border-top:1px solid #ffffff28;padding-top:33px;min-width:0}
.note-body>p{font-size:16px;line-height:1.85;color:#aeb6b1;margin-bottom:25px}
.note-body>.note-lead{font-family:var(--display);font-weight:300;font-size:clamp(25px,2.7vw,35px);line-height:1.35;letter-spacing:-.02em;color:#e5ebe7;margin-bottom:30px}
.note-body>.note-closing{font-family:var(--display);font-weight:300;font-size:clamp(25px,2.6vw,34px);line-height:1.3;letter-spacing:-.02em;color:#dce9df;margin:40px 0 0}
.signature{margin:35px 0 55px;max-width:460px}
.signature svg{width:100%;height:auto;display:block;margin-bottom:13px;overflow:visible}
.signature-name{font-size:14px;font-weight:500;color:#d7dfda;line-height:1.6}
.signature-role{font-size:12px;color:#87948c;margin-top:2px;line-height:1.6}
.js .signature .signature-stroke{stroke-dasharray:1;stroke-dashoffset:1;opacity:0}
.js .signature.visible .signature-stroke{animation:sign-name var(--stroke-duration,.5s) linear forwards;animation-delay:var(--stroke-delay,0s)}
@keyframes sign-name{from{stroke-dashoffset:1;opacity:1}to{stroke-dashoffset:0;opacity:1}}
.note-body>.note-source{font-size:10px;line-height:1.7;color:#7f8b83;padding-top:24px;border-top:1px solid #ffffff18;margin:0 0 35px}
.note-source cite{font-style:normal}
.note-source a{color:#becdc3;white-space:nowrap}
.note-source a:hover{text-decoration:underline}
.note-return{font-size:11px;color:#a6b3ab}
.note-return:hover{color:#fff}
.thesis-footer{max-width:1060px;margin:auto;padding:24px 0 32px;border-top:1px solid #ffffff20;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#7f8c83}
.thesis-footer span:first-child{letter-spacing:.13em;color:#c0cdc4}
@media(max-width:800px){
 .thesis-heading{padding:135px 27px 55px}
 .founder-note{grid-template-columns:1fr;gap:22px;padding:0 27px 65px}
 .note-margin{flex-direction:row;justify-content:space-between}
 .note-body{padding-top:25px}
 .note-body>p{font-size:15px;line-height:1.8}
 .note-body>.note-source{font-size:10px}
 .signature{margin-bottom:40px}
 .thesis-footer{margin-inline:27px}
}
@media(max-width:380px){nav{gap:13px;font-size:10px}.nav-contact span{padding-left:5px}}
@media(prefers-reduced-motion:reduce){
 :root:not(.motion-enabled) .signature .signature-stroke{stroke-dashoffset:0!important;opacity:1!important}
}

/* A native reticle keeps the aim point precise without a mouse-tracking layer. */
@media (hover:hover) and (pointer:fine){
 :root{--cursor-scope:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2240%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-opacity%3D%22.75%22%20stroke-width%3D%223%22%3E%3Ccircle%20cx%3D%2220%22%20cy%3D%2220%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22M20%203V13M20%2027V37M3%2020H13M27%2020H37%22%2F%3E%3C%2Fg%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23add7cd%22%20stroke-width%3D%221%22%3E%3Ccircle%20cx%3D%2220%22%20cy%3D%2220%22%20r%3D%2210%22%20fill%3D%22none%22%2F%3E%3Cpath%20d%3D%22M20%203V13M20%2027V37M3%2020H13M27%2020H37%22%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D%2220%22%20cy%3D%2220%22%20r%3D%221%22%20fill%3D%22%23add7cd%22%2F%3E%3C%2Fsvg%3E") 20 20, crosshair;--cursor-target:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2240%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-opacity%3D%22.75%22%20stroke-width%3D%223%22%3E%3Ccircle%20cx%3D%2220%22%20cy%3D%2220%22%20r%3D%227%22%2F%3E%3Cpath%20d%3D%22M20%206V15M20%2025V34M6%2020H15M25%2020H34%22%2F%3E%3C%2Fg%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23e3fff3%22%20stroke-width%3D%221%22%3E%3Ccircle%20cx%3D%2220%22%20cy%3D%2220%22%20r%3D%227%22%20fill%3D%22none%22%2F%3E%3Cpath%20d%3D%22M20%206V15M20%2025V34M6%2020H15M25%2020H34%22%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D%2220%22%20cy%3D%2220%22%20r%3D%221.5%22%20fill%3D%22%23e3fff3%22%2F%3E%3C%2Fsvg%3E") 20 20, crosshair;--cursor-fire:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2240%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-opacity%3D%22.75%22%20stroke-width%3D%223%22%3E%3Ccircle%20cx%3D%2220%22%20cy%3D%2220%22%20r%3D%225%22%2F%3E%3Cpath%20d%3D%22M20%208V16M20%2024V32M8%2020H16M24%2020H32%22%2F%3E%3C%2Fg%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23baffdb%22%20stroke-width%3D%221%22%3E%3Ccircle%20cx%3D%2220%22%20cy%3D%2220%22%20r%3D%225%22%20fill%3D%22%23add7cd33%22%2F%3E%3Cpath%20d%3D%22M20%208V16M20%2024V32M8%2020H16M24%2020H32%22%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D%2220%22%20cy%3D%2220%22%20r%3D%222%22%20fill%3D%22%23baffdb%22%2F%3E%3C%2Fsvg%3E") 20 20, crosshair}
 body,body *{cursor:var(--cursor-scope)}
 a,a *,button,button *,.motion-toggle,.motion-toggle *,[role="button"],[role="button"] *{cursor:var(--cursor-target)}
 a:active,a:active *,button:active,button:active *,[role="button"]:active,[role="button"]:active *{cursor:var(--cursor-fire)}
 input,textarea,[contenteditable="true"],[contenteditable="true"] *{cursor:text}
 input[type="button"],input[type="submit"],input[type="reset"],input[type="checkbox"],input[type="radio"],select{cursor:var(--cursor-target)}
 :disabled,:disabled *,[aria-disabled="true"],[aria-disabled="true"] *{cursor:not-allowed}
}
