/* Futuristic entrance: abstract optical geometry, no content blocking. */
.hero.hero-photo{perspective:1200px;animation:future-surface 1.35s cubic-bezier(.16,1,.3,1) both;overflow:hidden}
.hero-background{animation:hospital-drift 25s ease-in-out infinite alternate;transform-origin:72% 48%;will-change:transform}
.hero-particles{opacity:1;mask-image:linear-gradient(90deg,#0002,#0007 48%,#000 80%)}
.hero-orbits{position:absolute;right:-3%;top:50%;width:460px;aspect-ratio:1;transform:translateY(-50%);z-index:0;pointer-events:none;opacity:.7;mask-image:linear-gradient(90deg,transparent,#000 35%)}
.hero-orbits i{position:absolute;inset:5%;border:1px solid #72e0f33a;border-radius:50%;box-shadow:inset 0 0 28px #42c7e808,0 0 28px #42c7e816;animation:orbit-turn 32s linear infinite}
.hero-orbits i:before{content:'';position:absolute;inset:-1px;border-radius:50%;border:2px solid transparent;border-top-color:#78e3f4b0;border-left-color:#42c7e828;transform:rotate(30deg)}
.hero-orbits i:after{content:'';position:absolute;top:50%;right:-3px;width:5px;height:5px;border-radius:50%;background:#9cefff;box-shadow:0 0 10px #42c7e8,0 0 25px #42c7e8}
.hero-orbits i:nth-child(2){inset:18%;animation-duration:23s;animation-direction:reverse;border-style:dashed;border-color:#42c7e82c}.hero-orbits i:nth-child(3){inset:32%;animation-duration:19s;border-color:#84e8f14a}.hero-orbits span{position:absolute;inset:22%;border-radius:50%;background:radial-gradient(circle,#0ea5ad1a,transparent 65%);animation:optical-breathe 8s ease-in-out infinite alternate}
.hero-sweep{position:absolute;inset:-40% -80%;z-index:0;pointer-events:none;background:linear-gradient(112deg,transparent 46%,#42c7e808 49%,#b7e5ef17 50%,transparent 53%);animation:light-pass 14s ease-in-out infinite;opacity:.65}
.hero-light{animation:hero-illumination 12s ease-in-out infinite alternate;opacity:1}
.hero-photo .hero-text{animation:none}.hero-photo .hero-text .eyebrow{animation:future-copy .8s .15s cubic-bezier(.16,1,.3,1) backwards}.hero-photo .hero-text h1{animation:future-copy 1.1s .25s cubic-bezier(.16,1,.3,1) backwards}.hero-photo .hero-text h1 span{animation:future-accent 1.15s .4s cubic-bezier(.16,1,.3,1) backwards,title-light 9s 1.6s ease-in-out infinite alternate;text-shadow:0 0 35px #42c7e819}.hero-photo .hero-description{animation:future-copy 1s .5s cubic-bezier(.16,1,.3,1) backwards}.hero-photo .hero-meta{animation:future-copy 1s .6s cubic-bezier(.16,1,.3,1) backwards}.hero-photo .search-row{animation:search-materialize 1s .7s cubic-bezier(.16,1,.3,1) backwards}.hero-handbook{animation:future-copy 1s .82s cubic-bezier(.16,1,.3,1) backwards}
.hero-photo .search-box{position:relative;overflow:hidden}.hero-photo .search-box:after{content:'';height:1px;position:absolute;bottom:0;left:12%;right:12%;background:linear-gradient(90deg,transparent,#7ce4f4,transparent);opacity:.65;pointer-events:none}.hero-photo .search-box:focus-within:after{opacity:1;box-shadow:0 0 15px #42c7e8}
@keyframes future-surface{from{opacity:.45;transform:translateY(17px) scale(.985)}to{opacity:1;transform:none}}
@keyframes future-copy{from{opacity:0;transform:translate3d(0,22px,0);filter:blur(4px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes future-accent{from{opacity:0;transform:translateY(12px);clip-path:inset(0 100% 0 0)}to{opacity:1;transform:none;clip-path:inset(0)}}
@keyframes search-materialize{from{opacity:0;transform:translateY(16px) scale(.96);filter:blur(3px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes hospital-drift{from{transform:scale(1.025) translateX(-.4%)}to{transform:scale(1.085) translateX(.6%)}}
@keyframes orbit-turn{to{transform:rotate(360deg)}}
@keyframes optical-breathe{from{transform:scale(.86);opacity:.45}to{transform:scale(1.12);opacity:1}}
@keyframes light-pass{0%,25%{transform:translateX(-22%);opacity:0}35%{opacity:.65}65%{transform:translateX(22%);opacity:0}100%{transform:translateX(22%);opacity:0}}
@media(max-width:850px){.hero-orbits{width:390px;right:-16%;opacity:.5}}
@media(max-width:620px){.hero-orbits{width:310px;right:-35%;top:43%;opacity:.35}.hero-sweep{opacity:.3}.hero-background{animation-duration:32s;will-change:auto}.hero-photo .hero-text h1{animation-duration:.85s}.hero-photo .hero-text h1 span{animation-duration:.9s,12s}.hero-particles{opacity:.8}}
.ambient-paused .hero.hero-photo,.ambient-paused .hero-photo .hero-text *,.ambient-paused .hero-handbook{animation:none!important}
@media(prefers-reduced-motion:reduce){.hero.hero-photo,.hero-background,.hero-orbits *,.hero-sweep,.hero-photo .hero-text *,.hero-handbook{animation:none!important;will-change:auto}.hero-background{transform:none}.hero-orbits{opacity:.3}}
@media print{.hero-orbits,.hero-sweep{display:none}}
