/* A quicker sky, scoped entirely to the invitation's opening page. */
.hero{--sky-night:.18;--sky-dawn:.32;--sky-day:.4;--sky-emerald:#092b20;--sky-lower:#476f48;--sky-gold:#e2b985;background:linear-gradient(180deg,var(--sky-emerald) 8%,var(--sky-emerald) 25%,var(--sky-lower) 100%)}
.hero-art{animation:none!important;transform:none!important;background-color:transparent}
.hero-vignette{background:linear-gradient(180deg,rgba(2,22,15,.14),transparent 30%,rgba(124,168,105,.14) 62%,rgba(182,209,142,.5));mix-blend-mode:screen}
.hero-title span,.hero-date strong,.hero-date>span,.hero-date small{color:var(--sky-gold)}
.hero-date,.scroll-prompt{text-shadow:0 1px 9px rgba(3,31,20,.8)}
.scroll-prompt span{background:rgba(5,36,26,.78);border:1px solid rgba(231,201,150,.4);padding:7px 10px;line-height:1.4;color:#f7e7cc;text-shadow:none}
.atmosphere{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:2;isolation:isolate}
.atmosphere-night,.atmosphere-dawn{position:absolute;inset:0;pointer-events:none}
.atmosphere-night{background:linear-gradient(180deg,rgba(0,15,27,.7),rgba(1,17,24,.18) 55%,rgba(1,16,24,.12));opacity:calc(var(--sky-night)*.62)}
.atmosphere-dawn{background:radial-gradient(ellipse at 65% 80%,rgba(255,202,107,.22),transparent 53%),linear-gradient(165deg,rgba(190,149,75,.09),transparent 45%,rgba(157,183,92,.12));opacity:var(--sky-dawn);mix-blend-mode:screen}
.atmosphere-portrait{position:absolute;top:0;bottom:0;left:50%;transform:translateX(-50%);pointer-events:none}
.rio-sky{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.rio-sun{opacity:calc(var(--sky-day)*.8);transform:translateY(calc((1 - var(--sky-day))*85px));mix-blend-mode:screen}
.rio-stars{fill:#ffefcf;opacity:calc(var(--sky-night)*.85)}
.rio-stars circle{animation:rio-starlight 6.4s ease-in-out infinite alternate;animation-delay:var(--spark-delay)}
.rio-city-lights{opacity:clamp(0,calc((var(--sky-night) - .12)*1.14),1);mix-blend-mode:screen}
.rio-city-light{animation:rio-city-glimmer 6.8s ease-in-out infinite alternate;animation-delay:var(--spark-delay)}
.rio-city-light-core{fill:#fff0bb;filter:drop-shadow(0 0 1.6px #ffc66e)}
.rio-reflections{fill:none;stroke:#f1cd91;stroke-width:1.2;stroke-linecap:round;opacity:clamp(0,calc((var(--sky-night) - .12)*.55),.48);animation:rio-waterlight 7s ease-in-out infinite alternate}
.hero-stars{opacity:var(--sky-night)}
body.is-closed .hero .atmosphere *,body.is-closed .hero-stars i{animation-play-state:paused}
.garden .flower{filter:drop-shadow(0 0 3px rgba(220,167,92,.18))}
/* The rest of the invitation stays consistently bright, regardless of the sky. */
.event-photographic .event-photo{filter:none;transition:transform 1.4s cubic-bezier(.22,.65,.3,1)}
.event-card-engraved:hover .event-photo,.event-card-engraved:focus-within .event-photo{transform:scale(1.025);filter:none}
.event-photographic:before{background:linear-gradient(180deg,rgba(6,42,26,.12),transparent 24%,transparent 74%,rgba(6,38,29,.2))}
.event-photographic .event-art-caption{background:rgba(5,37,29,.65);padding:7px 11px;text-shadow:none}
@keyframes rio-starlight{from{opacity:.3}to{opacity:.95}}
@keyframes rio-city-glimmer{from{opacity:.72}to{opacity:1}}
@keyframes rio-waterlight{from{stroke-opacity:.35;transform:translateY(0)}to{stroke-opacity:.8;transform:translateY(2px)}}
@media(prefers-reduced-motion:reduce){.atmosphere *{animation:none!important}.rio-sun{transform:none}}
