/* Requested refinement: header identity/menu and hero typography only. */
@font-face{font-family:'Manrope Impact';src:url('assets/manrope-extrabold.ttf') format('truetype');font-style:normal;font-weight:800;font-display:swap}

.site-header { --header-bar-height: 104px; }
.site-header .header-inner{height:var(--header-bar-height);gap:24px}
.site-header .brand{width:300px}
.site-header .brand img{mix-blend-mode:normal;mask-image:none}
.site-header .desktop-nav{gap:25px}
.site-header .desktop-nav a,.site-header .mobile-nav a{position:relative;font-family:'Manrope Impact',Manrope,sans-serif;font-size:18px;font-weight:800;line-height:1.4;color:#e8edf6;padding:14px 0;isolation:isolate;transition:color .22s ease,text-shadow .22s ease}
.site-header .desktop-nav a:before,.site-header .mobile-nav a:before{content:'';position:absolute;left:-9px;right:-9px;bottom:0;height:28px;background:radial-gradient(ellipse at center bottom,#efc16b3d,transparent 72%);opacity:0;transform:translateY(4px);transition:opacity .22s ease,transform .22s ease;pointer-events:none;z-index:-1}
.site-header .desktop-nav a:after,.site-header .mobile-nav a:after{content:'';position:absolute;left:0;right:0;bottom:4px;height:2px;transform:scaleX(0);transform-origin:left center;background:linear-gradient(90deg,#cda354,#ffe7ad,#dcb16a);box-shadow:0 0 7px #ffda8fe6,0 0 18px #e9b75f99,0 0 32px #e9b75f55;border-radius:2px;transition:transform .25s ease;pointer-events:none}
.site-header .desktop-nav a:is(:hover,:focus-visible),.site-header .mobile-nav a:is(:hover,:focus-visible){color:#ffdfa2;text-shadow:0 0 17px #e5b05b80}
.site-header .desktop-nav a:is(:hover,:focus-visible):before,.site-header .mobile-nav a:is(:hover,:focus-visible):before{opacity:1;transform:translateY(0)}
.site-header .desktop-nav a:is(:hover,:focus-visible):after,.site-header .mobile-nav a:is(:hover,:focus-visible):after{transform:scaleX(1)}
.site-header .header-actions{gap:20px;margin-left:12px}
.site-header .language-switch{gap:9px}
.site-header .language-switch button{font-size:14px;font-weight:700;padding:10px 2px;transition:color .2s,text-shadow .2s}
.site-header .language-switch button:hover{color:#ffe2a5;text-shadow:0 0 13px #f0c27199}
.site-header .login-link{font-size:15px;font-weight:700;padding:13px 18px;gap:16px;border-color:#d9b66e8c;transition:border-color .2s,box-shadow .2s,background .2s}
.site-header .login-link:is(:hover,:focus-visible){border-color:#ffe1a0;box-shadow:0 0 16px #d6aa5436,inset 0 0 16px #d6aa5414}
.site-header .menu-toggle{width:44px;height:44px;transition:box-shadow .2s,border-color .2s}
.site-header .menu-toggle:is(:hover,:focus-visible){border-color:#ffe1a0;box-shadow:0 0 16px #d6aa5445}
.site-header .menu-toggle>span{width:20px;height:2px;box-shadow:0 0 7px #e9bd7050}

.hero h1{font-family:'Manrope Impact',Manrope,sans-serif;font-size:96px;font-weight:800;line-height:1.04;letter-spacing:-3.8px}
.hero h1>span{font-size:.9em}
.hero h1 em{font-weight:800;margin-top:9px}
.hero .hero-eyebrow{font-size:14px;font-weight:700;letter-spacing:2.2px;margin-bottom:27px}
.hero .hero-description{font-size:26px;font-weight:500;line-height:1.55;max-width:580px;margin-top:25px}
.hero .hero-subtitle{font-family:'Manrope Impact',Manrope,sans-serif;font-size:38px;font-weight:800;line-height:1.25;letter-spacing:-.6px;color:#f5f6f9;max-width:650px;margin-top:26px}
.hero .hero-subtitle+.hero-description{margin-top:18px}
.hero .hero-buttons{margin-top:30px;gap:24px}
.hero .hero-buttons .button{font-size:17px;font-weight:700;min-height:60px;padding:16px 23px}
.hero .hero-buttons .text-link{font-size:16px;font-weight:600}
.hero .hero-buttons .play-icon{width:32px;height:32px;font-size:19px}
.hero .corridor-label{font-size:12px;letter-spacing:1.4px}
.hero .corridor-route{font-size:15px}
.hero .explore-link{font-size:14px}

@media(min-width:1600px){.hero h1{font-size:104px}.hero .hero-copy{max-width:650px}}
@media(min-width:1181px) and (max-width:1320px){.site-header .brand{width:260px}.site-header .desktop-nav{gap:19px}.site-header .header-inner{gap:18px}.site-header .header-actions{gap:15px;margin-left:6px}.site-header .login-link{padding:12px 15px;gap:12px}.hero h1{font-size:88px}.hero .hero-buttons{gap:20px}}
@media(max-width:1180px){.site-header .desktop-nav,.site-header .header-actions>.login-link{display:none}.site-header .menu-toggle{display:flex}.site-header .header-actions{margin-left:auto;gap:22px}.site-header .mobile-nav{padding-top:8px;padding-bottom:24px;gap:6px}.site-header .mobile-nav a{font-size:20px;width:fit-content;min-width:190px;padding:13px 0}.hero h1{font-size:78px}.hero .hero-description{font-size:20px}.hero .hero-buttons .button{font-size:16px}.hero .hero-buttons .text-link{font-size:15px}.hero .corridor-label{max-width:220px;font-size:11px}.hero .corridor-route{font-size:14px}.hero .explore-link{font-size:12px}}
@media(max-width:960px) and (min-width:761px){.hero h1{font-size:68px;letter-spacing:-2.8px}.hero .hero-eyebrow{font-size:12px;letter-spacing:1.8px}.hero .hero-description{font-size:19px;max-width:360px}.hero .hero-buttons{gap:18px}.hero .hero-buttons .button{font-size:15px}.hero .hero-buttons .text-link{font-size:14px}.hero .corridor-label{font-size:10px;max-width:170px}.hero .corridor-route{font-size:13px}.hero .explore-link{font-size:12px}}
@media(max-width:760px){.site-header{--header-bar-height:86px}.site-header .header-inner{gap:14px}.site-header .brand{width:210px}.site-header .header-actions{gap:16px}.site-header .language-switch button{font-size:14px}.hero h1{font-size:clamp(48px,15vw,66px);line-height:1.06;letter-spacing:-2.4px}.hero h1>span{font-size:.92em}.hero .hero-eyebrow{font-size:12px;letter-spacing:1.8px;margin-bottom:22px}.hero .hero-description{font-size:20px;line-height:1.5;max-width:450px;margin-top:23px}.hero .hero-buttons{gap:24px;margin-top:27px}.hero .hero-buttons .button{font-size:17px;min-height:60px;padding:16px 21px}.hero .hero-buttons .text-link{font-size:17px}.hero .corridor-label{font-size:11px;max-width:175px;letter-spacing:.9px}.hero .corridor-route{font-size:13px}.hero .route-line{width:32px}.hero .corridor-bar{gap:16px}}
@media(max-width:380px){.site-header .brand{width:165px}.site-header{--header-bar-height:78px}.site-header .header-inner{gap:10px}.site-header .header-actions{gap:10px}.site-header .language-switch{gap:6px}.site-header .language-switch button{font-size:13px}.site-header .menu-toggle{width:40px;height:40px}.hero h1{font-size:48px;letter-spacing:-2px}.hero .hero-description{font-size:19px}.hero .hero-eyebrow{font-size:11px;letter-spacing:1.5px}.hero .hero-buttons .button{font-size:16px}.hero .hero-buttons .text-link{font-size:16px}.hero .corridor-label{font-size:10px;max-width:135px}.hero .corridor-route{font-size:12px;gap:8px}.hero .route-line{width:24px}}
@media(min-width:761px) and (max-width:800px){.hero h1{font-size:64px}}
/* Keep the approved headline on one line at every screen size. */
.hero .hero-copy{width:55%;max-width:700px}
.hero h1{white-space:nowrap}
.hero h1>span,.hero h1 em{display:inline;font-size:1em;margin:0}
@media(max-width:1180px){.hero .hero-description{font-size:24px}}
@media(min-width:961px) and (max-width:1180px){.hero h1{font-size:clamp(70px,7.4vw,78px)}}
@media(min-width:761px) and (max-width:960px){.hero h1{font-size:clamp(50px,6.6vw,68px)}.hero .hero-subtitle{font-size:34px}.hero .hero-description{font-size:23px}}
@media(max-width:760px){.hero .hero-copy{width:100%;max-width:100%}.hero h1{font-size:clamp(40px,12.5vw,66px);letter-spacing:-1.6px}.hero .hero-subtitle{font-size:32px;line-height:1.25;letter-spacing:-.4px;margin-top:24px}.hero .hero-description{font-size:23px}}
@media(max-width:380px){.hero .hero-subtitle{font-size:29px}.hero .hero-description{font-size:22px}}
@media(prefers-reduced-motion:reduce){.site-header .desktop-nav a,.site-header .mobile-nav a,.site-header .desktop-nav a:before,.site-header .desktop-nav a:after,.site-header .mobile-nav a:before,.site-header .mobile-nav a:after{transition:none}}

@media (max-width: 1180px) and (max-height: 460px) {
  .site-header .mobile-nav:not([hidden]) {
    max-height: calc(100vh - var(--header-bar-height) - 1px);
    max-height: calc(100dvh - var(--header-bar-height) - 1px);
    overflow-y: auto;
    overscroll-behavior-y: contain;
  }
}

@media (min-width: 2040px) {
  .hero .hero-grid {
    /* Keep the faces and the payment gesture in view as the artwork widens. */
    min-height: clamp(760px, calc(32vw - 83px), 1160px);
  }

  .hero .hero-campaign {
    object-position: center 18%;
  }
}
