/* Cada máscara descubre una pieza en su posición definitiva dentro del logo original. */
.intro{background:#FAFBF7;animation:none;pointer-events:auto}
.intro-emblem{position:relative;width:min(280px,64vw);aspect-ratio:1;transform-origin:center;will-change:transform}
.intro-sequence,.intro .intro-complete{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:none}
.intro .intro-complete{animation:none;opacity:0;transition:opacity .28s linear}
.intro-sequence{transition:opacity .28s linear}
.intro.is-finishing .intro-complete{opacity:1}
.intro.is-finishing .intro-sequence{opacity:0}
.intro.is-assembled .intro-complete{opacity:1}
.intro.is-assembled .intro-sequence{visibility:hidden}
.intro-caption{position:absolute;top:calc(50% + min(140px,32vw) + 26px);left:20px;right:20px;text-align:center;font-size:8px;letter-spacing:.28em;color:#063D1E;animation:logo-caption-in .45s ease 2.15s both}
.intro.is-docking .intro-caption{animation:none;opacity:0;transition:opacity .15s}
.intro.is-loading *{animation-play-state:paused!important}
.logo-arriving{animation-play-state:paused!important}
.logo-arrival-target{visibility:hidden}
.card-reward-slot{display:contents}
.stamp-update-announcement{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.logo-trace{stroke-dasharray:1;stroke-dashoffset:1;animation:logo-trace-in var(--duration) linear var(--delay) both}
.logo-build-arc{--duration:.9s;--delay:0s}
.logo-build-city{animation:logo-city-in 1.05s cubic-bezier(.2,.6,.25,1) .25s both}
.logo-build-word{animation:logo-write-in .95s cubic-bezier(.2,.6,.25,1) .65s both}
.logo-build-dashes{--duration:.65s;--delay:1.05s}
.logo-build-number{animation:logo-number-in .9s cubic-bezier(.2,.6,.25,1) 1.18s both}
.logo-build-lower{--duration:.95s;--delay:1.5s}
.logo-build-caption{--duration:.85s;--delay:1.95s}
@keyframes logo-trace-in{to{stroke-dashoffset:0}}
@keyframes logo-city-in{from{transform:translateY(365px)}to{transform:translateY(0)}}
@keyframes logo-write-in{from{transform:translateX(-1045px)}to{transform:translateX(0)}}
@keyframes logo-number-in{from{transform:translateY(305px)}to{transform:translateY(0)}}
@keyframes logo-caption-in{from{opacity:0}to{opacity:1}}

/* La entrada mueve el vidrio y su logo como una sola pieza. */
.loyalty-stage .stamp.stamp-unseen{box-shadow:inset 0 0 0 1px #ffffff25}
.loyalty-stage .stamp-unseen .stamp-glass{opacity:0;animation:none}
.loyalty-stage .stamp-activating .stamp-glass{animation:stamp-activate 1.25s cubic-bezier(.2,.65,.2,1) var(--stamp-delay,0ms) both}
.loyalty-stage .stamp-activating:after{content:"";position:absolute;inset:-17%;border-radius:50%;background:radial-gradient(circle,#fff1b540,transparent 68%);border:1px solid #fff0b56b;pointer-events:none;animation:stamp-activation-light 1.25s ease var(--stamp-delay,0ms) both}
.loyalty-stage .stamp-activating:before{content:"";position:absolute;top:3%;right:7%;z-index:1;width:20%;height:20%;background:#fff9d6;clip-path:polygon(50% 0,59% 40%,100% 50%,59% 59%,50% 100%,41% 59%,0 50%,41% 40%);pointer-events:none;animation:stamp-activation-spark 1.25s ease var(--stamp-delay,0ms) both}
.stamp-activating.coupon-motion-paused .stamp-glass,.stamp-activating.coupon-motion-paused:before,.stamp-activating.coupon-motion-paused:after{animation-play-state:paused!important}
@keyframes stamp-activate{0%{opacity:0;transform:scale(.86);filter:brightness(1)}45%{opacity:.8}75%{opacity:1;transform:scale(1.025);filter:brightness(1.28)}100%{opacity:1;transform:scale(1);filter:brightness(1)}}
@keyframes stamp-activation-light{0%,20%{opacity:0;transform:scale(.7)}55%{opacity:.9}100%{opacity:0;transform:scale(1.2)}}
@keyframes stamp-activation-spark{0%,40%{opacity:0;transform:scale(.2) rotate(-15deg)}65%{opacity:1;transform:scale(1) rotate(0)}100%{opacity:0;transform:scale(.4) rotate(15deg)}}
@media(prefers-reduced-motion:reduce){.intro-caption{animation:none}.intro .intro-complete{opacity:1}.intro-sequence{display:none}.intro-emblem{will-change:auto}}
