@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#090b0f;--panel:#10141a;--panel2:#151920;--line:#2a2d33;--red:#ed2029;--red-hover:#ff3a42;--text:#f7f8fa;--muted:#999da7;--blue:#153b65;--display:'Barlow Condensed','Arial Narrow',Impact,sans-serif;--body:Manrope,'Segoe UI',Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:105px}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);font-size:15px;-webkit-font-smoothing:antialiased}
body.modal-open{overflow:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible{outline:2px solid #fff;outline-offset:5px}
::selection{background:var(--red);color:white}
.container{width:min(1240px,calc(100% - 96px));margin-inline:auto}
.skip-link{position:fixed;top:-100px;left:20px;z-index:500;background:var(--red);color:#fff;padding:14px 20px}.skip-link:focus{top:10px}
.race-strip{background:var(--red);min-height:36px;position:relative;z-index:40}
.race-strip__inner{min-height:36px;display:flex;align-items:center;gap:26px;font-weight:800;font-size:10px;letter-spacing:1.15px}
.race-strip__label{white-space:nowrap;display:flex;align-items:center;gap:9px}
.live-dot{width:6px;height:6px;border-radius:100%;background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.14)}
.race-strip__details{color:#fff;opacity:.96;white-space:nowrap}
.mini-divider{padding:0 14px;opacity:.57}
.race-strip__link{margin-left:auto;white-space:nowrap;border-bottom:1px solid rgba(255,255,255,.6);padding:2px 0}
.race-strip__link:hover{border-bottom-color:#fff}
.site-header{position:sticky;top:0;z-index:35;background:rgba(8,10,14,.96);backdrop-filter:blur(24px);border-bottom:1px solid rgba(255,255,255,.08)}
.header-inner{min-height:94px;display:flex;align-items:center;gap:36px}
.brand{width:157px;flex:none;display:flex;align-items:center}
.brand img{width:156px;max-height:79px;object-fit:contain}
.desktop-nav{display:flex;align-items:center;gap:31px;margin-left:auto;height:100%}
.desktop-nav a{position:relative;font-family:var(--display);font-size:17px;font-weight:700;letter-spacing:.75px;color:#c9cbd0;transition:color .2s}
.desktop-nav a:hover,.desktop-nav a.is-active{color:#fff}
.desktop-nav a.is-active::after{position:absolute;content:"";bottom:-14px;left:0;right:0;height:2px;background:var(--red)}
.header-ticket{margin-left:6px;display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:14px 24px;border:1px solid rgba(255,255,255,.37);font-family:var(--display);font-size:17px;font-weight:800;letter-spacing:.6px;transition:background .2s,border .2s}
.header-ticket:hover{border-color:var(--red);background:var(--red)}
.menu-toggle,.mobile-nav{display:none}
.hero{min-height:640px;height:min(780px,calc(100svh - 130px));position:relative;overflow:hidden;isolation:isolate;background:#090c10}
.hero-photo{position:absolute;z-index:-3;right:0;top:0;width:76%;height:100%;background:url('../assets/hero.webp') center 53% / cover no-repeat;filter:contrast(1.12) saturate(.94)}
.hero-shade{z-index:-2;position:absolute;inset:0;background:linear-gradient(90deg,#090b0f 0%,#090b0f 17%,rgba(9,11,15,.97) 25%,rgba(9,11,15,.80) 39%,rgba(9,11,15,.22) 68%,rgba(9,11,15,.12) 100%),linear-gradient(0deg,rgba(9,11,15,.72),transparent 28%)}
.hero-geometry{z-index:-1;position:absolute;right:-26%;bottom:-265px;width:1000px;height:420px;border-top:2px solid rgba(237,32,41,.85);transform:rotate(-18deg);opacity:.8}
.hero-layout{display:flex;align-items:center;height:100%;min-height:inherit;position:relative}
.hero-copy{max-width:740px;padding:30px 0 62px}
.eyebrow{font-family:var(--display);font-size:18px;letter-spacing:2.2px;font-weight:700;display:flex;align-items:center;gap:12px;color:var(--red);margin:0}
.eyebrow__rule{display:inline-block;width:29px;height:2px;background:currentColor;flex:none}
.eyebrow--light{color:#fff}
.hero h1{font-family:var(--display);font-weight:900;letter-spacing:-1.7px;font-size:clamp(82px,8.1vw,139px);line-height:.82;margin:30px 0 30px;text-transform:uppercase;max-width:850px;text-wrap:balance}
.hero h1 span{color:var(--red)}
.hero-intro{font-size:17px;font-weight:500;color:#d0d3db;max-width:480px;line-height:1.85;margin:0 0 31px}
.hero-actions,.event-links{display:flex;align-items:center;flex-wrap:wrap;gap:35px}
.button{display:inline-flex;justify-content:center;align-items:center;gap:46px;min-height:57px;padding:0 24px 0 27px;cursor:pointer;font-family:var(--display);font-weight:800;font-size:19px;letter-spacing:.75px;transition:background .2s,transform .2s}
.button:hover{transform:translateY(-2px)}
.button--red{background:var(--red);color:#fff}
.button--red:hover{background:var(--red-hover)}
.text-link{display:inline-flex;align-items:center;gap:19px;font-size:12px;letter-spacing:1.25px;font-weight:800;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:8px;transition:border .2s,color .2s}
.text-link:hover{color:var(--red);border-bottom-color:var(--red)}
.text-link--muted{color:#ddd}
.hero-image-label{position:absolute;bottom:79px;right:0;display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-family:var(--display);text-shadow:0 2px 14px #000}
.hero-image-label span:first-child{font-size:82px;font-weight:900;letter-spacing:7px;line-height:1;opacity:.68}
.hero-image-label span:last-child{font-size:17px;font-weight:700;letter-spacing:4px}
.hero-bottom{position:absolute;bottom:27px;left:clamp(48px,calc((100vw - 1240px)/2),200px);display:flex;gap:20px;align-items:center;color:rgba(255,255,255,.5);font-family:var(--display);font-weight:700;letter-spacing:2px;font-size:13px}
.hero-line{width:52px;height:1px;background:rgba(255,255,255,.4)}
.category-ribbon{background:#ed2029;overflow:hidden}
.category-ribbon__inner{min-height:67px;display:flex;justify-content:space-between;align-items:center;gap:22px;font-family:var(--display);font-size:19px;font-weight:800;letter-spacing:1.5px;white-space:nowrap}
.category-ribbon__inner b{font-size:15px;color:rgba(255,255,255,.5)}
.section{padding-block:113px}
.section-topline{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:53px}
.section-count{font-size:11px;font-weight:800;letter-spacing:1.65px;color:#7d838e}
.event-section{background:#0d1015}
.event-grid{display:grid;grid-template-columns:.92fr 1.08fr;align-items:center;gap:70px}
.event-edition{font-family:var(--display);font-size:22px;letter-spacing:1px;font-weight:800;color:#a3a7b0;margin:0 0 12px}
.event-edition span{color:var(--red);padding:0 8px}
.event-copy h2{font-family:var(--display);font-size:clamp(106px,11vw,170px);font-weight:900;line-height:.85;letter-spacing:-2px;margin:0 0 37px}
.event-copy h2 span{display:block;color:var(--red);font-size:clamp(68px,8vw,116px);letter-spacing:-1px}
.event-meta{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 0;max-width:485px}
.event-meta p{display:flex;align-items:center;gap:14px;margin:10px 0;font-family:var(--display);font-size:21px;letter-spacing:1px}
.event-meta__icon{display:inline-flex;align-items:center;justify-content:center;border:1px solid #353841;width:24px;height:24px;color:var(--red);font-size:15px;transform:rotate(45deg)}
.event-description{font-size:15px;color:#adb2bb;line-height:1.9;max-width:475px;margin:28px 0 30px}
.event-links{gap:29px}
.event-art{align-self:center;background:#171c24;padding:15px;border:1px solid #2c313a;box-shadow:0 16px 60px rgba(0,0,0,.35);position:relative}
.event-art:before{content:"";position:absolute;left:-9px;top:-9px;width:73px;height:73px;border-left:3px solid var(--red);border-top:3px solid var(--red);pointer-events:none}
.event-art__caption{font-family:var(--display);font-size:15px;font-weight:700;letter-spacing:1.5px;display:block;padding:5px 2px 15px;color:#aeb4be}
.event-art a{display:block;overflow:hidden;background:#111}
.event-art img{width:100%;object-fit:contain;transition:transform .35s}
.event-art a:hover img{transform:scale(1.023)}
.event-art__footer{display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:800;color:#9ea4ae;letter-spacing:1.7px;padding:18px 3px 3px}
.event-art__footer span:last-child{color:var(--red);font-size:25px;line-height:.7}
.discipline-section{background:var(--bg)}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin:0 0 38px}
.section-heading h2{font:900 clamp(64px,7.2vw,110px)/.86 var(--display);letter-spacing:-1.4px;margin:0}
.section-heading h2 span{color:var(--red)}
.section-heading p{font-size:15px;line-height:1.85;color:#a6a9b2;max-width:290px;margin:0 0 6px}
.discipline-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.discipline-card{min-height:440px;position:relative;overflow:hidden;background:#20252a;isolation:isolate}
.discipline-card:before{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.91) 0%,rgba(0,0,0,.12) 68%);content:"";z-index:0}
.discipline-card:after{position:absolute;content:"";height:4px;width:65px;bottom:0;left:31px;background:var(--red)}
.discipline-card img{width:100%;height:100%;min-height:440px;position:absolute;inset:0;object-fit:cover;transition:transform .6s cubic-bezier(.2,.75,.25,1)}
.discipline-card--cars img{object-position:center center}
.discipline-card--bikes img{object-position:center center}
.discipline-card:hover img{transform:scale(1.05)}
.discipline-card__overlay{position:absolute;bottom:40px;left:38px;z-index:1}
.discipline-card__number{font-size:11px;font-weight:800;letter-spacing:2px;color:#fff}
.discipline-card__overlay h3{font:900 78px/.8 var(--display);letter-spacing:-.8px;margin:16px 0 12px}
.discipline-card__overlay p{font-size:14px;color:#e3e3e3;font-weight:600;margin:0}
.gallery-section{background:#0d1015}
.section-heading--gallery{margin-bottom:42px}
.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:174px;gap:10px}
.gallery-item{position:relative;width:100%;border:0;padding:0;cursor:zoom-in;background:#20252a;overflow:hidden}
.gallery-item:before{position:absolute;inset:0;content:"";z-index:1;background:rgba(0,0,0,.06);transition:background .25s}
.gallery-item:hover:before{background:rgba(0,0,0,.22)}
.gallery-item img{height:100%;width:100%;object-fit:cover;transition:transform .4s cubic-bezier(.2,.75,.25,1)}
.gallery-item:hover img{transform:scale(1.065)}
.gallery-item:first-child{grid-column:span 2;grid-row:span 2}
.gallery-item:nth-child(6){grid-column:span 2}
.gallery-item__zoom{position:absolute;bottom:12px;right:12px;z-index:2;background:var(--red);color:#fff;width:38px;height:38px;display:flex;align-items:center;justify-content:center;font-size:24px;opacity:0;transform:translateY(8px);transition:opacity .2s,transform .2s}
.gallery-item:hover .gallery-item__zoom,.gallery-item:focus-visible .gallery-item__zoom{opacity:1;transform:none}
.gallery-caption{text-align:right;margin:20px 0 0;font-size:10px;letter-spacing:2px;color:#757b85;font-weight:800}
.social-section{background:#173d68;position:relative;overflow:hidden;padding:75px 0}
.social-section:after{content:"STM";position:absolute;right:-26px;top:-100px;font:900 370px/1 var(--display);color:rgba(255,255,255,.035);pointer-events:none}
.social-inner{display:flex;justify-content:space-between;align-items:center;gap:35px;position:relative;z-index:1}
.social-section .eyebrow{color:#fff}
.social-section h2{font:900 clamp(47px,5vw,73px)/.92 var(--display);margin:20px 0 0}
.social-section h2 span{color:#e4e9f0}
.social-actions{display:flex;flex-direction:column;gap:10px;flex:none;width:240px}
.social-actions a{border:1px solid rgba(255,255,255,.5);padding:15px 20px;display:flex;align-items:center;justify-content:space-between;font-family:var(--display);font-size:19px;font-weight:800;letter-spacing:1px;transition:background .2s}
.social-actions a:hover{background:var(--red);border-color:var(--red)}
.site-footer{background:#07090c}
.footer-top{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:45px 0 35px}
.footer-top a:first-child{width:160px;flex:none}
.footer-top img{width:160px}
.footer-top p{color:#8d949d;font-size:13px;line-height:1.9;margin-right:auto;margin-left:60px}
.footer-back{font-family:var(--display);font-size:16px;font-weight:800;letter-spacing:1px}
.footer-back:hover{color:var(--red)}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #242830;padding:22px 0 25px;color:#6f7680;font-size:10px;font-weight:800;letter-spacing:1.3px}
.lightbox{position:fixed;inset:0;z-index:100;background:rgba(3,5,7,.96);display:flex;align-items:center;justify-content:center;padding:55px 98px}
.lightbox[hidden]{display:none}
.lightbox__figure{margin:0;display:flex;flex-direction:column;align-items:center;max-width:100%;max-height:100%;gap:14px}
.lightbox__figure img{max-height:calc(100svh - 145px);max-width:calc(100vw - 210px);object-fit:contain;box-shadow:0 12px 70px rgba(0,0,0,.5)}
.lightbox__figure figcaption{font-size:12px;letter-spacing:1.1px;font-weight:700;text-align:center;color:#b4bac2}
.lightbox__close,.lightbox__arrow{position:absolute;border:1px solid rgba(255,255,255,.25);color:#fff;background:rgba(0,0,0,.35);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}
.lightbox__close:hover,.lightbox__arrow:hover{background:var(--red)}
.lightbox__close{right:28px;top:28px;width:48px;height:48px;font-size:33px;font-weight:400}
.lightbox__arrow{top:50%;transform:translateY(-50%);width:52px;height:68px;font-size:46px;line-height:1}
.lightbox__arrow--prev{left:28px}.lightbox__arrow--next{right:28px}
.lightbox__counter{position:absolute;bottom:25px;color:#868c94;font:700 14px var(--display);letter-spacing:2px}
@media (max-width:1150px){.container{width:min(1100px,calc(100% - 64px))}.desktop-nav{gap:18px}.header-inner{gap:22px}.header-ticket{padding-inline:17px}.hero h1{font-size:clamp(76px,9vw,117px)}.hero-image-label{right:20px}.event-grid{gap:40px}.event-copy h2{font-size:120px}.event-copy h2 span{font-size:85px}}
@media (max-width:850px){.race-strip__inner{gap:14px}.race-strip__details{font-size:9px}.race-strip__link{display:none}.header-inner{min-height:82px}.brand,.brand img{width:136px}.desktop-nav,.header-ticket{display:none}.menu-toggle{margin-left:auto;display:flex;flex-direction:column;justify-content:center;gap:6px;width:48px;height:44px;padding:12px;background:transparent;border:1px solid #52565f;cursor:pointer}.menu-toggle span{display:block;background:#fff;height:2px;width:22px;transition:transform .2s,opacity .2s}.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.mobile-nav:not([hidden]){display:flex;flex-direction:column;padding:8px 32px 24px;border-top:1px solid #222930;background:#0a0c10}.mobile-nav a{padding:15px 5px;border-bottom:1px solid #252831;font-family:var(--display);font-size:23px;font-weight:800;letter-spacing:1px}.hero{min-height:640px;height:auto}.hero-layout{min-height:640px}.hero-photo{width:100%;left:0;background-position:62% center}.hero-shade{background:linear-gradient(90deg,#090b0f 0%,rgba(9,11,15,.95) 22%,rgba(9,11,15,.5) 75%),linear-gradient(0deg,rgba(9,11,15,.9),transparent 42%)}.hero-copy{padding-bottom:100px;max-width:620px}.hero h1{font-size:clamp(80px,12vw,105px)}.hero-image-label{display:none}.category-ribbon__inner{overflow:hidden;gap:40px;font-size:17px;justify-content:initial}.category-ribbon__inner span:nth-last-child(-n+2),.category-ribbon__inner b:nth-last-child(-n+2){display:none}.section{padding-block:90px}.event-grid{grid-template-columns:1fr;gap:35px}.event-copy h2{font-size:135px}.event-copy h2 span{font-size:98px}.event-art{width:100%;max-width:750px}.discipline-card,.discipline-card img{min-height:380px}.discipline-card__overlay h3{font-size:67px}.gallery-grid{grid-auto-rows:146px}}
@media (max-width:600px){.container{width:calc(100% - 38px)}.race-strip__inner{min-height:42px;gap:12px;justify-content:center}.strip-location{display:none}.race-strip__label{font-size:10px}.race-strip__details{font-size:10px;letter-spacing:.5px}.race-strip__details .mini-divider:nth-of-type(2),.race-strip__details .mini-divider:nth-of-type(2)~*{display:none}.mini-divider{padding:0 5px}.header-inner{min-height:75px}.brand,.brand img{width:118px}.hero,.hero-layout{min-height:650px}.hero-photo{background-position:62% 50%;filter:contrast(1.08) saturate(.96)}.hero-shade{background:linear-gradient(90deg,rgba(9,11,15,.86),rgba(9,11,15,.42)),linear-gradient(0deg,#090b0f 0%,rgba(9,11,15,.8) 23%,transparent 80%)}.hero-copy{align-self:flex-end;padding:100px 0 112px}.eyebrow{font-size:14px;letter-spacing:1.8px}.eyebrow__rule{width:21px}.hero h1{font-size:clamp(70px,14.5vw,96px);margin:21px 0 26px;line-height:.87;letter-spacing:-1.2px}.hero-intro{font-size:14px;line-height:1.8;max-width:370px}.hero-actions{gap:23px}.button{font-size:17px;min-height:52px;gap:26px;padding-inline:18px}.text-link{font-size:10px;gap:9px}.hero-bottom{bottom:27px;left:19px;font-size:10px;gap:10px}.hero-line{width:26px}.category-ribbon__inner{min-height:56px;gap:16px;font-size:15px}.category-ribbon__inner span:nth-of-type(3),.category-ribbon__inner b:nth-of-type(2){display:none}.section{padding-block:69px}.section-topline{margin-bottom:31px;padding-bottom:15px}.section-count{font-size:8px;letter-spacing:.7px}.event-edition{font-size:17px}.event-copy h2{font-size:115px;margin-bottom:28px}.event-copy h2 span{font-size:75px}.event-meta p{font-size:19px}.event-description{font-size:14px;line-height:1.8}.event-links{gap:21px}.event-art{padding:9px}.event-art__caption{font-size:12px;padding-bottom:10px}.event-art__footer{font-size:9px}.section-heading{display:block;margin-bottom:26px}.section-heading h2{font-size:clamp(59px,12vw,85px)}.section-heading p{max-width:330px;margin-top:19px;font-size:13px}.discipline-grid{grid-template-columns:1fr;gap:13px}.discipline-card,.discipline-card img{min-height:365px}.discipline-card__overlay{left:25px;bottom:31px}.discipline-card__overlay h3{font-size:69px}.discipline-card:after{left:25px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:140px;gap:7px}.gallery-item:first-child{grid-column:span 2;grid-row:span 2}.gallery-item:nth-child(6){grid-column:span 2}.gallery-item__zoom{opacity:1;transform:none;width:28px;height:28px;bottom:8px;right:8px;font-size:19px}.gallery-caption{text-align:left;font-size:9px}.social-section{padding-block:56px}.social-inner{align-items:stretch;flex-direction:column}.social-section h2{font-size:clamp(49px,11vw,68px)}.social-actions{flex-direction:row;width:100%;gap:10px}.social-actions a{width:50%;font-size:17px;padding:14px}.footer-top{flex-wrap:wrap;padding:33px 0}.footer-top a:first-child,.footer-top img{width:134px}.footer-top p{margin:0 0 0 auto;font-size:11px}.footer-back{width:100%;text-align:right}.footer-bottom{font-size:9px;line-height:1.8;flex-direction:column;align-items:flex-start;gap:7px}.lightbox{padding:70px 12px}.lightbox__figure img{max-width:calc(100vw - 24px);max-height:calc(100svh - 210px)}.lightbox__close{right:14px;top:14px}.lightbox__arrow{width:42px;height:50px;top:auto;bottom:51px;transform:none;background:rgba(0,0,0,.65)}.lightbox__arrow--prev{left:14px}.lightbox__arrow--next{right:14px}.lightbox__counter{bottom:68px}.lightbox__figure figcaption{padding:0 48px}}
@media (max-width:390px){.race-strip__details{font-size:9px}.hero h1{font-size:66px}.hero-actions{gap:19px}.event-copy h2{font-size:96px}.event-copy h2 span{font-size:66px}.event-links .button{width:100%}.footer-top p{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;scroll-behavior:auto!important}}
