:root{--navy:#1F2A44;--navy-2:#27355a;--cream:#F4EAD5;--cream-2:#EBDDC0;--red:#C8372D;--brass:#E0A526;--teal:#3E8E9C;--ink:#1F2A44;--muted:#55607a}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Work Sans',system-ui,sans-serif;color:var(--ink);background:var(--cream);line-height:1.6;font-size:17px}
a{color:var(--red)}
img{max-width:100%;display:block}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
.display{font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.04em;line-height:.95;margin:0}
.eyebrow{font-family:Oswald,sans-serif;letter-spacing:.22em;text-transform:uppercase;font-size:13px;color:var(--brass);margin:0 0 12px}

nav{background:var(--navy);position:sticky;top:0;z-index:10}
nav .wrap{display:flex;align-items:center;justify-content:space-between;height:60px}
nav .brand{display:flex;align-items:center;gap:10px;color:var(--cream);text-decoration:none;font-family:'Bebas Neue';font-size:22px;letter-spacing:.06em}
nav .brand img{width:36px;height:36px}
nav ul{display:flex;gap:22px;list-style:none;margin:0;padding:0}
nav ul a{color:var(--cream);text-decoration:none;font-family:Oswald;font-size:14px;letter-spacing:.12em;text-transform:uppercase}
nav ul a:hover{color:var(--brass)}
.btn{display:inline-block;background:var(--red);color:var(--cream);font-family:Oswald;letter-spacing:.14em;text-transform:uppercase;font-size:15px;padding:14px 26px;border-radius:6px;text-decoration:none;border:0;cursor:pointer}
.btn:hover{background:#a92c24}
.btn.ghost{background:transparent;border:2px solid var(--cream);color:var(--cream)}
.btn.ghost:hover{background:var(--cream);color:var(--navy)}

.hero{background:var(--navy);color:var(--cream);padding:64px 0 88px;position:relative;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center}
.hero h1{font-size:clamp(56px,9vw,112px)}
.hero h1 span{color:var(--red)}
.hero p.lead{font-size:20px;max-width:34em;color:#e6dcc4;margin:22px 0 30px}
.hero .ctas{display:flex;gap:14px;flex-wrap:wrap}
.hero .badge{width:100%;max-width:380px;justify-self:center}
.hero .status{margin-top:26px;font-family:Oswald;letter-spacing:.14em;text-transform:uppercase;font-size:13px;color:var(--brass)}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:10px;background:repeating-linear-gradient(90deg,var(--red) 0 40px,var(--brass) 40px 80px,var(--teal) 80px 120px)}

section{padding:80px 0}
section h2{font-size:clamp(44px,6vw,68px);margin-bottom:12px}
section .intro{max-width:40em;color:var(--muted);font-size:18px;margin:0 0 40px}

.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:#fffaf0;border:2px solid var(--navy);border-radius:10px;padding:28px}
.card .ico{width:52px;height:52px;border-radius:50%;background:var(--navy);display:grid;place-items:center;margin-bottom:16px}
.card h3{font-family:'Bebas Neue';font-size:32px;letter-spacing:.04em;margin:0 0 8px}
.card p{margin:0;color:var(--muted)}

.lineup{background:var(--cream-2)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:10px}
.stat{border-top:4px solid var(--red);padding-top:14px}
.stat b{display:block;font-family:'Bebas Neue';font-size:56px;line-height:1;letter-spacing:.03em}
.stat span{color:var(--muted);font-size:15px}

.events .list{display:grid;gap:14px}
.event{display:grid;grid-template-columns:110px 1fr;gap:20px;align-items:center;background:#fffaf0;border-left:6px solid var(--brass);padding:20px 24px}
.event .date{font-family:'Bebas Neue';font-size:30px;line-height:1;text-align:center;color:var(--navy)}
.event h3{margin:0 0 4px;font-size:19px}
.event p{margin:0;color:var(--muted);font-size:15px}

.join{background:var(--navy);color:var(--cream)}
.join .wrap{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.join .intro{color:#d9cfb6}
.join ul{padding-left:20px;margin:0}
.join li{margin-bottom:8px}
form{background:var(--cream);color:var(--ink);border-radius:10px;padding:28px}
label{display:block;font-family:Oswald;letter-spacing:.1em;text-transform:uppercase;font-size:13px;margin:0 0 6px}
input,select{width:100%;font:inherit;padding:12px 14px;border:2px solid var(--navy);border-radius:6px;background:#fff;margin-bottom:16px}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;margin-bottom:18px;font-size:15px}
.checks label{font-family:'Work Sans';letter-spacing:0;text-transform:none;font-size:15px;display:flex;gap:8px;align-items:center;margin:0}
.checks input{width:auto;margin:0}
form .btn{width:100%}
.note{font-size:13px;color:var(--muted);margin:10px 0 0}
.ok{display:none;background:#e3efe4;border:2px solid #3b7a47;color:#23502c;border-radius:6px;padding:14px;margin-top:12px}

.faq details{border-bottom:2px solid var(--cream-2);padding:18px 0}
.faq summary{cursor:pointer;font-weight:600;font-size:18px}
.faq p{color:var(--muted);margin:10px 0 0}

footer{background:#161e33;color:#b9b19c;padding:40px 0;font-size:14px}
footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center}
footer a{color:var(--cream)}

@media (max-width:860px){
  nav ul li{display:none}
  nav ul li.keep{display:block}
  .hero .wrap,.join .wrap{grid-template-columns:1fr}
  .hero .badge{max-width:240px;order:-1}
  .cards{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr 1fr}
  .event{grid-template-columns:80px 1fr;padding:16px}
  section{padding:60px 0}
}
@media (max-width:480px){
  .hero h1{font-size:46px}
  .hero p.lead{font-size:17px}
  .hero .ctas .btn{width:100%;text-align:center}
  nav .brand span{display:none}
  .checks{grid-template-columns:1fr}
}

.page-hero{background:var(--navy);color:var(--cream);padding:56px 0 64px;position:relative}
.page-hero h1{font-size:clamp(52px,8vw,96px)}
.page-hero p.lead{font-size:19px;max-width:36em;color:#e6dcc4;margin:18px 0 0}
.page-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:10px;background:repeating-linear-gradient(90deg,var(--red) 0 40px,var(--brass) 40px 80px,var(--teal) 80px 120px)}
.machines{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:20px}
.machine{background:#fffaf0;border:2px solid var(--navy);border-radius:10px;overflow:hidden;display:flex;flex-direction:column}
.machine .band{height:120px;background:var(--navy);display:grid;place-items:center;position:relative}
.machine .band .ball{width:54px;height:54px;border-radius:50%;background:var(--red);box-shadow:inset -8px -8px 0 rgba(0,0,0,.18)}
.machine .band .ball::after{content:"";display:block;width:14px;height:14px;border-radius:50%;background:var(--cream);margin:10px 0 0 12px;opacity:.85}
.machine .band .yr{position:absolute;right:12px;top:10px;font-family:'Bebas Neue';font-size:22px;color:var(--brass);letter-spacing:.06em}
.machine .body{padding:18px 20px 22px;flex:1}
.machine .maker{font-family:Oswald;letter-spacing:.14em;text-transform:uppercase;font-size:12px;color:var(--red);margin:0 0 4px}
.machine h3{font-family:'Bebas Neue';font-size:30px;letter-spacing:.03em;line-height:1;margin:0 0 10px}
.machine p{margin:0;color:var(--muted);font-size:15px}
.tag{display:inline-block;margin-top:14px;font-family:Oswald;font-size:11px;letter-spacing:.14em;text-transform:uppercase;background:var(--brass);color:var(--navy);padding:4px 10px;border-radius:4px}
.machine.soon{border:2px dashed #9aa1b3;background:transparent}
.machine.soon .band{background:var(--cream-2)}
.machine.soon .band .ball{background:transparent;border:3px dashed #9aa1b3;box-shadow:none;display:grid;place-items:center;font-family:'Bebas Neue';font-size:30px;color:#9aa1b3}
.machine.soon .band .ball::after{display:none}
.machine.soon h3{color:#7b8296}
.machine.soon .maker{color:#7b8296}
.legend{display:flex;gap:26px;flex-wrap:wrap;margin:0 0 30px;color:var(--muted);font-size:15px}
.legend b{font-family:'Bebas Neue';font-size:30px;color:var(--navy);margin-right:6px;letter-spacing:.03em}
.machine .band.photo{height:260px;padding:0;display:block;background:#111}
.machine .band.photo img{width:100%;height:100%;object-fit:cover;object-position:center 8%}
.machine .band.photo .yr{z-index:1;background:rgba(31,42,68,.85);padding:2px 8px;border-radius:4px}
.machine .band .pc{position:absolute;bottom:10px;font-family:Oswald;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#9aa6c2}
.machine .band:not(.photo){height:260px}
.credit{font-size:11px !important;color:#8a90a0 !important;margin-top:10px !important}
.credit a{color:inherit}
.photo-wide{margin:40px 0 0}
.photo-wide img{width:100%;height:360px;object-fit:cover;border-radius:10px;border:2px solid var(--navy)}
.photo-wide figcaption{font-size:12px;color:var(--muted);margin-top:8px}
.photo-wide figcaption a{color:inherit}
@media (max-width:860px){.photo-wide img{height:220px}}
select{width:100%;font:inherit;padding:12px 14px;border:2px solid var(--navy);border-radius:6px;background:#fff;margin-bottom:16px}
.list{display:grid;gap:12px}
.event{display:grid;grid-template-columns:110px 1fr;gap:20px;align-items:center;background:#fffaf0;border-left:6px solid var(--brass);padding:16px 24px}
.event .date{font-family:'Bebas Neue';font-size:28px;line-height:1;text-align:center;color:var(--navy)}
.event h3{margin:0 0 2px;font-size:18px}
.event p{margin:0;color:var(--muted);font-size:15px}
.event.off{background:transparent;border-left-color:#b9b19c}
.event.off .date,.event.off h3{color:#8a8575}
.event.finals{border-left-color:var(--red);background:#fff}
.event.finals .date{color:var(--red)}
@media (max-width:860px){.event{grid-template-columns:80px 1fr;padding:14px 16px}}
.location{display:grid;grid-template-columns:1.25fr 1fr;gap:0;background:#fffaf0;border:2px solid var(--navy);border-radius:10px;overflow:hidden}
.loc-photos{display:grid;grid-template-columns:1.33fr 1fr;gap:2px;background:var(--navy)}
.loc-photos img{width:100%;height:340px;object-fit:cover}
.loc-body{padding:26px 28px}
.loc-body .maker{font-family:Oswald;letter-spacing:.14em;text-transform:uppercase;font-size:12px;color:var(--red);margin:0 0 4px}
.loc-body h3{font-family:'Bebas Neue';font-size:40px;letter-spacing:.03em;line-height:1;margin:0 0 10px}
.loc-body p{color:var(--muted);margin:0 0 16px}
.games{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.games li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dashed #d8cdb4;padding-bottom:6px;font-size:15px}
.games li span{color:var(--muted);font-size:13px;text-align:right}
@media (max-width:860px){.location{grid-template-columns:1fr}.loc-photos img{height:220px}}
.location{align-items:stretch}
.loc-photos{grid-template-rows:1fr;min-height:340px}
.loc-photos img{height:100%;min-height:340px}
@media (max-width:860px){.loc-photos{min-height:220px}.loc-photos img{min-height:220px;height:220px}}
.location + .location{margin-top:22px}
.loc-body .credit{font-size:11px;color:#8a90a0;margin:0}
.loc-body .credit a{color:inherit}
