@font-face{font-family:Body;src:url(body.ttf) format("truetype");font-display:swap}
@font-face{font-family:Body;src:url(body-bold.ttf) format("truetype");font-weight:700;font-display:swap}
@font-face{font-family:Sport;src:url(sport.ttf) format("truetype");font-weight:800;font-style:italic;font-display:swap}
:root{--red:#d40622;--red-deep:#bc051d;--dark:#161619;--ink:#19191b;--muted:#55555d;--paper:#f8f7f4;--line:#dedbd7;--display:Sport,"Arial Black",sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.6 Body,Arial,sans-serif}
h1,h2,h3,p{margin:0}
h1,h2,h3,.place strong,.event-date strong{font-family:var(--display);font-weight:800;font-style:italic;line-height:1.03;letter-spacing:-.06em}
h2{font-size:clamp(2.2rem,5vw,4rem)}
h3{font-size:clamp(1.5rem,3vw,2rem)}
p{color:var(--muted)}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
img{display:block;max-width:100%;height:auto}
[hidden]{display:none!important}
svg:not(.symbols){display:block;width:1.15em;height:1.15em;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.symbols{position:absolute;width:0;height:0;overflow:hidden}
:focus-visible{outline:3px solid #2674c9;outline-offset:4px}
.wrap{width:min(1190px,calc(100% - 96px));margin-inline:auto}
.skip{position:fixed;z-index:10;top:.75rem;left:.75rem;padding:.6rem 1rem;background:#fff;transform:translateY(-170%)}
.skip:focus{transform:none}
.header{position:sticky;z-index:4;top:0;background:#fff;border-bottom:1px solid #ebe9e5}
.header-inner{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-block;flex:none;width:145px}
.header nav{display:flex;gap:clamp(12px,1.9vw,28px);align-items:center;font-size:.89rem;font-weight:700}
.header nav a{padding-block:10px}
.header nav a:hover,.history summary:hover{color:var(--red-deep)}
.menu-toggle,.header nav .mobile-join{display:none}
.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:11px 17px;min-height:48px;border:1px solid transparent;border-radius:5px;background:#fff;color:var(--ink);font-size:.88rem;font-weight:700;line-height:1.25;cursor:pointer;transition:background-color .18s,color .18s,border-color .18s}
.button.primary{background:var(--red);color:#fff}
.button.primary:hover{background:#a7041c}
.button.outline{background:transparent;border-color:#b9b7b4}
.button.outline:hover{background:#fff;border-color:var(--dark)}
.button.small{min-height:40px;padding:9px 13px;font-size:.8rem}
.hero{display:grid;grid-template-columns:1.02fr 1fr;align-items:center;gap:clamp(24px,4vw,64px);padding-block:58px 54px}
.eyebrow{display:flex;align-items:center;gap:.66rem;text-transform:uppercase;color:var(--red-deep);font-size:.72rem;font-weight:700;letter-spacing:.115em;line-height:1.4}
.eyebrow>span{width:17px;height:2px;background:currentColor;flex:none}
.hero h1{margin-block:21px;font-size:clamp(3.2rem,5.65vw,5.35rem);line-height:.98;letter-spacing:-.078em}
.hero h1 em{color:var(--red);font-style:inherit}
.hero p{max-width:450px;font-size:clamp(.98rem,1.5vw,1.15rem)}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.hero-visual{position:relative;min-width:0;aspect-ratio:1.24;overflow:hidden;border-radius:9px;background:var(--dark);isolation:isolate}
.hero-visual>svg{width:100%;height:100%;stroke:none;position:absolute;inset:0}
.court-label{position:absolute;color:#fff;font:700 clamp(.61rem,1vw,.72rem)/1.25 Body,sans-serif;letter-spacing:.14em}
.court-top{top:6.5%;left:6%;padding-bottom:7px;border-bottom:2px solid #f33950}
.court-bottom{right:6%;bottom:6.5%;display:flex;gap:11px;align-items:center}
.court-bottom i{display:block;width:4px;height:4px;border-radius:50%;background:#fb2a49}
.format-bar{background:var(--dark);color:#fff}
.format-inner{display:grid;grid-template-columns:repeat(3,1fr)}
.format-inner div{display:flex;align-items:center;gap:12px;padding:17px 0}
.format-inner div+div{border-left:1px solid #434349;padding-left:8%}
.format-inner span{color:#ff5266;font-size:.68rem;font-weight:700;letter-spacing:.1em}
.format-inner p{color:#fff;font-weight:700;font-size:.87rem;line-height:1.35}
.section{padding-block:77px}
.section-head{margin-bottom:30px}
.section-head h2{margin-top:12px}
.section-head p{max-width:395px}
.split{display:grid;grid-template-columns:1.25fr 1fr;gap:25px;align-items:end}
.split>p{justify-self:end;padding-bottom:2px}
.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.mode{display:flex;flex-direction:column;align-items:start;padding:clamp(22px,3.5vw,44px);border-radius:8px;min-width:0;color:#fff}
.mode-red{background:#be061e}
.mode-dark{background:#222226}
.mode-top{display:flex;align-items:center;gap:12px}
.mode-top span,.category-note span,.tag,.place>span{font-size:.7rem;font-weight:700;letter-spacing:.085em}
.mode-icon{display:grid;place-items:center;width:43px;height:43px;border:1px solid #ffffff64;border-radius:50%;font-size:1.1rem;flex:none}
.mode h3{margin:22px 0 12px;font-size:clamp(2rem,4.2vw,3.35rem)}
.mode p{color:#fff;opacity:.93;max-width:455px;margin-bottom:20px}
.mode a{margin-top:auto;display:inline-flex;align-items:center;gap:10px;border-bottom:1px solid #ffffff72;font-weight:700;padding-block:4px;font-size:.88rem}
.mode a:hover{border-color:#fff}
.category-note{margin-top:18px;border:1px solid var(--line);border-radius:6px;display:flex;gap:17px;align-items:center;padding:13px 18px}
.category-note span{color:var(--red-deep);flex:none}
.category-note p{font-size:.89rem}
.prizes{background:var(--dark);color:#fff}
.prizes .eyebrow{color:#ff5367}
.prizes .section-head p{color:#e1dfe1}
.podium{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.place{min-width:0;display:grid;justify-items:start;background:#252528;border:1px solid #46464b;border-radius:7px;padding:clamp(13px,3vw,32px)}
.place.first{background:#bd041c;border-color:#bd041c}
.place strong{font-size:clamp(2.6rem,7.1vw,5.55rem);line-height:1.04;margin-block:7px;white-space:nowrap}
.place strong span{font-size:.51em;margin-left:.035em}
.place p{color:#fff;font-size:.92rem}
.route{background:#fff;color:var(--ink);border-radius:7px;margin-top:16px;padding:24px;display:grid;grid-template-columns:minmax(125px,.65fr) 2fr auto;align-items:center;gap:20px}
.route img{width:166px}
.route h3{font-size:1.45rem;letter-spacing:-.045em;margin-bottom:5px}
.route p{font-size:.87rem}
.calendar-list{display:grid;gap:11px}
.event{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;padding:19px;background:#fff;border:1px solid var(--line);border-radius:7px}
.event-icon{width:76px;min-height:76px;display:grid;place-content:center;border-radius:6px;color:var(--red-deep);background:#fcecee;font-size:1.53rem;text-align:center}
.event-date{background:var(--dark);color:#fff}
.event-date strong{font-size:2rem}
.event-date span{font-size:.62rem;font-weight:700;letter-spacing:.06em}
.tag{display:inline-block;border-radius:3px;background:#f1efec;color:#4a4746;padding:2px 7px}
.prime-tag{color:var(--red-deep);background:#fbe9ec}
.event h3{margin:6px 0 4px;font-size:clamp(1.2rem,2.5vw,1.74rem);letter-spacing:-.04em}
.event p,.history p{font-size:.88rem}
.history{margin-top:16px;font-size:.89rem}
.history summary{width:fit-content;padding-block:7px;cursor:pointer;font-weight:700}
.history p{margin-top:5px}
.questions{background:#eeece8}
.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:25px}
.faq-layout .section-head p{margin-top:14px;max-width:310px}
.faq{border-top:1px solid #cbc7c1}
.faq details{border-bottom:1px solid #cbc7c1}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:15px;list-style:none;cursor:pointer;font-weight:700;line-height:1.36;padding:17px 1px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--red-deep);font-size:1.4rem;flex:none}
.faq details[open] summary::after{content:"−"}
.faq details p{padding:0 25px 16px 1px;font-size:.92rem}
.participate{background:#bc051d;color:#fff}
.participate .eyebrow,.participate p{color:#fff}
.participate h2{margin:12px 0 25px}
.footer{background:#fff}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:23px}
.footer p{font-size:.78rem;text-align:center}
.footer-prime{width:125px}
@media(max-width:950px){
  .wrap{width:calc(100% - 64px)}
  .hero{gap:22px}
  .route{grid-template-columns:135px 1fr}
  .route .button{grid-column:2;justify-self:start}
}
@media(max-width:820px){
  html{scroll-padding-top:73px}
  .wrap{width:calc(100% - 36px)}
  .header-inner{min-height:60px;gap:12px}
  .header .brand{width:122px}
  .header-action{display:none}
  .header nav .mobile-join{display:block;color:var(--red-deep)}
  .menu-toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;background:#fff;border:1px solid #c6c3bf;border-radius:5px;padding:7px 9px;font-size:.82rem;font-weight:700}
  .menu-toggle span{width:13px;height:9px;border-block:2px solid currentColor}
  .header nav{display:none;position:absolute;top:100%;inset-inline:0;background:#fff;border-bottom:1px solid var(--line);padding:12px 18px;gap:4px;flex-direction:column;align-items:stretch}
  .header nav[data-open]{display:flex}
  .hero{grid-template-columns:1fr;padding-block:38px 26px;gap:25px}
  .hero h1{font-size:clamp(2.65rem,10vw,4.7rem);margin-block:14px}
  .hero-visual{aspect-ratio:1.53}
  .actions{margin-top:20px}
  .format-inner div{gap:5px;padding-block:12px;align-items:start}
  .format-inner div+div{padding-left:7px}
  .format-inner p{font-size:.69rem;padding-right:4px}
  .format-inner span{font-size:.6rem}
  .section{padding-block:51px}
  .section-head{margin-bottom:22px}
  .split,.faq-layout{grid-template-columns:1fr;gap:13px}
  .split>p{justify-self:start}
  .mode-grid{grid-template-columns:1fr;gap:10px}
  .category-note{align-items:flex-start;gap:3px;flex-direction:column;padding:12px}
  .route{grid-template-columns:1fr;padding:16px;gap:12px}
  .route .button{grid-column:auto}
  .route img{width:140px}
  .place p{font-size:.72rem;line-height:1.3}
  .place>span{font-size:.59rem}
  .place strong{font-size:clamp(1.85rem,9vw,3.9rem)}
  .podium{gap:5px}
  .event{grid-template-columns:auto 1fr;padding:12px;gap:10px}
  .event .button{grid-column:2;justify-self:start}
  .event-icon{width:53px;min-height:56px}
  .event-date strong{font-size:1.7rem}
  .event-date span{font-size:.53rem}
  .footer-inner{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .footer-inner .brand{width:109px}
  .footer-inner p{grid-column:1/-1;grid-row:2;text-align:left}
  .footer-inner>a:last-child{justify-self:end}
  .footer-prime{width:100px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

.hero-visual{margin:0;aspect-ratio:600/504}
.hero-visual>svg{stroke:none}
.court-top{top:5%;left:12%;padding-bottom:0;border:0}
.court-bottom{bottom:5%;right:12%}
.categories{background:#efedea}
.category-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff;text-align:left}
.category-table :is(th,td){padding:.85rem .95rem;border-bottom:1px solid var(--line);line-height:1.35}
.category-table thead{background:var(--dark);color:#fff;font-size:.82rem}
.category-table thead th:first-child{width:32%}
.category-table tbody tr:last-child>*{border-bottom:0}
.category-table tbody tr:nth-child(even){background:#f9f8f6}
.category-table tbody th span{font-family:var(--display);font-weight:800;font-style:italic;font-size:clamp(1rem,2.5vw,1.6rem);letter-spacing:-.05em}
.category-table small{color:var(--muted);font-size:.75rem}
.category-table td{font-size:.84rem}
.availability{color:#9d0920;font-weight:700}
.unavailable{color:#68666c;text-align:center}
.category-table th:last-child,.category-table td:last-child{text-align:center}
.field-optional{color:var(--muted);font-weight:400}
.podium-label{margin-bottom:.7rem;color:#e1dfe1;font-size:.82rem}
.route .button{max-width:245px}
.faq details a,.calendar-source{color:var(--red-deep);text-decoration:underline;text-underline-offset:.2em}
.calendar-status{margin-bottom:.75rem;font-size:.9rem}
.calendar-status:empty{display:none}
.calendar-source{display:inline-flex;align-items:center;gap:.4rem;margin-top:1.15rem;font-size:.88rem;font-weight:700}
.event-detail{margin-top:.3rem}
.history .calendar-list{margin-top:.45rem}
@media(max-width:550px){
  .category-table :is(th,td){padding:.65rem .3rem;font-size:.67rem;overflow-wrap:anywhere}
  .category-table thead th:first-child{width:29%}
  .category-table small{display:block;font-size:.65rem}
  .category-table tbody th span{font-size:.95rem}
}
.edition .section-head h1{font-size:clamp(2.5rem,7vw,5rem);margin:12px 0}
.edition-nav{display:flex;flex-wrap:wrap;gap:10px 24px;padding-block:12px;border-block:1px solid var(--line);font-weight:700}
.edition-nav a{color:var(--red-deep);text-decoration:underline;text-underline-offset:.2em}
.edition-section{padding-block:28px;border-bottom:1px solid var(--line)}
.edition-section h2{font-size:clamp(1.75rem,4vw,2.8rem);margin-bottom:12px}
.edition-section p+p{margin-top:8px}
.edition-section .button{margin-top:15px}
.edition-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.edition-facts{display:grid;gap:12px;margin:0}
.edition-facts dt{font-weight:700}
.edition-facts dd{margin:0;color:var(--muted)}
.edition-photo{margin:0}
.edition-photo img{border-radius:7px}
.edition-photo figcaption{font-size:.85rem;color:var(--muted)}
.edition-stages{display:grid;gap:15px;padding-left:1.25rem}
.edition-stages h3{font-size:1.35rem;margin-bottom:4px}
@media(max-width:650px){.edition-grid{grid-template-columns:1fr}}

.contact-list{display:grid;gap:12px}
.contact-registration,.contact-disclosure{border:1px solid #ffffff63;border-radius:7px;background:#a1051a}
.contact-registration{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 18px;padding:18px 22px}
.contact-registration h3{font-size:1.43rem;margin-bottom:6px}
.contact-registration p{font-size:.9rem}
.contact-disclosure summary{display:flex;align-items:center;gap:12px;padding:18px 22px;list-style:none;cursor:pointer;font-weight:700}
.contact-disclosure summary::-webkit-details-marker{display:none}
.contact-disclosure summary::after{content:"+";margin-left:auto;font-size:1.4rem;line-height:1}
.contact-disclosure[open] summary::after{content:"−"}
.contact-disclosure .contact-form{border-top:1px solid #ffffff63}
.contact-form{display:grid;gap:14px;padding:18px 22px}
.contact-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border:0;margin:0;padding:0;min-width:0}
.contact-form label,.category-lookup label{display:grid;gap:4px;align-content:start;font-weight:700;font-size:.86rem}
.contact-form :is(input,select,textarea),.category-lookup select{width:100%;border:1px solid #aaa7a7;border-radius:4px;padding:9px;color:var(--ink);background:#fff;font-weight:400;font-size:1rem}
.contact-form .field-optional{color:inherit;font-size:.8em}
.contact-form .contact-help,.contact-result{font-size:.85rem}
.contact-form .button{justify-self:start;color:#9f071c}
.contact-form .button:hover,.contact-registration .button:hover{background:#f8e5e8}
.contact-form .button:disabled{opacity:.7;cursor:wait}
.contact-result:empty{display:none}

.edition-hero{padding:clamp(24px,5vw,62px);background:var(--dark);border-radius:8px;color:#fff}
.edition-hero .eyebrow{color:#ff5b6e}
.edition-hero h1{margin:12px 0;font-size:clamp(2.55rem,8vw,6rem)}
.edition-hero p{color:#fff}
.edition-badge{display:inline-block;border:1px solid #f5b5bd;border-radius:4px;padding:4px 9px;margin-top:14px;color:#ffd8df;font-size:.75rem;font-weight:700}
.edition-hero + .edition-nav{margin-top:14px}
.edition-notice,.edition-card{padding:clamp(15px,3vw,24px);background:#fff;border:1px solid var(--line);border-radius:7px}
.edition-notice{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:8px 15px;border-left:4px solid var(--red)}
.edition-notice a{color:var(--red-deep);font-weight:700;text-decoration:underline;text-underline-offset:.2em}
.edition-card h3{font-size:1.43rem;margin-bottom:8px}
.edition-actions{display:flex;flex-wrap:wrap;gap:10px}
.category-lookup{margin-block:12px}
.category-lookup .contact-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
#category-result{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.edition-footnote{font-size:.88rem}
@media(max-width:650px){
  .contact-fields,.category-lookup .contact-fields{grid-template-columns:1fr}
  .contact-registration,.contact-disclosure summary,.contact-form{padding-inline:14px}
}
