/* Initial frames are prepared in JS before the first paint, then played once. */
.ashow-motion-boot .scene:not(.hero) :is(.copy,.handwritten,.phone-motion,.freedom-label,.connection-card,.wireless-symbol,.experience-person-motion,.coin-motion,.stack-motion,.contract,.ticket-motion,.branch-art-motion,.branch-emblem,.teaser-art,.teaser-date,.benefit-row,.globe-motion,.future-statement,.ecosystem-core,.solution-node,.ecosystem-atmosphere),
.ashow-motion-boot :is(.premium,.vip) .scene-stage,
.ashow-motion-boot .history-body :is(.history-header,.history-hero-copy,.history-hero-art,.history-handwritten,.timeline-nav,.milestone-copy,.milestone-visual,.gallery-intro,.gallery-thumb,.history-ending){visibility:hidden}

/* Three authentic memories, composed as a single illuminated photographic scene. */
.teaser-art{right:calc(36 * var(--u));top:calc(-5 * var(--u));width:calc(770 * var(--u));height:calc(500 * var(--u));mask-image:linear-gradient(90deg,transparent,#000 17%,#000 95%,transparent),linear-gradient(transparent,#000 7%,#000 89%,transparent)}
.teaser-art:before{content:'';position:absolute;inset:8% 4%;border-radius:50%;background:radial-gradient(ellipse,#be29e744,transparent 68%);filter:blur(20px)}
.teaser-art:after{background:linear-gradient(90deg,#08011077,transparent 42%),linear-gradient(transparent 58%,#1b032bd9 94%)}
.teaser-stage-photo{left:30%;top:4%;width:43%;height:87%;border-radius:calc(25 * var(--u));object-position:50% 24%;rotate:2deg;border:1px solid #f0b1ff85;box-shadow:0 0 35px #b135d64d,0 24px 50px #0009;z-index:2}
.teaser-crowd-photo{right:1%;top:18%;width:30%;height:70%;object-position:50% 35%;transform:rotate(9deg);filter:brightness(.84) saturate(.95);box-shadow:0 20px 50px #0009;z-index:1}
.teaser-memory-photo{position:absolute;left:9%;top:24%;width:27%;height:62%;object-fit:cover;object-position:50% 27%;border:1px solid #c771dd88;border-radius:calc(20 * var(--u));rotate:-10deg;filter:brightness(.68) saturate(.8);box-shadow:0 20px 40px #0008;z-index:1}
.teaser-photo-frame{left:29%;top:3%;width:45%;height:89%;transform:rotate(-3deg);border-color:#e995ff66;box-shadow:0 0 36px #bc22e054,inset 0 0 20px #ad2cc126}
.teaser-photo-caption{position:absolute;left:36%;bottom:14%;z-index:4;display:flex;flex-direction:column;gap:calc(7 * var(--u));text-shadow:0 2px 12px #100020}
.teaser-photo-caption>span{font-size:calc(9 * var(--u));letter-spacing:calc(2 * var(--u));color:#e2b2f1}.teaser-photo-caption strong{font-size:calc(16 * var(--u));font-weight:400;color:#fff0ff}
.teaser-date{right:calc(53 * var(--u));bottom:calc(25 * var(--u));width:calc(204 * var(--u));display:grid;grid-template-columns:1fr;gap:0;padding:calc(17 * var(--u)) calc(23 * var(--u));border-radius:calc(16 * var(--u));rotate:3deg;background:url('assets/shared/surface-grain.svg'),radial-gradient(ellipse at 10% 0,#be60c448,transparent 70%),linear-gradient(145deg,#32133dea,#100819f2);box-shadow:inset 0 1px 1px #f7ccff88,inset 0 -1px 1px #c846e12b,0 20px 45px #0009,0 0 25px #ac2fcb26}
.teaser-date:before{content:'';position:absolute;left:12%;right:12%;top:-1px;height:2px;background:linear-gradient(90deg,transparent,#f4bfff,transparent);box-shadow:0 0 17px #f459ff;pointer-events:none}
.teaser-date .teaser-date-heading{display:flex;align-items:center;gap:calc(9 * var(--u));font-size:calc(9 * var(--u));letter-spacing:calc(2 * var(--u));color:#d5a4e3}
.teaser-date-heading .icon{width:calc(16 * var(--u));height:calc(16 * var(--u))}
.teaser-date>strong{font-family:'Roboto Condensed',Roboto,sans-serif;font-size:calc(58 * var(--u));font-weight:400;line-height:1.15;letter-spacing:calc(1 * var(--u));color:#f9dcff;text-shadow:0 0 20px #dc64ee40}
.teaser-date-rule{display:block;height:1px;margin:calc(8 * var(--u)) 0 calc(11 * var(--u));background:linear-gradient(90deg,#ce6edf88,transparent)}
.teaser-date .teaser-date-caption{font-size:calc(8 * var(--u));line-height:1.7;letter-spacing:calc(1.6 * var(--u));color:#bda0c9}.teaser-date-caption b{font-weight:500;color:#f1c8fc}

/* Decorative ribbons extend to the viewport independently of the text container. */
.history-shell{overflow:visible}
.history-hero-flow{left:50%;translate:-50% 0;width:max(120vw,1560px);height:410px;bottom:-156px;object-fit:fill;opacity:.66}
.history-ending:before{display:none}
.history-ending-flow{position:absolute;top:-10%;left:50%;translate:-50% 0;width:120vw;height:120%;max-width:none;opacity:.4;pointer-events:none;z-index:-1}
.history-ribbon{position:absolute;pointer-events:none;max-width:none;left:50%;translate:-50% 0;width:max(120vw,1600px);height:300px;bottom:-135px;z-index:-1;mix-blend-mode:screen;opacity:.43;object-fit:fill}
.ribbon-two{scale:-1 1;rotate:-3deg;opacity:.48}
.milestone{isolation:isolate}
.timeline-nav:after{content:'';position:absolute;pointer-events:none;left:20%;right:20%;top:-1px;height:1px;background:linear-gradient(90deg,transparent,#f0a7ffb0,transparent);box-shadow:0 0 12px #dd56e36b}

/* Photo edges, reflected light and typography belong to the page's visual language. */
.launch-photo-composition{padding:14px 9px 0;margin:0 4px 12px;isolation:isolate}
.launch-photo-composition:before,.memory-frame:before{content:'';position:absolute;inset:6% -6% -7%;border-radius:45%;z-index:-2;background:radial-gradient(ellipse,#ab34c344,transparent 70%);filter:blur(24px)}
.launch-photo-composition>.history-photo{height:530px;rotate:1.5deg;border-radius:25px 25px 35px 9px}
.history-photo{border-color:#e39af279;box-shadow:0 24px 60px #0009,0 0 30px #8620b121;transform:translateZ(0)}
.history-photo:after{box-shadow:inset 0 1px 1px #fff2ff8c,inset 1px 0 0 #d479ed38;background:linear-gradient(180deg,#240c3333,transparent 23%,transparent 50%,#16091ad9 96%)}
.history-photo:before{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,#f4c7ff10 44%,transparent 54%);z-index:1;pointer-events:none}
.history-photo>img{filter:saturate(.93);transition:scale .9s cubic-bezier(.2,.7,.2,1),filter .9s}
.history-photo:hover>img{filter:saturate(1.04);scale:1.035}
.photo-outline{inset:5px -5px -8px;border-radius:28px;rotate:-3deg;border-color:#bb56d36b;background:linear-gradient(145deg,#a947ba10,transparent);box-shadow:0 0 32px #d34ff132}
.image-stamp{bottom:auto;top:36px;left:-18px;padding:13px 18px;border-radius:12px;rotate:-4deg;font-size:8px}.image-stamp strong{font-size:16px}
.memory-caption{position:absolute;left:24px;bottom:26px;right:80px;z-index:3;display:flex;flex-direction:column;gap:9px;pointer-events:none;text-shadow:0 2px 15px #100419}
.memory-caption>span{font-size:8px;letter-spacing:2px;color:#e6b1f1}.memory-caption>strong{font-family:'Roboto Condensed',Roboto,sans-serif;font-size:29px;font-weight:400;line-height:1.1;letter-spacing:.3px;color:#fff0ff}
.photo-zoom{right:18px;bottom:24px;width:38px;height:38px;padding:10px;justify-content:center;border-color:#e2a5ed66;background:#30143e99}.photo-zoom>span{display:none}
.memory-frame{position:relative;isolation:isolate;padding:12px 8px 0;margin:12px 0 18px;perspective:1000px}
.memory-frame-line{position:absolute;inset:0 -8px -10px;z-index:-1;border:1px solid #a853c56e;border-radius:27px;rotate:-2deg;box-shadow:0 0 30px #8a24b333;background:linear-gradient(120deg,#581b6c28,transparent)}
.car-frame .history-photo{border-radius:24px 24px 8px 28px;height:460px;transform:perspective(1100px) rotateY(-3deg) rotateZ(.7deg)}
.supra-photo .memory-caption>span{color:#f3bed9}
.car-frame:after{content:'';position:absolute;left:13%;right:13%;bottom:-10px;height:2px;z-index:2;background:linear-gradient(90deg,transparent,#ed85f3aa,transparent);box-shadow:0 0 18px #c142db77}
.car-frame+.visual-caption{margin-top:24px}
.gallery-thumb{border-radius:17px 17px 5px 17px;border-color:#d583ec66;box-shadow:0 15px 25px #0008,0 0 20px #a83bd025}
.gallery-thumb:after{background:linear-gradient(transparent 50%,#24052d9c)}
.gallery-thumb:nth-child(2){rotate:-2deg}.gallery-thumb:nth-child(4){rotate:2deg}

/* Both phone layers share the same crop registration; no portion of the handset is hidden. */
.history-pay-art{height:495px;margin:0;overflow:visible;max-width:none}
.history-phone-position{position:absolute;left:50%;top:50%;width:245px;max-width:72%;aspect-ratio:438/760;transform:translate(-50%,-50%);filter:drop-shadow(0 20px 22px #08000ca6) drop-shadow(0 0 16px #c74bdd40)}
.history-phone-motion,.history-phone{position:absolute;inset:0}
.history-phone{overflow:clip;overflow-clip-margin:3px;rotate:-6deg}
.history-phone :is(.history-phone-shell,.history-phone-screen){position:absolute;inset:auto;left:-59.817%;top:-6.316%;width:401.826%;max-width:none;height:auto;rotate:none;transform:none;transform-origin:center}
.history-app-badge{right:1%;bottom:95px;rotate:9deg;z-index:5}
.history-orbit{inset:19% 0;rotate:-25deg;border-color:#d268e96b}
.history-orbit:before{content:'';position:absolute;top:12%;left:12%;width:7px;height:7px;border-radius:50%;background:#f5b5ff;box-shadow:0 0 16px #e861ff}

/* The real coin occupies the exact centre; the commerce statistic has its own glass plaque. */
.acceptance-art{height:510px;max-width:none;margin:0;background:radial-gradient(ellipse at 50% 45%,#7b299c55,transparent 65%)}
.acceptance-coin-position{position:absolute;left:50%;top:45%;width:330px;max-width:86%;aspect-ratio:1;transform:translate(-50%,-50%);filter:drop-shadow(0 0 24px #d444ea55)}
.acceptance-coin-position .acceptance-coin{position:absolute;inset:0;width:100%;height:100%;opacity:1;filter:brightness(.9) saturate(1.08)}
.acceptance-orbit{inset:9% 0 23%;rotate:15deg}
.acceptance-orbit:before{content:'';position:absolute;right:12%;top:8%;width:7px;height:7px;border-radius:50%;background:#f3b0fb;box-shadow:0 0 20px #e448f7}
.acceptance-count{left:50%;top:auto;bottom:5px;transform:translateX(-50%);width:290px;max-width:98%;display:grid;grid-template-columns:76px 1fr;column-gap:15px;align-items:center;padding:17px 21px;border:1px solid #c973e478;border-radius:16px;background:url('assets/shared/surface-grain.svg'),linear-gradient(140deg,#4c2053dc,#190925ee);box-shadow:inset 0 1px 0 #f9c7ff69,0 15px 35px #0008;backdrop-filter:blur(18px)}
.acceptance-count strong{grid-column:1;grid-row:1/3;font-size:66px;line-height:1;letter-spacing:-3px;color:#f5d8ff}
.acceptance-count>span{grid-column:2;font-size:8px;line-height:1.55;letter-spacing:1.05px;color:#d9b5e5}.acceptance-count>span:last-child{color:#f4d3fa}
.acceptance-place{left:50%;top:8px;bottom:auto;transform:translateX(-50%);padding:10px 16px;border:1px solid #a750be55;border-radius:50px;background:#200c2b99;font-size:8px;letter-spacing:3px;white-space:nowrap}

@keyframes memory-breathe{0%,100%{opacity:.55}50%{opacity:.9}}
@keyframes coin-drift{0%,100%{translate:0 0;rotate:-1deg}50%{translate:0 -8px;rotate:1deg}}
@keyframes route-orbit{to{rotate:375deg}}
.history-hero-flow{animation:memory-breathe 8s ease-in-out infinite}
.acceptance-coin{animation:coin-drift 7s ease-in-out infinite;animation-play-state:paused}
.history-orbit,.acceptance-orbit{animation:route-orbit 40s linear infinite;animation-play-state:paused}
.is-in-view :is(.acceptance-coin,.history-orbit,.acceptance-orbit){animation-play-state:running}
.motion-paused *{animation-play-state:paused!important}

@media(min-width:1921px){
 .launch-photo-composition>.history-photo{height:640px}.car-frame .history-photo{height:580px}.memory-caption>strong{font-size:37px}.memory-caption>span{font-size:11px}
 .history-pay-art{height:620px}.history-phone-position{width:310px}.history-app-badge{bottom:125px;right:4%}
 .acceptance-art{height:620px}.acceptance-coin-position{width:410px}.acceptance-count{width:345px;padding:21px 27px;grid-template-columns:92px 1fr}.acceptance-count strong{font-size:80px}.acceptance-count>span{font-size:10px}.acceptance-place{font-size:11px}
}
@media(max-width:960px){
 .teaser-art{width:500px;height:365px;top:-6px;right:calc(50% - 244px)}
 .teaser-stage-photo{border-radius:19px}.teaser-memory-photo{border-radius:15px}.teaser-crowd-photo{border-radius:18px}
 .teaser-photo-caption{left:36%;bottom:16%;gap:5px}.teaser-photo-caption>span{font-size:6px;letter-spacing:1px}.teaser-photo-caption strong{font-size:11px;max-width:135px}
 .teaser-date{width:133px;right:22px;top:229px;bottom:auto;padding:11px 15px;border-radius:12px}.teaser-date>strong{font-size:39px;letter-spacing:.5px}.teaser-date .teaser-date-heading{font-size:6px;gap:6px;letter-spacing:1.2px}.teaser-date-heading .icon{width:11px;height:11px}.teaser-date .teaser-date-caption{font-size:6px;letter-spacing:1px}.teaser-date-rule{margin:5px 0 7px}
 .history-teaser{padding-top:379px}
 .history-hero-flow{width:170vw;min-width:0;height:290px;bottom:-130px;opacity:.58}.history-ribbon{width:190vw;min-width:0;height:230px;bottom:-110px;opacity:.42}.history-ending-flow{width:175vw}
 .launch-photo-composition{padding:8px 4px 0;margin:0 3px 8px}.launch-photo-composition>.history-photo{height:390px;border-radius:19px 19px 25px 6px}
 .image-stamp{top:26px;left:-12px;padding:10px 13px;font-size:7px}.image-stamp strong{font-size:13px}
 .memory-caption{left:16px;bottom:20px;right:58px;gap:6px}.memory-caption>span{font-size:6px;letter-spacing:1.3px}.memory-caption>strong{font-size:24px}
 .photo-zoom{width:31px;height:31px;padding:8px;right:12px;bottom:18px}.photo-zoom .icon{width:14px;height:14px}
 .memory-frame{padding:8px 4px 0;margin:8px 0 14px}.car-frame .history-photo{height:340px;border-radius:19px 19px 6px 22px;transform:none}.memory-frame-line{inset:0 -5px -7px;border-radius:22px}.car-frame+.visual-caption{font-size:8px;margin-top:19px}
 .gallery-thumb{border-radius:12px 12px 4px 12px}
 .history-pay-art{height:395px;margin:0}.history-phone-position{width:193px;max-width:73%}.history-app-badge{right:-5px;bottom:78px;width:82px;height:63px;padding:10px}.history-orbit{inset:21% -4%}
 .acceptance-art{height:420px}.acceptance-coin-position{width:280px;max-width:99%;top:44%}.acceptance-orbit{inset:12% -7% 25%}.acceptance-count{width:254px;grid-template-columns:65px 1fr;gap:0 13px;padding:15px 16px;bottom:0}.acceptance-count strong{font-size:58px;letter-spacing:-2px}.acceptance-count>span{font-size:7px;letter-spacing:.7px}.acceptance-place{font-size:7px;letter-spacing:2.2px;top:0}
}
@media(min-width:601px) and (max-width:960px){
 .history-teaser{padding-top:460px}.teaser-art{width:660px;height:440px;right:calc(50% - 315px)}.teaser-date{top:312px;right:60px;width:162px}.teaser-date>strong{font-size:49px}.teaser-date .teaser-date-caption{font-size:7px}.teaser-photo-caption strong{font-size:14px;max-width:none}.teaser-photo-caption>span{font-size:8px}
 .launch-photo-composition>.history-photo{height:555px}.car-frame .history-photo{height:490px}.memory-caption>strong{font-size:32px}.memory-caption>span{font-size:9px}.history-pay-art{height:505px}.history-phone-position{width:260px}.history-app-badge{right:16px;width:112px;height:82px;bottom:95px}.acceptance-art{height:510px}.acceptance-coin-position{width:345px}.acceptance-count{width:290px;bottom:5px}.acceptance-count strong{font-size:65px}.acceptance-count>span{font-size:8px}
}
@media(max-width:360px){.car-frame .history-photo{height:305px}.memory-caption>strong{font-size:22px}.launch-photo-composition>.history-photo{height:350px}.history-phone-position{max-width:72%}.acceptance-count{padding:13px 11px;gap:0 8px;grid-template-columns:57px 1fr}.acceptance-count strong{font-size:52px}.acceptance-count>span{font-size:6.5px}}
.acceptance-count{grid-template-columns:max-content minmax(0,1fr);column-gap:16px;width:310px;max-width:98%}
.acceptance-count>span{font-size:9px;line-height:1.55;letter-spacing:.7px}
@media(max-width:600px){.acceptance-count{width:278px;column-gap:12px;padding:15px}.acceptance-count>span{font-size:8px;letter-spacing:.5px}.acceptance-count strong{font-size:54px}}
@media(min-width:1921px){.acceptance-count{width:370px}.acceptance-count>span{font-size:11px}}
@media(prefers-reduced-motion:reduce){.history-body *, .teaser-art *{animation:none!important;transition:none!important}.ashow-motion-boot *{visibility:visible!important}}
