:root{--navy:#071426;--blue:#0b2340;--gold:#d9ad67;--ivory:#f4e9d4;--ink:#0c1930;--body:#d9d9dc}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--navy);color:#fff;font-family:Montserrat,Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%}.skip{position:absolute;left:-9999px;top:1rem;z-index:200;padding:1rem;background:#fff;color:#000}.skip:focus{left:1rem}.site-header{height:94px;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:0 clamp(22px,5vw,84px);position:absolute;top:0;left:0;width:100%;z-index:30;background:linear-gradient(#071426bf,transparent)}.brand{display:flex;align-items:center;gap:14px;min-width:220px;font-size:13px;letter-spacing:.3em;white-space:nowrap}.brand-mark,.footer-mark{display:inline-grid;place-items:center;width:47px;height:47px;font-family:'Cormorant Garamond',serif;font-size:35px;font-weight:600;letter-spacing:-.23em;padding-right:.23em;color:var(--gold);background:url('assets/monogram.png') center/cover no-repeat;mix-blend-mode:screen;text-indent:-9999px;overflow:hidden}.site-header nav{display:flex;align-items:center;gap:clamp(18px,3vw,52px)}.site-header nav a,.lang{font-size:11px;letter-spacing:.26em;text-transform:uppercase}.site-header nav a{position:relative;padding:12px 0}.site-header nav a:after{content:"";height:1px;background:var(--gold);position:absolute;bottom:3px;left:0;right:100%;transition:right .3s}.site-header nav a:hover:after,.site-header nav a:focus-visible:after{right:0}.lang{display:flex;align-items:center;gap:10px;color:var(--gold)}.lang>span:first-child{font-size:26px;line-height:1}.lang button{border:0;background:none;color:#eee;cursor:pointer;letter-spacing:.13em;font-size:11px;padding:10px 2px}.lang button.active{color:var(--gold);border-bottom:1px solid var(--gold)}.lang-line{height:18px;width:1px;background:#a6885a}.menu-toggle{display:none}.hero{height:min(900px,100svh);min-height:650px;position:relative;overflow:hidden;background:#061325}.hero-image{position:absolute;inset:0;background:url('assets/portal.png') center/cover no-repeat;animation:heroBreathe 18s ease-in-out infinite alternate}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#061427b8 0%,#06142778 35%,transparent 68%),linear-gradient(0deg,#0614277e,transparent 26%);pointer-events:none}.hero-copy{position:relative;z-index:3;width:min(710px,48vw);padding-top:clamp(190px,21vh,260px);margin-left:clamp(25px,5.5vw,90px)}.eyebrow{text-transform:uppercase;letter-spacing:.32em;font-size:11px;color:var(--gold);font-weight:500}.eyebrow.dark{color:#9a6d37}.hero h1,.chapter-intro h2,.project h2,.about h2,.future h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;line-height:.9}.hero h1{font-size:clamp(83px,10vw,157px);letter-spacing:-.055em;color:#e9bd79;margin:24px 0 12px;text-shadow:0 4px 26px #0007}.hero-sub{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(26px,3.4vw,49px);line-height:1.03;margin:0 0 20px}.hero-desc{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(20px,2vw,27px);color:#dbd6d2;margin:0 0 28px}.outline-button{border:1px solid var(--gold);border-radius:50px;min-width:220px;display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:16px 28px;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:#fff;transition:background .3s,transform .3s}.outline-button:hover,.outline-button:focus-visible{background:#d9ad6729;transform:translateY(-3px)}.outline-button span:last-child{font-size:24px;line-height:0}.mirror-life{position:absolute;z-index:2;left:64.5%;top:22%;width:18%;height:53%;border-radius:46% 46% 25% 25%;overflow:hidden;transform:rotate(3deg);pointer-events:none;opacity:.44;mix-blend-mode:screen;background:url('assets/forest.png') 55% 45%/auto 120% no-repeat;animation:portalDepth 18s ease-in-out infinite alternate}.mirror-life:before{content:"";position:absolute;inset:-10%;background:radial-gradient(circle at 48% 78%,#ffd36d86,transparent 20%),radial-gradient(circle at 55% 30%,#2b91d356,transparent 50%);animation:mirrorPulse 6s ease-in-out infinite alternate}.mirror-life .glow{position:absolute;inset:0;background:linear-gradient(115deg,transparent 36%,#a7dafa2b 46%,transparent 58%);animation:glide 9s ease-in-out infinite}.firefly{position:absolute;width:5px;height:5px;border-radius:50%;background:#ffdb8a;box-shadow:0 0 13px 4px #f9c86c;animation:drift 8s ease-in-out infinite alternate}.f1{left:35%;top:70%}.f2{left:63%;top:55%;animation-delay:-2s}.f3{left:45%;top:35%;animation-delay:-4s}.f4{left:70%;top:83%;animation-delay:-1s}.f5{left:25%;top:45%;animation-delay:-6s}.scroll-cue{position:absolute;z-index:4;bottom:28px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;flex-direction:column;color:#edddbd}.scroll-cue span{width:1px;height:37px;background:var(--gold)}.scroll-cue small{text-transform:uppercase;letter-spacing:.3em;font-size:9px}.chapter-intro{background:var(--ivory);color:var(--ink);text-align:center;padding:72px 25px 50px}.chapter-intro h2{font-size:clamp(50px,5.5vw,84px);margin:16px 0}.chapter-intro p{font-family:'Cormorant Garamond',Georgia,serif;font-size:26px;margin:0;color:#485265}.chapter-links{margin:44px auto 0;display:flex;justify-content:center;gap:20px;max-width:1000px}.chapter-links a{border-top:1px solid #b99d72;min-width:0;flex:1;text-align:left;padding:15px 4px;font-family:'Cormorant Garamond',serif;font-size:26px;display:flex;justify-content:space-between;gap:10px;transition:color .2s}.chapter-links a:hover{color:#9a6d37}.project{min-height:770px;display:grid;grid-template-columns:54% 46%;background:#061326;position:relative;overflow:hidden}.project-scene{position:relative;min-height:770px;background-repeat:no-repeat;overflow:hidden}.forest-scene{background-image:linear-gradient(90deg,transparent 70%,#061326a0),url('assets/forest.png');background-size:cover,auto 100%;background-position:center,left center}.queen-scene{background-image:linear-gradient(90deg,#06132650,transparent 25%),url('assets/queens-v3.png');background-size:cover,auto 100%;background-position:center,center}.scene-shimmer{position:absolute;inset:0;background:radial-gradient(circle at 55% 55%,#79b9fd26,transparent 37%);animation:mirrorPulse 7s ease-in-out infinite alternate}.paper{background:#eee1c6;color:var(--ink);background-image:radial-gradient(#986a3415 1px,transparent 1px),linear-gradient(115deg,#f7ead2,#e6d2af);background-size:11px 11px,cover;box-shadow:0 18px 45px #0007}.project-paper{align-self:center;justify-self:center;padding:clamp(35px,4vw,70px);width:min(85%,630px);min-height:580px;position:relative;z-index:2}.project-paper h2{font-size:clamp(64px,6.4vw,106px);margin:20px 0 12px}.project-paper .lede{font-family:'Cormorant Garamond',serif;font-size:clamp(28px,2.5vw,38px);line-height:1.04;margin:0 0 18px}.project-paper p:not(.lede){font-size:14px;line-height:1.8;color:#3c4150;max-width:460px}.video-slot{height:145px;border:1px solid #b59664;margin:30px 0 24px;display:flex;align-items:center;justify-content:center;gap:17px;background:linear-gradient(#0b244077,#0b244099),url('assets/forest.png') left 37%/auto 220% no-repeat;color:white;text-transform:uppercase;letter-spacing:.18em;font-size:10px}.mirror-section .video-slot{background-image:linear-gradient(#0b244077,#0b244099),url('assets/queens-v3.png');background-position:center,right 48%;background-size:cover,auto 250%}.play-shape{width:50px;height:50px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;padding-left:3px;color:var(--gold);font-size:15px}.text-link{display:inline-flex;align-items:center;gap:26px;border-bottom:1px solid #a57c4a;padding:0 0 9px;text-transform:uppercase;letter-spacing:.18em;font-size:11px;color:#624624}.text-link span:last-child{font-size:25px;line-height:0}.mirror-section{grid-template-columns:46% 54%}.mirror-section .project-paper{min-height:560px}.about{min-height:790px;display:grid;grid-template-columns:57% 43%;background:#09203a;overflow:hidden}.about-art{min-height:790px;position:relative;background:linear-gradient(90deg,transparent 80%,#09203a40),url('assets/oracle-v2.png') right center/auto 100% no-repeat}.oracle-center{position:absolute;left:29%;top:28%;width:34%;height:42%;border-radius:50%;background:linear-gradient(#5da4ec20,#00254722),url('assets/forest.png') 55% 50%/auto 130% no-repeat;overflow:hidden;box-shadow:inset 0 0 35px #8bc7ff7a,0 0 30px #e9b95a66;animation:oracleWorld 15s ease-in-out infinite alternate}.oracle-orbit{position:absolute;left:21%;top:17%;width:50%;aspect-ratio:1;border:1px solid #e4bc6999;border-radius:50%;animation:orbit 80s linear infinite}.oracle-orbit:before{content:"";position:absolute;inset:7%;border:1px solid #c8a66388;border-radius:50%}.oracle-orbit span{position:absolute;width:52px;height:52px;border:1px solid #ebca83;border-radius:50%;display:grid;place-items:center;color:#f6d992;background:#071426d9;font-size:26px;box-shadow:0 0 18px #dcae5980;animation:orbitReverse 80s linear infinite}.oracle-orbit span:nth-child(1){left:calc(50% - 26px);top:-26px}.oracle-orbit span:nth-child(2){right:5%;top:7%}.oracle-orbit span:nth-child(3){right:-26px;top:calc(50% - 26px)}.oracle-orbit span:nth-child(4){right:5%;bottom:7%}.oracle-orbit span:nth-child(5){left:calc(50% - 26px);bottom:-26px}.oracle-orbit span:nth-child(6){left:5%;bottom:7%}.oracle-orbit span:nth-child(7){left:-26px;top:calc(50% - 26px)}.oracle-orbit span:nth-child(8){left:5%;top:7%}.about-paper{align-self:stretch;width:100%;padding:clamp(50px,6vw,100px) clamp(35px,5vw,90px);box-shadow:none}.about h2{font-size:clamp(76px,7vw,116px);margin:35px 0 18px}.about h3{font-family:'Cormorant Garamond',serif;font-size:clamp(35px,3.6vw,55px);font-weight:400;margin:0 0 32px;line-height:1}.about p{font-family:'Cormorant Garamond',serif;font-size:clamp(23px,2.1vw,31px);line-height:1.18;color:#343b49}.about-note{border-top:1px solid #b99460;padding-top:25px;margin-top:30px}.about .text-link{margin-top:24px}.future{min-height:730px;position:relative;display:flex;align-items:center;overflow:hidden}.future-art{position:absolute;inset:0;background:linear-gradient(90deg,#071426ed 0%,#071426ad 38%,#0714261a 80%),url('assets/doors-v2.png') right center/auto 100% no-repeat;animation:heroBreathe 22s ease-in-out infinite alternate}.future-copy{z-index:2;margin-left:clamp(30px,6vw,100px);max-width:760px}.future h2{font-size:clamp(78px,8vw,130px);color:#eac383;margin:27px 0 12px}.future p{font-family:'Cormorant Garamond',serif;font-size:clamp(25px,3vw,42px);margin:0 0 34px}footer{background:#061121;border-top:1px solid #b9925f;padding:70px clamp(25px,6vw,100px) 20px;display:grid;grid-template-columns:1fr 1fr;gap:60px}footer>div:first-child{display:flex;flex-direction:column;align-items:flex-start}footer strong{font-size:15px;letter-spacing:.35em;font-weight:400;margin-top:13px}footer p{color:#c7c8ce;line-height:1.6;max-width:390px;font-size:13px}.footer-mark{width:76px;height:76px}.footer-bottom{grid-column:1/-1;border-top:1px solid #9c7b4b6b;padding-top:18px;display:flex;justify-content:space-between;color:#b7ada3;font-size:11px;letter-spacing:.1em}.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}@keyframes portalDepth{to{background-position:64% 55%;filter:brightness(1.25)}}@keyframes heroBreathe{to{transform:scale(1.035) translateY(-.5%)}}@keyframes mirrorPulse{to{opacity:.25;transform:scale(1.1)}}@keyframes glide{50%{transform:translateX(50%)}}@keyframes drift{to{transform:translate(22px,-30px);opacity:.35}}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes orbitReverse{to{transform:rotate(-360deg)}}@keyframes oracleWorld{to{background-position:center,68% 54%;filter:brightness(1.22)}}
@media(max-width:1100px){.site-header{gap:1rem}.brand{min-width:170px}.brand span:last-child{font-size:11px}.site-header nav{gap:18px}.site-header nav a{font-size:10px;letter-spacing:.1em}.hero-copy{width:55vw}.project-paper{width:90%;padding:38px}.about-art{background-position:34% center}.oracle-orbit{left:16%;width:66%}.oracle-center{left:29%;width:40%}}
@media(max-width:760px){.site-header{height:75px;padding:0 18px;background:#071426d9}.brand{min-width:0;gap:8px;font-size:10px;letter-spacing:.17em}.brand-mark{width:38px;height:38px}.menu-toggle{display:flex;flex-direction:column;gap:5px;order:3;background:none;border:0;padding:12px;cursor:pointer}.menu-toggle span{display:block;width:23px;height:1px;background:var(--gold)}.site-header nav{display:none;position:absolute;top:75px;left:0;right:0;background:#071426f7;padding:18px 25px 25px;flex-direction:column;align-items:flex-start;gap:4px}.site-header nav.open{display:flex}.site-header nav a{font-size:12px;padding:12px}.lang{margin-left:auto}.lang>span:first-child,.lang-line{display:none}.lang button{font-size:10px}.hero{height:790px;max-height:none;min-height:0}.hero-image{background-size:auto 100%;background-position:68% center}.hero:after{background:linear-gradient(0deg,#061427 3%,#061427b8 31%,#06142720 70%)}.mirror-life{left:48%;top:21%;width:34%;height:42%;opacity:.5}.hero-copy{width:auto;margin:0;padding:370px 25px 0}.hero h1{font-size:clamp(67px,16vw,105px);margin:12px 0 8px}.hero-sub{font-size:25px}.hero-sub br{display:initial}.hero-desc{font-size:22px;margin-bottom:18px}.hero .eyebrow{display:none}.scroll-cue{display:none}.chapter-intro{padding:55px 23px 35px}.chapter-intro h2{font-size:53px}.chapter-intro p{font-size:22px}.chapter-links{display:block;margin-top:35px}.chapter-links a{font-size:22px}.project,.mirror-section{display:flex;flex-direction:column;min-height:0}.project-scene{min-height:440px;width:100%}.forest-scene{background-position:left center}.queen-scene{order:0;min-height:360px;background-position:center,center}.project-paper,.mirror-section .project-paper{order:1;width:calc(100% - 32px);margin:-40px 16px 65px;padding:32px 26px;min-height:0}.project-paper h2{font-size:76px}.project-paper .lede{font-size:31px}.video-slot{height:120px}.about{display:flex;flex-direction:column}.about-art{min-height:490px;background-position:right center}.oracle-orbit{width:68%;left:16%;top:12%}.oracle-center{left:34%;top:31%;width:31%;height:37%}.oracle-orbit span{width:40px;height:40px;font-size:21px}.oracle-orbit span:nth-child(1){left:calc(50% - 20px);top:-20px}.oracle-orbit span:nth-child(3){right:-20px;top:calc(50% - 20px)}.oracle-orbit span:nth-child(5){left:calc(50% - 20px);bottom:-20px}.oracle-orbit span:nth-child(7){left:-20px;top:calc(50% - 20px)}.about-paper{padding:55px 30px 70px}.about h2{font-size:85px;margin:20px 0 10px}.future{min-height:720px;align-items:flex-end}.future-art{background-image:linear-gradient(0deg,#071426 5%,#071426a6 55%,#07142612 100%),url('assets/doors-v2.png');background-position:center,right center}.future-copy{margin:0 28px 70px}.future h2{font-size:76px}footer{display:block;padding:55px 25px 20px}.footer-contact{margin:40px 0}.footer-bottom{gap:18px;flex-wrap:wrap}}
@media(max-width:430px){.brand span:last-child{font-size:9px;letter-spacing:.14em}.lang{gap:5px}.hero-copy{padding-top:360px}.hero h1{font-size:65px}.hero{height:790px}.oracle-orbit{width:74%;left:13%;top:16%}.about-art{min-height:430px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* Complete, uncropped project previews. Actual videos will replace these stills. */
.footer-legal{display:flex;flex-wrap:wrap;gap:10px 18px}.footer-legal a{font:inherit;color:inherit;text-decoration:none}.footer-legal a:hover,.footer-legal a:focus-visible{color:var(--gold);text-decoration:underline}
.contact-form{display:grid;gap:12px;max-width:430px;margin-top:18px}
.contact-form label{font-size:12px;letter-spacing:.1em;color:#f1dfbf}
.contact-form input,.contact-form textarea{width:100%;min-width:0;padding:14px 15px;border:1px solid #a78355;background:#0b213b;color:#fff;border-radius:0;font:inherit;font-size:15px;line-height:1.5}
.contact-form input[type=email]{direction:ltr;text-align:left}
.contact-form textarea{resize:vertical;min-height:130px}
.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.contact-form .contact-privacy{margin:2px 0 4px;font-size:12px}
.contact-privacy a{text-decoration:underline;text-underline-offset:3px}.contact-privacy a:hover,.contact-privacy a:focus-visible{color:var(--gold)}
.privacy-brief{grid-column:1/-1;border-top:1px solid #9c7b4b6b;padding-top:22px;max-width:900px}.privacy-brief h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:30px;font-weight:500;color:#f1dfbf;margin:0 0 12px}.privacy-brief p{max-width:900px;margin:0 0 9px;font-size:12px;line-height:1.65}.privacy-brief:target{scroll-margin-top:25px}
.contact-form .contact-submit{cursor:pointer;width:max-content;min-width:210px;background:transparent;color:#fff}
.contact-form .contact-submit:disabled{opacity:.55;cursor:wait}
.contact-form .contact-status{min-height:1.5em;margin:0;color:#f1dfbf}
.contact-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
html[dir="rtl"] .contact-trap{left:auto;right:-9999px}
@media(max-width:760px){.contact-form{max-width:none}.contact-form .contact-submit{min-height:48px}}
.video-slot,.mirror-section .video-slot{position:relative;display:block;width:100%;height:auto;aspect-ratio:16/9;overflow:hidden;padding:0;background:#071426;margin:30px 0 24px}
.video-slot img{display:block;width:100%;height:100%;object-fit:contain}
.video-caption{position:absolute;bottom:0;left:0;right:0;padding:20px 18px 14px;text-align:center;background:linear-gradient(transparent,#061326dc);color:#fff;text-transform:uppercase;letter-spacing:.18em;font-size:10px}

/* Keep moving light strictly within the photographed mirror opening. */
.hero-image{animation:none}
.mirror-life{left:0;top:0;width:0;height:0;opacity:0;transform:none;border-radius:46% 46% 26% 26% / 13% 13% 8% 8%;background-size:auto 120%;filter:blur(1px)}
.mirror-life.aligned{opacity:.22}

/* The eight lunar phases turn around the photographed mirror. */
.about-art{overflow:hidden}
.oracle-center{display:none}
.oracle-orbit{z-index:3;left:45%;top:50%;width:70%;aspect-ratio:1;translate:-50% -50%;border:2px solid #d9af6c;box-shadow:inset 0 0 0 1px #fff3cf99,inset 0 0 12px #f5d38b70,0 0 0 2px #49301599,0 0 18px #f1c97880}
.oracle-orbit:before{border:1px solid #f0d19b99;box-shadow:inset 0 0 9px #f5d18755,0 0 0 1px #71491f8c}
.oracle-orbit span{filter:sepia(.45) saturate(.85);font-size:24px;border:2px solid #e7c58c;background:linear-gradient(145deg,#fff0c0 0%,#a77532 12%,#091a2e 28%,#071426 75%,#a8783d 100%);box-shadow:inset 0 1px 2px #fff5d2a8,inset 0 -3px 8px #40240dbb,0 0 0 2px #5b391caa,0 0 16px #e8ba7180}
.oracle-life{position:absolute;z-index:2;left:0;top:0;width:0;height:0;opacity:0;overflow:hidden;pointer-events:none;border-radius:50% / 49%;mix-blend-mode:screen;background:linear-gradient(120deg,#3277ad20,#c9e4ff15 40%,#ffcc7230 75%),url('assets/forest.png') 50% 48%/auto 112% no-repeat;animation:oracleDepth 15s ease-in-out infinite alternate}
.oracle-life.aligned{opacity:.34}
.oracle-life:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 66%,#ffe1a340,transparent 30%),linear-gradient(108deg,transparent 30%,#a1d7ff35 49%,transparent 64%);animation:oracleLight 9s ease-in-out infinite alternate}
.oracle-life .firefly{width:4px;height:4px;box-shadow:0 0 10px 3px #ffd786}
@keyframes oracleDepth{to{background-position:50% 48%,55% 44%;filter:brightness(1.25)}}
@keyframes oracleLight{to{transform:translateX(12%);opacity:.55}}
@media(max-width:760px){.video-slot,.mirror-section .video-slot{height:auto;aspect-ratio:16/9}}
@media(max-width:430px){.oracle-orbit span{width:36px;height:36px;font-size:19px}.oracle-orbit span:nth-child(1){left:calc(50% - 18px);top:-18px}.oracle-orbit span:nth-child(3){right:-18px;top:calc(50% - 18px)}.oracle-orbit span:nth-child(5){left:calc(50% - 18px);bottom:-18px}.oracle-orbit span:nth-child(7){left:-18px;top:calc(50% - 18px)}}

/* Center the photographed frame within the larger lunar circuit. */
.about-art{background-position:var(--oracle-bg-x,90%) center}
.oracle-orbit > span{filter:none}
.oracle-orbit .moon-disc{display:block;position:relative;width:78%;height:78%;border-radius:50%;overflow:hidden;background:#e4ded0 url('assets/lunar-surface.png') center/117% no-repeat;box-shadow:inset -4px -5px 7px #191e2ea8,inset 2px 2px 5px #fff8ddb8,0 0 9px 2px #ffe5ada6;filter:saturate(.78) sepia(.14) brightness(1.23) contrast(1.08)}
.oracle-orbit .moon-disc:after{content:"";position:absolute;inset:0;border-radius:50%;background:#08111dc0;box-shadow:inset 3px 2px 6px #0009}
.phase-new .moon-disc:after{background:#071321d4;box-shadow:inset -2px 0 6px #e6d3aa9c}
.phase-waxing-crescent .moon-disc:after{transform:translateX(-18%)}
.phase-first-quarter .moon-disc:after{right:50%;border-radius:50% 0 0 50%}
.phase-waxing-gibbous .moon-disc:after{transform:translateX(-72%)}
.phase-full .moon-disc:after{display:none}
.phase-waning-gibbous .moon-disc:after{transform:translateX(72%)}
.phase-last-quarter .moon-disc:after{left:50%;border-radius:0 50% 50% 0}
.phase-waning-crescent .moon-disc:after{transform:translateX(18%)}
.phase-full .moon-disc,.phase-waxing-gibbous .moon-disc{filter:saturate(.76) sepia(.2) brightness(1.3) contrast(1.08)}
.phase-new .moon-disc,.phase-waning-crescent .moon-disc{filter:saturate(.58) sepia(.08) brightness(1.04) contrast(1.05)}
.oracle-orbit{--phase-r:26px}
.oracle-orbit > span:nth-child(1){left:calc(50% - var(--phase-r));top:calc(0% - var(--phase-r));right:auto;bottom:auto}
.oracle-orbit > span:nth-child(2){left:calc(85.355% - var(--phase-r));top:calc(14.645% - var(--phase-r));right:auto;bottom:auto}
.oracle-orbit > span:nth-child(3){left:calc(100% - var(--phase-r));top:calc(50% - var(--phase-r));right:auto;bottom:auto}
.oracle-orbit > span:nth-child(4){left:calc(85.355% - var(--phase-r));top:calc(85.355% - var(--phase-r));right:auto;bottom:auto}
.oracle-orbit > span:nth-child(5){left:calc(50% - var(--phase-r));top:calc(100% - var(--phase-r));right:auto;bottom:auto}
.oracle-orbit > span:nth-child(6){left:calc(14.645% - var(--phase-r));top:calc(85.355% - var(--phase-r));right:auto;bottom:auto}
.oracle-orbit > span:nth-child(7){left:calc(0% - var(--phase-r));top:calc(50% - var(--phase-r));right:auto;bottom:auto}
.oracle-orbit > span:nth-child(8){left:calc(14.645% - var(--phase-r));top:calc(14.645% - var(--phase-r));right:auto;bottom:auto}
@media(max-width:760px){.oracle-orbit{--phase-r:20px}}
@media(max-width:430px){.oracle-orbit{--phase-r:18px}}

/* Quiet movement in the two project artworks. */
.forest-scene{animation:forestBreath 19s ease-in-out infinite alternate}
.queen-scene{animation:queenBreath 23s ease-in-out infinite alternate}
.forest-scene .scene-shimmer{z-index:1;background:radial-gradient(ellipse at 70% 53%,#a2d2ff2d,transparent 46%),radial-gradient(ellipse at 24% 77%,#ffd98b29,transparent 31%);mix-blend-mode:screen;animation:forestGlow 8s ease-in-out infinite alternate}
.queen-scene .scene-shimmer{z-index:1;background:radial-gradient(ellipse at 66% 48%,#ffdf9d42,transparent 42%),linear-gradient(110deg,transparent 35%,#ffe9bc19 52%,transparent 69%);mix-blend-mode:screen;animation:queenGlow 9s ease-in-out infinite alternate}
.ambient-particles{position:absolute;inset:0;z-index:3;overflow:hidden;pointer-events:none}
.ambient-particles i,.portal-life i{position:absolute;display:block;width:4px;height:4px;border-radius:50%;background:#ffe2a0;box-shadow:0 0 10px 4px #ffd07aaf;animation:ambientDrift 6s ease-in-out infinite alternate}
.ambient-particles i:nth-child(1){left:13%;top:68%;animation-delay:-1s}
.ambient-particles i:nth-child(2){left:27%;top:45%;animation-delay:-4s;animation-duration:8s}
.ambient-particles i:nth-child(3){left:38%;top:77%;animation-delay:-2s;animation-duration:7s}
.ambient-particles i:nth-child(4){left:51%;top:38%;animation-delay:-5s;animation-duration:9s}
.ambient-particles i:nth-child(5){left:64%;top:62%;animation-delay:-3s}
.ambient-particles i:nth-child(6){left:73%;top:27%;animation-delay:-6s;animation-duration:8s}
.ambient-particles i:nth-child(7){left:83%;top:73%;animation-delay:-2.5s;animation-duration:9s}
.ambient-particles i:nth-child(8){left:91%;top:49%;animation-delay:-7s}
.queen-scene .ambient-particles i{width:3px;height:3px;box-shadow:0 0 8px 3px #ffd087a0}
.portal-life{position:absolute;z-index:2;left:0;top:0;width:0;height:0;opacity:0;overflow:hidden;pointer-events:none;border-radius:45% 45% 9% 9% / 16% 16% 5% 5%;mix-blend-mode:screen;background:radial-gradient(ellipse at 50% 69%,#ffe3a051,transparent 49%),linear-gradient(111deg,transparent 29%,#fff1d545 49%,transparent 66%);animation:portalSweep 10s ease-in-out infinite alternate}
.portal-life.aligned{opacity:.58}
.portal-life i:nth-child(1){left:24%;top:71%;animation-delay:-2s}
.portal-life i:nth-child(2){left:67%;top:58%;animation-delay:-4s}
.portal-life i:nth-child(3){left:43%;top:38%;animation-delay:-1s}
.portal-life i:nth-child(4){left:76%;top:79%;animation-delay:-5s}
@keyframes forestBreath{to{background-position:center,4% center}}
@keyframes queenBreath{to{filter:brightness(1.06)}}
@keyframes forestGlow{to{opacity:.38;transform:translate(3%,-2%)}}
@keyframes queenGlow{to{opacity:.32;transform:translate(-2%,1%)}}
@keyframes portalSweep{to{opacity:.43;background-position:0 0,15px 0;filter:brightness(1.18)}}
@keyframes ambientDrift{to{transform:translate(12px,-24px);opacity:.27}}

/* Full-scene framing: keep the mirror, both queens and the lunar circuit visible. */
@media(min-width:761px){.hero-image{background-size:auto 100%;background-position:right center;background-color:#061325}}
.queen-scene{background-image:linear-gradient(90deg,#06132650,transparent 25%),url('assets/queens-panel-portrait.png');background-size:cover,cover;background-position:center,center}
@media(min-width:1850px){.queen-scene{background-image:linear-gradient(90deg,#06132650,transparent 25%),url('assets/queens-panel-wide.png')}}
@media(max-width:760px){.queen-scene{min-height:min(125vw,610px)}}

/* More visible motion in the project gateway and the worlds it introduces. */
.chapter-links a:last-child{position:relative;overflow:hidden}
.chapter-links a:last-child::before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 12%,#e2b96555 48%,transparent 82%);transform:translateX(-115%);pointer-events:none;animation:comingLight 5.5s ease-in-out infinite}
.forest-scene::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(circle at 25% 42%,#ffd77d77,transparent 10%),radial-gradient(circle at 70% 63%,#b3d9ff70,transparent 12%);mix-blend-mode:screen;animation:forestLights 5s ease-in-out infinite alternate}
.forest-scene .ambient-particles i{box-shadow:0 0 14px 5px #ffd383d9;animation-duration:4.5s}
.future-art{animation:futureGlow 10s ease-in-out infinite alternate}
.future-art::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 73% 48%,#ffde9166,transparent 21%),radial-gradient(circle at 84% 29%,#fff0b855,transparent 7%);mix-blend-mode:screen;animation:futureGlimmer 5s ease-in-out infinite alternate}
.hero .mirror-life.aligned{opacity:.35}
@keyframes comingLight{0%,15%{transform:translateX(-115%)}65%,100%{transform:translateX(115%)}}
@keyframes forestLights{to{opacity:.32;transform:translate(2%,-2%) scale(1.04)}}
@keyframes futureGlow{to{filter:brightness(1.22);transform:scale(1.025)}}
@keyframes futureGlimmer{to{opacity:.28;transform:translate(-2%,1%) scale(1.04)}}

/* The group's handwritten signature, placed between the mirror and its stories. */
.signature{position:relative;overflow:hidden;min-height:245px;padding:56px 28px 58px;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 105%,#153455 0%,#09192e 54%,#061325 100%);border-top:1px solid #d5ab694d;border-bottom:1px solid #d5ab694d;text-align:center}
.signature::before,.signature::after{content:"";position:absolute;top:50%;width:clamp(28px,8vw,150px);height:1px;background:linear-gradient(90deg,transparent,#d9ad67a6);transform:translateY(-50%)}
.signature::before{left:clamp(12px,5vw,85px)}
.signature::after{right:clamp(12px,5vw,85px);transform:translateY(-50%) rotate(180deg)}
.signature-quote{position:relative;z-index:1;max-width:1000px;margin:0;padding:0 18px;color:#f2d9a8;font-family:'Great Vibes','Cormorant Garamond',cursive;font-size:clamp(43px,5.3vw,77px);font-weight:400;line-height:1.18;letter-spacing:.015em;text-shadow:0 2px 13px #dbaa6852,0 5px 25px #0009}
.signature-quote span{display:block}
@media(max-width:760px){.signature{min-height:225px;padding:46px 28px}.signature::before,.signature::after{top:auto;bottom:28px;width:20%}.signature-quote{font-size:clamp(42px,10vw,62px);line-height:1.13;padding:0 8px}}
.signature-quote{color:#fff0d0;text-shadow:0 0 7px #ffe1a9bd,0 0 26px #eab86b99,0 3px 24px #000b}
.signature::before,.signature::after{background:linear-gradient(90deg,transparent,#f2cd88de);box-shadow:0 0 11px #e4b66b88}

/* Mirror Mirror: one video surface; the loading poster belongs to the player. */
.mirror-cinema{display:block;position:relative;isolation:isolate;min-height:max(780px,100svh);overflow:hidden;background:#061326}
.mirror-cinema-video{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;object-fit:cover;object-position:center;background:#061326}
.mirror-cinema .mirror-cinema-copy{position:absolute;z-index:2;top:clamp(80px,11vh,145px);left:clamp(24px,4vw,72px);width:min(430px,32vw);min-height:0;margin:0;padding:clamp(25px,2.5vw,38px);background:#f2e3cde8;box-shadow:0 18px 50px #000a}
.mirror-cinema-copy h2{font-size:clamp(66px,5.5vw,90px);margin:15px 0 10px}
.mirror-cinema-copy .lede{font-size:clamp(25px,2.1vw,32px);margin-bottom:14px}
.mirror-cinema-copy p:not(.lede){font-size:14px;line-height:1.55}
.mirror-cinema-controls{position:absolute;z-index:3;inset:0;pointer-events:none}
.mirror-cinema-controls button{position:absolute;bottom:18px;display:grid;place-items:center;width:46px;height:46px;padding:0;border:1px solid #d9ad67;border-radius:50%;background:#071426d9;color:#fff5df;cursor:pointer;pointer-events:auto}
.mirror-cinema-controls button:hover,.mirror-cinema-controls button:focus-visible{background:#193655;outline:2px solid #ffe0a1;outline-offset:2px}
.mirror-cinema-controls svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.mirror-cinema-controls .mirror-sound{left:18px}
.mirror-cinema-controls .mirror-toggle{left:72px}
.mirror-cinema-controls .mirror-fullscreen{right:18px}
.mirror-cinema-controls .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.mirror-sound .icon-bell,.mirror-toggle .icon-pause{display:none}
.mirror-sound[aria-pressed="true"] .icon-bell,.mirror-toggle[data-playing="true"] .icon-pause{display:block}
.mirror-sound[aria-pressed="true"] .icon-bell-off,.mirror-toggle[data-playing="true"] .icon-play{display:none}
.mirror-video-open{overflow:hidden}
.mirror-cinema:has(.mirror-expanded){z-index:100}
.mirror-cinema-video.mirror-expanded{position:fixed!important;inset:0!important;z-index:1000!important;width:100vw!important;height:100dvh!important;aspect-ratio:auto!important;object-fit:contain!important;background:#000}
.mirror-cinema:has(.mirror-expanded) .mirror-cinema-controls{position:fixed;z-index:1001;inset:0;pointer-events:none}
.mirror-cinema:has(.mirror-expanded) .mirror-fullscreen{top:12px;right:12px;bottom:auto}
.mirror-cinema:has(.mirror-expanded) .mirror-toggle,.mirror-cinema:has(.mirror-expanded) .mirror-sound{display:none}
@media(max-width:1199px){
  .mirror-cinema{display:flex;flex-direction:column;min-height:0;height:auto}
  .mirror-cinema-video{position:relative;inset:auto;order:1;flex:none;width:100%;height:auto;aspect-ratio:1920/902;object-fit:contain}
  .mirror-cinema .mirror-cinema-copy{position:relative;top:auto;left:auto;order:2;align-self:center;width:min(100% - 32px,700px);min-height:0;margin:0;padding:clamp(28px,5vw,50px);background:#f2e3cd}
  .mirror-cinema-controls{inset:0 0 auto;height:auto;aspect-ratio:1920/902}
  .mirror-cinema-controls button{bottom:10px}
  .mirror-cinema-controls .mirror-sound{left:10px}
  .mirror-cinema-controls .mirror-toggle{left:64px}
  .mirror-cinema-controls .mirror-fullscreen{right:10px}
}
@media(max-width:760px){
  .mirror-cinema .mirror-cinema-copy{width:calc(100% - 32px);margin:0 16px;padding:32px 26px}
  .mirror-cinema-copy h2{font-size:clamp(66px,15vw,80px)}
}
@media(min-width:1200px){
  .mirror-cinema{min-height:100svh}
  .mirror-cinema .mirror-cinema-copy{top:clamp(72px,9vh,122px);left:clamp(20px,2vw,36px);width:min(350px,28vw)}
}

/* Asperger Stories uses the existing video slot, with one video surface. */
.asperger-video-surface{aspect-ratio:1878/1080;background:#071426}
.asperger-video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;background:#071426}
.asperger-video-surface .asperger-controls{height:100%;aspect-ratio:auto}
.asperger-video-surface .asperger-controls button{bottom:10px}
.asperger-video-surface:has(.mirror-expanded){z-index:100}
.asperger-video.mirror-expanded{position:fixed!important;inset:0!important;z-index:1000!important;width:100vw!important;height:100dvh!important;object-fit:contain!important;background:#000}
.asperger-video-surface:has(.mirror-expanded) .asperger-controls{position:fixed;z-index:1001;inset:0;width:100vw;height:100dvh;pointer-events:none}
.asperger-video-surface:has(.mirror-expanded) .asperger-fullscreen{top:12px;right:12px;bottom:auto}
.asperger-video-surface:has(.mirror-expanded) .asperger-toggle,.asperger-video-surface:has(.mirror-expanded) .asperger-sound{display:none}
@media (min-width:761px) and (max-width:1199px){.about{display:flex;flex-direction:column}.about-art{min-height:790px}}
/* Mirror Mirror copy shares the existing paper and text-link styles. */
.mirror-cinema-copy .mirror-story-toggle{display:flex;width:100%;justify-content:space-between;background:none;border:0;border-bottom:1px solid #a57c4a;cursor:pointer;text-align:start;margin:4px 0 16px}
.mirror-cinema-copy .mirror-story-toggle:focus-visible{outline:2px solid #9a6d37;outline-offset:4px}
.mirror-story-toggle>span:last-child{transition:transform .2s}
.mirror-story-toggle[aria-expanded="true"]>span:last-child{transform:rotate(180deg)}
.mirror-story-panel[hidden]{display:none}
.mirror-cinema-copy .mirror-story-panel p{margin:0 0 12px}
.mirror-cinema-copy .mirror-story-panel p:last-child{margin-bottom:16px}
.mirror-cinema-copy .mirror-coming{display:inline-flex;margin-top:8px;cursor:default}
.mirror-cinema-copy .mirror-project-link{display:flex;width:max-content;margin-top:12px}
.mirror-cinema-copy[dir="rtl"]{text-align:right}
@media(max-width:430px){.lang{gap:1px}.lang button{font-size:9px;padding-inline:1px}}
@media(max-width:360px){.site-header{gap:4px}.brand-mark{flex:none}.brand span:last-child{font-size:8px;letter-spacing:.08em}}
@media(min-width:1200px){.mirror-cinema .mirror-cinema-copy{max-height:calc(100svh - 100px);overflow-y:auto}}
/* AspergerStories continues as a saga; its details use the existing disclosure style. */
.asperger-saga{margin-top:14px}
.asperger-saga .asperger-saga-teaser{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(24px,2vw,30px)!important;line-height:1.15;color:var(--ink)!important;margin:0 0 12px}
.asperger-saga .asperger-saga-toggle{display:flex;width:100%;justify-content:space-between;background:none;border:0;border-bottom:1px solid #a57c4a;cursor:pointer;text-align:start;padding:0 0 9px}
.asperger-saga .asperger-saga-toggle:focus-visible{outline:2px solid #9a6d37;outline-offset:4px}
.asperger-saga-toggle>span:last-child{transition:transform .2s}
.asperger-saga-toggle[aria-expanded="true"]>span:last-child{transform:rotate(180deg)}
.asperger-saga-panel[hidden]{display:none}
.asperger-saga-panel p{margin:14px 0 0}
.asperger-saga[dir="rtl"]{text-align:right}

/* Language chooser: reuse the site's gold globe treatment without changing the header layout. */
.lang{position:relative;flex:none;margin-left:auto}
.lang .lang-trigger{display:grid;place-items:center;width:44px;height:44px;padding:8px;border:0;background:transparent;color:var(--gold)}
.lang-trigger svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round}
.lang .lang-trigger:hover,.lang .lang-trigger:focus-visible{color:#ffe0a1;outline:2px solid var(--gold);outline-offset:2px}
.lang-options[hidden]{display:none}
.lang-options{position:absolute;z-index:50;top:calc(100% + 9px);right:0;display:grid;min-width:170px;padding:8px;background:#071426f5;border:1px solid var(--gold);box-shadow:0 14px 35px #0009;text-transform:none;letter-spacing:normal}
.lang-options button{width:100%;min-height:42px;padding:9px 14px;text-align:start;white-space:nowrap;font-size:14px;letter-spacing:normal;color:#f8eddb}
.lang-options button:hover,.lang-options button:focus-visible{background:#25415b;outline:2px solid var(--gold);outline-offset:-2px}
.lang-options button.active{color:var(--gold);border-bottom:0;background:#19334b}
html[dir="rtl"] .lang{margin-left:0;margin-right:auto}
html[dir="rtl"] .lang-options{right:auto;left:0}
html[dir="rtl"] .lang-options button{text-align:right}
html[dir="rtl"] .site-header nav{direction:rtl}
html[dir="rtl"] .paper,html[dir="rtl"] .hero-copy,html[dir="rtl"] .chapter-intro,html[dir="rtl"] .future-copy,html[dir="rtl"] footer{text-align:right}
html[dir="rtl"] .mirror-cinema .mirror-cinema-copy{left:auto;right:clamp(20px,2vw,36px)}
html[dir="rtl"] .mirror-cinema-copy .mirror-story-toggle,html[dir="rtl"] .asperger-saga .asperger-saga-toggle{text-align:right}
html[dir="rtl"] .chapter-links a,html[dir="rtl"] .text-link{direction:rtl}
html[dir="rtl"] .brand span:last-child,html[dir="rtl"] h1,html[dir="rtl"] h2,html[dir="rtl"] h3,html[dir="rtl"] .signature-quote{font-family:'Geeza Pro',Tahoma,Arial,sans-serif}
html[dir="rtl"] .hero h1{font-size:clamp(52px,7vw,105px);line-height:1.1;letter-spacing:0}
html[dir="rtl"] .skip{left:auto;right:1rem;transform:translateY(-200%)}
html[dir="rtl"] .skip:focus{transform:none}
@media(max-width:760px){
  .brand span:last-child{white-space:normal;max-width:150px;line-height:1.35}
  html[dir="rtl"] .hero h1{font-size:clamp(42px,8vw,62px)}
  html[dir="rtl"] .site-header nav{align-items:flex-start}
  html[dir="rtl"] .mirror-cinema .mirror-cinema-copy{left:auto;right:auto}
}

/* Mobile artwork and project films: preserve the entire mirror and film frames. */
@media(max-width:760px), (max-width:900px) and (max-height:500px){
  .hero{--hero-art-height:clamp(470px,128vw,550px);--hero-art-top:75px;height:auto;min-height:0}
  .hero-image{background-size:auto var(--hero-art-height);background-position:90% var(--hero-art-top);background-color:#061325}
  .hero:after{background:linear-gradient(0deg,#061427 0%,#061427 18%,#061427d9 37%,#06142712 68%)}
  .hero-copy{width:auto;margin:0;padding:calc(var(--hero-art-height) + 12px) 25px 30px}
  .project,.mirror-section{display:flex;flex-direction:column;min-height:0}
  .project-scene{width:100%;min-height:440px}
  .project-paper,.mirror-section .project-paper{order:1;width:calc(100% - 32px);margin:-40px 16px 0;min-height:0}
  .asperger-video-surface{width:100vw;max-width:none;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);height:auto;aspect-ratio:1878/1080}
  .asperger .project-paper{padding-bottom:0}
  .asperger-video-surface{margin-bottom:0}
  .mirror-cinema{border-top:1px solid var(--gold)}
  .mirror-cinema{width:100%;margin:0}
  .mirror-cinema-video{width:100%;height:auto;object-fit:contain}
}
@media(max-width:900px) and (max-height:500px){
  .hero{--hero-art-height:clamp(440px,58vw,520px)}
  .hero-image{background-position:center var(--hero-art-top)}
  .project-scene{min-height:420px}
}

/* A single chapter line connects the two films only on mobile. */
.project-bridge{display:none}
@media(max-width:760px), (max-width:900px) and (max-height:500px){
  .project-bridge{display:grid;place-items:center;width:100%;padding:30px 24px 34px;box-shadow:none;text-align:center}
  .project-bridge p{max-width:780px;margin:0;color:var(--ink);font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(31px,8.3vw,43px);line-height:1.1}
  html[dir="rtl"] .project-bridge{text-align:center;direction:rtl}
  html[dir="rtl"] .project-bridge p{text-align:center;direction:rtl;font-family:'Geeza Pro',Tahoma,Arial,sans-serif;font-size:clamp(24px,6.2vw,36px);line-height:1.55}
  #mirror .mirror-cinema-copy{margin:0 16px}
}
