/* IRA floating 3D brand graphics: bolt, star, arrow, bag */
#how,#why,#partner,.gateway-card{position:relative}
.fx{position:absolute;inset:0;display:block;pointer-events:none;z-index:3}
.fl{position:absolute;left:var(--x);top:var(--y);width:var(--s);display:block;pointer-events:auto;cursor:pointer;opacity:0;animation:flIn .8s cubic-bezier(.3,1.6,.5,1) forwards;animation-delay:calc(.45s + var(--i)*.13s);transform:translate3d(calc(var(--mx,0)*var(--z)*1px),calc(var(--my,0)*var(--z)*1px),0);transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.fl>svg{display:block;width:100%;height:auto;overflow:visible;transform:rotate(var(--r));filter:drop-shadow(0 12px 9px #0003);animation:flBob var(--t) ease-in-out infinite;animation-delay:var(--d);transition:transform .45s cubic-bezier(.3,1.7,.5,1)}
.fl:hover>svg{transform:rotate(calc(var(--r) + 14deg)) scale(1.28);animation-play-state:paused}
.fl.pop>svg{animation:flPop .75s cubic-bezier(.3,1.4,.5,1)}
@keyframes flIn{from{opacity:0;scale:.3}to{opacity:1;scale:1}}
@keyframes flBob{50%{translate:0 -14px}}
@keyframes flPop{50%{transform:rotate(calc(var(--r) + 200deg)) scale(1.45)}}
.machine-stage{transform-style:preserve-3d;will-change:transform}
@media(max-width:700px){.fl{width:calc(var(--s)*.6)}.fl:not(.keep){display:none}}
@media(prefers-reduced-motion:reduce){.fl{opacity:1;animation:none;transition:none}.fl>svg{animation:none}}
/* Polish: quieter labels, real icons, varied layout */
.eyebrow{letter-spacing:.01em!important;font-size:13px!important;font-weight:700}
.gateway-kicker,.why-list small,.story-moment-grid small{letter-spacing:.02em!important;font-size:13px!important}
.ico{width:1em;height:1em;display:inline-block;vertical-align:-.14em;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.moment-emblem .ico{stroke-width:1.1}.gateway-symbol .ico{stroke-width:1.3}
.places article:nth-child(1){background:#FFD700}.places article:nth-child(5){background:#FFF8D5}
@media(min-width:901px){.steps{padding-bottom:30px}.steps article:nth-child(even){transform:translateY(30px)}}
.steps article:last-child{background:#FFD700;border-color:#FFD700}.steps article:last-child .step-num{color:#00000026}
.hours-chip{position:absolute;left:2.6%;top:59.6%;width:17.5%;height:8.8%;display:flex;align-items:center;justify-content:center;text-align:center;background:#fff;border-radius:999px;font:700 clamp(6px,.85vw,10px)/1.15 Inter,Arial,sans-serif;color:#121212;padding:0 6px;box-shadow:0 2px 8px #0001}
/* 24/7 footnote */
.fn{font-size:10px;color:#777;margin:10px 4px 0;line-height:1.4}
/* How it works: sticky scroll story */
#how .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}
#how .section-heading{position:sticky;top:120px;display:block;margin:0}
#how .section-heading>p{margin-top:8px}
.how-screen{margin-top:34px;background:#121212;color:#fff;border-radius:26px;padding:30px;min-height:190px;border-bottom:6px solid #FFD700}
.how-screen b{display:block;font:800 64px/1 Sora,Arial,sans-serif;color:#FFD700;letter-spacing:-.06em}
.how-screen h4{font-size:26px;margin:14px 0 6px}.how-screen p{color:#ccc;margin:0;font-size:14px}
#how .steps{display:flex;flex-direction:column;gap:0}
#how .steps article{background:none;border:0;border-left:3px solid #ddd;border-radius:0;min-height:58vh;padding:10px 0 10px 36px;display:flex;flex-direction:column;justify-content:center;opacity:.3;transition:opacity .4s,border-color .4s}
#how .steps article.on{opacity:1;border-color:#FFD700}
#how .steps h3{font-size:clamp(34px,4vw,54px);margin:22px 0 10px}#how .steps p{font-size:16px;max-width:380px}
#how .step-num{position:static;font-size:15px;color:#806000;order:-1;margin-bottom:12px}
@media(max-width:900px){#how .wrap{display:block}#how .section-heading{position:static}.how-screen{display:none}#how .steps article{min-height:0;opacity:1;padding:26px 0 26px 24px}}
/* Four Worlds: full-bleed photo */
.hero-copy>p.fn,p.fn{font-size:9px;line-height:1.4;color:#888;max-width:340px;margin:2px 0 0}
/* transparent logo: yellow badge on the dark moment panel instead of a white box */
.moment-brand-logo{background:#FFD700!important;padding:10px 18px!important;border-radius:16px!important;box-shadow:0 0 34px #FFF04A66;width:auto!important;height:54px!important;object-fit:contain!important}
.brand img{width:96px;height:42px}
.moment-emblem{right:24%!important}
dialog.xd{border:0;border-radius:28px;padding:0;width:min(560px,92vw);max-height:92vh;overflow:auto;box-shadow:0 40px 90px #0006}
dialog.xd::backdrop{background:#000a;backdrop-filter:blur(6px)}
dialog.xd form{margin:0;border:0;box-shadow:none}.xd-x{position:absolute;right:16px;top:12px;border:0;background:#f1f1f1;border-radius:50%;width:36px;height:36px;font-size:20px;cursor:pointer}
.xsent{text-align:center;padding:48px 28px}
.mini-form select{display:block;width:100%;margin-top:8px;padding:15px 18px;border:1px solid #ddd;border-radius:18px;background:#fafaf8;font:inherit;font-weight:600;color:#121212}
.mini-form label{display:block}
