/* Choreography varies by frame; the scene behind these layers stays still. */
body.collection-extended{--entrance-duration:3.8s;--entrance-reveal-delay:2.6s;--entrance-chapter-duration:2.1s}
body.collection-extended.tier-standard{--entrance-duration:2.3s;--entrance-reveal-delay:1.3s;--entrance-chapter-duration:1.2s}
.collection-extended.tier-standard.entrance-running .cinematic-stage{animation-duration:2.3s!important}
.collection-extended.tier-standard.entrance-running .entrance-transition>i{animation-duration:2.3s!important}
.collection-extended.tier-premium .cinematic-veil{display:block!important}
.collection-extended.entrance-running .entrance-transition>i{display:flex!important}
.collection-extended .premium-creature,.collection-extended .creature-butterfly,.collection-extended .premium-wildlife-layer{display:none!important}
.collection-extended.tier-premium .collection-gate-decoration{width:160px;height:210px;bottom:10%;opacity:.9}
.collection-extended.tier-premium .collection-gate-panel:after{content:'';position:absolute;inset:8% 10%;border:1px solid color-mix(in srgb,var(--color) 22%,transparent);border-radius:80px 80px 5px 5px;background:linear-gradient(115deg,transparent 30%,color-mix(in srgb,var(--color) 8%,transparent),transparent 70%)}
.collection-extended.tier-premium .collection-ornaments img{opacity:.85}
.collection-extended.tier-standard .collection-ornaments .ornament-right{display:none}
.collection-extended .cinematic-stage .theme-scene,.collection-extended .cover>.theme-scene{animation:none!important;transform:none!important}
.collection-extended.entrance-running .cinematic-stage{animation:collection-stage-exit 3.8s linear both!important}
.collection-extended .cinematic-arch,.collection-extended .entrance-transition>span{display:none!important}
.collection-extended .cinematic-veil{background:none;border:0;box-shadow:none;overflow:visible}
.collection-gate-panel{position:absolute;inset:0;background:color-mix(in srgb,var(--paper) 96%,transparent);box-shadow:0 0 30px #00000014}
.collection-gate-decoration{position:absolute;bottom:12%;width:120px;height:150px;object-fit:contain;left:10%;opacity:.8}
.veil-right .collection-gate-decoration{left:auto;right:10%;transform:scaleX(-1)}
.collection-extended.entrance-running .veil-left{animation:collection-door-left 3.2s cubic-bezier(.5,0,.15,1) both!important;transform-origin:left center}
.collection-extended.entrance-running .veil-right{animation:collection-door-right 3.2s cubic-bezier(.5,0,.15,1) both!important;transform-origin:right center}
.collection-extended.entrance-running .entrance-transition>i{animation:collection-initial 3.8s ease both!important;font-size:64px;gap:10px;display:flex;justify-content:center;align-items:center}
.collection-extended.layout-arch .collection-gate-panel{border-radius:70% 0 0 0}
.collection-extended.layout-arch .veil-right .collection-gate-panel{border-radius:0 70% 0 0}
.collection-extended.layout-oval .collection-gate-panel{border-radius:100% 0 0 100%}
.collection-extended.layout-oval .veil-right .collection-gate-panel{border-radius:0 100% 100% 0}
.collection-extended.layout-window.entrance-running .veil-left{animation-name:collection-shutter-up!important}
.collection-extended.layout-window.entrance-running .veil-right{animation-name:collection-shutter-down!important}
.collection-extended.layout-seal.entrance-running .veil-left{animation-name:collection-curtain-left!important}
.collection-extended.layout-seal.entrance-running .veil-right{animation-name:collection-curtain-right!important}
.collection-extended.layout-letter.entrance-running .veil-left{animation-name:collection-fold-left!important}
.collection-extended.layout-letter.entrance-running .veil-right{animation-name:collection-fold-right!important}
.collection-extended.layout-editorial.entrance-running .veil-left{animation-name:collection-shutter-up!important;animation-delay:.12s!important}
.collection-extended.layout-editorial.entrance-running .veil-right{animation-name:collection-door-right!important}
.collection-extended.layout-heritage .collection-gate-panel{background:linear-gradient(90deg,color-mix(in srgb,var(--color) 12%,var(--paper)),var(--paper));border-radius:4px}
.collection-extended .entrance-reveal .overture-copy{animation:none}
.collection-extended.entrance-reveal .overture-copy>*{animation:collection-content-in .9s ease both}
.collection-extended.entrance-reveal .overture-copy>*:nth-child(2){animation-delay:.12s}
.collection-extended.entrance-reveal .overture-copy>*:nth-child(3){animation-delay:.24s}
.collection-extended.entrance-reveal .overture-copy>*:nth-child(n+4){animation-delay:.36s}
.collection-extended .collection-ornaments{position:absolute;inset:0;pointer-events:none;z-index:3;overflow:hidden}
.collection-ornaments img{position:absolute;object-fit:contain;width:90px;height:120px;opacity:.7;bottom:8%;animation:collection-ornament-sway 8s ease-in-out infinite;transform-origin:bottom center}
.collection-ornaments .ornament-left{left:-24px}
.collection-ornaments .ornament-right{right:-24px;animation-delay:-4s;scale:-1 1}
.ornament-butterfly img{width:34px;height:34px;bottom:62%;opacity:.75;animation:collection-butterfly-float 13s ease-in-out infinite}
.ornament-butterfly .ornament-left{left:8px}.ornament-butterfly .ornament-right{right:8px}
.ornament-star img{width:28px;height:28px;bottom:68%;animation:collection-light-pulse 5s ease-in-out infinite}
.ornament-star .ornament-left{left:14px}.ornament-star .ornament-right{right:14px}
.ornament-tassel img{width:42px;height:105px;top:14%;bottom:auto;transform-origin:top center}
.ornament-tassel .ornament-left{left:0}.ornament-tassel .ornament-right{right:0}
.design-aceh .ornament-tassel img{top:-1px;object-position:center top;transform-origin:50% 0%}
.collection-extended .inv-section .collection-ornaments{display:none}
.collection-extended .scene-asleep .collection-ornaments img,.collection-extended.page-asleep .collection-ornaments img,.collection-extended.motion-pause .collection-ornaments img{animation-play-state:paused!important}
@keyframes collection-door-left{0%,15%{transform:translateX(0)}100%{transform:translateX(-105%)}}
@keyframes collection-door-right{0%,15%{transform:translateX(0)}100%{transform:translateX(105%)}}
@keyframes collection-shutter-up{0%,15%{transform:translateY(0)}100%{transform:translateY(-105%)}}
@keyframes collection-shutter-down{0%,15%{transform:translateY(0)}100%{transform:translateY(105%)}}
@keyframes collection-curtain-left{0%,15%{transform:translateX(0) scaleX(1)}100%{transform:translateX(-100%) scaleX(.25)}}
@keyframes collection-curtain-right{0%,15%{transform:translateX(0) scaleX(1)}100%{transform:translateX(100%) scaleX(.25)}}
@keyframes collection-fold-left{0%,15%{transform:perspective(800px) rotateY(0)}100%{transform:perspective(800px) rotateY(-100deg);opacity:0}}
@keyframes collection-fold-right{0%,15%{transform:perspective(800px) rotateY(0)}100%{transform:perspective(800px) rotateY(100deg);opacity:0}}
@keyframes collection-stage-exit{0%,76%{opacity:1}100%{opacity:0}}
@keyframes collection-initial{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}18%,66%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.08)}}
@keyframes collection-content-in{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}
@keyframes collection-ornament-sway{0%,100%{rotate:-3deg;translate:0 0}50%{rotate:3deg;translate:0 -5px}}
@keyframes collection-butterfly-float{0%,100%{translate:0 10px;rotate:-10deg}35%{translate:12px -30px;rotate:8deg}70%{translate:-4px -12px;rotate:-5deg}}
@keyframes collection-light-pulse{0%,100%{opacity:.1;scale:.8}50%{opacity:.6;scale:1}}
@media(prefers-reduced-motion:reduce){.collection-extended .collection-ornaments img,.collection-extended .overture-copy>*{animation:none!important}}


/* Aceh entrance: background first, live ornaments second, invitation text last. */
body.collection-extended:is(.design-aceh,.design-aceh-jeumpa){--entrance-duration:4.8s;--entrance-reveal-delay:2.3s;--entrance-chapter-duration:2.4s}
.collection-extended:is(.design-aceh,.design-aceh-jeumpa) .entrance-transition{display:none!important}
body.collection-extended:is(.design-aceh,.design-aceh-jeumpa).entrance-running #invitation-content,
body.collection-extended:is(.design-aceh,.design-aceh-jeumpa).entrance-running #invitation-content *{visibility:visible!important}
.collection-extended:is(.design-aceh,.design-aceh-jeumpa).entrance-running .invitation-overture .collection-ornaments{animation:aceh-hanging-arrive 1.8s .55s cubic-bezier(.22,1,.36,1) both}
.collection-extended:is(.design-aceh,.design-aceh-jeumpa).entrance-running .invitation-overture>.standard-foreground{animation:aceh-flowers-arrive 2s .8s cubic-bezier(.22,1,.36,1) both}
.collection-extended:is(.design-aceh,.design-aceh-jeumpa).entrance-running .invitation-overture .collection-atmosphere{animation:aceh-atmosphere-arrive 2s 1s ease both}
.collection-extended:is(.design-aceh,.design-aceh-jeumpa).entrance-running:not(.entrance-reveal) .overture-copy{opacity:0!important}
.collection-extended:is(.design-aceh,.design-aceh-jeumpa).entrance-reveal .overture-copy{animation:none!important;opacity:1}
.collection-extended:is(.design-aceh,.design-aceh-jeumpa).entrance-reveal .overture-copy>*{animation:collection-content-in 1.4s ease both}
.collection-extended:is(.design-aceh,.design-aceh-jeumpa).entrance-reveal .overture-copy>*:nth-child(2){animation-delay:.2s}
.collection-extended:is(.design-aceh,.design-aceh-jeumpa).entrance-reveal .overture-copy>*:nth-child(3){animation-delay:.4s}
.collection-extended:is(.design-aceh,.design-aceh-jeumpa).entrance-reveal .overture-copy>*:nth-child(n+4){animation-delay:.6s}
.design-aceh .ornament-tassel img,.design-aceh-jeumpa .ornament-tassel img{animation:aceh-tassel-swing 4.8s ease-in-out infinite alternate;transform-origin:50% 0%}
@keyframes aceh-hanging-arrive{from{opacity:0;translate:0 -65px}to{opacity:1;translate:0 0}}
@keyframes aceh-flowers-arrive{from{opacity:0;translate:-35px 45px}to{opacity:1;translate:0 0}}
@keyframes aceh-atmosphere-arrive{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.collection-extended:is(.design-aceh,.design-aceh-jeumpa) .invitation-overture *{animation:none!important}}

/* Serambi: a restrained camera move toward the house, with visible edge ornaments. */
.design-aceh.entrance-running .invitation-overture .collection-backdrop{animation:aceh-serambi-depth 4.8s cubic-bezier(.2,.65,.3,1) both;transform-origin:65% 70%}
.design-aceh .invitation-overture .collection-ornaments{z-index:3}
.design-aceh .invitation-overture .ornament-tassel img{top:-2px;width:58px;height:145px;opacity:.95;object-position:center top}
.design-aceh .invitation-overture .ornament-tassel .ornament-right{display:block;right:0;animation-delay:-2.4s}
.design-aceh .invitation-overture .ornament-tassel .ornament-left{left:0}
@keyframes aceh-serambi-depth{from{transform:scale(1);filter:brightness(.93)}to{transform:scale(1.12);filter:brightness(1)}}
.design-aceh.invitation-open .invitation-overture .collection-backdrop{transform:scale(1.12);transform-origin:65% 70%}
@media(prefers-reduced-motion:reduce){.design-aceh .invitation-overture .collection-backdrop{animation:none!important;transform:none!important}}
