.hero,.closing,.album-stage,.album__stage,.film,.gallery__stage,.album-frame,#entry,#welcome{position:relative;isolation:isolate}
.birthday-photo{position:absolute;inset:0;pointer-events:none;background-color:#2d3034}
.birthday-photo--hero{z-index:0;animation:birthday-zoom 15s ease-in-out infinite alternate}
.birthday-photo--album{z-index:2;transition:background-position .7s ease}
.birthday-photo--closing{z-index:0;animation:birthday-zoom 17s ease-in-out infinite alternate}
.birthday-photo--entry{z-index:0;opacity:0;transition:opacity .9s}
.birthday-entry-visible{opacity:.42}
.hero .hero-photo,.hero .hero__photo,.hero .hero-photo img,.closing .closing-photo,.closing .closing__photo,.closing .closing-photo img{opacity:0!important}
.album-stage .slide,.album__stage .album__slide,.album-frame .slide,.gallery__stage .gallery__slide{opacity:0!important}
.hero-copy,.hero__copy,.closing-copy,.closing__copy,.entry-content,.welcome-content,.welcome-title{position:relative;z-index:5}
.hero-shade,.hero-filter,.hero-tint,.closing-shade,.closing-filter{z-index:1}
.album-stage .album-controls,.album-stage .album-caption,.film .film-word,.film .film-controls{position:relative;z-index:4}
@keyframes birthday-zoom{from{transform:scale(1.015)}to{transform:scale(1.105)}}
@media(prefers-reduced-motion:reduce){.birthday-photo--hero,.birthday-photo--closing{animation:none}}

/* Leave the source compositions intact while quieting decorative motion. */

.reveal,.entrance{opacity:1!important;transform:none!important}
.hero > img:not(.hero__eclipse),.closing > img,.hero-media img,.closing__photo img,.gallery__stage img,.album-frame img{opacity:0!important}
.gallery__stage .gallery__slide{opacity:0!important}
.birthday-photo--hero,.birthday-photo--closing{background-blend-mode:soft-light;background-color:rgba(37,40,46,.22)}
.birthday-photo--album{z-index:3}



/* A single birthday name uses one centered column at every screen size. */
.hero .hero-copy{position:absolute;inset:auto 24px 19%;display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}
.hero .hero-copy h1{display:block;width:100%;margin:0;padding:8px 0 12px;font-size:clamp(5.4rem,14vw,8.4rem);line-height:1.2;letter-spacing:0}
.hero .hero-copy .eyebrow,.hero .hero-date{margin:0}
.hero .hero-copy .eyebrow{font-size:.875rem;letter-spacing:.2em}
.hero .hero-copy .music-intro{margin-top:0}
.hero .hero-top{gap:20px}
.hero .hero-top>span:last-child{font-size:.875rem;text-align:right;line-height:1.5;letter-spacing:.12em}
.birthday-photo--hero,.birthday-photo--closing{background-size:cover;background-position:50% 38%;background-repeat:no-repeat}
#film-photo,.welcome-photo{background-size:cover;background-position:50% 38%}
#film-photo{background-image:url('assets/paz-1.webp')}
.welcome-photo{background-image:url('assets/paz-0.webp')}
.film .film-word{display:none}
.film .film-controls{position:absolute;bottom:24px;left:34px;right:24px}
@media(max-width:600px){.hero .hero-copy{left:20px;right:20px;bottom:19%;gap:12px}.hero .hero-copy h1{font-size:clamp(5.4rem,24vw,7rem)}.hero .hero-top>span:last-child{font-size:.75rem;letter-spacing:.08em}.hero .hero-date{font-size:1rem}}
@media(max-height:600px){.hero{min-height:600px}.hero .hero-copy{bottom:18%;gap:8px}.hero .hero-copy h1{font-size:5rem}}

#welcome .welcome-title{position:absolute;inset:0}
