:root{
  --red:#A6183C;
  --red-dark:#6E0F28;
  --red-light:#C33A5C;
  --black:#111111;
  --gray:#55575B;
  --gray-light:#E6E6E6;
  --cream:#F7F7F7;
  --blush:#F3E1E5;
  --white:#FFFFFF;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Inter',sans-serif;color:var(--black);background:var(--cream);line-height:1.55;}
h1,h2,h3,.display{font-family:'Oswald',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(--white);border-bottom:3px solid var(--red);box-shadow:0 2px 10px rgba(0,0,0,0.06);}
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(--black);font-family:'Oswald',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);border:1px solid var(--gray-light);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);}
.burger{display:none;background:none;border:none;color:var(--black);font-size:28px;cursor:pointer;padding:8px;line-height:1;}

/* 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:'Oswald',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:'Oswald',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:'Oswald',sans-serif;letter-spacing:1px;padding:16px 30px;font-size:16px;transition:.15s ease;clip-path:polygon(0 0,100% 0,94% 100%,0 100%);}
.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);clip-path:none;}
.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:'Oswald',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);}

/* SHARED "STICKER" CARD STYLE (adopted from board prototype) */
.season-card, .staff-card, .board-card, .strip-card, .resource-block,
.ms-card, .age-group, .support-tile, .contact-box, .reg-row, .faq-item, .sub-section,
.formbox {
  border:2px solid var(--black);
  box-shadow:6px 6px 0 rgba(26,20,20,0.85);
}

/* 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);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:'Oswald',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:2px solid #3a3535;box-shadow:6px 6px 0 rgba(0,0,0,0.6);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:'Oswald',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:'Oswald',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:'Oswald',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:'Oswald',sans-serif;font-size:13px;letter-spacing:0.5px;color:var(--gray);margin-bottom:8px;}
.age-group .reg-soon{display:inline-block;margin-top:16px;font-family:'Oswald',sans-serif;font-size:12px;letter-spacing:0.5px;background:var(--blush);color:var(--red-dark);padding:7px 14px;}
.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:'Oswald',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:'Oswald',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:'Inter',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:'Oswald',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:'Oswald',sans-serif;letter-spacing:1px;margin-bottom:10px;font-size:18px;}
footer a{color:#a8a8a8;}
footer a:hover{color:var(--red);}

/* BOARD / STAFF / COACHES (About page) */
.board-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:980px;margin:0 auto;}
.board-card{background:var(--white);padding:22px;text-align:center;border-top:3px solid var(--red);}
.board-card .role{font-family:'Oswald',sans-serif;font-size:14px;letter-spacing:0.5px;margin-bottom:6px;}
.board-card .name{font-size:15px;color:var(--gray);}
.staff-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:820px;margin:0 auto;}
.staff-card{background:var(--white);padding:22px 26px;border-left:4px solid var(--gray);}
.staff-card .role{font-family:'Oswald',sans-serif;font-size:13px;letter-spacing:0.5px;color:var(--red);margin-bottom:4px;}
.staff-card .name{font-size:17px;font-weight:600;}
.staff-card .name a:hover{color:var(--red);}
.coach-placeholder{max-width:820px;margin:24px auto 0;background:var(--blush);padding:20px 26px;text-align:center;color:#7a3540;font-size:15px;}
.about-subhead{max-width:820px;margin:56px auto 24px;text-align:center;}
.about-subhead h3{font-size:22px;}

/* RESOURCES / FAQ */
.resource-block{max-width:820px;margin:0 auto 34px;background:var(--white);padding:30px 34px;border-left:5px solid var(--red);}
.resource-block h3{font-size:22px;margin-bottom:10px;}
.resource-block p{font-size:16px;color:#333;}
.faq-group{max-width:820px;margin:0 auto 40px;}
.faq-group h3{font-family:'Oswald',sans-serif;color:var(--red);font-size:18px;letter-spacing:0.5px;margin-bottom:16px;}
.faq-item{background:var(--white);padding:18px 24px;margin-bottom:10px;}
.faq-item .q{font-weight:700;font-size:16px;margin-bottom:6px;}
.faq-item .a{font-size:15px;color:#333;}

/* REGISTRATION */
.reg-list{max-width:820px;margin:0 auto;}
.reg-row{display:flex;justify-content:space-between;align-items:center;gap:16px;background:var(--white);padding:20px 26px;margin-bottom:12px;border-left:4px solid var(--red);flex-wrap:wrap;}
.reg-row .prog-name{font-weight:700;font-size:16px;}
.reg-row .prog-sub{font-size:14px;color:var(--gray);}
.reg-row .status{font-family:'Oswald',sans-serif;font-size:12px;letter-spacing:0.5px;padding:8px 14px;background:var(--gray-light);color:var(--gray);white-space:nowrap;}
.reg-row .status.soon{background:var(--blush);color:var(--red-dark);}
.reg-row .status.open{background:var(--red);color:var(--white);}
.reg-row a.status.open{cursor:pointer;}
.reg-row a.status.open:hover{background:var(--red-dark);}
.reg-note{max-width:820px;margin:34px auto 0;font-size:14px;color:var(--gray);}
.reg-note li{margin-bottom:6px;margin-left:18px;}

/* BADGES (adopted from board prototype) */
.chip{display:inline-block;font-family:'Oswald',sans-serif;font-size:11px;letter-spacing:0.8px;padding:5px 12px;border:1px solid var(--red);color:var(--red);margin-bottom:10px;}
.chip.solid{background:var(--red);color:var(--white);border-color:var(--red);}
.chip.dark{background:var(--black);color:var(--white);border-color:var(--black);}

/* SUPPORT PAGE */
.support-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1000px;margin:0 auto;}
.support-tile{background:var(--white);padding:28px 24px;text-align:center;}
.support-tile .ico{font-size:34px;margin-bottom:6px;}
.support-tile h3{font-size:19px;margin-bottom:8px;}
.support-tile p{font-size:14px;color:#333;margin-bottom:16px;}

/* EMAIL SIGNUP BAR */
.emailbar{background:var(--red);color:var(--white);padding:44px 0;text-align:center;}
.emailbar h2{font-size:26px;color:var(--white);margin-bottom:8px;}
.emailbar p{color:#f0d9dc;max-width:520px;margin:0 auto 20px;font-size:15px;}
.emailbar-row{display:flex;gap:10px;max-width:460px;margin:0 auto;flex-wrap:wrap;justify-content:center;}
.emailbar-row input{flex:1;min-width:220px;padding:14px;border:none;font-family:'Inter',sans-serif;font-size:15px;}
.emailbar-row button{background:var(--black);color:var(--white);border:none;padding:14px 26px;font-family:'Oswald',sans-serif;font-size:14px;letter-spacing:0.5px;cursor:pointer;}
.emailbar-row button:hover{background:#222;}

footer .contact-line{margin-top:6px;}

/* BOYS PROGRAM DETAIL SECTIONS */
.notice-box{max-width:820px;margin:20px auto 0;background:var(--blush);border-left:4px solid var(--red);padding:18px 24px;font-size:15px;color:#7a3540;}
.notice-box b{color:var(--red-dark);}
.sub-section{max-width:820px;margin:0 auto 40px;background:var(--white);padding:34px 38px;border-left:5px solid var(--gray);}
.sub-section h3{font-size:24px;margin-bottom:4px;}
.sub-section .kicker-sm{font-family:'Oswald',sans-serif;font-size:12px;letter-spacing:1px;color:var(--red);margin-bottom:10px;display:block;}
.sub-section p{font-size:16px;color:#333;margin-bottom:14px;}
.bullet-list{margin:0 0 16px 20px;}
.bullet-list li{font-size:15px;color:#333;margin-bottom:6px;}
.tourney-table{width:100%;border-collapse:collapse;margin:16px 0;font-size:14.5px;}
.tourney-table td{padding:10px 12px;border-bottom:1px solid #e5e2db;}
.tourney-table td:first-child{color:var(--gray);width:45%;}
.tourney-table td:last-child{font-weight:600;}
.reg-detail{background:var(--gray-light);padding:18px 22px;margin:16px 0;font-size:15px;}
.reg-detail li{margin-left:18px;margin-bottom:6px;}

@media (max-width:960px){
  .burger{display:block;}
  .navlinks{
    display:none;
    position:fixed; top:78px; left:0; right:0; bottom:0;
    background:var(--white); flex-direction:column; align-items:stretch;
    padding:10px 0; overflow-y:auto; gap:0; z-index:60;
  }
  .navlinks.open{display:flex;}
  .navlinks > a, .navlinks > .dropdown > button{
    width:100%; text-align:left; padding:16px 24px; border-bottom:1px solid var(--gray-light); font-size:16px;
  }
  .navlinks .btn-register{margin:14px 24px; text-align:center;}
  .dropdown-menu{
    position:static; opacity:1; visibility:visible; transform:none; box-shadow:none;
    border-top:none; background:var(--cream); max-height:0; overflow:hidden; transition:max-height .2s ease;
  }
  .dropdown.open .dropdown-menu{max-height:400px;}
  .dropdown-menu a{padding:14px 40px; color:var(--black); border-bottom:1px solid var(--gray-light);}
  .season-grid,.prog-grid,.strip-grid,.form-row,.ms-grid,.board-grid,.staff-grid,.support-grid{grid-template-columns:1fr;}
}
