/* v83 / THE HOUSE IS ALIVE.
   Spatial interaction, not a sci-fi reskin. Original assets and typography.
   CSS owns visual fallbacks; spatial.js only enhances them. */
:root { --depth-x:0;--depth-y:0;--chapter-phase:0; }
.intro { transition:clip-path .65s cubic-bezier(.76,0,.2,1),visibility .65s; }
.intro__inner:before,.intro__inner:after { content:'';position:absolute;width:28px;height:28px;border-color:#d8ff0a40;border-style:solid;pointer-events:none; }
.intro__inner:before { left:8vw;top:12vh;border-width:1px 0 0 1px; }
.intro__inner:after { right:8vw;bottom:12vh;border-width:0 1px 1px 0; }
html.intro-active .nav,html.intro-active .signal-dock { opacity:0;pointer-events:none; }
.nav { mix-blend-mode:normal;background:transparent;border:0;backdrop-filter:none;-webkit-backdrop-filter:none;transition:opacity .35s,transform .4s var(--ease); }
.nav__logo { filter:drop-shadow(0 1px 6px #0009); }
.nav__links a { color:var(--white);opacity:.9;text-shadow:0 1px 5px #000,0 0 20px #0007; }
.nav__links a.active,.nav__links a:hover { color:var(--lime);opacity:1; }
.nav__controls { align-items:center; }
.nav .sound { text-shadow:0 1px 5px #000b;box-shadow:0 1px 8px #0001; }
.nav.is-receding:not(:focus-within) { transform:translateY(-105%); }
body.menu-open .nav { transform:none;opacity:1; }
/* The opening is film only. No poster/headline exists in the hero DOM. */
.hero { background:#000; }
.hero .bunny-bg { transition:none; }
.hero:after,.hero:not(.is-playing):after { background:linear-gradient(0deg,#0009,transparent 24%,transparent 82%,#0003); }
.hero-scroll { position:absolute;z-index:4;left:50%;bottom:24px;transform:translateX(-50%);display:flex;align-items:center;gap:14px;min-height:48px;text-transform:uppercase;letter-spacing:.1em;font:500 8px/1.5 var(--mono);white-space:nowrap;text-shadow:0 1px 8px #000; }
.hero-scroll__line { position:relative;width:56px;height:1px;background:#ffffff50;overflow:hidden; }
.hero-scroll__line:after { content:'';position:absolute;width:50%;height:1px;left:0;background:var(--lime);animation:drift-line 2.8s ease-in-out infinite; }
.hero-scroll b { font-size:24px;color:var(--lime);font-weight:400; }
.hero-timecode { position:absolute;z-index:4;top:calc(var(--nav-height) + 22px);left:var(--experience-gutter);display:flex;align-items:center;gap:9px;color:#fffc;font:400 9px/1 var(--mono);text-shadow:0 1px 6px #000;letter-spacing:.06em; }
.hero-timecode i { width:4px;height:4px;border-radius:50%;background:var(--lime);box-shadow:0 0 9px #d8ff0a77; }
.hero-standby { position:absolute;z-index:5;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;background:#050505; }
.hero-standby>.eyebrow { font-size:10px;letter-spacing:.12em;margin:8px 20px;text-align:center; }
.hero-standby .text-link { margin-top:8px;font-size:12px; }
.hero-standby__mark { width:100px;height:100px;position:relative; }
.hero-standby__mark i { position:absolute;inset:10px;border:1px solid #d8ff0a55;border-radius:39% 61% 58% 42%;animation:slow-turn 12s linear infinite; }
.hero-standby__mark i:nth-child(2) { inset:22px;animation-direction:reverse; }
.hero-standby__mark i:nth-child(3) { inset:34px;border-color:var(--lime); }
@keyframes slow-turn { to{transform:rotate(360deg);} }
@keyframes drift-line { 0%,100%{transform:translateX(-105%);}60%{transform:translateX(205%);} }
/* One persistent wayfinder in the transparent header. */
.atlas-launch { width:44px;height:44px;display:grid;place-items:center;background:none;border:1px solid #ffffff70;border-radius:50%;padding:0;position:relative;color:var(--white); }
.atlas-launch:hover { border-color:var(--lime);color:var(--lime); }
.atlas-launch__icon { display:grid;grid-template-columns:repeat(2,4px);gap:4px;transform:rotate(-7deg);transition:transform .5s var(--ease); }
.atlas-launch__icon i { height:4px;width:4px;background:currentColor; }
.atlas-launch:hover .atlas-launch__icon { transform:rotate(83deg); }
.atlas-launch__copy { position:absolute;right:0;top:calc(100% + 12px);display:flex;gap:15px;align-items:center;white-space:nowrap;background:#101010ed;color:var(--white);border:1px solid var(--line);padding:12px 16px;border-radius:10px;font:500 9px/1.5 var(--mono);text-transform:uppercase;opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .2s,transform .2s; }
.atlas-launch:hover .atlas-launch__copy,.atlas-launch:focus-visible .atlas-launch__copy { opacity:1;transform:none; }
.atlas-launch__copy b { color:var(--lime);font-weight:400; }
.atlas-launch>kbd { display:none; }
.mobile-nav .mobile-atlas-link { color:var(--lime); }
/* A dimensional house map. No external library or WebGL is required. */
.atlas { width:min(1500px,calc(100vw - 48px));max-width:calc(100vw - 48px);max-height:calc(var(--visual-height,100dvh) - 48px);background:#080908;border:1px solid #d8ff0a35;border-radius:24px;padding:clamp(24px,4vw,64px);overflow:auto;isolation:isolate; }
.atlas:before { content:'';position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse at 70% 20%,#d8ff0a12,transparent 65%);pointer-events:none; }
.atlas[open] { animation:atlas-in .5s var(--ease); }
.atlas::backdrop { background:#000c;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px); }
.atlas__head { display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:32px; }
.atlas__head h2 { font-size:clamp(40px,5.8vw,84px);margin:0;letter-spacing:-.015em; }
.atlas__head .eyebrow { font-size:9px; }
.atlas__head p { font-size:13px;line-height:1.7;color:var(--muted);margin:0 50px 8px 0; }
.atlas__doors { display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;perspective:1400px;perspective-origin:50% 70%;padding:14px 0 25px; }
.atlas-door { position:relative;height:clamp(225px,29vw,390px);overflow:hidden;border:1px solid #ffffff24;border-radius:80px 80px 14px 14px;background:#151612;transform:translate3d(0,var(--door-lift,0px),0) rotateY(var(--door-rotation,0deg));transition:transform .55s var(--ease),border-color .3s,filter .3s; }
.atlas-door:after { content:'';position:absolute;inset:0;background:linear-gradient(0deg,#000f,transparent 75%),linear-gradient(180deg,#0005,transparent 50%);pointer-events:none; }
.atlas-door>img { width:100%;height:100%;object-fit:cover;opacity:.65;transform:scale(1.06);transition:opacity .5s,transform 1s var(--ease); }
.atlas-door:nth-child(1){--door-rotation:12deg;--door-lift:18px;}
.atlas-door:nth-child(2){--door-rotation:8deg;--door-lift:8px;}
.atlas-door:nth-child(3){--door-rotation:4deg;--door-lift:2px;}
.atlas-door:nth-child(5){--door-rotation:-4deg;--door-lift:2px;}
.atlas-door:nth-child(6){--door-rotation:-8deg;--door-lift:8px;}
.atlas-door:nth-child(7){--door-rotation:-12deg;--door-lift:18px;}
.atlas-door:hover,.atlas-door:focus-visible { transform:translate3d(0,-10px,30px) rotateY(0);border-color:var(--lime);z-index:2; }
.atlas-door:hover img,.atlas-door:focus-visible img { opacity:1;transform:scale(1.13); }
.atlas-door__number { position:absolute;z-index:1;left:50%;top:22px;transform:translateX(-50%);font:500 10px/1 var(--mono);color:var(--lime); }
.atlas-door__copy { position:absolute;z-index:1;bottom:25px;left:16px;right:12px; }
.atlas-door__copy strong { display:block;font:400 clamp(20px,1.9vw,28px)/1.05 var(--display);text-transform:uppercase;margin-bottom:13px; }
.atlas-door__copy small { display:block;color:#ffffff9e;font:400 10px/1.6 var(--sans); }
.atlas-door>b { position:absolute;right:14px;top:75px;z-index:1;color:var(--lime);font-size:18px;opacity:0;transform:translate(-5px,5px);transition:.25s; }
.atlas-door:hover>b { opacity:1;transform:none; }
.atlas__foot { border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:20px;font:400 9px/1.5 var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.04em; }
.atlas kbd { font:inherit;padding:3px 5px;border:1px solid var(--line);border-radius:3px;margin-left:5px; }
@keyframes atlas-in { from{opacity:0;transform:perspective(1400px) translateY(25px) rotateX(3deg) scale(.97);}to{opacity:1;transform:none;} }
/* On a deliberate navigation jump, two film-black shutters create a seamless cut. */
.travel-veil { position:fixed;z-index:3500;inset:0;visibility:hidden;pointer-events:none;display:grid;grid-template-columns:1fr 1fr; }
.travel-veil>span { background:#050505;transform:translateX(-101%);transition:transform .28s cubic-bezier(.7,0,.3,1); }
.travel-veil>span:nth-child(2) { transform:translateX(101%); }
.travel-veil>b { position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:500 11px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.16em;color:var(--lime);opacity:0;transition:opacity .12s; }
.travel-veil.is-covered { visibility:visible; }
.travel-veil.is-covered>span { transform:none; }
.travel-veil.is-covered>b { opacity:1;transition-delay:.16s; }
.travel-veil.is-leaving { visibility:visible; }
.travel-veil.is-leaving>span { transition-duration:.45s; }
/* A scroll-coupled impossible corridor, revealed inside the original split doors. */
.portal-canvas { position:absolute;inset:0;width:100%;height:100%;z-index:4;pointer-events:none; }
.breach__coordinates { position:absolute;z-index:5;left:var(--experience-gutter);right:var(--experience-gutter);top:calc(var(--nav-height) + 20px);display:flex;justify-content:space-between;color:#d8ff0a99;font:500 8px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.14em;pointer-events:none; }
.breach__stamp { text-shadow:0 5px 30px #000; }
.breach__stamp span { transform:translateX(calc(var(--breach-drift,0) * 1px)); }
.breach__stamp span:last-child { transform:translateX(calc(var(--breach-drift,0) * -1px)); }
/* The world is a lens; typography and imagery occupy independent depth planes. */
.worlds__stage,.house-stage { isolation:isolate; }
.worlds__stage:after,.house-stage:after { content:'';position:absolute;inset:0;z-index:7;border:1px solid #d8ff0a1b;border-radius:inherit;pointer-events:none; }
.world-card { transform:translate3d(5%,0,0) scale(.97);transition:opacity .45s ease,transform .75s cubic-bezier(.16,1,.3,1); }
.world-card.active { transform:none; }
.world-card.is-leaving { transform:translate3d(-4%,0,0) scale(1.035); }
.world-card__media>img { transform:scale(1.065);animation:lens-breathe 22s ease-in-out infinite alternate; }
.world-card:not(.active) .world-card__media>img { animation-play-state:paused; }
@keyframes lens-breathe { from{transform:scale(1.035) translate3d(-.5%,0,0);}to{transform:scale(1.10) translate3d(.5%,-.5%,0);} }
.world-card__copy { transform:translate3d(calc(var(--depth-x) * 5px),calc(var(--depth-y) * 4px),0);transition:transform .6s var(--ease); }
.world-card.active .world-id,.world-card.active .world-title,.world-card.active .world-desc,.world-card.active .world-actions { animation:depth-type .65s var(--ease) both; }
.world-card.active .world-title { animation-delay:.045s; }
.world-card.active .world-desc { animation-delay:.08s; }
.world-card.active .world-actions { animation-delay:.12s; }
@keyframes depth-type { from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:none;} }
#houseMedia img { transform:scale(1.035) translate3d(calc(var(--depth-x) * -5px),calc(var(--depth-y) * -4px),0);transition:opacity .65s ease,transform 1s var(--ease),filter .5s; }
#houseMedia img.active { transform:scale(calc(1.04 + var(--chapter-phase) * .025)) translate3d(calc(var(--depth-x) * -6px),calc(var(--depth-y) * -4px),0); }
.room-node { transition:background .3s,color .3s,transform .45s var(--ease); }
.room-node.active { box-shadow:inset 2px 0 var(--lime); }
.room-node.active .room-num { text-shadow:0 0 15px #d8ff0a88; }
/* An architectural display floor, not a fake 360-degree model. */
.cast-stage__orbit { position:absolute;z-index:0;left:50%;top:76%;width:48%;height:13%;transform:translate(-50%,-50%) rotate(-5deg);pointer-events:none; }
.cast-stage__orbit i { position:absolute;inset:0;border:1px solid #d8ff0a60;border-radius:50%;box-shadow:0 0 10px #d8ff0a0e; }
.cast-stage__orbit i:nth-child(2) { inset:16%;border-style:dashed;border-color:#ffffff26;transform:rotate(10deg); }
.cast-stage__orbit span { position:absolute;top:0;left:50%;width:4px;height:4px;border-radius:50%;background:var(--lime);box-shadow:0 0 9px var(--lime);offset-path:ellipse(50% 50%);offset-distance:0%;animation:orbit-pin 16s linear infinite; }
@keyframes orbit-pin { to { offset-distance:100%; } }
.cast-stage__scan { position:absolute;z-index:2;top:18%;left:15%;right:15%;height:1px;opacity:0;background:linear-gradient(90deg,transparent,#d8ff0a99,transparent);box-shadow:0 0 18px #d8ff0a44;pointer-events:none; }
.cast-stage.is-materializing .cast-stage__scan { animation:material-sweep .8s var(--ease); }
@keyframes material-sweep { 0%{opacity:0;transform:translateY(0);}18%{opacity:.7;}100%{opacity:0;transform:translateY(330px);} }
.cast-stage__bottom { box-shadow:0 12px 35px #0002; }
.cast-stage__figure { filter:drop-shadow(0 18px 18px #0004); }
.cast-card.active .cast-card__name { color:var(--lime); }
/* Signature interlude: crown → constellation → mango, sculpted by scroll. */
.threshold { position:relative;height:165svh;background:#050605;margin:0;isolation:isolate; }
.threshold__sticky { position:sticky;top:0;height:100svh;min-height:570px;overflow:hidden;display:flex;align-items:center;padding:0 clamp(24px,7vw,110px); }
.threshold__canvas { position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none; }
.threshold__copy { position:relative;z-index:1;pointer-events:none;max-width:60%; }
.threshold__copy .eyebrow { font-size:9px;letter-spacing:.13em; }
.threshold__copy h2 { font-size:clamp(62px,8.7vw,138px);line-height:.99;letter-spacing:-.01em;margin:0; }
.threshold__copy h2>span,.threshold__copy h2>em { display:block; }
.threshold__copy h2>span:first-child { color:var(--white); }
.threshold__copy h2>span:nth-child(2) { color:transparent;-webkit-text-stroke:1px #f6f2eab3; }
.threshold__copy h2>em { color:var(--lime);transform:translateX(calc(var(--identity-progress,0) * 32px)); }
.threshold__foot { position:absolute;bottom:36px;left:clamp(24px,7vw,110px);right:clamp(24px,7vw,110px);display:flex;justify-content:space-between;gap:20px;z-index:1;font:500 9px/1.5 var(--mono);color:#aaa;text-transform:uppercase;letter-spacing:.05em; }
.threshold__hint b { font-size:18px;margin-left:8px;color:var(--lime); }
/* Editorial surfaces react subtly; words remain readable while they move. */
.about-visual,.founder-visual { perspective:1200px; }
.about-visual img { transform:scale(1.04) translateY(calc(var(--editorial-shift,0) * 1px)); }
.founder-visual>img { transform:scale(1.04) translateY(calc(var(--editorial-shift,0) * -1px)); }
.about-principles span { position:relative; }
.about-principles span:before { content:'+';color:var(--lime);margin-right:9px;font:400 13px/1 var(--mono); }
.instagram-live-grid { perspective:1200px; }
.instagram-live-post { transform:translateY(var(--grid-drift,0px));transition:transform .7s var(--ease),border-color .4s; }
.instagram-live-post:nth-child(even) { transform:translateY(calc(var(--grid-drift,0px) * -1)); }
.instagram-live-post:hover { transform:translateY(-8px);border-color:#d8ff0a99; }
.instagram-live-post img { transition:transform 1s var(--ease); }
.instagram-live-post:hover img { transform:scale(1.06); }
.contact .starter { position:relative;transition:border-color .5s,box-shadow .5s; }
.contact .starter:focus-within { border-color:#d8ff0a55;box-shadow:0 0 50px #d8ff0a05; }
.starter__field:focus-within>span { color:var(--lime); }
.choice>span { transition:background .25s,color .25s,border-color .25s; }
.bravery { --brave-glow:0; }
#bravery::-webkit-slider-thumb { box-shadow:0 0 calc(var(--brave-glow,0) * 1px) #d8ff0a99; }
.footer__title { transform:translateY(calc(var(--footer-lift,0) * 1px));transition:transform .7s var(--ease); }
.footer__panel:hover .footer__title { letter-spacing:-.01em; }
.footer__panel:before { animation:footer-orbit 25s linear infinite;transform-origin:40% 60%; }
@keyframes footer-orbit { to { transform:rotate(360deg); } }
/* Buttons drift a few pixels towards the pointer, never away from touch input. */
[data-magnet] { translate:var(--magnet-x,0px) var(--magnet-y,0px);transition:translate .4s var(--ease),background .25s,color .25s,border-color .25s; }
:focus-visible { outline:2px solid var(--lime);outline-offset:5px; }
@media(min-width:961px) {
 .nav { grid-template-columns:180px 1fr 180px; }
 .hero__meta { bottom:29px;font-size:9px; }
 .hero__play { font-size:9px; }
 .worlds__rail { position:relative; }
 .worlds__rail:after { content:'';display:block;position:absolute;left:-12px;top:55%;height:140px;width:1px;background:linear-gradient(transparent,#d8ff0a55,transparent);transform:translateY(calc(var(--chapter-phase) * 70px)); }
 .threshold__copy { transform:translateY(calc(var(--identity-progress,0) * -28px)); }
}
@media(max-width:1100px) {
 .hero-scroll { font-size:7px;gap:9px; }.hero-scroll__line { width:28px; }
 .atlas__doors { grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;perspective:none; }
 .atlas-door { height:250px;transform:none!important;border-radius:60px 60px 14px 14px; }
 .atlas-door__copy strong { font-size:24px; }
 .atlas-door__copy small { font-size:11px; }
}
@media(max-width:960px) {
 .atlas-launch { display:none; }
 .nav { grid-template-columns:auto 1fr; }
 .threshold__copy { max-width:70%; }
 .threshold__copy h2 { font-size:clamp(62px,10vw,95px); }
 .threshold__sticky { padding-inline:32px; }
 .threshold__foot { left:32px;right:32px; }
 .hero-scroll { bottom:90px; }
 .hero-timecode { left:22px; }
}
@media(max-width:640px) {
 .hero { min-height:560px; }
 .hero__meta { left:18px;bottom:116px;font-size:8px; }
 .hero__play { right:18px;bottom:109px;min-height:44px;font-size:8px;padding:11px 14px; }
 .hero-scroll { bottom:170px;font-size:8px;gap:12px; }
 .hero-scroll__line { width:32px; }
 .hero-timecode { top:calc(var(--nav-height) + 12px);left:18px;font-size:8px; }
 .hero-standby { padding:80px 22px 110px; }
 .hero-standby>.eyebrow { font-size:9px; }
 .atlas { padding:28px 18px 22px;max-width:calc(100vw - 16px);width:calc(100vw - 16px);max-height:calc(var(--visual-height,100dvh) - 20px);border-radius:18px; }
 .atlas__head { margin-bottom:14px; }
 .atlas__head h2 { font-size:44px; }
 .atlas__head .eyebrow { padding-right:42px;font-size:8px; }
 .atlas__head p { display:none; }
 .atlas__doors { grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
 .atlas-door { height:235px;border-radius:50px 50px 12px 12px; }
 .atlas-door:last-child { grid-column:1/-1;height:175px;border-radius:16px; }
 .atlas-door__copy { left:14px;right:14px;bottom:20px; }
 .atlas-door__copy strong { font-size:25px; }.atlas-door__copy small { font-size:11px; }
 .atlas__foot { font-size:8px; }.atlas__foot>span:last-child { display:none; }
 .breach__coordinates { left:20px;right:20px;font-size:7px; }
 .threshold { height:135svh; }
 .threshold__sticky { min-height:580px;padding:0 24px 115px;align-items:flex-end; }
 .threshold__copy { max-width:100%; }
 .threshold__copy .eyebrow { font-size:8px; }
 .threshold__copy h2 { font-size:clamp(54px,14.5vw,88px); }
 .threshold__copy h2>em { transform:translateX(calc(var(--identity-progress,0) * 12px)); }
 .threshold__foot { bottom:85px;left:24px;right:24px;font-size:7px; }
 .threshold__hint { display:none; }
 .cast-stage__orbit { top:353px;height:36px;width:46%; }
 .cast-stage__scan { top:115px; }
 .world-card__copy { transform:none; }
 .instagram-live-post,.instagram-live-post:nth-child(even) { transform:none; }
 .instagram-live-post:hover { transform:none; }
 .about-visual img,.founder-visual>img { transform:none; }
 .footer__title { transform:none; }
 .travel-veil>b { font-size:9px; }
}
@media(max-height:600px) and (orientation:landscape) {
 .hero-scroll { bottom:80px; }
 .threshold { height:120svh; }.threshold__sticky { min-height:430px; }.threshold__copy h2 { font-size:58px; }
 .atlas__head h2 { font-size:38px; }.atlas__head { margin-bottom:14px; }
 .atlas-door { height:220px; }.atlas__doors { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
/* Accessibility applies to kinetic effects, never a hidden sticky 'pause video' setting. */
html.effects-reduced .portal-canvas,html.effects-reduced .cast-stage__orbit { display:none; }
html.effects-reduced .threshold { height:auto; }
html.effects-reduced .threshold__sticky { position:relative;height:90svh; }
html.effects-reduced .threshold__copy,html.effects-reduced .threshold__copy h2>em,html.effects-reduced .instagram-live-post,html.effects-reduced .footer__title { transform:none!important; }
@media(prefers-reduced-motion:reduce) {
 .travel-veil { display:none!important; }.portal-canvas { display:none; }
 .threshold { height:auto; }.threshold__sticky { position:relative;height:90svh; }
 .threshold__copy,.threshold__copy h2>em { transform:none!important; }
 .atlas-door { transform:none!important; }.nav.is-receding { transform:none; }
 .world-card__media>img,#houseMedia img.active,.about-visual img,.founder-visual>img,.instagram-live-post { transform:none; }
}
/* Keep the map exit reachable while its doors scroll, without shifting the title. */
.atlas>.dialog-close { position:sticky;top:0;display:grid;margin:-8px -8px -36px auto;box-shadow:0 0 0 7px #080908;z-index:10; }
.atlas__head { padding-top:5px; }
