:root{
  --bg:#0a0a0b;
  --bg-alt:#17141a;
  --red:#e0202b;
  --red-deep:#8a0f16;
  --red-glow: rgba(224,32,43,0.35);
  --ember:#ff3b1f;
  --ember-bright:#ff8a4c;
  --ember-glow: rgba(255,73,43,0.35);
  --ink:#f3efe8;
  --ink-muted:#a89f95;
  --line: rgba(243,239,232,0.10);
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:'Inter', sans-serif;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit; text-decoration:none;}
.display{font-family:'Space Grotesk', sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:0.01em;}
.utility{font-family:'Oswald', sans-serif; text-transform:uppercase;}

/* NAV */
.nav{
  position:sticky; top:0; z-index:50;
  display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
  padding:20px 6vw;
  background:linear-gradient(180deg, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0) 100%);
  transform:translateZ(0);
  -webkit-transform:translateZ(0);
  will-change:transform;
}
.nav-mark{
  font-family:'Space Grotesk', sans-serif; font-weight:600;
  font-size:clamp(0.8rem, 1.9vw, 1.02rem);
  letter-spacing:0.01em; color:var(--ink);
}
.nav-mark .kingpart{color:var(--red);}
.nav-links{display:flex; align-items:center; gap:16px; flex-wrap:wrap; font-family:'Oswald'; font-size:0.76rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--ink-muted);}
.nav-links a{white-space:nowrap;}
.nav-links a:hover{color:var(--ember-bright);}
.nav-links a.jump{
  border:1px solid var(--ember); padding:9px 18px; border-radius:999px; color:var(--ember-bright);
  transition:all 0.2s ease;
}
.nav-links a.jump:hover{background:var(--ember); color:#0a0a0b; box-shadow:0 0 20px var(--ember-glow);}

/* HERO */
.hero{
  position:relative;
  min-height:88vh;
  display:flex; flex-direction:column; align-items:center; justify-content:space-between;
  text-align:center;
  padding:28px 6vw 60px;
  background:var(--bg);
  overflow:hidden;
}
.hero-photo{
  position:absolute; inset:0; z-index:0;
  background-image:url('../assets/hero-photo.jpg');
  background-size:cover; background-position:center 20%;
  filter:brightness(0.52) contrast(1.05) saturate(1.1);
}
.hero-photo-scrim{
  position:absolute; inset:0; z-index:0;
  background:linear-gradient(180deg, rgba(10,10,11,0.68) 0%, rgba(10,10,11,0.36) 26%, rgba(10,10,11,0.4) 72%, rgba(10,10,11,0.97) 100%);
}

.hero-logo-wrap{position:relative; z-index:1; display:inline-flex;}
.hero-logo{
  position:relative; z-index:1;
  width:min(460px, 68vw);
}
.hero-text-block{position:relative; z-index:1; display:flex; flex-direction:column; align-items:center;}
.hero-motto{
  font-size:clamp(1.05rem, 2.6vw, 1.5rem); letter-spacing:0.06em; color:var(--ember-bright);
  font-family:'Oswald'; text-transform:uppercase;
}
.hero-sub{
  position:relative; z-index:1;
  font-family:'Oswald'; text-transform:uppercase; letter-spacing:0.14em;
  color:var(--ink-muted); font-size:clamp(0.82rem, 1.9vw, 1.05rem);
  margin-top:20px; max-width:560px;
}

/* Knight Rider style scanner bar: full-bleed row of dumbbells with a
   glowing light that sweeps back and forth across the whole width.
   Sits as its own divider between every section, including right
   under the hero. */
.scanner{
  position:relative;
  width:100%;
  margin-top:36px; margin-bottom:36px;
  height:28px;
  display:flex; align-items:center;
  overflow:hidden;
}
.scanner::before{
  content:""; position:absolute; left:0; right:0; top:50%; height:1px; transform:translateY(-50%);
  background:linear-gradient(90deg, transparent, rgba(255,138,76,0.3) 8%, rgba(255,138,76,0.3) 92%, transparent);
}
.scanner-track{
  position:relative; z-index:1; width:100%;
  display:flex; align-items:center; justify-content:space-between;
  padding:0 4vw;
}
.scanner-track svg{
  width:24px; height:10px; flex-shrink:0;
  fill:var(--ember-bright);
  filter:drop-shadow(0 0 6px var(--ember-glow));
}
.scanner-orb{
  position:absolute; top:0; bottom:0; width:14%;
  background:radial-gradient(ellipse at center, rgba(224,32,43,0.95) 0%, rgba(255,90,60,0.55) 40%, transparent 72%);
  filter:blur(4px);
  mix-blend-mode:screen;
  z-index:2; pointer-events:none;
}
.scanner-orb-l{animation:scan-left 3.2s ease-out infinite;}
.scanner-orb-r{animation:scan-right 3.2s ease-out infinite;}
@keyframes scan-left{
  0%{left:50%; opacity:1;}
  100%{left:-14%; opacity:0;}
}
@keyframes scan-right{
  0%{left:50%; opacity:1;}
  100%{left:98%; opacity:0;}
}

/* CREDENTIAL STRIP */
.strip{
  background:var(--bg-alt);
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  padding:34px 6vw;
  display:flex; flex-wrap:wrap; gap:26px 40px;
  justify-content:center;
}
.cred{display:flex; align-items:center; gap:12px;}
.cred .seal{
  width:11px; height:11px; border-radius:50%;
  background:var(--red); box-shadow:0 0 12px 2px var(--red-glow);
  flex-shrink:0;
}
.cred span{
  font-family:'Oswald'; font-weight:500; text-transform:uppercase;
  font-size:0.82rem; letter-spacing:0.06em; color:var(--ink);
  white-space:nowrap;
}


/* SECTION TITLES */
.eyebrow{
  font-family:'Oswald'; font-weight:600; text-transform:uppercase; letter-spacing:0.14em; font-size:1.15rem;
  color:var(--red); margin-bottom:16px; display:block;
}

/* WHO SECTION */
.who{
  position:relative; padding:0 0 100px;
}
.gallery{
  position:relative; width:min(100%, 640px); margin:0 auto;
  aspect-ratio:4/3;
  overflow:hidden;
  background:var(--bg);
}
.gallery-img{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:center 22%;
  cursor:zoom-in;
  transition:opacity 0.18s ease;
}
.gallery-arrow{
  position:absolute; top:50%; transform:translateY(-50%);
  width:44px; height:44px; border-radius:50%;
  background:rgba(10,10,11,0.55); border:1px solid var(--line);
  color:var(--ink); font-size:1.5rem; line-height:1; font-family:'Space Grotesk', sans-serif;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; z-index:3; backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
  transition:all 0.2s ease;
}
.gallery-arrow:hover{background:var(--red); border-color:var(--red); box-shadow:0 0 18px var(--red-glow);}
.gallery-prev{left:14px;}
.gallery-next{right:14px;}
.gallery-dots{
  position:absolute; bottom:14px; left:0; right:0; z-index:3;
  display:flex; justify-content:center; align-items:center; gap:7px; flex-wrap:wrap; padding:0 10px;
}
.gallery-dot{
  width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,0.4);
  border:none; cursor:pointer; padding:0; transition:all 0.2s ease; flex-shrink:0;
}
.gallery-dot.active{background:var(--ember-bright); box-shadow:0 0 8px var(--ember-glow); width:18px; border-radius:4px;}

/* Lightbox */
.lightbox{
  position:fixed; inset:0; z-index:200;
  background:rgba(6,6,7,0.96);
  display:flex; align-items:center; justify-content:center;
  opacity:0; pointer-events:none;
  transition:opacity 0.25s ease;
  padding:8vh 5vw;
}
.lightbox.open{opacity:1; pointer-events:auto;}
.lightbox-img{max-width:100%; max-height:100%; object-fit:contain; border-radius:6px;}
.lightbox-close{
  position:absolute; top:20px; right:20px;
  width:44px; height:44px; border-radius:50%;
  background:rgba(255,255,255,0.08); border:1px solid var(--line); color:var(--ink);
  font-size:1.4rem; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center;
  transition:all 0.2s ease;
}
.lightbox-close:hover{background:var(--red); border-color:var(--red);}
.lightbox-arrow{
  position:absolute; top:50%; transform:translateY(-50%);
  width:52px; height:52px; border-radius:50%;
  background:rgba(255,255,255,0.08); border:1px solid var(--line); color:var(--ink);
  font-size:1.8rem; line-height:1; font-family:'Space Grotesk', sans-serif;
  cursor:pointer; display:flex; align-items:center; justify-content:center;
  transition:all 0.2s ease; z-index:1;
}
.lightbox-arrow:hover{background:var(--red); border-color:var(--red); box-shadow:0 0 20px var(--red-glow);}
.lightbox-prev{left:16px;}
.lightbox-next{right:16px;}

.who-content{
  position:relative; z-index:2; width:min(620px, 88vw); margin:32px auto 0; text-align:left;
  background:rgba(10,10,11,0.56);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  border:1px solid var(--line); border-radius:16px;
  padding:44px 42px;
}
.who-content .eyebrow{text-align:left;}
.who-quote{
  font-family:'Space Grotesk', sans-serif; font-weight:700;
  font-size:clamp(1.35rem, 2.6vw, 1.9rem); color:var(--ember-bright); line-height:1.35;
  margin-bottom:26px; padding-left:18px; border-left:3px solid var(--red);
}
.who-body p{color:var(--ink-muted); line-height:1.8; font-size:0.97rem; margin-bottom:16px;}
.who-body p.lead{color:var(--ink); font-size:1.04rem;}
.who-body p.emphasis{color:var(--ink); font-style:italic;}

/* MISSION */
.mission{
  position:relative; padding:55px 6vw 110px; text-align:center; max-width:760px; margin:0 auto;
}
.mission::before{
  content:""; position:absolute; inset:0; z-index:-1;
  background:radial-gradient(ellipse at 50% 50%, rgba(224,32,43,0.07), transparent 70%);
}
.mission p{font-size:clamp(1.2rem,2.4vw,1.6rem); line-height:1.6; color:var(--ink);}

/* SPONSOR / CONTACT */
.sponsor{
  padding:20px 6vw 130px; max-width:640px; margin:0 auto; text-align:center;
}
.sponsor p.lead{color:var(--ink-muted); line-height:1.7; margin-bottom:40px; font-size:1rem;}
.sponsor form{text-align:left; display:flex; flex-direction:column; gap:18px;}
.sponsor .row{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
.sponsor label{
  font-family:'Oswald'; text-transform:uppercase; letter-spacing:0.08em; font-size:0.72rem;
  color:var(--ink-muted); margin-bottom:6px; display:block;
}
.sponsor input, .sponsor textarea, .sponsor select{
  width:100%; background:var(--bg-alt); border:1px solid var(--line); color:var(--ink);
  padding:12px 14px; font-family:'Inter'; font-size:0.95rem; border-radius:4px;
}
.sponsor select{appearance:none; background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="%23a89f95"><path d="M5 7l5 6 5-6z"/></svg>'); background-repeat:no-repeat; background-position:right 14px center; background-size:14px;}
.sponsor input:focus, .sponsor textarea:focus, .sponsor select:focus{
  outline:none; border-color:var(--ember); box-shadow:0 0 0 3px var(--ember-glow);
}
.sponsor textarea{min-height:120px; resize:vertical;}
.sponsor button{
  margin-top:6px; background:var(--red); color:var(--ink); border:none;
  padding:15px 22px; font-family:'Oswald'; text-transform:uppercase; letter-spacing:0.1em;
  font-size:0.85rem; cursor:pointer; transition:all 0.2s ease; border-radius:4px;
}
.sponsor button:hover{background:var(--red-deep); box-shadow:0 0 26px var(--red-glow);}
.sponsor .note{font-size:0.75rem; color:var(--ink-muted); opacity:0.7; margin-top:4px;}

/* FOOTER */
footer{
  padding:60px 6vw 40px; text-align:center;
  border-top:1px solid var(--line);
}
.footer-links{display:flex; gap:30px; justify-content:center; margin-bottom:22px; flex-wrap:wrap;}
.footer-links a{
  font-family:'Oswald'; text-transform:uppercase; letter-spacing:0.1em; font-size:0.82rem;
  color:var(--ink-muted); padding-bottom:4px; border-bottom:1px solid transparent;
}
.footer-links a:hover{color:var(--ember-bright); border-color:var(--ember-bright);}
.social-link{display:inline-flex; align-items:center; gap:9px;}
.social-icon{width:18px; height:18px; flex-shrink:0;}
footer .copy{font-size:0.72rem; color:var(--ink-muted); opacity:0.6; letter-spacing:0.04em;}

/* ===== MOBILE ===== */
@media(max-width:768px){
  .nav{padding:14px 5vw;}
  .nav-mark{font-size:0.78rem; max-width:58%;}
  .nav-links{gap:8px; font-size:0.66rem;}
  .nav-links a.jump{padding:7px 13px;}

  .hero{padding:20px 6vw 60px;}
  .hero-logo{width:min(320px, 72vw);}
  .scanner{height:22px; margin-top:30px; margin-bottom:16px;}
  .scanner-track{padding:0 5vw;}
  .scanner-track svg{width:16px; height:7px;}

  .strip{gap:16px 24px; padding:26px 8vw;}

  .who{padding:0 0 70px;}
  .gallery-arrow{width:36px; height:36px; font-size:1.2rem;}
  .gallery-prev{left:8px;}
  .gallery-next{right:8px;}
  .gallery-dots{bottom:10px; gap:5px;}
  .gallery-dot{width:5px; height:5px;}
  .gallery-dot.active{width:14px;}
  .lightbox-close{width:38px; height:38px; top:14px; right:14px;}
  .lightbox-arrow{width:42px; height:42px; font-size:1.4rem;}
  .lightbox-prev{left:8px;}
  .lightbox-next{right:8px;}
  .who-content{width:92vw; margin-top:20px; padding:28px 22px; border-radius:12px;}
  .who-quote{font-size:1.3rem; padding-left:14px;}

  .mission{padding:40px 6vw 70px;}
  .sponsor{padding:10px 6vw 90px;}
  .sponsor .row{grid-template-columns:1fr;}
}

@media(max-width:420px){
  .nav-mark{font-size:0.7rem; max-width:52%;}
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .scanner-orb{animation:none; left:50%; opacity:0.6;}
}
