:root{
  --black:#0A0A0B;
  --charcoal:#161617;
  --charcoal-2:#1E1E20;
  --maroon:#7A212E;
  --maroon-bright:#A83B4C;
  --bone:#F2EDE4;
  --steel:#8C8B87;
  --steel-dim:#484745;
  --line: rgba(242,237,228,0.10);
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--black);
  color:var(--bone);
  font-family:'Inter',sans-serif;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  font-synthesis:none;
}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
.display{font-family:'Anton',sans-serif; font-weight:400; letter-spacing:0.5px; text-transform:uppercase;}
.mono{font-family:'JetBrains Mono',monospace;}
.wrap{max-width:1180px; margin:0 auto; padding:0 32px;}
.eyebrow{
  font-family:'JetBrains Mono',monospace;
  font-size:12px; letter-spacing:2.5px; text-transform:uppercase;
  color:var(--maroon-bright); font-weight:700;
}

/* ===== NAV ===== */
header.nav{
  position:sticky; top:0; z-index:50;
  background:rgba(10,10,11,0.94);
  backdrop-filter:blur(6px);
  border-bottom:2px solid var(--maroon);
}
.nav-inner{
  max-width:1180px; margin:0 auto; padding:0 32px;
  height:80px; display:flex; align-items:center; justify-content:space-between;
}
.brand{display:flex; align-items:center; gap:14px;}
.brand-mark{width:52px; height:52px; flex-shrink:0; object-fit:contain;}
.brand-text{display:flex; flex-direction:column; line-height:1.05;}
.brand-text .name{font-family:'Anton',sans-serif; font-size:21px; letter-spacing:0.5px;}
.brand-text .sub{font-family:'JetBrains Mono',monospace; font-size:9.5px; color:var(--steel); letter-spacing:1.2px; margin-top:3px;}
nav.links{display:flex; align-items:center; gap:26px;}
nav.links a{
  font-family:'Anton',sans-serif; font-size:13.5px; letter-spacing:0.6px;
  color:var(--bone); opacity:0.85; position:relative; padding:6px 0;
}
nav.links a:hover{opacity:1;}
nav.links a.active{opacity:1;}
nav.links a.active::after{
  content:''; position:absolute; left:0; right:0; bottom:-2px; height:3px; background:var(--maroon-bright);
  clip-path:polygon(0 0,100% 0,96% 100%,4% 100%);
}
.btn-primary{
  background:var(--maroon-bright); color:var(--bone);
  font-family:'Anton',sans-serif; font-size:14px; letter-spacing:0.8px;
  padding:12px 24px; border:none;
  clip-path:polygon(6px 0, 100% 0, calc(100% - 6px) 100%, 0 100%);
}
.btn-outline{
  background:transparent; color:var(--bone);
  font-family:'Anton',sans-serif; font-size:14px; letter-spacing:0.8px;
  padding:12px 24px; border:1.5px solid var(--bone);
  clip-path:polygon(6px 0, 100% 0, calc(100% - 6px) 100%, 0 100%);
}

/* ===== PAGE HERO (interior pages) ===== */
.page-hero{
  padding:72px 0 56px;
  background:radial-gradient(ellipse 900px 400px at 78% 0%, rgba(168,59,76,0.13), transparent 60%), var(--black);
  border-bottom:1px solid var(--line);
}
.page-hero .eyebrow{margin-bottom:16px;}
.page-hero h1{font-family:'Anton',sans-serif; font-weight:400; font-size:54px; line-height:1.0; letter-spacing:0.3px; margin-bottom:18px;}
.page-hero h1 span{color:var(--maroon-bright);}
.page-hero p{font-size:16px; color:var(--steel); max-width:640px;}

/* ===== HOME HERO ===== */
.hero{
  position:relative; overflow:hidden; padding:100px 0 0;
  background:radial-gradient(ellipse 900px 500px at 78% 20%, rgba(168,59,76,0.13), transparent 60%), var(--black);
}
.hero-wolf-watermark{
  position:absolute; right:-100px; top:-40px; width:820px; height:auto;
  opacity:0.10; filter:grayscale(1) brightness(2.4); z-index:1; pointer-events:none;
}
.hero-grid{ max-width:1180px; margin:0 auto; padding:0 32px; position:relative; z-index:2; }
.hero-eyebrow{margin-bottom:20px; display:flex; align-items:center; gap:10px;}
.hero-eyebrow .dot{width:7px; height:7px; background:var(--maroon-bright); border-radius:50%; display:inline-block;}
h1.hero-title{font-family:'Anton',sans-serif; font-weight:400; font-size:104px; line-height:1.05; letter-spacing:0.5px; margin-bottom:28px; max-width:820px;}
h1.hero-title span{color:var(--maroon-bright);}
.hero-sub{font-size:18px; color:var(--steel); max-width:480px; margin-bottom:38px; font-weight:400;}
.hero-ctas{display:flex; gap:14px; margin-bottom:64px;}
.hero-stats{display:grid; grid-template-columns:repeat(2,auto); gap:60px; border-top:1px solid var(--line); padding-top:28px; max-width:560px;}
.hero-stats .num{font-family:'Anton',sans-serif; font-size:34px; color:var(--maroon-bright); letter-spacing:0.3px;}
.hero-stats .lbl{font-family:'JetBrains Mono',monospace; font-size:10.5px; color:var(--steel); letter-spacing:0.8px; margin-top:4px;}

.torn-strip{ position:relative; background:var(--maroon); margin-top:70px; border-top:1px solid rgba(0,0,0,0.35); border-bottom:1px solid rgba(0,0,0,0.35); padding:20px 32px; }
.torn-strip .track{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; row-gap:10px; column-gap:28px; font-family:'Anton',sans-serif; font-weight:400; font-size:15px; letter-spacing:1.5px; color:var(--black); }
.torn-strip .track span{display:inline-flex; align-items:center; gap:28px; white-space:nowrap;}
.torn-strip .track span::after{content:''; width:5px; height:5px; background:rgba(10,10,11,0.45); border-radius:50%; flex-shrink:0;}
.torn-strip .track span:last-child::after{display:none;}
.torn-marquee{text-align:center;}

/* ===== SECTION SHELL ===== */
section{padding:96px 0;}
section.tight{padding:70px 0;}
.section-head{max-width:640px; margin-bottom:56px; position:relative;}
.section-head .eyebrow{margin-bottom:14px;}
.section-head h2{font-family:'Anton',sans-serif; font-weight:400; font-size:44px; line-height:1.02; letter-spacing:0.3px;}
.section-head p{color:var(--steel); font-size:15.5px; margin-top:16px; max-width:520px;}
.divider{border-top:1px solid var(--line);}

/* ===== MISSION / LOCKER PLAQUE ===== */
.mission{
  background:var(--charcoal); border:1px solid var(--line); border-left:5px solid var(--maroon-bright);
  padding:52px 56px; position:relative;
  display:grid; grid-template-columns:0.85fr 1.15fr; gap:50px; align-items:center;
}
.mission-quote{font-family:'Anton',sans-serif; font-size:32px; line-height:1.15; letter-spacing:0.3px;}
.mission-quote em{font-style:normal; color:var(--maroon-bright);}
.mission-copy{color:var(--steel); font-size:15.5px;}
.mission-copy p + p{margin-top:14px;}

/* ===== PROSE (about page) ===== */
.prose{max-width:760px; font-size:16px; color:#D8D3C8; line-height:1.75;}
.prose p + p{margin-top:20px;}
.prose strong{color:var(--bone);}
.pull{
  font-family:'Anton',sans-serif; font-size:26px; line-height:1.25; color:var(--bone);
  border-left:4px solid var(--maroon-bright); padding-left:22px; margin:36px 0;
  max-width:640px;
}
.pull span{color:var(--maroon-bright);}

/* ===== LEVEL CARDS (program levels) ===== */
.levels-grid{display:grid; grid-template-columns:1fr 1fr; gap:24px;}
.level-card{background:var(--charcoal); border:1px solid var(--line); position:relative; padding:34px 32px;}
.level-card::before{content:''; position:absolute; top:0; left:0; right:0; height:4px; background:var(--maroon-bright);}
.level-card .tag{font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:1.5px; color:var(--maroon-bright); margin-bottom:12px;}
.level-card h3{font-family:'Anton',sans-serif; font-weight:400; font-size:30px; letter-spacing:0.3px; margin-bottom:14px;}
.level-card p{font-size:14.5px; color:var(--steel); line-height:1.6; margin-bottom:22px;}
.level-facts{border-top:1px solid var(--line); padding-top:18px;}
.level-fact-row{display:flex; justify-content:space-between; padding:8px 0; font-size:13px;}
.level-fact-row .k{font-family:'JetBrains Mono',monospace; color:var(--steel); letter-spacing:0.5px;}
.level-fact-row .v{font-weight:600; color:var(--bone); text-align:right;}

/* ===== BOUT ROW (fight card reused for grades/ages note) ===== */
.note-card{
  background:var(--charcoal); border:1px solid var(--line); border-left:3px solid var(--maroon-bright);
  padding:22px 28px; font-size:14px; color:var(--steel); line-height:1.6; max-width:760px;
}
.note-card strong{color:var(--bone);}

/* ===== TALE OF THE TAPE / COACHES ===== */
.coach-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.coach-grid.full{grid-template-columns:repeat(2,1fr);}
.coach-card{background:var(--charcoal); border:1px solid var(--line); position:relative;}
.coach-card::before{content:''; position:absolute; top:0; left:0; right:0; height:4px; background:var(--maroon-bright); z-index:2;}
.coach-photo{
  aspect-ratio:4/5; background:var(--charcoal-2); overflow:hidden;
  border-bottom:1px solid var(--line);
}
.coach-photo img{width:100%; height:100%; object-fit:cover; object-position:top center;}
.coach-info{padding:22px 24px;}
.coach-info h4{font-family:'Anton',sans-serif; font-weight:400; font-size:19px; letter-spacing:0.3px;}
.coach-info .role{font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--maroon-bright); letter-spacing:1px; margin:8px 0 14px;}
.tape-row{display:flex; justify-content:space-between; font-size:12.5px; padding:7px 0; border-top:1px solid var(--line);}
.tape-row:first-of-type{border-top:none;}
.tape-row .k{color:var(--steel);}
.tape-row .v{font-family:'JetBrains Mono',monospace; font-weight:700; text-align:right; max-width:60%;}
.accolade-list{list-style:none; margin-top:4px;}
.accolade-list li{
  font-size:13px; color:#D8D3C8; padding:8px 0 8px 20px; border-top:1px solid var(--line);
  position:relative; line-height:1.5;
}
.accolade-list li:first-child{border-top:none;}
.accolade-list li::before{content:'\2726'; position:absolute; left:0; top:8px; color:var(--maroon-bright); font-size:10px;}
.coach-bio-note{font-size:13px; color:var(--steel); margin-top:14px; line-height:1.6; font-style:italic;}
.cta-center{text-align:center; margin-top:44px;}

/* ===== SCOREBOARD / SCHEDULE ===== */
.scoreboard{
  background:var(--charcoal-2); border:1px solid var(--line);
  padding:46px; display:grid; grid-template-columns:1fr 1fr; gap:30px; position:relative;
}
.scoreboard.with-loc{grid-template-columns:1fr 1fr 1fr;}
.rivet{position:absolute; width:8px; height:8px; border-radius:50%; background:var(--steel-dim);}
.rivet.tl{top:14px; left:14px;} .rivet.tr{top:14px; right:14px;}
.rivet.bl{bottom:14px; left:14px;} .rivet.br{bottom:14px; right:14px;}
.sched-block h3{font-family:'Anton',sans-serif; font-weight:400; font-size:23px; margin-bottom:4px;}
.sched-block .tag{font-family:'JetBrains Mono',monospace; font-size:10.5px; color:var(--maroon-bright); letter-spacing:1px; margin-bottom:14px; display:block;}
.sched-row{display:flex; justify-content:space-between; padding:10px 0; border-top:1px solid var(--line); font-size:13px;}
.sched-row:first-of-type{border-top:none;}
.sched-row .k{font-family:'JetBrains Mono',monospace; color:var(--steel); letter-spacing:0.3px;}
.sched-row .v{font-weight:700; color:var(--bone); text-align:right;}
.info-block .eyebrow{margin-bottom:10px;}
.info-block .val{font-size:15px; font-weight:600; margin-bottom:20px;}
.info-block .val .sub{display:block; font-family:'JetBrains Mono',monospace; font-size:12px; color:var(--steel); font-weight:400; margin-top:4px;}

/* ===== SPONSORS ===== */
.sponsor-feature{
  background:var(--charcoal); border:1px solid var(--line); border-left:5px solid var(--maroon-bright);
  padding:44px; display:grid; grid-template-columns:0.7fr 1.3fr; gap:44px; align-items:center;
}
.sponsor-logo-tile{
  background:var(--black); border:1px solid var(--line); padding:36px;
  display:flex; align-items:center; justify-content:center; min-height:140px;
}
.sponsor-wordmark{font-family:'Anton',sans-serif; font-size:34px; letter-spacing:1px; color:var(--bone);}
.sponsor-wordmark span{color:var(--maroon-bright);}
.sponsor-feature h3{font-family:'Anton',sans-serif; font-weight:400; font-size:26px; margin-bottom:12px;}
.sponsor-feature p{font-size:14.5px; color:var(--steel); line-height:1.65; margin-bottom:20px;}
.sponsor-slot-empty{
  height:80px; border:1.5px dashed var(--steel-dim); display:flex; align-items:center; justify-content:center;
  font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--steel-dim); letter-spacing:1px;
}
.sponsor-slots-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:24px;}

/* ===== HYPE / SOCIAL ===== */
.hype{background:var(--maroon); position:relative; overflow:hidden;}
.hype-inner{display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; position:relative; z-index:2;}
.hype h2{font-size:38px; color:var(--bone); line-height:1.05;}
.hype p{color:rgba(242,237,228,0.85); font-size:15px; margin-top:16px; max-width:420px;}
.hype .btn-outline{margin-top:26px; display:inline-block;}
.video-frame{
  aspect-ratio:16/10; background:rgba(0,0,0,0.4); border:2px solid var(--bone);
  display:flex; align-items:center; justify-content:center;
  clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px);
}
.play-btn{width:66px; height:66px; border-radius:50%; border:2px solid var(--bone); display:flex; align-items:center; justify-content:center;}
.play-btn::after{content:''; width:0; height:0; margin-left:5px; border-top:10px solid transparent; border-bottom:10px solid transparent; border-left:15px solid var(--bone);}

/* ===== FOOTER ===== */
footer{border-top:2px solid var(--maroon); padding:60px 0 34px; position:relative; overflow:hidden;}
.footer-wolf{position:absolute; right:-60px; bottom:-80px; width:360px; opacity:0.05; filter:grayscale(1) brightness(2.4); pointer-events:none;}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; margin-bottom:44px; position:relative; z-index:2;}
.footer-brand .brand{margin-bottom:16px;}
.footer-brand p{font-size:13px; color:var(--steel); max-width:260px; line-height:1.6;}
.footer-col h5{font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:1.5px; color:var(--steel); margin-bottom:16px;}
.footer-col a{display:block; font-size:13.5px; margin-bottom:11px; color:var(--bone); opacity:0.85;}
.footer-col a:hover{opacity:1;}
.footer-bottom{border-top:1px solid var(--line); padding-top:24px; position:relative; z-index:2; display:flex; justify-content:space-between; font-size:12px; color:var(--steel-dim);}

@media (max-width:860px){
  .hero-grid, .wrap{padding:0 20px;}
  h1.hero-title{font-size:56px;}
  .mission, .sponsor-feature{grid-template-columns:1fr;}
  .levels-grid, .coach-grid, .coach-grid.full, .scoreboard, .scoreboard.with-loc, .footer-grid, .hype-inner{grid-template-columns:1fr;}
}

/* ===== COACH CAROUSEL (homepage) ===== */
.coach-carousel-wrap{position:relative;}
.coach-carousel{
  display:flex; gap:24px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth;
  padding-bottom:6px; -ms-overflow-style:none; scrollbar-width:none;
}
.coach-carousel::-webkit-scrollbar{display:none;}
.coach-carousel .coach-card{flex:0 0 calc(33.333% - 16px); scroll-snap-align:start; min-width:240px;}
.carousel-arrow{
  position:absolute; top:38%; transform:translateY(-50%); width:44px; height:44px; border-radius:50%;
  background:var(--charcoal); border:1px solid var(--line); color:var(--bone);
  display:flex; align-items:center; justify-content:center; cursor:pointer; z-index:5;
  font-size:22px; line-height:1; font-family:'Inter',sans-serif;
}
.carousel-arrow:hover{border-color:var(--maroon-bright); color:var(--maroon-bright);}
.carousel-arrow.prev{left:-22px;}
.carousel-arrow.next{right:-22px;}

/* ===== MOBILE NAV ===== */
.menu-toggle{
  display:none; flex-direction:column; justify-content:center; gap:5px;
  width:38px; height:38px; background:none; border:none; cursor:pointer; padding:0;
}
.menu-toggle span{display:block; width:100%; height:2px; background:var(--bone);}
.mobile-links{
  display:none; flex-direction:column; gap:4px; padding:0 32px 20px;
  background:rgba(10,10,11,0.98); border-top:1px solid var(--line);
}
.mobile-links.open{display:flex;}
.mobile-links a{
  font-family:'Anton',sans-serif; font-size:15px; letter-spacing:0.5px; color:var(--bone);
  padding:14px 0; border-bottom:1px solid var(--line);
}
.mobile-links a.active{color:var(--maroon-bright);}

/* ===== CONTACT FORM ===== */
.contact-form{max-width:640px;}
.hp-field{position:absolute; left:-9999px;}
.form-row{margin-bottom:22px; display:flex; flex-direction:column; gap:8px;}
.form-row label{font-family:'JetBrains Mono',monospace; font-size:11.5px; letter-spacing:1px; color:var(--steel); text-transform:uppercase;}
.form-row input, .form-row textarea{
  background:var(--charcoal); border:1px solid var(--line); color:var(--bone);
  font-family:'Inter',sans-serif; font-size:15px; padding:13px 16px; border-radius:2px;
  resize:vertical;
}
.form-row input:focus, .form-row textarea:focus{outline:none; border-color:var(--maroon-bright);}
.contact-form .btn-primary{border:none; cursor:pointer; font-size:15px;}
.form-error{color:var(--maroon-bright); font-size:13.5px; margin-top:16px;}
.form-success{margin-top:8px;}

@media (max-width:860px){
  nav.links, .desktop-only{display:none;}
  .menu-toggle{display:flex;}
  .coach-carousel .coach-card{flex:0 0 82%;}
  .carousel-arrow{display:none;}
}

