/* Portada fotográfica continua: cobertura completa y zoom desde la apertura. */
html,body{margin:0;padding:0}
#invitation,main{margin-top:0;padding-top:0}
.hero{margin-top:0;padding:0;isolation:isolate;background-image:url(assets/hero-xv.webp);background-size:cover;background-position:50% 12%;background-repeat:no-repeat}
.hero-media{position:absolute;inset:0;overflow:hidden;z-index:0}
.hero .hero-photo{display:block;position:absolute;inset:0;width:100%;height:100%;max-width:none;margin:0;padding:0;border:0;object-fit:cover;object-position:50% 12%;transform:scale(1.025);backface-visibility:hidden;will-change:transform}
.hero .hero-shade{inset:0;width:100%;height:100%;z-index:1}
.entered .hero .hero-photo{animation:headerPhotoZoom 14s cubic-bezier(.35,.08,.65,.92) infinite alternate both!important;animation-play-state:running!important}
@keyframes headerPhotoZoom{from{transform:scale(1.025)}to{transform:scale(1.18)}}
/* Mantener el zoom solicitado, más suave si el dispositivo pide menos movimiento. */
@media(prefers-reduced-motion:reduce){.entered .hero .hero-photo{animation-name:headerPhotoZoomSoft!important;animation-duration:24s!important}}
@keyframes headerPhotoZoomSoft{from{transform:scale(1.025)}to{transform:scale(1.105)}}
