/* Shared homepage grid and navigation, loaded last on every page. */
/* Wordmark ink extends from -6 to 718 in DIN's 1000-unit em. These metrics
   give the visible capitals equal leading above and below at every size. */
@font-face{font-family:IDWT-Nav-DIN;src:url('/assets/din-condensed.woff2') format('woff2');font-weight:700;font-display:swap;ascent-override:71.8%;descent-override:0.6%;line-gap-override:0%}
@font-face{font-family:IDWT-Nav-Mono;src:url('/assets/space-mono-400.woff2') format('woff2');font-weight:400;font-display:swap}
:root{--gutter:clamp(22px,5vw,88px);--max:1600px;--page-inset:max(var(--gutter),calc((100% - var(--max))/2 + var(--gutter)))}
@media(max-width:560px){:root{--gutter:22px}}
.site-header{position:sticky;top:0;z-index:50;background:rgba(0,0,0,.96);color:#fff;border:0;border-bottom:1px solid #262626;backdrop-filter:blur(10px);font:400 15px/1.55 IDWT-Nav-Mono,monospace;-webkit-font-smoothing:antialiased}
.site-header *{box-sizing:border-box}
.site-header a{color:inherit;text-decoration:none}
.site-header button{color:inherit;cursor:pointer;border-radius:0}
.site-header [hidden]{display:none!important}
.site-header .header-inner{display:flex;align-items:center;width:min(var(--max),100%);min-height:88px;margin:auto;padding:13px var(--gutter);gap:24px}
.site-header .wordmark{display:block;flex:0 0 auto;min-width:0;margin:0;padding:0;font:700 30px/1.1 IDWT-Nav-DIN,'Arial Narrow',Impact,sans-serif;letter-spacing:.015em;white-space:nowrap;text-transform:uppercase}
.site-header .desktop-nav{display:flex;align-items:center;gap:20px;margin-left:auto}
.site-header .desktop-nav>a,.site-header .nav-folder-trigger{position:relative;display:flex;align-items:center;min-height:44px;padding:10px 0;margin:0;border:0;background:transparent;font:400 12px/1.2 IDWT-Nav-Mono,monospace;letter-spacing:0;white-space:nowrap;text-transform:uppercase}
.site-header .desktop-nav>a::after,.site-header .nav-folder-trigger::after{content:'';position:absolute;bottom:4px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}
.site-header .desktop-nav>a:hover::after,.site-header .desktop-nav>a.is-current::after,.site-header .nav-folder-trigger:hover::after,.site-header .nav-folder-trigger.is-current::after{transform:scaleX(1)}
.site-header .nav-folder-panel a.is-current,.site-header .mobile-nav .is-current{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.4em}
.site-header .nav-folder{position:relative}
.site-header .nav-folder-trigger{gap:8px}
.site-header .nav-folder-trigger span{font-size:16px;line-height:.5}
.site-header [aria-expanded=true] span:not(.menu-icon):not(.menu-label){transform:rotate(45deg)}
.site-header .nav-folder-panel{position:absolute;top:calc(100% + 14px);left:-18px;min-width:184px;padding:13px 18px 15px;background:#000;border:1px solid #3b3b3b;box-shadow:0 12px 28px #000b}
.site-header .nav-folder-panel a{display:block;padding:9px 0;font:400 11px/1.2 IDWT-Nav-Mono,monospace;letter-spacing:.055em;text-transform:uppercase}
.site-header .nav-folder-panel a+a{border-top:1px solid #262626}
.site-header .header-actions{display:flex;align-items:center;gap:18px;margin-left:auto}
.site-header .header-social{display:flex;align-items:center;flex:0 0 auto;gap:0}
.site-header .header-social a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;transition:color .2s}
.site-header .header-social a:hover{color:#aaa}
.site-header .header-social svg{display:block;width:20px;height:20px;flex:none}
.site-header .header-cta,.site-header .mobile-nav-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:14px;min-height:48px;margin:0;padding:12px 17px;border:1px solid #fff;background:#fff;color:#000;font:400 12px/1.2 IDWT-Nav-Mono,monospace;letter-spacing:.05em;text-transform:uppercase}
.site-header .header-cta:hover{background:#000;color:#fff}
.site-header .header-cta>span{font-size:16px;line-height:1}
.site-header .menu-toggle{display:none;border:0;background:transparent;padding:10px 0 10px 4px;min-height:44px}
.site-header .menu-label{font:400 11px/1.2 IDWT-Nav-Mono,monospace;letter-spacing:.06em}
.site-header .menu-icon{display:flex;flex-direction:column;gap:5px;margin-left:8px}
.site-header .menu-icon i{display:block;width:20px;height:1px;background:#fff}
.site-header .menu-toggle[aria-expanded=true] .menu-icon i:first-child{transform:translateY(3px) rotate(45deg)}
.site-header .menu-toggle[aria-expanded=true] .menu-icon i:last-child{transform:translateY(-3px) rotate(-45deg)}
.site-header .mobile-nav{display:none}
.site-header :focus-visible{outline:2px solid #fff;outline-offset:5px}
@media(max-width:1560px){
 .site-header .desktop-nav{display:none}
 .site-header .menu-toggle{display:flex;align-items:center}
 .site-header .mobile-nav:not([hidden]){position:absolute;display:flex;flex-direction:column;top:100%;left:0;right:0;max-height:calc(100svh - 100px);overflow:auto;padding:20px var(--page-inset);background:#000;border:0;border-bottom:1px solid #555;box-shadow:0 25px 30px #000b}
 .site-header .mobile-nav>a,.site-header .mobile-folder-trigger,.site-header .mobile-folder-panel a{display:block;margin:0;padding:16px 0;border:0;border-bottom:1px solid #333;background:transparent;color:#fff;text-align:left;font:400 14px/1.2 IDWT-Nav-Mono,monospace;letter-spacing:.06em;text-transform:uppercase}
 .site-header .mobile-folder-trigger{display:flex;justify-content:space-between;align-items:center}
 .site-header .mobile-folder-trigger span{font-size:18px}
 .site-header .mobile-folder-panel{padding:0 0 7px 18px}
 .site-header .mobile-folder-panel a{color:#b3b3b3}
 .site-header .mobile-nav .mobile-nav-cta{margin-top:19px}
}
@media(max-width:560px){
 .site-header .header-inner{min-height:76px;padding:12px var(--gutter);gap:12px}
 .site-header .wordmark{font-size:clamp(1.25rem,5.8vw,1.8rem)}
 .site-header .header-actions{gap:8px}
 .site-header .header-cta,.site-header .menu-label{display:none}
}
/* Containers share the homepage's 1600px frame; backgrounds remain full bleed. */
.hero-content,.teaser-inner,.homage-head,.homage-grid,.event-section,.schedule-heading,.schedule-tabs,.schedule-panels,.ticket-inner,.info-grid,.faq-block,.race-rules-hero-grid,.race-rules-content,.launch-hero,.ticket-overview,.product-grid{width:min(var(--max),100%);max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
.section-rail,.ticket-marquee,.site-footer,.launch-strip,.ticket-notify,.store-toolbar,.store-notes,body>footer{padding-inline:var(--page-inset)}
.rider-preview .rider-main{width:100%;max-width:none;margin:64px 0 96px;padding-inline:var(--page-inset)}
.rider-main>form,.rider-main>#rider-review,.rider-main>#rider-step{max-width:800px}
@media(max-width:560px){.rider-preview .rider-main{margin-top:40px}}

/* The homepage footer is shared by every route, independent of page styles. */
@font-face{font-family:IDWT-Site-DIN;src:url('/assets/din-condensed.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
.site-footer{display:block;position:relative;width:100%;margin:0;padding:clamp(70px,9vw,130px) var(--page-inset) 22px;border:0;background:#000;color:#fff;font:400 14px/1.8 IDWT-Nav-Mono,'Courier New',monospace;letter-spacing:0;text-align:left}
.site-footer *{box-sizing:border-box}
.site-footer h2,.site-footer p,.site-footer ul{margin:0;padding:0}
.site-footer a{color:inherit;text-decoration:none}
.site-footer a:last-child{justify-self:auto}
.site-footer a:focus-visible{outline:2px solid #fff;outline-offset:5px}
.site-footer .footer-main{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;position:relative;width:100%;max-width:none;min-height:280px;margin:0}
.site-footer .footer-wordmark{display:block;grid-column:1/-1;align-self:start;max-width:100%;margin:0;padding:0;color:#fff;font:700 clamp(2.1rem,8.2vw,8.5rem)/1.1 IDWT-Site-DIN,'Arial Narrow',Impact,sans-serif;letter-spacing:.015em;white-space:nowrap;text-transform:uppercase}
.site-footer .footer-label{margin:0 0 15px;color:#9e9e9e;font:400 12px/1.5 IDWT-Nav-Mono,'Courier New',monospace;letter-spacing:.08em;text-transform:uppercase}
.site-footer .footer-sponsors{grid-column:1/-1;min-width:0;padding:32px 0;border-bottom:1px solid #454545}
.site-footer .footer-sponsor-logos{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:center;gap:32px;width:100%;max-width:none;margin:24px 0 0;padding:0;list-style:none}
.site-footer .footer-sponsor-logos li{display:flex;align-items:center;justify-content:center;min-width:0;height:160px;margin:0;padding:0;list-style:none}
.site-footer .footer-sponsor-logos img{display:block;width:auto;height:auto;max-width:80%;object-fit:contain;opacity:1;filter:none}
.site-footer .footer-sponsor-monster{max-height:115.2px}
.site-footer .footer-sponsor-logos a{display:flex;align-items:center;justify-content:center;width:100%;min-width:0}
.site-footer .footer-sponsor-ftws{width:110px;max-height:115.2px}
.site-footer .footer-sponsor-peelers{width:150px;max-height:100px;transform:scale(1.2);transform-origin:center}
.site-footer .footer-sponsor-born-free{width:150px;max-height:150px;transform:scale(1.2);transform-origin:center}
.site-footer .footer-sponsor-logos .footer-sponsor-fmf{width:min(80%,125px);max-width:80%;max-height:none}
.site-footer .footer-contact,.site-footer .footer-social{display:flex;grid-column:auto;flex-direction:column;align-items:flex-start;gap:15px;min-width:0;margin:0;padding:0}
.site-footer .footer-contact>a,.site-footer .footer-social>a{font:400 14px/1.8 IDWT-Nav-Mono,'Courier New',monospace;letter-spacing:.06em;text-transform:uppercase}
.site-footer .footer-contact>a:hover,.site-footer .footer-social>a:hover,.site-footer .footer-bottom>a:hover{color:#a9a9a9}
.site-footer .footer-address{margin-top:17px;color:#9e9e9e;font:400 14px/1.8 IDWT-Nav-Mono,'Courier New',monospace;letter-spacing:0}
.site-footer .footer-tree{display:block;position:absolute;right:0;bottom:-22px;width:150px;max-width:none;height:auto;margin:0;opacity:1;filter:none}
.site-footer .footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;max-width:none;margin:90px 0 0;padding:16px 0 0;border-top:1px solid #454545;color:#9e9e9e;font:400 12px/1.2 IDWT-Nav-Mono,'Courier New',monospace;letter-spacing:.08em;text-transform:uppercase}
.site-footer .footer-bottom>span:first-child{white-space:nowrap}
.site-footer .footer-bottom>a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:820px){
 .site-footer .footer-main{min-height:340px}
 .site-footer .footer-tree{width:135px}
 .site-footer .footer-bottom{margin-top:60px}
}
@media(max-width:560px){
 .site-footer{padding-top:70px;padding-bottom:120px}
 .site-footer .footer-main{grid-template-columns:minmax(0,1fr);gap:44px;min-height:0}
 .site-footer .footer-wordmark{font-size:clamp(1.9rem,8.2vw,3rem);letter-spacing:0}
 .site-footer .footer-sponsors{padding:24px 0}
 .site-footer .footer-sponsor-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
 .site-footer .footer-sponsor-ftws{width:80px;max-height:89.6px}
 .site-footer .footer-sponsor-born-free{width:100px;max-height:100px}
 .site-footer .footer-sponsor-logos li{height:120px}
 .site-footer .footer-sponsor-monster{max-height:89.6px}
 .site-footer .footer-tree{right:-8px;bottom:-54px;width:90px}
 .site-footer .footer-bottom{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:74px;padding-top:14px}
 .site-footer .footer-bottom>a{grid-column:1/-1;justify-self:start}
}

.site-footer .footer-legal{display:flex;flex-wrap:wrap;gap:18px 28px;border-top:1px solid #444;padding-top:24px;margin-top:60px;font:400 12px/1.6 var(--body);position:relative;z-index:1}.site-footer .footer-legal a{text-decoration:underline;text-underline-offset:4px}.site-footer .footer-legal+.footer-bottom{margin-top:28px}@media(max-width:560px){.site-footer .footer-legal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;font-size:12px}}

.site-footer .footer-sponsor-logos .footer-sponsor-805{width:125px;max-width:80%;max-height:100px}
@media(max-width:560px){.site-footer .footer-sponsor-logos .footer-sponsor-805{width:110px;max-height:89.6px}}

.site-footer .footer-sponsor-logos .footer-sponsor-triumph{width:170px;max-width:100%;max-height:100px}
@media(max-width:560px){.site-footer .footer-sponsor-logos .footer-sponsor-triumph{width:150px;max-height:89.6px}}

/* Equal sponsor slots, centered artwork, and balanced outer spacing. */
.site-footer .footer-sponsor-logos{padding:16px 16px}
@media(min-width:561px) and (max-width:1100px){
 .site-footer .footer-sponsor-logos{grid-template-columns:repeat(8,minmax(0,1fr));gap:24px}
 .site-footer .footer-sponsor-logos li{grid-column:span 2}
 .site-footer .footer-sponsor-logos li:nth-child(5){grid-column:2 / span 2}
}
@media(max-width:560px){
 .site-footer .footer-sponsor-logos{padding:16px 0}
 .site-footer .footer-sponsor-logos li:last-child:nth-child(odd){grid-column:1 / -1;justify-self:center;width:calc((100% - 24px)/2)}
}

/* Optical alignment within the shared sponsor row. */
.site-footer .footer-sponsor-logos .footer-sponsor-triumph{transform:translateX(-12px)}
.site-footer .footer-sponsor-logos .footer-sponsor-fmf{transform:translateX(12px)}
@media(max-width:560px){
 .site-footer .footer-sponsor-logos .footer-sponsor-triumph{transform:translateX(-8px)}
 .site-footer .footer-sponsor-logos .footer-sponsor-fmf{transform:translateX(8px)}
}

/* Expanded sponsor roster: six above five, with consistent centered slots. */
.site-footer .footer-sponsor-new{max-height:110px;max-width:80%;width:150px}
.site-footer .footer-sponsor-tequio{width:100px}
.site-footer .footer-sponsor-sandy-vans{display:block;width:170px;max-width:80%;height:auto;overflow:hidden}
.site-footer .footer-sponsor-logos .footer-sponsor-triumph,.site-footer .footer-sponsor-logos .footer-sponsor-fmf{transform:none}
@media(min-width:561px){
 .site-footer .footer-sponsor-logos{grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
 .site-footer .footer-sponsor-logos li{grid-column:span 2}
 .site-footer .footer-sponsor-logos li:nth-child(5){grid-column:span 2}
 .site-footer .footer-sponsor-logos li:nth-child(7){grid-column:2 / span 2}
}
@media(max-width:560px){.site-footer .footer-sponsor-new{max-height:90px}}
