/* Photograph layers only. Original products, lettering and ornaments stay intact. */
.km-frame{position:relative;isolation:isolate}
.km-enhanced>.scard__img{visibility:hidden}
.km-scene{position:absolute;inset:0;overflow:hidden;background:#f7f7f5;opacity:0;pointer-events:none;contain:paint}
.km-scene.km-ready{opacity:1}
.km-photo{position:absolute;background-repeat:no-repeat;background-position:center;background-size:contain;transform-origin:center}
.km-light{position:absolute;inset:-50%;background:linear-gradient(110deg,transparent 35%,#fff6 48%,transparent 60%);opacity:0;transform:translateX(-70%);mix-blend-mode:soft-light}
.km-playing .km-photo,.km-playing .km-panno{animation-duration:4.2s;animation-timing-function:cubic-bezier(.22,.61,.36,1);animation-fill-mode:both}
.km-gift .km-photo{inset:4% 3%;background-size:contain;mix-blend-mode:multiply}
.km-gift-base{clip-path:polygon(0 0,100% 0,100% 100%,0 100%,0 59.87%,28.15% 59.87%,43.16% 69.9%,57.11% 25.52%,55.24% 20.94%,42.49% 18.32%,0 18.32%)}
.km-gift-lid{clip-path:polygon(42.49% 18.32%,55.24% 20.94%,57.11% 25.52%,43.16% 69.9%,28.15% 59.87%)}
.km-playing .km-gift-base{animation-name:km-gift-base}
.km-playing .km-gift-lid{animation-name:km-gift-lid}
@keyframes km-gift-base{0%,100%{transform:none}30%{transform:translate(5%,2%) rotate(3deg)}72%{transform:translate(2%,0)}}
@keyframes km-gift-lid{0%,100%{transform:none}30%,55%{transform:translate(-10%,-5%) rotate(-7deg)}}
.km-executive{background:#edeef0}
.km-folder{inset:-14% 0;background-size:contain;mix-blend-mode:multiply}
.km-detail{inset:0;background-size:cover;opacity:0}
.km-playing .km-folder{animation-name:km-folder}
.km-playing .km-detail{animation-name:km-detail}
.km-playing .km-light{animation:km-light 4.2s ease both}
@keyframes km-folder{0%,100%{transform:scale(1)}45%,60%{transform:scale(1.13) rotate(-2deg)}}
@keyframes km-detail{0%,12%,80%,100%{opacity:0;transform:scale(1.03)}30%,55%{opacity:1;transform:scale(1.1)}}
@keyframes km-light{0%,15%{opacity:0;transform:translateX(-70%)}35%{opacity:.8}75%,100%{opacity:0;transform:translateX(70%)}}
.km-events{background:#fbfcf7}
.km-badge{top:13%;height:76%;width:27%;background-size:370% auto;mix-blend-mode:multiply}
.km-badge-0{left:8%;background-position:12% center;transform:rotate(-7deg)}
.km-badge-1{left:37%;background-position:50% center;z-index:2}
.km-badge-2{left:66%;background-position:89% center;transform:rotate(7deg)}
.km-playing .km-badge-0{animation-name:km-badge-left}
.km-playing .km-badge-1{animation-name:km-badge-center}
.km-playing .km-badge-2{animation-name:km-badge-right}
@keyframes km-badge-left{0%,100%{transform:rotate(-7deg)}25%,60%{transform:translateX(105%) rotate(0deg);opacity:.25}}
@keyframes km-badge-center{0%,100%{transform:none}25%,60%{transform:scale(1.13) rotate(-4deg)}}
@keyframes km-badge-right{0%,100%{transform:rotate(7deg)}25%,60%{transform:translateX(-105%) rotate(0deg);opacity:.25}}
/* Temporary reference crop: awards photo occupies x=958..1252, y=34..217. */
.km-awards{background:#fff}
.km-award-photo{inset:0;background-size:449.32% 361.75%;background-position:93.28% 7.1%}
.km-playing .km-award-photo{animation-name:km-award}
@keyframes km-award{0%,100%{transform:scale(1)}38%,65%{transform:translateY(-3%) scale(1.06) rotate(-2deg)}}
.km-bags{background:#f4f6f8}
.km-bag{mix-blend-mode:multiply}
.km-continent{width:39%;height:62%;left:1%;top:27%;background-size:100% auto;background-position:center 45%;transform:rotate(-8deg)}
.km-ultra{width:45%;height:76%;right:0;top:12%;background-size:100% auto;transform:rotate(6deg)}
.km-asman,.km-asman-blue{inset:1% 13%;background-size:contain;z-index:3}
.km-asman-blue{opacity:0;background-size:auto 135%;background-position:center 65%}
.km-playing .km-asman{animation-name:km-asman}
.km-playing .km-asman-blue{animation-name:km-asman-blue}
.km-playing .km-ultra{animation-name:km-ultra}
.km-playing .km-continent{animation-name:km-continent}
@keyframes km-asman{0%,100%{transform:none;opacity:1}30%,45%{transform:translateY(-4%) scale(1.03);opacity:1}60%,72%{opacity:0}}
@keyframes km-asman-blue{0%,45%,90%,100%{opacity:0;transform:none}60%,72%{opacity:1;transform:translateY(-3%)}}
@keyframes km-ultra{0%,100%{transform:rotate(6deg)}30%,72%{transform:translateX(8%) rotate(11deg)}}
@keyframes km-continent{0%,100%{transform:rotate(-8deg)}30%,72%{transform:translateX(-6%) rotate(-14deg)}}
.km-heritage{background:#eee}
.km-muras{inset:0;background-size:auto 177%;background-position:center 73%}
.km-playing .km-muras{animation-name:km-muras}
@keyframes km-muras{0%,100%{transform:scale(1)}25%,45%{transform:scale(1.9) translateY(6%)}72%{transform:scale(1)}}
.km-interior{background:#f7f6f2}
.km-panno{position:absolute;inset:7% 5%;filter:drop-shadow(0 5px 5px #29261f15)}
.km-panno-part{inset:0;background-size:449.32% 359.78%;background-position:63.1% 74.9%}
.km-panno-0{clip-path:inset(0 0 69%)}
.km-panno-1{clip-path:inset(31% 0 9%)}
.km-panno-2{clip-path:inset(91% 0 0)}
.km-original-cover .km-award-photo,.km-original-cover .km-panno-part{background-size:cover;background-position:center}
.km-playing .km-panno{animation-name:km-room}
.km-playing .km-panno-0{animation-name:km-panno-top}
.km-playing .km-panno-1{animation-name:km-panno-center}
.km-playing .km-panno-2{animation-name:km-panno-bottom}
@keyframes km-room{0%,100%{transform:none}30%{transform:scale(1.08)}70%{transform:scale(.88)}}
@keyframes km-panno-top{0%,100%{transform:none}25%,40%{transform:translateY(-12%)}}
@keyframes km-panno-center{0%,100%{transform:none}25%,40%{transform:scale(.94)}}
@keyframes km-panno-bottom{0%,100%{transform:none}25%,40%{transform:translateY(8%)}}
@media(prefers-reduced-motion:reduce){.km-playing *{animation:none!important}.scard{transition:none!important}.scard:hover{transform:none}}
