:root{
  --red:#8C1F2F;
  --red-dark:#5E121D;
  --black:#0D0D0D;
  --gray:#5C5C5C;
  --gray-light:#E9E6E1;
  --cream:#F5F2EC;
  --blush:#F3E4E6;
  --white:#FFFFFF;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Barlow Semi Condensed',sans-serif;color:var(--black);background:var(--cream);line-height:1.55;}
h1,h2,h3,.display{font-family:'Anton',sans-serif;text-transform:uppercase;letter-spacing:0.5px;}
a{text-decoration:none;color:inherit;}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px;}

/* NAV */
header{position:sticky;top:0;z-index:50;background:var(--black);border-bottom:3px solid var(--red);}
nav.wrap{display:flex;align-items:center;justify-content:space-between;height:78px;}
.brand{display:flex;align-items:center;gap:12px;}
.brand img{height:52px;width:auto;}
.navlinks{display:flex;align-items:center;gap:2px;}
.navlinks > a, .navlinks > .dropdown > button{
  color:var(--white);font-family:'Anton',sans-serif;font-size:14px;letter-spacing:0.3px;
  padding:14px 13px;display:inline-block;background:none;border:none;cursor:pointer;white-space:nowrap;
}
.navlinks > a:hover, .navlinks > .dropdown:hover > button, .navlinks > a.active{color:var(--red);}
.dropdown{position:relative;}
.dropdown-menu{
  position:absolute;top:100%;left:0;background:var(--white);min-width:210px;
  box-shadow:0 12px 24px rgba(0,0,0,0.18);opacity:0;visibility:hidden;transform:translateY(6px);
  transition:all .15s ease;border-top:3px solid var(--red);
}
.dropdown:hover .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0);}
.dropdown-menu a{display:block;padding:12px 18px;font-size:15px;color:var(--black);font-weight:600;}
.dropdown-menu a:hover{background:var(--gray-light);color:var(--red);}
.navlinks .btn-register{background:var(--red);padding:10px 18px;border-radius:2px;margin-left:6px;}
.navlinks .btn-register:hover{background:var(--red-dark);}

/* HERO (homepage) */
.hero{background:var(--black);color:var(--white);position:relative;overflow:hidden;padding:80px 0 60px;text-align:center;}
.hero .eyebrow{color:var(--gray);font-family:'Anton',sans-serif;letter-spacing:3px;font-size:15px;margin-bottom:18px;}
.hero h1{font-size:clamp(42px,7vw,80px);line-height:0.95;color:var(--red);
  -webkit-text-stroke:1px rgba(255,255,255,0.15);}
.hero .sub{font-family:'Anton',sans-serif;font-size:clamp(20px,3vw,30px);color:var(--white);margin-top:6px;letter-spacing:1px;}
.hero p.tag{max-width:640px;margin:22px auto 34px;color:#c9c9c9;font-size:19px;}
.hero-ctas{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
.btn{display:inline-block;font-family:'Anton',sans-serif;letter-spacing:1px;padding:16px 30px;font-size:16px;border-radius:2px;transition:.15s ease;}
.btn-red{background:var(--red);color:var(--white);}
.btn-red:hover{background:var(--red-dark);}
.btn-outline{border:2px solid var(--white);color:var(--white);}
.btn-outline:hover{background:var(--white);color:var(--black);}

/* PAGE HERO (interior pages: girls / boys) */
.page-hero{background:var(--black);color:var(--white);padding:56px 0 46px;text-align:center;}
.page-hero .eyebrow{color:var(--gray);font-family:'Anton',sans-serif;letter-spacing:3px;font-size:14px;margin-bottom:14px;}
.page-hero h1{font-size:clamp(36px,6vw,60px);color:var(--white);}
.page-hero p{max-width:600px;margin:16px auto 0;color:#c9c9c9;font-size:17px;}
.page-hero.girls h1{color:var(--gray-light);}
.page-hero.boys h1{color:var(--red);}

/* HORN DIVIDER */
.horn-divider{height:44px;width:100%;}
.horn-divider svg{width:100%;height:100%;display:block;}

/* MISSION / ABOUT */
.about{padding:70px 0;background:var(--cream);}
.about .wrap{max-width:820px;text-align:center;}
.about h2{font-size:clamp(26px,4vw,38px);margin-bottom:22px;}
.about p{font-size:18px;color:#333;margin-bottom:18px;}
.about p.small{font-size:16px;color:var(--gray);}

/* SEASONS */
.seasons{padding:0 0 70px;background:var(--cream);}
.season-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:900px;margin:0 auto;}
.season-card{background:var(--white);border-top:4px solid var(--red);padding:28px;}
.season-card h3{font-size:20px;margin-bottom:10px;}
.season-card p{font-size:15px;color:var(--gray);}

/* PROGRAMS (homepage split) */
.programs{padding:80px 0;background:var(--black);color:var(--white);}
.section-head{text-align:center;margin-bottom:46px;}
.section-head .kicker{color:var(--red);font-family:'Anton',sans-serif;letter-spacing:2px;font-size:14px;}
.section-head h2{font-size:clamp(28px,4vw,44px);margin-top:8px;color:var(--white);}
.prog-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.prog-card{background:#1a1a1a;border:1px solid #2b2b2b;padding:34px;position:relative;overflow:hidden;}
.prog-card.girls{border-top:4px solid var(--gray);}
.prog-card.boys{border-top:4px solid var(--red);}
.prog-card h3{font-size:28px;margin-bottom:6px;}
.prog-card .ages{color:var(--gray);font-size:15px;margin-bottom:16px;text-transform:uppercase;letter-spacing:1px;}
.prog-card p{color:#cfcfcf;margin-bottom:22px;font-size:16px;}
.prog-card .btn{font-size:14px;padding:12px 22px;}

/* SOCIAL / STORE STRIP */
.social-strip{padding:34px 0;background:var(--gray-light);text-align:center;}
.social-strip .wrap{display:flex;justify-content:center;gap:34px;flex-wrap:wrap;align-items:center;}
.social-strip a{font-family:'Anton',sans-serif;font-size:14px;letter-spacing:0.5px;color:var(--red);}
.social-strip span{color:var(--gray);font-size:14px;}

/* VOLUNTEER CALLOUT */
.volunteer{padding:44px 0;background:var(--blush);}
.volunteer .wrap{max-width:760px;text-align:center;}
.volunteer p{color:var(--red-dark);font-weight:700;font-size:18px;margin-bottom:10px;}
.volunteer p.soft{font-weight:500;color:#7a3540;font-size:15px;margin-top:16px;margin-bottom:0;}

/* FIELD/BOARD/COACH/FAQ STRIP */
.strip{padding:60px 0;background:var(--cream);}
.strip-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;}
.strip-card{background:var(--white);padding:30px;display:flex;flex-direction:column;align-items:flex-start;}
.strip-card h3{font-size:22px;margin-bottom:10px;}
.strip-card p{color:var(--gray);margin-bottom:16px;}
.link-red{color:var(--red);font-weight:700;font-family:'Anton',sans-serif;font-size:14px;letter-spacing:0.5px;}

/* AGE GROUP SECTIONS (program info pages) */
.age-groups{padding:60px 0;}
.age-groups .intro{max-width:700px;margin:0 auto 50px;text-align:center;font-size:18px;color:#333;}
.age-group{max-width:820px;margin:0 auto 40px;background:var(--white);padding:34px 38px;border-left:5px solid var(--red);}
.age-group:nth-child(even){border-left-color:var(--gray);}
.age-group .grade{display:inline-block;font-family:'Anton',sans-serif;font-size:13px;letter-spacing:1px;color:var(--white);background:var(--red);padding:5px 12px;margin-bottom:14px;}
.age-group h3{font-size:24px;margin-bottom:4px;}
.age-group p{font-size:16px;color:#333;margin-bottom:14px;}
.age-group .equip-label{font-family:'Anton',sans-serif;font-size:13px;letter-spacing:0.5px;color:var(--gray);margin-bottom:8px;}
.equip-list{display:flex;gap:10px;flex-wrap:wrap;}
.equip-list span{background:var(--gray-light);padding:7px 14px;font-size:14px;border-radius:20px;color:var(--black);}
.section-divider{max-width:820px;margin:50px auto;border:none;border-top:1px solid #d8d5cf;}
.ms-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:820px;margin:0 auto;}
.ms-card{background:var(--white);padding:26px;text-align:center;border-top:4px solid var(--red);}
.ms-card:nth-child(2){border-top-color:var(--gray);}
.ms-card .grade-range{font-family:'Anton',sans-serif;font-size:14px;color:var(--gray);letter-spacing:1px;margin-bottom:6px;}
.ms-card h3{font-size:22px;}

/* CONTACT */
.contact{padding:80px 0;background:var(--cream);}
.contact-box{max-width:640px;margin:0 auto;background:var(--white);padding:44px;box-shadow:0 10px 30px rgba(0,0,0,0.06);}
.contact-box h2{text-align:center;margin-bottom:8px;font-size:30px;}
.contact-box p.lead{text-align:center;color:var(--gray);margin-bottom:28px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}
.form-row.full{grid-template-columns:1fr;}
label{display:block;font-family:'Anton',sans-serif;font-size:13px;letter-spacing:0.5px;margin-bottom:6px;color:var(--black);}
input,textarea,select{width:100%;padding:12px 14px;border:1px solid #d8d5cf;background:var(--cream);font-family:'Barlow Semi Condensed',sans-serif;font-size:15px;}
input:focus,textarea:focus,select:focus{outline:2px solid var(--red);}
textarea{min-height:120px;resize:vertical;}
.contact-box button{width:100%;background:var(--red);color:var(--white);border:none;padding:16px;font-family:'Anton',sans-serif;font-size:16px;letter-spacing:1px;cursor:pointer;margin-top:6px;}
.contact-box button:hover{background:var(--red-dark);}
.note{font-size:13px;color:var(--gray);text-align:center;margin-top:14px;}

/* FOOTER */
footer{background:var(--black);color:#a8a8a8;padding:40px 0;text-align:center;font-size:14px;}
footer .fh{color:var(--white);font-family:'Anton',sans-serif;letter-spacing:1px;margin-bottom:10px;font-size:18px;}
footer a{color:#a8a8a8;}
footer a:hover{color:var(--red);}

@media (max-width:960px){
  .navlinks{display:none;}
  .season-grid,.prog-grid,.strip-grid,.form-row,.ms-grid{grid-template-columns:1fr;}
}
