/* Noninteractive layers: fine dust and soft pink light against the black surfaces. */
.atmosphere{position:fixed;inset:0;width:100%;height:100%;z-index:201;pointer-events:none;contain:strict;opacity:.95}
.hero-light{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;contain:paint}
.hero-light::before{content:"";position:absolute;width:75%;height:115%;top:-45%;right:-15%;background:radial-gradient(ellipse at center,rgba(231,158,185,.16),rgba(156,91,126,.065) 38%,transparent 68%);transform-origin:70% 20%;animation:lightDrift 16s ease-in-out infinite alternate;opacity:.9}
.hero-light::after{content:"";position:absolute;width:32%;height:140%;top:-45%;right:22%;background:linear-gradient(100deg,transparent 20%,rgba(244,206,225,.025) 42%,rgba(244,206,225,.075) 49%,rgba(244,206,225,.018) 57%,transparent 75%);transform:rotate(-26deg);transform-origin:top center;animation:lightSweep 19s ease-in-out infinite alternate;filter:blur(8px)}
.hero-topline,.hero-layout,.hero-bottomline{position:relative;z-index:1}
.hero-photo::before{content:"";position:absolute;z-index:2;inset:-25% -60%;background:linear-gradient(105deg,transparent 43%,rgba(255,230,242,.045) 47%,rgba(255,230,242,.12) 50%,rgba(255,230,242,.025) 54%,transparent 58%);transform:translateX(-55%);animation:photoLightPass 14s ease-in-out infinite;pointer-events:none;mix-blend-mode:screen}
.hero-photo figcaption{z-index:3}
.intro::before{content:"";position:absolute;left:50%;top:48%;width:min(760px,110vw);height:min(440px,70vh);transform:translate(-50%,-50%);background:radial-gradient(ellipse,rgba(231,158,185,.085),transparent 67%);opacity:0;animation:openingLight 3.2s ease both;pointer-events:none}
.intro.opening .intro-center{transform:translateY(-5px);opacity:0;filter:blur(5px);transition:opacity 1s ease,filter 1.2s ease,transform 1.4s var(--e)}
.intro.opening .intro-rule{opacity:0;transition:opacity .3s ease}
.book::before,.recruit::before{content:"";position:absolute;pointer-events:none;width:75%;height:150%;left:-32%;top:-30%;background:radial-gradient(ellipse,rgba(231,158,185,.055),transparent 65%);animation:lowerLightDrift 18s ease-in-out infinite alternate}
.book>.shell,.recruit>.shell{z-index:1}
.hero-act .btn-p,.recruit-link{position:relative;isolation:isolate;overflow:hidden}
.hero-act .btn-p::before,.recruit-link::before{content:"";position:absolute;inset:-50%;z-index:-1;background:linear-gradient(105deg,transparent 38%,#ffffff35 50%,transparent 62%);transform:translateX(-100%);transition:transform .65s var(--e);pointer-events:none}
.hero-act .btn-p:hover::before,.hero-act .btn-p:focus-visible::before,.recruit-link:hover::before,.recruit-link:focus-visible::before{transform:translateX(100%)}
@keyframes lightDrift{from{transform:translate3d(8%,-4%,0) scale(.9)}to{transform:translate3d(-16%,12%,0) scale(1.15)}}
@keyframes lightSweep{from{transform:rotate(-32deg) translateX(0);opacity:.35}to{transform:rotate(-13deg) translateX(8%);opacity:.8}}
@keyframes photoLightPass{0%,20%{transform:translateX(-55%);opacity:0}30%{opacity:1}62%{transform:translateX(55%);opacity:0}100%{transform:translateX(55%);opacity:0}}
@keyframes openingLight{0%{opacity:0;transform:translate(-50%,-50%) scale(.7)}45%{opacity:1}100%{opacity:0;transform:translate(-45%,-50%) scale(1.3)}}
@keyframes lowerLightDrift{from{transform:translateX(0)}to{transform:translateX(36%)}}
@media(max-width:700px){.hero-light::before{width:120%;right:-45%;top:-25%;opacity:.65}.hero-light::after{width:55%;right:15%;opacity:.45}.atmosphere{opacity:.78}}
.motion-paused .atmosphere{display:none}.motion-paused .hero-light::before,.motion-paused .hero-light::after,.motion-paused .hero-photo::before,.motion-paused .book::before,.motion-paused .recruit::before{animation:none!important;opacity:0}
html.effects-suspended .hero-light::before,html.effects-suspended .hero-light::after,html.effects-suspended .hero-photo::before,html.effects-suspended .book::before,html.effects-suspended .recruit::before{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.atmosphere,.hero-light,.intro::before,.hero-photo::before,.book::before,.recruit::before,.hero-act .btn-p::before,.recruit-link::before{display:none!important}.intro.opening .intro-center{filter:none}}
