/* The painting stays still and complete. Only light, mist and motes move. */
.atmosphere-ready{position:relative}
.bc-atmosphere{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:2;contain:paint}
.bc-atmosphere i{position:absolute;display:block;pointer-events:none}
.atmosphere-beam{inset:-25% -65%;background:linear-gradient(112deg,transparent 35%,#ffd99b00 42%,#ffe8b552 49%,#ffe4a714 55%,transparent 62%);opacity:.38;transform:translate3d(-24%,0,0);animation:bc-light-drift 7s ease-in-out infinite alternate}
.atmosphere-veil{inset:0 -35%;background:radial-gradient(ellipse at 30% 78%,#e3d6ac35,transparent 48%);animation:bc-veil-drift 11s ease-in-out infinite alternate;opacity:.5}
.atmosphere-mote{left:var(--dot-x);top:var(--dot-y);width:var(--size);height:var(--size);border-radius:50%;background:#ffefd0;box-shadow:0 0 6px 1px #f4dbaa85;animation:bc-mote-drift var(--duration) linear var(--delay) infinite;opacity:0}
.atmosphere-pulse{width:46px;height:46px;margin:-23px 0 0 -23px;border:1px solid #fff1cecc;border-radius:50%;box-shadow:0 0 14px #ffe6ab40,inset 0 0 14px #ffe6ab20;opacity:0}
.atmosphere-pulse.is-playing{animation:bc-light-touch 1.4s ease-out both}
.bc-atmosphere i{animation-play-state:paused}
.atmosphere-live>.bc-atmosphere i{animation-play-state:running}
[data-atmosphere="mist"]>.bc-atmosphere .atmosphere-beam{background:linear-gradient(112deg,transparent 38%,#d4e6ea38 50%,transparent 64%);animation-duration:9s}
[data-atmosphere="mist"]>.bc-atmosphere .atmosphere-veil{background:radial-gradient(ellipse at 38% 65%,#d7e8df55,transparent 48%)}
[data-atmosphere="storm"]>.bc-atmosphere .atmosphere-beam{background:linear-gradient(110deg,transparent 35%,#e5d8b32b 50%,transparent 62%);animation-duration:8s}
[data-atmosphere="storm"]>.bc-atmosphere .atmosphere-mote{width:1px;height:9px;border-radius:1px;box-shadow:none;background:#eadbb2aa;animation-name:bc-rain-drift;animation-duration:2.7s}
[data-atmosphere="storm"]>.bc-atmosphere .atmosphere-veil{bottom:35%;background:radial-gradient(ellipse at 38% 40%,#22342f88,transparent 58%)}
@keyframes bc-light-drift{from{transform:translate3d(-24%,0,0);opacity:.25}to{transform:translate3d(24%,0,0);opacity:.7}}
@keyframes bc-veil-drift{from{transform:translate3d(-8%,2%,0);opacity:.2}to{transform:translate3d(14%,-4%,0);opacity:.65}}
@keyframes bc-mote-drift{0%{transform:translate3d(-8px,20px,0);opacity:0}20%{opacity:.75}80%{opacity:.4}100%{transform:translate3d(25px,-44px,0);opacity:0}}
@keyframes bc-rain-drift{0%{transform:translate3d(22px,-45px,0) rotate(25deg);opacity:0}20%{opacity:.55}75%{opacity:.35}100%{transform:translate3d(-25px,50px,0) rotate(25deg);opacity:0}}
@keyframes bc-light-touch{0%{transform:scale(.35);opacity:.9}100%{transform:scale(3.5);opacity:0}}
body.no-motion .bc-atmosphere{display:none}
@media(prefers-reduced-motion:reduce){html:not(.motion-override-on) .bc-atmosphere{display:none}}
.album-invitation{padding:85px 24px;text-align:center;background:#ddd5c4;color:#29342c}
.album-invitation h2{font:clamp(32px,4.5vw,62px)/1.45 var(--serif);margin:24px 0}
.album-invitation h2 em{color:#87724c}
.album-invitation p{font:15px/2 var(--serif);color:#646757}
.album-invitation>a,.album-scene-link{display:inline-flex;align-items:center;gap:24px;font-size:13px;margin-top:26px;border-bottom:1px solid currentColor;padding:10px 0}
.album-scene-link{color:#bfa679;align-self:flex-start}
.album-invitation .icon,.album-scene-link .icon{width:17px;height:17px}
@media(max-width:600px){.album-invitation{padding:55px 23px}.album-invitation p{font-size:13px}.album-invitation p br{display:none}.atmosphere-beam{animation-duration:5.5s}}
