/* ============================================================
   RAZIN HAVOC — Design System
   Storm navy / electric blue / white. Mobile-first.
   ============================================================ */
:root{
  --bg:#04060f;
  --bg2:#0a0f24;
  --panel:rgba(17,26,58,.55);
  --panel-solid:#0d1430;
  --line:rgba(122,163,255,.18);
  --line-strong:rgba(122,163,255,.35);
  --blue:#2e6bff;
  --blue-hi:#66a3ff;
  --ice:#cfe0ff;
  --white:#f4f7ff;
  --muted:#93a4cc;
  --gold:#ffb54d;
  --green:#1fb861;
  --green-hi:#2fd47a;
  --amber:#f59e0b;
  --radius:14px;
  --shadow:0 10px 40px rgba(0,0,0,.45);
  --glow:0 0 24px rgba(46,107,255,.45);
  --font-d:"Barlow Condensed",sans-serif;
  --font-b:"Barlow",sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;color-scheme:dark}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
body{
  background:var(--bg);
  color:var(--white);
  font-family:var(--font-b);
  font-size:17px;line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:var(--blue-hi);text-decoration:none}
.container{width:min(1160px,92%);margin:0 auto}

/* ---------- Typography ---------- */
h1,h2,h3,.display{
  font-family:var(--font-d);
  font-weight:800;text-transform:uppercase;
  letter-spacing:.5px;line-height:1.05;
}
h1{font-size:clamp(2.6rem,9vw,4.8rem)}
h2{font-size:clamp(2rem,6vw,3.2rem)}
h3{font-size:clamp(1.3rem,4vw,1.7rem)}
.eyebrow{
  font-family:var(--font-d);font-weight:600;
  text-transform:uppercase;letter-spacing:3px;
  color:var(--blue-hi);font-size:.95rem;
  display:inline-flex;align-items:center;gap:.6rem;
}
.eyebrow:before{content:"";width:26px;height:2px;background:linear-gradient(90deg,var(--blue),transparent)}
.spark{ /* electric word treatment */
  background:linear-gradient(100deg,#8db6ff 0%,#e8f1ff 45%,#4d8dff 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 14px rgba(77,141,255,.55));
}
.lead{color:var(--ice);font-size:1.1rem;max-width:64ch}
p{color:var(--muted)}
section{padding:5rem 0;position:relative}
.section-head{margin-bottom:2.6rem;max-width:720px}
.section-head p{margin-top:.8rem}

/* ---------- Voltage rail (signature divider) ---------- */
.rail{height:2px;width:100%;position:relative;overflow:hidden;
  background:linear-gradient(90deg,transparent,rgba(46,107,255,.35),transparent)}
.rail:after{content:"";position:absolute;top:0;left:-30%;width:30%;height:100%;
  background:linear-gradient(90deg,transparent,#9cc2ff,transparent);
  animation:railrun 4.5s linear infinite}
@keyframes railrun{to{left:130%}}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-family:var(--font-d);font-weight:700;text-transform:uppercase;
  letter-spacing:1.5px;font-size:1.05rem;
  padding:.95rem 2rem;border-radius:10px;border:1px solid transparent;
  cursor:pointer;transition:transform .18s,box-shadow .18s,background .18s;
  min-height:48px;
}
.btn:active{transform:scale(.97)}
.btn-primary{background:linear-gradient(135deg,#2e6bff,#1e4fd6);color:#fff;box-shadow:var(--glow)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 0 34px rgba(46,107,255,.65)}
.btn-ghost{background:rgba(255,255,255,.04);color:var(--white);border-color:var(--line-strong);backdrop-filter:blur(6px)}
.btn-ghost:hover{border-color:var(--blue-hi);transform:translateY(-2px)}
.btn-donate{background:linear-gradient(135deg,#3f8cff,#1768ff);color:#fff;box-shadow:0 0 24px rgba(46,107,255,.35)}
.btn-donate:hover{transform:translateY(-2px);box-shadow:0 0 34px rgba(46,107,255,.55)}
.btn-amber{background:linear-gradient(135deg,#ffc86b,var(--amber));color:#211200}
.btn-amber:hover{transform:translateY(-2px);box-shadow:0 0 26px rgba(245,158,11,.4)}
.btn-lg{padding:1.15rem 2.6rem;font-size:1.2rem}

/* ---------- Nav ---------- */
.nav{
  position:sticky;top:0;z-index:100;
  background:rgba(4,6,15,.78);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:70px}
.logo{font-family:var(--font-d);font-weight:800;font-size:1.7rem;letter-spacing:1px;color:var(--white);display:flex;align-items:center;gap:.55rem}
.logo .bolt{color:var(--blue-hi);filter:drop-shadow(0 0 8px rgba(77,141,255,.8))}
.logo em{font-style:normal;color:var(--blue-hi)}
.nav-links{display:none;list-style:none;align-items:center;gap:1.7rem}
.nav-links a{color:var(--ice);font-family:var(--font-d);font-weight:600;text-transform:uppercase;letter-spacing:1.5px;font-size:1rem;padding:.4rem 0;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}
.nav-links a:hover,.nav-links a.active{color:#fff;border-color:var(--blue)}
.dropdown{position:relative}
.dropdown>a:after{content:"▾";margin-left:.35rem;font-size:.8em}
.dropdown-menu{
  position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%) translateY(6px);
  min-width:180px;background:rgba(10,15,36,.95);backdrop-filter:blur(14px);
  border:1px solid var(--line-strong);border-radius:12px;padding:.5rem;
  list-style:none;opacity:0;visibility:hidden;transition:.18s;box-shadow:var(--shadow)
}
.dropdown:hover .dropdown-menu,.dropdown:focus-within .dropdown-menu,.dropdown.open .dropdown-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.dropdown-menu a{display:block;padding:.6rem .9rem;border-radius:8px;border:0}
.dropdown-menu a:hover{background:rgba(46,107,255,.15)}
.nav-cta{display:none;gap:.7rem}
.hamburger{background:none;border:1px solid var(--line-strong);border-radius:8px;color:var(--white);font-size:1.3rem;padding:.35rem .7rem;cursor:pointer}
.mobile-menu{display:none;border-top:1px solid var(--line);padding:1rem 0 1.4rem;background:rgba(4,6,15,.97)}
.mobile-menu.show{display:block}
.mobile-menu a{display:block;padding:.85rem 4%;color:var(--ice);font-family:var(--font-d);font-weight:600;text-transform:uppercase;letter-spacing:1.5px;font-size:1.15rem}
.mobile-menu a:hover{background:rgba(46,107,255,.12);color:#fff}
.mobile-menu .sub{padding-left:2rem;font-size:1rem;color:var(--muted)}
@media(min-width:960px){
  .nav-links{display:flex}
  .nav-cta{display:flex}
  .hamburger{display:none}
}

/* ---------- Hero (storm energy, pure CSS) ---------- */
.hero{
  position:relative;overflow:hidden;
  padding:6.5rem 0 5.5rem;text-align:left;
  background:
    radial-gradient(1000px 500px at 78% 12%,rgba(46,107,255,.28),transparent 60%),
    radial-gradient(700px 420px at 12% 85%,rgba(30,70,180,.22),transparent 60%),
    radial-gradient(420px 260px at 62% 55%,rgba(120,170,255,.12),transparent 65%),
    linear-gradient(180deg,#070b1c 0%,var(--bg) 100%);
}
.hero:before{ /* fine noise-ish grid to give the dark texture */
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(122,163,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(122,163,255,.05) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(700px 500px at 70% 30%,#000 30%,transparent 75%);
  pointer-events:none;
}
.hero-bolt{
  position:absolute;right:-4%;top:-8%;width:min(560px,60vw);height:120%;
  opacity:.85;pointer-events:none;filter:drop-shadow(0 0 30px rgba(77,141,255,.5));
  animation:flicker 7s infinite;
}
@keyframes flicker{
  0%,100%{opacity:.75}45%{opacity:.85}47%{opacity:.35}49%{opacity:.9}
  52%{opacity:.7}80%{opacity:.8}82%{opacity:.4}84%{opacity:.85}
}
.hero .container{position:relative;z-index:2}
.hero .tagline{color:var(--ice);font-family:var(--font-d);font-weight:600;letter-spacing:2px;text-transform:uppercase;margin-top:1.1rem}
.hero .lead{margin:1.2rem 0 2rem}
.hero-cta{display:flex;flex-wrap:wrap;gap:.9rem}

/* ---------- Cards ---------- */
.grid{display:grid;gap:1.2rem}
.grid-2{grid-template-columns:1fr}
.grid-3{grid-template-columns:1fr}
.card{
  background:var(--panel);border:1px solid var(--line);
  border-radius:var(--radius);padding:1.6rem;
  backdrop-filter:blur(10px);box-shadow:var(--shadow);
  transition:transform .2s,border-color .2s,box-shadow .2s;
}
.card:hover{transform:translateY(-4px);border-color:var(--line-strong);box-shadow:0 14px 44px rgba(0,0,0,.55),0 0 0 1px rgba(77,141,255,.15)}
.card h3{margin-bottom:.5rem}
.card .icon{font-size:1.9rem;margin-bottom:.7rem;display:block;filter:drop-shadow(0 0 10px rgba(77,141,255,.4))}
@media(min-width:640px){.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:1fr 1fr}}
@media(min-width:960px){.grid-3{grid-template-columns:repeat(3,1fr)}}

/* Stats strip */
.stats{background:linear-gradient(180deg,var(--bg) 0%,#070c1e 100%)}
.stat{
  text-align:center;padding:1.3rem .8rem;background:var(--panel);
  border:1px solid var(--line);border-radius:var(--radius);backdrop-filter:blur(8px);
}
.stat .icon{font-size:1.7rem}
.stat b{display:block;font-family:var(--font-d);font-weight:700;font-size:1.15rem;letter-spacing:1px;text-transform:uppercase;margin-top:.35rem;color:var(--ice)}
.stats .grid{grid-template-columns:repeat(2,1fr)}
@media(min-width:720px){.stats .grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1024px){.stats .grid{grid-template-columns:repeat(6,1fr)}}

/* Program cards */
.program{overflow:hidden;padding:0;display:flex;flex-direction:column}
.program .thumb{
  aspect-ratio:16/9;position:relative;display:flex;align-items:flex-end;padding:1rem;
  background:
    radial-gradient(300px 160px at 70% 20%,rgba(77,141,255,.5),transparent 70%),
    linear-gradient(150deg,#16235a,#080d22);
}
.program .thumb span{
  font-family:var(--font-d);font-weight:800;font-size:2rem;text-transform:uppercase;
  letter-spacing:1px;text-shadow:0 2px 14px rgba(0,0,0,.7);
}
.program .body{padding:1.3rem 1.4rem 1.5rem;display:flex;flex-direction:column;gap:.9rem;flex:1}
.program .body p{flex:1}
.program .actions{display:flex;gap:.6rem;flex-wrap:wrap}
.program .actions .btn{padding:.65rem 1.2rem;font-size:.95rem}

/* Testimonials */
.stars{color:var(--gold);letter-spacing:3px;font-size:1.05rem;margin-bottom:.7rem;filter:drop-shadow(0 0 6px rgba(255,181,77,.35))}
.quote{font-size:1.08rem;color:var(--ice);font-style:italic}
.quote-by{margin-top:.9rem;font-family:var(--font-d);text-transform:uppercase;letter-spacing:1.5px;color:var(--muted);font-size:.9rem}

/* Donation */
.donate-section{
  background:
    radial-gradient(800px 400px at 50% 0%,rgba(31,184,97,.12),transparent 65%),
    linear-gradient(180deg,#070c1e,var(--bg));
  text-align:center;
}
.donate-section .section-head{margin-left:auto;margin-right:auto}
.impact{padding:1.6rem 1.2rem;text-align:center}
.donate-section .impact .amount{font-family:var(--font-d);font-weight:800;font-size:2.4rem;color:#3f8cff;filter:drop-shadow(0 0 12px rgba(46,107,255,.4))}
.impact p{margin-top:.4rem}
.donate-grid{grid-template-columns:repeat(2,1fr)}
@media(min-width:960px){.donate-grid{grid-template-columns:repeat(4,1fr)}}

/* Timeline */
.timeline{list-style:none;position:relative;padding-left:1.6rem}
.timeline:before{content:"";position:absolute;left:6px;top:6px;bottom:6px;width:2px;background:linear-gradient(180deg,var(--blue),transparent)}
.timeline li{position:relative;padding:0 0 1.6rem 1rem}
.timeline li:before{content:"";position:absolute;left:-1.6rem;top:.45rem;width:14px;height:14px;border-radius:50%;background:var(--bg);border:3px solid var(--blue-hi);box-shadow:0 0 12px rgba(77,141,255,.6)}
.timeline b{display:block;font-family:var(--font-d);text-transform:uppercase;letter-spacing:1.5px;font-size:1.15rem;color:var(--ice)}

/* Age groups */
.ages{grid-template-columns:repeat(2,1fr)}
@media(min-width:900px){.ages{grid-template-columns:repeat(3,1fr)}}
.age{text-align:center;padding:1.6rem 1rem}
.age .u{font-family:var(--font-d);font-weight:800;font-size:2.3rem;color:var(--blue-hi);filter:drop-shadow(0 0 12px rgba(77,141,255,.5))}

/* FAQ accordion */
.faq{max-width:820px;margin:0 auto}
.faq-item{border:1px solid var(--line);border-radius:12px;background:var(--panel);margin-bottom:.8rem;overflow:hidden;backdrop-filter:blur(8px)}
.faq-q{width:100%;background:none;border:0;color:var(--white);cursor:pointer;
  display:flex;justify-content:space-between;align-items:center;gap:1rem;
  font-family:var(--font-d);font-weight:700;font-size:1.15rem;text-transform:uppercase;letter-spacing:1px;
  padding:1.1rem 1.3rem;text-align:left;min-height:48px}
.faq-q:after{content:"+";font-size:1.5rem;color:var(--blue-hi);transition:transform .2s}
.faq-item.open .faq-q:after{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .25s ease;padding:0 1.3rem}
.faq-item.open .faq-a{max-height:300px;padding-bottom:1.2rem}

/* CTA band */
.cta-band{
  text-align:center;
  background:
    radial-gradient(700px 320px at 50% 100%,rgba(46,107,255,.25),transparent 70%),
    linear-gradient(180deg,var(--bg),#070c1e);
}
.cta-band h2{margin-bottom:.8rem}
.cta-band .hero-cta{justify-content:center;margin-top:1.6rem}

/* Media page */
.video-thumb{position:relative;aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(300px 170px at 60% 30%,rgba(77,141,255,.45),transparent 70%),linear-gradient(150deg,#141f4e,#070c1e);
  border:1px solid var(--line);transition:transform .2s,border-color .2s}
.video-thumb:hover{transform:translateY(-4px);border-color:var(--blue-hi)}
.play{width:64px;height:64px;border-radius:50%;background:rgba(46,107,255,.9);display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:#fff;box-shadow:var(--glow)}
.video-thumb figcaption{position:absolute;left:1rem;bottom:.8rem;font-family:var(--font-d);font-weight:700;text-transform:uppercase;letter-spacing:1px;text-shadow:0 2px 10px rgba(0,0,0,.8)}
.gallery{grid-template-columns:repeat(2,1fr)}
@media(min-width:800px){.gallery{grid-template-columns:repeat(4,1fr)}}
.ph{aspect-ratio:1;border-radius:12px;border:1px solid var(--line);
  background:radial-gradient(160px 120px at 60% 30%,rgba(77,141,255,.35),transparent 70%),linear-gradient(160deg,#121c46,#070b1c);
  display:flex;align-items:center;justify-content:center;color:var(--muted);font-family:var(--font-d);text-transform:uppercase;letter-spacing:1.5px;font-size:.85rem}

/* Contact */
.contact-grid{grid-template-columns:1fr}
@media(min-width:960px){.contact-grid{grid-template-columns:1.1fr .9fr}}
.contact-list{list-style:none;display:grid;gap:.9rem}
.contact-list li{display:flex;gap:.9rem;align-items:flex-start}
.contact-list .icon{font-size:1.3rem;margin-top:.15rem}
.contact-list b{font-family:var(--font-d);text-transform:uppercase;letter-spacing:1.5px;color:var(--ice)}
form label{display:block;font-family:var(--font-d);text-transform:uppercase;letter-spacing:1.5px;font-size:.95rem;color:var(--ice);margin:1rem 0 .35rem}
form select,form select option{background-color:#0d1430;color:#f4f7ff}
form input,form select,form textarea{
  width:100%;background:rgba(255,255,255,.045);border:1px solid var(--line-strong);
  border-radius:10px;color:var(--white);padding:.85rem 1rem;font-family:var(--font-b);font-size:1rem;min-height:48px}
form textarea{min-height:130px;resize:vertical}
form input:focus,form select:focus,form textarea:focus{outline:2px solid var(--blue);outline-offset:1px}
.map{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-top:2.5rem}
.map iframe{width:100%;height:340px;border:0;display:block;filter:saturate(.7) contrast(1.05)}

/* Footer */
footer{border-top:1px solid var(--line);background:#03040c;padding:3.5rem 0 7rem}
@media(min-width:960px){footer{padding-bottom:3.5rem}}
.footer-grid{display:grid;gap:2rem;grid-template-columns:1fr}
@media(min-width:800px){.footer-grid{grid-template-columns:1.2fr 1fr 1fr 1fr}}
footer h4{font-family:var(--font-d);text-transform:uppercase;letter-spacing:2px;font-size:1.05rem;color:var(--ice);margin-bottom:.9rem}
footer ul{list-style:none;display:grid;gap:.5rem}
footer a{color:var(--muted)}
footer a:hover{color:var(--blue-hi)}
.copyright{margin-top:2.5rem;padding-top:1.4rem;border-top:1px solid var(--line);color:var(--muted);font-size:.9rem;display:flex;flex-wrap:wrap;gap:.6rem;justify-content:space-between}

/* Sticky mobile CTA bar */
.sticky-cta{
  position:fixed;left:0;right:0;bottom:0;z-index:99;
  display:grid;grid-template-columns:1fr 1fr;gap:.6rem;
  padding:.7rem 4% calc(.7rem + env(safe-area-inset-bottom));
  background:rgba(4,6,15,.92);backdrop-filter:blur(14px);
  border-top:1px solid var(--line-strong);
  transform:translateY(110%);transition:transform .25s;
}
.sticky-cta.show{transform:translateY(0)}
.sticky-cta .btn{width:100%;padding:.8rem .5rem;font-size:1rem}
@media(min-width:960px){.sticky-cta{display:none}}

/* Scroll reveal */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .55s ease,transform .55s ease}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}

/* Utility */
.mt-2{margin-top:2rem}.mt-3{margin-top:3rem}
.center{text-align:center}
.badge{display:inline-block;font-family:var(--font-d);font-weight:700;text-transform:uppercase;letter-spacing:1.5px;font-size:.85rem;color:var(--blue-hi);border:1px solid var(--line-strong);border-radius:999px;padding:.25rem .9rem;background:rgba(46,107,255,.08)}
:focus-visible{outline:2px solid var(--blue-hi);outline-offset:2px}

/* Logo image */
.logo img{height:44px;width:auto;display:block;filter:drop-shadow(0 0 10px rgba(77,141,255,.35))}
footer .logo img{height:56px}

.ph img,img.ph{object-fit:cover;width:100%;height:100%}
.photo-frame{border-radius:var(--radius);border:1px solid var(--line);overflow:hidden}
.photo-frame img{width:100%;height:100%;object-fit:cover;display:block}

.photo-frame a{display:block;width:100%;height:100%}
.photo-frame a img{width:100%;height:100%;object-fit:cover;display:block;cursor:pointer;transition:transform .25s}
.photo-frame a:hover img{transform:scale(1.04)}

/* ===== Bottom Tab Bar (mobile app feel) ===== */
.tabbar{
  position:fixed;left:0;right:0;bottom:0;z-index:120;
  display:grid;grid-template-columns:repeat(6,1fr);
  background:rgba(4,6,15,.94);backdrop-filter:blur(16px);
  border-top:1px solid var(--line-strong);
  padding-bottom:env(safe-area-inset-bottom);
}
.tabbar a{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  padding:.5rem 0 .45rem;color:var(--muted);font-family:var(--font-d);
  text-transform:uppercase;letter-spacing:.5px;font-size:.62rem;font-weight:600;
  border:0;min-height:56px;transition:color .15s;
}
.tabbar a svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.tabbar a.active{color:var(--blue-hi)}
.tabbar a.active svg{filter:drop-shadow(0 0 6px rgba(77,141,255,.6))}
@media(min-width:960px){.tabbar{display:none}}


/* give mobile content room above the tab bar */
@media(max-width:959px){
  body{padding-bottom:64px}
  footer{padding-bottom:5rem}
}

/* ===== Board lightbox ===== */
.lightbox{
  position:fixed;inset:0;z-index:200;display:none;
  align-items:center;justify-content:center;padding:5vw;
  background:rgba(2,4,10,.9);backdrop-filter:blur(6px);
}
.lightbox.open{display:flex}
.lightbox-inner{max-width:420px;width:100%;text-align:center}
.lightbox img{width:100%;border-radius:var(--radius);border:1px solid var(--line-strong);box-shadow:var(--shadow)}
.lightbox h3{margin-top:1rem}
.lightbox p{margin-top:.2rem;font-family:var(--font-d);text-transform:uppercase;letter-spacing:1.5px;color:var(--blue-hi)}
.lightbox-close{
  position:absolute;top:calc(1rem + env(safe-area-inset-top));right:1.2rem;
  width:44px;height:44px;border-radius:50%;border:1px solid var(--line-strong);
  background:rgba(255,255,255,.06);color:#fff;font-size:1.4rem;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
}

/* board thumbnails */
#board .grid-3{grid-template-columns:repeat(2,1fr);gap:.8rem}
@media(min-width:700px){#board .grid-3{grid-template-columns:repeat(3,1fr)}}
.board-card{position:relative}
.board-card .photo-frame{aspect-ratio:3/4}
.board-card .photo-frame img{transition:transform .25s}
.board-card:active .photo-frame img{transform:scale(.97)}
.board-card:after{
  content:"⤢";position:absolute;top:.5rem;right:.5rem;
  width:26px;height:26px;border-radius:50%;
  background:rgba(4,6,15,.7);color:var(--blue-hi);
  display:flex;align-items:center;justify-content:center;font-size:.9rem;
  border:1px solid var(--line-strong);
}
.board-card h3{font-size:1rem!important}
.board-card p{font-size:.8rem!important}
.board-card > div{padding:.7rem .6rem .9rem!important}

/* ============================================================
   PREMIUM 10/10 PASS — editorial sports-brand finish
   ============================================================ */
:root{
  --electric:#4f8cff;
  --electric-2:#8db6ff;
  --surface:rgba(11,18,43,.72);
  --surface-2:rgba(18,28,62,.82);
  --radius-xl:22px;
}
::selection{background:rgba(79,140,255,.45);color:#fff}
body{background:radial-gradient(900px 500px at 85% -10%,rgba(46,107,255,.09),transparent 60%),var(--bg)}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.18;background-image:radial-gradient(rgba(255,255,255,.8) .6px,transparent .6px);background-size:5px 5px;mix-blend-mode:soft-light}
.nav{box-shadow:0 12px 40px rgba(0,0,0,.24)}
.nav-inner{height:78px}
.logo img{filter:drop-shadow(0 0 16px rgba(79,140,255,.28));transition:transform .25s ease}
.logo:hover img{transform:scale(1.04)}
.hero{min-height:680px;display:flex;align-items:center;padding:7rem 0 6rem;background:
 radial-gradient(700px 520px at 80% 45%,rgba(46,107,255,.32),transparent 68%),
 linear-gradient(100deg,rgba(4,6,15,.98) 0%,rgba(4,6,15,.82) 48%,rgba(4,6,15,.48) 100%),
 url('../img/bluestorm-2026.jpg') 82% 38%/auto 115% no-repeat,
 linear-gradient(180deg,#09102b,#04060f)}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0 55%,rgba(46,107,255,.08) 75%,transparent);pointer-events:none}
.hero h1{max-width:760px;font-size:clamp(3.4rem,8vw,6.8rem);text-shadow:0 8px 45px rgba(0,0,0,.55)}
.hero .lead{font-size:1.2rem;max-width:680px;color:#d8e5ff}
.badge{display:inline-flex;align-items:center;gap:.45rem;border:1px solid rgba(141,182,255,.28);background:rgba(9,16,39,.62);box-shadow:0 8px 30px rgba(0,0,0,.2);backdrop-filter:blur(12px);border-radius:999px;padding:.5rem .9rem;font-family:var(--font-d);font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:#d9e6ff}
.hero-cta .btn{border-radius:12px}
.hero-cta .btn-primary{box-shadow:0 10px 35px rgba(46,107,255,.32),inset 0 1px rgba(255,255,255,.2)}
section{padding:6.5rem 0}
.section-head{max-width:800px}
.section-head h2{font-size:clamp(2.5rem,6vw,4rem)}
.section-head p{font-size:1.08rem}
.stats{position:relative;margin-top:-1px}
.stats .stat{min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:18px;background:linear-gradient(145deg,rgba(18,29,66,.75),rgba(8,13,31,.72));box-shadow:0 12px 35px rgba(0,0,0,.22)}
.stats .stat:hover{transform:translateY(-5px);border-color:rgba(102,163,255,.45);box-shadow:0 16px 42px rgba(0,0,0,.32),0 0 25px rgba(46,107,255,.1)}
.card{border-radius:18px;background:linear-gradient(145deg,rgba(18,28,62,.68),rgba(8,13,31,.72));box-shadow:0 16px 45px rgba(0,0,0,.28);border-color:rgba(122,163,255,.16)}
.card:hover{transform:translateY(-7px);border-color:rgba(102,163,255,.48);box-shadow:0 22px 55px rgba(0,0,0,.4),0 0 30px rgba(46,107,255,.12)}
.photo-frame{border-radius:22px!important;border-color:rgba(102,163,255,.22)!important;box-shadow:0 22px 55px rgba(0,0,0,.35);overflow:hidden}
.photo-frame img{transition:transform .6s cubic-bezier(.2,.7,.2,1);width:100%;height:100%;object-fit:cover}
.photo-frame:hover img{transform:scale(1.045)}
#programs{background:linear-gradient(180deg,#070c1e,#04060f)}
.program .thumb{min-height:235px;background-size:cover;background-position:center;position:relative;isolation:isolate}
.program .thumb:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 20%,rgba(3,6,18,.88) 100%);z-index:-1}
.program .thumb span{position:relative;z-index:2;font-size:2.25rem}
.program:nth-child(1) .thumb{background-image:url('../img/bluestorm-2026.jpg')}
.program:nth-child(2) .thumb{background-image:url('../img/cheer-trophies.jpg')}
.program:nth-child(3) .thumb{background-image:url('../img/basketball-team.jpg')}
.program:nth-child(4) .thumb{background-image:url('../img/baseball-team.jpg')}
.program:nth-child(5) .thumb{background-image:url('../img/soccer-action.jpg')}
.program:nth-child(6) .thumb{background-image:url('../img/lady-havoc-champs.jpg')}
.program .body{background:linear-gradient(180deg,rgba(14,22,49,.82),rgba(7,11,28,.94))}
.program .actions{margin-top:auto}
.program .actions .btn{flex:1}
.cta-band{overflow:hidden}
.cta-band:before{content:"";position:absolute;width:500px;height:500px;border-radius:50%;background:rgba(46,107,255,.13);filter:blur(30px);left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none}
footer{background:#02040a!important;border-top:1px solid rgba(122,163,255,.15);padding-top:4rem}
.footer-grid{gap:3rem!important}
.copyright{margin-top:3rem!important;padding:1.2rem 0!important;border-top:1px solid rgba(122,163,255,.12)!important}
.tabbar{box-shadow:0 -12px 35px rgba(0,0,0,.3)!important;border-top-color:rgba(122,163,255,.2)!important}
@media(max-width:959px){
  body{padding-bottom:72px}
  .hero{min-height:620px;background-position:70% 30%;background-size:auto 95%}
  .hero h1{font-size:clamp(3rem,13vw,5rem)}
  .hero .container{padding-top:1rem}
}
@media(max-width:639px){
  section{padding:4.7rem 0}
  .hero{padding:5rem 0 4.5rem;min-height:650px;background-position:78% 32%;background-size:auto 85%}
  .hero:before{background:linear-gradient(90deg,rgba(4,6,15,.97),rgba(4,6,15,.7))}
  .hero-cta{display:grid;grid-template-columns:1fr}
  .hero-cta .btn{width:100%}
  .program .thumb{min-height:205px}
  .section-head{margin-bottom:2rem}
}

/* ============================================================
   SITE SEARCH — fast navigation for parents & families
   ============================================================ */
.site-search{position:relative;display:flex;align-items:center;z-index:60}
.site-search-form{display:flex;align-items:center;gap:.45rem;width:220px;height:42px;padding:0 .65rem;border:1px solid rgba(141,182,255,.24);border-radius:12px;background:rgba(7,12,30,.72);box-shadow:inset 0 1px rgba(255,255,255,.04),0 8px 24px rgba(0,0,0,.18);backdrop-filter:blur(12px);transition:.2s ease}
.site-search-form:focus-within{width:270px;border-color:rgba(141,182,255,.62);box-shadow:0 0 0 3px rgba(79,140,255,.12),0 10px 30px rgba(0,0,0,.24)}
.site-search-icon{width:18px;height:18px;display:grid;place-items:center;opacity:.8;line-height:1;flex:0 0 18px}.site-search-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.site-search-input{width:100%;border:0;outline:0;background:transparent;color:#fff;font:600 .86rem var(--font-d);letter-spacing:.8px;text-transform:uppercase}
.site-search-input::placeholder{color:#aab9d8;opacity:1}
.site-search-results{position:absolute;right:0;top:calc(100% + .6rem);width:min(360px,calc(100vw - 2rem));padding:.45rem;border:1px solid rgba(141,182,255,.2);border-radius:16px;background:rgba(4,7,18,.97);box-shadow:0 24px 60px rgba(0,0,0,.5);backdrop-filter:blur(18px);display:none;overflow:hidden}
.site-search-results.show{display:block}
.search-result{display:block;padding:.75rem .8rem;border-radius:11px;color:#fff;text-decoration:none}
.search-result:hover,.search-result:focus-visible{background:rgba(79,140,255,.14);outline:0}
.search-result strong{display:block;font:800 1rem var(--font-d);text-transform:uppercase;letter-spacing:.8px}
.search-result span{display:block;margin-top:.18rem;color:#aebddd;font-size:.78rem}
.search-empty{padding:.85rem;color:#aebddd;font-size:.85rem}
.search-kicker{display:block;margin-bottom:.2rem;color:var(--blue-hi);font:800 .68rem var(--font-d);letter-spacing:1.4px;text-transform:uppercase}
.mobile-search{display:none}


/* Team cards — make individual Instagram-connected squads obvious and tappable. */
.team-card{position:relative;text-decoration:none;color:inherit;cursor:pointer;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;background:linear-gradient(145deg,rgba(13,23,52,.92),rgba(6,10,27,.96))}
.team-card:hover{transform:translateY(-5px);border-color:rgba(105,160,255,.68);box-shadow:0 18px 42px rgba(20,65,160,.22),0 0 0 1px rgba(105,160,255,.12) inset}
.team-card:focus-visible{outline:3px solid rgba(141,182,255,.8);outline-offset:3px}
.team-social{position:absolute;top:.8rem;right:.85rem;padding:.28rem .55rem;border:1px solid rgba(141,182,255,.28);border-radius:999px;background:rgba(5,9,22,.7);color:#9fc0ff;font:800 .62rem var(--font-d);letter-spacing:1px;text-transform:uppercase;opacity:.92}
.team-instagram .u{margin-top:.35rem}
@media(max-width:639px){
  .mobile-search-top{display:block!important;padding:.65rem 1rem .7rem;border-top:1px solid rgba(122,163,255,.12);border-bottom:1px solid rgba(122,163,255,.14);background:rgba(3,7,18,.94);z-index:55}
  .mobile-search-top .site-search-form{width:100%;height:46px;border-radius:13px}
  .mobile-search-top .site-search-results{position:absolute;left:1rem;right:1rem;top:calc(100% + .35rem);width:auto;margin:0}
  .mobile-menu .mobile-search{display:none!important}
}
@media(min-width:640px){.mobile-search-top{display:none!important}}

/* 2026 game schedule */
.schedule-list{display:grid;gap:.75rem;max-width:900px;margin:2rem auto 0}
.schedule-row{display:grid;grid-template-columns:145px 1fr;align-items:center;gap:1.25rem;padding:1rem 1.15rem;border:1px solid rgba(122,163,255,.15);border-radius:16px;background:linear-gradient(110deg,rgba(18,28,62,.78),rgba(7,11,28,.84));box-shadow:0 10px 28px rgba(0,0,0,.2)}
.schedule-row:hover{border-color:rgba(102,163,255,.42);transform:translateX(4px)}
.schedule-date{display:flex;align-items:baseline;gap:.45rem;padding-right:1rem;border-right:1px solid rgba(122,163,255,.16)}
.schedule-date b{font:800 1.45rem var(--font-d);letter-spacing:1px;color:#fff}
.schedule-date span{font:700 .72rem var(--font-d);letter-spacing:1.2px;color:#8ea7d1}
.schedule-row>div:last-child{display:flex;flex-direction:column;gap:.18rem}
.schedule-row strong{font:800 1.35rem var(--font-d);text-transform:uppercase;letter-spacing:.7px}
.schedule-row>div:last-child>span{font:800 .72rem var(--font-d);letter-spacing:1.5px;color:var(--blue-hi)}
.schedule-row small{margin-top:.15rem;color:#c9d5ea;font-size:.82rem}
.schedule-row.featured{border-color:rgba(255,193,74,.38);background:linear-gradient(110deg,rgba(47,34,12,.72),rgba(11,17,39,.9))}
.schedule-row.featured>div:last-child>span{color:var(--gold)}
.event-meta{display:block;margin-top:.75rem;color:#9fb0ce;font-size:.78rem;line-height:1.45}

/* ---------- Desktop header: deliberate breathing room ---------- */
@media(min-width:960px) and (max-width:1199px){
  .nav-inner{gap:0;align-items:center}
  .logo{flex:0 0 auto;margin-right:1.15rem}
  .logo img{width:90px;height:auto}
  .nav-links{gap:.82rem;flex:0 1 auto;justify-content:flex-start;min-width:0}
  .nav-links a{font-size:.78rem;letter-spacing:.95px;white-space:nowrap}
  .nav-cta{gap:.45rem;flex:0 0 auto;margin-left:auto}
  .nav-cta .btn{padding:.52rem .72rem!important;font-size:.78rem;letter-spacing:.95px;min-height:42px;white-space:nowrap}
  .site-search-form{width:138px;height:40px}
  .site-search-form:focus-within{width:150px}
  .site-search-input{font-size:.72rem;letter-spacing:.55px}
}
@media(min-width:1200px){
  .nav-inner{gap:0;align-items:center}
  .logo{flex:0 0 auto;margin-right:1.7rem}
  .nav-links{gap:1.15rem;flex:0 1 auto;justify-content:flex-start;min-width:0}
  .nav-links a{font-size:.88rem;letter-spacing:1.05px;white-space:nowrap}
  .nav-cta{gap:.55rem;flex:0 0 auto;margin-left:auto}
  .nav-cta .btn{padding:.58rem .92rem!important;font-size:.86rem;letter-spacing:1.05px;white-space:nowrap}
  .site-search-form{width:175px}
  .site-search-form:focus-within{width:195px}
}
.external-arrow{display:inline-block;margin-left:.18rem;font-size:.8em;line-height:1;transform:translateY(-.02em);white-space:nowrap}
@media(max-width:959px){
  .nav-cta .site-search{display:none}
  .mobile-search{display:block;padding:.75rem 1rem 1rem;border-top:1px solid rgba(122,163,255,.12);margin-top:.4rem}
  .mobile-search .site-search-form{width:100%;height:46px}
  .mobile-search .site-search-results{position:static;width:100%;margin-top:.5rem}
}
@media(max-width:639px){
  .schedule-row{grid-template-columns:105px 1fr;gap:.8rem;padding:.9rem}
  .schedule-date{display:block}
  .schedule-date b{display:block;font-size:1.25rem}
  .schedule-row strong{font-size:1.08rem}
}

/* 8U H2O dual-link card */
.team-h2o{padding-top:2.15rem}
.team-links{position:absolute;top:.7rem;left:.7rem;right:.7rem;display:flex;justify-content:flex-end;gap:.4rem;flex-wrap:wrap}
.team-social-link{position:static;display:inline-flex;align-items:center;text-decoration:none;cursor:pointer}
.team-site-link{color:#d8e5ff;border-color:rgba(105,160,255,.42);background:rgba(35,73,150,.32)}
.team-social-link:hover{border-color:rgba(141,182,255,.72);background:rgba(40,80,165,.48);color:#fff}
@media(max-width:520px){.team-links{justify-content:center}.team-social-link{font-size:.55rem;padding:.25rem .45rem}.team-h2o{padding-top:2.25rem}}

/* Premium social icons */
.social-hero-cta{gap:1rem;}
.social-icon-btn{display:flex;align-items:center;justify-content:center;gap:.7rem;}
.social-logo{width:28px;height:28px;flex:0 0 28px;}
.instagram-logo{filter:drop-shadow(0 0 8px rgba(120,80,255,.45));}
.facebook-logo{filter:drop-shadow(0 0 8px rgba(40,120,255,.45));}
@media (max-width:600px){.social-icon-btn{min-height:76px;font-size:1.05rem}.social-logo{width:30px;height:30px;flex-basis:30px}}

/* Premium team identity cards — use real squad logos, not emoji icons. */
.team-social-grid{align-items:stretch}
.team-social-grid .team-card{min-height:220px;padding:1.25rem;display:grid;grid-template-columns:120px 1fr;gap:1rem;align-items:center;overflow:hidden}
.team-logo-wrap{width:110px;height:110px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.035);border:1px solid rgba(105,160,255,.28);box-shadow:0 0 28px rgba(46,107,255,.18);overflow:hidden;position:relative}
.team-logo-wrap img:first-child{width:100%;height:100%;object-fit:cover}
.team-copy{min-width:0;padding-top:1.6rem}
.team-copy h3{margin-bottom:.35rem;color:#fff}
.team-copy p{line-height:1.45}
.team-social{z-index:3}
.cheer-logo{background:#fff}
.team-h2o .team-copy{padding-top:2.7rem}
.team-h2o .team-links{z-index:4}
.team-h2o .team-logo-wrap{margin-top:1.3rem}
@media(max-width:639px){
 .team-social-grid .team-card{grid-template-columns:92px 1fr;min-height:165px;padding:1rem;gap:.85rem}
 .team-logo-wrap{width:88px;height:88px}
 .team-copy{padding-top:1.9rem}
 .team-copy h3{font-size:1.25rem}
 .team-copy p{font-size:.9rem}
 .team-social{font-size:.55rem;padding:.22rem .42rem}
 .team-h2o{padding-top:2.9rem!important}
 .team-h2o .team-logo-wrap{margin-top:1.4rem}
 .team-h2o .team-copy{padding-top:3rem}
 
}

/* Wall of Fame */
.wall-of-fame {
  position: relative;
  overflow: hidden;
  background: radial-gradient(circle at 50% 0%, rgba(57,105,255,.18), transparent 55%), #050812;
}
.wall-of-fame:before {
  content: ""; position:absolute; inset:0; pointer-events:none; opacity:.28;
  background: linear-gradient(135deg, transparent 0 46%, rgba(255,255,255,.06) 47%, transparent 48% 100%);
}
.fame-grid { margin-top: 1rem; }
.fame-card {
  position:relative; overflow:hidden; border:1px solid rgba(110,155,255,.35);
  border-radius:22px; background:linear-gradient(145deg,rgba(17,27,61,.94),rgba(5,9,22,.98));
  box-shadow:0 20px 55px rgba(0,0,0,.35);
}
.fame-photo { aspect-ratio: 16/10; overflow:hidden; background:#080c18; }
.fame-photo img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease; }
.fame-card:hover .fame-photo img { transform:scale(1.035); }
.fame-content { padding:1.15rem 1.25rem 1.35rem; text-align:left; }
.fame-year { font-family:"Barlow Condensed",sans-serif; font-weight:800; letter-spacing:.14em; color:#78a9ff; font-size:.9rem; }
.fame-content h3 { margin:.25rem 0 .25rem; font-size:1.65rem; }
.fame-content p { margin:0; color:#aebbdc; }
.fame-content strong { color:#fff; }
.fame-footer { margin-top:1.5rem; text-align:center; color:#7180a6; font-family:"Barlow Condensed",sans-serif; letter-spacing:.14em; font-size:.78rem; }
@media (max-width:700px){ .fame-grid{grid-template-columns:1fr;} .fame-content h3{font-size:1.45rem;} }

.fame-portrait img{object-position:center top;}

/* Clickable Wall of Fame cards */
.fame-card-link { display:block; color:inherit; text-decoration:none; cursor:pointer; transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.fame-card-link:hover { transform:translateY(-4px); }
.fame-card-link:focus-visible { outline:2px solid currentColor; outline-offset:4px; }
.fame-link { display:inline-block; margin-top:.75rem; font-size:.72rem; font-weight:800; letter-spacing:.12em; }


/* ============================================================
   ELITE POLISH — 2026
   ============================================================ */
.next-up{background:linear-gradient(180deg,#050918 0%,#070d20 100%)}
.next-grid{grid-template-columns:1fr}
.event-card{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:1.2rem 1.25rem;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,rgba(17,26,58,.72),rgba(7,12,29,.92));box-shadow:0 14px 42px rgba(0,0,0,.3);color:var(--white);transition:transform .2s,border-color .2s,box-shadow .2s}
.event-card:hover{transform:translateY(-4px);border-color:rgba(102,163,255,.5);box-shadow:0 18px 50px rgba(0,0,0,.45),0 0 28px rgba(46,107,255,.12)}
.event-date{display:flex;flex-direction:column;align-items:center;justify-content:center;width:64px;height:70px;border:1px solid rgba(102,163,255,.35);border-radius:12px;background:rgba(46,107,255,.08);line-height:1}
.event-date b{font:800 .72rem var(--font-d);letter-spacing:2px;color:var(--blue-hi)}
.event-date strong{font:800 2rem var(--font-d);margin-top:.25rem}
.event-type{font:800 .68rem var(--font-d);letter-spacing:1.8px;color:var(--blue-hi);text-transform:uppercase}
.event-card h3{margin:.25rem 0 .15rem;font-size:1.35rem}
.event-card p{font-size:.9rem}
.event-arrow{font:800 1.4rem var(--font-d);color:var(--blue-hi)}
.stat-grid{grid-template-columns:repeat(2,1fr)}
.stat{position:relative;min-height:104px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.35rem;padding:1.2rem 1.35rem;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,rgba(17,26,58,.48),rgba(6,10,24,.7));box-shadow:inset 0 1px rgba(255,255,255,.035)}
.stat-mark{font:800 .72rem var(--font-d);letter-spacing:2px;color:var(--blue-hi);opacity:.85}
.stat b{font:800 1.1rem var(--font-d);letter-spacing:.7px;text-transform:uppercase}
.program .thumb{min-height:94px;display:flex;align-items:flex-end;padding:1rem 1.1rem;border:1px solid rgba(102,163,255,.2);border-radius:10px;background:linear-gradient(135deg,rgba(46,107,255,.14),rgba(255,255,255,.02));overflow:hidden;position:relative}
.program .thumb:after{content:"";position:absolute;width:110px;height:110px;right:-30px;top:-45px;border:1px solid rgba(102,163,255,.16);transform:rotate(45deg)}
.program .thumb span{font:800 1.45rem var(--font-d);letter-spacing:1.8px;color:#fff;position:relative;z-index:1}
.feature-index{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border:1px solid rgba(102,163,255,.35);border-radius:9px;color:var(--blue-hi);font:800 .75rem var(--font-d);letter-spacing:1px;margin-bottom:.8rem;background:rgba(46,107,255,.08)}
.legacy-teaser{background:radial-gradient(600px 300px at 50% 50%,rgba(46,107,255,.1),transparent 70%)}
.legacy-panel{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:2.2rem 2.4rem;border:1px solid var(--line-strong);border-radius:20px;background:linear-gradient(135deg,rgba(14,24,55,.9),rgba(5,9,23,.96));box-shadow:0 20px 60px rgba(0,0,0,.35),inset 0 1px rgba(255,255,255,.04)}
.legacy-panel h2{margin:.55rem 0 .7rem}
.legacy-panel p{max-width:62ch}
.wall-of-fame{background:radial-gradient(900px 420px at 50% 30%,rgba(46,107,255,.12),transparent 70%),linear-gradient(180deg,#070b1a,#04060f)}
.fame-grid{grid-template-columns:1fr}
.fame-card-link{position:relative;overflow:hidden;display:block;color:var(--white);text-decoration:none;cursor:pointer}
.fame-card-link:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(141,182,255,.05);pointer-events:none}
.fame-card-link:hover{transform:translateY(-6px);border-color:rgba(102,163,255,.58);box-shadow:0 22px 65px rgba(0,0,0,.52),0 0 35px rgba(46,107,255,.14)}
.fame-card-link:focus-visible{outline:3px solid var(--blue-hi);outline-offset:4px}
.fame-link{display:inline-flex;margin-top:.9rem;font:800 .78rem var(--font-d);letter-spacing:1.6px;color:var(--blue-hi);text-transform:uppercase}
.fame-photo img{transition:transform .35s ease,filter .35s ease}
.fame-card-link:hover .fame-photo img{transform:scale(1.035);filter:saturate(1.05)}
@media(min-width:720px){
  .next-grid{grid-template-columns:repeat(3,1fr)}
  .stat-grid{grid-template-columns:repeat(3,1fr)}
  .fame-grid{grid-template-columns:repeat(3,1fr)}
}
@media(min-width:960px){
  .legacy-panel{padding:2.5rem 3rem}
}
@media(max-width:639px){
  .legacy-panel{flex-direction:column;align-items:flex-start;padding:1.7rem}
  .event-card{grid-template-columns:auto 1fr}
  .event-arrow{display:none}
}


/* ============================================================
   FINAL PRODUCTION PASS — accessibility, interaction, hierarchy
   ============================================================ */
.skip-link{position:fixed;left:1rem;top:1rem;z-index:1000;transform:translateY(-160%);background:#fff;color:#050812;padding:.7rem 1rem;border-radius:9px;font:800 .85rem var(--font-d);text-transform:uppercase;letter-spacing:1px;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.skip-link:focus{transform:translateY(0)}
:focus-visible{outline:3px solid var(--blue-hi);outline-offset:3px}
button{font:inherit}
.hamburger svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;display:block}
.hamburger{width:46px;height:46px;padding:0;display:inline-flex;align-items:center;justify-content:center}
.hero [id="main-content"]{scroll-margin-top:90px}
.program .thumb{padding:0;min-height:0;aspect-ratio:16/9}
.program .thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.8) contrast(1.05);opacity:.72;transition:transform .5s ease,opacity .3s ease}
.program .thumb:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,6,15,.1),rgba(4,6,15,.86));z-index:1}
.program:hover .thumb img{transform:scale(1.045);opacity:.9}
.program .thumb span{z-index:2}
.division-heading{margin-bottom:1rem;color:var(--ice);padding-top:1rem;border-top:1px solid var(--line);font-size:1.45rem}
.info-mark{width:38px;height:38px;flex:0 0 38px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(102,163,255,.35);border-radius:9px;color:var(--blue-hi);font:800 .72rem var(--font-d);letter-spacing:1px;background:rgba(46,107,255,.08)}
.detail-label{font-family:var(--font-d);text-transform:uppercase;letter-spacing:1.5px;color:var(--ice);font-size:1.15rem}
.current-event{display:flex;flex-direction:column;align-items:flex-start;min-height:210px;justify-content:flex-start;position:relative;color:var(--white)}
.current-event .event-kicker{font:800 .72rem var(--font-d);letter-spacing:1.7px;color:var(--blue-hi)}
.current-event h3{margin:.55rem 0 .35rem}
.current-event p{max-width:40ch}
.current-event .event-link{margin-top:auto;padding-top:1rem;font:800 .76rem var(--font-d);letter-spacing:1.4px;color:var(--blue-hi);text-transform:uppercase}
.featured-event{border-color:rgba(255,181,77,.35);background:linear-gradient(145deg,rgba(55,38,10,.38),rgba(7,12,29,.92))}
.upcoming-section{background:linear-gradient(180deg,#050918,#070d20)}
.schedule-row.past{opacity:.6}
.featured-detail{border-color:rgba(102,163,255,.34);background:linear-gradient(145deg,rgba(18,30,66,.9),rgba(6,10,25,.96))}
.media-feature-grid{display:grid;grid-template-columns:1fr;gap:1rem;max-width:1000px}
.media-feature-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.2rem;padding:1.4rem 1.5rem;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,rgba(17,27,61,.88),rgba(6,10,25,.96));color:var(--white);transition:transform .2s,border-color .2s,box-shadow .2s}
.media-feature-card:hover{transform:translateY(-4px);border-color:var(--line-strong);box-shadow:0 18px 50px rgba(0,0,0,.4)}
.media-feature-card h3{margin:.25rem 0;font-size:1.45rem}
.media-feature-card p{margin:0;max-width:55ch}
.media-feature-mark{width:54px;height:54px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:rgba(46,107,255,.13);border:1px solid rgba(102,163,255,.3);color:var(--ice);font:800 1rem var(--font-d);letter-spacing:1px}
.gallery-item{position:relative;border:1px solid var(--line);padding:0;cursor:pointer;overflow:hidden;width:100%;background:transparent}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease,filter .35s ease}
.gallery-item:hover img{transform:scale(1.045);filter:saturate(1.08)}
.gallery-open{position:absolute;right:.65rem;bottom:.65rem;padding:.3rem .55rem;border-radius:999px;background:rgba(4,6,15,.82);border:1px solid rgba(141,182,255,.35);font:800 .62rem var(--font-d);letter-spacing:1.2px;text-transform:uppercase;color:#dbe7ff}
.media-lightbox{position:fixed;inset:0;z-index:500;background:rgba(1,3,9,.94);display:none;align-items:center;justify-content:center;padding:4rem 1.25rem 1.25rem;backdrop-filter:blur(12px)}
.media-lightbox.open{display:flex}
.media-lightbox-stage{width:min(1100px,96vw);height:min(82vh,850px);display:flex;align-items:center;justify-content:center}
.media-lightbox-stage img{max-width:100%;max-height:100%;object-fit:contain;border-radius:14px;box-shadow:0 30px 100px rgba(0,0,0,.7)}
.media-lightbox-close{position:absolute;right:1.25rem;top:1.25rem;width:46px;height:46px;border-radius:50%;border:1px solid var(--line-strong);background:rgba(13,20,48,.9);color:#fff;font-size:2rem;line-height:1;cursor:pointer}
@media(min-width:760px){.media-feature-grid{grid-template-columns:1fr 1fr}.media-feature-card{grid-template-columns:auto 1fr;min-height:180px}.media-feature-card .event-link{grid-column:2}}
@media(min-width:720px){
  .fame-grid{grid-template-columns:minmax(0,900px);justify-content:center}
  .fame-card-link{display:grid;grid-template-columns:44% 56%;align-items:stretch}
  .fame-photo{aspect-ratio:auto;min-height:330px}
  .fame-content{display:flex;flex-direction:column;justify-content:center;padding:2rem 2.2rem}
  .fame-content h3{font-size:2.15rem}
}
@media(max-width:639px){
  .media-feature-card{grid-template-columns:auto 1fr;align-items:start}
  .media-feature-card .event-link{grid-column:2}
  .current-event{min-height:190px}
}
.thanks-mark{display:inline-flex;width:82px;height:82px;align-items:center;justify-content:center;border:1px solid var(--line-strong);border-radius:22px;background:linear-gradient(135deg,rgba(46,107,255,.2),rgba(10,15,36,.9));color:var(--ice);font:800 3rem var(--font-d);letter-spacing:-.04em;box-shadow:0 20px 50px rgba(0,0,0,.35)}

/* ================================================================
   FINAL HEADER — LOCKED PRODUCTION LAYOUT
   One authoritative desktop header system. No competing overrides.
   ================================================================ */
.nav .nav-inner{display:flex;align-items:center;min-width:0}
.nav .logo{flex:0 0 auto;display:flex;align-items:center}
.nav .logo img{display:block;height:auto}
.nav .nav-links{display:flex;align-items:center;list-style:none;min-width:0;flex:0 0 auto}
.nav .nav-links li{flex:0 0 auto}
.nav .nav-links a{display:inline-flex;align-items:center;white-space:nowrap}
.nav .external-arrow{display:inline-block;position:static;white-space:nowrap;line-height:1;margin-left:.28rem;transform:none}
.nav .nav-cta{display:flex;align-items:center;flex:0 0 auto;margin-left:auto}
.nav .nav-cta .btn{flex:0 0 auto;white-space:nowrap}
.nav .site-search{flex:0 0 auto}
.nav .site-search-form{display:flex;align-items:center;box-sizing:border-box}
.nav .hamburger{display:none!important}

/* Laptop / small desktop: everything still fits without crowding. */
@media (min-width:960px) and (max-width:1199px){
  .nav .nav-inner{width:min(1180px,94vw);gap:0}
  .nav .logo{margin-right:2.15rem}
  .nav .logo img{width:90px}
  .nav .nav-links{gap:.78rem}
  .nav .nav-links a{font-size:.76rem;letter-spacing:.72px;padding:.35rem 0}
  .nav .site-search-form{width:118px;height:40px}
  .nav .site-search-input{font-size:.68rem;letter-spacing:.4px}
  .nav .nav-cta{gap:.42rem;margin-left:auto}
  .nav .nav-cta .btn{padding:.5rem .62rem!important;font-size:.72rem;letter-spacing:.65px;min-height:40px}
}

/* Full desktop: generous brand-to-nav separation and clean rhythm. */
@media (min-width:1200px){
  .nav .nav-inner{width:min(1320px,94vw);gap:0}
  .nav .logo{margin-right:3.55rem}
  .nav .logo img{width:104px}
  .nav .nav-links{gap:1.12rem}
  .nav .nav-links a{font-size:.86rem;letter-spacing:.95px;padding:.4rem 0}
  .nav .site-search-form{width:145px;height:42px}
  .nav .site-search-form:focus-within{width:155px}
  .nav .nav-cta{gap:.55rem;margin-left:auto}
  .nav .nav-cta .btn{padding:.58rem .9rem!important;font-size:.8rem;letter-spacing:.85px;min-height:42px}
}

/* Never allow Shop's external-link marker to fall below the label. */
.nav .nav-links li:nth-child(6) a{white-space:nowrap;flex-wrap:nowrap}
.nav .nav-links li:nth-child(6) .external-arrow{flex:0 0 auto}

/* True mobile header. */
@media (max-width:959px){
  .nav .nav-inner{width:min(1320px,92vw)}
  .nav .logo{margin-right:0}
  .nav .nav-links,.nav .nav-cta{display:none}
  .nav .hamburger{display:inline-flex!important}
}


/* ================================================================
   ELITE HEADER — FINAL RESPONSIVE LOCK
   Header contains navigation/search/menu only. Page-level CTAs remain.
   ================================================================ */
.nav .nav-inner{display:flex;align-items:center;min-height:70px;gap:0}
.nav .logo{flex:0 0 auto;display:flex;align-items:center;margin-right:2.6rem}
.nav .logo img{display:block;width:104px;height:auto;max-width:none}
.nav .nav-links{display:flex;align-items:center;gap:1.15rem;flex:0 0 auto;min-width:0}
.nav .nav-links li{flex:0 0 auto}
.nav .nav-links a{display:inline-flex;align-items:center;white-space:nowrap}
.nav .nav-cta{display:none!important}
.nav .site-search{margin-left:auto;flex:0 0 auto}
.nav .site-search-form{display:flex;align-items:center;width:150px;height:42px;box-sizing:border-box}
.nav .hamburger{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 46px;width:46px;height:46px;padding:0;margin-left:.7rem;border:1px solid var(--line-strong);border-radius:10px;background:rgba(10,15,36,.72);color:var(--white);cursor:pointer}
.nav .hamburger svg{width:24px;height:24px;display:block;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}
.nav .external-arrow{display:inline-block;position:static;line-height:1;margin-left:.3rem;white-space:nowrap}

@media (min-width:960px) and (max-width:1199px){
  .nav .nav-inner{width:min(1180px,94vw)}
  .nav .logo{margin-right:1.65rem}
  .nav .logo img{width:92px}
  .nav .nav-links{gap:.85rem}
  .nav .nav-links a{font-size:.76rem;letter-spacing:.72px}
  .nav .site-search-form{width:125px;height:40px}
  .nav .hamburger{flex-basis:44px;width:44px;height:44px}
}

@media (min-width:1200px){
  .nav .nav-inner{width:min(1320px,94vw)}
  .nav .logo{margin-right:3rem}
  .nav .logo img{width:104px}
  .nav .nav-links{gap:1.1rem}
  .nav .nav-links a{font-size:.86rem;letter-spacing:.95px}
  .nav .site-search-form{width:150px;height:42px}
}

@media (max-width:959px){
  .nav .nav-inner{width:min(1320px,92vw);min-height:70px}
  .nav .logo{margin-right:0;min-width:0}
  .nav .logo img{width:130px;height:auto;max-width:130px}
  .nav .nav-links,.nav .nav-cta{display:none!important}
  .nav .site-search{position:absolute;left:4%;right:4%;top:100%;margin:0;z-index:20}
  .nav .site-search-form{width:100%;height:52px}
  .nav .hamburger{flex-basis:46px;width:46px;height:46px;margin-left:auto;position:relative;z-index:21}
  .nav{position:relative}
}


/* ================================================================
   HEADER REPAIR — FINAL VERIFIED RESPONSIVE LOCK
   Keep primary CTAs out of the header. Hamburger is visible on ALL
   breakpoints. Mobile logo is restrained so it never covers content.
   ================================================================ */
.nav .nav-inner{display:flex!important;align-items:center!important;min-height:70px!important;gap:0!important;overflow:visible!important}
.nav .logo{flex:0 0 auto!important;display:flex!important;align-items:center!important}
.nav .logo img{display:block!important;height:auto!important;max-width:100%!important}
.nav .nav-links{display:flex!important;align-items:center!important;flex:0 0 auto!important;min-width:0!important}
.nav .nav-links a{white-space:nowrap!important}
.nav .nav-cta{display:none!important}
.nav .site-search{flex:0 0 auto!important;margin-left:auto!important}
.nav .hamburger,
.nav .nav .hamburger{display:inline-flex!important;visibility:visible!important;opacity:1!important;align-items:center!important;justify-content:center!important;flex:0 0 44px!important;width:44px!important;height:44px!important;padding:0!important;margin-left:.8rem!important;position:relative!important;z-index:50!important;border:1px solid var(--line-strong)!important;border-radius:10px!important;background:rgba(10,15,36,.82)!important;color:#fff!important}
.nav .hamburger svg{display:block!important;width:24px!important;height:24px!important}

@media (min-width:960px){
  .nav .logo{margin-right:1.9rem!important}
  .nav .logo img{width:96px!important}
  .nav .nav-links{gap:.95rem!important}
  .nav .nav-links a{font-size:.82rem!important;letter-spacing:.8px!important;padding:.4rem 0!important}
  .nav .site-search-form{width:132px!important;height:42px!important}
}
@media (min-width:1200px){
  .nav .nav-inner{width:min(1320px,94vw)!important}
  .nav .logo{margin-right:2.35rem!important}
  .nav .logo img{width:100px!important}
  .nav .nav-links{gap:1rem!important}
  .nav .nav-links a{font-size:.84rem!important;letter-spacing:.88px!important}
  .nav .site-search-form{width:145px!important;height:42px!important}
}
@media (max-width:959px){
  .nav .nav-inner{width:min(1320px,92vw)!important;min-height:64px!important}
  .nav .logo{margin-right:0!important;min-width:0!important}
  .nav .logo img{width:92px!important;max-width:92px!important;height:auto!important}
  .nav .nav-links,.nav .nav-cta{display:none!important}
  .nav .site-search{position:absolute!important;left:4%!important;right:4%!important;top:100%!important;margin:0!important;z-index:40!important}
  .nav .site-search-form{width:100%!important;height:52px!important}
  .nav .hamburger{display:inline-flex!important;flex:0 0 44px!important;width:44px!important;height:44px!important;margin-left:auto!important}
}


/* FINAL SEARCH RESTORE — desktop search lives directly in the header row. */
@media (min-width:960px){
  .nav .desktop-search{display:flex!important;align-items:center!important;flex:0 0 auto!important;margin-left:auto!important}
  .nav .desktop-search .site-search-form{width:150px!important;height:42px!important}
  .nav .desktop-search .site-search-form:focus-within{width:170px!important}
  .nav .hamburger{margin-left:.65rem!important}
}
@media (min-width:960px) and (max-width:1199px){
  .nav .desktop-search .site-search-form{width:125px!important;height:40px!important}
}
@media (max-width:959px){
  .nav .logo img{width:92px!important;max-width:92px!important}
  .nav .hamburger{flex:0 0 46px!important;width:46px!important;height:46px!important}
  .nav .mobile-search-top{position:relative!important;left:auto!important;right:auto!important;top:auto!important}
}

/* ================================================================
   HEADER POSITION / SPACING LOCK — requested desktop layout
   Desktop only: preserve mobile navigation exactly as-is.
   ================================================================ */
@media (min-width:960px){
  .nav{
    position:sticky;
    top:0;
    z-index:100;
  }
  .nav .nav-inner{
    width:min(1160px,92vw)!important;
    height:70px!important;
    min-height:70px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:0!important;
    overflow:visible!important;
  }
  /* Proper HAVOC logo size and clean separation before HOME. */
  .nav .logo{
    flex:0 0 auto!important;
    margin-right:2.45rem!important;
  }
  .nav .logo img{
    width:100px!important;
    height:auto!important;
    max-width:none!important;
  }
  /* Primary desktop navigation stays in one clean row. */
  .nav .nav-links{
    display:flex!important;
    flex:0 0 auto!important;
    align-items:center!important;
    gap:1.05rem!important;
    min-width:0!important;
  }
  .nav .nav-links li,
  .nav .nav-links a{
    flex:0 0 auto!important;
    white-space:nowrap!important;
  }
  .nav .nav-links a{
    display:inline-flex!important;
    align-items:center!important;
    font-size:.86rem!important;
    letter-spacing:.9px!important;
    padding:.4rem 0!important;
  }
  /* SEARCH remains site-wide and sits on the right side of the header. */
  .nav .desktop-search{
    display:flex!important;
    align-items:center!important;
    flex:0 0 auto!important;
    margin-left:auto!important;
  }
  .nav .desktop-search .site-search-form{
    width:150px!important;
    height:42px!important;
  }
  /* Hamburger remains present; it does not become an extra menu item. */
  .nav .hamburger{
    display:inline-flex!important;
    visibility:visible!important;
    opacity:1!important;
    flex:0 0 44px!important;
    width:44px!important;
    height:44px!important;
    margin-left:.65rem!important;
  }
  /* Interest Form / Donate are page CTAs, never header controls. */
  .nav .nav-cta{display:none!important}
  /* SHOP + external arrow must always stay together. */
  .nav .nav-links li:nth-child(6) a{
    white-space:nowrap!important;
    flex-wrap:nowrap!important;
  }
  .nav .nav-links li:nth-child(6) .external-arrow{
    display:inline-block!important;
    flex:0 0 auto!important;
    white-space:nowrap!important;
    margin-left:.3rem!important;
  }
}

/* ================================================================
   RAZIN HAVOC — HEADER MATCH LOCK (SEPT 10 2026)
   Navigation/search/menu intentionally mirrors the approved reference.
   ================================================================ */
.season-bar{
  background:linear-gradient(90deg,#0757e8 0%,#1168ff 50%,#0757e8 100%)!important;
  border-bottom:1px solid rgba(141,182,255,.38)!important;
  font-family:var(--font-d)!important;
  font-weight:700!important;
  letter-spacing:1.45px!important;
  text-transform:uppercase!important;
  font-size:.82rem!important;
}
.season-bar .container{
  width:min(1320px,94vw)!important;
  min-height:44px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:1rem!important;
}
.season-bar span:first-child{font-weight:800!important}
.season-bar a{color:#fff!important;white-space:nowrap!important}

.nav{
  background:rgba(3,7,18,.96)!important;
  backdrop-filter:blur(16px)!important;
  border-bottom:1px solid rgba(122,163,255,.22)!important;
  box-shadow:0 10px 35px rgba(0,0,0,.28)!important;
}
.nav .nav-inner{
  width:min(1320px,94vw)!important;
  height:100px!important;
  min-height:100px!important;
  justify-content:flex-start!important;
}
.nav .logo{margin-right:3.1rem!important}
.nav .logo img{width:132px!important;max-width:132px!important}
.nav .nav-links{gap:1.75rem!important}
.nav .nav-links a{
  color:#f4f7ff!important;
  font-size:1.12rem!important;
  font-weight:700!important;
  letter-spacing:1px!important;
  padding:.55rem 0!important;
  border-bottom:4px solid transparent!important;
}
.nav .nav-links a:hover,.nav .nav-links a.active{border-color:#1671ff!important;color:#fff!important}
.nav .dropdown>a:after{font-size:.72em!important;margin-left:.42rem!important}
.nav .desktop-search{
  display:flex!important;
  align-items:center!important;
  flex:0 0 auto!important;
  margin-left:auto!important;
}
.nav .desktop-search .site-search-form{
  width:270px!important;
  height:54px!important;
  padding:0 .95rem!important;
  border:1px solid rgba(141,182,255,.30)!important;
  border-radius:16px!important;
  background:rgba(9,16,35,.88)!important;
}
.nav .desktop-search .site-search-form:focus-within{width:270px!important;border-color:rgba(102,163,255,.7)!important}
.nav .desktop-search .site-search-input{font-size:.98rem!important;letter-spacing:.45px!important;text-transform:none!important}
.nav .desktop-search .site-search-icon{width:22px!important;height:22px!important;flex-basis:22px!important}
.nav .desktop-search .site-search-icon svg{width:21px!important;height:21px!important}
.nav .hamburger{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  flex:0 0 58px!important;
  width:58px!important;
  height:58px!important;
  margin-left:1rem!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
.nav .hamburger svg{width:38px!important;height:38px!important;stroke-width:2.5!important}
.nav .nav-cta{display:none!important}

@media (max-width:1199px) and (min-width:960px){
  .nav .nav-inner{width:min(1160px,94vw)!important}
  .nav .logo{margin-right:1.8rem!important}
  .nav .logo img{width:108px!important;max-width:108px!important}
  .nav .nav-links{gap:1rem!important}
  .nav .nav-links a{font-size:.92rem!important;letter-spacing:.65px!important}
  .nav .desktop-search .site-search-form{width:190px!important}
  .nav .desktop-search .site-search-form:focus-within{width:190px!important}
}

@media (max-width:959px){
  .season-bar .container{min-height:38px!important;width:92vw!important;justify-content:center!important;text-align:center!important}
  .season-bar span:nth-child(2),.season-bar a{display:none!important}
  .nav .nav-inner{width:92vw!important;height:72px!important;min-height:72px!important}
  .nav .logo{margin-right:0!important}
  .nav .logo img{width:105px!important;max-width:105px!important}
  .nav .nav-links,.nav .nav-cta{display:none!important}
  .nav .desktop-search{
    display:flex!important;
    position:static!important;
    margin-left:auto!important;
    flex:0 1 150px!important;
  }
  .nav .desktop-search .site-search-form{
    width:150px!important;
    height:46px!important;
    border-radius:13px!important;
  }
  .nav .desktop-search .site-search-form:focus-within{width:150px!important}
  .nav .desktop-search .site-search-input{font-size:.78rem!important}
  .nav .hamburger{
    flex:0 0 46px!important;
    width:46px!important;
    height:46px!important;
    margin-left:.65rem!important;
  }
  .nav .hamburger svg{width:32px!important;height:32px!important}
  .nav .mobile-search-top{display:none!important}
}

/* ================================================================
   FINAL DESKTOP HEADER FIX — SEARCH MUST STAY VISIBLE
   Matches approved reference: nav tabs -> large search -> hamburger.
   ================================================================ */
@media (min-width: 960px){
  .nav .nav-inner{
    display:flex!important;
    align-items:center!important;
    width:min(1320px,94vw)!important;
    overflow:visible!important;
  }
  .nav .nav-links{
    flex:0 1 auto!important;
    min-width:0!important;
    margin-right:0!important;
  }
  .nav .desktop-search{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    position:relative!important;
    z-index:80!important;
    flex:0 0 clamp(205px,20vw,270px)!important;
    width:clamp(205px,20vw,270px)!important;
    margin-left:auto!important;
  }
  .nav .desktop-search .site-search-form{
    display:flex!important;
    width:100%!important;
    height:54px!important;
    box-sizing:border-box!important;
  }
  .nav .desktop-search .site-search-input{
    min-width:0!important;
    width:100%!important;
  }
  .nav .hamburger{
    display:inline-flex!important;
    visibility:visible!important;
    opacity:1!important;
    flex:0 0 58px!important;
    width:58px!important;
    height:58px!important;
    margin-left:1rem!important;
    position:relative!important;
    z-index:81!important;
  }
}
@media (min-width:960px) and (max-width:1199px){
  .nav .nav-links{gap:.72rem!important}
  .nav .nav-links a{font-size:.86rem!important;letter-spacing:.6px!important}
  .nav .desktop-search{flex-basis:210px!important;width:210px!important}
  .nav .desktop-search .site-search-form{height:48px!important}
  .nav .hamburger{flex-basis:50px!important;width:50px!important;height:50px!important;margin-left:.7rem!important}
  .nav .hamburger svg{width:34px!important;height:34px!important}
}
@media (min-width:1200px){
  .nav .desktop-search{flex-basis:270px!important;width:270px!important}
  .nav .desktop-search .site-search-form{height:54px!important}
}
