
:root{
  --bg:#ffffff;
  --fg:#111111;
  --muted:#777771;
  --soft:#aaaaa3;
  --edge:clamp(18px,3vw,44px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--fg);
  font-family:Arial,Helvetica,sans-serif;
  overflow-x:hidden;
}
body.experience-locked{
  overflow:hidden;
}
button{font:inherit;color:inherit}
canvas{
  position:fixed;
  inset:0;
  width:100%;
  height:100%;
  z-index:0;
  pointer-events:none;
}
.grain{
  position:fixed;
  inset:-30%;
  z-index:1;
  pointer-events:none;
  opacity:.035;
  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='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.85'/%3E%3C/svg%3E");
  animation:grainShift .3s steps(2) infinite;
}
@keyframes grainShift{
  0%{transform:translate(0,0)}
  25%{transform:translate(2%,-1%)}
  50%{transform:translate(-1%,2%)}
  75%{transform:translate(1%,1%)}
  100%{transform:translate(-2%,-2%)}
}

.topbar{
  position:fixed;
  top:0;left:0;right:0;
  z-index:10;
  padding:34px var(--edge) 0;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:10px;
  letter-spacing:.28em;
}
.brand{
  font-size:25px;
  letter-spacing:.24em;
  font-weight:300;
}
.topbar-right{
  display:flex;
  align-items:center;
  gap:22px;
}
.language-switch{
  display:flex;
  align-items:center;
  border:1px solid rgba(17,17,17,.16);
  background:rgba(255,255,255,.36);
  backdrop-filter:blur(12px) saturate(1.1);
  -webkit-backdrop-filter:blur(12px) saturate(1.1);
}
.language-switch button{
  min-width:34px;
  min-height:30px;
  border:0;
  border-right:1px solid rgba(17,17,17,.12);
  background:transparent;
  color:#777771;
  font-size:9px;
  line-height:1;
  letter-spacing:.18em;
  cursor:pointer;
}
.language-switch button:last-child{
  border-right:0;
}
.language-switch button.is-active{
  background:rgba(17,17,17,.08);
  color:#111;
}
.language-switch button:hover{
  background:rgba(255,255,255,.58);
}
.menu{
  width:28px;height:20px;
  border:0;background:transparent;padding:0;
  display:flex;flex-direction:column;justify-content:space-between;
  cursor:pointer;
  position:relative;
  z-index:32;
}
.menu i{
  display:block;
  height:1px;
  background:#555;
  width:100%;
  transition:transform .28s ease, opacity .28s ease, background .28s ease;
}
.menu.is-open i{
  background:#111;
}
.menu.is-open i:nth-child(1){
  transform:translateY(9.5px) rotate(45deg);
}
.menu.is-open i:nth-child(2){
  opacity:0;
}
.menu.is-open i:nth-child(3){
  transform:translateY(-9.5px) rotate(-45deg);
}
.site-menu[hidden]{
  display:none;
}
.site-menu{
  position:fixed;
  inset:0;
  z-index:20;
  pointer-events:none;
}
.site-menu-backdrop{
  position:absolute;
  inset:0;
  background:rgba(255,255,255,.16);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
  pointer-events:auto;
}
.site-menu-panel{
  position:absolute;
  top:calc(var(--edge) + 42px);
  right:var(--edge);
  width:min(470px, calc(100vw - 36px));
  border:1px solid rgba(17,17,17,.18);
  background:rgba(255,255,255,.58);
  backdrop-filter:blur(20px) saturate(1.18);
  -webkit-backdrop-filter:blur(20px) saturate(1.18);
  box-shadow:0 22px 80px rgba(17,17,17,.12);
  pointer-events:auto;
}
.site-menu-panel a{
  min-height:clamp(86px,8vw,118px);
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  align-items:center;
  gap:clamp(18px,2.4vw,28px);
  padding:22px clamp(28px,3.4vw,42px);
  border-bottom:1px solid rgba(17,17,17,.14);
  background:rgba(255,255,255,.34);
  color:#111;
  text-decoration:none;
  transition:background .28s ease, transform .28s ease;
}
.site-menu-panel a:last-child{
  border-bottom:0;
}
.site-menu-panel a:hover{
  background:rgba(255,255,255,.62);
  transform:translateX(-6px);
}
.site-menu-panel a > span{
  align-self:start;
  margin-top:.48em;
  font-size:10px;
  line-height:1;
  letter-spacing:.28em;
  color:#777771;
}
.site-menu-panel strong{
  font-size:clamp(28px,3.8vw,50px);
  line-height:.94;
  letter-spacing:-.025em;
  font-weight:400;
}
.site-menu-panel strong.menu-logo-word{
  letter-spacing:.12em;
}
.site-menu-panel .menu-logo-inline{
  display:inline-block;
  letter-spacing:.12em;
}
.side-dots{
  position:fixed;
  right:var(--edge);
  top:50%;
  transform:translateY(-50%);
  z-index:8;
  display:flex;
  flex-direction:column;
  gap:22px;
}
.dot{
  width:10px;height:10px;
  padding:0;
  border-radius:50%;
  border:1px solid #777;
  background:transparent;
  cursor:pointer;
}
.dot.active{
  background:#111;
  border-color:#111;
}
.dot[data-target="manifesto"]{
  width:14px;
  height:14px;
  margin:2px 0;
}
.dot:disabled{opacity:.65;cursor:default}
body.experience-locked .side-dots{
  opacity:.34;
  pointer-events:none;
}

main{position:relative;z-index:2}
.section-left{
  justify-content:flex-start;
  text-align:left;
}
.section-right{
  justify-content:flex-end;
  text-align:right;
}
.section-right .intro-inner,
.section-right .definition-inner,
.section-right .territories-inner,
.section-right .questions-inner{
  margin-left:auto;
}
.section-right .definition-copy,
.section-right .definition-line,
.section-right .questions-title,
.section-right .questions-list,
.section-right .questions-list p,
.section-right .experiments-title,
.section-right .experiments-list{
  margin-left:auto;
}
.hero{
  min-height:100vh;
  position:relative;
  display:grid;
  place-items:center;
  overflow:hidden;
}
.hero-center{
  width:100%;
  padding:0 20px;
  text-align:center;
  transform:translateY(-2vh);
}
.wordmark{
  font-size:clamp(72px,9vw,155px);
  line-height:.9;
  letter-spacing:.22em;
  font-weight:300;
  opacity:0;
  transform:translateY(20px);
  animation:fadeUp 1.15s cubic-bezier(.22,1,.36,1) .2s forwards;
}
.descriptor{
  margin-top:22px;
  display:flex;
  flex-direction:column;
  gap:11px;
  font-size:clamp(10px,1vw,15px);
  letter-spacing:.42em;
}
.descriptor span{
  opacity:0;
  transform:translateY(10px);
  animation:fadeUp .9s ease forwards;
}
.descriptor span:first-child{animation-delay:.9s}
.descriptor span:last-child{
  animation-delay:1.1s;
  color:var(--muted);
}
.statement{
  margin-top:118px;
  font-size:clamp(22px,2.35vw,38px);
  letter-spacing:.38em;
  font-weight:300;
  opacity:0;
  transform:translateY(16px);
  animation:fadeUp 1s ease 1.45s forwards;
}

.enter-wrap{
  position:absolute;
  left:50%;
  bottom:52px;
  transform:translateX(-50%);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:50px;
}
.enter-line{
  width:1px;
  height:155px;
  background:rgba(0,0,0,.14);
  position:relative;
  overflow:hidden;
}
.enter-line::after{
  content:"";
  position:absolute;
  left:0;top:-35%;
  width:1px;height:30%;
  background:#111;
  animation:scan 2.35s ease-in-out infinite;
}
#enter{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  min-width:178px;
  min-height:58px;
  border:1px solid rgba(17,17,17,.18);
  background:rgba(255,255,255,.5);
  backdrop-filter:blur(14px) saturate(1.16);
  -webkit-backdrop-filter:blur(14px) saturate(1.16);
  box-shadow:0 18px 60px rgba(17,17,17,.1), inset 0 0 0 1px rgba(255,255,255,.35);
  overflow:hidden;
  isolation:isolate;
  letter-spacing:.38em;
  font-size:11px;
  font-weight:500;
  color:#111;
  cursor:pointer;
  padding:0 28px 0 34px;
  text-shadow:0 1px 18px rgba(255,255,255,.75);
  animation:enterBreath 2.25s ease-in-out infinite;
  transition:background .3s ease, transform .25s ease, box-shadow .3s ease, border-color .3s ease;
}
#enter::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg, rgba(244,63,199,.2), rgba(124,91,255,.18), rgba(45,169,255,.2));
  transform:scaleX(0);
  transform-origin:left center;
  animation:enterFill 3.2s cubic-bezier(.76,0,.24,1) infinite;
}
#enter::after{
  content:"→";
  letter-spacing:0;
  font-size:17px;
  line-height:1;
  transform:translateX(-3px);
  animation:enterArrow 1.6s ease-in-out infinite;
}
.experience-started #enter,
body:not(.experience-locked) #enter{
  animation:none;
}
.experience-started #enter::before,
body:not(.experience-locked) #enter::before,
.experience-started #enter::after,
body:not(.experience-locked) #enter::after{
  animation:none;
}
#enter:hover{
  border-color:rgba(17,17,17,.28);
  background:rgba(255,255,255,.68);
  box-shadow:0 24px 80px rgba(17,17,17,.14), inset 0 0 0 1px rgba(255,255,255,.45);
  transform:translateY(-4px);
}
#enter:focus-visible{
  outline:0;
  box-shadow:0 18px 60px rgba(17,17,17,.08), 0 0 0 2px rgba(17,17,17,.18), 0 0 0 6px rgba(255,255,255,.72);
}

.sound{
  display:flex;
  gap:10px;
  align-items:flex-end;
  border:0;
  background:transparent;
  padding:8px 0;
  font-size:9px;
  letter-spacing:.22em;
  cursor:pointer;
  outline:0;
  transition:opacity .25s ease;
}
.sound:hover{
  opacity:.72;
}
.sound:focus-visible{
  box-shadow:0 0 0 2px rgba(17,17,17,.18), 0 0 0 6px rgba(255,255,255,.72);
}
.sound strong{font-weight:500}
.sound.is-active strong{
  color:#111;
}
.sound:not(.is-active) .bars i{
  animation-play-state:paused;
  opacity:.38;
  height:3px;
  transform:none;
}
.bars{
  display:flex;
  gap:3px;
  align-items:flex-end;
  height:24px;
}
.bars i{
  width:1px;
  background:#666;
  display:block;
  animation:pulse 1.7s ease-in-out infinite;
}
.bars i:nth-child(1){height:9px}
.bars i:nth-child(2){height:16px;animation-delay:.15s}
.bars i:nth-child(3){height:23px;animation-delay:.3s}
.bars i:nth-child(4){height:14px;animation-delay:.45s}

.intro{
  min-height:105vh;
  display:flex;
  align-items:center;
  padding:14vh 8vw;
  background:transparent;
}
.intro-inner,
.definition-inner{max-width:1050px}
.eyebrow{
  font-size:10px;
  letter-spacing:.28em;
  color:var(--muted);
  margin-bottom:30px;
}
h2{
  margin:0;
  font-size:clamp(52px,7vw,118px);
  line-height:.9;
  letter-spacing:-.06em;
  font-weight:400;
}
h2 span{color:#8c8c86}
.definition{
  min-height:105vh;
  display:flex;
  align-items:center;
  padding:14vh 8vw;
  background:transparent;
}
.definition-copy{
  margin:0;
  max-width:1020px;
  font-size:clamp(31px,4.1vw,66px);
  line-height:1.04;
  letter-spacing:-.035em;
  font-weight:400;
}
.logo-word{
  display:inline-block;
  letter-spacing:.08em;
  font-weight:300;
  white-space:nowrap;
  transform:translateY(-.02em);
}
.text-mark{
  position:relative;
  display:inline-block;
  white-space:nowrap;
  text-align:inherit;
}
.text-mark::after{
  content:"";
  position:absolute;
  left:.02em;
  right:.02em;
  bottom:.02em;
  height:.12em;
  z-index:-1;
  opacity:.42;
  filter:blur(2px);
}
.text-mark-experience{
  font-weight:500;
  letter-spacing:-.045em;
}
.text-mark-experience::after{
  background:linear-gradient(90deg, rgba(255,40,136,.38), rgba(229,42,242,.28));
}
.text-mark-art{
  color:#6f63ff;
  font-family:Georgia, 'Times New Roman', serif;
  font-style:italic;
  font-weight:400;
  letter-spacing:-.025em;
}
.text-mark-art::after{
  background:rgba(111,99,255,.28);
}
.text-mark-intelligence{
  color:#1d7ff0;
  font-weight:600;
}
.text-mark-intelligence::after{
  background:linear-gradient(90deg, rgba(29,127,240,.25), rgba(30,218,245,.34));
}
.text-mark-reality{
  color:#111;
  font-family:Georgia, 'Times New Roman', serif;
  font-style:italic;
  font-weight:400;
}
.text-mark-reality::after{
  background:linear-gradient(90deg, rgba(255,161,38,.3), rgba(255,219,48,.26));
}
.text-mark-interface{
  color:#128fa3;
  font-weight:500;
}
.text-mark-interface::after{
  background:linear-gradient(90deg, rgba(34,197,223,.28), rgba(30,218,245,.2));
}
.text-mark-digital{
  color:#4540dd;
  font-weight:500;
}
.text-mark-digital::after{
  background:linear-gradient(90deg, rgba(111,99,255,.25), rgba(29,127,240,.2));
}
.text-mark-space{
  color:#a02fca;
  font-family:Georgia, 'Times New Roman', serif;
  font-style:italic;
  font-weight:400;
}
.text-mark-space::after{
  background:rgba(229,42,242,.24);
}
.definition-line{
  margin:44px 0 0;
  max-width:760px;
  font-size:clamp(20px,2.4vw,34px);
  line-height:1.25;
  color:var(--muted);
}
.territories{
  min-height:120vh;
  display:flex;
  align-items:center;
  padding:16vh 8vw;
  background:transparent;
}
.territories-inner{
  width:100%;
}
.territories-title{
  max-width:920px;
}
.territory-grid{
  margin-top:58px;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:1px;
  border-top:1px solid rgba(17,17,17,.18);
  border-bottom:1px solid rgba(17,17,17,.18);
}
.territory-door{
  position:relative;
  min-height:430px;
  padding:30px 22px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  border-right:1px solid rgba(17,17,17,.16);
  color:#111;
  background:rgba(255,255,255,.26);
  overflow:hidden;
  transition:background .35s ease, transform .35s ease;
}
.territory-door:first-child{
  border-left:1px solid rgba(17,17,17,.16);
}
.territory-door:hover{
  background:rgba(255,255,255,.48);
  transform:translateY(-8px);
}
.territory-visual{
  position:absolute;
  inset:6% 6% auto;
  height:58%;
  overflow:hidden;
  color:var(--accent);
  opacity:.7;
  pointer-events:none;
  z-index:0;
}
.territory-content{
  position:relative;
  z-index:1;
  max-width:18ch;
}
.territory-visual::before,
.territory-visual::after{
  content:"";
  position:absolute;
  inset:18%;
  border:1px solid currentColor;
  opacity:.15;
  transform:rotate(var(--ring-angle, 0deg));
}
.territory-visual::after{
  inset:29% 8%;
  border-radius:50%;
  animation:territoryOrbit 8s linear infinite;
}
.territory-visual i{
  position:absolute;
  width:var(--s);
  height:var(--s);
  left:var(--x);
  top:var(--y);
  border-radius:50%;
  background:currentColor;
  opacity:var(--a);
  filter:blur(var(--b));
  animation:territoryPulse 4.8s ease-in-out infinite;
  animation-delay:var(--d);
}
.territory-door h3{
  margin:0;
  min-height:2.08em;
  display:flex;
  align-items:flex-start;
  font-size:clamp(19px,1.45vw,24px);
  line-height:1.04;
  letter-spacing:-.015em;
  font-weight:600;
  color:#111;
}
.territory-door p{
  margin:18px 0 0;
  font-size:15px;
  line-height:1.45;
  color:#2f2f2b;
}
.territory-realities{--accent:#f22caf}
.territory-human{--accent:#7a62ff}
.territory-intelligence{--accent:#1f83ff}
.territory-interface{--accent:#22c5df}
.territory-art{--accent:#ff9e2f}
.territory-human .territory-visual::before{border-radius:50%}
.territory-intelligence .territory-visual::before{
  inset:26% 10%;
  transform:skewY(-12deg) rotate(18deg);
}
.territory-interface .territory-visual::before{
  inset:20% 6%;
  border-radius:50%;
  transform:scaleY(.42) rotate(-8deg);
}
.territory-art .territory-visual::before{
  inset:16% 28%;
  transform:rotate(45deg);
}
.territory-visual i:nth-child(1){--x:12%;--y:48%;--s:14px;--a:.5;--b:1px;--d:-.2s}
.territory-visual i:nth-child(2){--x:31%;--y:24%;--s:30px;--a:.32;--b:4px;--d:-1.3s}
.territory-visual i:nth-child(3){--x:57%;--y:38%;--s:8px;--a:.58;--b:0;--d:-2.1s}
.territory-visual i:nth-child(4){--x:72%;--y:62%;--s:22px;--a:.28;--b:3px;--d:-.7s}
.territory-visual i:nth-child(5){--x:42%;--y:72%;--s:10px;--a:.46;--b:1px;--d:-3s}
.territory-realities .territory-visual{--ring-angle:-14deg}
.territory-human .territory-visual{--ring-angle:22deg}
.territory-intelligence .territory-visual{--ring-angle:8deg}
.territory-interface .territory-visual{--ring-angle:-28deg}
.territory-art .territory-visual{--ring-angle:45deg}
.questions{
  min-height:220vh;
  display:flex;
  align-items:flex-start;
  padding:16vh 8vw;
  background:transparent;
}
.questions-inner{
  width:100%;
  max-width:1180px;
}
.questions-title{
  max-width:1050px;
}
.questions-list{
  margin-top:clamp(46px,6vw,78px);
  display:grid;
  gap:clamp(34px,5.2vw,72px);
  max-width:980px;
}
.questions-list p{
  margin:0;
  max-width:920px;
  font-size:clamp(26px,3.35vw,54px);
  line-height:1.04;
  letter-spacing:-.028em;
  font-weight:400;
  color:#111;
  opacity:var(--question-opacity, 0);
  transform:translateY(var(--question-y, 24px));
  will-change:opacity, transform;
}
.questions-list .question-primary{
  margin-top:clamp(12px,1.8vw,28px);
  max-width:920px;
  font-size:clamp(26px,3.35vw,54px);
  line-height:1.04;
  letter-spacing:-.028em;
  color:#111;
  font-weight:400;
}
.manifesto-call{
  min-height:105vh;
  display:grid;
  place-items:center;
  padding:14vh 8vw;
  text-align:center;
  background:transparent;
}
.manifesto-call-inner{
  max-width:1180px;
}
.manifesto-call h2{
  display:flex;
  flex-direction:column;
  align-items:center;
  margin:0;
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(58px,7.5vw,124px);
  line-height:.9;
  letter-spacing:-.06em;
  font-weight:400;
  color:#111;
}
.manifesto-call h2 span{
  color:#111;
}
.manifesto-call h2 .muted{
  color:#8c8c86;
}
.manifesto-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  margin-top:clamp(42px,6vw,84px);
  min-height:76px;
  padding:0 34px;
  border:1px solid rgba(17,17,17,.18);
  background:rgba(255,255,255,.4);
  backdrop-filter:blur(14px) saturate(1.18);
  -webkit-backdrop-filter:blur(14px) saturate(1.18);
  box-shadow:0 18px 60px rgba(17,17,17,.08);
  color:#111;
  font:inherit;
  font-weight:500;
  text-transform:uppercase;
  font-size:12px;
  line-height:1.2;
  letter-spacing:.32em;
  cursor:pointer;
  text-shadow:0 1px 18px rgba(255,255,255,.75);
  transition:background .3s ease, transform .3s ease, box-shadow .3s ease;
}
.manifesto-link:hover{
  background:rgba(255,255,255,.58);
  box-shadow:0 20px 70px rgba(17,17,17,.1), inset 0 0 0 1px rgba(17,17,17,.08);
  transform:translateX(8px);
}
.manifesto-link span{
  letter-spacing:0;
  font-size:18px;
  line-height:1;
}
.manifesto-modal[hidden],
.experiment-modal[hidden]{
  display:none;
}
.manifesto-modal,
.experiment-modal{
  position:fixed;
  inset:0;
  z-index:30;
  display:grid;
  place-items:center;
  padding:clamp(18px,3vw,48px);
}
.manifesto-backdrop,
.experiment-backdrop{
  position:absolute;
  inset:0;
  background:rgba(255,255,255,.36);
  backdrop-filter:blur(10px) saturate(1.08);
  -webkit-backdrop-filter:blur(10px) saturate(1.08);
}
.manifesto-panel,
.experiment-panel{
  position:relative;
  width:min(1040px, calc(100vw - 40px));
  max-height:min(82vh, 880px);
  display:flex;
  flex-direction:column;
  border:1px solid rgba(17,17,17,.16);
  background:rgba(255,255,255,.78);
  backdrop-filter:blur(22px) saturate(1.18);
  -webkit-backdrop-filter:blur(22px) saturate(1.18);
  box-shadow:0 28px 90px rgba(17,17,17,.16);
}
.manifesto-panel-head,
.experiment-panel-head{
  flex:0 0 auto;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:28px;
  padding:clamp(24px,3.6vw,48px);
  border-bottom:1px solid rgba(17,17,17,.14);
}
.manifesto-panel-head .eyebrow,
.experiment-panel-head .eyebrow{
  margin:0 0 18px;
}
.manifesto-panel-head h2,
.experiment-panel-head h2{
  margin:0;
  font-size:clamp(58px,8vw,124px);
  line-height:.82;
  letter-spacing:.02em;
  font-weight:300;
  color:#111;
}
.manifesto-panel-head h2 .logo-word,
.experiment-panel-head h2 .logo-word{
  letter-spacing:.02em;
  color:#111;
}
.experiment-panel-head h2{
  max-width:820px;
  font-size:clamp(48px,6.2vw,92px);
  line-height:.88;
  letter-spacing:-.055em;
}
.manifesto-panel-head p,
.experiment-panel-head p{
  margin:20px 0 0;
  font-size:clamp(13px,1.7vw,22px);
  line-height:1;
  letter-spacing:.34em;
  color:#111;
}
.manifesto-close,
.experiment-close{
  width:54px;
  height:54px;
  flex:0 0 auto;
  position:relative;
  border:1px solid rgba(17,17,17,.18);
  background:rgba(255,255,255,.4);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  cursor:pointer;
  outline:0;
  transition:background .25s ease, transform .25s ease;
}
.manifesto-close:focus-visible,
.experiment-close:focus-visible{
  box-shadow:0 0 0 2px rgba(17,17,17,.18), 0 0 0 6px rgba(255,255,255,.72);
}
.manifesto-close:hover,
.experiment-close:hover{
  background:rgba(255,255,255,.68);
  transform:translateY(-2px);
}
.manifesto-close span,
.experiment-close span{
  position:absolute;
  left:15px;
  right:15px;
  top:26px;
  height:1px;
  background:#111;
}
.manifesto-close span:first-child,
.experiment-close span:first-child{
  transform:rotate(45deg);
}
.manifesto-close span:last-child,
.experiment-close span:last-child{
  transform:rotate(-45deg);
}
.manifesto-body,
.experiment-body{
  overflow:auto;
  padding:clamp(28px,4vw,58px) clamp(24px,5vw,86px) clamp(42px,6vw,80px);
  color:#111;
  scrollbar-color:rgba(17,17,17,.34) transparent;
}
.manifesto-body section,
.experiment-body section{
  padding:clamp(28px,4vw,56px) 0;
  border-bottom:1px solid rgba(17,17,17,.12);
}
.manifesto-body section:first-child,
.experiment-body section:first-child{
  padding-top:0;
}
.manifesto-body h3,
.experiment-body h3{
  margin:0 0 24px;
  max-width:760px;
  font-size:clamp(30px,4.1vw,62px);
  line-height:.98;
  letter-spacing:-.04em;
  font-weight:400;
  color:#111;
}
.manifesto-body h3 + h3,
.experiment-body h3 + h3{
  margin-top:-10px;
  color:#8c8c86;
}
.manifesto-body p,
.experiment-body p{
  margin:0 0 16px;
  max-width:720px;
  font-size:clamp(18px,1.6vw,24px);
  line-height:1.36;
  letter-spacing:-.015em;
  color:#242420;
}
.manifesto-body strong,
.experiment-body strong{
  font-weight:600;
  color:#111;
}
.manifesto-body .logo-word,
.experiment-body .logo-word{
  letter-spacing:.06em;
}
.experiment-body ul{
  margin:8px 0 0;
  padding:0;
  list-style:none;
  max-width:720px;
}
.experiment-body li{
  position:relative;
  margin:0 0 12px;
  padding-left:22px;
  font-size:clamp(17px,1.45vw,22px);
  line-height:1.38;
  letter-spacing:-.012em;
  color:#242420;
}
.experiment-body li::before{
  content:"";
  position:absolute;
  left:0;
  top:.68em;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#111;
  opacity:.72;
}
.experiment-body .experiment-closing{
  margin-top:clamp(22px,3vw,42px);
  max-width:900px;
  font-size:clamp(18px,2.2vw,34px);
  line-height:1.08;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.manifesto-body footer{
  padding-top:clamp(34px,5vw,72px);
  text-align:center;
}
.manifesto-body footer p{
  margin:0 auto 12px;
  max-width:none;
  text-transform:uppercase;
  letter-spacing:.28em;
}
.manifesto-body footer p:first-child{
  font-size:clamp(58px,8vw,118px);
  line-height:.86;
  letter-spacing:.02em;
  font-weight:300;
}
body.modal-open{
  overflow:hidden;
}
.lab{
  min-height:120vh;
  display:flex;
  align-items:center;
  padding:16vh 8vw;
  background:transparent;
}
.lab-inner{
  width:100%;
  max-width:1180px;
}
.lab-heading{
  display:grid;
  grid-template-columns:minmax(320px,.9fr) minmax(420px,1fr);
  gap:clamp(40px,7vw,110px);
  align-items:end;
}
.lab-heading h2{
  font-size:clamp(62px,9vw,150px);
  letter-spacing:-.065em;
  color:#111;
}
.lab-heading .logo-word{
  letter-spacing:.02em;
  color:#111;
}
.lab-heading .lab-muted{
  color:#8c8c86;
}
.lab-heading p{
  margin:0 0 .3em;
  font-size:clamp(24px,3.2vw,52px);
  line-height:1.02;
  letter-spacing:-.035em;
  color:#111;
}
.lab-heading p span{
  color:#8c8c86;
}
.lab-list{
  margin-top:clamp(58px,8vw,110px);
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  border-top:1px solid rgba(17,17,17,.18);
  border-bottom:1px solid rgba(17,17,17,.18);
}
.lab-list article{
  min-height:260px;
  padding:26px 22px 28px;
  border-right:1px solid rgba(17,17,17,.16);
  background:rgba(255,255,255,.28);
}
.lab-list article:first-child{
  border-left:1px solid rgba(17,17,17,.16);
}
.lab-list h3{
  margin:0;
  min-height:2.2em;
  font-size:clamp(18px,1.45vw,24px);
  line-height:1.08;
  letter-spacing:-.015em;
  font-weight:600;
}
.lab-list p{
  margin:22px 0 0;
  font-size:15px;
  line-height:1.45;
  color:#2f2f2b;
}
.experiments{
  min-height:105vh;
  display:flex;
  align-items:center;
  padding:16vh 8vw;
  background:transparent;
}
.experiments-inner{
  width:100%;
  max-width:1180px;
}
.experiments-title{
  max-width:920px;
}
.experiments-list{
  margin-top:clamp(58px,8vw,110px);
  max-width:880px;
  display:grid;
  justify-items:end;
  gap:12px;
}
.experiments-list button{
  display:flex;
  justify-content:flex-start;
  align-items:center;
  gap:clamp(28px,4vw,54px);
  width:fit-content;
  min-width:min(100%, 680px);
  max-width:100%;
  min-height:clamp(88px,9vw,132px);
  padding:22px clamp(24px,3.4vw,44px);
  border:1px solid rgba(17,17,17,.16);
  background:rgba(255,255,255,.38);
  backdrop-filter:blur(14px) saturate(1.18);
  -webkit-backdrop-filter:blur(14px) saturate(1.18);
  box-shadow:0 18px 60px rgba(17,17,17,.07);
  color:#111;
  font-weight:400;
  font-family:inherit;
  text-align:left;
  cursor:pointer;
  text-shadow:0 1px 18px rgba(255,255,255,.75);
  transition:background .3s ease, transform .3s ease, box-shadow .3s ease, color .3s ease;
}
.experiment-copy{
  display:block;
  min-width:0;
  flex:0 1 auto;
}
.experiment-number,
.experiment-name{
  display:block;
}
.experiment-number{
  font-size:clamp(30px,4.2vw,66px);
  line-height:.92;
  letter-spacing:-.045em;
  text-transform:uppercase;
  font-weight:400;
}
.experiment-name{
  margin-top:10px;
  font-size:clamp(16px,1.5vw,25px);
  line-height:1.05;
  letter-spacing:.02em;
  font-weight:500;
  color:#30302c;
}
.experiments-list button::after{
  content:"→";
  font-size:clamp(20px,2.2vw,34px);
  line-height:1;
  letter-spacing:0;
  opacity:.38;
  flex:0 0 auto;
  transition:transform .3s ease, opacity .3s ease;
}
.experiments-list button:hover{
  background:rgba(255,255,255,.56);
  box-shadow:0 22px 70px rgba(17,17,17,.1), inset 0 0 0 1px rgba(17,17,17,.08);
  transform:translateX(-8px);
  color:#4e4e48;
}
.experiments-list button:hover::after{
  opacity:1;
  transform:translateX(6px);
}
.join{
  min-height:110vh;
  display:grid;
  place-items:center;
  padding:14vh 8vw;
  text-align:center;
  background:transparent;
}
.join-inner{
  width:100%;
  max-width:1180px;
}
.join h2{
  display:flex;
  flex-direction:column;
  align-items:center;
  margin:0;
  font-size:clamp(58px,7.5vw,124px);
  line-height:.9;
  letter-spacing:-.06em;
  font-weight:400;
  color:#111;
}
.join h2 span{
  color:#111;
}
.join h2 .muted{
  color:#8c8c86;
}
.join p{
  margin:clamp(44px,6vw,82px) auto 0;
  max-width:790px;
  font-size:clamp(20px,2.2vw,34px);
  line-height:1.22;
  letter-spacing:-.025em;
  color:#2f2f2b;
}
.join p .logo-word{
  letter-spacing:.06em;
  color:#111;
}
.join-actions{
  margin:clamp(46px,6vw,86px) auto 0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  max-width:900px;
  border:1px solid rgba(17,17,17,.18);
  background:rgba(255,255,255,.18);
  backdrop-filter:blur(14px) saturate(1.18);
  -webkit-backdrop-filter:blur(14px) saturate(1.18);
  box-shadow:0 18px 60px rgba(17,17,17,.08);
}
.join-actions button{
  min-height:86px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:20px;
  border-right:1px solid rgba(17,17,17,.16);
  border-top:0;
  border-bottom:0;
  border-left:0;
  background:rgba(255,255,255,.4);
  color:#111;
  text-transform:uppercase;
  font-weight:500;
  font-size:12px;
  line-height:1.25;
  letter-spacing:.24em;
  text-shadow:0 1px 18px rgba(255,255,255,.75);
  cursor:pointer;
  transition:background .3s ease, transform .3s ease, box-shadow .3s ease;
}
.join-actions button:first-child{
  border-left:0;
}
.join-actions button:last-child{
  border-right:0;
}
.join-actions button::after{
  content:"→";
  letter-spacing:0;
  opacity:.45;
  transition:transform .3s ease, opacity .3s ease;
}
.join-actions button:hover{
  background:rgba(255,255,255,.58);
  box-shadow:inset 0 0 0 1px rgba(17,17,17,.08);
  transform:translateY(-4px);
}
.join-actions button:hover::after{
  opacity:1;
  transform:translateX(5px);
}
.join-actions .logo-word{
  letter-spacing:.06em;
}
.contact-modal[hidden]{
  display:none;
}
.contact-modal{
  position:fixed;
  inset:0;
  z-index:30;
  display:grid;
  place-items:center;
  padding:clamp(18px,3vw,48px);
}
.contact-backdrop{
  position:absolute;
  inset:0;
  background:rgba(255,255,255,.36);
  backdrop-filter:blur(10px) saturate(1.08);
  -webkit-backdrop-filter:blur(10px) saturate(1.08);
}
.contact-panel{
  position:relative;
  width:min(760px, calc(100vw - 40px));
  max-height:min(86vh, 780px);
  display:flex;
  flex-direction:column;
  border:1px solid rgba(17,17,17,.16);
  background:rgba(255,255,255,.78);
  backdrop-filter:blur(22px) saturate(1.18);
  -webkit-backdrop-filter:blur(22px) saturate(1.18);
  box-shadow:0 28px 90px rgba(17,17,17,.16);
}
.contact-panel-head{
  flex:0 0 auto;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:28px;
  padding:clamp(22px,3vw,36px) clamp(24px,3.6vw,46px);
  border-bottom:1px solid rgba(17,17,17,.14);
}
.contact-panel-head .eyebrow{
  margin:0 0 14px;
}
.contact-panel-head h2{
  margin:0;
  max-width:560px;
  font-size:clamp(38px,5vw,64px);
  line-height:.9;
  letter-spacing:-.055em;
  font-weight:400;
  color:#111;
}
.contact-close{
  width:54px;
  height:54px;
  flex:0 0 auto;
  position:relative;
  border:1px solid rgba(17,17,17,.18);
  background:rgba(255,255,255,.4);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  cursor:pointer;
  outline:0;
  transition:background .25s ease, transform .25s ease;
}
.contact-close:focus-visible{
  box-shadow:0 0 0 2px rgba(17,17,17,.18), 0 0 0 6px rgba(255,255,255,.72);
}
.contact-close:hover{
  background:rgba(255,255,255,.68);
  transform:translateY(-2px);
}
.contact-close span{
  position:absolute;
  left:15px;
  right:15px;
  top:26px;
  height:1px;
  background:#111;
}
.contact-close span:first-child{
  transform:rotate(45deg);
}
.contact-close span:last-child{
  transform:rotate(-45deg);
}
.contact-form{
  overflow:auto;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px 18px;
  padding:clamp(22px,3vw,34px) clamp(28px,4vw,52px) clamp(24px,3.2vw,38px);
}
.contact-form label{
  display:grid;
  gap:10px;
  text-align:left;
}
.contact-form label span{
  font-size:10px;
  line-height:1;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:#777771;
}
.contact-form input,
.contact-form textarea{
  width:100%;
  border:1px solid rgba(17,17,17,.18);
  background:rgba(255,255,255,.42);
  padding:13px 15px;
  color:#111;
  font:inherit;
  font-size:16px;
  line-height:1.35;
  outline:0;
  resize:vertical;
  transition:border-color .25s ease, background .25s ease, box-shadow .25s ease;
}
.contact-form textarea{
  height:82px;
  min-height:82px;
  max-height:112px;
}
.contact-form label:has(textarea),
.contact-submit,
.contact-status{
  grid-column:1 / -1;
}
.contact-form input:focus,
.contact-form textarea:focus{
  border-color:rgba(17,17,17,.42);
  background:rgba(255,255,255,.66);
  box-shadow:0 0 0 4px rgba(255,255,255,.5);
}
.contact-submit{
  min-height:64px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  justify-self:start;
  margin-top:4px;
  padding:0 34px;
  border:1px solid rgba(17,17,17,.18);
  background:rgba(255,255,255,.4);
  backdrop-filter:blur(14px) saturate(1.18);
  -webkit-backdrop-filter:blur(14px) saturate(1.18);
  box-shadow:0 18px 60px rgba(17,17,17,.08);
  color:#111;
  text-transform:uppercase;
  font-weight:500;
  font-size:12px;
  line-height:1.2;
  letter-spacing:.32em;
  cursor:pointer;
  outline:0;
  transition:background .3s ease, transform .3s ease, box-shadow .3s ease;
}
.contact-submit:focus-visible{
  box-shadow:0 18px 60px rgba(17,17,17,.08), 0 0 0 2px rgba(17,17,17,.18), 0 0 0 6px rgba(255,255,255,.72);
}
.contact-submit:hover{
  background:rgba(255,255,255,.58);
  box-shadow:0 20px 70px rgba(17,17,17,.1), inset 0 0 0 1px rgba(17,17,17,.08);
  transform:translateX(8px);
}
.contact-submit:disabled{
  cursor:wait;
  opacity:.55;
  transform:none;
}
.contact-submit span{
  letter-spacing:0;
  font-size:18px;
  line-height:1;
}
.contact-status{
  min-height:1.3em;
  margin:0;
  font-size:14px;
  line-height:1.35;
  color:#777771;
  text-align:left;
}
.finale{
  min-height:105vh;
  display:grid;
  place-items:center;
  padding:14vh 8vw;
  text-align:center;
  background:transparent;
}
.finale-inner{
  width:100%;
}
.finale-statement{
  margin-top:clamp(24px,3.5vw,48px);
  font-size:clamp(22px,3vw,48px);
  line-height:1;
  letter-spacing:.34em;
  font-weight:400;
  color:#111;
  text-align:center;
}
.finale-action{
  margin-top:clamp(18px,2.2vw,32px);
  font-size:clamp(22px,3vw,48px);
  line-height:1;
  letter-spacing:.34em;
  font-weight:400;
  color:#111;
  text-align:center;
}
.finale-domain{
  font-size:clamp(110px,19vw,310px);
  line-height:.82;
  letter-spacing:.02em;
  font-weight:300;
  color:#111;
  -webkit-text-stroke:.7px rgba(140,140,134,.65);
  text-shadow:0 18px 60px rgba(17,17,17,.18);
}

@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}
@keyframes scan{0%{top:-35%}50%{top:105%}100%{top:105%}}
@keyframes pulse{0%,100%{transform:scaleY(.55);opacity:.4}50%{transform:scaleY(1.08);opacity:1}}
@keyframes enterBreath{
  0%,100%{transform:translateY(0) scale(1);box-shadow:0 18px 60px rgba(17,17,17,.1), inset 0 0 0 1px rgba(255,255,255,.35)}
  50%{transform:translateY(-5px) scale(1.035);box-shadow:0 28px 84px rgba(17,17,17,.16), inset 0 0 0 1px rgba(255,255,255,.5)}
}
@keyframes enterFill{
  0%{transform:scaleX(0);opacity:.28;transform-origin:left center}
  48%{transform:scaleX(1);opacity:.95;transform-origin:left center}
  70%{transform:scaleX(1);opacity:.55;transform-origin:right center}
  100%{transform:scaleX(0);opacity:.28;transform-origin:right center}
}
@keyframes enterArrow{
  0%,100%{transform:translateX(-3px);opacity:.55}
  50%{transform:translateX(3px);opacity:1}
}
@keyframes territoryPulse{
  0%,100%{transform:translate(0,0) scale(.85)}
  50%{transform:translate(10px,-8px) scale(1.18)}
}
@keyframes territoryOrbit{
  to{transform:rotate(360deg)}
}
@media(max-width:800px){
  .topbar{padding:24px 18px 0}
  .brand{font-size:20px}
  .topbar-right{gap:18px}
  .language-switch button{
    min-width:31px;
    min-height:28px;
    font-size:8px;
    letter-spacing:.12em;
  }
  .sound span{display:none}
  .site-menu-panel{
    top:66px;
    right:18px;
    width:calc(100vw - 36px);
  }
  .site-menu-panel a{
    min-height:82px;
    grid-template-columns:32px minmax(0,1fr);
    gap:16px;
    padding:20px 24px;
  }
  .site-menu-panel strong{
    font-size:clamp(26px,10vw,40px);
  }
  .site-menu-panel strong.menu-logo-word{
    letter-spacing:.1em;
  }
  .site-menu-panel .menu-logo-inline{
    letter-spacing:.1em;
  }
  .side-dots{right:16px;gap:17px}
  .statement{margin-top:78px;letter-spacing:.2em}
  .enter-wrap{
    bottom:max(70px, env(safe-area-inset-bottom));
    gap:26px;
  }
  .enter-line{height:72px}
  #enter{
    min-height:52px;
    min-width:164px;
    padding:0 22px;
  }
  .intro,
  .definition,
  .territories,
  .questions,
  .manifesto-call,
  .lab,
  .experiments,
  .join,
  .finale{padding:13vh 20px}
  .section-right{
    justify-content:flex-start;
    text-align:left;
  }
  .section-right .definition-copy,
  .section-right .definition-line,
  .section-right .questions-title,
  .section-right .questions-list,
  .section-right .questions-list p,
  .section-right .experiments-title,
  .section-right .experiments-list{
    margin-left:0;
  }
  .definition-copy{
    max-width:calc(100vw - 58px);
    letter-spacing:-.025em;
  }
  .text-mark{white-space:normal}
  .territory-grid{
    margin-top:42px;
    grid-template-columns:1fr;
    border-bottom:0;
  }
  .territory-door{
    min-height:0;
    padding:22px 0 26px;
    border-left:0!important;
    border-right:0;
    border-bottom:1px solid rgba(17,17,17,.16);
    background:transparent;
  }
  .territory-door:hover{
    background:transparent;
    transform:none;
  }
  .territory-visual{
    inset:8px 0 auto;
    height:150px;
    max-width:210px;
  }
  .territory-content{max-width:28ch}
  .questions-list p{
    max-width:calc(100vw - 56px);
    font-size:clamp(25px,8.2vw,40px);
    letter-spacing:-.03em;
  }
  .questions-list .question-primary{
    font-size:clamp(25px,8.2vw,40px);
    letter-spacing:-.03em;
  }
  .manifesto-call h2{
    font-size:clamp(50px,15vw,82px);
    letter-spacing:-.055em;
  }
  .manifesto-link{
    font-size:11px;
    letter-spacing:.24em;
    min-height:68px;
    padding:0 24px;
    max-width:calc(100vw - 56px);
  }
  .manifesto-modal,
  .experiment-modal{
    padding:12px;
  }
  .manifesto-panel,
  .experiment-panel{
    width:calc(100vw - 24px);
    max-height:calc(100vh - 24px);
  }
  .manifesto-panel-head,
  .experiment-panel-head{
    padding:24px 20px;
  }
  .manifesto-panel-head h2,
  .experiment-panel-head h2{
    font-size:clamp(54px,18vw,84px);
  }
  .experiment-panel-head h2{
    font-size:clamp(42px,13vw,68px);
  }
  .manifesto-panel-head p,
  .experiment-panel-head p{
    font-size:12px;
    letter-spacing:.2em;
  }
  .manifesto-close,
  .experiment-close{
    width:46px;
    height:46px;
  }
  .manifesto-close span,
  .experiment-close span{
    left:13px;
    right:13px;
    top:22px;
  }
  .manifesto-body,
  .experiment-body{
    padding:28px 20px 42px;
  }
  .manifesto-body h3,
  .experiment-body h3{
    font-size:clamp(28px,10vw,44px);
  }
  .manifesto-body p,
  .experiment-body p{
    font-size:17px;
  }
  .lab-heading{
    grid-template-columns:1fr;
    gap:28px;
  }
  .lab-list{
    grid-template-columns:1fr;
    border-bottom:0;
  }
  .lab-list article{
    min-height:0;
    padding:22px 0 26px;
    border-left:0!important;
    border-right:0;
    border-bottom:1px solid rgba(17,17,17,.16);
    background:transparent;
  }
  .lab-list h3{min-height:0}
  .experiments-list{
    max-width:calc(100vw - 56px);
    gap:10px;
  }
  .experiments-list button{
    width:100%;
    min-width:0;
    min-height:84px;
    padding:18px 20px;
    gap:22px;
  }
  .experiment-number{
    font-size:clamp(30px,10vw,46px);
    letter-spacing:-.045em;
  }
  .experiment-name{
    margin-top:10px;
    font-size:clamp(15px,4.6vw,22px);
    letter-spacing:0;
  }
  .join h2{
    font-size:clamp(50px,15vw,82px);
    letter-spacing:-.055em;
  }
  .join p{
    max-width:calc(100vw - 56px);
  }
  .join-actions{
    grid-template-columns:1fr;
    max-width:calc(100vw - 56px);
    border-bottom:0;
  }
  .join-actions button{
    min-height:72px;
    border-left:0!important;
    border-right:0;
    border-bottom:1px solid rgba(17,17,17,.16);
  }
  .contact-modal{
    padding:12px;
  }
  .contact-panel{
    width:calc(100vw - 24px);
    max-height:calc(100vh - 24px);
  }
  .contact-panel-head{
    padding:24px 20px;
  }
  .contact-panel-head h2{
    font-size:clamp(34px,12vw,52px);
  }
  .contact-close{
    width:46px;
    height:46px;
  }
  .contact-close span{
    left:13px;
    right:13px;
    top:22px;
  }
  .contact-form{
    grid-template-columns:1fr;
    gap:15px;
    padding:22px 20px 28px;
  }
  .contact-form input,
  .contact-form textarea{
    font-size:16px;
    padding:15px;
  }
  .contact-form textarea{
    height:78px;
    min-height:78px;
    max-height:104px;
  }
  .contact-submit{
    width:100%;
    min-height:68px;
    padding:0 24px;
    font-size:11px;
    letter-spacing:.24em;
  }
  .finale-statement{
    font-size:clamp(13px,4vw,20px);
    letter-spacing:.18em;
  }
  .finale-action{
    font-size:clamp(13px,4vw,20px);
    letter-spacing:.18em;
  }
  .finale-domain{
    font-size:clamp(82px,26vw,150px);
    -webkit-text-stroke:.8px rgba(17,17,17,.22);
  }
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .wordmark,.descriptor span,.statement{opacity:1;transform:none}
}
