:root{--red:#e10600;--black:#050505;--ink:#151515;--gray:#777;--paper:#fff}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font-family:Arial,Helvetica,sans-serif}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.site-header{background:#030303;color:#fff;min-height:200px;display:flex;align-items:center}
.header-inner{width:min(100% - 48px,1100px);margin:auto;display:grid;grid-template-columns:360px 1fr auto;align-items:center;gap:42px}
.logo{width:335px;max-height:150px;object-fit:contain}
.main-nav{display:flex;align-items:center;justify-content:center;gap:46px;font-size:18px;font-weight:700;letter-spacing:.02em}
.main-nav a,.main-nav span{padding:16px 0;position:relative;white-space:nowrap}
.main-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:7px;height:3px;background:var(--red);transition:.2s}
.main-nav a:hover::after,.main-nav a.active::after{right:0}
.socials{display:grid;gap:14px;font-weight:800;font-size:18px;text-align:center;line-height:1}
.socials span{width:24px}
.mobile-toggle{display:none;background:none;color:#fff;border:0;font-size:28px;cursor:pointer}
.brush-rule{height:62px;position:relative;background:#fff}
.brush-rule::before{content:"";position:absolute;left:13%;right:13%;top:28px;height:2px;background:#222}
.brush-rule::after{content:"";position:absolute;right:12%;top:16px;width:145px;height:34px;background:#171717;clip-path:polygon(0 42%,14% 28%,38% 35%,56% 8%,100% 22%,88% 48%,100% 70%,69% 60%,52% 100%,34% 69%,4% 76%)}
.hero{position:relative;height:min(660px,67vw);min-height:480px;overflow:hidden;background:#111}
.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1s}
.hero-slide.active{opacity:1}
.hero-counter{position:absolute;right:24px;top:20px;color:#fff;font-size:17px;letter-spacing:.12em;writing-mode:vertical-rl;z-index:2}
.scroll-mark{position:absolute;right:25px;bottom:25px;color:#fff;z-index:2;display:grid;gap:12px;text-align:center;font-size:12px;letter-spacing:.2em}
.scroll-mark b{font-size:30px;font-weight:300}
.section{padding:92px 24px}
.section-inner{width:min(100%,1080px);margin:auto}
.eyebrow{margin:0 0 5px;text-transform:uppercase;font-weight:900;font-size:18px;letter-spacing:.14em;color:var(--red)}
.display-title{margin:0;text-transform:uppercase;font-size:clamp(48px,7vw,92px);line-height:.9;font-weight:900;letter-spacing:-.055em}
.button{display:inline-block;margin-top:26px;border:2px solid #111;padding:14px 24px;font-size:13px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;transition:.2s}
.button:hover{background:#111;color:#fff}
.about-home{padding-bottom:0;background:linear-gradient(110deg,#fff 0 62%,#f3f3f3 62%)}
.about-home-grid{display:grid;grid-template-columns:1fr .78fr;align-items:end;gap:25px}
.achievement-list{margin:36px 0 10px;padding:0;list-style:none;max-width:570px;border-top:1px solid #bbb}
.achievement-list li{padding:14px 0;border-bottom:1px solid #ccc;text-transform:uppercase;font-size:14px;font-weight:800;line-height:1.45}
.taylor-cutout{max-height:680px;object-fit:contain;object-position:bottom}
.sponsor-strip{background:#090909;padding:32px 24px}
.sponsor-strip img{width:min(520px,80vw);height:98px;margin:auto;object-fit:contain}
.photo-pair{display:grid;grid-template-columns:1fr 1.14fr;min-height:430px}
.photo-pair img{width:100%;height:100%;object-fit:cover}
.events-home{background:#e10600;color:#fff;text-align:center;position:relative;overflow:hidden}
.events-home .display-title{font-size:clamp(70px,12vw,150px)}
.events-home .button{border-color:#fff}
.events-home .button:hover{background:#fff;color:#111}
.coming-soon{padding:100px 24px;text-align:center;background:#f4f4f4}
.coming-soon span{display:inline-block;background:#050505;color:#fff;padding:22px 38px;font-size:24px;font-weight:900;letter-spacing:.1em}
.site-footer{background:#050505;color:#fff;padding:54px 24px}
.footer-inner{width:min(100%,1080px);margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.footer-logo{width:260px;margin-bottom:25px}
.copyright{color:#bbb;font-size:12px;line-height:1.7}
.footer-contact h2{margin:0 0 15px;text-transform:uppercase;font-size:25px}
.footer-contact p{margin:3px 0;color:#ddd;line-height:1.5}
.page-hero{min-height:385px;background:#111;color:#fff;display:flex;align-items:center;position:relative;overflow:hidden}
.page-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.16))}
.page-hero .section-inner{position:relative;z-index:1}
.page-hero .display-title{font-size:clamp(65px,10vw,130px)}
.page-hero.about-banner{background:url('images/hero-2.jpg') center 28%/cover}
.page-hero.events-banner{background:url('images/events.jpg') center 38%/cover}
.page-hero.contact-banner{background:url('images/hero-4.jpg') center 38%/cover}
.about-profile{display:grid;grid-template-columns:.78fr 1.2fr;gap:70px;align-items:start}
.about-profile .portrait{background:#f1f1f1;padding:24px 18px 0}
.fast-facts{display:grid;gap:0;margin:28px 0 40px;border-top:2px solid #111}
.fact{padding:14px 0;border-bottom:1px solid #bbb;display:grid;grid-template-columns:185px 1fr;gap:15px;font-size:13px;line-height:1.45}
.fact strong{text-transform:uppercase}
.bio{font-size:16px;line-height:1.85;color:#333}
.photo-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;background:#050505;padding:8px}
.photo-grid img{width:100%;height:240px;object-fit:cover}
.schedule-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}
.schedule-photo{position:sticky;top:20px}
.schedule-photo img{width:100%;max-height:760px;object-fit:cover}
.schedule{border-top:4px solid #111}
.race{display:grid;grid-template-columns:125px 1fr;gap:18px;padding:23px 10px;border-bottom:1px solid #aaa;align-items:center;text-transform:uppercase}
.race time{font-size:22px;color:var(--red);font-weight:900}
.race strong{font-size:22px;letter-spacing:.03em}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:start}
.contact-card{border-left:8px solid var(--red);padding:5px 0 5px 30px}
.contact-card h2{font-size:34px;text-transform:uppercase;margin:0 0 20px}
.contact-card address{font-style:normal;font-size:18px;line-height:1.7}
.guidelines{counter-reset:steps;display:grid;gap:20px;margin-top:35px}
.guideline{counter-increment:steps;position:relative;padding-left:55px;line-height:1.6}
.guideline::before{content:counter(steps);position:absolute;left:0;top:-5px;width:38px;height:38px;border-radius:50%;background:#111;color:#fff;display:grid;place-items:center;font-weight:900}
.signature{width:160px;margin:22px 0 0 auto}
@media(max-width:900px){
  .site-header{min-height:120px}.header-inner{width:min(100% - 28px,1100px);grid-template-columns:1fr auto;gap:15px}.logo{width:245px;max-height:95px}.mobile-toggle{display:block}.main-nav{display:none;position:absolute;z-index:20;left:0;right:0;top:120px;background:#050505;flex-direction:column;gap:0;padding:15px 0 25px}.main-nav.open{display:flex}.main-nav a,.main-nav span{padding:12px}.socials{display:none}.about-home-grid,.about-profile,.schedule-wrap,.contact-grid{grid-template-columns:1fr}.taylor-cutout{margin:auto}.schedule-photo{position:static}.photo-grid{grid-template-columns:repeat(2,1fr)}.photo-grid img{height:260px}.footer-inner{grid-template-columns:1fr}.hero{height:70vh;min-height:430px}.section{padding:65px 22px}
}
@media(max-width:560px){.photo-pair{grid-template-columns:1fr;min-height:0}.photo-pair img{height:285px}.race{grid-template-columns:95px 1fr}.race time,.race strong{font-size:17px}.fact{grid-template-columns:1fr;gap:3px}.page-hero{min-height:280px}.photo-grid img{height:180px}.header-inner{width:calc(100% - 24px)}.logo{width:210px}}
