/* One-time entrances. All content remains visible if motion is unavailable. */
[data-motion]{opacity:1;transform:none}
.motion-ready [data-motion]{opacity:0;transform:translate3d(0,22px,0);transition:opacity .7s ease,transform .95s cubic-bezier(.22,1,.36,1);transition-delay:var(--enter-delay,0ms)}
.motion-ready [data-motion=image]{transform:translate3d(0,32px,0) scale(.98);transition-duration:.8s,1.2s}
.motion-ready [data-motion=card]{transform:translate3d(0,28px,0);transition-duration:.7s,1s}
.motion-ready [data-motion].is-revealed,.motion-ready [data-motion]:focus-within{opacity:1;transform:none}
.motion-ready [data-motion=title]{transform:none;opacity:1;transition:none}
.word-clip{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.06em;margin-bottom:-.06em}
.word{display:inline-block}
.motion-ready .motion-words .word{opacity:0;transform:translate3d(0,108%,0);transition:transform 1s cubic-bezier(.22,1,.36,1),opacity .6s ease;transition-delay:calc(var(--enter-delay,0ms) + var(--word-delay,0ms))}
.motion-ready .motion-words.is-revealed .word,.motion-ready .motion-words:focus-within .word{opacity:1;transform:none}
.section-heading>.title::after{content:'';display:block;width:58px;height:4px;margin-top:24px;background:var(--lime);transform-origin:left}
.motion-ready .section-heading>.title::after{transform:scaleX(0);transition:transform .75s cubic-bezier(.22,1,.36,1) .25s}
.motion-ready .section-heading>.title.is-revealed::after{transform:scaleX(1)}
.motion-ready .hero .hero-media img{transform:scale(1.035);opacity:.7;transition:transform 2.1s cubic-bezier(.2,.7,.2,1),opacity 1.4s ease}
.motion-ready .hero.is-revealed .hero-media img{transform:scale(1);opacity:1}
.motion-ready .hero .hero-shade{opacity:.7;transition:opacity 1.4s ease}
.motion-ready .hero.is-revealed .hero-shade{opacity:1}
.motion-ready .card-number{opacity:0;scale:.6;transition:opacity .5s ease,scale .7s cubic-bezier(.2,.8,.25,1.3);transition-delay:calc(var(--enter-delay,0ms) + .22s)}
.motion-ready .is-revealed>.card-visual>.card-number{opacity:1;scale:1}
.motion-ready .plan-media .plan-marker{opacity:0;scale:.55;transition:opacity .45s ease,scale .65s cubic-bezier(.2,.8,.25,1.3);transition-delay:var(--marker-delay,.2s)}
.motion-ready .plan-media.is-revealed .plan-marker{opacity:1;scale:1}
.motion-ready .energy-meter::after{transform:scaleX(0);transform-origin:left;transition:transform 1.6s cubic-bezier(.22,1,.36,1) .25s}
.motion-ready .energy-meter.is-revealed::after{transform:scaleX(1)}
.image-button::after{transform:translate(-4px,4px);transition:opacity .22s ease,transform .3s cubic-bezier(.2,.7,.2,1)}
.image-button:hover::after,.image-button:focus-visible::after{transform:none}
.index-trigger,.bottom-controls button{transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease}
.index-trigger:active,.bottom-controls button:active:enabled{transform:scale(.96)}
.index-dialog li a{transition:background-color .2s ease,box-shadow .2s ease}
.index-dialog a[aria-current=true]{box-shadow:inset 3px 0 var(--green)}
.index-dialog li a span{transition:transform .2s ease}
.index-dialog li a:hover span{transform:translateX(3px)}
.index-dialog[open]{animation:index-arrive .3s cubic-bezier(.22,1,.36,1) both}
.zoom-dialog[open]{animation:image-arrive .4s cubic-bezier(.22,1,.36,1) both}
.dialog-close{transition:transform .25s ease}
.dialog-close:hover{transform:rotate(90deg)}
@keyframes index-arrive{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
@keyframes image-arrive{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}
@media(hover:hover) and (pointer:fine){.bottom-controls #previous:hover:enabled{transform:translateY(-2px)}.bottom-controls #next:hover:enabled{transform:translateY(2px)}}
@media(max-width:760px){
 .motion-ready [data-motion]{transform:translate3d(0,15px,0);transition-duration:.5s,.7s;transition-delay:min(var(--enter-delay,0ms),100ms)}
 .motion-ready [data-motion=image],.motion-ready [data-motion=card]{transform:translate3d(0,18px,0)}
 .motion-ready [data-motion].is-revealed,.motion-ready [data-motion]:focus-within{transform:none}
 .motion-ready [data-motion=title]{opacity:1;transform:none;transition:none}
 .motion-ready .motion-words .word{transition-duration:.8s,.5s;transition-delay:calc(min(var(--enter-delay,0ms),100ms) + var(--word-delay,0ms))}
 .section-heading>.title::after{width:46px;height:3px;margin-top:20px}
 .motion-ready .hero .hero-media img{transform:scale(1.015)}
 .motion-ready .hero.is-revealed .hero-media img{transform:none}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .motion-ready [data-motion],.motion-ready [data-motion=image],.motion-ready [data-motion=card],.motion-ready .motion-words .word,.motion-ready .hero .hero-media img,.motion-ready .hero .hero-shade{opacity:1!important;transform:none!important;transition:none!important;animation:none!important}
 .motion-ready .card-number,.motion-ready .plan-media .plan-marker{opacity:1!important;scale:1!important;transition:none!important}
 .motion-ready .energy-meter::after,.motion-ready .section-heading>.title::after{transform:none!important;transition:none!important}
 .index-trigger,.bottom-controls button,.index-dialog li a,.index-dialog li a span,.image-button::after,.dialog-close{transition:none!important;transform:none!important}
 .index-dialog[open],.zoom-dialog[open]{animation:none!important}
}
@media print{[data-motion],.motion-ready [data-motion],.motion-ready .motion-words .word{opacity:1!important;transform:none!important;transition:none!important;animation:none!important}.motion-ready .card-number,.motion-ready .plan-marker{opacity:1!important;scale:1!important}}

.card-visual:has(img[data-baked-number])>.card-number{display:none}.card-visual img[data-baked-number]{object-fit:contain}
