:root {
  --navy:#0b1f3a; --blue:#5b9bd5; --lblue:#a8cce8;
  --white:#fff; --gray:#8a8f9a; --dgray:#1e2a3a; --dark:#060f1e;
}
*{margin:0;padding:0;box-sizing:border-box;} html{scroll-behavior:smooth;}
body{font-family:'Barlow',sans-serif;background:var(--navy);color:var(--white);overflow-x:hidden;}

/* UTIL BAR */
.ubar{position:fixed;top:0;left:0;right:0;z-index:101;background:#060f1e;border-bottom:1px solid rgba(91,155,213,0.2);padding:8px 48px;display:flex;align-items:center;justify-content:space-between;font-family:'Barlow Condensed',sans-serif;font-size:13px;height:38px;}
.ubar-l{display:flex;gap:24px;align-items:center;}
.ubar-l a{color:rgba(255,255,255,0.65);text-decoration:none;display:flex;align-items:center;gap:6px;transition:color .2s;}
.ubar-l a:hover{color:var(--blue);}
.ubar-r{display:flex;gap:16px;}
.ubar-r a{color:rgba(255,255,255,0.55);text-decoration:none;font-size:13px;font-weight:600;letter-spacing:1px;text-transform:uppercase;transition:color .2s;}
.ubar-r a:hover{color:var(--blue);}

/* NAV */
nav{position:fixed;top:38px;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:10px 48px;background:rgba(11,31,58,0.97);backdrop-filter:blur(12px);border-bottom:2px solid var(--blue);}
.nlogo{display:flex;align-items:center;gap:12px;text-decoration:none;}
.nlogo img{width:48px;height:48px;object-fit:contain;mix-blend-mode:screen;filter:brightness(1.2);}
.nlogo-txt{font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:2px;color:var(--white);line-height:1.1;}
.nlogo-txt span{color:var(--blue);display:block;font-size:11px;letter-spacing:3px;font-family:'Barlow Condensed',sans-serif;font-weight:600;}
.nlinks{display:flex;gap:4px;list-style:none;align-items:center;}
.nlinks>li{position:relative;}
.nlinks>li>a{font-family:'Barlow Condensed',sans-serif;font-size:14px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--white);text-decoration:none;padding:8px 14px;display:block;transition:color .2s;}
.nlinks>li>a:hover{color:var(--blue);}
.ndrop{display:none;position:absolute;top:100%;left:0;background:#0d1e35;border:1px solid rgba(91,155,213,0.2);border-top:2px solid var(--blue);min-width:200px;z-index:200;}
.ndrop a{display:block;padding:10px 18px;font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:rgba(255,255,255,0.7);text-decoration:none;border-bottom:1px solid rgba(255,255,255,0.05);transition:all .15s;}
.ndrop a:hover{color:var(--white);background:rgba(91,155,213,0.08);padding-left:22px;}
.nlinks>li:hover .ndrop{display:block;}
.ncta{background:var(--blue)!important;color:var(--white)!important;padding:9px 22px!important;clip-path:polygon(6px 0%,100% 0%,calc(100% - 6px) 100%,0% 100%);}
.ncta:hover{background:var(--lblue)!important;color:var(--navy)!important;}

/* BTNs */
.btn{font-family:'Barlow Condensed',sans-serif;font-size:15px;font-weight:700;letter-spacing:2px;text-transform:uppercase;text-decoration:none;color:var(--white);background:var(--blue);padding:14px 36px;clip-path:polygon(7px 0%,100% 0%,calc(100% - 7px) 100%,0% 100%);transition:background .2s,transform .15s;display:inline-block;cursor:pointer;border:none;}
.btn:hover{background:var(--lblue);color:var(--navy);transform:translateY(-2px);}
.btn-out{font-family:'Barlow Condensed',sans-serif;font-size:15px;font-weight:700;letter-spacing:2px;text-transform:uppercase;text-decoration:none;color:var(--blue);border:2px solid var(--blue);padding:12px 36px;clip-path:polygon(7px 0%,100% 0%,calc(100% - 7px) 100%,0% 100%);transition:all .2s;display:inline-block;}
.btn-out:hover{background:var(--blue);color:var(--navy);transform:translateY(-2px);}

/* SECTIONS */
section{padding:88px 48px;}
.eye{font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:600;letter-spacing:4px;text-transform:uppercase;color:var(--blue);margin-bottom:10px;display:flex;align-items:center;gap:8px;}
.eye::before{content:'';display:block;width:24px;height:2px;background:var(--blue);}
.stitle{font-family:'Bebas Neue',sans-serif;font-size:clamp(36px,5vw,64px);line-height:1;letter-spacing:1px;margin-bottom:12px;}
.ssub{font-size:15px;color:rgba(255,255,255,0.52);max-width:540px;line-height:1.75;margin-bottom:44px;}

/* HERO */
#hero{min-height:100vh;display:flex;flex-direction:column;}
.htop{flex:1;display:flex;align-items:center;padding:130px 48px 40px;position:relative;overflow:hidden;}
.hbg{position:absolute;inset:0;background:linear-gradient(135deg,rgba(11,31,58,0.98) 45%,rgba(91,155,213,0.1) 100%),repeating-linear-gradient(-45deg,transparent,transparent 40px,rgba(91,155,213,0.025) 40px,rgba(91,155,213,0.025) 41px);}
.hglow{position:absolute;right:5%;top:50%;transform:translateY(-50%);width:500px;height:500px;background:radial-gradient(circle,rgba(91,155,213,0.15) 0%,transparent 70%);pointer-events:none;}
.hstripe{position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,var(--blue),transparent);}
.hcontent{position:relative;z-index:2;max-width:700px;}
.heye{font-family:'Barlow Condensed',sans-serif;font-size:12px;font-weight:600;letter-spacing:4px;text-transform:uppercase;color:var(--blue);margin-bottom:16px;display:flex;align-items:center;gap:10px;opacity:0;animation:fadeUp .5s ease forwards .15s;}
.heye::before{content:'';display:block;width:32px;height:2px;background:var(--blue);}
.htitle{font-family:'Bebas Neue',sans-serif;font-size:clamp(60px,8.5vw,112px);line-height:.9;letter-spacing:2px;margin-bottom:22px;opacity:0;animation:fadeUp .5s ease forwards .28s;}
.htitle .bl{color:var(--blue);} .htitle .mu{color:rgba(255,255,255,0.35);font-size:.52em;letter-spacing:7px;}
.hsub{font-size:16px;font-weight:300;color:rgba(255,255,255,0.65);max-width:500px;line-height:1.75;margin-bottom:36px;opacity:0;animation:fadeUp .5s ease forwards .42s;}
.hbtns{display:flex;gap:14px;flex-wrap:wrap;opacity:0;animation:fadeUp .5s ease forwards .54s;}
.hstats{display:flex;gap:40px;padding-top:28px;margin-top:28px;border-top:1px solid rgba(91,155,213,0.2);opacity:0;animation:fadeUp .5s ease forwards .66s;flex-wrap:wrap;}
.snum{font-family:'Bebas Neue',sans-serif;font-size:40px;color:var(--blue);line-height:1;}
.slbl{font-family:'Barlow Condensed',sans-serif;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--gray);margin-top:3px;}

/* PROGRAM TILES */
.ptiles{display:grid;grid-template-columns:repeat(3,1fr);}
.ptile{position:relative;overflow:hidden;height:320px;cursor:pointer;text-decoration:none;display:block;}
.ptile img{width:100%;height:100%;object-fit:cover;object-position:center 30%;transition:transform .5s,filter .3s;filter:brightness(.6);}
.ptile:hover img{transform:scale(1.06);filter:brightness(.72);}
.pover{position:absolute;inset:0;background:linear-gradient(to top,rgba(11,31,58,.9) 0%,transparent 60%);display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:36px 24px;transition:background .3s;}
.ptile:hover .pover{background:linear-gradient(to top,rgba(11,31,58,.96) 0%,rgba(11,31,58,.3) 60%,transparent 100%);}
.plbl{font-family:'Bebas Neue',sans-serif;font-size:34px;letter-spacing:2px;color:var(--white);text-align:center;margin-bottom:8px;text-shadow:0 2px 12px rgba(0,0,0,.6);}
.psub{font-family:'Barlow Condensed',sans-serif;font-size:12px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--blue);text-align:center;margin-bottom:16px;}
.pbtn{font-family:'Barlow Condensed',sans-serif;font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;background:var(--blue);color:var(--white);padding:8px 22px;clip-path:polygon(5px 0%,100% 0%,calc(100% - 5px) 100%,0% 100%);opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s;}
.ptile:hover .pbtn{opacity:1;transform:translateY(0);}

/* MISSION */
#mission{background:#0a1828;}
.mgrid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.mtext p{font-size:16px;color:rgba(255,255,255,0.7);line-height:1.8;margin-bottom:18px;}
.mbadges{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px;}
.mbadge{background:rgba(91,155,213,0.08);border:1px solid rgba(91,155,213,0.2);padding:8px 16px;font-family:'Barlow Condensed',sans-serif;font-size:12px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,0.6);}
.mstats{display:grid;grid-template-columns:1fr 1fr;gap:2px;}
.mstat{background:rgba(255,255,255,0.03);border:1px solid rgba(91,155,213,0.1);padding:28px 24px;text-align:center;}
.msnum{font-family:'Bebas Neue',sans-serif;font-size:48px;color:var(--blue);line-height:1;margin-bottom:6px;}
.mslbl{font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--gray);margin-bottom:8px;}
.msdesc{font-size:11px;color:rgba(255,255,255,0.38);line-height:1.5;}

/* GALLERY */
#gallery{background:var(--dgray);padding:88px 48px;}
.ggrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.gitem{position:relative;overflow:hidden;border:1px solid rgba(91,155,213,0.12);cursor:pointer;aspect-ratio:4/3;}
.gitem img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .4s,filter .3s;filter:brightness(.88);}
.gitem:hover img{transform:scale(1.06);filter:brightness(1.02);}
.gover{position:absolute;inset:0;background:linear-gradient(to top,rgba(11,31,58,.78) 0%,transparent 55%);opacity:0;transition:opacity .3s;display:flex;align-items:flex-end;padding:14px;}
.gitem:hover .gover{opacity:1;}
.glbl{font-family:'Barlow Condensed',sans-serif;font-size:12px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--blue);}
.gfeat{grid-column:span 2;aspect-ratio:16/9;}

/* LIGHTBOX */
.lb{display:none;position:fixed;inset:0;background:rgba(0,0,0,.93);z-index:999;align-items:center;justify-content:center;padding:20px;}
.lb.on{display:flex;}
.lb img{max-width:88vw;max-height:85vh;object-fit:contain;border:1px solid rgba(91,155,213,0.2);}
.lbx{position:absolute;top:18px;right:24px;font-size:36px;color:var(--white);cursor:pointer;background:none;border:none;opacity:.6;transition:opacity .2s;}
.lbx:hover{opacity:1;}
.lbn{position:absolute;top:50%;transform:translateY(-50%);font-size:50px;color:var(--white);cursor:pointer;background:none;border:none;padding:8px 16px;opacity:.45;transition:opacity .2s;}
.lbn:hover{opacity:1;}
.lbc{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);font-family:'Barlow Condensed',sans-serif;font-size:13px;letter-spacing:2px;color:rgba(255,255,255,.45);}

/* SCHEDULE */
#schedule{background:var(--navy);}
.sgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:2px;}
.dcard{background:rgba(255,255,255,.03);border:1px solid rgba(91,155,213,.1);padding:28px 24px;transition:all .2s;position:relative;overflow:hidden;}
.dcard::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--blue);transform:scaleX(0);transition:transform .3s;}
.dcard:hover{background:rgba(91,155,213,.06);border-color:rgba(91,155,213,.35);}
.dcard:hover::before{transform:scaleX(1);}
.dname{font-family:'Bebas Neue',sans-serif;font-size:24px;color:var(--blue);margin-bottom:14px;}
.dsesh{border-left:2px solid rgba(91,155,213,.4);padding-left:10px;margin-bottom:10px;}
.dtime{font-family:'Barlow Condensed',sans-serif;font-size:18px;font-weight:700;color:var(--white);}
.dlabel{font-size:12px;color:var(--gray);margin-top:2px;}
.dcard.closed{opacity:.35;}
.dclosed{font-family:'Barlow Condensed',sans-serif;font-size:13px;letter-spacing:2px;color:var(--gray);text-transform:uppercase;line-height:1.6;}

/* MEMBERSHIP */
#membership{background:#0a1828;position:relative;overflow:hidden;}
#membership::before{content:'JOIN';position:absolute;right:-30px;top:50%;transform:translateY(-50%);font-family:'Bebas Neue',sans-serif;font-size:240px;color:rgba(91,155,213,.035);line-height:1;white-space:nowrap;pointer-events:none;}
.mwrap{display:flex;justify-content:center;position:relative;z-index:1;}
.mcard{background:rgba(255,255,255,.04);border:2px solid var(--blue);padding:52px 60px;max-width:580px;width:100%;clip-path:polygon(0 0,100% 0,100% calc(100% - 22px),calc(100% - 22px) 100%,0 100%);text-align:center;}
.mprice{font-family:'Bebas Neue',sans-serif;font-size:88px;color:var(--blue);line-height:1;}
.mpsub{font-family:'Barlow Condensed',sans-serif;font-size:17px;letter-spacing:2px;text-transform:uppercase;color:var(--gray);margin-bottom:32px;}
.mnofee{display:inline-block;background:rgba(91,155,213,.12);border:1px solid rgba(91,155,213,.28);color:var(--blue);font-family:'Barlow Condensed',sans-serif;font-size:12px;font-weight:600;letter-spacing:2px;text-transform:uppercase;padding:5px 14px;margin-bottom:28px;}
.mfeats{list-style:none;margin-bottom:36px;text-align:left;}
.mfeats li{font-size:14px;color:rgba(255,255,255,.75);padding:9px 0;border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:center;gap:9px;}
.mfeats li::before{content:'✓';color:var(--blue);font-weight:700;}

/* COACH */
#bios{background:var(--dgray);}
.cfeat{display:grid;grid-template-columns:290px 1fr;gap:52px;align-items:start;}
.cphoto-wrap{position:relative;}
.cphoto{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top;border:2px solid rgba(91,155,213,.25);}
.cbadge{position:absolute;bottom:-12px;left:50%;transform:translateX(-50%);background:var(--blue);color:var(--white);font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:5px 16px;white-space:nowrap;}
.cname{font-family:'Bebas Neue',sans-serif;font-size:48px;line-height:1;margin-bottom:4px;}
.ctitle{font-family:'Barlow Condensed',sans-serif;font-size:14px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--blue);margin-bottom:24px;}
.creds{display:flex;flex-direction:column;gap:9px;margin-bottom:26px;}
.cred{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;background:rgba(91,155,213,.06);border-left:3px solid var(--blue);}
.credicon{font-size:16px;flex-shrink:0;margin-top:1px;}
.credtxt{font-size:13px;color:rgba(255,255,255,.78);line-height:1.5;}
.credtxt strong{color:var(--white);}
.atitle{font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--blue);margin-bottom:10px;}
.atags{display:flex;flex-wrap:wrap;gap:6px;}
.atag{font-family:'Barlow Condensed',sans-serif;font-size:12px;font-weight:600;background:rgba(255,255,255,.05);border:1px solid rgba(91,155,213,.16);padding:4px 9px;color:rgba(255,255,255,.62);transition:all .15s;}
.atag:hover{border-color:var(--blue);color:var(--white);}

/* CAMPS — EASY EDIT SECTION */
#camps{background:var(--navy);}
.clist{display:flex;flex-direction:column;gap:10px;}
/* =====================================================
   📅 CAMPS — TO EDIT MANUALLY:
   Find each .camp-row div below and change:
   - .camp-name text = camp name
   - .camp-dates text = dates  
   - .camp-info text = duration/location
   - <a href="..."> = registration link
   ===================================================== */
.camp-row{display:grid;grid-template-columns:1.2fr .9fr 1fr auto;align-items:center;gap:20px;padding:22px 26px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-left:4px solid var(--blue);transition:background .2s;}
.camp-row:hover{background:rgba(91,155,213,.05);}
.camp-name{font-family:'Barlow Condensed',sans-serif;font-size:19px;font-weight:700;color:var(--white);}
.camp-name small{display:block;font-size:10px;font-weight:400;letter-spacing:1px;text-transform:uppercase;color:var(--gray);margin-top:2px;}
.camp-dates{font-family:'Bebas Neue',sans-serif;font-size:19px;color:var(--blue);}
.camp-info{font-size:12px;color:var(--gray);line-height:1.5;}

/* TESTIMONIALS */
#testimonials{background:#0a1828;}
.tgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;}
.tcard{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);padding:28px 26px;transition:border-color .2s;}
.tcard:hover{border-color:rgba(91,155,213,.28);}
.tcard.featured{border-color:rgba(196,30,58,.4);background:rgba(196,30,58,.05);}
.qmark{font-family:'Bebas Neue',sans-serif;font-size:64px;color:var(--blue);line-height:.55;margin-bottom:16px;opacity:.38;}
.ttext{font-size:14px;line-height:1.75;color:rgba(255,255,255,.72);font-style:italic;margin-bottom:18px;}
.tauth{display:flex;align-items:center;gap:10px;border-top:1px solid rgba(255,255,255,.06);padding-top:14px;}
.tavatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--navy),var(--blue));display:flex;align-items:center;justify-content:center;font-family:'Bebas Neue',sans-serif;font-size:14px;flex-shrink:0;}
.tname{font-family:'Barlow Condensed',sans-serif;font-size:14px;font-weight:700;color:var(--white);}
.trole{font-size:10px;color:var(--blue);letter-spacing:1px;text-transform:uppercase;}
.tbadge{display:inline-block;background:#c41e3a;font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:3px 10px;margin-bottom:12px;}

/* SHOP */
#shop{background:var(--dgray);text-align:center;position:relative;overflow:hidden;padding:80px 48px;}
#shop::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(91,155,213,.08) 0%,transparent 70%);}
.shopinner{position:relative;z-index:1;max-width:640px;margin:0 auto;}
.shoptitle{font-family:'Bebas Neue',sans-serif;font-size:clamp(44px,6.5vw,76px);line-height:1;letter-spacing:2px;margin-bottom:14px;}
.shoptitle span{color:var(--blue);}
.shopsub{font-size:15px;color:rgba(255,255,255,.56);max-width:440px;margin:0 auto 32px;line-height:1.65;}
.shoptags{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:28px;}
.shoptag{font-family:'Barlow Condensed',sans-serif;font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;background:rgba(91,155,213,.07);border:1px solid rgba(91,155,213,.2);color:rgba(255,255,255,.55);padding:7px 16px;}

/* CONTACT */
#contact{background:var(--navy);}
.cgrid{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:start;}
.citem{display:flex;align-items:flex-start;gap:14px;margin-bottom:22px;}
.cicon{width:40px;height:40px;background:rgba(91,155,213,.09);border:1px solid rgba(91,155,213,.2);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;}
.clabel{font-family:'Barlow Condensed',sans-serif;font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--blue);margin-bottom:3px;}
.cvalue{font-size:14px;color:rgba(255,255,255,.75);line-height:1.5;}
.cvalue a{color:rgba(255,255,255,.75);text-decoration:none;transition:color .2s;}
.cvalue a:hover{color:var(--blue);}
.mapembed{width:100%;height:290px;border:1px solid rgba(91,155,213,.18);}

/* FOOTER */
footer{background:#060f1e;border-top:2px solid var(--blue);padding:52px 48px 28px;}
.fgrid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:36px;}
.flogo{display:flex;align-items:center;gap:12px;margin-bottom:10px;}
.flogo img{width:44px;height:44px;object-fit:contain;mix-blend-mode:screen;filter:brightness(1.2);}
.fbrand{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:2px;color:var(--white);}
.fbrand span{color:var(--blue);}
.ftagline{font-size:12px;color:var(--gray);line-height:1.6;max-width:220px;margin-bottom:14px;}
.fh{font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--blue);margin-bottom:14px;}
.flinks{list-style:none;}
.flinks li{margin-bottom:8px;}
.flinks a{font-size:12px;color:rgba(255,255,255,.48);text-decoration:none;transition:color .2s;}
.flinks a:hover{color:var(--white);}
.fbot{border-top:1px solid rgba(255,255,255,.06);padding-top:20px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;}
.fcopy{font-size:11px;color:var(--gray);}

@keyframes fadeUp{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:translateY(0);}}
@media(max-width:1024px){
  .ggrid{grid-template-columns:repeat(2,1fr);}
  .ptiles{grid-template-columns:1fr;}
  .ptile{height:240px;}
  .ubar{display:none;}
  nav{top:0!important;padding:10px 20px;}
  .nlinks{display:none;}
  .nlogo-txt{display:none;}
  #hero{padding-top:76px;}
  .htop{padding:90px 20px 28px;}
  .mgrid{grid-template-columns:1fr;}
  .cfeat{grid-template-columns:1fr;}
  .cgrid{grid-template-columns:1fr;}
  .fgrid{grid-template-columns:1fr 1fr;}
}
@media(max-width:768px){
  section{padding:64px 20px;}
  #gallery{padding:64px 20px;}
  #shop{padding:64px 20px;}
  .cc-price{grid-template-columns:1fr 1fr;}
  .mcard{padding:32px 22px;}
  footer{padding:40px 20px 24px;}
  .fgrid{grid-template-columns:1fr;}
  .gfeat{grid-column:span 2;}
}
@media(max-width:480px){
  .ggrid{grid-template-columns:1fr 1fr;}
  .gfeat{grid-column:span 2;}
}

/* SKIP LINK & FOCUS */
.skip-link{position:absolute;top:-100px;left:16px;z-index:1000;background:var(--blue);color:var(--navy);padding:10px 16px;font-family:'Barlow Condensed',sans-serif;font-weight:700;text-decoration:none;letter-spacing:1px;}
.skip-link:focus{top:16px;}
a:focus-visible,.btn:focus-visible,.btn-out:focus-visible,button:focus-visible{outline:2px solid var(--lblue);outline-offset:3px;}

/* USAW BADGE LINK */
.mbadge-link{text-decoration:none;transition:background .2s,border-color .2s,color .2s;}
.mbadge-link:hover{background:rgba(91,155,213,.18);border-color:var(--blue);color:var(--white);}
.usaw-note{font-size:13px;color:rgba(255,255,255,.45);margin-top:10px;line-height:1.5;}

/* MOBILE NAV */
.nav-actions{display:none;align-items:center;gap:10px;}
.nav-phone{font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:600;color:rgba(255,255,255,.75);text-decoration:none;letter-spacing:1px;}
.nav-phone:hover{color:var(--blue);}
.nav-toggle{display:none;background:none;border:1px solid rgba(91,155,213,.35);color:var(--white);width:42px;height:42px;cursor:pointer;font-size:22px;line-height:1;border-radius:2px;}
.nav-toggle:hover{border-color:var(--blue);color:var(--blue);}
.mobile-nav{display:none;position:fixed;top:70px;left:0;right:0;bottom:0;background:rgba(6,15,30,.98);z-index:99;padding:24px 20px 40px;overflow-y:auto;border-top:2px solid var(--blue);}
.mobile-nav.open{display:block;}
.mobile-nav a{display:block;font-family:'Barlow Condensed',sans-serif;font-size:16px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.85);text-decoration:none;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.06);}
.mobile-nav a:hover{color:var(--blue);}
.mobile-nav .mcta{margin-top:20px;text-align:center;}

/* NEWS */
#news{background:var(--navy);}
.newsgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;}
.newscard{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);padding:26px 24px;border-left:3px solid var(--blue);}
.newscard.featured{border-left-color:#c41e3a;}
.ndate{font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--blue);margin-bottom:8px;}
.nhead{font-family:'Barlow Condensed',sans-serif;font-size:18px;font-weight:700;color:var(--white);margin-bottom:10px;line-height:1.3;}
.nbody{font-size:14px;color:rgba(255,255,255,.65);line-height:1.75;}

/* RELATED */
#related{background:#0a1828;}
.relintro{font-size:15px;color:rgba(255,255,255,.55);max-width:620px;line-height:1.75;margin-bottom:28px;}
.relgroup{margin-bottom:22px;}
.rellabel{font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--blue);margin-bottom:10px;}

/* CAMPS & CLINICS */
.camp-card,.clinic-row{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-left:4px solid var(--blue);padding:28px 30px;margin-bottom:14px;}
.camp-card.overnight{border-left-color:#c41e3a;}
.clinic-row{border-left-color:var(--lblue);padding:20px 26px;}
.cc-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px;}
.cc-title{font-family:'Barlow Condensed',sans-serif;font-size:22px;font-weight:700;color:var(--white);line-height:1.2;}
.cc-title small{display:block;font-size:11px;font-weight:400;letter-spacing:1px;text-transform:uppercase;color:var(--gray);margin-top:4px;}
.cc-meta{font-family:'Bebas Neue',sans-serif;font-size:20px;color:var(--blue);white-space:nowrap;}
.cc-spots{display:inline-block;font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;background:rgba(91,155,213,.12);border:1px solid rgba(91,155,213,.25);color:var(--lblue);padding:4px 10px;margin-left:10px;vertical-align:middle;}
.cc-body{font-size:14px;color:rgba(255,255,255,.68);line-height:1.75;margin-bottom:16px;}
.cc-body p{margin-bottom:10px;}
.cc-schedule{font-size:13px;color:rgba(255,255,255,.55);margin:12px 0;padding:12px 14px;background:rgba(0,0,0,.15);border-left:2px solid rgba(91,155,213,.35);line-height:1.7;}
.cc-price{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin:16px 0;}
.pricecell{background:rgba(255,255,255,.04);padding:12px;text-align:center;border:1px solid rgba(255,255,255,.05);}
.pricecell strong{display:block;font-family:'Bebas Neue',sans-serif;font-size:26px;color:var(--blue);}
.pricecell span{font-size:10px;color:var(--gray);letter-spacing:1px;text-transform:uppercase;}
.cc-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:16px;}
.camp-pay{margin-top:24px;padding:20px 24px;background:rgba(91,155,213,.06);border:1px solid rgba(91,155,213,.15);font-size:13px;color:rgba(255,255,255,.6);line-height:1.7;}
.camp-pay strong{color:var(--white);}

/* GALLERY BUTTONS */
button.gitem{font-family:inherit;color:inherit;width:100%;padding:0;text-align:left;border:none;background:transparent;display:block;}
.gitem img[loading=lazy]{background:rgba(255,255,255,.03);}

/* LIGHTBOX A11Y */
.lb[aria-hidden=false]{display:flex;}

@media(max-width:1024px){
  .nav-actions{display:flex;}
  .nav-toggle{display:block;}
  .ncta-mobile{display:inline-block!important;font-size:12px!important;padding:8px 14px!important;}
  .camp-card,.clinic-row{padding:22px 18px;}
  .cc-head{flex-direction:column;}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .heye,.htitle,.hsub,.hbtns,.hstats{animation:none!important;opacity:1!important;}
}
