/* Shared audited behavior; the six locked originals are explicitly excluded. */
body:not(.design-botanical,.design-ivory,.design-midnight,.design-blush,.design-heritage,.design-portrait).tier-standard{--entrance-duration:3.8s;--entrance-reveal-delay:1.7s;--entrance-chapter-duration:2.1s}
body.tier-premium{--entrance-duration:5.8s;--entrance-reveal-delay:2.7s;--entrance-chapter-duration:3s}
body:not(.design-botanical,.design-ivory,.design-midnight,.design-blush,.design-heritage,.design-portrait) .entrance-transition{display:none!important}
body:not(.design-botanical,.design-ivory,.design-midnight,.design-blush,.design-heritage,.design-portrait).entrance-running #invitation-content,
body:not(.design-botanical,.design-ivory,.design-midnight,.design-blush,.design-heritage,.design-portrait).entrance-running #invitation-content *{visibility:visible!important}
body:not(.design-botanical,.design-ivory,.design-midnight,.design-blush,.design-heritage,.design-portrait).entrance-running:not(.entrance-reveal) .overture-copy{opacity:0!important}
body:not(.design-botanical,.design-ivory,.design-midnight,.design-blush,.design-heritage,.design-portrait).entrance-reveal .overture-copy{animation:none!important}
body:not(.design-botanical,.design-ivory,.design-midnight,.design-blush,.design-heritage,.design-portrait).entrance-reveal .overture-copy>*{animation:audit-copy-enter 1.4s ease both}
body:not(.design-botanical,.design-ivory,.design-midnight,.design-blush,.design-heritage,.design-portrait).entrance-reveal .overture-copy>*:nth-child(2){animation-delay:.18s}
body:not(.design-botanical,.design-ivory,.design-midnight,.design-blush,.design-heritage,.design-portrait).entrance-reveal .overture-copy>*:nth-child(n+3){animation-delay:.35s}
body:not(.design-botanical,.design-ivory,.design-midnight,.design-blush,.design-heritage,.design-portrait).entrance-running .invitation-overture .collection-ornaments,
body:not(.design-botanical,.design-ivory,.design-midnight,.design-blush,.design-heritage,.design-portrait).entrance-running .invitation-overture .premium-separated-art{animation:audit-top-enter 2s .45s cubic-bezier(.22,1,.36,1) both}
body.collection-extended.entrance-running .invitation-overture>.standard-foreground{animation:audit-edge-enter 1.8s .55s cubic-bezier(.22,1,.36,1) both}
body.tier-premium.entrance-running .invitation-overture .premium-theme-accents{animation:audit-edge-enter 2.6s .9s cubic-bezier(.22,1,.36,1) both}
body.tier-premium.entrance-running .invitation-overture .collection-backdrop{animation:audit-premium-depth 5.8s cubic-bezier(.22,1,.36,1) both}
body.collection-extended.tier-premium.invitation-open .invitation-overture .collection-backdrop{transform:scale(1.08)}
.collection-extended.tier-standard:not(.design-aceh,.design-aceh-jeumpa) .collection-ornaments{display:none}
.collection-extended .standard-foreground .standard-right-anchor{left:auto;right:-24px;scale:-1 1;animation-delay:-2.8s;transform-origin:25% 100%}
.collection-extended .standard-tassel .standard-right-anchor{left:10px;right:auto;top:-7px;bottom:auto;transform-origin:50% 0%}
.design-aceh-jeumpa .standard-tassel .standard-right-anchor{left:auto;right:-22px;top:auto;bottom:-24px;transform-origin:25% 100%}
.collection-extended .standard-butterfly .standard-right-anchor{left:auto;right:3px;bottom:12%}
.collection-extended .standard-star .standard-right-anchor{left:9px;right:auto;top:12%;bottom:auto}
.premium-theme-accents{position:absolute;inset:0;pointer-events:none;z-index:2;overflow:hidden}
.premium-theme-accents img{position:absolute;width:110px;height:140px;object-fit:contain;left:-28px;bottom:-28px;transform-origin:25% 100%;animation:audit-accent-sway 8s ease-in-out infinite alternate}
.premium-theme-accents img.accent-right{left:auto;right:-28px;scale:-1 1;animation-delay:-3.6s}
.accent-tassel img{top:-6px;bottom:auto;width:44px;height:110px;left:12px;transform-origin:50% 0%}.accent-tassel img.accent-right{right:12px}
.accent-star img,.accent-butterfly img{width:27px;height:27px;left:8px;bottom:15%;animation:audit-small-float 7s ease-in-out infinite alternate}.accent-star img.accent-right,.accent-butterfly img.accent-right{right:8px}
.inv-section .premium-theme-accents{opacity:.5}.inv-section .premium-theme-accents img{width:75px;height:100px}
/* One backdrop shape, with mode-specific color inherited by that shape. */
body.tier-premium:not(.collection-extended) .cover .cover-content{background:transparent!important}
body.tier-premium:not(.collection-extended) .cover .cover-content:before{border-radius:46% 46% 12px 12px}
@keyframes audit-copy-enter{from{opacity:0;translate:0 22px}to{opacity:1;translate:0 0}}
@keyframes audit-top-enter{from{opacity:0;translate:0 -60px}to{opacity:1;translate:0 0}}
@keyframes audit-edge-enter{from{opacity:0;translate:0 50px}to{opacity:1;translate:0 0}}
@keyframes audit-premium-depth{from{transform:scale(1)}to{transform:scale(1.08)}}
@keyframes audit-accent-sway{from{rotate:-4deg}to{rotate:4deg}}
@keyframes audit-small-float{from{translate:0 -6px;rotate:-6deg}to{translate:0 7px;rotate:6deg}}
.page-asleep .premium-theme-accents img,.motion-pause .premium-theme-accents img{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){body .premium-theme-accents,body .premium-theme-accents img,body .invitation-overture .collection-backdrop{animation:none!important}body.collection-extended.tier-premium.invitation-open .invitation-overture .collection-backdrop{transform:none}}

/* Standard ornaments are small corner accents, not full arrangements across the bottom. */
.collection-extended.tier-standard .standard-foreground img{width:92px;height:120px;left:-35px;bottom:-32px}
.collection-extended.tier-standard .standard-foreground .standard-right-anchor{left:auto;right:-35px;bottom:-32px}
.collection-extended.tier-standard .standard-foreground .branch-companion{display:none}
.collection-extended.tier-standard .standard-tassel img{top:-7px;bottom:auto;left:auto;right:0;width:35px;height:90px}
.collection-extended.tier-standard .standard-tassel .standard-right-anchor{left:0;right:auto;top:-7px;bottom:auto}
.design-aceh-jeumpa.tier-standard .standard-tassel img{top:auto;bottom:-32px;left:-35px;right:auto;width:92px;height:120px}
.design-aceh-jeumpa.tier-standard .standard-tassel .standard-right-anchor{left:auto;right:-35px;top:auto;bottom:-32px}
.collection-extended.tier-standard .standard-butterfly img,.collection-extended.tier-standard .standard-star img{width:27px;height:27px;top:7px;bottom:auto;left:6px}
.collection-extended.tier-standard .standard-butterfly .standard-right-anchor,.collection-extended.tier-standard .standard-star .standard-right-anchor{left:auto;right:6px;top:7px;bottom:auto}
.collection-extended.tier-standard .inv-section .standard-foreground img{width:68px;height:90px;bottom:-30px;opacity:.5}
.collection-extended.tier-standard .inv-section .standard-tassel img{top:-7px;bottom:auto;width:30px;height:75px}
.design-aceh-jeumpa.tier-standard .inv-section .standard-tassel img{top:auto;bottom:-30px}

/* The cover is calm; decorative assets are introduced only after opening. */
body:not(.design-botanical,.design-ivory,.design-midnight,.design-blush,.design-heritage,.design-portrait) .cover :is(.standard-foreground,.collection-ornaments,.premium-theme-accents,.premium-separated-art,.collection-atmosphere,.playful-assets,.fairytale-lanterns,.falling-leaves,.premium-wildlife-layer,.living-layer,.motion-garden,.celestia-starlight){display:none!important}
body.tier-premium .cover .premium-edition{font-size:10px;letter-spacing:2.2px;display:block;margin:14px auto 20px;text-transform:uppercase;color:var(--color)}
body.tier-premium .cover .couple-monogram{display:none}
body.collection-extended.tier-premium .cover .cover-content{background:linear-gradient(145deg,color-mix(in srgb,var(--paper) 98%,white),color-mix(in srgb,var(--paper) 87%,transparent));border-radius:48% 48% 18px 18px;box-shadow:0 16px 50px #30271918}
body.tier-premium .cover .premium-cover-portrait{width:clamp(150px,42vw,210px);height:clamp(190px,52vw,265px);margin:0 auto}
body.tier-premium .cover h1{font-size:clamp(39px,10.5vw,56px);line-height:1.18;margin-block:16px}
body.tier-premium .cover .kicker{letter-spacing:3px;font-size:9px}
body.tier-premium .cover .guest-block{margin-top:24px}

.native-accent-aurelia img{top:-3px;bottom:auto;left:19%;width:28px;height:48px;transform-origin:50% 0%}.native-accent-aurelia img.accent-right{right:19%}
.native-accent-celestia img{top:6%;bottom:auto;left:13%;width:25px;height:25px;animation:audit-small-float 7s ease-in-out infinite alternate}.native-accent-celestia img.accent-right{right:13%}
body.tier-premium.entrance-running .invitation-overture>.theme-scene .premium-theme-accents{animation:audit-edge-enter 2.6s .9s cubic-bezier(.22,1,.36,1) both}

/* Premium cover uses an editorial portrait composition instead of the Standard card. */
body.tier-premium .cover .cover-content{background:transparent!important;box-shadow:none!important;border:0!important;border-radius:0!important;padding:18px 20px 24px;isolation:isolate;width:calc(100% - 38px);max-width:430px}
body.tier-premium .cover .cover-content:before{content:''!important;display:block!important;position:absolute;inset:-24px -12px;z-index:-1;border:0!important;border-radius:0!important;background:radial-gradient(ellipse at 50% 53%,color-mix(in srgb,var(--paper) 96%,transparent) 12%,color-mix(in srgb,var(--paper) 85%,transparent) 49%,transparent 74%)!important;box-shadow:none!important;pointer-events:none}
body.tier-premium .cover .premium-cover-portrait{width:clamp(180px,57vw,250px);height:clamp(230px,65vw,285px)}
body.tier-premium .cover .guest-block{background:transparent;border:0;box-shadow:none;padding:9px 12px;margin:18px auto 16px;max-width:270px}
body.tier-premium .cover .guest-block strong{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:500}
body.tier-premium .cover .premium-edition{font:10px/1.5 'Cormorant Garamond',serif;letter-spacing:3px;margin:8px auto 14px}
body.tier-premium .cover .cover-date{letter-spacing:2px;font-size:11px}
@media(max-height:740px){body.tier-premium .cover .premium-cover-portrait{width:170px;height:210px}body.tier-premium .cover h1{font-size:38px;margin-block:9px}body.tier-premium .cover .guest-block{margin-block:9px}}

body.tier-premium .cover .premium-edition{display:none!important}
body.tier-premium .cover :is(.kicker,h1,.cover-date,.guest-block,#open-invitation){animation-duration:1s;animation-delay:.15s}
.amalfi-layers{position:absolute;inset:0;z-index:3;overflow:hidden;pointer-events:none}
.amalfi-lemon{position:absolute;bottom:-15px;width:180px;height:210px;left:-45px;transform-origin:15% 100%;animation:amalfi-lemon-breeze 8s ease-in-out infinite alternate}
.amalfi-lemon img{width:100%;height:100%;object-fit:fill}
.amalfi-lemon.lemon-right{left:auto;right:-45px;scale:-1 1;animation-delay:-3.5s}
.amalfi-silk{position:absolute;top:-12px;left:-20px;width:75px;height:270px;transform-origin:50% 0%;animation:amalfi-silk-breeze 9s ease-in-out infinite alternate;opacity:.75}
.amalfi-silk img{width:100%;height:100%;object-fit:fill}.amalfi-silk.silk-right{left:auto;right:-20px;scale:-1 1;animation-delay:-4s}
.design-amalfi .cover .amalfi-layers{display:none!important}
.design-amalfi.entrance-running .invitation-overture .amalfi-layers{animation:audit-top-enter 2.4s .6s cubic-bezier(.22,1,.36,1) both}
.design-amalfi.entrance-running .invitation-overture .collection-backdrop{animation:amalfi-depth 5.8s cubic-bezier(.22,1,.36,1) both}
.design-amalfi.invitation-open .invitation-overture .collection-backdrop{transform:scale(1.16);transform-origin:50% 65%}
.design-amalfi .invitation-overture .overture-copy{background:radial-gradient(ellipse,#fff7e7ed,transparent 78%);border-radius:0;box-shadow:none}
.design-amalfi .invitation-overture .overture-photo{width:215px!important;height:270px!important;margin:0 auto 24px}
.inv-section .amalfi-lemon{width:110px;height:145px;bottom:-20px;opacity:.6}.inv-section .amalfi-silk{width:45px;height:150px;opacity:.35}
@keyframes amalfi-lemon-breeze{from{rotate:-3deg}to{rotate:4deg}}
@keyframes amalfi-silk-breeze{from{rotate:-5deg}to{rotate:5deg}}
@keyframes amalfi-depth{from{transform:scale(1);transform-origin:50% 65%}to{transform:scale(1.16);transform-origin:50% 65%}}
.page-asleep .amalfi-layers *,.motion-pause .amalfi-layers *{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.amalfi-layers,.amalfi-layers *{animation:none!important}.design-amalfi.invitation-open .invitation-overture .collection-backdrop{transform:none}}

/* Amalfi foliage grows from the outer edges; keep the center floor clear. */
.design-amalfi .amalfi-lemon{left:-95px;bottom:-28px;width:185px;height:235px}
.design-amalfi .amalfi-lemon.lemon-right{left:auto;right:-95px}
.design-amalfi .inv-section .amalfi-lemon{left:-65px;bottom:-25px;width:130px;height:160px}
.design-amalfi .inv-section .amalfi-lemon.lemon-right{left:auto;right:-65px}
.collection-extended.tier-premium .collection-ornaments:is(.ornament-floral,.ornament-leaf,.ornament-shell) img{bottom:-26px;width:100px;height:135px;transform-origin:20% 100%}
.collection-extended.tier-premium .collection-ornaments:is(.ornament-floral,.ornament-leaf,.ornament-shell) .ornament-left{left:-38px}
.collection-extended.tier-premium .collection-ornaments:is(.ornament-floral,.ornament-leaf,.ornament-shell) .ornament-right{right:-38px}

.design-rosalia .art-rosalia .asset-track-1{top:-10px;left:-36px;width:85px;transform-origin:30% 0%}
body.design-celestia:not(.invitation-open)>.celestia-starlight{display:none}
body.tier-premium .cover .sunda-jasmine{display:none!important}

body.tier-premium.entrance-running .invitation-overture :is(.premium-wildlife-layer,.sunda-jasmine){animation:audit-top-enter 2.4s 1.3s cubic-bezier(.22,1,.36,1) both}
body.tier-premium.entrance-running .invitation-overture :is(.premium-still-backdrop,.real-ocean-video){animation:audit-premium-depth 5.8s cubic-bezier(.22,1,.36,1) both}
body.tier-premium.invitation-open .invitation-overture :is(.premium-still-backdrop,.real-ocean-video){transform:scale(1.08)}
@media(prefers-reduced-motion:reduce){body.tier-premium .invitation-overture :is(.premium-wildlife-layer,.sunda-jasmine,.premium-still-backdrop,.real-ocean-video){animation:none!important;transform:none!important}}

/* Mirror the artwork inside its wrapper, not the off-center motion anchor. */
.design-amalfi .amalfi-lemon{left:-55px;bottom:-25px;width:165px;height:210px}
.design-amalfi .amalfi-lemon.lemon-right{left:auto;right:-55px;scale:none;transform-origin:85% 100%}
.design-amalfi .amalfi-lemon.lemon-right img{transform:scaleX(-1);transform-origin:50% 50%}
.design-amalfi .inv-section .amalfi-lemon{left:-45px;bottom:-22px;width:120px;height:150px}
.design-amalfi .inv-section .amalfi-lemon.lemon-right{right:-45px}
.collection-extended .standard-foreground .standard-right-anchor{transform-origin:50% 100%}
.collection-extended .standard-tassel .standard-right-anchor{transform-origin:50% 0%}
.design-aceh-jeumpa .standard-tassel .standard-right-anchor{transform-origin:50% 100%}
.premium-theme-accents img.accent-right{transform-origin:50% 100%}
.native-accent-aurelia img.accent-right,.accent-tassel img.accent-right{transform-origin:50% 0%}

.collection-extended .collection-ornaments .ornament-right{transform-origin:50% 100%}
.collection-extended .collection-ornaments.ornament-tassel .ornament-right{transform-origin:50% 0%}

/* Crop the long base of the lemon corner asset, retaining a vertical side branch. */
.design-amalfi .amalfi-lemon{left:-20px;bottom:-18px;width:115px;height:230px;overflow:hidden}
.design-amalfi .amalfi-lemon.lemon-right{right:-20px;left:auto}
.design-amalfi .amalfi-lemon img{position:absolute;left:0;top:0;width:240px;height:230px;max-width:none;object-fit:fill}
.design-amalfi .amalfi-lemon.lemon-right img{left:auto;right:0}
.design-amalfi .inv-section .amalfi-lemon{left:-18px;bottom:-18px;width:82px;height:170px}
.design-amalfi .inv-section .amalfi-lemon.lemon-right{right:-18px}
.design-amalfi .inv-section .amalfi-lemon img{width:177px;height:170px}
.design-aceh.tier-standard .collection-ornaments{display:none}

body.tier-premium .invitation-overture .overture-copy{background:radial-gradient(ellipse,color-mix(in srgb,var(--paper) 96%,transparent) 20%,color-mix(in srgb,var(--paper) 82%,transparent) 55%,transparent 80%);border-radius:0;box-shadow:none}
body.collection-extended.tier-premium.layout-seal.entrance-running .invitation-overture .collection-ornaments{animation-name:audit-focus-enter}
body.collection-extended.tier-premium.layout-letter.entrance-running .invitation-overture .collection-ornaments{animation-name:audit-side-enter}
body.collection-extended.tier-premium.layout-window.entrance-running .invitation-overture .collection-ornaments{animation-name:audit-edge-enter}
@keyframes audit-focus-enter{from{opacity:0;scale:.85}to{opacity:1;scale:1}}
@keyframes audit-side-enter{from{opacity:0;translate:-45px 0}to{opacity:1;translate:0 0}}

/* Entrance moves inward from the sides; vertical anchors and the child breeze stay continuous. */
.edge-arrival{position:absolute;inset:0;pointer-events:none}
body.entrance-running .invitation-overture :is(.standard-foreground,.collection-ornaments,.amalfi-layers,.premium-separated-art,.premium-theme-accents,.sunda-jasmine,.premium-wildlife-layer){animation:none!important}
body.entrance-running .invitation-overture :is(.edge-arrival-left,.separate-edge.edge-left){animation:audit-inward-left 2.6s .35s cubic-bezier(.22,1,.36,1) both}
body.entrance-running .invitation-overture :is(.edge-arrival-right,.separate-edge.edge-right){animation:audit-inward-right 2.8s .55s cubic-bezier(.22,1,.36,1) both}
body.tier-standard.entrance-running .invitation-overture .edge-arrival{animation-duration:1.9s}
body.entrance-running .invitation-overture .entry-silk{animation-delay:.8s}
@keyframes audit-inward-left{from{translate:-160px 0}to{translate:0 0}}
@keyframes audit-inward-right{from{translate:160px 0}to{translate:0 0}}
@media(prefers-reduced-motion:reduce){body.entrance-running .invitation-overture :is(.edge-arrival,.separate-edge){animation:none!important;translate:none!important}}

/* Secondary botanical corners occupy the upper edge instead of stacking at the base. */
.premium-theme-accents:is(.accent-floral,.accent-leaf,.accent-shell) img{top:-32px;bottom:auto;width:105px;height:160px;transform:rotate(180deg);transform-origin:50% 50%}
.premium-theme-accents:is(.accent-floral,.accent-leaf,.accent-shell) img.accent-right{transform:rotate(180deg);transform-origin:50% 50%}

/* Premium choreography: camera, side layers, atmosphere, portrait, then invitation copy. */
body.tier-premium{--entrance-duration:7.2s;--entrance-reveal-delay:3.3s;--entrance-chapter-duration:3.6s}
body.tier-premium .cover :is(.premium-ambient,.premium-winged-life){display:none!important}
.premium-ambient{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:7}
.inv-section .premium-ambient{display:none}
.ambient-arrival{position:absolute;inset:0;pointer-events:none}
.winged-creature{display:block}
body.tier-premium.entrance-running .invitation-overture :is(.collection-backdrop,.premium-still-backdrop,.real-ocean-video){animation:audit-premium-camera 7.2s cubic-bezier(.16,1,.3,1) both}
body.tier-premium.entrance-running .invitation-overture :is(.edge-arrival-left,.separate-edge.edge-left){animation:audit-inward-left 3.6s .45s cubic-bezier(.16,1,.3,1) both}
body.tier-premium.entrance-running .invitation-overture :is(.edge-arrival-right,.separate-edge.edge-right){animation:audit-inward-right 3.9s .75s cubic-bezier(.16,1,.3,1) both}
body.tier-premium.entrance-running .invitation-overture .premium-theme-accents .edge-arrival{animation-delay:1.2s;animation-duration:3.8s}
body.tier-premium.entrance-running .invitation-overture .entry-silk{animation-delay:.15s;animation-duration:4.4s}
body.tier-premium.entrance-running .ambient-arrival-left{animation:audit-inward-left 3s 2s cubic-bezier(.16,1,.3,1) both}
body.tier-premium.entrance-running .ambient-arrival-right{animation:audit-inward-right 3.3s 2.3s cubic-bezier(.16,1,.3,1) both}
body.tier-premium.entrance-reveal .overture-copy>*{animation:premium-copy-resolve 2s cubic-bezier(.16,1,.3,1) both!important}
body.tier-premium.entrance-reveal .overture-copy>:nth-child(2){animation-delay:.3s!important}
body.tier-premium.entrance-reveal .overture-copy>:nth-child(n+3){animation-delay:.65s!important}
body.tier-premium.entrance-reveal .overture-photo{animation:premium-photo-resolve 2.5s cubic-bezier(.16,1,.3,1) both!important}
.native-accent-aurelia img{left:5%;width:36px;height:125px;top:-8px;object-position:center top}
.native-accent-aurelia img.accent-right{right:5%}
.native-accent-celestia img{left:4%;top:32%;width:28px;height:28px}
.native-accent-celestia img.accent-right{right:4%}
.premium-drifting-leaf{position:absolute;top:-50px;width:22px;height:32px;animation:premium-leaf-descent calc(25s + var(--n)*4s) calc(var(--n)*-7s) linear infinite}
.premium-drifting-leaf img{width:100%;height:100%;object-fit:contain;animation:premium-leaf-turn calc(5s + var(--n)*1s) ease-in-out infinite alternate}
.leaf-side-left{left:calc(2% + var(--n)*1%)}.leaf-side-right{right:calc(2% + var(--n)*1%)}
.premium-edge-light{position:absolute;top:calc(18% + var(--n)*11%);width:3px;height:3px;border-radius:50%;background:var(--color);box-shadow:0 0 8px 2px color-mix(in srgb,var(--color) 45%,transparent);animation:premium-light-breathe calc(5s + var(--n)*.7s) calc(var(--n)*-1.8s) ease-in-out infinite}
.light-side-left{left:calc(3% + var(--n)*1%)}.light-side-right{right:calc(3% + var(--n)*1%)}
@keyframes audit-premium-camera{from{transform:scale(1);filter:blur(2px)}to{transform:scale(1.08);filter:blur(0)}}
@keyframes premium-copy-resolve{from{opacity:0;translate:0 12px;filter:blur(3px)}to{opacity:1;translate:0 0;filter:blur(0)}}
@keyframes premium-photo-resolve{from{opacity:0;scale:.92;filter:blur(2px)}to{opacity:1;scale:1;filter:blur(0)}}
@keyframes premium-leaf-descent{0%{translate:0 -40px;rotate:-28deg;opacity:0}8%{opacity:.65}29%{translate:14px 28svh;rotate:35deg}58%{translate:-8px 60svh;rotate:128deg}82%{translate:7px 85svh;rotate:204deg;opacity:.6}100%{translate:-3px 112svh;rotate:268deg;opacity:0}}
@keyframes premium-leaf-turn{from{transform:rotateY(-50deg) rotate(-8deg)}to{transform:rotateY(45deg) rotate(11deg)}}
@keyframes premium-light-breathe{0%,100%{opacity:.2;scale:.7}50%{opacity:.9;scale:1.15}}
.page-asleep .premium-ambient *,.motion-pause .premium-ambient *{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.premium-ambient{display:none}body.tier-premium.entrance-running .invitation-overture *,body.tier-premium.entrance-reveal .overture-copy>*{animation:none!important;filter:none!important;translate:none!important;scale:none!important}}

body.tier-premium.entrance-running .invitation-overture .premium-ambient{animation:premium-atmosphere-resolve 2.6s 1.4s ease both}
.design-rosalia .creature-butterfly .creature-wing,.design-eden .creature-butterfly .creature-wing{filter:none}
.scene-asleep~.premium-ambient *{animation-play-state:paused!important}
@keyframes premium-atmosphere-resolve{from{opacity:0}to{opacity:1}}

/* Tassels attach to the ceiling; secondary foliage occupies the lower corners. */
.collection-extended.tier-premium .collection-ornaments.ornament-tassel img{top:-2px;bottom:auto;width:64px;height:112px;object-position:center top;transform-origin:50% 0%}
.collection-extended.tier-premium .collection-ornaments.ornament-tassel .ornament-left{left:-6px}
.collection-extended.tier-premium .collection-ornaments.ornament-tassel .ornament-right{right:-6px}
.premium-theme-accents.accent-tassel img{top:auto;bottom:-26px;left:-22px;width:90px;height:150px;transform-origin:30% 100%}
.premium-theme-accents.accent-tassel img.accent-right{left:auto;right:-22px;transform-origin:50% 100%}
.design-aceh-jeumpa .collection-ornaments.ornament-tassel img{top:-2px;object-position:center top}
.art-eden .asset-track-1,.art-eden .edge-right .asset-track-1{bottom:-24px;left:-24px;top:auto;transform-origin:30% 100%}
body.tier-premium .cover :is(.keraton-lamp,.keraton-janur,.keraton-wayang){display:none!important}
.design-puspita .invitation-overture .keraton-janur{display:block;width:48px;top:-10px;bottom:auto}
.design-puspita .invitation-overture .janur-left{left:-13px}.design-puspita .invitation-overture .janur-right{right:-13px}

/* Remove the second parent fade and the legacy native-scene zoom lock. */
body:not(.design-botanical,.design-ivory,.design-midnight,.design-blush,.design-heritage,.design-portrait).invitation-open .invitation-overture .overture-copy{opacity:1;transform:none;transition:none}
body.tier-premium.entrance-running .invitation-overture .theme-scene :is(.premium-still-backdrop,.keraton-pendopo){animation:audit-premium-camera 7.2s cubic-bezier(.16,1,.3,1) both!important}
body.tier-premium.invitation-open .invitation-overture .theme-scene :is(.premium-still-backdrop,.keraton-pendopo){transform:scale(1.08)}
body.design-puspita.invitation-open:not(.entrance-running) .invitation-overture .keraton-pendopo{animation:none}

/* New thematic wildlife overrides only the obsolete extended-collection hiding rule. */
body.tier-premium .premium-ambient .winged-flight{display:block!important}
body.tier-premium .premium-ambient .creature-butterfly{width:34px;height:34px}

/* Standard: the panel itself dissolves in before its contents, rather than snapping on. */
body.tier-standard.collection-extended,body.tier-standard:not(.collection-extended){--entrance-duration:5.2s;--entrance-reveal-delay:1.5s;--entrance-chapter-duration:3.5s}
body.tier-standard.entrance-reveal .invitation-overture .overture-copy{animation:standard-panel-dissolve 2.4s cubic-bezier(.4,0,.2,1) both!important;transition:none!important;transform:none!important}
body.tier-standard.entrance-reveal .invitation-overture .overture-copy>*{animation:standard-content-dissolve 1.8s .35s cubic-bezier(.22,1,.36,1) both!important}
body.tier-standard.entrance-reveal .invitation-overture .overture-copy>:nth-child(2){animation-delay:.55s!important}
body.tier-standard.entrance-reveal .invitation-overture .overture-copy>:nth-child(n+3){animation-delay:.75s!important}
@keyframes standard-panel-dissolve{from{opacity:0}to{opacity:1}}
@keyframes standard-content-dissolve{from{opacity:0;translate:0 6px}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:reduce){body.tier-standard.entrance-reveal .invitation-overture .overture-copy,body.tier-standard.entrance-reveal .invitation-overture .overture-copy>*{animation:none!important;opacity:1!important;translate:none!important}}

body.tier-standard.entrance-running:not(.entrance-reveal) .invitation-overture .overture-copy{opacity:0!important}

body.tier-standard.invitation-open:not(.entrance-reveal) .invitation-overture .overture-copy{opacity:1!important;transition:none!important;transform:none!important}
/* Amalfi pilot: one live scene, background first, side assets, then the invitation. */
body.design-amalfi.tier-premium{--entrance-duration:8.8s;--entrance-reveal-delay:3.8s;--entrance-chapter-duration:4.8s}
body.design-amalfi.tier-premium .entrance-transition{display:none!important}
body.design-amalfi.tier-premium.entrance-running #invitation-content{visibility:visible;pointer-events:auto}
body.design-amalfi.tier-premium.entrance-running .invitation-overture .theme-scene,
body.design-amalfi.tier-premium.entrance-running .invitation-overture .theme-scene *{visibility:visible!important}
body.design-amalfi.tier-premium.amalfi-pilot-started .invitation-overture .collection-backdrop{animation:amalfi-pilot-depth 8.8s cubic-bezier(.4,0,.2,1) both!important}
body.design-amalfi.tier-premium .invitation-overture .entry-silk{display:none}
body.design-amalfi.tier-premium.amalfi-pilot-started .invitation-overture .entry-lemon.edge-arrival-left{animation:amalfi-pilot-left 4.8s 1s cubic-bezier(.22,1,.36,1) both!important}
body.design-amalfi.tier-premium.amalfi-pilot-started .invitation-overture .entry-lemon.edge-arrival-right{animation:amalfi-pilot-right 5s 1.35s cubic-bezier(.22,1,.36,1) both!important}
body.design-amalfi.tier-premium.entrance-running:not(.entrance-reveal) .invitation-overture .overture-copy{opacity:0!important}
body.design-amalfi.tier-premium.amalfi-copy-started .invitation-overture .overture-copy{animation:amalfi-pilot-copy 3.2s cubic-bezier(.4,0,.2,1) both!important;transform:none!important;transition:none!important}
body.design-amalfi.tier-premium.invitation-open:not(.entrance-reveal) .invitation-overture .overture-copy{opacity:1;transform:none;transition:none}
body.design-amalfi.tier-premium.amalfi-copy-started .invitation-overture .overture-photo{animation:amalfi-pilot-photo 3s cubic-bezier(.22,1,.36,1) both!important}
@keyframes amalfi-pilot-depth{from{transform:scale(1)}to{transform:scale(1.16)}}
@keyframes amalfi-pilot-left{from{translate:-260px 0;opacity:0}30%{opacity:1}to{translate:0 0;opacity:1}}
@keyframes amalfi-pilot-right{from{translate:260px 0;opacity:0}30%{opacity:1}to{translate:0 0;opacity:1}}
@keyframes amalfi-pilot-copy{from{opacity:0}to{opacity:1}}
@keyframes amalfi-pilot-photo{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){body.design-amalfi.tier-premium.amalfi-pilot-started .invitation-overture .theme-scene *,body.design-amalfi.tier-premium.entrance-reveal .invitation-overture :is(.overture-copy,.overture-photo){animation:none!important;opacity:1!important;translate:none!important;transform:none!important}}
/* Amalfi's single magic reveal remains attached to the live scene. */
.amalfi-magic{display:none;position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:4}
.design-amalfi .invitation-overture .amalfi-magic{display:block}
.amalfi-crown{position:absolute;top:-28px;width:clamp(85px,23vw,125px);height:190px;overflow:hidden;transform-origin:50% 0}
.amalfi-crown img{width:200px;height:220px;max-width:none;object-fit:fill;transform:rotate(180deg)}
.crown-left{left:-35px}.crown-right{right:-35px;transform:scaleX(-1)}
.amalfi-light-sweep{position:absolute;inset:-30%;opacity:0;background:linear-gradient(110deg,transparent 36%,#ffe9a000 42%,#fff5d5b0 49%,#ffe9a038 54%,transparent 62%);mix-blend-mode:screen;transform:translateX(-80%)}
.amalfi-magic-dust{position:absolute;inset:0}
.amalfi-magic-dust i{position:absolute;left:var(--x);top:var(--y);width:3px;height:3px;border-radius:50%;background:#fff3bc;box-shadow:0 0 9px 2px #e5b75b80;opacity:0}
body.design-amalfi.amalfi-pilot-started .crown-left{animation:amalfi-crown-left 4.8s 1.6s cubic-bezier(.22,1,.36,1) both}
body.design-amalfi.amalfi-pilot-started .crown-right{animation:amalfi-crown-right 5s 1.85s cubic-bezier(.22,1,.36,1) both}
body.design-amalfi.amalfi-pilot-started .amalfi-light-sweep{animation:amalfi-magic-sweep 3.6s 3.1s cubic-bezier(.4,0,.2,1) both}
body.design-amalfi.amalfi-pilot-started .amalfi-magic-dust i{animation:amalfi-magic-spark 3s calc(2.8s + var(--n)*.08s) ease-in-out both}
body.design-amalfi.amalfi-copy-started .invitation-overture .overture-photo{animation:amalfi-magic-portrait 3.4s cubic-bezier(.22,1,.36,1) both!important}
@keyframes amalfi-crown-left{from{translate:-170px 0;opacity:0}to{translate:0 0;opacity:1}}
@keyframes amalfi-crown-right{from{translate:170px 0;opacity:0}to{translate:0 0;opacity:1}}
@keyframes amalfi-magic-sweep{0%{opacity:0;transform:translateX(-80%)}35%{opacity:.85}100%{opacity:0;transform:translateX(80%)}}
@keyframes amalfi-magic-spark{0%,100%{opacity:0;transform:scale(.2)}40%{opacity:.9;transform:scale(1.4)}70%{opacity:.45;transform:scale(.8)}}
@keyframes amalfi-magic-portrait{from{opacity:0;clip-path:inset(0 0 100% 0);transform:scale(.94)}65%{opacity:1}to{opacity:1;clip-path:inset(0);transform:scale(1)}}
@media(prefers-reduced-motion:reduce){body.design-amalfi .amalfi-magic *{animation:none!important}.amalfi-light-sweep,.amalfi-magic-dust{display:none}body.design-amalfi.entrance-reveal .invitation-overture .overture-photo{animation:none!important;clip-path:none;opacity:1}}
body.design-amalfi.tier-premium.amalfi-copy-started .overture-copy>*{animation:premium-copy-resolve 2s cubic-bezier(.16,1,.3,1) both!important}
body.design-amalfi.tier-premium.amalfi-copy-started .overture-copy>:nth-child(2){animation-delay:.3s!important}
body.design-amalfi.tier-premium.amalfi-copy-started .overture-copy>:nth-child(n+3){animation-delay:.65s!important}
body.design-amalfi.tier-premium.amalfi-copy-started .invitation-overture .overture-photo{animation:amalfi-magic-portrait 3.4s cubic-bezier(.22,1,.36,1) both!important}
@media(prefers-reduced-motion:reduce){body.design-amalfi.amalfi-pilot-started .theme-scene *,body.design-amalfi.amalfi-copy-started .overture-copy,body.design-amalfi.amalfi-copy-started .overture-copy>*{animation:none!important;opacity:1!important;transform:none!important;clip-path:none!important}}
/* Keep the camera origin and compositing unchanged across the reveal boundary. */
body.design-amalfi.tier-premium .invitation-overture .collection-backdrop{transform-origin:50% 65%!important;backface-visibility:hidden}
body.design-amalfi.tier-premium.amalfi-copy-started .overture-copy>*{animation-name:amalfi-steady-content!important;filter:none!important}
body.design-amalfi.tier-premium .amalfi-light-sweep{mix-blend-mode:normal;background:linear-gradient(110deg,transparent 40%,#fff0bc18 47%,#fff7db38 50%,#fff0bc18 53%,transparent 60%)}
@keyframes amalfi-steady-content{from{opacity:0;translate:0 6px}to{opacity:1;translate:0 0}}
@keyframes amalfi-magic-sweep{0%{opacity:0;transform:translate3d(-80%,0,0)}35%{opacity:.35}100%{opacity:0;transform:translate3d(80%,0,0)}}
@media(min-width:1200px){body.design-amalfi.amalfi-pilot-started .invitation-wrap{width:520px;max-width:520px;margin-right:0}body.design-amalfi.amalfi-pilot-started .desktop-memory{display:block;position:fixed;inset:0 520px 0 0;background:#30272a}}
.design-amalfi .creature-bird.winged-flight{width:86px;height:58px;left:-12px;top:24%;animation:amalfi-gull-glide 28s ease-in-out infinite}
.design-amalfi .creature-bird.winged-flight.flight-2{left:auto;right:-15px;top:62%;width:64px;height:43px;animation:amalfi-gull-glide-right 33s -14s ease-in-out infinite}
.design-amalfi .creature-bird .winged-creature{transform:none;filter:drop-shadow(0 2px 3px #46647722)}
.design-amalfi .flight-2.creature-bird .winged-creature{transform:scaleX(-1)}
@keyframes amalfi-gull-glide{0%,100%{transform:translate(-95px,25px) rotate(-8deg);opacity:0}15%,75%{opacity:.85}45%{transform:translate(45px,-45px) rotate(4deg)}85%{transform:translate(-35px,-105px) rotate(-5deg);opacity:0}}
@keyframes amalfi-gull-glide-right{0%,100%{transform:translate(85px,20px) rotate(7deg);opacity:0}15%,70%{opacity:.75}45%{transform:translate(-40px,-60px) rotate(-4deg)}85%{transform:translate(20px,-110px) rotate(4deg);opacity:0}}
@media(prefers-reduced-motion:reduce){.design-amalfi .premium-winged-life{display:none!important}}
/* Natural illustration sprites: wing poses change independently from the flight path. */
.natural-wingbeat{display:block;position:absolute;inset:0;background-repeat:no-repeat;background-size:400% 100%;animation:natural-wingbeat 1.2s steps(1,end) infinite}
.sprite-seagull{background-image:url('/static/assets/premium/natural-wildlife-v3/seagull-clean-v4.webp')}
.sprite-dove{background-image:url('/static/assets/premium/natural-wildlife-v3/dove.webp');animation-duration:1s}
.sprite-swallow{background-image:url('/static/assets/premium/natural-wildlife-v3/swallow.webp');animation-duration:.72s}
.sprite-butterfly{background-image:url('/static/assets/premium/natural-wildlife-v3/butterfly.webp');animation-duration:.85s}
@keyframes natural-wingbeat{0%,100%{background-position:0 50%}25%{background-position:33.333333% 50%}50%{background-position:66.666667% 50%}75%{background-position:100% 50%}}
body.tier-premium .winged-flight:has(.natural-wingbeat){width:50px;height:66.6667px}
body.design-amalfi .creature-bird.winged-flight{width:54px;height:72px}
body.design-amalfi .creature-bird.winged-flight.flight-2{width:43px;height:57.3333px}
body.design-amalfi.invitation-open .inv-section .premium-ambient,body.design-amalfi.invitation-open .inv-section .premium-winged-life{display:block}
body.design-amalfi.invitation-open .inv-section>.theme-scene{opacity:1}
body.design-amalfi .inv-section .winged-flight{top:18%;animation-duration:31s;animation-delay:-6s}
body.design-amalfi .inv-section .winged-flight.flight-2{top:62%;animation-duration:37s;animation-delay:-19s}
body.design-amalfi .inv-section .amalfi-lemon{opacity:.85;animation:amalfi-reading-breeze 9s ease-in-out infinite alternate}
body.design-amalfi .inv-section .amalfi-lemon.lemon-right{animation-delay:-4.5s}
@keyframes amalfi-reading-breeze{from{rotate:-3deg}to{rotate:3deg}}
.amalfi-living-leaves{display:none;position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:5}
body.design-amalfi.invitation-open .inv-section .amalfi-living-leaves{display:block}
.natural-falling-leaf{position:absolute;left:calc(4% + var(--n)*2%);top:-45px;width:26px;height:22px;animation:natural-leaf-fall calc(26s + var(--n)*7s) calc(var(--n)*-11s) linear infinite}
.natural-falling-leaf:nth-child(2){left:auto;right:5%;width:21px;height:18px}
.natural-falling-leaf img{width:100%;height:100%;object-fit:contain;animation:natural-leaf-turn calc(6s + var(--n)*1.5s) ease-in-out infinite alternate}
@keyframes natural-leaf-fall{0%{translate:0 -40px;opacity:0}8%,80%{opacity:.75}45%{translate:16px 50vh}100%{translate:-6px 145vh;opacity:0}}
@keyframes natural-leaf-turn{from{rotate:-35deg;transform:scaleX(.65)}to{rotate:65deg;transform:scaleX(1)}}
.scene-asleep .natural-wingbeat,.scene-asleep .amalfi-living-leaves *,.page-asleep .natural-wingbeat,.page-asleep .amalfi-living-leaves *,.motion-pause .natural-wingbeat,.motion-pause .amalfi-living-leaves *{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.natural-wingbeat,.amalfi-living-leaves{display:none!important}body.design-amalfi .inv-section .amalfi-lemon{animation:none!important}}
.natural-lantern-pair{position:absolute;inset:0;pointer-events:none}
.natural-lantern{position:absolute;left:-12px;top:-24px;width:85px;height:175px;object-fit:contain;object-position:center top;transform-origin:50% 0;animation:natural-lantern-sway 8s ease-in-out infinite alternate}
.natural-lantern.lantern-right{left:auto;right:-14px;top:-45px;width:72px;height:155px;animation-duration:10s;animation-delay:-4s}
@keyframes natural-lantern-sway{from{rotate:-4deg}to{rotate:4deg}}
body.design-lantern-wishes.invitation-open .inv-section .premium-ambient{display:block}
.scene-asleep .natural-lantern,.page-asleep .natural-lantern,.motion-pause .natural-lantern{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.natural-lantern{animation:none!important}}
body.design-amalfi .natural-falling-leaf{left:calc(2% + var(--n)*1.3%);animation-duration:calc(20s + var(--n)*2.8s);animation-delay:calc(var(--n)*-5.3s)}
body.design-amalfi .natural-falling-leaf:nth-child(even){left:auto;right:calc(2% + var(--n)*1%);width:22px;height:18px}
body.design-amalfi .natural-falling-leaf:nth-child(3n){width:18px;height:15px}
body.tier-premium .premium-drifting-leaf{animation-duration:calc(21s + var(--n)*3s);animation-delay:calc(var(--n)*-5.7s)}
/* Per-pose windows isolate each gull; neighboring wings never leak into its animation. */
.sprite-seagull{background-size:310.285714% 100%!important;animation-name:clean-seagull-wingbeat!important;background-repeat:no-repeat}
@keyframes clean-seagull-wingbeat{0%,100%{background-position:-2.377717% 50%;clip-path:inset(16.44% 25.86% 28.59% 16%)}25%{background-position:34.986413% 50%;clip-path:inset(35.50% 12.29% 28.18% 0)}50%{background-position:71.331522% 50%;clip-path:inset(46.69% 19.29% 14.09% 11.86%)}75%{background-position:108.355978% 50%;clip-path:inset(18.51% 25.57% 27.76% 10.29%)}}

/* Bali Sekar: keep the readability glow transparent at every outer edge. */
body.design-bali-sekar .cover .cover-content:before{background:radial-gradient(ellipse closest-side at 50% 50%,#fff2e4e6 0%,#fff2e4a6 50%,#fff2e400 100%)!important;inset:-40px -24px!important}
