.poster-player {
  --poster-paper: #f1f0eb; --poster-ink: #252622; --poster-muted: #696c63;
  --poster-color-one: #738183; --poster-color-two: #8a8078;
  position: relative; isolation: isolate; container-type: inline-size; width: 100%; height: 100%; min-height: 280px;
  overflow: hidden; color: var(--poster-ink); background: var(--poster-paper); font: 14px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", sans-serif;
  outline: none; color-scheme: light;
}
.poster-player *, .poster-player *::before, .poster-player *::after { box-sizing: border-box; }
.poster-player [hidden] { display: none !important; }
.poster-player button { font: inherit; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.poster-player button:disabled { cursor: default; opacity: .35; }
.poster-player button:focus-visible, .poster-player:focus-visible { outline: 2px solid currentColor; outline-offset: -4px; }
.poster-player .poster-scene { position: absolute; inset: 0; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px)); }
.poster-player .poster-heading { position: relative; z-index: 2; margin: 0 auto; padding: clamp(24px, 5cqw, 64px) clamp(22px, 6cqw, 80px) 0; max-width: 1500px; }
.poster-player .poster-meta { font-size: 11px; letter-spacing: .14em; color: var(--poster-muted); }
.poster-player .poster-title { margin: 14px 0 0; font-family: "Iowan Old Style", "Baskerville", "Songti SC", "Noto Serif CJK SC", Georgia, serif; font-size: clamp(32px, 7cqw, 100px); font-weight: 400; line-height: 1.1; letter-spacing: -.045em; overflow-wrap: anywhere; }
.poster-player .poster-subtitle { margin: 18px 0 0; max-width: 680px; font-size: clamp(12px, 1.5cqw, 16px); line-height: 1.8; color: var(--poster-muted); white-space: pre-line; overflow-wrap: anywhere; }
.poster-player .poster-ambience { position: absolute; z-index: -1; inset: -25%; opacity: 0; pointer-events: none; background: radial-gradient(ellipse at 28% 35%, var(--poster-color-one), transparent 55%), radial-gradient(ellipse at 75% 70%, var(--poster-color-two), transparent 55%); transition: opacity 1s; }
.poster-player.has-ambient .poster-ambience { opacity: .12; }
.poster-player .poster-gallery { position: relative; max-width: 1440px; margin: 0 auto; padding: 36px clamp(22px, 6cqw, 80px); }
.poster-player .poster-card { position: relative; display: block; padding: 0; border: 0; border-radius: 0; color: inherit; background: none; text-align: left; min-width: 0; transform-origin: center; }
.poster-player .poster-card-image { position: relative; display: block; width: 100%; aspect-ratio: 4 / 5; overflow: hidden; background: color-mix(in srgb, var(--poster-ink) 7%, transparent); }
.poster-player .poster-card-image img { display: block; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .6s; }
.poster-player[data-fit="contain"] .poster-card-image img { object-fit: contain; }
.poster-player .poster-card.is-loaded img { opacity: 1; }
.poster-player .poster-card-error { position: absolute; inset: 0; display: grid; place-items: center; font-size: 12px; color: var(--poster-muted); }
.poster-player .poster-card-caption { display: flex; gap: 12px; margin-top: 10px; font-size: 10px; line-height: 1.4; color: var(--poster-muted); }
.poster-player .poster-card-number { flex: 0 0 auto; font-variant-numeric: tabular-nums; }
.poster-player .poster-card-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.poster-player .poster-controls { position: absolute; z-index: 20; display: flex; align-items: center; gap: 4px; left: 50%; bottom: max(18px, env(safe-area-inset-bottom, 0px)); transform: translateX(-50%); padding: 4px 7px; border: 1px solid #ffffff24; border-radius: 50px; background: #20231fea; color: #f5f5ef; box-shadow: 0 4px 24px #0002; max-width: calc(100% - 20px); opacity: 1; visibility: visible; transition: opacity .2s, transform .2s, visibility 0s; }
.poster-player .poster-controls.is-concealed { opacity: 0; transform: translate(-50%, 8px); visibility: hidden; pointer-events: none; transition: opacity .2s, transform .2s, visibility 0s .2s; }
.poster-player .poster-control { display: inline-grid; place-items: center; flex: 0 0 40px; width: 40px; height: 40px; padding: 10px; border: none; border-radius: 50%; background: transparent; color: inherit; transition: background .2s; }
.poster-player .poster-control:hover { background: #ffffff18; }
.poster-player .poster-control svg { display: block; width: 20px; height: 20px; }
.poster-player .poster-counter { min-width: 62px; padding: 0 7px; font-size: 10px; letter-spacing: .08em; text-align: center; font-variant-numeric: tabular-nums; white-space: nowrap; }
.poster-player .poster-player-empty { padding: 60px 24px; text-align: center; color: var(--poster-muted); }
.poster-player .poster-player-notice { position: absolute; z-index: 30; left: 50%; bottom: 82px; transform: translateX(-50%); padding: 8px 14px; max-width: calc(100% - 32px); border-radius: 6px; background: #20231ff2; color: #fff; font-size: 12px; }

/* Editorial: a quiet title, a photographic fan, and a deliberate center. */
.poster-player[data-template="editorial"] { --poster-paper: #191b19; --poster-ink: #f1f0e8; --poster-muted: #a8ada3; color-scheme: dark; }
.poster-player[data-template="editorial"] .poster-heading { text-align: center; padding-top: clamp(30px, 5cqw, 66px); }
.poster-player[data-template="editorial"] .poster-subtitle { margin-left: auto; margin-right: auto; }
.poster-player[data-template="editorial"]:not(.is-overview) .poster-gallery { height: clamp(280px, 45cqw, 580px); margin-top: 26px; perspective: 1600px; padding: 0; }
.poster-player[data-template="editorial"]:not(.is-overview) .poster-card { position: absolute; top: 18px; left: 50%; width: clamp(150px, 26cqw, 340px); z-index: var(--layer); transform: translateX(calc(-50% + var(--offset) * 56%)) translateY(calc(var(--distance) * 20px)) rotate(calc(var(--offset) * 7deg)); transition: transform 850ms cubic-bezier(.2,.7,.15,1), filter 700ms, opacity 700ms; filter: brightness(calc(1 - var(--distance) * .14)); }
.poster-player[data-template="editorial"]:not(.is-overview) .poster-card-image { aspect-ratio: 4 / 5; box-shadow: 0 20px 48px #0005; }
.poster-player[data-template="editorial"]:not(.is-overview) .poster-card-caption { opacity: 0; }
.poster-player[data-template="editorial"]:not(.is-overview) .poster-card.is-selected .poster-card-caption { opacity: 1; }
.poster-player[data-template="editorial"]:not(.is-overview) .poster-card:hover { filter: brightness(1); }

/* Magnetic: a staggered gallery with a local, pointer-responsive plane. */
.poster-player[data-template="magnetic"] { --poster-paper: #e9ece8; --poster-ink: #24302b; --poster-muted: #637168; }
.poster-player[data-template="magnetic"] .poster-heading { border-bottom: 1px solid #24302b25; margin: 0 clamp(22px, 6cqw, 80px); padding: 34px 0 28px; }
.poster-player[data-template="magnetic"] .poster-title { font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif; font-size: clamp(32px, 5cqw, 72px); font-weight: 500; letter-spacing: -.055em; }
.poster-player[data-template="magnetic"] .poster-gallery { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px 32px; padding-top: 60px; padding-bottom: 72px; perspective: 1600px; }
.poster-player[data-template="magnetic"] .poster-card { transform: translateY(var(--scatter-y)) perspective(800px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg)); transition: transform 400ms cubic-bezier(.2,.8,.2,1), opacity 450ms; }
.poster-player[data-template="magnetic"] .poster-card:nth-child(4n + 2) { margin-top: 70px; }
.poster-player[data-template="magnetic"] .poster-card:nth-child(4n + 3) { margin-top: 30px; }
.poster-player[data-template="magnetic"] .poster-card-image { box-shadow: 0 15px 30px #22372c12; }
.poster-player[data-template="magnetic"] .poster-card:hover { z-index: 2; }
.poster-player[data-template="magnetic"] .poster-card:hover .poster-card-image { box-shadow: 0 22px 40px #22372c26; }
.poster-player[data-template="magnetic"] .poster-card.is-landscape .poster-card-image { aspect-ratio: 5 / 4; }

/* Polaroid: paper, irregular placement, a photograph at the center. */
.poster-player[data-template="polaroid"] { --poster-paper: #e7e1d5; --poster-ink: #453f37; --poster-muted: #817669; }
.poster-player[data-template="polaroid"] .poster-heading { text-align: center; }
.poster-player[data-template="polaroid"] .poster-subtitle { margin-left: auto; margin-right: auto; }
.poster-player[data-template="polaroid"] .poster-title { font-size: clamp(30px, 5.5cqw, 74px); }
.poster-player[data-template="polaroid"]:not(.is-overview) .poster-gallery { height: clamp(320px, 48cqw, 600px); padding: 0; margin-top: 20px; }
.poster-player[data-template="polaroid"] .poster-card { background: #faf8f0; padding: 12px 12px 18px; box-shadow: 0 1px 2px #52412c22, 0 14px 28px #52412c24; }
.poster-player[data-template="polaroid"]:not(.is-overview) .poster-card { position: absolute; left: 50%; top: 30px; width: clamp(180px, 28cqw, 320px); z-index: var(--layer); transform: translateX(calc(-50% + var(--offset) * 59%)) translateY(calc(var(--distance) * 18px + var(--scatter-y))) rotate(var(--scatter-angle)) scale(calc(1 - var(--distance) * .055)); transition: transform 850ms cubic-bezier(.2,.75,.15,1), opacity .5s; }
.poster-player[data-template="polaroid"]:not(.is-overview) .poster-card.is-selected { transform: translateX(-50%) translateY(0) rotate(-2deg); }
.poster-player[data-template="polaroid"] .poster-card-image { aspect-ratio: 1; }
.poster-player[data-template="polaroid"] .poster-card-caption { margin-top: 18px; color: #817669; font-size: 11px; }

/* Starlight: a clear photographic stage, with light and particles around it. */
.poster-player[data-template="starlight"] {
  --poster-paper: #070a14; --poster-ink: #f5f1e9; --poster-muted: #c6c1b8;
  --poster-starlight-photo-height: clamp(180px, min(40cqw, calc(100cqh - 300px)), 480px);
  container-type: size; color-scheme: dark;
}
.poster-player[data-template="starlight"] .poster-scene { z-index: 2; }
.poster-player[data-template="starlight"] .poster-heading { padding: clamp(26px, 4cqw, 52px) 5.5% 0; }
.poster-player[data-template="starlight"] .poster-title { margin-top: 10px; font-size: clamp(32px, 4.4cqw, 64px); line-height: 1.2; letter-spacing: .06em; }
.poster-player[data-template="starlight"] .poster-meta { letter-spacing: .16em; }
.poster-player[data-template="starlight"] .poster-subtitle { max-width: 720px; margin-top: 14px; color: #c6c1b8; }
.poster-player[data-template="starlight"]:not(.is-overview) .poster-scene { display: flex; flex-direction: column; }
.poster-player[data-template="starlight"]:not(.is-overview) .poster-heading { flex: 0 0 auto; width: 100%; margin-top: auto; }
.poster-player[data-template="starlight"]:not(.is-overview) .poster-gallery { flex: 0 0 auto; width: 100%; height: calc(var(--poster-starlight-photo-height) + 32px); margin: 28px auto auto; padding: 0; perspective: 1400px; }
.poster-player[data-template="starlight"]:not(.is-overview) .poster-card {
  position: absolute; left: 50%; top: 0; width: min(70%, calc(var(--poster-starlight-photo-height) * 1.8)); height: var(--poster-starlight-photo-height); z-index: var(--layer);
  transform: translateX(calc(-50% + var(--offset) * 72%)) translateY(calc(var(--distance) * 30px)) rotateY(calc(var(--offset) * -22deg)) rotateZ(calc(var(--offset) * 2deg)) scale(calc(1 - var(--distance) * .14));
  filter: brightness(calc(1 - var(--distance) * .29)) saturate(calc(1 - var(--distance) * .14));
  opacity: calc(1 - var(--distance) * .16);
  transition: transform 900ms cubic-bezier(.2,.75,.15,1), filter 700ms, opacity 700ms;
}
.poster-player[data-template="starlight"]:not(.is-overview) .poster-card-image { height: 100%; aspect-ratio: auto; border: 1px solid #e5d7b72e; border-radius: 2px; background: #0d1424; box-shadow: 0 22px 70px #0009, 0 0 42px #9aabdc13; }
.poster-player[data-template="starlight"]:not(.is-overview) .poster-card.is-selected { filter: none; opacity: 1; }
.poster-player[data-template="starlight"]:not(.is-overview) .poster-card:not(.is-selected):hover { filter: brightness(.7) saturate(.85); }
.poster-player[data-template="starlight"]:not(.is-overview) .poster-card-caption { margin-top: 11px; color: #c6c1b8; opacity: 0; }
.poster-player[data-template="starlight"]:not(.is-overview) .poster-card.is-selected .poster-card-caption { opacity: 1; }
.poster-player[data-template="starlight"].has-starlight-effect:not(.is-overview):not([data-fit="contain"]) .poster-card.is-selected.is-loaded img { animation: poster-starlight-camera 9s ease-in-out infinite alternate; }
.poster-player[data-template="starlight"]:not(.is-overview) .poster-card.is-selected .poster-card-image::after { content: ""; position: absolute; z-index: 1; inset: -20% -60%; pointer-events: none; background: linear-gradient(108deg, transparent 38%, #bad4ff00 43%, #e6efff40 49%, #edc88815 54%, transparent 62%); transform: translateX(-80%); opacity: 0; }
.poster-player[data-template="starlight"].is-starlight-switching:not(.is-overview) .poster-card.is-selected .poster-card-image::after { animation: poster-starlight-sweep 1.05s ease-in-out; }
.poster-player[data-template="starlight"].is-starlight-switching:not(.is-overview) .poster-card.is-selected .poster-card-image { animation: poster-starlight-arrive 1.05s cubic-bezier(.2,.7,.1,1); }
.poster-player[data-template="starlight"] .poster-controls { background: #101421ed; border-color: #ffffff26; color: #f2ebdf; box-shadow: 0 5px 24px #0005; }
.poster-player[data-template="starlight"] .poster-counter { color: #ded3bf; }
.poster-player[data-template="starlight"] .poster-player-empty { background: #070a14; }
.poster-player[data-template="starlight"] .poster-focus { background: #070a14fa; }
.poster-player .poster-starlight-effects { display: none; position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.poster-player[data-template="starlight"].has-starlight-effect:not(.is-overview):not(.is-focused) .poster-starlight-effects { display: block; }
.poster-player .poster-starlight-atmosphere { position: absolute; z-index: 0; inset: -20%; opacity: .8; background: radial-gradient(ellipse at 22% 40%, #a9692d38, transparent 44%), radial-gradient(ellipse at 74% 47%, #193c893e, transparent 48%), radial-gradient(ellipse at 48% 88%, #bfa58318, transparent 36%); animation: poster-starlight-breathe 12s ease-in-out infinite alternate; }
.poster-player[data-template="starlight"].has-ambient .poster-starlight-atmosphere { background: radial-gradient(ellipse at 22% 40%, #a9692d30, transparent 44%), radial-gradient(ellipse at 74% 47%, #193c893a, transparent 48%), radial-gradient(ellipse at 48% 65%, color-mix(in srgb, var(--poster-color-one) 20%, transparent), transparent 52%); }
.poster-player .poster-starlight-beam { position: absolute; z-index: 1; height: 120%; width: 46%; top: -34%; opacity: .65; filter: blur(34px); transform-origin: 50% 0; mix-blend-mode: screen; animation: poster-starlight-beam 16s ease-in-out infinite alternate; }
.poster-player .poster-starlight-beam.is-gold { left: -7%; background: radial-gradient(ellipse at 50% 12%, #f4d29638, transparent 64%); transform: rotate(-27deg); }
.poster-player .poster-starlight-beam.is-blue { right: -6%; background: radial-gradient(ellipse at 50% 12%, #789cff35, transparent 66%); transform: rotate(19deg); animation-delay: -6s; }
.poster-player .poster-starlight-orbit { position: absolute; pointer-events: none; left: 3%; top: 27%; width: 94%; height: 47%; border-radius: 50%; opacity: .8; transform: rotate(-15deg); }
.poster-player .poster-starlight-orbit::before { content: ""; position: absolute; inset: 0; padding: 1.3px; border-radius: 50%; background: conic-gradient(from 0deg, transparent 4%, #b99a5c18 15%, #f4dbaa 24%, #f2c76e66 35%, transparent 47%, #93baff 64%, #cce3ff 68%, #4a79db44 80%, transparent 92%); -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask-composite: exclude; animation: poster-starlight-orbit 10s ease-in-out infinite alternate; }
.poster-player .poster-starlight-orbit.is-back { z-index: 1; top: 17%; height: 67%; transform: rotate(-22deg); filter: drop-shadow(0 0 5px #f1d3a577); }
.poster-player .poster-starlight-orbit.is-soft { z-index: 1; top: 23%; left: -12%; width: 124%; height: 62%; transform: rotate(17deg); filter: blur(3px); opacity: .48; }
.poster-player .poster-starlight-orbit.is-soft::before { padding: 2px; animation-duration: 15s; animation-direction: alternate-reverse; }
.poster-player .poster-starlight-orbit.is-front { z-index: 3; top: 34%; left: -8%; width: 116%; height: 51%; transform: rotate(-14deg); clip-path: polygon(0 67%, 100% 67%, 100% 100%, 0 100%); filter: drop-shadow(0 0 7px #f6cb7b77); }
.poster-player .poster-starlight-orbit.is-front::before { padding: 1.5px; animation-duration: 13s; }
.poster-player .poster-starlight-particles { position: absolute; z-index: 3; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.poster-player[data-template="starlight"].is-paused *::before, .poster-player[data-template="starlight"].is-paused *::after { animation-play-state: paused !important; }
.poster-player[data-template="starlight"].is-inactive *::before, .poster-player[data-template="starlight"].is-inactive *::after, .poster-player[data-template="starlight"].is-reduced *::before, .poster-player[data-template="starlight"].is-reduced *::after { animation: none !important; transition-duration: 0s !important; }
.poster-player[data-template="starlight"].is-overview .poster-gallery { padding-top: 30px; }
.poster-player[data-template="starlight"].is-overview .poster-card-image { background: #0d1424; border: 1px solid #ffffff20; }

@keyframes poster-starlight-breathe { from { scale: 1; } to { scale: 1.08; } }
@keyframes poster-starlight-beam { from { rotate: -5deg; } to { rotate: 8deg; } }
@keyframes poster-starlight-camera { from { transform: scale(1); } to { transform: scale(1.025); } }
@keyframes poster-starlight-orbit { from { rotate: -2deg; opacity: .6; } to { rotate: 2deg; opacity: 1; } }
@keyframes poster-starlight-sweep { 0% { transform: translateX(-60%); opacity: 0; } 25% { opacity: .85; } 100% { transform: translateX(65%); opacity: 0; } }
@keyframes poster-starlight-arrive { 0% { transform: translateX(12px) scale(.975); filter: brightness(.8); } 100% { transform: translateX(0) scale(1); filter: brightness(1); } }

/* Wall: sequential reveals, alternating visual weight, native scrolling. */
.poster-player[data-template="wall"] { --poster-paper: #faf9f6; --poster-ink: #272722; --poster-muted: #797a70; }
.poster-player[data-template="wall"] .poster-heading { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 12px 40px; padding-bottom: 10px; }
.poster-player[data-template="wall"] .poster-meta { grid-column: 1 / -1; }
.poster-player[data-template="wall"] .poster-title { margin: 0; font-size: clamp(34px, 5.5cqw, 76px); }
.poster-player[data-template="wall"] .poster-subtitle { margin: 0; justify-self: end; max-width: 350px; }
.poster-player[data-template="wall"] .poster-gallery { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: start; gap: 32px 22px; }
.poster-player[data-template="wall"] .poster-card { opacity: 0; transform: translateY(35px) scale(.965); transition: opacity .8s, transform .9s cubic-bezier(.2,.75,.2,1); transition-delay: var(--reveal-delay); }
.poster-player[data-template="wall"] .poster-card.is-visible { opacity: 1; transform: none; }
.poster-player[data-template="wall"] .poster-card:nth-child(7n + 1) { grid-column: span 2; grid-row: span 2; }
.poster-player[data-template="wall"] .poster-card:nth-child(7n + 1) .poster-card-image { aspect-ratio: 4 / 5.35; }
.poster-player[data-template="wall"] .poster-card:nth-child(7n + 4) { grid-column: span 2; }
.poster-player[data-template="wall"] .poster-card:nth-child(7n + 4) .poster-card-image { aspect-ratio: 2 / 1; }
.poster-player[data-template="wall"] .poster-card-image img { transition: opacity .6s, transform .8s; }
.poster-player[data-template="wall"] .poster-card:hover img { transform: scale(1.035); }
.poster-player.is-overview:not([data-template="magnetic"]):not([data-template="wall"]) .poster-gallery { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px 24px; height: auto; }
.poster-player.is-overview[data-template="polaroid"] .poster-card { transform: rotate(calc(var(--offset) * 0deg + var(--scatter-angle) * .25)); }

/* Auto margins center a short staged composition without hiding overflow above
   the scroll origin when a small window cannot contain the whole album. */
.poster-player:is([data-template="editorial"], [data-template="polaroid"]):not(.is-overview) .poster-scene { display: flex; flex-direction: column; }
.poster-player:is([data-template="editorial"], [data-template="polaroid"]):not(.is-overview) .poster-heading { flex: 0 0 auto; width: 100%; margin-top: auto; }
.poster-player:is([data-template="editorial"], [data-template="polaroid"]):not(.is-overview) .poster-gallery { flex: 0 0 auto; width: 100%; margin-bottom: auto; }

.poster-player .poster-focus { position: absolute; z-index: 10; inset: 0; background: #171916f5; color: #eeeee7; padding: max(24px, env(safe-area-inset-top, 0px)) 60px calc(88px + env(safe-area-inset-bottom, 0px)); display: flex; flex-direction: column; align-items: center; }
.poster-player .poster-focus-close { position: absolute; z-index: 2; top: max(12px, env(safe-area-inset-top, 0px)); right: max(12px, env(safe-area-inset-right, 0px)); }
.poster-player .poster-focus-frame { display: flex; position: relative; align-items: center; justify-content: center; width: 100%; flex: 1; min-height: 0; }
.poster-player .poster-focus-image { display: block; width: 100%; height: 100%; object-fit: contain; opacity: 0; }
.poster-player .poster-focus-image.is-loaded { opacity: 1; }
.poster-player .poster-focus-caption { flex: 0 0 auto; margin: 16px 0 0; max-width: 100%; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 12px; color: #a8ada3; }
.poster-player .poster-focus-caption:empty { display: none; }
.poster-player .poster-focus-status { position: absolute; inset: 45% 0 auto; text-align: center; color: #c0c6ba; font-size: 13px; }
.poster-player .poster-retry { position: absolute; top: calc(45% + 34px); border: 1px solid #ffffff40; border-radius: 5px; background: #ffffff0d; color: #fff; padding: 8px 14px; }
.poster-player.is-focused .poster-gallery { pointer-events: none; }
.poster-player.is-focused[data-template="magnetic"] .poster-card { opacity: .2; transform: translateY(calc(var(--scatter-y) * 4)) scale(.86); }
.poster-player:fullscreen { width: 100vw; height: 100dvh; }
.poster-player.is-inactive *, .poster-player.is-paused * { animation-play-state: paused !important; }
.poster-player.is-reduced *, .poster-player.is-inactive * { transition-duration: 0s !important; animation: none !important; scroll-behavior: auto !important; }
.poster-player.is-reduced .poster-controls, .poster-player.is-inactive .poster-controls { transition: none; }

@container (max-width: 760px) {
  .poster-player .poster-heading { padding-left: 24px; padding-right: 24px; }
  .poster-player[data-template="magnetic"] .poster-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px 20px; padding: 35px 24px 65px; }
  .poster-player[data-template="magnetic"] .poster-card:nth-child(n) { margin-top: 0; }
  .poster-player[data-template="magnetic"] .poster-card:nth-child(3n + 2) { margin-top: 45px; }
  .poster-player[data-template="starlight"]:not(.is-overview) .poster-card { width: 78%; }
  .poster-player.is-overview:not([data-template="magnetic"]):not([data-template="wall"]) .poster-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@container (max-width: 520px) {
  .poster-player .poster-heading { padding: 30px 22px 0; }
  .poster-player .poster-meta { font-size: 10px; }
  .poster-player .poster-title { font-size: clamp(32px, 10cqw, 50px); }
  .poster-player .poster-subtitle { margin-top: 14px; font-size: 12px; }
  .poster-player .poster-gallery { padding: 28px 20px; }
  .poster-player .poster-control { width: 44px; height: 44px; flex-basis: 44px; }
  .poster-player .poster-controls { gap: 0; padding: 3px; }
  .poster-player .poster-counter { min-width: 52px; padding: 0 4px; font-size: 9px; }
  .poster-player .poster-focus { padding: 58px 12px calc(90px + env(safe-area-inset-bottom, 0px)); }
  .poster-player[data-template="editorial"]:not(.is-overview) .poster-gallery { height: 330px; margin-top: 30px; }
  .poster-player[data-template="editorial"]:not(.is-overview) .poster-card { width: 57cqw; transform: translateX(calc(-50% + var(--offset) * 59%)) translateY(calc(var(--distance) * 18px)) rotate(calc(var(--offset) * 7deg)); }
  .poster-player[data-template="editorial"] .poster-heading { padding-top: 38px; }
  .poster-player[data-template="magnetic"] .poster-heading { margin: 0 22px; padding: 28px 0 22px; }
  .poster-player[data-template="magnetic"] .poster-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 20px; padding: 30px 22px 50px; }
  .poster-player[data-template="magnetic"] .poster-card:nth-child(n) { margin-top: 0; }
  .poster-player[data-template="magnetic"] .poster-card:nth-child(even) { margin-top: 45px; }
  .poster-player[data-template="polaroid"]:not(.is-overview) .poster-gallery { height: 350px; margin-top: 36px; }
  .poster-player[data-template="polaroid"]:not(.is-overview) .poster-card { width: 64cqw; max-width: 290px; }
  .poster-player[data-template="starlight"]:not(.is-overview) .poster-gallery { --poster-starlight-photo-height: clamp(240px, min(94cqw, calc(100cqh - 290px)), 390px); }
  .poster-player[data-template="starlight"] .poster-heading { padding: 30px 7% 0; }
  .poster-player[data-template="starlight"] .poster-title { font-size: clamp(32px, 9cqw, 46px); }
  .poster-player[data-template="starlight"]:not(.is-overview) .poster-gallery { margin-top: 25px; }
  .poster-player[data-template="starlight"]:not(.is-overview) .poster-card { width: 82%; transform: translateX(calc(-50% + var(--offset) * 83%)) translateY(calc(var(--distance) * 24px)) rotateY(calc(var(--offset) * -18deg)) rotateZ(calc(var(--offset) * 2deg)) scale(calc(1 - var(--distance) * .12)); }
  .poster-player[data-template="starlight"] .poster-starlight-orbit.is-back { top: 19%; left: -16%; width: 132%; height: 67%; }
  .poster-player[data-template="starlight"] .poster-starlight-orbit.is-front { top: 42%; left: -24%; width: 148%; height: 38%; }
  .poster-player[data-template="starlight"] .poster-starlight-beam { width: 70%; }
  .poster-player[data-template="wall"] .poster-heading { display: block; }
  .poster-player[data-template="wall"] .poster-title { margin-top: 12px; }
  .poster-player[data-template="wall"] .poster-subtitle { max-width: none; }
  .poster-player[data-template="wall"] .poster-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 14px; }
  .poster-player[data-template="wall"] .poster-card:nth-child(n) { grid-column: auto; grid-row: auto; }
  .poster-player[data-template="wall"] .poster-card:nth-child(5n + 1) { grid-column: span 2; }
  .poster-player[data-template="wall"] .poster-card:nth-child(n) .poster-card-image { aspect-ratio: 4 / 5; }
  .poster-player[data-template="wall"] .poster-card:nth-child(5n + 1) .poster-card-image { aspect-ratio: 5 / 4; }
  .poster-player.is-overview:not([data-template="magnetic"]):not([data-template="wall"]) .poster-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 16px; }
  .poster-player.is-overview[data-template="polaroid"] .poster-card { padding: 8px 8px 13px; }
  .poster-player.is-overview[data-template="polaroid"] .poster-card-caption { margin-top: 12px; }
}
.poster-player.is-short .poster-heading { padding-top: 22px; }
.poster-player.is-short .poster-title { font-size: clamp(28px, 5cqw, 60px); }
.poster-player.is-short .poster-focus { padding-top: 18px; padding-bottom: 76px; }
.poster-player[data-template="starlight"].is-short:not(.is-overview) .poster-gallery { --poster-starlight-photo-height: clamp(150px, min(30cqw, calc(100cqh - 230px)), 270px); }
.poster-player[data-template="starlight"].is-short .poster-heading { padding-top: 22px; }
.poster-player[data-template="starlight"].is-short .poster-title { font-size: clamp(28px, 4cqw, 46px); }
.poster-player[data-template="starlight"].is-short:not(.is-overview) .poster-gallery { margin-top: 20px; }
@media (prefers-reduced-motion: reduce) {
  .poster-player *, .poster-player *::before, .poster-player *::after { transition-duration: 0s !important; animation: none !important; scroll-behavior: auto !important; }
  .poster-player .poster-controls { transition: none; }
}

/* Gilded: a warm photographic spotlight, with black-gold voile around the stage. */
.poster-player[data-template="gilded"] {
  --poster-paper: #120d0a;
  --poster-ink: #f2debf;
  --poster-muted: #c4ae90;
  --poster-gilded-gallery-height: clamp(210px, calc(var(--poster-stage-height, 680px) - 222px), 540px);
  container-type: size;
  container-name: poster-gilded;
  color-scheme: dark;
}
.poster-player[data-template="gilded"] .poster-scene { z-index: 3; }
.poster-player[data-template="gilded"] .poster-heading { padding: clamp(26px, 3.5cqw, 42px) 5% 0; }
.poster-player[data-template="gilded"] .poster-title {
  margin-top: 10px;
  font-size: clamp(30px, 3.7cqw, 48px);
  line-height: 1.2;
  letter-spacing: .1em;
}
.poster-player[data-template="gilded"] .poster-meta { color: #c8b292; letter-spacing: .16em; }
.poster-player[data-template="gilded"] .poster-subtitle { margin-top: 12px; max-width: 720px; color: #c4ae90; }
.poster-player[data-template="gilded"]:not(.is-overview) .poster-scene { display: flex; flex-direction: column; }
.poster-player[data-template="gilded"]:not(.is-overview) .poster-heading { flex: 0 0 auto; width: 100%; margin-top: auto; }
.poster-player[data-template="gilded"]:not(.is-overview) .poster-gallery {
  flex: 0 0 auto;
  width: 100%;
  height: var(--poster-gilded-gallery-height);
  margin: 22px auto auto;
  padding: 0;
  perspective: 1400px;
  container-type: size;
  container-name: poster-gilded-gallery;
}
.poster-player[data-template="gilded"]:not(.is-overview) .poster-card {
  position: absolute;
  left: calc(50% + var(--offset) * 27%);
  top: 50%;
  width: min(58cqw, calc((100cqh - 30px) * var(--photo-ratio, .6667)));
  height: auto;
  z-index: var(--layer);
  transform: translate(-50%, -50%) translateY(calc(var(--distance) * 20px)) rotateY(calc(var(--offset) * -12deg)) rotateZ(calc(var(--offset) * 7deg)) scale(calc(1 - var(--distance) * .24));
  filter: brightness(calc(1 - var(--distance) * .12));
  opacity: calc(1 - var(--distance) * .27);
  transition: left 900ms cubic-bezier(.2,.75,.15,1), width 900ms cubic-bezier(.2,.75,.15,1), transform 900ms cubic-bezier(.2,.75,.15,1), filter 700ms, opacity 700ms;
}
.poster-player[data-template="gilded"]:not(.is-overview) .poster-card.is-selected { filter: none; opacity: 1; }
.poster-player[data-template="gilded"]:not(.is-overview) .poster-card:not(.is-selected):hover { filter: none; opacity: .92; }
.poster-player[data-template="gilded"] .poster-card-image {
  aspect-ratio: var(--photo-ratio, 2 / 3);
  background: #20150e;
  border: 1px solid #f5d8b947;
  box-shadow: 0 25px 72px #0009, 0 0 36px #cfa86b13;
}
.poster-player[data-template="gilded"]:not(.is-overview) .poster-card-image img { object-fit: contain; }
.poster-player[data-template="gilded"] .poster-card-caption { color: #cbb595; font-size: 11px; }
.poster-player[data-template="gilded"]:not(.is-overview) .poster-card-caption { margin-top: 10px; }
.poster-player[data-template="gilded"]:not(.is-overview) .poster-card:not(.is-selected) .poster-card-caption { display: none; }
.poster-player[data-template="gilded"].is-wedding-switching:not(.is-overview) .poster-card.is-selected .poster-card-image { animation: poster-gilded-arrive 1s cubic-bezier(.2,.8,.15,1); }
.poster-player[data-template="gilded"] .poster-controls { border-color: #dfbf8f35; background: #21170fee; color: #e9d5b9; box-shadow: 0 6px 22px #0005; }
.poster-player[data-template="gilded"] .poster-counter { color: #d6c2a7; }
.poster-player[data-template="gilded"] .poster-player-empty { background: #120d0a; }
.poster-player[data-template="gilded"] .poster-focus { background: #120d0afa; color: #f2debf; }
.poster-player[data-template="gilded"] .poster-focus-caption { color: #c4ae90; }
.poster-player[data-template="gilded"].is-overview .poster-gallery { padding-top: 28px; }
.poster-player[data-template="gilded"].is-overview .poster-card-image { box-shadow: 0 12px 28px #0006; }

/* Leave the surface out of its own stacking context so veil and dust can sit
   on opposite sides of the shared scene, without intercepting any input. */
.poster-player .poster-gilded-effects { display: none; position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.poster-player[data-template="gilded"]:not(.is-overview):not(.is-focused) .poster-gilded-effects { display: block; }
.poster-player[data-template="gilded"] .poster-gilded-spotlight {
  position: absolute;
  z-index: 0;
  width: 95%;
  height: 105%;
  left: 2.5%;
  top: -32%;
  border-radius: 50%;
  background: radial-gradient(ellipse at 50% 45%, #f0c28b66 0%, #c4936060 16%, #81593645 35%, #4b312023 53%, transparent 69%);
  opacity: .95;
  filter: blur(18px);
  animation: poster-gilded-light 8s ease-in-out infinite alternate;
}
.poster-player[data-template="gilded"] .poster-gilded-side-light { position: absolute; z-index: 1; inset: 0; background: radial-gradient(ellipse at 85% 85%, #b7823621, transparent 50%), radial-gradient(ellipse at 0% 75%, #e9b57a1b, transparent 45%); }
.poster-player[data-template="gilded"] .poster-gilded-floor { position: absolute; z-index: 1; left: -20%; bottom: -37%; width: 140%; height: 71%; border-radius: 50%; background: radial-gradient(ellipse at 50% 0, #a478442f, transparent 62%); border-top: 1px solid #c99b5c12; transform: rotate(-4deg); }
.poster-player[data-template="gilded"] .poster-gilded-veil { position: absolute; z-index: 2; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.poster-player[data-template="gilded"] .poster-gilded-dust { position: absolute; z-index: 4; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.poster-player[data-template="gilded"].is-paused *::before,
.poster-player[data-template="gilded"].is-paused *::after { animation-play-state: paused !important; }
.poster-player[data-template="gilded"].is-inactive *::before,
.poster-player[data-template="gilded"].is-inactive *::after,
.poster-player[data-template="gilded"].is-reduced *::before,
.poster-player[data-template="gilded"].is-reduced *::after { animation: none !important; transition-duration: 0s !important; }

@container poster-gilded (max-width: 650px) {
  .poster-player[data-template="gilded"] .poster-heading { padding: 28px 7% 0; }
  .poster-player[data-template="gilded"] .poster-title { font-size: clamp(28px, 8cqw, 40px); letter-spacing: .08em; }
  .poster-player[data-template="gilded"]:not(.is-overview) .poster-gallery { --poster-gilded-gallery-height: clamp(230px, calc(var(--poster-stage-height, 650px) - 220px), 470px); margin-top: 22px; }
  .poster-player[data-template="gilded"]:not(.is-overview) .poster-card { left: calc(50% + var(--offset) * 55%); width: min(84cqw, calc((100cqh - 28px) * var(--photo-ratio, .6667))); transform: translate(-50%, -50%) translateY(calc(var(--distance) * 16px)) rotateY(calc(var(--offset) * -10deg)) rotateZ(calc(var(--offset) * 7deg)) scale(calc(1 - var(--distance) * .24)); }
  .poster-player[data-template="gilded"] .poster-gilded-spotlight { width: 180%; height: 100%; left: -40%; top: -18%; }
}
.poster-player[data-template="gilded"].is-short .poster-heading { padding-top: 20px; }
.poster-player[data-template="gilded"].is-short .poster-title { font-size: clamp(26px, 3.7cqw, 38px); }
.poster-player[data-template="gilded"].is-short:not(.is-overview) .poster-gallery { --poster-gilded-gallery-height: clamp(155px, calc(var(--poster-stage-height, 420px) - 190px), 320px); margin-top: 16px; }
@keyframes poster-gilded-light { from { transform: translate(-1%, 0) scale(.97); } to { transform: translate(1%, 2%) scale(1.04); } }
@keyframes poster-gilded-arrive { from { opacity: .3; translate: 0 18px; scale: .965; } to { opacity: 1; translate: 0 0; scale: 1; } }

/* Bloom: pearl light, photographic archways, and petals with depth. */
.poster-player[data-template="bloom"] {
  --poster-paper: #f0edf1;
  --poster-ink: #665c66;
  --poster-muted: #827587;
  color-scheme: light;
}
.poster-player[data-template="bloom"] .poster-scene { z-index: 2; }
.poster-player[data-template="bloom"] .poster-heading { padding: clamp(24px, 3.8cqw, 46px) 5.5% 0; }
.poster-player[data-template="bloom"] .poster-title { margin-top: 10px; font-size: clamp(32px, 4.3cqw, 58px); line-height: 1.25; letter-spacing: .1em; }
.poster-player[data-template="bloom"] .poster-meta { letter-spacing: .16em; }
.poster-player[data-template="bloom"] .poster-subtitle { max-width: 740px; margin-top: 12px; color: var(--poster-muted); }
.poster-player[data-template="bloom"]:not(.is-overview) .poster-scene { display: flex; flex-direction: column; }
.poster-player[data-template="bloom"]:not(.is-overview) .poster-heading { flex: 0 0 auto; width: 100%; }
.poster-player[data-template="bloom"]:not(.is-overview) .poster-gallery {
  --poster-bloom-frame-height: min(520px, calc(100cqh - 42px));
  container-type: size;
  container-name: poster-bloom-gallery;
  flex: 1 0 260px;
  min-height: min(260px, calc(var(--poster-stage-height, 640px) * .58));
  width: 100%; max-width: 1500px; margin: 18px auto 0; padding: 0;
  perspective: 1400px;
}
.poster-player[data-template="bloom"]:not(.is-overview) .poster-card {
  position: absolute; left: 50%; top: 50%;
  width: min(72cqw, calc(var(--poster-bloom-frame-height) * var(--photo-ratio, .666667)));
  z-index: calc(20 + var(--layer));
  transform: translateX(calc(-50% + var(--offset) * 30cqw)) translateY(calc(-50% + var(--distance) * 18px)) rotateY(calc(var(--offset) * -10deg)) rotateZ(calc(var(--offset) * 3deg)) scale(calc(1 - var(--distance) * .19));
  opacity: calc(1 - var(--distance) * .13);
  filter: saturate(calc(1 - var(--distance) * .09));
  transition: transform 950ms cubic-bezier(.2,.75,.15,1), width 950ms cubic-bezier(.2,.75,.15,1), opacity 650ms, filter 650ms;
}
.poster-player[data-template="bloom"]:not(.is-overview) .poster-card.is-selected { z-index: 40; opacity: 1; filter: none; }
.poster-player[data-template="bloom"]:not(.is-overview) .poster-card-image {
  width: 100%; height: auto; aspect-ratio: var(--photo-ratio, 2 / 3);
  border: 4px solid #fffaff;
  border-radius: 47% 47% 2px 2px / 31% 31% 2px 2px;
  background: #ece6ee;
  box-shadow: 0 0 0 1px #c8b8ca66, 0 20px 42px #77637a20;
}
.poster-player[data-template="bloom"]:not(.is-overview) .poster-card.is-landscape .poster-card-image { border-radius: 24% 24% 2px 2px / 16% 16% 2px 2px; }
.poster-player[data-template="bloom"][data-fit="contain"]:not(.is-overview) .poster-card-image img { object-fit: contain; padding: 22% 5% 4%; }
.poster-player[data-template="bloom"][data-fit="contain"]:not(.is-overview) .poster-card.is-landscape .poster-card-image img { padding-top: 12%; }
.poster-player[data-template="bloom"]:not(.is-overview) .poster-card-caption { margin-top: 12px; color: var(--poster-muted); opacity: 0; }
.poster-player[data-template="bloom"]:not(.is-overview) .poster-card.is-selected .poster-card-caption { opacity: 1; }
.poster-player[data-template="bloom"]:not(.is-overview) .poster-card-image::after {
  content: ""; position: absolute; z-index: 1; inset: -5% -120%; pointer-events: none;
  background: linear-gradient(105deg, transparent 35%, #fffaff00 43%, #fffcffdb 51%, #fffaff00 59%, transparent 65%);
  opacity: 0; transform: translateX(-50%);
}
.poster-player[data-template="bloom"].is-wedding-switching:not(.is-overview) .poster-card.is-selected .poster-card-image { animation: poster-bloom-arrive 1.05s cubic-bezier(.16,.7,.2,1); }
.poster-player[data-template="bloom"].is-wedding-switching:not(.is-overview) .poster-card.is-selected .poster-card-image::after { animation: poster-bloom-reveal 1.05s ease-in-out; }
.poster-player[data-template="bloom"] .poster-controls { background: #fdfbfff2; border-color: #b8a7c14d; color: #6d5e76; box-shadow: 0 5px 20px #6c577812; }
.poster-player[data-template="bloom"] .poster-counter { color: #776a7e; }
.poster-player[data-template="bloom"] .poster-control:hover { background: #b4a0c018; }
.poster-player[data-template="bloom"] .poster-focus { background: #f5f2f7fa; color: #665c66; }
.poster-player[data-template="bloom"] .poster-focus-caption, .poster-player[data-template="bloom"] .poster-focus-status { color: #827587; }
.poster-player[data-template="bloom"] .poster-retry { color: #665c66; border-color: #a38cb24d; background: #fffaff; }
.poster-player[data-template="bloom"] .poster-player-empty { background: var(--poster-paper); }

.poster-player .poster-bloom-effects { display: none; }
.poster-player[data-template="bloom"] .poster-bloom-effects { display: contents; }
.poster-player[data-template="bloom"]:is(.is-overview, .is-focused) .poster-bloom-effects { display: none; }
.poster-player[data-template="bloom"]:has(.poster-player-empty:not([hidden])) .poster-bloom-effects { display: none; }
.poster-player[data-template="bloom"] .poster-bloom-effects > * { position: absolute; pointer-events: none; }
.poster-player[data-template="bloom"] .poster-bloom-atmosphere { z-index: 0; inset: 0; background: radial-gradient(ellipse at 50% 35%, #fffcff 0%, #faf7fb 24%, #f0edf1 67%, #e0d9e3 130%); }
.poster-player[data-template="bloom"] .poster-bloom-arch { z-index: 1; width: 40%; height: 82%; top: 6%; border: 1px solid #c9becb5c; border-radius: 50% 50% 0 0; box-shadow: 0 0 0 11px #ffffff35, inset 0 0 0 9px #fff8; }
.poster-player[data-template="bloom"] .poster-bloom-arch.is-left { left: -16%; transform: rotate(-9deg); }
.poster-player[data-template="bloom"] .poster-bloom-arch.is-right { right: -16%; transform: rotate(9deg); }
.poster-player[data-template="bloom"] .poster-bloom-window-light { z-index: 1; width: 83%; height: 145%; top: -42%; right: -23%; transform: rotate(-32deg); opacity: .44; background: linear-gradient(90deg, transparent 0%, #fffcffdd 18%, #fffcff00 23%, #fffcfff0 38%, #fffcff00 43%, #fffcffd0 58%, transparent 69%); filter: blur(16px); animation: poster-bloom-window 14s ease-in-out infinite alternate; }
.poster-player[data-template="bloom"] .poster-bloom-petals { inset: 0; width: 100%; height: 100%; }
.poster-player[data-template="bloom"] .poster-bloom-petals.is-back { z-index: 1; }
.poster-player[data-template="bloom"] .poster-bloom-petals.is-front { z-index: 3; }
.poster-player[data-template="bloom"] .poster-bloom-flower { z-index: 1; width: 370px; height: 370px; filter: blur(.8px); animation: poster-bloom-flower 17s ease-in-out infinite alternate; }
.poster-player[data-template="bloom"] .poster-bloom-flower.is-left { bottom: -183px; left: -155px; transform: rotate(-24deg); }
.poster-player[data-template="bloom"] .poster-bloom-flower.is-right { top: -200px; right: -172px; transform: rotate(21deg) scale(.85); opacity: .75; }
.poster-player[data-template="bloom"] .poster-bloom-flower span { position: absolute; width: 112px; height: 206px; left: 129px; bottom: 50%; transform-origin: 50% 100%; transform: rotate(calc(var(--petal-index) * 51.4deg)) translateY(-6px); border-radius: 55% 45% 42% 55%; background: radial-gradient(ellipse at 41% 23%, #fff 0%, #fffcff 34%, #efebf2 70%, #d6cbdc 130%); box-shadow: inset 2px 0 9px #cfc2d42b, 2px 7px 15px #9984a421; }
.poster-player[data-template="bloom"] .poster-bloom-silk { z-index: 3; width: 63%; height: 35%; bottom: -12%; opacity: .55; border-radius: 50%; background: linear-gradient(174deg, #ffffff00 17%, #fffcff5c 34%, #ffffffb3 40%, #fffcff12 45%, #fffcff70 53%, #ffffff05 59%, #f1e8f538 65%, transparent 75%); filter: blur(2px); transform-origin: 50% 80%; animation: poster-bloom-silk 11s ease-in-out infinite alternate; }
.poster-player[data-template="bloom"] .poster-bloom-silk.is-left { left: -20%; transform: rotate(18deg); }
.poster-player[data-template="bloom"] .poster-bloom-silk.is-right { right: -19%; bottom: -13%; transform: rotate(-21deg); animation-delay: -4s; }
.poster-player[data-template="bloom"]:is(.is-paused, .is-inactive, .is-focused) *::before,
.poster-player[data-template="bloom"]:is(.is-paused, .is-inactive, .is-focused) *::after { animation-play-state: paused !important; }
.poster-player[data-template="bloom"].is-reduced *::before,
.poster-player[data-template="bloom"].is-reduced *::after { animation: none !important; transition-duration: 0s !important; }

.poster-player[data-template="bloom"].is-overview .poster-gallery { margin-top: 0; padding-top: 30px; }
.poster-player[data-template="bloom"].is-overview .poster-card { transform: none; filter: none; opacity: 1; }
.poster-player[data-template="bloom"].is-overview .poster-card-image { border: 3px solid #fffaff; border-radius: 15% 15% 2px 2px / 10% 10% 2px 2px; aspect-ratio: 4 / 5; background: #ece6ee; box-shadow: 0 0 0 1px #c8b8ca44, 0 10px 24px #77637a14; }
.poster-player[data-template="bloom"].is-overview .poster-card.is-landscape .poster-card-image { aspect-ratio: 5 / 4; }
.poster-player[data-template="bloom"][data-fit="contain"].is-overview .poster-card-image img { padding: 10% 4% 4%; }
.poster-player[data-template="bloom"].is-overview .poster-card-caption { color: var(--poster-muted); }

@container (max-width: 650px) {
  .poster-player[data-template="bloom"] .poster-heading { padding: 26px 7% 0; }
  .poster-player[data-template="bloom"] .poster-title { font-size: clamp(30px, 7cqw, 44px); }
  .poster-player[data-template="bloom"]:not(.is-overview) .poster-gallery { margin-top: 16px; }
  .poster-player[data-template="bloom"]:not(.is-overview) .poster-card { width: min(76cqw, calc(var(--poster-bloom-frame-height) * var(--photo-ratio, .666667))); transform: translateX(calc(-50% + var(--offset) * 36cqw)) translateY(calc(-50% + var(--distance) * 14px)) rotateY(calc(var(--offset) * -10deg)) rotateZ(calc(var(--offset) * 3deg)) scale(calc(1 - var(--distance) * .2)); }
  .poster-player[data-template="bloom"]:not(.is-overview) .poster-card-image { border-width: 3px; }
  .poster-player[data-template="bloom"] .poster-bloom-flower.is-left { bottom: -183px; left: -224px; }
  .poster-player[data-template="bloom"] .poster-bloom-flower.is-right { top: -237px; right: -255px; }
  .poster-player[data-template="bloom"] .poster-bloom-arch.is-left { left: -35%; width: 70%; }
  .poster-player[data-template="bloom"] .poster-bloom-arch.is-right { right: -35%; width: 70%; }
  .poster-player[data-template="bloom"] .poster-bloom-silk { width: 88%; height: 28%; bottom: -8%; }
  .poster-player[data-template="bloom"] .poster-bloom-silk.is-left { left: -29%; }
  .poster-player[data-template="bloom"] .poster-bloom-silk.is-right { right: -27%; }
}
.poster-player[data-template="bloom"].is-short .poster-heading { padding-top: 18px; }
.poster-player[data-template="bloom"].is-short .poster-title { margin-top: 8px; font-size: clamp(27px, 4cqw, 42px); }
.poster-player[data-template="bloom"].is-short .poster-subtitle { margin-top: 10px; }
.poster-player[data-template="bloom"].is-short:not(.is-overview) .poster-gallery { flex-basis: 160px; min-height: 160px; margin-top: 10px; --poster-bloom-frame-height: min(310px, calc(100cqh - 32px)); }
.poster-player[data-template="bloom"].is-short .poster-bloom-flower { scale: .72; }
@media (prefers-reduced-motion: reduce) {
  .poster-player[data-template="bloom"] *::before,
  .poster-player[data-template="bloom"] *::after { animation: none !important; transition-duration: 0s !important; }
}
@keyframes poster-bloom-window { from { translate: 0 0; } to { translate: -3% 2%; } }
@keyframes poster-bloom-flower { from { rotate: -2deg; scale: .98; } to { rotate: 4deg; scale: 1.025; } }
@keyframes poster-bloom-silk { from { translate: 0 0; } to { translate: 5% -9%; rotate: 3deg; } }
@keyframes poster-bloom-reveal { 0% { opacity: 0; transform: translateX(-30%); } 30% { opacity: .95; } 100% { opacity: 0; transform: translateX(55%); } }
@keyframes poster-bloom-arrive { from { transform: translateY(7px) scale(1.025); opacity: .68; } to { transform: translateY(0) scale(1); opacity: 1; } }

/* Autumn: an asymmetric photographic spread, with linen, sunset, and wind. */
.poster-player[data-template="autumn"] {
  --poster-paper: #e8dccb;
  --poster-ink: #4a3324;
  --poster-muted: #806449;
  --poster-autumn-gallery-height: clamp(220px, calc(var(--poster-stage-height, 680px) - 222px), 540px);
  container-type: size;
  container-name: poster-autumn;
  color-scheme: light;
}
.poster-player[data-template="autumn"] .poster-scene { z-index: 3; }
.poster-player[data-template="autumn"] .poster-heading { padding: clamp(26px, 3.6cqw, 40px) 6.5% 0; }
.poster-player[data-template="autumn"] .poster-title { margin-top: 10px; color: #523925; font-size: clamp(30px, 3.7cqw, 48px); line-height: 1.2; letter-spacing: .1em; }
.poster-player[data-template="autumn"] .poster-meta { color: #81664a; letter-spacing: .16em; }
.poster-player[data-template="autumn"] .poster-subtitle { max-width: 720px; margin-top: 12px; color: #806449; }
.poster-player[data-template="autumn"]:not(.is-overview) .poster-scene { display: flex; flex-direction: column; }
.poster-player[data-template="autumn"]:not(.is-overview) .poster-heading { flex: 0 0 auto; width: 100%; margin-top: auto; }
.poster-player[data-template="autumn"]:not(.is-overview) .poster-gallery {
  flex: 0 0 auto;
  width: 100%;
  height: var(--poster-autumn-gallery-height);
  margin: 22px auto auto;
  padding: 0;
  container-type: size;
  container-name: poster-autumn-gallery;
}
.poster-player[data-template="autumn"]:not(.is-overview) .poster-card {
  position: absolute;
  z-index: 1;
  left: 85.5%;
  top: 31%;
  width: min(18cqw, calc(58cqh * var(--photo-ratio, .6667)));
  height: auto;
  transform: translateX(-50%) rotate(4deg);
  transition: left 900ms cubic-bezier(.2,.75,.2,1), top 900ms cubic-bezier(.2,.75,.2,1), width 900ms cubic-bezier(.2,.75,.2,1), transform 900ms cubic-bezier(.2,.75,.2,1);
}
.poster-player[data-template="autumn"]:not(.is-overview) .poster-card.is-selected {
  z-index: 2;
  left: 40.5%;
  top: 50%;
  width: min(70cqw, calc(100cqh * var(--photo-ratio, 1.5)));
  transform: translate(-50%, -50%);
}
.poster-player[data-template="autumn"] .poster-card-image { aspect-ratio: var(--photo-ratio, 4 / 5); background: #e0c9ae; border: 3px solid #f4ebdc; box-shadow: 0 16px 38px #57381d29, 0 2px 5px #57381d1a; }
.poster-player[data-template="autumn"]:not(.is-overview) .poster-card-image img { object-fit: contain; }
.poster-player[data-template="autumn"]:not(.is-overview) .poster-card:not(.is-selected) .poster-card-image { border: 6px solid #f7efe3; background: #d5c1a9; box-shadow: 0 12px 27px #5c3a1c26; }
.poster-player[data-template="autumn"]:not(.is-overview) .poster-card:not(.is-selected):hover .poster-card-image { box-shadow: 0 15px 30px #5c3a1c38; }
.poster-player[data-template="autumn"] .poster-card-caption { color: #806449; font-size: 11px; }
.poster-player[data-template="autumn"]:not(.is-overview) .poster-card-caption { display: none; }
.poster-player[data-template="autumn"][data-count="1"]:not(.is-overview) .poster-card.is-selected { left: 50%; top: 50%; width: min(88cqw, calc(100cqh * var(--photo-ratio, 1.5))); transform: translate(-50%, -50%); }
.poster-player[data-template="autumn"]:not(.is-overview) .poster-card.is-selected .poster-card-image::after { content: ""; position: absolute; z-index: 1; pointer-events: none; inset: -20% -80%; background: linear-gradient(105deg, transparent 40%, #fff1d632 48%, #edbf7b20 53%, transparent 63%); transform: translateX(-65%); opacity: 0; }
.poster-player[data-template="autumn"].is-outdoor-switching:not(.is-overview) .poster-card.is-selected .poster-card-image { animation: poster-autumn-arrive .95s cubic-bezier(.2,.75,.2,1); }
.poster-player[data-template="autumn"].is-outdoor-switching:not(.is-overview) .poster-card.is-selected .poster-card-image::after { animation: poster-autumn-curtain 1.05s ease-in-out; }
.poster-player[data-template="autumn"] .poster-controls { border-color: #d7bf9966; background: #493324f2; color: #f6ead8; box-shadow: 0 6px 20px #65452a24; }
.poster-player[data-template="autumn"] .poster-counter { color: #e9d5b9; }
.poster-player[data-template="autumn"] .poster-player-empty { background: #e8dccb; }
.poster-player[data-template="autumn"] .poster-focus { background: #241b15fa; color: #f1e1cc; }
.poster-player[data-template="autumn"] .poster-focus-caption { color: #d7c0a3; }
.poster-player[data-template="autumn"].is-overview .poster-gallery { padding-top: 28px; }
.poster-player[data-template="autumn"].is-overview .poster-card-image { border-width: 2px; box-shadow: 0 10px 24px #57381d21; }

/* Keep the effect surface free of a stacking context: grass is behind the
   shared scene, while leaves may pass through the unoccupied foreground. */
.poster-player .poster-autumn-effects { display: none; position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.poster-player[data-template="autumn"]:not(.is-overview):not(.is-focused) .poster-autumn-effects { display: block; }
.poster-player[data-template="autumn"] .poster-autumn-sun { position: absolute; z-index: 0; inset: -30%; background: radial-gradient(ellipse at 15% 5%, #ffe7b7c9, transparent 43%), radial-gradient(ellipse at 95% 80%, #b76a352e, transparent 50%); animation: poster-autumn-sunset 11s ease-in-out infinite alternate; }
.poster-player[data-template="autumn"] .poster-autumn-texture { position: absolute; z-index: 0; inset: 0; opacity: .2; background: repeating-linear-gradient(0deg, #805e3c0b 0 1px, transparent 1px 4px), repeating-linear-gradient(90deg, #9a7a5b0a 0 1px, transparent 1px 5px); }
.poster-player[data-template="autumn"] .poster-autumn-haze { position: absolute; z-index: 1; width: 100%; height: 60%; top: -28%; left: -35%; background: linear-gradient(115deg, transparent 35%, #fff1d966 48%, #fff1d930 51%, transparent 67%); filter: blur(28px); rotate: -15deg; animation: poster-autumn-haze 14s ease-in-out infinite alternate; }
.poster-player[data-template="autumn"] .poster-autumn-grass { position: absolute; z-index: 2; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.poster-player[data-template="autumn"] .poster-autumn-leaves { position: absolute; z-index: 4; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.poster-player[data-template="autumn"].is-paused *::before,
.poster-player[data-template="autumn"].is-paused *::after { animation-play-state: paused !important; }
.poster-player[data-template="autumn"].is-inactive *::before,
.poster-player[data-template="autumn"].is-inactive *::after,
.poster-player[data-template="autumn"].is-reduced *::before,
.poster-player[data-template="autumn"].is-reduced *::after { animation: none !important; transition-duration: 0s !important; }

@container poster-autumn (max-width: 650px) {
  .poster-player[data-template="autumn"] .poster-heading { padding: 28px 7% 0; }
  .poster-player[data-template="autumn"] .poster-title { font-size: clamp(28px, 7.8cqw, 40px); letter-spacing: .08em; }
  .poster-player[data-template="autumn"]:not(.is-overview) .poster-gallery { --poster-autumn-gallery-height: clamp(250px, calc(var(--poster-stage-height, 650px) - 222px), 500px); margin-top: 22px; }
  .poster-player[data-template="autumn"]:not(.is-overview) .poster-card { left: 75%; top: 58%; width: min(34cqw, calc(50cqh * var(--photo-ratio, .6667))); }
  .poster-player[data-template="autumn"]:not(.is-overview) .poster-card:not(.is-selected) .poster-card-image { border-width: 4px; }
  .poster-player[data-template="autumn"]:not(.is-overview) .poster-card.is-selected { left: 50%; top: 0; width: min(89cqw, calc(60cqh * var(--photo-ratio, 1.5))); transform: translateX(-50%); }
  .poster-player[data-template="autumn"]:not(.is-overview) .poster-gallery:has(.poster-card.is-selected:not(.is-landscape)) .poster-card { left: 82.5%; top: 68%; width: min(21cqw, calc(30cqh * var(--photo-ratio, .6667))); }
  .poster-player[data-template="autumn"]:not(.is-overview) .poster-gallery:has(.poster-card.is-selected:not(.is-landscape)) .poster-card.is-selected { left: 37%; top: 45%; width: min(64cqw, calc(100cqh * var(--photo-ratio, .6667))); transform: translate(-50%, -50%); }
  .poster-player[data-template="autumn"][data-count="1"]:not(.is-overview) .poster-gallery:has(.poster-card.is-selected) .poster-card.is-selected { left: 50%; top: 50%; width: min(89cqw, calc(100cqh * var(--photo-ratio, 1.5))); transform: translate(-50%, -50%); }
}
.poster-player[data-template="autumn"].is-short .poster-heading { padding-top: 18px; }
.poster-player[data-template="autumn"].is-short .poster-title { font-size: clamp(26px, 3.7cqw, 38px); }
.poster-player[data-template="autumn"].is-short:not(.is-overview) .poster-gallery { --poster-autumn-gallery-height: clamp(155px, calc(var(--poster-stage-height, 420px) - 194px), 310px); margin-top: 16px; }
@container poster-autumn (max-width: 650px) {
  .poster-player[data-template="autumn"].is-short:not(.is-overview) .poster-gallery:has(.poster-card.is-selected) .poster-card:not(.is-selected) { top: 66%; width: min(21cqw, calc(30cqh * var(--photo-ratio, .6667))); }
}
@keyframes poster-autumn-sunset { from { transform: translate(-1%, 0) scale(.98); } to { transform: translate(3%, 2%) scale(1.07); } }
@keyframes poster-autumn-haze { from { translate: -3% 0; } to { translate: 10% 4%; } }
@keyframes poster-autumn-arrive { from { opacity: .5; translate: 14px 7px; scale: .98; } to { opacity: 1; translate: 0 0; scale: 1; } }
@keyframes poster-autumn-curtain { 0% { transform: translateX(-65%); opacity: 0; } 20% { opacity: .8; } 100% { transform: translateX(65%); opacity: 0; } }

/* Forest: full photographs, a deep green stage, and voile carried by the wind. */
.poster-player[data-template="forest"] {
  --poster-paper: #10241b;
  --poster-ink: #f4f6ec;
  --poster-muted: #bdccb5;
  color-scheme: dark;
}
.poster-player[data-template="forest"] .poster-scene { z-index: 3; }
.poster-player[data-template="forest"] .poster-heading { padding: clamp(26px, 3.8cqw, 46px) 7% 0; }
.poster-player[data-template="forest"] .poster-title { margin-top: 10px; font-size: clamp(30px, 3.9cqw, 48px); font-weight: 400; line-height: 1.25; letter-spacing: .1em; text-shadow: 0 3px 20px #0003; }
.poster-player[data-template="forest"] .poster-meta { color: #c1cfb9; letter-spacing: .16em; }
.poster-player[data-template="forest"] .poster-subtitle { max-width: 740px; margin-top: 12px; color: var(--poster-muted); }
.poster-player[data-template="forest"]:not(.is-overview) .poster-scene { display: flex; flex-direction: column; }
.poster-player[data-template="forest"]:not(.is-overview) .poster-heading { z-index: 5; flex: 0 0 auto; width: 100%; }
.poster-player[data-template="forest"]:not(.is-overview) .poster-gallery {
  --poster-forest-photo-height: min(600px, calc(100cqh - 12px));
  container-type: size;
  container-name: poster-forest-gallery;
  flex: 1 0 260px;
  min-height: min(260px, calc(var(--poster-stage-height, 680px) * .56));
  width: 100%; max-width: 1550px; margin: 18px auto 0; padding: 0;
  perspective: 1400px;
}
.poster-player[data-template="forest"]:not(.is-overview) .poster-card {
  position: absolute; left: 21%; top: 54%; height: auto;
  width: min(24cqw, calc(var(--poster-forest-photo-height) * var(--photo-ratio, .666667) * .54));
  z-index: calc(5 + var(--offset));
  transform: translate(-50%, -50%) translateX(calc(var(--offset) * -8px)) translateY(calc(var(--offset) * 9px)) rotateZ(calc(var(--offset) * -5deg)) scale(.98);
  opacity: .94;
  filter: brightness(calc(.85 + var(--offset) * .06));
  transition: left 950ms cubic-bezier(.2,.75,.15,1), top 950ms cubic-bezier(.2,.75,.15,1), width 950ms cubic-bezier(.2,.75,.15,1), transform 950ms cubic-bezier(.2,.75,.15,1), filter 700ms, opacity 700ms;
}
.poster-player[data-template="forest"]:not(.is-overview) .poster-card.is-selected {
  left: 66.5%; top: 50%; z-index: 30;
  width: min(53cqw, calc(var(--poster-forest-photo-height) * var(--photo-ratio, .666667)));
  transform: translate(-50%, -50%);
  opacity: 1; filter: none;
}
.poster-player[data-template="forest"][data-count="1"]:not(.is-overview) .poster-card.is-selected { left: 50%; width: min(84cqw, calc(var(--poster-forest-photo-height) * var(--photo-ratio, .666667))); }
.poster-player[data-template="forest"] .poster-card-image {
  width: 100%; height: auto; aspect-ratio: var(--photo-ratio, 2 / 3);
  border: 1px solid #e5eedd3b; border-radius: 0;
  background: #12271d;
  box-shadow: 0 22px 60px #020a065e, 0 0 0 5px #e6eddf03;
}
.poster-player[data-template="forest"]:not(.is-overview) .poster-card.is-selected .poster-card-image { box-shadow: 0 26px 66px #020a0666, 0 0 0 6px #e6eddf03; }
.poster-player[data-template="forest"]:not(.is-overview) .poster-card:not(.is-selected):hover { opacity: 1; filter: brightness(1); }
.poster-player[data-template="forest"]:not(.is-overview) .poster-card-caption { display: none; }
.poster-player[data-template="forest"].is-outdoor-switching:not(.is-overview) .poster-card.is-selected .poster-card-image { animation: poster-forest-arrive 1.1s cubic-bezier(.15,.7,.15,1); }
.poster-player[data-template="forest"] .poster-controls { border-color: #d7e4cc30; background: #14281fef; color: #e6efdf; box-shadow: 0 5px 24px #020a063b; }
.poster-player[data-template="forest"] .poster-counter { color: #c3d1bb; }
.poster-player[data-template="forest"] .poster-control:hover { background: #e7f1dc12; }
.poster-player[data-template="forest"] .poster-player-empty { background: var(--poster-paper); }
.poster-player[data-template="forest"] .poster-focus { background: #07170ffa; color: #f4f6ec; }
.poster-player[data-template="forest"] .poster-focus-caption, .poster-player[data-template="forest"] .poster-focus-status { color: #bdccb5; }
.poster-player[data-template="forest"] .poster-retry { border-color: #d7e4cc3d; background: #183022; color: #e6efdf; }

.poster-player .poster-forest-effects { display: none; }
.poster-player[data-template="forest"] .poster-forest-effects { display: contents; }
.poster-player[data-template="forest"]:is(.is-overview, .is-focused) .poster-forest-effects { display: none; }
.poster-player[data-template="forest"]:has(.poster-player-empty:not([hidden])) .poster-forest-effects { display: none; }
.poster-player[data-template="forest"] .poster-forest-effects > * { position: absolute; pointer-events: none; }
.poster-player[data-template="forest"] .poster-forest-background { z-index: 0; inset: -14%; overflow: hidden; }
.poster-player[data-template="forest"] .poster-forest-background-image { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 40%; opacity: .29; filter: blur(34px); transform: scale(1.12); }
.poster-player[data-template="forest"] .poster-forest-background-image:not([src]) { visibility: hidden; }
.poster-player[data-template="forest"] .poster-forest-atmosphere { z-index: 1; inset: 0; background: linear-gradient(100deg, #0a1a13ce 0%, #122d1f20 48%, #07120bc9 100%), radial-gradient(ellipse at 13% 1%, #b8cf9130, transparent 54%), linear-gradient(0deg, #0b1d15ee, transparent 44%); }
.poster-player[data-template="forest"] .poster-forest-atmosphere::after {
  content: ""; position: absolute; inset: -15%; pointer-events: none;
  background: radial-gradient(ellipse 68px 18px at 9% 9%, #03120999 20%, transparent 80%), radial-gradient(ellipse 52px 17px at 24% 5%, #03120988 20%, transparent 80%), radial-gradient(ellipse 80px 22px at 2% 23%, #03120999 20%, transparent 80%), radial-gradient(ellipse 62px 17px at 29% 19%, #03120966 20%, transparent 80%), radial-gradient(ellipse 48px 14px at 41% 6%, #03120988 20%, transparent 80%), radial-gradient(ellipse 69px 20px at 19% 28%, #03120966 20%, transparent 80%);
  filter: blur(7px); transform-origin: 0 0; transform: rotate(-16deg);
  animation: poster-forest-canopy 17s ease-in-out infinite alternate;
}
.poster-player[data-template="forest"] .poster-forest-canopy-light {
  z-index: 1; width: 92%; height: 138%; top: -40%; left: -18%; transform: rotate(-28deg);
  background: linear-gradient(90deg, transparent 15%, #e2ead72e 22%, #e8efdf00 28%, #d3e5ba22 36%, #cde0b200 45%, #e9eed515 55%, transparent 62%);
  -webkit-mask-image: linear-gradient(180deg, transparent, #000 20%, #000 62%, transparent);
  mask-image: linear-gradient(180deg, transparent, #000 20%, #000 62%, transparent);
  filter: blur(18px); opacity: .8;
  animation: poster-forest-light 15s ease-in-out infinite alternate;
}
.poster-player[data-template="forest"] .poster-forest-fabric { z-index: 2; inset: 0; width: 100%; height: 100%; }
.poster-player[data-template="forest"] .poster-forest-seeds { z-index: 4; inset: 0; width: 100%; height: 100%; }
.poster-player[data-template="forest"] .poster-forest-mist { z-index: 4; width: 66%; height: 31%; bottom: -14%; border-radius: 50%; background: radial-gradient(ellipse, #e8f2dc1c, transparent 66%); filter: blur(18px); animation: poster-forest-mist 18s ease-in-out infinite alternate; }
.poster-player[data-template="forest"] .poster-forest-mist.is-left { left: -27%; }
.poster-player[data-template="forest"] .poster-forest-mist.is-right { right: -30%; bottom: -16%; animation-delay: -7s; }
.poster-player[data-template="forest"]:is(.is-paused, .is-inactive, .is-focused) *::before,
.poster-player[data-template="forest"]:is(.is-paused, .is-inactive, .is-focused) *::after { animation-play-state: paused !important; }
.poster-player[data-template="forest"]:is(.is-inactive, .is-reduced) *::before,
.poster-player[data-template="forest"]:is(.is-inactive, .is-reduced) *::after { animation: none !important; transition-duration: 0s !important; }

.poster-player[data-template="forest"].is-overview .poster-gallery { margin-top: 0; padding-top: 28px; }
.poster-player[data-template="forest"].is-overview .poster-card { transform: none; opacity: 1; filter: none; }
.poster-player[data-template="forest"].is-overview .poster-card-image { box-shadow: 0 12px 28px #020a0655; }
.poster-player[data-template="forest"].is-overview .poster-card-caption { color: var(--poster-muted); }

@container (max-width: 700px) {
  .poster-player[data-template="forest"] .poster-heading { padding: 28px 7% 0; }
  .poster-player[data-template="forest"] .poster-title { font-size: clamp(28px, 7.4cqw, 42px); letter-spacing: .1em; }
  .poster-player[data-template="forest"]:not(.is-overview) .poster-gallery { margin-top: 16px; }
  .poster-player[data-template="forest"]:not(.is-overview) .poster-card { left: -9%; width: min(30cqw, calc(var(--poster-forest-photo-height) * var(--photo-ratio, .666667) * .52)); opacity: .48; }
  .poster-player[data-template="forest"]:not(.is-overview) .poster-card.is-selected { left: 50%; width: min(86cqw, calc(var(--poster-forest-photo-height) * var(--photo-ratio, .666667))); opacity: 1; }
  .poster-player[data-template="forest"] .poster-forest-canopy-light { width: 150%; left: -48%; top: -36%; }
}
.poster-player[data-template="forest"].is-short .poster-heading { padding-top: 18px; }
.poster-player[data-template="forest"].is-short .poster-title { margin-top: 8px; font-size: clamp(27px, 3.3cqw, 38px); }
.poster-player[data-template="forest"].is-short .poster-subtitle { margin-top: 10px; }
.poster-player[data-template="forest"].is-short:not(.is-overview) .poster-gallery { flex-basis: 160px; min-height: 160px; margin-top: 10px; --poster-forest-photo-height: min(360px, calc(100cqh - 10px)); }
@media (prefers-reduced-motion: reduce) {
  .poster-player[data-template="forest"] *::before,
  .poster-player[data-template="forest"] *::after { animation: none !important; transition-duration: 0s !important; }
}
@keyframes poster-forest-light { from { translate: 0 0; } to { translate: 4% 3%; } }
@keyframes poster-forest-canopy { from { translate: 0 0; rotate: -1deg; } to { translate: 10px 7px; rotate: 2deg; } }
@keyframes poster-forest-mist { from { translate: 0 0; scale: 1; } to { translate: 8% -8%; scale: 1.12; } }
@keyframes poster-forest-arrive { from { translate: 12px 0; scale: .985; opacity: .65; } to { translate: 0 0; scale: 1; opacity: 1; } }
