/* Mobile layout: typography, portrait and navigation each have their own space. */
.menu-toggle{display:none}
.hero-touch{display:none}
.sponsor-pitch{background:#edf3f9}.sponsor-pitch h2{font-size:clamp(48px,7.4vw,115px)}.sponsor-intro{display:flex;align-items:center;justify-content:space-between;gap:50px;margin-bottom:60px}.sponsor-intro p{max-width:650px;line-height:1.8;color:#54637a}.sponsor-intro .button{flex-shrink:0;margin:0}.digital-presence{margin-top:70px;border-top:1px solid #bcc9da;padding-top:55px;display:grid;grid-template-columns:1fr 1fr;gap:10%}.digital-presence h3{font-size:55px;line-height:.95;margin:30px 0}.digital-presence p{font-size:15px;line-height:1.8;color:#54637a}.digital-presence .text-link{overflow-wrap:anywhere}.measurement{background:white;border-radius:12px;padding:36px}.measurement h4{font-size:22px;margin:0 0 20px}.measurement ul{padding-left:20px;color:#54637a;line-height:1.8;font-size:14px}.digital-presence>*{min-width:0}
@media(max-width:760px){.sponsor-pitch h2{font-size:clamp(40px,11.6vw,78px)}.sponsor-intro{display:block;margin-bottom:35px}.sponsor-intro p{font-size:14px}.sponsor-intro .button{margin-top:25px}.digital-presence{grid-template-columns:1fr;gap:32px;margin-top:40px;padding-top:35px}.digital-presence h3{font-size:42px}.measurement{padding:24px}.measurement h4{font-size:20px}}
@media(max-width:760px){
 html{scroll-padding-top:24px}
 body{overflow-x:clip}
 header{padding:12px 5%;gap:10px;flex-wrap:wrap;z-index:20}
 header .brand{width:150px;height:48px;margin-right:auto}
 header .contact{font-size:10px;min-height:44px;padding:10px 12px;letter-spacing:0}
 header .contact span{margin-left:8px}
 .menu-toggle{display:grid;place-content:center;width:44px;height:44px;flex:0 0 44px;border:1px solid #ffffff50;border-radius:50%;background:#0a2a49;color:white;font-size:20px}
 header nav{display:none;order:4;flex:0 0 100%;border-radius:16px;background:#071b3df5;padding:12px 20px;box-shadow:0 20px 50px #0005;backdrop-filter:blur(20px)}
 header nav.mobile-open{display:flex;flex-direction:column;gap:0}
 header nav a{padding:16px 4px;font-size:15px;border-bottom:1px solid #ffffff18;min-height:48px}
 header nav a:last-child{border:0}
 .hero{height:100svh;min-height:680px;max-height:960px;perspective:none}
 .hero-top{top:88px;left:6%;right:6%;font-size:8px;letter-spacing:.08em;gap:12px}
 .hero-top>span:last-child{font-size:8px;text-align:right}
 .hero h1{inset:135px 5% auto;width:90%;height:auto;gap:5px;z-index:5}
 .hero h1>span:first-child,.hero h1>span:nth-child(2){font-size:17.8vw;letter-spacing:-.02em;line-height:.86;white-space:nowrap}
 .hero-photo{top:auto;bottom:84px;left:50%;right:auto;width:100%;height:calc(100% - 265px);object-fit:contain;object-position:center bottom;z-index:3;transform:translateX(-50%);filter:drop-shadow(0 10px 25px #00152e50);mask-image:linear-gradient(#000 77%,transparent 100%);transition:none}
 .hero-shade{background:linear-gradient(0deg,#031426 0%,#031426aa 10%,transparent 26%)}
 .hero::before{background-position:60% center;opacity:.45}
 .hero-bottom{bottom:max(22px,env(safe-area-inset-bottom));left:6%;right:6%;grid-template-columns:1fr auto;gap:16px}
 .hero-bottom p{font-size:13px;line-height:1.55;max-width:220px}
 .hero-bottom .round{width:48px;height:48px;min-height:48px;background:#0b3555;border-color:#00bce480}
 .section{padding:64px 6%}
 .eyebrow{font-size:10px;line-height:1.6;letter-spacing:.08em}
 h2,.calendar h2,.media h2,.opportunities h2,.story h2{font-size:clamp(40px,11.6vw,78px);line-height:.94;overflow-wrap:normal}
 .intro-grid{margin-top:28px;gap:28px}.bio{max-width:none}.bio p{font-size:17px;line-height:1.65}.bio .muted{font-size:14px;line-height:1.75}
 .history{gap:12px;margin-top:35px}.history article{padding:22px 0 0}.history h3{line-height:1.4;font-size:12px}.history p{line-height:1.6;font-size:11px}
 .story-grid{margin-top:24px;gap:20px}.outline-number{font-size:80px}.story-chapters article{padding:26px 0}.story h3{font-size:34px;line-height:1.05}
 .story p,.season p,.broadcast p,.opportunities p{font-size:14px;line-height:1.8}
 .track{height:620px}.track-heading{top:38px;left:6%;right:6%}.track h2{font-size:clamp(42px,12vw,70px);margin-top:28px}.track-caption{gap:20px;bottom:30px;font-size:11px}.track-caption p{text-align:right}
 .future-title{margin:30px 0 36px}.future-title p{font-size:14px;line-height:1.7}.season-grid{gap:28px}.season-grid h3{font-size:42px}.race-list li{font-size:15px;padding:18px 0}
 .event{gap:16px;padding:26px 0;flex-wrap:nowrap;align-items:start}.event-date{min-width:76px;font-size:34px}.event h3{font-size:27px;line-height:1.05}.event p{font-size:12px;line-height:1.6}.event .eyebrow{font-size:9px}.source-note{font-size:11px!important}
 .project-image{height:260px;min-height:260px}.project-copy{padding:30px 24px}.project-copy h3{font-size:70px;margin:25px 0}.button{font-size:12px;min-height:48px;padding:17px 22px;text-align:center;line-height:1.5;max-width:100%}
 .gallery{padding-right:0}.gallery-heading{padding-right:6%;padding-bottom:65px}.gallery h2{margin:28px 0 0}.gallery-controls{left:0;right:auto;bottom:0}.gallery-controls button{width:48px;height:48px}.gallery-rail{gap:16px;padding-top:24px}.gallery figure{flex-basis:86%}.gallery figure img{height:360px}.gallery figcaption{font-size:10px;line-height:1.5}
 .media h2{margin-top:30px}.media-lead{font-size:14px}.media-grid{margin:34px 0}.media-grid strong{font-size:56px}.media-grid article{padding:24px 0}.broadcast{gap:30px}.broadcast h3{font-size:34px}.social-stats{gap:24px 12px}.social-stats b{font-size:32px}
 .partners h2{margin-top:30px}.partner-bottom{margin-top:30px}.partner-bottom p{font-size:14px}.partner-bottom span{font-size:10px;line-height:1.7}
 .opportunity-grid{gap:24px}.opportunity-grid article{padding:24px 0}.opportunity-grid h3{font-size:34px;margin:20px 0 16px}.offer-details{gap:24px;margin-top:44px}.offer-details>h3{font-size:42px}.offer-details summary{font-size:16px;gap:18px;min-height:56px}.offer-details summary span{flex-shrink:0}
 .footer-cta{font-size:17vw;line-height:.92;margin:35px 0 48px}.footer-bottom{grid-template-columns:1fr;gap:24px;padding-top:28px;font-size:11px}.footer-bottom .brand{width:180px;height:55px}.footer-bottom a{display:inline-block;min-height:44px;align-content:center;overflow-wrap:anywhere}
}
@media(max-width:360px){header .brand{width:125px}header .contact{font-size:9px;padding:10px}header .contact span{display:none}.hero{min-height:650px}.hero-top{font-size:7px}.hero-top>span:last-child{font-size:7px}.hero h1{top:132px}.hero-photo{height:calc(100% - 250px)}.hero-bottom p{font-size:12px}.gallery figure img{height:300px}}
@media(max-width:760px) and (orientation:landscape){.hero{height:740px;max-height:none}.hero h1{width:70%;left:15%;font-size:90px}.hero h1>span:first-child,.hero h1>span:nth-child(2){font-size:90px}.hero-photo{height:430px;width:80%}}
@media(hover:none){.button,.contact,.hero-bottom .round{translate:none!important}.button:hover,.round:hover{transform:none}.gallery figure:hover img{transform:none;filter:none}}
/* Contain wide content at its source; gallery retains its own swipe area. */
html,body{max-width:100%;overflow-x:hidden}
@supports(overflow:clip){html,body{overflow-x:clip}}
main,section,footer{min-width:0;max-width:100%}
.intro-grid>*,.story-grid>*,.season-grid>*,.project>*,.broadcast>*,.offer-details>*,.history>*,.media-grid>*,.social-stats>*,.footer-bottom>*{min-width:0}
.gallery-rail{max-width:100%;overscroll-behavior-x:contain}
@media(max-width:760px){
 header{width:100%;max-width:100%}.contact{flex-shrink:1;min-width:0}
 h2,h3,.footer-bottom a{overflow-wrap:anywhere}
 .hero h1>span{overflow-wrap:normal}
 .event>div:not(.event-date){min-width:0;flex:1}
 .footer-cta{padding-right:12%;font-size:16vw}.footer-cta span{font-size:.55em;right:0;top:10%}
 .track-caption>*{min-width:0}.track-caption span{max-width:40%}
 .hero-touch{position:absolute;display:flex;align-items:center;justify-content:center;gap:10px;bottom:100px;left:50%;transform:translateX(-50%);z-index:7;max-width:86%;min-height:44px;padding:12px 18px;border:1px solid #80dfff60;border-radius:30px;background:#08233ee6;color:#dcefff;backdrop-filter:blur(12px);font-size:10px;letter-spacing:.06em;white-space:nowrap;touch-action:manipulation;box-shadow:0 5px 25px #00132640}
 .hero-touch::before{content:'';width:6px;height:6px;border-radius:50%;background:#00bce4;box-shadow:0 0 12px #00bce4}
 .hero-touch[aria-pressed=true]{background:#00bce4;color:#071b3d;border-color:#00bce4}
 .hero-touch[aria-pressed=true]::before{background:#071b3d;box-shadow:none}
 .hero-photo{bottom:112px;height:calc(100% - 290px);transition:filter .65s ease}
 .hero::after{transition:opacity .65s,background .65s}
 .hero.race-light::after{background:radial-gradient(ellipse at 50% 60%,#00bce47a,transparent 68%);opacity:1}
 .hero.race-light .hero-photo{filter:brightness(1.12) saturate(1.12) drop-shadow(0 0 28px #00bce477)}
 .hero.race-light h1>span:nth-child(2){color:#90eaff;text-shadow:0 0 30px #00bce440}
 .hero h1>span:nth-child(2){transition:color .65s,text-shadow .65s}
 .hero:not(.hero-offscreen) .hero-touch::before{animation:touch-beacon 2.8s ease-in-out infinite}
 .hero.hero-offscreen .hero-touch::before{animation-play-state:paused}
 .hero.touch-feedback .hero-photo{animation:helmet-respond .7s ease-out both}
 .button:active,.menu-toggle:active,.gallery-controls button:active{scale:.96}
 .button,.menu-toggle,.gallery-controls button{transition:scale .15s,background .25s}
}
@keyframes touch-beacon{50%{box-shadow:0 0 0 5px #00bce420,0 0 18px #00bce4}}
@keyframes helmet-respond{0%,100%{transform:translateX(-50%) rotate(0)}40%{transform:translateX(-50%) rotate(-2deg)}70%{transform:translateX(-50%) rotate(1deg)}}
@media(prefers-reduced-motion:reduce){.hero-touch::before,.hero.touch-feedback .hero-photo{animation:none!important}.hero-photo,.hero::after,.hero h1>span{transition:none!important}.button:active,.menu-toggle:active,.gallery-controls button:active{scale:1}}
/* Mobile portrait overlap: larger lettering in front of the upper helmet. */
@media(max-width:760px){
 .hero h1{inset:clamp(180px,26svh,260px) 1% auto;width:98%;gap:7px;z-index:5}
 .hero h1>span:first-child,.hero h1>span:nth-child(2){font-size:20vw;line-height:.86;letter-spacing:-.035em;text-shadow:0 3px 0 #03142635,0 10px 24px #03142680}
 .hero h1>span:first-child{color:#f3f8ff}
 .hero h1>span:nth-child(2){color:#00bce4}
 .hero-photo{bottom:84px;height:calc(100% - 250px);z-index:3}
}
@media(max-width:760px) and (orientation:landscape){
 .hero h1{top:190px;left:8%;width:84%}
 .hero h1>span:first-child,.hero h1>span:nth-child(2){font-size:14vw}
}
