/* Cinematic FXDX scene: compositor motion, original imagery and live orbital light. */
:root{--page-progress:0}
.motion-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header::after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:linear-gradient(90deg,#00cece,#3c62ff,#9756ff);transform:scaleX(var(--page-progress));transform-origin:left;pointer-events:none}
/* The scene is framed like a filmed globe; no flat-image motion or overlay tokens. */
.hero{min-height:1190px;background:linear-gradient(180deg,#f0f2ff 0%,#c3c9fa 21%,#a7b1f2 47%,#a1abf0 78%,#747eeb 100%)}
.hero-content{padding-top:48px}
.hero-halo{display:none}
.hero h1 .gradient-text{background:none;color:#0b1225}
.hero-description{min-width:610px;box-shadow:0 12px 40px #4056a31a;position:relative;border:1px solid #b5c7ff4d;background:linear-gradient(120deg,#111f43,#1e1742);padding:15px 30px}
.hero-description .hero-intro{display:block;font-size:15px;line-height:1.5;font-weight:550}
.hero-description .hero-subcopy{display:block;font-size:11px;color:#b6c6e9;margin-top:4px;letter-spacing:.05px}
[data-market-word]{display:inline-block;min-width:98px;color:#8c91ff;font-weight:750;text-align:center;transition:opacity .22s,translate .22s,filter .22s;will-change:opacity,translate}
[data-market-word].word-changing{opacity:0;translate:0 -8px;filter:blur(3px)}
.hero-note{letter-spacing:.6px}
.hero-eyebrow i{background:#3864e4;box-shadow:0 0 0 5px #597cf117}
.world-stage{top:180px;left:50%;width:1920px;height:1080px;mix-blend-mode:normal;transform:translateX(-50%);translate:none!important;will-change:auto;pointer-events:none;z-index:1}
.orbital-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none;z-index:2;opacity:0;transition:opacity .7s ease}
.world-stage[data-scene="ready"] .orbital-canvas{opacity:1}
.scene-fallback{position:absolute;width:1040px;height:1040px;left:440px;top:300px;border-radius:50%;background:radial-gradient(circle at 65% 20%,#d6ceff 0%,#9a8ee8 23%,#6152d3 53%,#303db8 78%);box-shadow:inset 12px 15px 30px #ece6ff66,inset -25px -12px 80px #22379b;transition:opacity .7s ease;opacity:1}
.world-stage[data-scene="ready"] .scene-fallback{opacity:0}
.hero-bottom{bottom:26px;color:#2b4176}
.hero-bottom>a{border-bottom:1px solid #415ba343;padding-bottom:8px}
.hero-bottom>a>span{animation:scroll-nudge 2.5s ease-in-out infinite}
.motion-toggle{position:fixed;right:20px;bottom:18px;z-index:25;border:1px solid #b4c6f393;display:flex;align-items:center;gap:8px;padding:10px 13px;border-radius:30px;background:#f1f6ffe8;color:#213768;box-shadow:0 6px 24px #162c7b12;font:550 10px "DM Sans",sans-serif;backdrop-filter:blur(12px);cursor:pointer;transition:background .2s,box-shadow .2s;min-height:38px}
.motion-toggle:hover{background:#fff;box-shadow:0 6px 24px #162c7b24}
.motion-toggle:focus-visible{outline:3px solid #5966f0;outline-offset:3px}
.motion-toggle:disabled{opacity:.7;cursor:default}
.motion-toggle-icon{display:inline-flex;width:13px;height:14px;align-items:center;justify-content:center;gap:3px}
.motion-toggle-icon::before,.motion-toggle-icon::after{content:"";width:2px;height:9px;background:currentColor;border-radius:1px}
.motion-paused .motion-toggle-icon::before{height:0;width:0;border-left:7px solid currentColor;border-top:5px solid transparent;border-bottom:5px solid transparent;background:none;border-radius:0}
.motion-paused .motion-toggle-icon::after{display:none}
.motion-toggle[hidden]{display:none}
.motion-ready:not(.motion-paused) .hero-content>div,.motion-ready:not(.motion-paused) .hero-content>h1,.motion-ready:not(.motion-paused) .hero-content>p{animation:cinema-arrive .9s cubic-bezier(.16,1,.3,1) both}
.motion-ready:not(.motion-paused) .hero-content>h1{animation-delay:.07s}
.motion-ready:not(.motion-paused) .hero-description{animation-delay:.16s}
.motion-ready:not(.motion-paused) .hero-content>.hero-cta{animation-delay:.23s}
.motion-ready:not(.motion-paused) .hero-note{animation-delay:.3s}
.hero *{animation-play-state:paused}
.motion-ready .hero.motion-in-view *{animation-play-state:running}
.motion-paused .hero *,.motion-ready .hero:not(.motion-in-view) *{animation-play-state:paused!important}
.motion-paused .world-stage{translate:0 0;will-change:auto}
.motion-paused .hero-content>*{opacity:1!important;translate:0 0!important;filter:none!important}
@keyframes cinema-arrive{from{opacity:0;translate:0 24px;filter:blur(5px)}to{opacity:1;translate:0 0;filter:blur(0)}}
@keyframes scroll-nudge{0%,100%{translate:0 0}50%{translate:0 5px}}
@media(min-width:1600px){.hero{min-height:1240px}.world-stage{top:220px}}
@media(max-width:1000px){.hero{min-height:1080px}.world-stage{width:1640px;height:922.5px;top:220px}.scene-fallback{width:888px;height:888px;left:376px;top:256px}.hero-description{min-width:0;max-width:620px}.hero-content{padding-top:44px}}
@media(max-width:700px){.hero{min-height:900px}.hero-content{padding-top:42px}.hero-description{min-width:0;width:100%;max-width:350px;padding:15px 17px;margin-top:23px;border-radius:22px}.hero-description .hero-intro{font-size:12px}.hero-description .hero-subcopy{font-size:9px;line-height:1.65;margin-top:5px}[data-market-word]{min-width:72px}.hero-note{font-size:6px;letter-spacing:.15px}.world-stage{width:1150px;height:646.875px;top:300px}.scene-fallback{width:623px;height:623px;left:263.5px;top:180px}.hero-bottom{bottom:21px;font-size:5px}.hero-bottom a{gap:8px}.motion-toggle{bottom:12px;right:12px;padding:9px 11px;font-size:9px;min-height:35px}.motion-toggle-label{max-width:116px}}
@media(max-width:380px){.hero{min-height:865px}.world-stage{top:280px}.hero-note{font-size:5.5px}}
@media(prefers-reduced-motion:reduce){.hero *{animation:none!important;transition:none!important}.hero-content>*{opacity:1!important;translate:0 0!important;filter:none!important}[data-market-word]{will-change:auto}}

/* The glass feature banners sit over the lower hemisphere. */
.hero{min-height:1240px}
.hero::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,transparent 48%,#344bdc12 62%,#3047d0b0 89%,#344dd7 100%)}
.hero-bottom,.hero-bottom a>span{color:#e6efff}
.hero-bottom>a{border-color:#d7e7ff70}
@media(max-width:1000px){.hero{min-height:1230px}}
@media(max-width:700px){.hero{min-height:1080px}}
@media(max-width:380px){.hero{min-height:1080px}}
