/* Kawinku R36 motion direction — visual layer, isolated to two flagship themes. */
.kw36-page {--kw36-ease:cubic-bezier(.18,.72,.21,1);}
.kw36-cover{isolation:isolate;overflow:hidden;}
.kw36-cover .kw36-ambient {position:absolute;inset:0;z-index:6;overflow:hidden;pointer-events:none;contain:layout paint;}
.kw36-cover.kw36-seruni .kw36-ambient {mask-image:linear-gradient(90deg,#000 0 17%,transparent 39% 62%,#000 84% 100%);}
.kw36-petal {position:absolute;top:-10%;left:var(--x);width:12px;height:19px;opacity:0;border-radius:83% 0 80% 0;background:linear-gradient(140deg,#f4d9cf,#c28e85 65%,#f8ebdf);box-shadow:inset 1px 0 2px #fff7;transform:scale(var(--s));animation:kw36-petalfall var(--t) linear var(--d) infinite;will-change:transform;}
.kw36-petal:nth-child(3n){background:linear-gradient(120deg,#faf0d8,#c9b486);width:9px;height:13px;}
.kw36-petal:nth-child(4n){background:#c29a9b99;width:8px;height:11px;}
.kw36-cover.kw36-seruni .kw36-motion-flourish{position:absolute;left:5%;right:5%;top:8%;height:55px;z-index:6;opacity:.44;pointer-events:none;}
.kw36-motion-flourish svg{width:100%;height:100%;overflow:visible;}
.kw36-motion-flourish path{stroke:#b28771;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:500;stroke-dashoffset:500;animation:kw36-draw 2.8s var(--kw36-ease) .35s both;}
.kw36-cover.kw36-seruni .kw30-frame{animation:kw36-breath 8s ease-in-out infinite!important;}
.kw36-cover.kw36-seruni .kw30-content .kw30-crest{animation:kw36-crest 6s ease-in-out 1.4s infinite;}
.kw36-cover.kw36-seruni .kw30-open:after{content:'✧';position:absolute;right:15px;top:50%;transform:translateY(-50%);font-size:15px;animation:kw36-gleam 3.8s ease-in-out infinite;}
.kw36-cover.kw36-seruni .kw30-open{position:relative;overflow:hidden;}
.kw36-cover.kw36-seruni .kw30-open:before {content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,#ffffff33 48%,transparent 70%);transform:translateX(-125%);animation:kw36-sheen 6s ease-in-out 2s infinite;pointer-events:none;}
.kw36-cover.kw36-seruni .kw36-arrival > :is(.kw30-series,.kw30-crest,.kw30-kicker,.kw30-names,.kw30-line,.kw30-date,.kw30-to,.kw30-open){animation:kw36-rise .95s var(--kw36-ease) both;}
.kw36-cover.kw36-seruni .kw36-arrival > .kw30-crest{animation-delay:.16s;}
.kw36-cover.kw36-seruni .kw36-arrival > .kw30-kicker{animation-delay:.25s;}
.kw36-cover.kw36-seruni .kw36-arrival > .kw30-names{animation-delay:.36s;}
.kw36-cover.kw36-seruni .kw36-arrival > .kw30-line{animation-delay:.48s;}
.kw36-cover.kw36-seruni .kw36-arrival > .kw30-date{animation-delay:.54s;}
.kw36-cover.kw36-seruni .kw36-arrival > .kw30-to{animation-delay:.68s;}
.kw36-cover.kw36-seruni .kw36-arrival > .kw30-open{animation-delay:.79s;}
.kw36-cover.kw36-senandika .kw30-canvas img{animation:kw36-film-drift 22s ease-in-out infinite alternate!important;}
.kw36-cover.kw36-senandika .kw36-ambient{z-index:5;}
.kw36-dust{position:absolute;left:var(--x);top:calc(8% + var(--i)*5%);width:3px;height:3px;background:#f9d7b8;border-radius:50%;opacity:0;box-shadow:0 0 10px 3px #f4bc9870;animation:kw36-dustfloat var(--t) ease-in-out var(--d) infinite;}
.kw36-cover.kw36-senandika .kw36-motion-flourish{position:absolute;z-index:5;top:14%;left:16%;width:68%;height:70px;pointer-events:none;opacity:.55;}
.kw36-cover.kw36-senandika .kw36-motion-flourish path{stroke:#f2c9ab;stroke-width:1;animation-duration:2.4s;}
.kw36-cover.kw36-senandika .kw35-cover-monogram {animation:kw36-mono 17s ease-in-out infinite alternate!important;}
.kw36-cover.kw36-senandika .kw35-cover-accents:after{content:'';position:absolute;inset:-20% -180%;background:linear-gradient(112deg,transparent 43%,#e6b8a716 49%,#f3c0a424 50%,transparent 57%);transform:translateX(-55%);animation:kw36-searchlight 9s ease-in-out infinite;pointer-events:none;}
.kw36-cover.kw36-senandika .kw36-arrival > :is(.kw30-series,.kw30-crest,.kw30-kicker,.kw30-names,.kw30-line,.kw30-date,.kw30-to,.kw30-open){animation:kw36-film-in .95s var(--kw36-ease) both;}
.kw36-cover.kw36-senandika .kw36-arrival > .kw30-series{animation-delay:.24s;}
.kw36-cover.kw36-senandika .kw36-arrival > .kw30-crest{animation-delay:.31s;}
.kw36-cover.kw36-senandika .kw36-arrival > .kw30-kicker{animation-delay:.42s;}
.kw36-cover.kw36-senandika .kw36-arrival > .kw30-names{animation-delay:.55s;}
.kw36-cover.kw36-senandika .kw36-arrival > .kw30-line{animation-delay:.65s;}
.kw36-cover.kw36-senandika .kw36-arrival > .kw30-date{animation-delay:.72s;}
.kw36-cover.kw36-senandika .kw36-arrival > .kw30-to{animation-delay:.82s;}
.kw36-cover.kw36-senandika .kw36-arrival > .kw30-open{animation-delay:.98s;}
.kw36-cover.kw36-senandika .kw36-open {position:relative;overflow:hidden;}
.kw36-cover.kw36-senandika .kw36-open:before{content:'';position:absolute;inset:0;background:linear-gradient(105deg,transparent 28%,#ffffff82 49%,transparent 62%);transform:translateX(-120%);animation:kw36-sheen 5s ease-in-out 2s infinite;}
/* Each section reveals its own narrative elements independently after opening. */
.kw36-page .kw36-contents .w-section.kw36-in > :is(.w-eyebrow,.kw-section-index){animation:kw36-rise .75s var(--kw36-ease) both;}
.kw36-page .kw36-contents .w-section.kw36-in > :is(h1,h2){animation:kw36-rise .95s var(--kw36-ease) .12s both;}
.kw36-page .kw36-contents .w-section.kw36-in > :is(p,blockquote){animation:kw36-rise .9s var(--kw36-ease) .22s both;}
.kw36-page .kw36-contents .w-section.kw36-in > :is(.w-people,.w-events-grid,.w-photos,.w-gift-list,.wish-shell,.kw31-story-paper,.count-numbers){animation:kw36-rise .95s var(--kw36-ease) .27s both;}
.kw36-page.kw36-senandika .kw36-contents .w-section.kw36-in > :is(h1,h2,.w-people,.w-events-grid,.w-photos){animation-name:kw36-film-in;}
.kw36-page .w-photos img{transition:transform .75s ease,filter .7s ease;}
.kw36-page .w-photos img:hover{transform:scale(1.035);filter:saturate(1.12);}
.kw36-page .w-scene .w-scene-art{transform:translate3d(0,var(--kw36-parallax,0px),0) scale(1.04);will-change:transform;}
.kw36-page .kw34-interlude.kw36-in .kw34-interlude-inner{animation:kw36-rise 1.1s var(--kw36-ease) both;}
.kw36-page.kw36-seruni .w-scene .w-scene-caption{animation:kw36-rise 1.5s var(--kw36-ease) both;}
.kw36-page.kw36-senandika .w-scene .w-scene-caption{animation:kw36-film-in 1.5s var(--kw36-ease) both;}
.kw36-page .w-end .kw35-section-ornament{animation:kw36-gleam 4s infinite;}
.kw36-page .kw36-progress{position:fixed;top:0;left:0;right:0;height:3px;pointer-events:none;z-index:110;}
.kw36-page .kw36-progress span{display:block;width:var(--kw36-progress,0%);height:100%;background:linear-gradient(90deg,#bf8d83,#e1c29f);box-shadow:0 0 10px #cb998d70;}
.kw36-page.kw36-senandika .kw36-progress span{background:linear-gradient(90deg,#bb876f,#f3d2b7);}
.kw36-page .music-fab{transition:transform .2s ease,box-shadow .3s ease;}
.kw36-page .music-fab.kw36-playing{box-shadow:0 0 0 5px #b79c8538,0 6px 24px #0003;}
.kw36-page .music-fab.kw36-playing:before{content:'◉';display:inline-block;margin-right:8px;animation:kw36-spin 4s linear infinite;}
/* Portal: floral petals converge outward, cinematic opening shines through the slit. */
.kw36-portal .kw36-portal-stage{position:absolute;inset:0;pointer-events:none;overflow:hidden;}
.kw36-portal .kw36-portal-petal{position:absolute;left:50%;top:49%;display:block;width:17px;height:25px;border-radius:83% 0 77% 0;background:linear-gradient(125deg,#d9a5a2,#f6e6d4);opacity:0;transform:translate(-50%,-50%) rotate(calc(var(--i)*30deg));}
.kw36-portal.is-leaving .kw36-portal-petal{animation:kw36-bloomout 1.15s var(--kw36-ease) calc(var(--i)*.022s) both;}
.kw36-portal .kw36-portal-light{position:absolute;z-index:2;top:0;bottom:0;left:50%;width:2px;transform:translateX(-50%);background:#ffefde;box-shadow:0 0 14px 4px #f8c0a2,0 0 70px 30px #efb39a70;opacity:0;}
.kw36-portal.is-leaving .kw36-portal-light{animation:kw36-lightburst 1.1s ease-out both;}
.kw36-portal .kw36-portal-frame{position:absolute;inset:4%;border:1px solid #f2ccb044;opacity:.6;transition:transform .8s ease,opacity .6s ease;}
.kw36-portal.is-leaving .kw36-portal-frame{transform:scale(1.1);opacity:0;}
@keyframes kw36-rise{from{opacity:0;transform:translate3d(0,32px,0);filter:blur(5px)}to{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}}
@keyframes kw36-film-in{from{opacity:0;transform:translate3d(0,20px,0) scale(.975);letter-spacing:.09em;filter:blur(6px)}to{opacity:1;transform:translate3d(0,0,0) scale(1);letter-spacing:inherit;filter:blur(0)}}
@keyframes kw36-draw{to{stroke-dashoffset:0}}
@keyframes kw36-breath{0%,100%{opacity:.6;filter:brightness(1)}50%{opacity:.85;filter:brightness(1.1)}}
@keyframes kw36-crest{0%,100%{filter:brightness(1);transform:scale(1)}50%{filter:brightness(1.2);transform:scale(1.09)}}
@keyframes kw36-gleam{0%,100%{opacity:.55}45%{opacity:1}55%{opacity:.5}}
@keyframes kw36-sheen{0%,18%{transform:translateX(-120%)}47%,100%{transform:translateX(120%)}}
@keyframes kw36-petalfall{0%{opacity:0;transform:translate3d(-12px,-20px,0) rotate(-35deg) scale(var(--s))}10%{opacity:.75}85%{opacity:.6}100%{opacity:0;transform:translate3d(43px,110vh,0) rotate(630deg) scale(var(--s))}}
@keyframes kw36-dustfloat{0%,100%{opacity:0;transform:translate3d(0,14px,0) scale(.5)}35%{opacity:.65}58%{opacity:.9;transform:translate3d(8px,-23px,0) scale(1.2)}}
@keyframes kw36-film-drift{from{transform:scale(1.02) translateX(0)}to{transform:scale(1.1) translateX(-14px)}}
@keyframes kw36-mono{from{opacity:.07;transform:translateX(-49%) scale(.96)}to{opacity:.13;transform:translateX(-51%) scale(1.04)}}
@keyframes kw36-searchlight{0%,30%{transform:translateX(-55%)}65%,100%{transform:translateX(55%)}}
@keyframes kw36-bloomout{0%{opacity:0;transform:translate(-50%,-50%) scale(.4) rotate(calc(var(--i)*30deg))}28%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) rotate(calc(var(--i)*85deg)) scale(1.7)}}
@keyframes kw36-lightburst{0%{opacity:0;transform:translateX(-50%) scaleX(1)}25%{opacity:1}80%,100%{opacity:0;transform:translateX(-50%) scaleX(15)}}
@keyframes kw36-spin{to{transform:rotate(360deg)}}
@media(max-width:650px){
 .kw36-cover.kw36-seruni .kw36-motion-flourish{top:9%;}
 .kw36-cover.kw36-senandika .kw36-motion-flourish{top:17%;height:50px;}
 .kw36-cover.kw36-seruni .kw36-ambient{opacity:.62;}
 .kw36-page .w-scene .w-scene-art{will-change:auto;}
}
@media(prefers-reduced-motion:reduce){
 .kw36-page,.kw36-page *,.kw36-portal,.kw36-portal *{animation:none!important;transition-duration:0s!important;scroll-behavior:auto!important;}
 .kw36-page .kw36-contents .kw36-observed > *{opacity:1!important;transform:none!important;filter:none!important;}
 .kw36-cover .kw36-ambient,.kw36-portal .kw36-portal-stage{display:none!important;}
 .kw36-page .w-scene .w-scene-art{transform:none!important;}
 .kw36-portal.is-leaving .kw35-portal-leaf{transform:translateX(-105%);}
}
