:root{
  --bg:#030507;
  --white:#f5f7f8;
  --muted:rgba(245,247,248,.58);
  --line:rgba(255,255,255,.19);
  --thin:rgba(255,255,255,.09);
  --accent:#b9e7ff;
  --cyan:#66d8ff;
  --header:88px;
  --pad:clamp(24px,4.2vw,72px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--white);font-family:Arial,Helvetica,sans-serif;overflow-x:hidden;cursor:none}
body.menu-open{overflow:hidden}
a,button{color:inherit}
button{font:inherit}
::selection{background:#fff;color:#000}

.boot{position:fixed;inset:0;z-index:9999;background:#020304;display:grid;place-content:center;gap:24px;transition:opacity .8s cubic-bezier(.77,0,.18,1),visibility .8s}
.boot.is-hidden{opacity:0;visibility:hidden}
.boot__mark{font-weight:900;font-size:clamp(34px,5vw,74px);letter-spacing:-.08em}
.boot__line{height:1px;width:min(260px,60vw);background:#202326;overflow:hidden}
.boot__line i{display:block;height:100%;width:100%;background:#fff;transform:translateX(-100%);animation:load 1.1s cubic-bezier(.77,0,.18,1) forwards}
@keyframes load{to{transform:translateX(0)}}

.cursor{position:fixed;z-index:9998;left:0;top:0;width:46px;height:46px;border:1px solid rgba(255,255,255,.5);border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);transition:width .25s,height .25s,background .25s,border-color .25s;mix-blend-mode:difference}
.cursor span{position:absolute;left:50%;top:50%;width:3px;height:3px;border-radius:50%;background:#fff;transform:translate(-50%,-50%)}
.cursor.is-active{width:76px;height:76px;background:#fff;border-color:#fff}
.grain{position:fixed;inset:-50%;z-index:90;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");animation:grain .22s steps(2) infinite}
@keyframes grain{0%{transform:translate3d(0,0,0)}25%{transform:translate3d(2%,-3%,0)}50%{transform:translate3d(-3%,2%,0)}75%{transform:translate3d(3%,3%,0)}100%{transform:translate3d(-2%,-2%,0)}}
.scroll-progress{position:fixed;z-index:110;left:0;top:0;width:100%;height:2px;background:transparent}
.scroll-progress i{display:block;width:100%;height:100%;background:#fff;transform:scaleX(0);transform-origin:left}

.header{position:fixed;z-index:100;left:0;right:0;top:0;height:var(--header);padding:0 var(--pad);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;transition:background .35s,border-color .35s,transform .35s;border-bottom:1px solid transparent}
.header.is-scrolled{background:rgba(3,5,7,.7);backdrop-filter:blur(18px);border-color:rgba(255,255,255,.08)}
.header.is-hidden{transform:translateY(-100%)}
.logo{width:160px;display:block;text-decoration:none}
.logo svg{width:100%;height:auto;display:block;fill:#fff}
.desktop-nav{display:flex;gap:clamp(22px,3vw,52px)}
.desktop-nav a,.lang{font-size:11px;font-weight:700;letter-spacing:.17em;text-decoration:none}
.desktop-nav a{position:relative;padding:8px 0}
.desktop-nav a:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:#fff;transform:scaleX(0);transform-origin:right;transition:transform .35s cubic-bezier(.77,0,.18,1)}
.desktop-nav a:hover:after{transform:scaleX(1);transform-origin:left}
.header__actions{justify-self:end;display:flex;align-items:center;gap:18px}
.lang{border:0;background:transparent;padding:12px;cursor:none}
.menu{display:none;width:42px;height:42px;border:0;background:transparent;position:relative;padding:0;cursor:none}
.menu span{position:absolute;left:8px;right:8px;height:1px;background:#fff;transition:transform .35s,top .35s}
.menu span:first-child{top:16px}.menu span:last-child{top:25px}
.menu[aria-expanded="true"] span:first-child{top:21px;transform:rotate(45deg)}
.menu[aria-expanded="true"] span:last-child{top:21px;transform:rotate(-45deg)}

.menu-panel{position:fixed;z-index:80;inset:0;background:#05080a;transform:translateY(-100%);transition:transform .7s cubic-bezier(.77,0,.18,1);visibility:hidden}
.menu-panel.is-open{transform:translateY(0);visibility:visible}
.menu-panel__inner{height:100%;padding:calc(var(--header) + 40px) var(--pad) 50px;display:flex;flex-direction:column}
.menu-panel__label{font-size:10px;letter-spacing:.2em;color:var(--muted);margin-bottom:auto}
.menu-panel nav{display:grid;border-top:1px solid var(--line)}
.menu-panel nav a{display:grid;grid-template-columns:70px 1fr;text-decoration:none;border-bottom:1px solid var(--line);padding:20px 0;align-items:center}
.menu-panel nav b{font-size:10px;color:var(--muted);font-weight:400}
.menu-panel nav span{font-size:clamp(36px,10vw,82px);font-weight:900;letter-spacing:-.06em;line-height:.95}
.menu-panel__meta{font-size:10px;letter-spacing:.16em;line-height:1.8;color:var(--muted);margin-top:auto}

.stage{position:relative;min-height:100svh;overflow:hidden;isolation:isolate}
.stage__shade{position:absolute;z-index:2;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.84) 0%,rgba(0,0,0,.34) 53%,rgba(0,0,0,.1) 100%);pointer-events:none}
.stage__shade--heavy{background:linear-gradient(90deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.66) 44%,rgba(0,0,0,.12) 80%)}
.stage__shade--right{background:linear-gradient(270deg,rgba(0,0,0,.95) 0%,rgba(0,0,0,.72) 43%,rgba(0,0,0,.1) 82%)}
.stage__shade--bottom{background:linear-gradient(0deg,#030507 0%,rgba(3,5,7,.75) 28%,rgba(3,5,7,.1) 68%)}
.stage__content,.project-stage__content,.thesis__content,.signal__content{position:relative;z-index:5}
.stage__index{position:absolute;z-index:8;right:var(--pad);top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:14px;writing-mode:vertical-rl}
.stage__index b{font-size:10px;font-weight:400;color:#fff}
.stage__index span{font-size:9px;letter-spacing:.3em;color:var(--muted)}
.stage__index--right{right:auto;left:var(--pad)}
.micro{font-size:10px;font-weight:700;letter-spacing:.23em;color:rgba(255,255,255,.72);text-transform:uppercase}
.reveal{opacity:0;transform:translateY(34px);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1)}
.reveal.is-visible{opacity:1;transform:none}

.hero{background:#020406}
#field{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.hero__flare{position:absolute;z-index:1;right:-14vw;top:8vh;width:65vw;height:65vw;border-radius:50%;background:radial-gradient(circle at 38% 38%,rgba(255,255,255,.38),rgba(93,201,255,.2) 9%,rgba(23,74,104,.1) 24%,rgba(0,0,0,0) 68%);filter:blur(6px);animation:breathe 8s ease-in-out infinite alternate}
@keyframes breathe{to{transform:scale(1.08);opacity:.75}}
.hero__rings{position:absolute;z-index:1;right:-5vw;top:2vh;width:68vw;height:68vw;transform:rotate(-12deg);opacity:.52}
.hero__rings i{position:absolute;inset:0;border:1px solid rgba(177,230,255,.16);border-radius:50%;animation:ringSpin 32s linear infinite}
.hero__rings i:nth-child(2){inset:12%;animation-duration:24s;animation-direction:reverse}
.hero__rings i:nth-child(3){inset:28%;animation-duration:18s}
.hero__rings i:before{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:#fff;box-shadow:0 0 20px #8bddff;left:12%;top:14%}
@keyframes ringSpin{to{transform:rotate(360deg)}}
.hero__content{min-height:100svh;padding:calc(var(--header) + 8vh) var(--pad) 7vh;display:flex;flex-direction:column;justify-content:center}
.hero__title{margin:4vh 0 0;font-size:clamp(104px,22vw,360px);font-weight:900;line-height:.69;letter-spacing:-.105em;width:max-content;text-transform:uppercase;position:relative}
.hero__line{display:block;overflow:hidden;white-space:nowrap;text-shadow:0 0 80px rgba(190,232,255,.1)}
.hero__line--bottom{padding-left:.41em;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.9)}
.hero__line .char{display:inline-block;transform:translateY(115%) rotate(5deg);transition:transform 1.15s cubic-bezier(.16,1,.3,1)}
.hero__line.is-visible .char{transform:none}
.hero__bottom{position:absolute;z-index:6;left:var(--pad);right:var(--pad);bottom:7vh;display:flex;justify-content:space-between;align-items:end;border-top:1px solid var(--line);padding-top:22px}
.hero__bottom p{margin:0;font-size:clamp(15px,1.4vw,22px);font-weight:700;letter-spacing:-.02em;max-width:540px}
.hero__coordinates{display:flex;gap:30px;font-size:9px;letter-spacing:.2em;color:var(--muted)}
.stage__cta{position:absolute;z-index:8;right:var(--pad);bottom:15vh;width:148px;height:54px;border:1px solid rgba(255,255,255,.55);display:flex;align-items:center;justify-content:space-between;padding:0 17px;text-decoration:none;font-size:10px;font-weight:700;letter-spacing:.16em;overflow:hidden}
.stage__cta:before,.outline-button:before{content:"";position:absolute;inset:0;background:#fff;transform:translateY(101%);transition:transform .35s cubic-bezier(.77,0,.18,1);z-index:-1}
.stage__cta:hover,.outline-button:hover{color:#000}
.stage__cta:hover:before,.outline-button:hover:before{transform:none}

.project-stage{background:#05090c}
.project-stage__visual{position:absolute;z-index:0;inset:0}
.project-stage__content{min-height:100svh;padding:calc(var(--header) + 11vh) var(--pad) 10vh;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;width:min(840px,72vw)}
.display{font-size:clamp(74px,11.8vw,188px);line-height:.78;letter-spacing:-.08em;margin:28px 0 44px;font-weight:900;text-transform:uppercase}
.project-stage__lead{margin:0 0 17px;font-size:clamp(22px,2.3vw,40px);font-weight:700;letter-spacing:-.035em;line-height:1.2;max-width:650px}
.project-stage__copy{margin:0;color:rgba(255,255,255,.68);font-size:clamp(13px,1.1vw,16px);line-height:1.9;max-width:610px}
.project-stage__actions{display:flex;align-items:center;gap:25px;margin-top:38px;flex-wrap:wrap}
.outline-button{position:relative;z-index:1;width:176px;height:54px;border:1px solid rgba(255,255,255,.58);display:flex;justify-content:space-between;align-items:center;padding:0 16px;text-decoration:none;font-size:10px;font-weight:700;letter-spacing:.14em;overflow:hidden}
.text-link{font-size:9px;font-weight:700;letter-spacing:.16em;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.4);padding:9px 0}

.visual-hojin{background:radial-gradient(circle at 70% 48%,#1a3342 0%,#071018 22%,#020507 57%,#000 100%)}
.earth{position:absolute;right:7vw;top:50%;width:min(52vw,760px);aspect-ratio:1;border-radius:50%;transform:translateY(-50%);background:radial-gradient(circle at 33% 30%,#e8f8ff 0 1%,#8cc8df 3%,#22495d 16%,#0a1b25 43%,#020508 72%);box-shadow:-40px 5px 120px rgba(80,190,240,.22),inset -42px -25px 70px #000;overflow:hidden}
.earth:after{content:"";position:absolute;inset:0;background-image:linear-gradient(45deg,transparent 47%,rgba(255,255,255,.08) 49%,transparent 51%),linear-gradient(-45deg,transparent 47%,rgba(255,255,255,.045) 49%,transparent 51%);background-size:52px 52px;border-radius:50%;mix-blend-mode:screen;opacity:.45}
.earth i{position:absolute;border:1px solid rgba(142,219,255,.18);border-radius:50%;inset:17% -8%;transform:rotate(23deg)}
.earth i:nth-child(2){inset:-6% 20%;transform:rotate(-11deg)}
.earth i:nth-child(3){inset:35% -13%;transform:rotate(-28deg)}
.earth b{position:absolute;left:45%;top:31%;font-size:12px;letter-spacing:.2em;color:#fff;text-shadow:0 0 12px #9be3ff}
.earth b:after{content:"";position:absolute;left:50%;top:26px;width:1px;height:75px;background:linear-gradient(#fff,transparent);box-shadow:0 0 14px #9be3ff}
.orbit{position:absolute;right:1vw;top:50%;width:min(64vw,940px);aspect-ratio:1;border:1px solid rgba(151,221,255,.16);border-radius:50%;transform:translateY(-50%) rotate(22deg);animation:orbitSpin 28s linear infinite}
.orbit--2{width:min(69vw,1020px);right:-2vw;transform:translateY(-50%) rotate(-14deg);animation:orbitSpin2 36s linear infinite reverse}
.orbit span{position:absolute;width:7px;height:7px;border-radius:50%;background:#fff;left:8%;top:20%;box-shadow:0 0 20px #89dfff;animation:satellite 9s linear infinite}
.orbit--2 span{left:81%;top:16%;animation-duration:13s;animation-direction:reverse}
@keyframes satellite{to{offset-distance:100%}}
@keyframes orbitSpin{to{transform:translateY(-50%) rotate(382deg)}}
@keyframes orbitSpin2{to{transform:translateY(-50%) rotate(346deg)}}
.data-stream{position:absolute;font-size:9px;letter-spacing:.24em;color:rgba(166,225,255,.34);white-space:nowrap;animation:stream 22s linear infinite}
.data-stream--a{right:0;top:17%;transform:rotate(90deg);transform-origin:right top}.data-stream--b{right:4%;bottom:8%}
@keyframes stream{to{letter-spacing:.34em}}
.scanline{position:absolute;left:52%;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,#c7f1ff,transparent);box-shadow:0 0 18px #7edaff;animation:scan 6s ease-in-out infinite}
@keyframes scan{50%{top:100%}}

.project-stage--loop{background:#040506}
.project-stage__content--right{margin-left:auto;align-items:flex-start;width:min(730px,58vw);padding-left:4vw}
.visual-loop{background:radial-gradient(circle at 30% 50%,#1b1c21 0%,#090a0d 32%,#020304 70%)}
.loop-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:80px 80px;-webkit-mask-image:radial-gradient(circle at 28% 50%,#000,transparent 65%);mask-image:radial-gradient(circle at 28% 50%,#000,transparent 65%);transform:perspective(700px) rotateY(10deg) scale(1.2)}
.loop-core{position:absolute;left:7vw;top:50%;width:min(50vw,690px);aspect-ratio:1;transform:translateY(-50%);display:grid;place-items:center}
.loop-ring{position:absolute;border:1px solid rgba(255,255,255,.22);border-radius:50%;inset:4%;animation:ringSpin 22s linear infinite}
.loop-ring:before{content:"";position:absolute;left:50%;top:-5px;width:9px;height:9px;border-radius:50%;background:#fff;box-shadow:0 0 30px #fff}
.loop-ring--2{inset:20%;border-style:dashed;animation-duration:16s;animation-direction:reverse;opacity:.55}
.loop-ring--3{inset:35%;animation-duration:10s}
.loop-core b{font-size:clamp(90px,13vw,220px);font-weight:200;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.75);filter:drop-shadow(0 0 25px rgba(255,255,255,.16))}
.loop-word{position:absolute;font-size:9px;letter-spacing:.25em;font-weight:700;color:rgba(255,255,255,.65)}
.loop-word--1{top:0;left:48%}.loop-word--2{right:-2%;top:49%}.loop-word--3{bottom:0;left:48%}.loop-word--4{left:-2%;top:49%}

.thesis{background:#080b0e}
.thesis__grid{position:absolute;inset:0;background-image:linear-gradient(rgba(151,219,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(151,219,255,.07) 1px,transparent 1px);background-size:clamp(50px,6vw,100px) clamp(50px,6vw,100px);perspective:700px;transform:scale(1.15);-webkit-mask-image:linear-gradient(90deg,#000,transparent 88%);mask-image:linear-gradient(90deg,#000,transparent 88%)}
.thesis__beam{position:absolute;right:-15vw;top:-20vh;width:55vw;height:150vh;background:linear-gradient(90deg,transparent,rgba(117,209,255,.12),transparent);transform:rotate(20deg);filter:blur(30px);animation:beam 8s ease-in-out infinite alternate}
@keyframes beam{to{transform:rotate(25deg) translateX(-7vw)}}
.thesis__content{min-height:100svh;padding:calc(var(--header) + 8vh) var(--pad) 7vh;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);column-gap:8vw;align-items:center}
.thesis__content>.micro{position:absolute;top:calc(var(--header) + 6vh)}
.thesis__statement{font-size:clamp(43px,6.5vw,105px);font-weight:900;line-height:.98;letter-spacing:-.065em;margin:0;text-transform:uppercase}
.thesis__statement em{font-style:normal;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.78)}
.thesis__principles{border-top:1px solid var(--line)}
.thesis__principles article{padding:25px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:42px 1fr;column-gap:10px}
.thesis__principles span{font-size:9px;color:var(--muted);padding-top:4px}
.thesis__principles h3{margin:0;font-size:12px;letter-spacing:.12em}
.thesis__principles p{grid-column:2;margin:9px 0 0;font-size:12px;line-height:1.7;color:var(--muted);max-width:360px}

.signal{background:#030506;min-height:115svh}
.signal__aurora{position:absolute;inset:-30%;background:conic-gradient(from 110deg at 52% 45%,transparent 0 25%,rgba(79,204,255,.24) 31%,rgba(255,255,255,.08) 35%,transparent 43% 100%);filter:blur(55px);animation:aurora 16s ease-in-out infinite alternate}
@keyframes aurora{to{transform:rotate(11deg) scale(1.1)}}
.signal__lines{position:absolute;inset:0;background:repeating-linear-gradient(116deg,transparent 0 54px,rgba(255,255,255,.035) 55px,transparent 56px);-webkit-mask-image:linear-gradient(#000,transparent 80%);mask-image:linear-gradient(#000,transparent 80%)}
.signal__content{padding:calc(var(--header) + 12vh) var(--pad) 28vh}
.signal__title{font-size:clamp(76px,14vw,220px);font-weight:900;letter-spacing:-.085em;line-height:.76;margin:34px 0 10vh;max-width:1000px}
.signal__links{border-top:1px solid var(--line)}
.signal-link{display:grid;grid-template-columns:70px minmax(220px,.7fr) 1fr 34px;align-items:center;gap:20px;min-height:92px;border-bottom:1px solid var(--line);text-decoration:none;position:relative;overflow:hidden}
.signal-link:before{content:"";position:absolute;inset:0;background:rgba(255,255,255,.94);transform:translateX(-101%);transition:transform .5s cubic-bezier(.77,0,.18,1);z-index:-1}
.signal-link:hover{color:#050607}.signal-link:hover:before{transform:none}
.signal-link>span{font-size:9px;color:var(--muted)}
.signal-link:hover>span{color:rgba(0,0,0,.55)}
.signal-link strong{font-size:11px;letter-spacing:.15em}
.signal-link b{font-size:clamp(22px,3vw,44px);font-weight:700;letter-spacing:-.04em}
.signal-link i{font-style:normal;font-size:18px}
footer{position:absolute;z-index:8;left:var(--pad);right:var(--pad);bottom:0;min-height:145px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr auto;align-items:center;font-size:9px;letter-spacing:.16em;color:var(--muted)}
footer p{text-align:center}footer b{font-weight:400}

.magnetic{will-change:transform}
@media(max-width:920px){
  body{cursor:auto}.cursor{display:none}
  .desktop-nav{display:none}.menu{display:block}.header{grid-template-columns:1fr auto}.logo{width:128px}
  .hero__rings{width:100vw;height:100vw;right:-38vw;top:14vh}.hero__flare{width:100vw;height:100vw;right:-42vw;top:15vh}
  .hero__title{font-size:clamp(104px,30vw,240px)}
  .hero__bottom{display:block}.hero__coordinates{display:none}.hero__bottom p{max-width:70vw}
  .stage__cta{bottom:16vh}.stage__index{display:none}
  .project-stage__content,.project-stage__content--right{width:100%;margin:0;padding:calc(var(--header) + 10vh) var(--pad) 9vh;justify-content:flex-end}
  .project-stage__content--right{background:linear-gradient(0deg,rgba(0,0,0,.86),transparent)}
  .display{font-size:clamp(70px,19vw,150px)}
  .earth{width:76vw;right:-21vw;top:36%}.orbit{width:92vw;right:-30vw;top:36%}.orbit--2{width:102vw;right:-36vw;top:36%}
  .loop-core{width:80vw;left:-24vw;top:35%}.visual-loop{background:radial-gradient(circle at 15% 35%,#1b1c21 0%,#090a0d 30%,#020304 70%)}
  .thesis__content{grid-template-columns:1fr;padding-top:calc(var(--header) + 13vh);align-content:center;gap:7vh}
  .thesis__content>.micro{position:static}.thesis__statement{font-size:clamp(42px,10.7vw,78px)}
  .thesis__principles{max-width:650px}
}
@media(max-width:600px){
  :root{--header:68px;--pad:20px}
  .header__actions{gap:4px}.lang{padding:10px 8px}
  .hero__content{justify-content:flex-start;padding-top:27vh}
  .hero__title{font-size:clamp(102px,32vw,160px);line-height:.72;margin-top:4vh}
  .hero__line--bottom{padding-left:.35em}
  .hero__bottom{bottom:8vh;padding-top:16px}.hero__bottom p{max-width:80vw;font-size:14px;line-height:1.45}
  .stage__cta{right:20px;bottom:15vh;width:126px;height:48px}
  .project-stage__content,.project-stage__content--right{padding-bottom:8vh}
  .display{margin:20px 0 28px;font-size:clamp(65px,20vw,112px)}
  .project-stage__lead{font-size:21px}.project-stage__copy{font-size:12px;line-height:1.75}
  .project-stage__actions{gap:18px;margin-top:28px}.outline-button{width:158px;height:49px}
  .earth{width:100vw;right:-49vw;top:33%}.orbit{width:120vw;right:-62vw;top:33%}.orbit--2{width:132vw;right:-69vw;top:33%}
  .data-stream{display:none}
  .loop-core{width:95vw;left:-45vw;top:32%}.loop-word{display:none}
  .thesis{min-height:115svh}.thesis__content{padding-top:15vh;padding-bottom:10vh;gap:5vh}.thesis__statement{font-size:clamp(39px,11.7vw,60px);line-height:1.02}
  .thesis__principles article{padding:18px 0}.thesis__principles p{font-size:11px}
  .signal{min-height:125svh}.signal__content{padding-top:18vh;padding-bottom:27vh}.signal__title{font-size:clamp(72px,22vw,120px);margin:28px 0 8vh}
  .signal-link{grid-template-columns:32px 1fr 22px;gap:10px;min-height:76px}.signal-link strong{font-size:9px}.signal-link b{grid-column:2;font-size:20px}.signal-link i{grid-column:3;grid-row:1/3}.signal-link>span{grid-row:1/3}
  footer{min-height:120px;grid-template-columns:1fr auto}footer p{display:none}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}.grain,.hero__rings i,.hero__flare,.loop-ring,.signal__aurora,.thesis__beam,.scanline{animation:none!important}.reveal{opacity:1;transform:none;transition:none}.hero__line .char{transform:none;transition:none}.cursor{display:none}body{cursor:auto}
}

/* Sigma enhanced: evidence and positioning layers */
.hero__proof{position:absolute;z-index:7;left:var(--pad);bottom:20vh;display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));width:min(570px,49vw);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(3,5,7,.22);backdrop-filter:blur(8px)}
.hero__proof div{padding:15px 18px 14px;border-right:1px solid var(--line);display:grid;grid-template-columns:auto 1fr;gap:11px;align-items:center}.hero__proof div:last-child{border-right:0}
.hero__proof b{font-size:26px;letter-spacing:-.06em}.hero__proof span{font-size:7px;line-height:1.45;letter-spacing:.16em;color:var(--muted)}
.hero__bottom p{max-width:760px;line-height:1.4}.hero__coordinates{font-size:8px}
.status-line{font-size:10px;font-weight:700;letter-spacing:.2em;color:rgba(255,255,255,.72);display:flex;align-items:center;gap:10px}.status-line i{width:7px;height:7px;border-radius:50%;background:#a9edff;box-shadow:0 0 15px #6bd8ff;animation:statusPulse 2s ease-in-out infinite}.status-line--prep i{background:#f5d56c;box-shadow:0 0 15px rgba(245,213,108,.8)}
@keyframes statusPulse{50%{opacity:.3;transform:scale(.7)}}
.product-facts{display:flex;flex-wrap:wrap;gap:0;margin-top:28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:680px}.product-facts span{padding:12px 18px 11px 0;margin-right:18px;font-size:7px;letter-spacing:.15em;color:var(--muted)}.product-facts b{display:block;margin-top:6px;font-size:9px;letter-spacing:.08em;color:#fff}
.outline-button--disabled{opacity:.42;cursor:not-allowed}.outline-button--disabled:before{display:none}.outline-button--disabled:hover{color:inherit}
.display--jp{font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:clamp(108px,14vw,230px);letter-spacing:-.11em}

.system-preview{position:absolute;z-index:4;right:6vw;top:21vh;width:min(430px,34vw);border:1px solid rgba(185,231,255,.24);background:rgba(2,8,12,.72);backdrop-filter:blur(17px);box-shadow:0 28px 100px rgba(0,0,0,.42)}
.system-preview__top{height:42px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(185,231,255,.16);font-size:7px;letter-spacing:.15em;color:rgba(255,255,255,.55)}.system-preview__top b{font-size:6px;color:#dff7ff}.system-preview__top i{display:inline-block;width:5px;height:5px;border-radius:50%;background:#8fe5ff;box-shadow:0 0 8px #8fe5ff;margin-right:4px}
.system-preview pre{margin:0;padding:23px 23px 18px;min-height:285px;font:11px/1.65 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:rgba(255,255,255,.72);white-space:pre-wrap}.system-preview code em{font-style:normal;color:#8fdfff}.system-preview code strong{font-weight:400;color:#94cfff}.system-preview code>span{color:#e8f8ff}.system-preview code>b{color:#baf5d5;font-weight:700}.system-preview code small{font-size:9px;color:rgba(255,255,255,.43)}
.system-preview__metrics{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(185,231,255,.16)}.system-preview__metrics span{padding:13px 8px;text-align:center;border-right:1px solid rgba(185,231,255,.12);font-size:7px;letter-spacing:.13em}.system-preview__metrics span:last-child{border-right:0}

.loop-window{position:absolute;z-index:4;left:4.5vw;top:17vh;width:min(500px,40vw);border:1px solid rgba(255,255,255,.23);background:rgba(238,238,234,.94);color:#111;box-shadow:0 35px 110px rgba(0,0,0,.55);transform:perspective(1000px) rotateY(5deg) rotateX(1deg)}
.loop-window__bar{height:41px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(0,0,0,.16);font-size:7px;letter-spacing:.13em}.loop-window__bar b{font-size:6px;color:#345e47}
.loop-window__body{padding:22px 22px 18px;min-height:285px}.loop-message{max-width:78%;padding:12px 13px;margin-bottom:16px;border:1px solid rgba(0,0,0,.18);font-size:10px;line-height:1.55}.loop-message--human{margin-left:auto;background:#111;color:#fff}.loop-message--ai{background:#fff}
.loop-commit{margin-top:29px;border-top:2px solid #111;padding-top:13px;display:grid;grid-template-columns:1fr auto;gap:8px}.loop-commit span{grid-column:1/-1;font-size:6px;letter-spacing:.15em}.loop-commit strong{font-size:14px;letter-spacing:-.02em}.loop-commit b{align-self:center;padding:8px 9px;background:#111;color:#fff;font-size:6px;letter-spacing:.12em}
.loop-window__flow{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;border-top:1px solid rgba(0,0,0,.16);font-size:6px;letter-spacing:.12em}.loop-window__flow i{font-style:normal;font-size:11px}

.project-stage--taisaru{background:#060705}.visual-taisaru{background:radial-gradient(circle at 73% 43%,rgba(168,219,107,.18),rgba(16,23,13,.38) 24%,#030403 65%)}
.taisaru-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(205,255,154,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(205,255,154,.05) 1px,transparent 1px);background-size:62px 62px;-webkit-mask-image:radial-gradient(circle at 72% 45%,#000,transparent 67%);mask-image:radial-gradient(circle at 72% 45%,#000,transparent 67%)}
.phone-orbit{position:absolute;right:5vw;top:50%;width:min(59vw,850px);aspect-ratio:1;border:1px solid rgba(205,255,154,.13);border-radius:50%;transform:translateY(-50%) rotate(19deg);animation:orbitSpin 36s linear infinite}.phone-orbit--b{width:min(48vw,680px);right:10vw;transform:translateY(-50%) rotate(-22deg);animation:orbitSpin2 28s linear infinite reverse}
.phone-stack{position:absolute;z-index:4;right:8vw;top:50%;width:min(47vw,660px);height:min(72vh,690px);transform:translateY(-50%)}
.phone{position:absolute;width:250px;height:510px;border:7px solid #1b1d19;border-radius:40px;background:#050505;padding:7px;box-shadow:0 35px 100px rgba(0,0,0,.7)}.phone--front{right:4%;top:50%;transform:translateY(-48%) rotate(5deg);z-index:2}.phone--back{right:35%;top:50%;transform:translateY(-53%) rotate(-10deg);opacity:.75}
.phone__screen{height:100%;border-radius:27px;background:#f0efe9;color:#151515;padding:19px 16px;overflow:hidden}.phone__screen--dark{background:#10110f;color:#eee}.phone__status{display:flex;justify-content:space-between;font-size:7px;margin-bottom:48px}.phone__screen>p{font-size:7px;letter-spacing:.14em;margin:0 0 10px;color:#777}.phone__screen h3{font-size:23px;line-height:1.16;letter-spacing:-.05em;margin:0 0 28px}.phone__screen button{width:100%;display:flex;justify-content:space-between;border:0;border-bottom:1px solid rgba(0,0,0,.16);background:none;padding:15px 3px;font-size:9px}.phone__screen button b{font-size:14px}.phone__confirm{margin-top:30px;background:#101010;color:white;padding:16px;font-size:8px;letter-spacing:.12em}.event-date{display:flex;align-items:center;gap:12px;border-top:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2);padding:20px 0}.event-date b{font-size:54px;letter-spacing:-.08em}.event-date span{font-size:8px;line-height:1.5;color:#aaa}.event-people{display:flex;margin-top:28px}.event-people i,.event-people span{width:34px;height:34px;border:2px solid #111;border-radius:50%;background:#ddd;margin-right:-8px}.event-people span{background:#d8ff83;color:#111;display:grid;place-items:center;font-size:9px}
.store-panel{position:absolute;z-index:5;right:4vw;bottom:5vh;width:355px;padding:16px 18px;border:1px solid rgba(205,255,154,.2);background:rgba(5,8,4,.78);backdrop-filter:blur(14px)}.store-panel div{display:grid;gap:7px}.store-panel span{font-size:6px;letter-spacing:.17em;color:var(--muted)}.store-panel b{font-size:10px;letter-spacing:.09em}.store-panel i{display:block;height:2px;margin:13px 0;background:linear-gradient(90deg,#d8ff83 72%,rgba(255,255,255,.1) 72%)}.store-panel p{margin:0;font-size:6px;line-height:1.6;letter-spacing:.12em;color:var(--muted)}

.signal{min-height:148svh}.signal__content{padding-bottom:31vh}.signal__title{margin-bottom:6vh}
.signal__proposal{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7vw;align-items:end;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 0}.signal__proposal>div:first-child{max-width:760px}.signal__proposal span{font-size:8px;letter-spacing:.18em;color:var(--muted)}.signal__proposal p{margin:15px 0 0;font-size:clamp(18px,2vw,30px);font-weight:700;line-height:1.45;letter-spacing:-.03em}.signal__proposal-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.signal__proposal .outline-button{width:230px}
.signal__intent{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 7vh}.signal__intent span{border:1px solid var(--line);padding:9px 11px;font-size:7px;letter-spacing:.14em;color:rgba(255,255,255,.68)}

@media(max-width:1100px){
  .system-preview{right:3vw;width:37vw}.loop-window{left:3vw;width:43vw}.phone-stack{right:2vw;width:52vw}.store-panel{right:2vw}
}
@media(max-width:920px){
  .hero__proof{width:min(560px,calc(100vw - var(--pad)*2));bottom:21vh}
  .system-preview{width:min(460px,56vw);right:4vw;top:13vh}.earth{opacity:.7}
  .loop-window{left:var(--pad);top:12vh;width:min(520px,64vw);transform:none}.loop-core{opacity:.52}
  .phone-stack{right:2vw;top:36%;width:66vw;height:54vh}.phone{width:205px;height:420px}.phone--back{right:36%}.store-panel{right:var(--pad);bottom:4vh;width:300px}
  .signal__proposal{grid-template-columns:1fr;align-items:start}.signal__proposal-actions{margin-top:10px}
}
@media(max-width:600px){
  .hero__content{padding-top:22vh}.hero__proof{left:20px;right:20px;bottom:20vh;width:auto;grid-template-columns:repeat(3,1fr)}.hero__proof div{padding:10px 8px;display:block}.hero__proof b{font-size:20px}.hero__proof span{display:block;margin-top:4px;font-size:5px}.hero__bottom{bottom:6.5vh}.hero__bottom p{max-width:100%;padding-right:0;font-size:12px}.stage__cta{display:none}
  .status-line{font-size:7px}.product-facts{margin-top:17px}.product-facts span{padding:8px 10px 8px 0;margin-right:10px;font-size:5px}.product-facts b{font-size:6px}
  .system-preview{right:20px;top:11vh;width:calc(100vw - 40px);transform:scale(.82);transform-origin:top right}.system-preview pre{min-height:245px;padding:18px;font-size:9px}.system-preview__metrics span{font-size:5px;padding:10px 4px}
  .loop-window{left:20px;top:10vh;width:calc(100vw - 40px);transform:scale(.83);transform-origin:top left}.loop-window__body{min-height:245px}.loop-core{width:105vw;left:-55vw;top:34%}
  .display--jp{font-size:31vw;margin-bottom:25px}
  .phone-stack{right:-28px;top:31%;width:100vw;height:400px}.phone{width:168px;height:350px;border-width:5px;border-radius:28px;padding:5px}.phone__screen{border-radius:19px;padding:13px 11px}.phone__status{margin-bottom:28px}.phone__screen h3{font-size:16px}.phone__screen button{padding:11px 2px}.phone__confirm{margin-top:18px;padding:12px}.phone--front{right:6%}.phone--back{right:43%}.event-date b{font-size:39px}.store-panel{right:20px;bottom:2vh;width:230px;padding:11px}.store-panel p{font-size:5px}.phone-orbit{width:120vw;right:-35vw}.phone-orbit--b{width:100vw;right:-20vw}
  .project-stage--taisaru .project-stage__content{padding-bottom:7vh}
  .signal{min-height:172svh}.signal__content{padding-top:15vh;padding-bottom:28vh}.signal__title{margin-bottom:5vh}.signal__proposal{padding:20px 0}.signal__proposal p{font-size:17px}.signal__proposal .outline-button{width:205px}.signal__intent{margin-bottom:5vh}.signal__intent span{font-size:5px;padding:7px}.signal-link b{font-size:17px}
}
@media(prefers-reduced-motion:reduce){.status-line i,.phone-orbit{animation:none!important}}
@media(max-width:600px){.project-stage--taisaru .store-panel{display:none}}
