/* Aceh cinematic pilot. One composition, one entrance timeline.
   Scene stack: sky 0, clouds 1, hills 2, ground 3, trees/birds 4,
   house 5, middle garden 6, foreground 7. Copy lives above the scene. */
body.design-aceh{--entrance-duration:6.4s;--entrance-reveal-delay:2.1s;--entrance-chapter-duration:4.3s}
body.design-aceh .theme-scene{opacity:1!important;background:none!important}
body.design-aceh .entrance-transition{display:none!important}
.aceh-layered-scene{position:absolute;inset:0;overflow:hidden;pointer-events:none;isolation:isolate;container-type:size;background:linear-gradient(180deg,#f5ecd9 0%,#faf3e5 46%,#e3e2cd 78%,#c6c6a3 100%)}
.aceh-original-cover{display:none}
:is(.cover,.closing,#story-section) .aceh-original-cover{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
:is(.cover,.closing,#story-section) .aceh-layered-scene>:not(.aceh-original-cover){display:none}
.aceh-layer{position:absolute;inset:0;pointer-events:none}
.aceh-sky-texture{position:absolute;inset:0;background:radial-gradient(ellipse at 18% 12%,#fffcf1d9,transparent 60%)}
.aceh-cloud-layer{z-index:1}
.aceh-cloud{position:absolute;width:125%;height:auto;left:-30%;top:6%;opacity:.52;animation:aceh-cloud-wind 48s -12s ease-in-out infinite alternate}
.cloud-near{width:95%;top:39%;left:45%;opacity:.3;scale:-1 1;animation-duration:64s;animation-delay:-30s}
.aceh-horizon-layer{z-index:2}
.aceh-hills{position:absolute;width:145%;max-width:none;height:auto;left:-22%;bottom:11%;opacity:.37;filter:saturate(.65)}
.aceh-ground-texture{position:absolute;inset:77% 0 0;z-index:3;background:radial-gradient(ellipse at 56% 58%,#f3e7c9 0%,#e1d2aa80 36%,transparent 68%),linear-gradient(transparent,#b3b79599)}
.aceh-tree-layer{z-index:4}
.aceh-palm{position:absolute;width:42%;height:auto;left:-12%;bottom:8%;transform-origin:50% 100%;filter:saturate(.75);animation:aceh-tree-breeze 7.4s -2s ease-in-out infinite alternate}
.palm-distant{width:27%;left:auto;right:-7%;bottom:16%;scale:-1 1;opacity:.65;animation-duration:9.6s;animation-delay:-6s}
.aceh-house-layer{z-index:5}
.aceh-house{position:absolute;width:94%;max-width:none;height:auto;right:-5%;bottom:4.5%;filter:drop-shadow(0 8px 7px #5b503c20);transform:none}
.aceh-garden-layer{z-index:6}
.aceh-foreground-layer{z-index:7}
.aceh-plant{position:absolute;bottom:-3%;width:30%;pointer-events:none}
.aceh-plant img{display:block;width:100%;height:auto;transform-origin:50% 95%;animation:aceh-plant-breeze 6s -2s ease-in-out infinite alternate;filter:saturate(.8) drop-shadow(0 3px 2px #4e513b14)}
.grass-left{left:-9%;width:30%;bottom:0;--wind-low:-4deg;--wind-high:4.5deg}
.grass-right{right:-12%;width:31%;bottom:1%;scale:-1 1;--wind-low:-3.5deg;--wind-high:4deg}
.grass-right img{animation-duration:6.8s;animation-delay:-3.8s}
.jeumpa-right{right:-6%;width:25%;bottom:1%}
.jeumpa-right img{animation-duration:8.6s;animation-delay:-3s}
.jeumpa-low{left:48%;width:44%;bottom:-1.5%}
.jeumpa-low img{animation-duration:10s;animation-delay:-6s}
.fern-left{left:-12%;width:47%;bottom:-1%}
.fern-right{right:-14%;width:42%;bottom:-1.5%;scale:-1 1}
.fern-right img{animation-delay:-4s;animation-duration:9s}
.flowers-left{left:7%;width:33%;bottom:-1.8%}
.flowers-middle{left:29%;width:47%;bottom:-5%}
.flowers-middle img{animation-duration:7.8s;animation-delay:-4s}
.flowers-right{right:-1%;width:29%;bottom:-1.8%;scale:-1 1}
/* Doves stay behind the roof. Side corridors keep faces and names clear.
   Four 543x724 sprite frames: intrinsic ratio 3/4, no stretched birds. */
.aceh-bird-layer{z-index:4}
.aceh-bird-flight{position:absolute;left:var(--bird-start);bottom:17%;width:var(--bird-size);aspect-ratio:3/4;opacity:0;--flight:aceh-flight-left}
.bird-right{--flight:aceh-flight-right}
.bird-high{--flight:aceh-flight-high}
.aceh-dove{display:block;width:100%;height:100%;background:url('/static/assets/collection/aceh-layered-v2/wedding-dove-clean.webp') 0 0/400% 100% no-repeat;animation:aceh-wingbeat var(--flap-duration) var(--flap-phase) steps(1,end) infinite}
.bird-left .aceh-dove,.bird-high .aceh-dove{scale:-1 1}
body.design-aceh.aceh-layered-started .invitation-overture .aceh-bird-flight{animation:var(--flight) var(--bird-duration) var(--bird-delay) linear both}
body.design-aceh.aceh-layered-started .invitation-overture .bird-repeat{animation-iteration-count:infinite}
.aceh-flower-butterfly{position:absolute;left:24%;bottom:5%;width:18px;aspect-ratio:3/4;animation:aceh-butterfly-drift 13s -4s ease-in-out infinite;opacity:.85}
.aceh-flower-butterfly>span{display:block;width:100%;height:100%;background:url('/static/assets/premium/natural-wildlife-v3/butterfly.webp') 0 0/400% 100% no-repeat;animation:aceh-wingbeat .65s steps(1,end) infinite}
.butterfly-b{left:75%;bottom:7%;width:15px;animation-duration:17s;animation-delay:-9s;scale:-1 1}
/* Cover is a complete painting, with a soft light field instead of an opaque panel. */
body.design-aceh .cover{min-height:100svh;padding:120px 20px 20px;display:flex;align-items:center;justify-content:center}
body.design-aceh .cover .cover-content{background:radial-gradient(ellipse,#fbf3e3ed 25%,#fbf3e3b3 57%,#fbf3e300 74%)!important;border-radius:0;box-shadow:none;width:100%;max-width:390px;padding:26px 22px;color:#68482e}
body.design-aceh .cover .cover-content>*{animation:none!important;opacity:1;transform:none}
body.design-aceh .cover .couple-monogram{display:flex!important;font-size:78px;margin-bottom:16px}
body.design-aceh .cover h1{font-size:36px;line-height:1.2;margin:15px auto}
body.design-aceh .cover .guest-block{margin:20px auto 16px;background:none;padding:12px 5px}
body.design-aceh .cover #open-invitation{min-height:46px;background:#715338;color:#fff8e8;border:1px solid #9d8055;box-shadow:0 5px 18px #493a2720}
body.design-aceh .cover:is(.aceh-cover-holding,.aceh-cover-depart){position:fixed!important;z-index:40;margin:0;min-height:0;pointer-events:none}
body.design-aceh .cover.aceh-cover-depart{animation:aceh-cover-dissolve 2.4s cubic-bezier(.4,0,.2,1) both!important}
body.design-aceh .cover.aceh-cover-depart .cover-content{animation:aceh-cover-copy-out .7s ease both!important}
/* Stable opening composition. Text has no panel to obscure the architecture. */
body.design-aceh .invitation-overture{min-height:max(760px,100svh);padding:88px 22px 310px;display:flex;align-items:flex-start;justify-content:center;isolation:isolate}
body.design-aceh .invitation-overture .overture-copy{position:relative;z-index:8;background:none!important;box-shadow:none!important;backdrop-filter:none;border-radius:0;padding:0!important;width:100%;max-width:370px;color:#68482e}
body.design-aceh .invitation-overture .collection-monogram{display:none!important}
body.design-aceh:is(.photos-none,.photos-character) .invitation-overture .collection-monogram,
body.design-aceh .aceh-entrance-portrait.customer-photo-missing~.collection-monogram{display:flex!important;justify-content:center;margin:36px auto;font-size:68px}
body.design-aceh .aceh-entrance-portrait{position:relative;width:clamp(154px,44vw,188px);height:auto;aspect-ratio:1122/1402;margin:0 auto 24px}
body.design-aceh .aceh-entrance-portrait>img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 26%;filter:drop-shadow(0 8px 12px #5b402919)}
body.design-aceh .photo-frame-asset:before,body.design-aceh .photo-frame-asset:after{content:none!important;display:none!important}
body.design-aceh .invitation-overture .collection-welcome{font-size:14px;line-height:1.7;max-width:270px;margin:0 auto 12px;text-wrap:balance}
body.design-aceh .invitation-overture .overture-copy h2{font-size:clamp(37px,10vw,46px);line-height:1.3;margin:10px auto 13px;text-wrap:balance;overflow-wrap:anywhere}
body.design-aceh .invitation-overture .overture-date{margin:12px auto 0;font-size:11px;letter-spacing:1.7px}
body.design-aceh .invitation-overture .scroll-invitation{width:34px;height:38px;margin:18px auto 0;opacity:.75;background:#fff8e570}
/* Persistent classes own the animations: removing generic entrance flags cannot reset positions. */
body.design-aceh.aceh-layered-started .invitation-overture .aceh-horizon-layer{animation:aceh-atmosphere-in 3s ease both}
body.design-aceh.aceh-layered-started .invitation-overture .aceh-house-layer{animation:aceh-house-in 4.4s 0.9s cubic-bezier(.16,1,.3,1) both}
body.design-aceh.aceh-layered-started .invitation-overture .aceh-tree-layer{animation:aceh-garden-in 4.4s .7s cubic-bezier(.16,1,.3,1) both}
body.design-aceh.aceh-layered-started .invitation-overture .aceh-garden-layer{animation:aceh-garden-in 4.6s .8s cubic-bezier(.16,1,.3,1) both}
body.design-aceh.aceh-layered-started .invitation-overture .aceh-foreground-layer{animation:aceh-foreground-in 4.8s 1s cubic-bezier(.16,1,.3,1) both}
body.design-aceh.aceh-layered-started .invitation-overture .overture-copy,
body.design-aceh.aceh-layered-started.entrance-running .invitation-overture .overture-copy{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}
body.design-aceh.aceh-layered-started .invitation-overture .overture-copy>*{animation:aceh-copy-in 2s 2.3s cubic-bezier(.22,1,.36,1) both!important}
body.design-aceh.aceh-layered-started .invitation-overture .overture-copy>.collection-welcome{animation-delay:2.8s!important}
body.design-aceh.aceh-layered-started .invitation-overture .overture-copy>h2{animation-delay:3s!important}
body.design-aceh.aceh-layered-started .invitation-overture .overture-copy>.overture-date{animation-delay:3.3s!important}
body.design-aceh.aceh-layered-started .invitation-overture .overture-copy>.scroll-invitation{animation-delay:3.6s!important}
.aceh-initial-reveal{position:fixed;inset:0;z-index:41;display:flex;align-items:center;justify-content:center;gap:12px;pointer-events:none;opacity:0;color:#745436;text-shadow:0 2px 20px #fff7df;font:84px/1.2 'Great Vibes',cursive}
.aceh-initial-reveal em{font:italic 28px 'Cormorant Garamond',serif}
body.design-aceh.aceh-layered-started .aceh-initial-reveal{animation:aceh-initial-magic 2.7s ease both}
@keyframes aceh-cover-dissolve{0%,12%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.06)}}
@keyframes aceh-cover-copy-out{to{opacity:0;transform:translateY(-12px)}}
@keyframes aceh-initial-magic{0%,10%{opacity:0;transform:scale(.95)}36%,55%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(1.12)}}
@keyframes aceh-atmosphere-in{from{opacity:.2}to{opacity:1}}
@keyframes aceh-house-in{from{opacity:0;transform:translateY(16px) scale(.94)}to{opacity:1;transform:none}}
@keyframes aceh-garden-in{from{opacity:0;transform:translateY(30px) scale(1.08)}to{opacity:1;transform:none}}
@keyframes aceh-foreground-in{from{opacity:0;transform:translateY(48px) scale(1.16)}to{opacity:1;transform:none}}
@keyframes aceh-copy-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes aceh-cloud-wind{from{transform:translateX(-22px)}to{transform:translateX(90px)}}
@keyframes aceh-tree-breeze{0%{rotate:-1.7deg}45%{rotate:.8deg}100%{rotate:2.3deg}}
@keyframes aceh-plant-breeze{0%{rotate:var(--wind-low,-2.2deg)}45%{rotate:.8deg}100%{rotate:var(--wind-high,3deg)}}
@keyframes aceh-wingbeat{0%,100%{background-position:0 0}25%{background-position:33.333% 0}50%{background-position:66.667% 0}75%{background-position:100% 0}}
@keyframes aceh-flight-left{0%{opacity:0;transform:translate(0,14px) scale(.6)}7%{opacity:1}22%{transform:translate(-25cqw,-15cqh) rotate(-12deg) scale(.85)}42%{transform:translate(-46cqw,-32cqh) rotate(3deg)}65%{opacity:1;transform:translate(-65cqw,-48cqh) rotate(8deg) scale(.75)}78%,100%{opacity:0;transform:translate(-80cqw,-64cqh) scale(.6)}}
@keyframes aceh-flight-right{0%{opacity:0;transform:translate(0,8px) scale(.55)}8%{opacity:1}25%{transform:translate(23cqw,-12cqh) rotate(-8deg) scale(.85)}46%{transform:translate(41cqw,-28cqh) rotate(-16deg)}70%{opacity:1;transform:translate(60cqw,-46cqh) scale(.8)}82%,100%{opacity:0;transform:translate(78cqw,-58cqh) scale(.6)}}
@keyframes aceh-flight-high{0%{opacity:0;transform:translate(0,10px) scale(.5)}8%{opacity:1}26%{transform:translate(-36cqw,-23cqh) rotate(-25deg) scale(.65)}49%{transform:translate(-42cqw,-49cqh) rotate(-13deg) scale(.8)}73%{opacity:1;transform:translate(-38cqw,-75cqh) rotate(8deg) scale(.6)}90%,100%{opacity:0;transform:translate(-28cqw,-100cqh) scale(.4)}}
@keyframes aceh-butterfly-drift{0%,100%{transform:translate(-9px,0) rotate(-8deg)}30%{transform:translate(12px,-20px) rotate(12deg)}65%{transform:translate(27px,-6px) rotate(-4deg)}}
/* Secondary chapters retain their existing backgrounds and features. */
.inv-section .aceh-layered-scene{background:none}
.inv-section .aceh-house{opacity:.1;width:70%;bottom:0}
.inv-section .aceh-hills{opacity:.12;bottom:0}
.inv-section .aceh-tree-layer{opacity:.22}
.inv-section .aceh-cloud-layer{opacity:.3}
.inv-section :is(.aceh-garden-layer,.aceh-foreground-layer){opacity:.3}
.inv-section :is(.aceh-bird-layer,.aceh-flower-butterfly){display:none}
body.design-aceh.photos-none #mempelai{min-height:100dvh;padding:85px 24px 115px;display:flex;flex-direction:column;justify-content:space-between;gap:20px;box-sizing:border-box}
body.design-aceh.photos-none #mempelai .chapter-heading{margin:0}
body.design-aceh.photos-none #mempelai .chapter-heading h2{margin-bottom:12px}
body.design-aceh.photos-none #mempelai .invitation-greeting{margin:0 auto;max-width:300px}
body.design-aceh.photos-none #mempelai .couple-profiles{width:100%;margin:0;position:relative;z-index:2}
body.design-aceh.photos-none #mempelai .couple-profiles article{padding:15px 0;margin:0}
body.design-aceh.photos-none #mempelai .profile-amp{margin:8px 0}
body.design-aceh.photos-none #mempelai .aceh-layered-scene{background:linear-gradient(#faf2df,#f6edda 65%,#d7d9c4)}
body.design-aceh.photos-none #mempelai .aceh-house{width:87%;opacity:.2;bottom:0}
/* Consolidated venue rules, preserving the established carved venue treatment. */
body.design-aceh #events{--location-bg:#deceb7!important;--location-ink:#745436!important;--location-card-ink:#745436!important;--location-card:#faf2e1!important;padding-inline:12px!important;background:linear-gradient(180deg,#eee2cf 0%,#deceb7 60%,#cdb797 100%)!important;color:#745436!important}
body.design-aceh #events .event-cards{gap:28px;width:100%;max-width:760px;margin-inline:auto}
body.design-aceh #events .event-block{position:relative;isolation:isolate;border:0!important;border-radius:0!important;padding:65px 36px 80px!important;min-height:440px;width:100%;max-width:360px!important;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:0!important;background:transparent!important;box-shadow:none!important}
body.design-aceh #events .event-block:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:url('/static/assets/collection/aceh-layered-v2/aceh-venue-frame.webp') center/100% 100% no-repeat;opacity:.58}
body.design-aceh #events .event-block:after{content:'';position:absolute;inset:0;background:#f8f3e4;mask:url('/static/assets/collection/aceh-layered-v2/aceh-venue-frame-mask.svg') 0 0/100% 100% no-repeat;z-index:-2;pointer-events:none;opacity:.9}
body.design-aceh #events .event-block h3{font:26px/1.2 'Cormorant Garamond',serif;margin:0 0 22px;max-width:230px;text-wrap:balance}
body.design-aceh #events .event-block h4{font-size:15px;line-height:1.5;margin:12px 0}
body.design-aceh #events .event-block p{font-size:12px;line-height:1.7;margin:0 0 14px;max-width:100%;overflow-wrap:anywhere}
body.design-aceh #events .event-block .invite-button{position:relative;z-index:2;font-size:11px;padding:9px 15px;min-height:38px;margin:10px 0 8px;max-width:100%;flex-shrink:0;box-shadow:0 3px 9px #684c2b20}
body.design-aceh .closing{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;isolation:isolate;padding:85px 28px 100px}
body.design-aceh .closing:after{content:'';position:absolute;inset:12% 7%;background:#fcf6eac9;border-radius:150px 150px 14px 14px;z-index:-1;pointer-events:none}
body.design-aceh .closing>p,body.design-aceh .closing>h2,body.design-aceh .closing>h3{max-width:300px}
body.design-aceh #story-section{position:relative;isolation:isolate;min-height:80dvh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:85px 30px}
body.design-aceh #story-section:after{content:'';position:absolute;inset:10% 6%;background:#fcf6ead9;border-radius:140px 140px 12px 12px;z-index:-1;pointer-events:none}
body.design-aceh #story-section>h2,body.design-aceh #story-section>p{max-width:300px}
body.design-aceh #story-section .aceh-layered-scene:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#fcf6eac9 0%,#fcf6eab8 58%,#fcf6ea15 100%);pointer-events:none}
body.design-aceh #story-section.has-story-timeline .aceh-layered-scene:after{background:#fcf6ead4}
@media(min-width:1200px){.aceh-initial-reveal{left:auto;width:520px}}
@media(max-width:600px){body.design-aceh #events .event-block{margin-inline:auto}}
@media(max-height:740px){body.design-aceh .invitation-overture{min-height:740px;padding-top:78px;padding-bottom:285px}body.design-aceh .aceh-entrance-portrait{width:148px;margin-bottom:18px}body.design-aceh .cover{padding-top:128px;padding-bottom:20px}body.design-aceh .cover .couple-monogram{font-size:62px;margin-bottom:8px}body.design-aceh .cover .cover-content{padding-block:15px}}
.scene-asleep .aceh-layered-scene *,body.page-asleep .aceh-layered-scene *,body.motion-pause .aceh-layered-scene *{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){
  body.design-aceh .aceh-layered-scene *,body.design-aceh.aceh-layered-started .invitation-overture .overture-copy>*{animation:none!important;transform:none!important}
  .aceh-initial-reveal,.aceh-bird-layer,.aceh-flower-butterfly{display:none!important}
  body.design-aceh .cover.aceh-cover-depart{animation:none!important;opacity:0}
  body.design-aceh .invitation-overture .overture-copy{opacity:1!important;transform:none!important}
}
