/* Theme-specific art sits behind reading content and keeps a single corner set. */
/* Luna floats in cool moonlight; Nocturne uses suspended crystals and low pearl lights. */
body.design-luna .kit-night .kit-primary{animation:luna-moon-float 17s ease-in-out infinite alternate;transform-origin:50% 50%}
body.design-luna .kit-night .kit-right{display:none}
body.design-luna .night-sky-stars i{animation-duration:9s}
body.design-luna .theme-scene :is(.gold-firefly,.shooting-star,.palace-lantern,.moon-orbit,.night-star){display:none!important}
.luna-silver-haze{position:absolute;left:-35%;bottom:8%;width:100%;height:17%;background:radial-gradient(ellipse,#d5e6f61c,transparent 68%);animation:luna-haze-pass 28s ease-in-out infinite alternate}
@keyframes luna-moon-float{from{translate:0 0;rotate:-.5deg}to{translate:9px 12px;rotate:1deg}}
body.design-luna.tier-premium .premium-theme-kit.kit-night .kit-primary{animation-name:luna-moon-float;animation-duration:17s}
body.design-nocturne.tier-premium .premium-theme-kit.kit-night .kit-primary{animation-name:nocturne-crystal-swing;animation-duration:7s}
body.design-nocturne.tier-premium .premium-theme-kit.kit-night .kit-right .kit-primary{animation-duration:10s;animation-delay:-4s}
@keyframes luna-haze-pass{from{translate:0 0;opacity:.3}to{translate:65% -12px;opacity:.8}}
body.design-nocturne .kit-night .kit-primary{animation:nocturne-crystal-swing 7s ease-in-out infinite alternate;transform-origin:50% 0}
body.design-nocturne .kit-night .kit-right .kit-primary{animation-duration:10s;animation-delay:-4s}
body.design-nocturne .kit-atmosphere,body.design-nocturne .theme-scene :is(.gold-firefly,.shooting-star,.palace-lantern,.moon-orbit,.night-star){display:none!important}
body.design-nocturne .night-sky-stars i{animation-duration:6s;opacity:.25}
.nocturne-pearl-lights{position:absolute;inset:0;pointer-events:none}
.nocturne-pearl-lights i{position:absolute;left:var(--x);top:var(--y);width:3px;height:3px;border-radius:50%;background:#fff0cb;box-shadow:0 0 9px 3px #eed3a840;animation:nocturne-pearl-rise calc(8s + var(--n)*.8s) calc(var(--n)*-1.7s) ease-in-out infinite}
@keyframes nocturne-crystal-swing{from{rotate:-4deg;translate:0 0}to{rotate:4deg;translate:0 2px}}
@keyframes nocturne-pearl-rise{0%,100%{translate:0 12px;opacity:0}35%{translate:7px -6px;opacity:.85}70%{translate:-4px -28px;opacity:.3}}
.premium-theme-kit{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:4;contain:layout paint}
.cover .premium-theme-kit{display:none}
.theme-scene:has(.premium-theme-kit) :is(.premium-separated-art,.premium-theme-accents,.collection-ornaments,.sunda-jasmine,.keraton-lamp){display:none!important}
.kit-arrival{position:absolute;inset:0;pointer-events:none}
.kit-primary{position:absolute;left:-28px;bottom:-24px;width:clamp(105px,30vw,165px);height:220px;object-fit:contain;object-position:left bottom;transform-origin:20% 90%;animation:kit-corner-breathe 11s ease-in-out infinite alternate;filter:drop-shadow(0 2px 3px #30281c18)}
.kit-right .kit-primary{left:auto;right:-30px;scale:-1 1;width:clamp(95px,27vw,145px);animation-delay:-5s;animation-duration:13s}
.kit-anchor-top .kit-primary{top:-38px;bottom:auto;left:-20px;width:100px;height:220px;object-position:center top;transform-origin:50% 0;animation-name:kit-pendant-breathe}
.kit-anchor-top .kit-right .kit-primary{left:auto;right:-22px;top:-53px;width:86px;height:205px}
.kit-floral.kit-anchor-top .kit-primary{width:140px;height:255px;left:-36px}
.kit-floral.kit-anchor-top .kit-right .kit-primary{left:auto;right:-35px;width:120px}
.kit-secondary{position:absolute;left:-28px;top:-28px;width:90px;height:155px;transform-origin:50% 0;animation:kit-pendant-breathe 12s ease-in-out infinite alternate}
.kit-secondary img{width:100%;height:100%;object-fit:contain;object-position:center top}
.kit-secondary-right{left:auto;right:-25px;scale:-1 1;animation-delay:-5s}
.kit-atmosphere{position:absolute;inset:0;opacity:.6}
.kit-atmosphere i{position:absolute;left:calc(3% + var(--n)*1%);top:calc(15% + var(--n)*18%);width:3px;height:3px;border-radius:50%;background:#e8cf91;box-shadow:0 0 8px 2px #e8cf9138;animation:kit-edge-light calc(7s + var(--n)*2s) calc(var(--n)*-2.5s) ease-in-out infinite}
.kit-atmosphere i:nth-child(even){left:auto;right:5%}
.kit-night .kit-atmosphere i,.kit-islamic-night .kit-atmosphere i{background:#fff2cc;box-shadow:0 0 10px 2px #ead59a55}
.inv-section .premium-theme-kit{opacity:.85}
.inv-section .kit-primary{width:105px;height:170px;bottom:-22px;left:-22px}
.inv-section .kit-right .kit-primary{left:auto;right:-24px;width:95px}
.inv-section .kit-anchor-top .kit-primary{top:-32px;bottom:auto;width:76px;height:155px;left:-15px}
.inv-section .kit-anchor-top .kit-right .kit-primary{left:auto;right:-15px;top:-42px;width:66px}
.inv-section .kit-secondary{width:65px;height:125px;left:-18px}.inv-section .kit-secondary-right{left:auto;right:-20px}
body.tier-premium.entrance-running .invitation-overture .kit-left{animation:kit-arrive-left 4s .8s cubic-bezier(.22,1,.36,1) both}
body.tier-premium.entrance-running .invitation-overture .kit-right{animation:kit-arrive-right 4.3s 1.1s cubic-bezier(.22,1,.36,1) both}
@keyframes kit-arrive-left{from{translate:-220px 0;opacity:0}35%{opacity:1}to{translate:0 0;opacity:1}}
@keyframes kit-arrive-right{from{translate:220px 0;opacity:0}35%{opacity:1}to{translate:0 0;opacity:1}}
@keyframes kit-corner-breathe{from{rotate:-2deg}to{rotate:2.5deg}}
@keyframes kit-pendant-breathe{from{rotate:-3deg}to{rotate:3deg}}
@keyframes kit-edge-light{0%,100%{opacity:.08;translate:0 6px}45%{opacity:.75;translate:0 -6px}}
.scene-asleep .premium-theme-kit *,.page-asleep .premium-theme-kit *,.motion-pause .premium-theme-kit *{animation-play-state:paused!important}
@media(min-width:1200px){body.tier-premium.entrance-running .invitation-wrap{width:520px;max-width:520px;margin-right:0}body.tier-premium.entrance-running .desktop-memory{display:block;position:fixed;inset:0 520px 0 0;background:#30272a}}
@media(prefers-reduced-motion:reduce){body .premium-theme-kit *{animation:none!important;translate:none!important}.kit-atmosphere{display:none}}
.kit-anchor-corner .kit-left .kit-primary{top:-24px;bottom:auto;object-position:left top;transform-origin:20% 10%}
.kit-anchor-corner .kit-right .kit-primary{transform:rotate(180deg);scale:none;transform-origin:50% 50%}
body.tier-premium .inv-section>.theme-scene:has(.premium-theme-kit){opacity:1}
body.tier-premium .inv-section>.theme-scene:has(.premium-theme-kit) :is(.collection-backdrop,.premium-still-backdrop,.grand-scenery,.keraton-pendopo){opacity:.12}
body.tier-premium.invitation-open .inv-section :is(.premium-ambient,.premium-winged-life){display:block}
body.tier-premium.invitation-open .inv-section .winged-flight{width:38px;height:50.6667px;left:-8px;top:24%}
body.tier-premium.invitation-open .inv-section .winged-flight.flight-2{left:auto;right:-10px;top:66%;width:30px;height:40px}
.inv-section .premium-drifting-leaf{width:20px;height:25px;opacity:.65}
@media(prefers-reduced-motion:reduce){body.tier-premium.invitation-open .inv-section .premium-winged-life{display:none!important}}
.inv-section .kit-anchor-corner .kit-left .kit-primary{width:88px;height:150px;left:-28px}
.inv-section .kit-anchor-corner .kit-right .kit-primary{width:88px;height:150px;right:-28px}
.aurora-fine-detail{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:3}
.cover .aurora-fine-detail{display:none}
.aurora-soft-ribbon{position:absolute;inset:-15% -30% 35%;background:radial-gradient(ellipse at 15% 25%,#a2efd820,transparent 45%),radial-gradient(ellipse at 80% 5%,#b5bbf329,transparent 50%);opacity:.35;animation:aurora-ribbon-drift 19s ease-in-out infinite alternate}
.aurora-crystal-detail{position:absolute;left:3%;top:27%;width:24px;height:70px;opacity:.55;animation:aurora-crystal-drift 9s ease-in-out infinite alternate}
.aurora-crystal-detail img{width:100%;height:100%;object-fit:contain}
.crystal-detail-1{left:auto;right:3%;top:47%;width:17px;height:48px;opacity:.4;animation-delay:-4s;animation-duration:12s}
.crystal-detail-2{left:6%;top:75%;width:13px;height:37px;opacity:.3;animation-delay:-7s;animation-duration:14s}
.aurora-ice-mote{position:absolute;left:calc(3% + var(--n)*1%);top:calc(12% + var(--n)*9%);width:2px;height:2px;border-radius:50%;background:#d8f5ec;box-shadow:0 0 7px 2px #b7ead644;animation:aurora-ice-drift calc(11s + var(--n)*1.6s) calc(var(--n)*-3.3s) ease-in-out infinite alternate}
.aurora-ice-mote:nth-child(even){left:auto;right:5%}
.inv-section .aurora-fine-detail{opacity:.65}
@keyframes aurora-ribbon-drift{from{translate:-8px 0;rotate:-2deg;opacity:.25}to{translate:12px 8px;rotate:3deg;opacity:.45}}
@keyframes aurora-crystal-drift{from{translate:0 8px;rotate:-4deg}to{translate:4px -8px;rotate:4deg}}
@keyframes aurora-ice-drift{from{translate:0 14px;opacity:.15}to{translate:6px -12px;opacity:.7}}
.scene-asleep .aurora-fine-detail *,.motion-pause .aurora-fine-detail *,.page-asleep .aurora-fine-detail *{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.aurora-fine-detail *{animation:none!important}.aurora-ice-mote{display:none}}
.premium-special-effects{position:absolute;inset:0;z-index:3;overflow:hidden;pointer-events:none}
.cover .premium-special-effects{display:none}
.premium-star-field{position:absolute;inset:0}
.premium-fine-star{position:absolute;left:calc(3% + var(--n)*1.2%);top:calc(8% + var(--n)*11%);width:3px;height:3px;background:radial-gradient(circle,#fff6d6,transparent 70%);box-shadow:0 0 6px 1px #fff0c033;animation:premium-star-breathe calc(8s + var(--n)*1.7s) calc(var(--n)*-3.7s) ease-in-out infinite alternate}
.premium-fine-star:nth-child(even){left:auto;right:calc(3% + var(--n)*.8%)}
.premium-fine-star:nth-child(3n){width:5px;height:5px}
.premium-star-trail{position:absolute;top:12%;left:8%;width:52px;height:1px;background:linear-gradient(90deg,transparent,#fff6dbb0);transform-origin:100% 50%;animation:premium-star-passing 33s 5s ease-in-out infinite both}
.premium-curtain-arrival{position:absolute;left:-23px;top:-10px;width:85px;height:290px;pointer-events:none}
.premium-curtain-arrival.curtain-right{left:auto;right:-26px;width:70px;height:260px;scale:-1 1}
.premium-silk-curtain{width:100%;height:100%;object-fit:fill;transform-origin:50% 0;opacity:.65;animation:premium-silk-breeze 12s ease-in-out infinite alternate}
.curtain-right .premium-silk-curtain{animation-delay:-6s;animation-duration:15s;opacity:.5}
.inv-section .premium-curtain-arrival{width:58px;height:210px;left:-24px;opacity:.5}
.inv-section .premium-curtain-arrival.curtain-right{left:auto;right:-24px;width:48px;height:180px}
body.tier-premium.entrance-running .invitation-overture .premium-curtain-arrival:not(.curtain-right){animation:kit-arrive-left 4.6s 1.3s cubic-bezier(.22,1,.36,1) both}
body.tier-premium.entrance-running .invitation-overture .premium-curtain-arrival.curtain-right{animation:kit-arrive-right 4.9s 1.6s cubic-bezier(.22,1,.36,1) both}
.premium-wind-wash{position:absolute;left:-15%;right:-15%;bottom:10%;height:85px;background:linear-gradient(170deg,transparent 40%,#fff8e519 50%,transparent 62%);opacity:.3;animation:premium-wind-breath 17s ease-in-out infinite alternate}
@keyframes premium-star-breathe{from{opacity:.18;scale:.8}to{opacity:.7;scale:1.15}}
@keyframes premium-star-passing{0%,10%,100%{opacity:0;translate:0 0;rotate:-30deg}3%{opacity:.55}8%{opacity:0;translate:55px 35px;rotate:-30deg}}
@keyframes premium-silk-breeze{from{rotate:-2deg;transform:skewX(-1deg)}to{rotate:3deg;transform:skewX(1deg)}}
@keyframes premium-wind-breath{from{translate:-12px 4px;opacity:.2}to{translate:18px -5px;opacity:.4}}
.scene-asleep .premium-special-effects *,.page-asleep .premium-special-effects *,.motion-pause .premium-special-effects *{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.premium-special-effects *{animation:none!important}.premium-star-trail,.premium-wind-wash{display:none}}
/* Aurelia: imperial portrait composition, with one frame and open reading space. */
body.design-aurelia .invitation-overture .overture-copy{top:0!important;width:calc(100% - 24px);max-width:440px;padding:86px 20px 46px;margin:0 auto;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;background:radial-gradient(ellipse,#fff9ea7a,transparent 75%)}
body.design-aurelia .aurelia-opening-kicker{font-size:9px;letter-spacing:3px;margin:0 0 20px;color:#8b7042}
body.design-aurelia .invitation-overture .aurelia-opening-portrait{width:clamp(165px,52vw,210px);height:clamp(207px,65vw,263px);margin:0 auto 10px;rotate:none;background:none;box-shadow:none}
body.design-aurelia .aurelia-initials{font:42px/1.15 'Great Vibes',cursive;color:#b08c50;margin:4px 0 8px;letter-spacing:3px}
body.design-aurelia .aurelia-initials i{font:italic 20px 'Cormorant Garamond',serif;margin:0 7px}
body.design-aurelia .overture-copy .aurelia-opening-names{font:44px/1.12 'Cormorant Garamond',serif;font-weight:400;letter-spacing:-.6px;margin:8px 0 14px;text-align:center;color:#705534}
body.design-aurelia .aurelia-opening-names i{font-size:.65em;font-style:italic;margin:0 8px}
body.design-aurelia .aurelia-opening-greeting{font:17px/1.6 'Cormorant Garamond',serif;max-width:260px;margin:0 auto 15px}
body.design-aurelia .overture-copy .overture-date{margin:8px 0 20px;font-size:10px;letter-spacing:2px}
body.design-aurelia .premium-curtain-arrival{left:-29px;width:110px;height:350px}
body.design-aurelia .premium-curtain-arrival.curtain-right{left:auto;right:-29px;width:96px;height:325px}
body.design-aurelia .premium-silk-curtain{opacity:.8}
body.design-aurelia .kit-primary{width:145px;height:225px}
body.design-aurelia .inv-section .premium-curtain-arrival{width:58px;height:210px}
body.design-aurelia .inv-section .kit-primary{width:88px;height:150px}
@media(max-height:740px){body.design-aurelia .invitation-overture .overture-copy{padding-top:70px;padding-bottom:28px}body.design-aurelia .invitation-overture .aurelia-opening-portrait{width:155px;height:194px}body.design-aurelia .aurelia-initials{font-size:32px}body.design-aurelia .overture-copy .aurelia-opening-names{font-size:36px}body.design-aurelia .aurelia-opening-greeting{font-size:15px}}
/* Slightly quicker ambient motion, while entrance pacing stays unchanged. */
body.tier-premium .kit-primary{animation-duration:7.5s}
body.tier-premium .kit-right .kit-primary{animation-duration:9s}
body.tier-premium .kit-secondary{animation-duration:8.5s}
body.tier-premium .premium-silk-curtain{animation-duration:8s}
body.tier-premium .curtain-right .premium-silk-curtain{animation-duration:10s}
body.tier-premium .kit-primary{animation-name:kit-visible-breathe}
body.tier-premium .kit-anchor-top .kit-primary{animation-name:kit-pendant-breathe}
body.design-amalfi .inv-section .amalfi-lemon{animation-duration:6s}
@keyframes kit-visible-breathe{from{rotate:-3deg}to{rotate:3.5deg}}
/* Small ambient ornaments on all Premium covers, following the Celestia example. */
body.tier-premium .cover .premium-ambient{display:block!important;pointer-events:none}
body.tier-premium .cover .premium-winged-life{visibility:visible!important;display:block!important}
body.tier-premium .cover .winged-flight{animation:winged-edge-flight 20s ease-in-out infinite!important;top:22%;left:4px;opacity:.8}
body.tier-premium .cover .winged-flight.flight-2{left:auto;right:3px;top:65%;animation-duration:25s!important;animation-delay:-11s!important}
body.tier-premium .cover .natural-wingbeat{animation:natural-wingbeat 1.2s steps(1,end) infinite!important}
body.tier-premium .cover .sprite-seagull{animation-name:clean-seagull-wingbeat!important}
body.tier-premium .cover .sprite-swallow{animation-duration:.72s!important}
body.tier-premium .cover .sprite-butterfly{animation-duration:.85s!important}
body.design-cheerful-bloom .kit-right .kit-primary{top:-32px;bottom:auto;transform:none;scale:-1 1;object-position:right top;transform-origin:80% 10%}
body.design-cheerful-bloom .cover .winged-flight.flight-2{top:25%}
.inv-section{scroll-margin-top:0!important}html{scroll-padding-top:0!important}
@media(prefers-reduced-motion:reduce){body.tier-premium .cover .premium-winged-life{display:none!important}body.tier-premium .cover .natural-wingbeat{animation:none!important}}
.amalfi-continuous-birds{position:fixed;inset:0;left:50%;translate:-50% 0;width:min(100%,640px);z-index:7;overflow:hidden;pointer-events:none}
body.design-amalfi .amalfi-continuous-birds .premium-winged-life{visibility:visible!important;display:block!important}
body.design-amalfi .amalfi-continuous-birds .winged-flight{animation:amalfi-gull-glide 28s ease-in-out infinite!important;animation-delay:-9s!important;width:54px;height:72px;left:-12px;top:24%}
body.design-amalfi .amalfi-continuous-birds .winged-flight.flight-2{left:auto;right:-15px;top:62%;width:43px;height:57.3333px;animation-name:amalfi-gull-glide-right!important;animation-duration:33s!important;animation-delay:-14s!important}
body.design-amalfi .amalfi-continuous-birds .natural-wingbeat{animation:clean-seagull-wingbeat 1.2s steps(1,end) infinite!important}
body.design-amalfi .amalfi-continuous-birds :is(.winged-flight,.natural-wingbeat){animation-play-state:running!important}
body.design-amalfi .amalfi-continuous-birds .winged-creature{transform:none;filter:drop-shadow(0 2px 3px #46647722)}
body.design-amalfi .amalfi-continuous-birds .flight-2 .winged-creature{transform:scaleX(-1)}
@media(min-width:1200px){.amalfi-continuous-birds{left:auto;right:0;translate:none;width:520px}}
@media(prefers-reduced-motion:reduce){body.design-amalfi .amalfi-continuous-birds{display:none!important}}
body.page-asleep .amalfi-continuous-birds *,body.motion-pause .amalfi-continuous-birds *{animation-play-state:paused!important}
/* Amalfi cover uses falling leaves; birds enter only once the invitation is open. */
body.design-amalfi:not(.invitation-open) .amalfi-continuous-birds{display:none}
body.design-amalfi .cover .amalfi-living-leaves{display:block}
body.design-amalfi .cover .natural-falling-leaf{animation-duration:calc(18s + var(--n)*2.4s);animation-delay:calc(var(--n)*-4.1s)}
body.design-amalfi.invitation-open .amalfi-continuous-birds{display:block;animation:amalfi-birds-soft-arrival 1.5s ease both}
@keyframes amalfi-birds-soft-arrival{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){body.design-amalfi .cover .amalfi-living-leaves{display:none!important}body.design-amalfi.invitation-open .amalfi-continuous-birds{animation:none!important}}
/* Aurelia interiors: warm palace texture, generous portraits, subtle corner craftsmanship. */
body.design-aurelia .inv-section>.theme-scene:has(.premium-theme-kit) .premium-still-backdrop{opacity:.24}
body.design-aurelia #mempelai{background:radial-gradient(ellipse at 50% 25%,#fffaf080,transparent 65%),var(--paper)}
body.design-aurelia #mempelai .chapter-heading h2{font:40px/1.15 'Cormorant Garamond',serif;color:#785b35}
body.design-aurelia #mempelai .opening-portrait{width:240px;max-width:80%}
body.design-aurelia #mempelai .profile-photo{width:190px;height:238px;object-fit:cover}
body.design-aurelia #mempelai .couple-profiles article{position:relative;isolation:isolate;padding-block:28px!important}
body.design-aurelia #mempelai .couple-profiles article::before{content:'';position:absolute;inset:-5px -12px;z-index:-1;background:radial-gradient(ellipse at 50% 30%,#e4c88825,transparent 70%);pointer-events:none}
body.design-aurelia #mempelai .couple-profiles h3{font-size:40px;color:#8b683b}
body.design-aurelia .inv-section .premium-theme-kit{opacity:1}
body.design-aurelia .inv-section .kit-secondary{opacity:.8}
body.tier-premium :is(.gift,.rsvp) .premium-theme-kit{opacity:.5}
body.tier-premium :is(.gift,.rsvp) .premium-ambient{opacity:.55}
body.tier-premium :is(.gift,.rsvp) .kit-primary{width:65px;height:130px}

/* Moving leaves stay within narrow side gutters, never crossing portraits or copy. */
body.tier-premium .premium-drifting-leaf{width:16px;height:23px;animation-name:premium-leaf-safe-descent}
body.tier-premium .leaf-side-left{left:5px}
body.tier-premium .leaf-side-right{right:5px}
@keyframes premium-leaf-safe-descent{
  0%{translate:0 -40px;rotate:-28deg;opacity:0}
  8%{opacity:.65}
  29%{translate:3px 28svh;rotate:35deg}
  58%{translate:-2px 60svh;rotate:128deg}
  82%{translate:2px 85svh;rotate:204deg;opacity:.6}
  100%{translate:0 112svh;rotate:268deg;opacity:0}
}
/* Newly promoted Adat scenery already supplies decorated roofs and foregrounds.
   Reserve its empty middle side bands for floating leaves. Interior pages keep
   the full side path because their scenery is deliberately subdued. */
body.adat-promoted :is(.cover,.invitation-overture) .premium-ambient-leaf{
  clip-path:polygon(0 25%,32px 25%,32px 65%,calc(100% - 32px) 65%,calc(100% - 32px) 25%,100% 25%,100% 65%,0 65%);
  mask-image:linear-gradient(transparent 25%,#000 32%,#000 58%,transparent 65%);
}
@media(prefers-reduced-motion:reduce){body.tier-premium .premium-drifting-leaf{animation:none!important;display:none}}

/* Jeumpa grows upwards. Keep added branches out of the decorated roof/floor. */
body.design-aceh-jeumpa .kit-anchor-corner .kit-primary{
  top:30%;bottom:auto;left:-27px;width:62px;height:115px;
  object-position:left center;transform:none;scale:none;
  transform-origin:0 80%;animation-name:jeumpa-edge-sway;
}
body.design-aceh-jeumpa .kit-anchor-corner .kit-right .kit-primary{
  left:auto;right:-27px;top:43%;bottom:auto;transform:none;scale:-1 1;
  object-position:right center;transform-origin:50% 50%;
}
body.design-aceh-jeumpa .inv-section .kit-anchor-corner .kit-primary{
  top:18%;width:54px;height:100px;left:-24px;
}
body.design-aceh-jeumpa .inv-section .kit-anchor-corner .kit-right .kit-primary{
  top:58%;left:auto;right:-24px;
}
@keyframes jeumpa-edge-sway{from{rotate:-1deg}to{rotate:1.5deg}}

/* Jeumpa: visible breeze and a denser stream, confined to the side gutters. */
body.design-aceh-jeumpa .premium-drifting-leaf{
  width:24px;height:32px;
  animation-duration:calc(12s + var(--n)*.25s);
  animation-delay:calc(var(--n)*-.89s);
}
body.design-aceh-jeumpa .premium-drifting-leaf:nth-child(3n){width:27px;height:36px}
body.design-aceh-jeumpa .leaf-side-left{left:2px}
body.design-aceh-jeumpa .leaf-side-right{right:2px}
body.design-aceh-jeumpa .kit-primary{animation-duration:3.8s}
body.design-aceh-jeumpa .kit-right .kit-primary{animation-duration:4.6s;animation-delay:-1.7s}
@keyframes jeumpa-edge-sway{
  from{rotate:-4deg;translate:-1px 0}
  to{rotate:4deg;translate:2px -3px}
}

/* Independent slow descent and a gentle irregular flutter; no chapter remount. */
.jeumpa-continuous-leaves{position:fixed;inset:0;left:50%;translate:-50% 0;width:min(100%,640px);z-index:7;overflow:hidden;pointer-events:none}
.jeumpa-continuous-leaves .premium-ambient-leaf{display:block!important;animation:none!important;opacity:1!important;
  clip-path:polygon(0 0,34px 0,34px 100%,calc(100% - 34px) 100%,calc(100% - 34px) 0,100% 0,100% 100%,0 100%);
  mask-image:linear-gradient(transparent 25%,#000 32%,#000 58%,transparent 65%)}
.jeumpa-continuous-leaves.leaf-interior .premium-ambient-leaf{mask-image:linear-gradient(transparent,#000 12%,#000 88%,transparent)}
body.design-aceh-jeumpa .jeumpa-continuous-leaves .premium-drifting-leaf{
  width:var(--leaf-size,25px);height:calc(var(--leaf-size,25px)*1.34);
  animation:jeumpa-slow-fall var(--fall-time,30s) var(--fall-phase,-12s) linear infinite}
body.design-aceh-jeumpa .jeumpa-continuous-leaves .leaf-side-left{left:var(--edge-gap,1px)}
body.design-aceh-jeumpa .jeumpa-continuous-leaves .leaf-side-right{right:var(--edge-gap,1px)}
body.design-aceh-jeumpa .jeumpa-continuous-leaves .premium-drifting-leaf img{
  animation:jeumpa-leaf-flutter var(--sway-time,5s) var(--sway-phase,-2s) ease-in-out infinite;
  animation-direction:var(--flutter-direction,alternate);transform-origin:50% 35%}
@keyframes jeumpa-slow-fall{0%{translate:0 -40px;opacity:0}8%{opacity:.8}90%{opacity:.8}100%{translate:0 112svh;opacity:0}}
@keyframes jeumpa-leaf-flutter{0%{transform:translateX(-1px) rotate(calc(var(--leaf-tilt,0deg) - 22deg)) rotateY(-35deg)}45%{transform:translateX(2px) rotate(calc(var(--leaf-tilt,0deg) + 10deg)) rotateY(15deg)}100%{transform:translateX(0) rotate(calc(var(--leaf-tilt,0deg) + 28deg)) rotateY(40deg)}}
body.page-asleep .jeumpa-continuous-leaves *,body.motion-pause .jeumpa-continuous-leaves *{animation-play-state:paused!important}
@media(min-width:1200px){.jeumpa-continuous-leaves{left:auto;right:0;translate:none;width:520px}}
@media(prefers-reduced-motion:reduce){.jeumpa-continuous-leaves{display:none!important}}

/* Leaves enter beyond the top edge; never reveal them halfway down the screen. */
.jeumpa-continuous-leaves .premium-ambient-leaf,
.jeumpa-continuous-leaves.leaf-interior .premium-ambient-leaf{
  mask-image:none;
  clip-path:polygon(0 0,46px 0,46px 100%,calc(100% - 46px) 100%,calc(100% - 46px) 0,100% 0,100% 100%,0 100%);
}
body.design-aceh-jeumpa .jeumpa-continuous-leaves .leaf-gold img{filter:sepia(.35) saturate(1.2) hue-rotate(8deg)}
@keyframes jeumpa-slow-fall{from{translate:0 -40px;opacity:.75}to{translate:0 calc(100svh + 100px);opacity:.75}}

/* A quieter canopy: identical green/yellow leaves, with occasional upper-center drift. */
body.design-aceh-jeumpa .jeumpa-continuous-leaves .leaf-gold img{filter:sepia(1) saturate(2.2) hue-rotate(2deg) brightness(1.12)}
.jeumpa-continuous-leaves .premium-ambient-leaf{clip-path:none}
body.design-aceh-jeumpa .jeumpa-continuous-leaves .leaf-center{
  right:auto;left:var(--center-start,45%);animation-name:jeumpa-canopy-fall;
  --canopy-edge:5px;
}
body.design-aceh-jeumpa .jeumpa-continuous-leaves .leaf-center.leaf-side-right{--canopy-edge:calc(100% - 34px)}
@keyframes jeumpa-canopy-fall{
  0%{left:var(--center-start,45%);translate:0 -40px;opacity:.65}
  22%{left:var(--canopy-edge);translate:0 15svh;opacity:.65}
  100%{left:var(--canopy-edge);translate:0 calc(100svh + 100px);opacity:.65}
}

/* Quiet Jeumpa cover/entrance detail, fading out before the content chapters. */
.jeumpa-continuous-leaves{opacity:.38;transition:opacity 1.2s ease}
.jeumpa-continuous-leaves.leaf-interior{opacity:0}
body.design-aceh-jeumpa .jeumpa-continuous-leaves .leaf-gold img{filter:sepia(.8) saturate(1.1) brightness(1.05)}

/* Interior ornaments keep a readable, continuous breeze beyond the entrance. */
body.tier-premium .inv-section .kit-primary{
  animation:premium-chapter-foliage 6.5s ease-in-out infinite alternate;
}
body.tier-premium .inv-section .kit-right .kit-primary{animation-duration:8s;animation-delay:-3.1s}
body.tier-premium .inv-section .kit-anchor-top .kit-primary{animation-name:premium-chapter-pendant;transform-origin:50% 0}
body.tier-premium .inv-section .kit-secondary img{animation:premium-chapter-pendant 7s -2s ease-in-out infinite alternate;transform-origin:50% 0}
body.tier-premium .amalfi-crown img{animation:premium-chapter-foliage 7.5s ease-in-out infinite alternate;transform-origin:50% 80%}
body.tier-premium .crown-right img{animation-delay:-3.5s;animation-duration:9s}
@keyframes premium-chapter-foliage{from{rotate:-3.5deg;translate:0 0}to{rotate:3.5deg;translate:1px -3px}}
@keyframes premium-chapter-pendant{from{rotate:-4deg}to{rotate:4deg}}
/* Respect the existing motion controls and stop work for scenes off screen. */
body.tier-premium .scene-asleep :is(.kit-primary,.kit-secondary img,.amalfi-crown img),
body.page-asleep :is(.kit-primary,.kit-secondary img,.amalfi-crown img),
body.motion-pause :is(.kit-primary,.kit-secondary img,.amalfi-crown img){animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){body.tier-premium :is(.kit-primary,.kit-secondary img,.amalfi-crown img){animation:none!important}}

/* A single initials flourish for every Premium, followed by the real scene.
   Persistent start class preserves the final pose when entrance timers finish. */
.premium-initial-reveal{display:none;position:fixed;inset:0;left:50%;translate:-50% 0;width:min(100%,640px);z-index:14;pointer-events:none;align-items:center;justify-content:center;gap:18px;color:var(--color);font:500 clamp(58px,15vw,82px)/1 'Cormorant Garamond',serif;text-shadow:0 1px 16px var(--paper)}
.premium-initial-reveal em{font-size:.55em;font-weight:400}
body.tier-premium.premium-entrance-started .premium-initial-reveal{display:flex;animation:premium-initials-cinematic 3.2s cubic-bezier(.4,0,.2,1) both}
body.tier-premium .entrance-transition{display:none!important}
body.tier-premium.entrance-running:not(.entrance-reveal) .invitation-overture .overture-copy{opacity:0!important}
body.tier-premium:not(.design-amalfi).premium-entrance-started .invitation-overture .theme-scene :is(.collection-backdrop,.premium-still-backdrop,.real-ocean-video,.keraton-pendopo){
  animation:premium-camera-continuous 7.2s cubic-bezier(.3,0,.2,1) both!important;
  transform-origin:50% 60%;
}
@keyframes premium-initials-cinematic{0%{opacity:0;scale:.85;filter:blur(3px)}18%,45%{opacity:.95;scale:1;filter:blur(0)}100%{opacity:0;scale:1.24;filter:blur(2px)}}
@keyframes premium-camera-continuous{from{transform:scale(1);filter:blur(1px)}to{transform:scale(1.08);filter:blur(0)}}
@media(min-width:1200px){.premium-initial-reveal{left:auto;right:0;translate:none;width:520px}}
@media(prefers-reduced-motion:reduce){body.tier-premium .premium-initial-reveal{display:none!important}body.tier-premium.premium-entrance-started .invitation-overture .theme-scene :is(.collection-backdrop,.premium-still-backdrop,.real-ocean-video,.keraton-pendopo){animation:none!important;transform:none!important;filter:none!important}}

/* Baileo: one leaf sprig in the empty upper-right area, no stacked tassels. */
body.design-baileo .kit-anchor-top .kit-right .kit-primary{top:66px;right:-10px;width:74px;height:145px;object-position:right top;transform:none;scale:none;transform-origin:90% 5%;animation:baileo-leaf-breeze 7s ease-in-out infinite alternate}
body.design-baileo .inv-section .kit-anchor-top .kit-right .kit-primary{top:10px;right:-14px;width:58px;height:120px}
@keyframes baileo-leaf-breeze{from{rotate:-3deg;translate:0 0}to{rotate:3deg;translate:-2px 3px}}
@media(prefers-reduced-motion:reduce){body.design-baileo .kit-primary{animation:none!important}}
