/* Scoped opening, zone motion and atmosphere image. */
.opening .masthead{justify-content:flex-start;gap:24px}
.opening .hero-copy{text-align:left}
.opening .hero-copy h1>em{padding-left:0}
.opening .hero-copy>.micro{font-size:12px;letter-spacing:.23em;margin-bottom:27px}
.opening .hero-subtitle{font-size:20px;letter-spacing:.12em;margin-top:30px}
.opening .hero-invitation{font-size:17px;line-height:1.9;max-width:33em;margin:18px 0 0}
.opening .hero-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.opening .hero-date{font-size:13px;gap:6px}
.opening .hero-date span:last-child{font-size:13px}
.opening .scroll-cue{position:relative;left:auto;right:auto;bottom:auto;transform:none;flex-direction:row;gap:15px;align-items:center}
.opening .scroll-cue .micro{font-size:9px;letter-spacing:.19em}
.opening .scroll-line{height:32px}
.opening .hero-edition{font-size:8px}
.opening:before{content:'';position:absolute;inset:-12%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 67% 31%,#d5bd8d17,transparent 44%),radial-gradient(ellipse at 28% 65%,#93b0aa12,transparent 48%);transform:translate(-2%,0);opacity:.65}
.opening .orbital-art:before,.opening .orbital-art:after{content:'';position:absolute;top:9%;width:57%;height:81%;border:1px solid #d4c9b00c;background:linear-gradient(110deg,#cbbf9d0c,#cbbf9d00 75%);pointer-events:none;opacity:.35}
.opening .orbital-art:before{left:3%;transform:perspective(800px) translateX(-6%) rotateY(-30deg) rotateZ(-9deg);transform-origin:left center}
.opening .orbital-art:after{right:3%;transform:perspective(800px) translateX(6%) rotateY(30deg) rotateZ(9deg);transform-origin:right center}
.zones .sensory-art{background:#241b14}
.sensory-art>img{width:100%;height:100%;object-fit:cover;object-position:50% 54%;transform:scale(1);opacity:1}
.js-motion .sensory-art.reveal{clip-path:inset(0 0 12%);transition:clip-path 1.4s cubic-bezier(.2,.65,.3,1),opacity 1s,transform 1s}
.js-motion .sensory-art.reveal.visible{clip-path:inset(0)}
.js-motion .sensory-art>img{transform:scale(1.035);transition:transform 5s cubic-bezier(.2,.65,.3,1)}
.js-motion .sensory-art.visible>img{transform:scale(1)}
.zones .zone-row{position:relative}
@media(prefers-reduced-motion:no-preference){
 .opening .hero-enter{animation:openingCopy 1.35s cubic-bezier(.2,.65,.3,1) both}
 .opening .hero-copy>.micro{animation-delay:.18s}
 .opening h1.hero-enter{animation-delay:.6s}
 .opening .hero-subtitle.hero-enter{animation-delay:1.05s}
 .opening .hero-invitation.hero-enter{animation-delay:1.4s}
 .opening:before{animation:openingGlow 24s ease-in-out infinite alternate}
 .opening .orbital-art:before{animation:unfoldLeft 4.4s cubic-bezier(.2,.65,.3,1) both}
 .opening .orbital-art:after{animation:unfoldRight 4.9s cubic-bezier(.2,.65,.3,1) both}
 .opening .sphere{animation-duration:110s}
 .opening .sphere i{animation:orbitLayer calc(150s + var(--i)*19s) linear infinite}
 .opening .sphere i:nth-child(even){animation-direction:reverse}
 .opening .outer-orbit{animation-duration:46s}
 .opening .glass-disc{animation-duration:21s}
 .opening .orbital-halo{animation-duration:26s}
 .opening .scroll-line:after{animation:scrollLine 3.8s ease-in-out infinite}
 .js-motion .zones .zone-row.reveal{opacity:0;transform:translateY(12px);transition:opacity .65s ease,transform .8s cubic-bezier(.2,.65,.3,1);border-top-color:transparent;border-bottom-color:transparent}
 .js-motion .zones .zone-row.reveal.visible{opacity:1;transform:none}
 .js-motion .zone-row:before,.js-motion .zone-row:last-child:after{content:'';position:absolute;left:0;right:0;height:1px;background:#a1b1a047;transform:scaleX(0);transform-origin:left;transition:transform 1s cubic-bezier(.2,.65,.3,1)}
 .js-motion .zone-row:before{top:-1px}.js-motion .zone-row:last-child:after{bottom:-1px}
 .js-motion .zone-row.visible:before,.js-motion .zone-row.visible:last-child:after{transform:scaleX(1)}
 .js-motion .zone-row .zone-label,.js-motion .zone-row .zone-content>h3,.js-motion .zone-row .zone-content>p,.js-motion .zone-row .zone-art{opacity:0;translate:0 7px;transition:opacity .65s ease,translate .8s cubic-bezier(.2,.65,.3,1)}
 .js-motion .zone-row .zone-label{transition-delay:.08s}.js-motion .zone-row .zone-content>h3{transition-delay:.18s}.js-motion .zone-row .zone-content>p{transition-delay:.3s}.js-motion .zone-row .zone-art{transition-delay:.42s}
 .js-motion .zone-row.visible .zone-label,.js-motion .zone-row.visible .zone-content>h3,.js-motion .zone-row.visible .zone-content>p{opacity:1;translate:0 0}
 .js-motion .zone-row.visible .zone-art{opacity:.85;translate:0 0}
 .zones .zone-art{animation-duration:100s;animation-play-state:paused}
 .zones .zone-row:nth-child(even) .zone-art{animation-duration:125s}
 .zones .zone-row.motion-active .zone-art{animation-play-state:running}
 .opening:not(.motion-active) .orbital-art *,.opening:not(.motion-active):before,.opening:not(.motion-active) .orbital-art:before,.opening:not(.motion-active) .orbital-art:after{animation-play-state:paused}
 .tab-suspended .opening *,.tab-suspended .opening:before,.tab-suspended .opening .orbital-art:before,.tab-suspended .opening .orbital-art:after,.tab-suspended .zone-art{animation-play-state:paused!important}
}
@keyframes openingCopy{from{opacity:0;transform:translateY(13px);clip-path:inset(0 0 12%)}to{opacity:1;transform:none;clip-path:inset(0)}}
@keyframes openingGlow{to{transform:translate(3%,-2%) scale(1.04);opacity:.95}}
@keyframes orbitLayer{from{transform:rotateY(calc(var(--i)*22.5deg))}to{transform:rotateY(calc(var(--i)*22.5deg + 360deg))}}
@keyframes unfoldLeft{from{opacity:.75;transform:perspective(800px) translateX(22%) rotateY(-2deg) rotateZ(-2deg)}to{opacity:.35;transform:perspective(800px) translateX(-6%) rotateY(-30deg) rotateZ(-9deg)}}
@keyframes unfoldRight{from{opacity:.75;transform:perspective(800px) translateX(-22%) rotateY(2deg) rotateZ(2deg)}to{opacity:.35;transform:perspective(800px) translateX(6%) rotateY(30deg) rotateZ(9deg)}}
@media(max-width:760px){
 .opening{min-height:740px}
 .opening .masthead{gap:18px}.opening .masthead>.micro{font-size:8px}
 .opening .hero-copy>.micro{font-size:10px;letter-spacing:.2em;margin-bottom:25px}
 .opening .hero-subtitle{font-size:16px;letter-spacing:.1em;margin-top:27px}
 .opening .hero-invitation{font-size:14px;line-height:1.85;max-width:25em;margin:17px 0 0}
 .opening .hero-date,.opening .hero-date span:last-child{font-size:11px}
 .opening .hero-bottom{gap:17px;bottom:26px}
 .opening .scroll-cue{gap:12px}.opening .scroll-cue .micro{font-size:9px}
}
@media(prefers-reduced-motion:reduce){
 .opening:before,.opening .orbital-art:before,.opening .orbital-art:after{animation:none!important}
 .sensory-art>img,.js-motion .sensory-art>img{transform:none;transition:none}
 .js-motion .sensory-art.reveal{clip-path:none;opacity:1;transform:none}
 .js-motion .zones .zone-row,.js-motion .zone-row .zone-label,.js-motion .zone-row .zone-content>h3,.js-motion .zone-row .zone-content>p,.js-motion .zone-row .zone-art{opacity:1;translate:0 0;transform:none;transition:none}
}
