
:root{--red:#d41419;--dark:#1b0305;--wine:#490405;--cream:#f9f5f2;--muted:#cbb8b8;--heading:"industry-inc-base","industry-inc",Impact,"Arial Narrow",sans-serif;--body:"alternate-gothic-no-3-d","alternate-gothic-no3-d","Arial Narrow",Arial,sans-serif;--nums:"azo-sans-uber","azo-sans-web",Impact,sans-serif;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;background:linear-gradient(140deg,#470304 0%,#270305 60%,#130204 100%);color:var(--cream);font:18px/1.45 var(--body)}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #fff;outline-offset:5px}.skip{position:absolute;z-index:1000;top:-100px;left:12px;background:#fff;color:#000;padding:12px}.skip:focus{top:12px}.intro{position:relative;min-height:100vh;min-height:100svh;overflow:hidden;background:#180103}.intro-video,.intro-art,.intro-overlay{position:absolute;inset:0;width:100%;height:100%}.intro-video{object-fit:cover;z-index:0;display:none}.intro-art{background:url('/assets/s1-hero.webp') center/cover no-repeat;z-index:1}.intro-overlay{z-index:2;background:linear-gradient(180deg,#0005,transparent 28%,transparent 68%,#000b)}.intro.has-video .intro-video{display:block}.intro.has-video .intro-art{display:none}.intro-logo{position:absolute;z-index:3;left:4%;bottom:21%;font:clamp(66px,10vw,190px)/.85 var(--heading);letter-spacing:-.055em;display:none;text-shadow:0 10px 30px #0009}.intro-logo span{display:block}.intro.has-video .intro-logo{display:block}.intro-top{position:absolute;z-index:5;top:20px;left:4%;right:4%;display:flex;justify-content:space-between;align-items:center}.mini-brand{font:900 30px var(--heading);font-style:italic}.mini-brand span{color:var(--red)}.icon-button{background:#0008;color:white;border:1px solid #ffffff50;border-radius:2px;padding:7px 14px;font-size:28px}.enter-site{position:absolute;z-index:5;bottom:32px;left:50%;transform:translateX(-50%);background:transparent;border:0;color:#fff;letter-spacing:.09em;font:20px var(--body);text-transform:uppercase;display:flex;align-items:center;gap:12px;white-space:nowrap;text-shadow:0 3px 12px #000}.enter-site span{font-size:30px;animation:bob 1.7s infinite}@keyframes bob{50%{transform:translateY(6px)}}.site-header{position:sticky;top:0;z-index:30;min-height:76px;padding:0 clamp(20px,5vw,80px);background:#160609ee;backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid #ffffff20}.brand{display:inline-flex;flex-direction:column;justify-content:center;min-width:96px;line-height:1}.brand-s{font:italic 900 45px/.72 var(--heading);letter-spacing:-.13em}.brand-s span{color:var(--red)}.brand small{font:700 9px/1 var(--body);letter-spacing:.2em;margin-top:7px}.site-nav{display:flex;gap:clamp(10px,1.7vw,34px);align-items:center}.site-nav a{font:700 clamp(12px,1.25vw,17px) var(--body);white-space:nowrap;letter-spacing:.015em;transition:color .2s}.site-nav a:hover{color:#ff7777}.nav-toggle{display:none;background:transparent;border:0;padding:10px}.nav-toggle span{width:25px;height:2px;background:#fff;display:block;margin:5px}.home-hero{height:clamp(350px,48vw,680px);position:relative;overflow:hidden;background:#6d0808}.home-image{position:absolute;inset:0;background:url('/assets/s1-hero.webp') center 52%/cover no-repeat;filter:saturate(1.13)}.home-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#180104ad,transparent 68%),linear-gradient(0deg,#120003a0,transparent 40%)}.home-hero-caption{position:absolute;z-index:2;bottom:40px;left:clamp(20px,5vw,80px);display:flex;flex-direction:column;align-items:start;gap:10px}.home-hero-caption strong{display:none}.home-hero-caption .kicker{font-size:15px;letter-spacing:.2em;font-weight:bold;text-shadow:0 2px 12px #000}.home-hero-caption a{padding:12px 19px;background:#cc1015;font-size:15px;font-weight:700;letter-spacing:.08em}.section-wrap{max-width:1400px;margin:auto;padding:clamp(48px,7vw,100px) clamp(20px,5vw,78px)}.section-kicker{display:block;font:700 13px var(--body);letter-spacing:.22em;color:#ff6868;margin-bottom:12px}.intro-copy h1{max-width:1050px;font:clamp(32px,4.5vw,66px)/1.06 var(--heading);letter-spacing:.015em;margin:0 0 32px}.intro-copy h1 em{font-style:normal;color:#ff5256}.copy-columns{display:grid;grid-template-columns:1fr 1fr;gap:50px;max-width:1100px}.copy-columns p{font-size:clamp(17px,1.5vw,23px);line-height:1.55;color:#f1dcdc;margin:0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}.section-heading h2,.feature-header h2{font:clamp(30px,4vw,53px)/1 var(--heading);margin:0 0 10px}.section-heading p{color:var(--muted);font-size:15px;margin:0}.text-link{font-weight:700;font-size:14px;border-bottom:1px solid #e54949;padding-bottom:7px;white-space:nowrap}.leader-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.leader-card{min-height:245px;padding:23px 20px 18px;background:linear-gradient(145deg,#260a0e,#18090b);border-top:3px solid #b20b12;box-shadow:0 18px 30px #08000335;transition:transform .2s}.leader-card:hover{transform:translateY(-4px)}.leader-card h3{margin:0;text-align:center;font:clamp(20px,2vw,27px) var(--heading)}.leader-card .division-mark{display:block;text-align:center;color:#e75657;letter-spacing:.2em;font-size:11px;margin:4px 0 23px}.leader-row{display:grid;grid-template-columns:36px minmax(0,1fr) 54px;gap:6px;align-items:center;font-size:clamp(13px,1.3vw,17px);padding:11px 0;border-top:1px solid #ffffff17}.leader-pos{font:23px var(--nums);color:#fff}.leader-row:first-of-type .leader-pos{color:#ffd46c}.leader-row:nth-of-type(3) .leader-pos{color:#dedede}.leader-row:nth-of-type(4) .leader-pos{color:#c78961}.leader-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leader-pts{text-align:right;font-family:var(--nums);font-size:15px}.leader-loading{color:var(--muted)}.feature{padding-top:50px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}.feature-tile{position:relative;min-height:260px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(145deg,#6a090b,#1e080a);border:1px solid #a51d2380;padding:25px;transition:background .2s,transform .2s}.feature-tile:hover{background:linear-gradient(145deg,#961015,#29080a);transform:translateY(-3px)}.feature-no{font-size:12px;letter-spacing:.18em;color:#edaaaa}.feature-tile strong{font:clamp(31px,3.1vw,48px)/.96 var(--heading)}.feature-tile>span:last-child{font-size:15px;color:#f2bcbc}.site-footer{min-height:140px;background:#120407;border-top:1px solid #ffffff24;padding:35px clamp(20px,5vw,80px);display:flex;justify-content:space-between;align-items:center;gap:20px}.site-footer>span,.site-footer>a:last-child{font-size:12px;letter-spacing:.07em;color:#d6b2b2}@media(max-width:980px){.nav-toggle{display:block}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#180608;box-shadow:0 25px 30px #0008;padding:20px 6vw;flex-direction:column;align-items:start;gap:0}.site-nav.open{display:flex}.site-nav a{font-size:19px;display:block;padding:11px 0;width:100%}.leader-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.intro-logo{font-size:clamp(60px,13vw,120px)}}@media(max-width:650px){.leader-grid,.copy-columns,.feature-grid{grid-template-columns:1fr}.section-heading{flex-direction:column;align-items:start}.intro-art{background-position:57% center}.intro.has-video .intro-logo{font-size:clamp(57px,13vw,84px);bottom:28%}.home-hero{height:440px}.home-image{background-position:52% center}.site-footer{flex-direction:column;align-items:start}.leader-card{min-height:0}.copy-columns{gap:15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.intro-video{display:none!important}.intro-art{display:block!important}.intro-logo{display:none!important}}

/* Video contains the final motion graphics and title treatment already. */
.intro-logo{display:none!important}

/* Milestone 6.0.2: video-first overlay, seamless fade and hamburger-only navigation */
.intro{position:fixed;inset:0;z-index:100;min-height:0;height:100vh;height:100dvh;opacity:1;visibility:visible;transition:opacity .78s ease,visibility 0s linear .78s;will-change:opacity;background:#080304}
.intro.is-exiting{opacity:0;pointer-events:none;visibility:hidden}
.intro-video{display:block;opacity:0;object-fit:cover;z-index:1;transition:opacity .38s ease;background:transparent}
.intro-art{display:block;z-index:0;transition:opacity .38s ease}
.intro.has-video .intro-video{display:block;opacity:1}
.intro.has-video .intro-art{display:block;opacity:0}
.intro-overlay{pointer-events:none;background:linear-gradient(180deg,#0005,transparent 25%,transparent 72%,#0008)}
.intro-top{justify-content:flex-end;top:16px;right:clamp(20px,5vw,80px)}
.icon-button,.nav-toggle{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;width:46px;height:46px;padding:10px;border:1px solid #ffffff55;border-radius:3px;background:#160509ad;color:#fff}
.icon-button span,.nav-toggle span{display:block;margin:0;width:24px;height:2px;background:#fff;transition:transform .2s,opacity .2s}
.icon-button[aria-expanded="true"] span:first-child,.nav-toggle[aria-expanded="true"] span:first-child{transform:translateY(7px) rotate(45deg)}
.icon-button[aria-expanded="true"] span:nth-child(2),.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.icon-button[aria-expanded="true"] span:last-child,.nav-toggle[aria-expanded="true"] span:last-child{transform:translateY(-7px) rotate(-45deg)}
.intro-nav[hidden]{display:none!important}
.intro-nav{position:absolute;z-index:8;top:72px;right:clamp(20px,5vw,80px);width:min(320px,calc(100vw - 40px));max-height:calc(100dvh - 90px);overflow:auto;padding:14px 20px;background:#160509f5;border:1px solid #ffffff35;box-shadow:0 20px 45px #0009}
.intro-nav a{display:block;padding:11px 6px;font:700 19px var(--body);border-bottom:1px solid #ffffff1b}
.intro-nav a:hover,.intro-nav a:focus-visible{color:#ff7474}
.site-header{position:relative;top:auto;z-index:30;min-height:76px}
.brand{display:inline-flex;align-items:center;min-width:0;line-height:1}
.brand img{display:block;width:118px;height:auto;max-height:57px;object-fit:contain}
.site-nav{display:none;position:absolute;top:calc(100% - 1px);right:clamp(20px,5vw,80px);left:auto;width:min(330px,calc(100vw - 40px));padding:10px 20px;flex-direction:column;align-items:stretch;gap:0;background:#160509f5;border:1px solid #ffffff35;box-shadow:0 25px 30px #0008;max-height:calc(100vh - 88px);overflow:auto}
.site-nav.open{display:flex}
.site-nav a{font-size:18px;display:block;padding:12px 4px;width:100%;border-bottom:1px solid #ffffff17;text-decoration:none}
.site-nav a.active,.site-nav a[aria-current="page"]{color:#fff;text-decoration:underline;text-decoration-color:#ec2528;text-decoration-thickness:3px;text-underline-offset:6px}
.site-nav a:hover{text-decoration:underline;text-underline-offset:6px}
.home-hero{min-height:390px}
.site-footer{justify-content:space-between}
@media(max-width:980px){.site-nav{right:20px;left:auto;padding:10px 20px}.site-nav a{font-size:18px}}
@media(prefers-reduced-motion:reduce){.intro{transition:none!important}.intro-video{display:none!important}.intro.has-video .intro-art{display:block!important;opacity:1!important}}

body.intro-active{overflow:hidden}

/* Milestone 6.0.3: reliable video visibility and manual playback recovery. */
.intro-video{display:block!important;z-index:1;opacity:0;visibility:visible;pointer-events:none;transition:opacity .3s ease}
.intro-art{display:block!important;z-index:0;opacity:1;pointer-events:none}
.intro.has-video .intro-video{opacity:1!important}
.intro.has-video .intro-art{opacity:0}
.play-intro{position:absolute;z-index:9;left:50%;top:50%;transform:translate(-50%,-50%);padding:14px 25px;background:#b50d14ed;border:1px solid #ffffff80;color:white;font:700 18px var(--body);letter-spacing:.045em;box-shadow:0 15px 40px #000a;white-space:nowrap}
.play-intro[hidden],.intro-video-note[hidden]{display:none!important}
.intro-video-note{position:absolute;z-index:9;top:calc(50% + 38px);left:50%;transform:translateX(-50%);max-width:90vw;width:max-content;text-align:center;color:white;text-shadow:0 2px 6px #000;background:#160609a6;padding:7px 12px;font-size:14px}
@media(prefers-reduced-motion:reduce){.intro-video{display:block!important}.intro.has-video .intro-video{opacity:1!important}.intro.has-video .intro-art{opacity:0!important}}


/* Milestone 6.0.5 — fade is controlled via Web Animations API on the
   entire video overlay. No CSS class toggles visibility during animation. */
.intro.is-finished{display:none!important}


/* Milestone 6.0.6 — desktop header at top, floating hamburger after it leaves */
.site-header{z-index:30;min-height:70px;padding-block:8px}
.site-header .brand img{width:92px;max-height:43px;height:auto}
.site-header .site-nav{position:static;display:flex;flex-direction:row;align-items:center;
 width:auto;max-height:none;overflow:visible;padding:0;gap:clamp(11px,1.65vw,28px);
 background:transparent;border:0;box-shadow:none}
.site-header .site-nav a{display:inline-block;width:auto;padding:9px 0;border:0;
 font-size:clamp(12px,1.15vw,16px);white-space:nowrap}
.site-header .nav-toggle{display:none}
.floating-navigation{position:fixed;z-index:80;top:16px;right:clamp(16px,3vw,48px);
 opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px);
 transition:opacity .35s ease,transform .35s ease,visibility 0s linear .35s}
.floating-navigation.is-visible{opacity:1;visibility:visible;pointer-events:auto;
 transform:translateY(0);transition:opacity .35s ease,transform .35s ease}
.floating-navigation .floating-toggle{display:flex;background:#190508e8;
 border:1px solid #ffffff65;box-shadow:0 8px 30px #0008}
.floating-menu{position:absolute;top:calc(100% + 8px);right:0;width:min(320px,calc(100vw - 32px));
 max-height:calc(100dvh - 90px);overflow:auto;padding:12px 18px;
 background:#170508f7;border:1px solid #ffffff33;box-shadow:0 24px 46px #000a}
.floating-menu[hidden]{display:none!important}
.floating-menu a{display:block;padding:12px 6px;font:700 18px var(--body);
 border-bottom:1px solid #ffffff20}
.floating-menu a:hover{color:#ff7676}
.floating-menu a.active,.floating-menu a[aria-current="page"]{
 text-decoration:underline;text-decoration-color:#f12a32;text-decoration-thickness:3px;text-underline-offset:6px}
.home-hero-caption a{background:#c9111c;color:#fff;transition:background .2s ease,transform .2s ease}
.home-hero-caption a:hover{background:#f22430;transform:translateY(-2px)}
.site-footer>span{max-width:680px;line-height:1.5}
@media(max-width:920px){
 .site-header .site-nav{display:none;position:absolute;top:100%;right:16px;
  width:min(310px,calc(100vw - 32px));max-height:calc(100vh - 85px);overflow:auto;
  background:#160509f5;border:1px solid #ffffff35;padding:10px 18px;
  flex-direction:column;align-items:stretch;gap:0;box-shadow:0 25px 30px #0008}
 .site-header .site-nav.open{display:flex}
 .site-header .site-nav a{display:block;width:100%;padding:12px 5px;
  border-bottom:1px solid #ffffff16;font-size:18px}
 .site-header .nav-toggle{display:flex}
}
@media(prefers-reduced-motion:reduce){
 .floating-navigation,.floating-navigation.is-visible{transition:none}
}

/* Milestone 6.0.7 — square motorsport visual language */
:root { --s1-edge: 0px; }
.site-header, .site-nav, .site-nav a, .floating-navigation, .floating-menu, .floating-toggle,
.icon-button, .nav-toggle, .intro-nav, .intro-nav a, .enter-site, .leader-card,
.feature-tile, .home-hero-caption a, .site-footer, .text-link, .leader-row,
.play-intro, .intro-video-note { border-radius: 0 !important; }
.home-hero-caption .kicker {display:block; font-size:15px; letter-spacing:.19em; font-weight:700; color:#fff; text-shadow:0 2px 12px #000; }
.home-hero-caption a {text-transform:uppercase;}

/* Milestone 6.0.8.2: homepage and portal share header scale */
.site-header{min-height:76px;padding-block:8px;align-items:center;gap:30px}
.site-header .brand img{width:92px;max-height:43px}
.site-header .site-nav{align-items:center;gap:clamp(10px,1.7vw,34px)}
.site-header .site-nav a{font-size:clamp(14px,1.3vw,18px);font-weight:700;line-height:1.2;letter-spacing:.015em;white-space:nowrap}
/* Both site headers collapse to hamburger at the same desktop width. */
@media(max-width:1120px){
 .site-header .site-nav{display:none;position:absolute;top:100%;right:16px;width:min(310px,calc(100vw - 32px));max-height:calc(100dvh - 85px);overflow:auto;background:#160509f5;border:1px solid #ffffff35;padding:10px 18px;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 25px 30px #0008}
 .site-header .site-nav.open{display:flex}
 .site-header .site-nav a{display:block;width:100%;padding:12px 5px;border-bottom:1px solid #ffffff16;font-size:18px}
 .site-header .nav-toggle{display:flex}
}
