/* ==========================================================
   CFPD INDIA — Federation Website
   Premium · Futuristic · Olympic-grade
   ========================================================== */

:root{
  --ink:#0A0E1A;
  --ink2:#0F1424;
  --gold:#FFB800;
  --gold-soft:#F5C84B;
  --line:rgba(255,255,255,0.08);
}

*{ -webkit-font-smoothing:antialiased; }
html{ scroll-behavior:smooth; }
body{ background:var(--ink); }

/* Anchor offset for fixed nav */
section[id]{ scroll-margin-top: 80px; }
@media (max-width: 1024px){ section[id]{ scroll-margin-top: 72px; } }

/* Skip link (a11y) */
.skip-link{
  position:absolute; left:-9999px; top:8px; z-index:200;
  background:var(--gold); color:#0A0E1A;
  padding:.6rem 1rem; border-radius:6px;
  font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:13px;
  letter-spacing:.15em; text-transform:uppercase;
}
.skip-link:focus{ left:8px; }

/* Scroll progress */
.scroll-progress{
  position:fixed; top:0; left:0; height:2px; width:0;
  background:linear-gradient(90deg, #FFB800, #FFC833);
  z-index:60; pointer-events:none;
  box-shadow:0 0 12px rgba(255,184,0,.6);
  transition:width .08s linear;
}

/* Back to top */
.back-to-top{
  position:fixed; right:1.25rem; bottom:1.25rem; z-index:55;
  width:46px; height:46px; border-radius:50%;
  background:var(--gold); color:#0A0E1A;
  display:grid; place-items:center;
  box-shadow:0 12px 30px -10px rgba(255,184,0,.7);
  opacity:0; transform:translateY(12px) scale(.85); pointer-events:none;
  transition:opacity .3s ease, transform .3s ease, background .25s ease;
}
.back-to-top.visible{ opacity:1; transform:none; pointer-events:auto; }
.back-to-top:hover{ background:#FFC833; transform:translateY(-3px); }

/* Better focus ring */
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible{
  outline:2px solid var(--gold); outline-offset:2px; border-radius:4px;
}

::selection{ background:var(--gold); color:#0A0E1A; }

/* ---------- Global FX layers ---------- */
.fx-grid{
  position:fixed; inset:0; pointer-events:none; z-index:0;
  background-image:
    linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: radial-gradient(ellipse at center, #000 30%, transparent 80%);
  -webkit-mask-image: radial-gradient(ellipse at center, #000 30%, transparent 80%);
}
.fx-noise{
  position:fixed; inset:0; pointer-events:none; z-index:1; opacity:.04; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.6'/></svg>");
}

/* ---------- Nav ---------- */
#siteNav.scrolled{
  background:rgba(10,14,26,0.78);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.logo-mark{
  display:grid; place-items:center;
  width:38px; height:38px; border-radius:8px;
  background:linear-gradient(145deg,#FFB800 0%,#F5C84B 100%);
  color:#0A0E1A;
  box-shadow:0 8px 30px -8px rgba(255,184,0,.55);
}
.nav-link{
  position:relative; color:rgba(255,255,255,.75);
  transition:color .25s ease;
}
.nav-link:hover{ color:#fff; }
.nav-link::after{
  content:""; position:absolute; left:50%; bottom:-8px;
  width:0; height:2px; background:var(--gold); transition:width .3s ease, left .3s ease;
}
.nav-link:hover::after, .nav-active::after{ width:100%; left:0; }
.nav-active{ color:var(--gold); }

/* ---------- Buttons ---------- */
.btn-gold{
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.75rem 1.25rem; border-radius:6px;
  background:var(--gold); color:#0A0E1A;
  font-family:'Space Grotesk',sans-serif; font-weight:700;
  letter-spacing:.18em; text-transform:uppercase; font-size:12px;
  box-shadow:0 10px 30px -10px rgba(255,184,0,.6), inset 0 0 0 1px rgba(0,0,0,.05);
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.btn-gold:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 40px -12px rgba(255,184,0,.8);
  background:#FFC833;
}
.btn-gold.btn-lg{ padding:1rem 1.6rem; font-size:13px; }

.btn-ghost{
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.75rem 1.25rem; border-radius:6px;
  background:transparent; color:#fff;
  border:1px solid rgba(255,255,255,.25);
  font-family:'Space Grotesk',sans-serif; font-weight:600;
  letter-spacing:.18em; text-transform:uppercase; font-size:12px;
  transition:all .25s ease;
}
.btn-ghost:hover{ border-color:var(--gold); color:var(--gold); }
.btn-ghost.btn-lg{ padding:1rem 1.6rem; font-size:13px; }

.badge-pill{
  display:inline-block;
  padding:.3rem .7rem; border-radius:999px;
  background:rgba(255,255,255,.06); border:1px solid var(--line);
  font-family:'Space Grotesk',sans-serif; font-size:10px;
  letter-spacing:.25em; text-transform:uppercase; color:#fff;
}

/* ---------- Hero ---------- */
.hero-bg{
  position:absolute; inset:0; z-index:0; overflow:hidden;
  background:
    radial-gradient(1200px 600px at 80% -10%, rgba(255,184,0,.15), transparent 60%),
    radial-gradient(900px 600px at -10% 80%, rgba(80,120,255,.10), transparent 60%),
    linear-gradient(180deg,#0A0E1A 0%,#0B1020 60%,#0A0E1A 100%);
}
.hero-glow{
  position:absolute; border-radius:50%; filter:blur(80px); opacity:.55;
  animation:floaty 14s ease-in-out infinite;
}
.hero-glow-1{ width:420px; height:420px; background:rgba(255,184,0,.35); top:-80px; right:-60px; }
.hero-glow-2{ width:360px; height:360px; background:rgba(80,120,255,.25); bottom:-100px; left:-40px; animation-delay:-6s; }
@keyframes floaty{
  0%,100%{ transform:translate3d(0,0,0) }
  50%{ transform:translate3d(0,-22px,0) }
}
.hero-board{
  position:absolute; inset:auto -10% -25% -10%; height:50%;
  background-image:
    linear-gradient(45deg, rgba(255,255,255,.03) 25%, transparent 25%, transparent 75%, rgba(255,255,255,.03) 75%),
    linear-gradient(45deg, rgba(255,255,255,.03) 25%, transparent 25%, transparent 75%, rgba(255,255,255,.03) 75%);
  background-size:80px 80px;
  background-position:0 0,40px 40px;
  transform:perspective(900px) rotateX(62deg);
  mask-image:linear-gradient(180deg,#000 0%,transparent 80%);
  -webkit-mask-image:linear-gradient(180deg,#000 0%,transparent 80%);
  opacity:.5;
}

.hero-strike{
  position:relative; display:inline-block; color:#fff;
}
.hero-strike::after{
  content:""; position:absolute; left:-4%; right:-4%; top:55%;
  height:.18em; background:var(--gold);
  transform:rotate(-6deg) scaleX(0); transform-origin:left center;
  animation:strike 1.2s .5s cubic-bezier(.2,.8,.2,1) forwards;
  border-radius:4px;
}
@keyframes strike{ to{ transform:rotate(-6deg) scaleX(1); } }

/* Hero card */
.hero-card{
  position:relative; border-radius:20px; padding:1px;
  background:linear-gradient(140deg, rgba(255,184,0,.6), rgba(255,255,255,.08) 40%, rgba(255,184,0,.3));
  box-shadow:0 30px 80px -30px rgba(0,0,0,.7);
}
.hero-card-inner{
  position:relative; border-radius:20px; overflow:hidden;
  background:linear-gradient(160deg,#0F1424 0%,#0A0E1A 100%);
}
.hero-card-pattern{
  position:absolute; inset:0; opacity:.35;
  background-image:
    linear-gradient(45deg, rgba(255,255,255,.04) 25%, transparent 25%, transparent 75%, rgba(255,255,255,.04) 75%),
    linear-gradient(45deg, rgba(255,255,255,.04) 25%, transparent 25%, transparent 75%, rgba(255,255,255,.04) 75%);
  background-size:42px 42px;
  background-position:0 0,21px 21px;
  mask-image:radial-gradient(ellipse at top right, #000, transparent 70%);
  -webkit-mask-image:radial-gradient(ellipse at top right, #000, transparent 70%);
}

/* ---------- Reveal animation ---------- */
.reveal{ opacity:0; transform:translateY(28px); transition:opacity .9s ease, transform .9s cubic-bezier(.2,.8,.2,1); }
.reveal.in{ opacity:1; transform:none; }

/* ---------- Section base ---------- */
section{ position:relative; z-index:2; }
.section-eyebrow{
  display:inline-flex; align-items:center; gap:.6rem;
  font-family:'Space Grotesk',sans-serif; font-size:11px;
  letter-spacing:.35em; text-transform:uppercase; color:var(--gold);
}
.section-eyebrow::before{
  content:""; width:32px; height:1px; background:var(--gold);
}
.section-title{
  font-family:'Anton',sans-serif; font-weight:400;
  font-size:clamp(2.2rem, 5vw, 4rem);
  line-height:.95; letter-spacing:.01em;
}

/* ---------- Responsive helpers ---------- */
@media (max-width: 640px){
  .hero-glow-1{ width:280px; height:280px; }
  .hero-glow-2{ width:240px; height:240px; }
}

/* ========== IMPACT ========== */
.impact-card{
  position:relative; overflow:hidden;
  padding:1.75rem 1.5rem; border-radius:14px;
  background:linear-gradient(160deg,rgba(255,255,255,.03),rgba(255,255,255,0));
  border:1px solid var(--line);
  transition:transform .35s ease, border-color .35s ease, background .35s ease;
}
.impact-card:hover{
  transform:translateY(-6px);
  border-color:rgba(255,184,0,.35);
  background:linear-gradient(160deg,rgba(255,184,0,.05),rgba(255,255,255,0));
}
.impact-icon{
  width:42px; height:42px; border-radius:10px;
  display:grid; place-items:center;
  background:rgba(255,184,0,.10); color:var(--gold);
  margin-bottom:1.25rem;
}
.impact-icon svg{ width:22px; height:22px; }
.impact-num{
  font-family:'Anton',sans-serif; font-size:clamp(2.6rem,5.5vw,4rem);
  line-height:.9; color:#fff;
}
.impact-label{
  margin-top:.75rem; font-family:'Space Grotesk',sans-serif;
  font-size:11px; letter-spacing:.25em; text-transform:uppercase;
  color:rgba(255,255,255,.65);
}
.impact-rule{
  margin-top:1.25rem; height:2px; width:32px; background:var(--gold); transition:width .4s ease;
}
.impact-card:hover .impact-rule{ width:64px; }

.impact-card-gold{
  background:linear-gradient(160deg,#FFB800,#F5C84B);
  border-color:transparent; color:#0A0E1A;
}
.impact-card-gold .impact-icon{ background:rgba(0,0,0,.08); color:#0A0E1A; }
.impact-card-gold .impact-num{ color:#0A0E1A; }
.impact-card-gold:hover{ transform:translateY(-6px); }

/* ========== ABOUT ========== */
.about-bg{
  position:absolute; inset:0; pointer-events:none; z-index:0;
  background:
    radial-gradient(700px 400px at 80% 50%, rgba(255,184,0,.07), transparent 60%);
}
.about-visual{
  position:relative; padding:1px; border-radius:20px;
  background:linear-gradient(140deg, rgba(255,184,0,.5), rgba(255,255,255,.06) 50%, rgba(255,184,0,.25));
}
.about-visual-tag{
  position:absolute; top:18px; left:18px; z-index:5;
  padding:.4rem .75rem; border-radius:999px;
  background:rgba(10,14,26,.85); backdrop-filter:blur(10px);
  font-family:'Space Grotesk',sans-serif; font-size:10px;
  letter-spacing:.25em; text-transform:uppercase; color:var(--gold);
  border:1px solid rgba(255,184,0,.25);
}
.about-visual-grid{
  position:relative; border-radius:20px; overflow:hidden;
  background:#0F1424;
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:auto 120px;
  gap:2px;
  min-height:460px;
}
.about-quote{
  grid-column:1 / -1; padding:2rem;
  background:linear-gradient(160deg,#0F1424 0%,#0A0E1A 100%);
}
.about-pic{
  background-size:cover; background-position:center;
  position:relative;
}
.about-pic::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, transparent 50%, rgba(10,14,26,.6) 100%);
}
.about-pic-1{
  background-image:
    linear-gradient(135deg, rgba(255,184,0,.18), rgba(80,120,255,.12)),
    repeating-linear-gradient(45deg, rgba(255,255,255,.04) 0 10px, transparent 10px 20px);
  background-color:#0E1326;
}
.about-pic-2{
  background-image:
    linear-gradient(135deg, rgba(80,120,255,.18), rgba(255,184,0,.12)),
    repeating-linear-gradient(-45deg, rgba(255,255,255,.04) 0 10px, transparent 10px 20px);
  background-color:#0E1326;
}
.about-pic-3{
  display:none;
}

.affil-card{
  display:flex; align-items:center; gap:1rem;
  padding:1.1rem 1.25rem; border-radius:12px;
  border:1px solid var(--line);
  background:linear-gradient(160deg,rgba(255,255,255,.03),transparent);
  transition:border-color .3s ease, transform .3s ease;
}
.affil-card:hover{ border-color:rgba(255,184,0,.4); transform:translateY(-3px); }
.affil-stamp{
  width:62px; height:62px; flex-shrink:0; border-radius:12px;
  display:grid; place-items:center;
  font-family:'Anton',sans-serif; font-size:1.3rem; letter-spacing:.05em;
  background:linear-gradient(145deg,#FFB800,#F5C84B); color:#0A0E1A;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);
}

/* ========== VISION & MISSION ========== */
.vm-card{
  position:relative; padding:1px; border-radius:20px;
  background:linear-gradient(160deg, rgba(255,255,255,.12), rgba(255,255,255,.02));
  overflow:hidden;
}
.vm-card-inner{
  position:relative; z-index:2;
  padding:2.25rem; border-radius:20px;
  background:linear-gradient(160deg,#0F1424 0%,#0A0E1A 100%);
  min-height:420px;
}
.vm-card-glow{
  position:absolute; inset:-40%; z-index:1;
  background:radial-gradient(closest-side, rgba(80,120,255,.25), transparent 70%);
  filter:blur(40px); opacity:.6; pointer-events:none;
  transition:opacity .4s ease;
}
.vm-card-glow-gold{
  background:radial-gradient(closest-side, rgba(255,184,0,.32), transparent 70%);
}
.vm-card:hover .vm-card-glow{ opacity:1; }

.vm-icon{
  width:54px; height:54px; border-radius:14px;
  display:grid; place-items:center;
  background:rgba(80,120,255,.12); color:#7aa2ff;
  border:1px solid rgba(80,120,255,.25);
}
.vm-icon-gold{
  background:rgba(255,184,0,.12); color:var(--gold);
  border-color:rgba(255,184,0,.3);
}
.vm-icon svg{ width:24px; height:24px; }

.vm-li{
  position:relative; padding-left:1.6rem; line-height:1.55;
}
.vm-li::before{
  content:""; position:absolute; left:0; top:.55rem;
  width:.65rem; height:.65rem; border-radius:2px;
  background:var(--gold); transform:rotate(45deg);
  box-shadow:0 0 0 4px rgba(255,184,0,.1);
}
.vm-li-strong{ color:#fff; font-weight:600; }

.vm-stripe{
  margin-top:1.75rem; height:3px; width:48px;
  background:#7aa2ff; border-radius:2px;
}
.vm-stripe-gold{ background:var(--gold); }

/* ========== WHAT WE DO ========== */
.work-bg{
  position:absolute; inset:0; pointer-events:none; z-index:0;
  background:
    radial-gradient(900px 500px at 20% 30%, rgba(80,120,255,.07), transparent 60%),
    radial-gradient(700px 400px at 90% 80%, rgba(255,184,0,.06), transparent 60%);
}
.work-card{
  position:relative; overflow:hidden;
  padding:2rem 1.75rem; border-radius:16px;
  background:linear-gradient(160deg,rgba(255,255,255,.04),rgba(255,255,255,0));
  border:1px solid var(--line);
  transition:transform .4s cubic-bezier(.2,.8,.2,1), border-color .4s ease, background .4s ease;
}
.work-card::before{
  content:""; position:absolute; inset:auto -1px -1px -1px; height:2px;
  background:linear-gradient(90deg, transparent, var(--gold), transparent);
  transform:scaleX(0); transform-origin:left center; transition:transform .5s ease;
}
.work-card:hover{
  transform:translateY(-8px);
  border-color:rgba(255,184,0,.3);
  background:linear-gradient(160deg,rgba(255,184,0,.04),rgba(255,255,255,0));
}
.work-card:hover::before{ transform:scaleX(1); }

.work-num{
  position:absolute; top:1rem; right:1.25rem;
  font-family:'Anton',sans-serif; font-size:2.4rem;
  color:rgba(255,255,255,.06); letter-spacing:.05em;
  transition:color .4s ease;
}
.work-card:hover .work-num{ color:rgba(255,184,0,.18); }

.work-icon{
  width:52px; height:52px; border-radius:12px;
  display:grid; place-items:center;
  background:rgba(255,184,0,.08); color:var(--gold);
  border:1px solid rgba(255,184,0,.2);
  margin-bottom:1.5rem;
  transition:transform .4s ease;
}
.work-card:hover .work-icon{ transform:rotate(-6deg) scale(1.05); }
.work-icon svg{ width:24px; height:24px; }

.work-title{
  font-family:'Space Grotesk',sans-serif; font-weight:600;
  font-size:1.35rem; margin-bottom:.5rem;
}
.work-desc{
  font-family:'Inter',sans-serif; color:rgba(255,255,255,.65);
  font-size:.95rem; line-height:1.55;
}
.work-card-feature{
  background:linear-gradient(160deg, rgba(255,184,0,.10), rgba(255,184,0,.02));
  border-color:rgba(255,184,0,.25);
}
.work-card-feature .work-num{ color:rgba(255,184,0,.18); }

/* ========== OUR REACH ========== */
.reach-map{
  position:relative; aspect-ratio: 4/4.6;
  border-radius:24px; overflow:hidden;
  background:
    radial-gradient(700px 500px at 50% 50%, rgba(255,184,0,.06), transparent 70%),
    linear-gradient(160deg, #0F1424 0%, #0A0E1A 100%);
  border:1px solid var(--line);
}
.reach-map-grid{
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:32px 32px;
  mask-image: radial-gradient(ellipse at center, #000 50%, transparent 90%);
  -webkit-mask-image: radial-gradient(ellipse at center, #000 50%, transparent 90%);
}
.reach-svg{
  position:absolute; inset:0; width:100%; height:100%;
}
.dot{ fill:#FFB800; }
.dot-pulse{
  filter:drop-shadow(0 0 8px rgba(255,184,0,.8));
  transform-origin:center; transform-box:fill-box;
  animation:dotPulse 2.4s ease-in-out infinite;
}
.reach-dots circle:nth-child(3){ animation-delay:.6s; }
.reach-dots circle:nth-child(5){ animation-delay:1.2s; }
@keyframes dotPulse{
  0%,100%{ opacity:.95; transform:scale(1); }
  50%{ opacity:.6; transform:scale(1.4); }
}
.dot-label{
  font-family:'Space Grotesk',sans-serif; font-size:11px;
  fill:#fff; letter-spacing:.08em; text-transform:uppercase;
}

.reach-overlay{
  position:absolute; left:1.25rem; bottom:1.25rem;
  display:flex; gap:1rem;
}
.reach-stat{
  padding:.9rem 1.1rem; border-radius:12px;
  background:rgba(10,14,26,.7); backdrop-filter:blur(10px);
  border:1px solid var(--line);
}
.reach-stat-label{
  margin-top:.25rem; font-family:'Space Grotesk',sans-serif;
  font-size:10px; letter-spacing:.25em; text-transform:uppercase;
  color:rgba(255,255,255,.6);
}

.reach-li{
  display:flex; align-items:center; gap:.9rem;
  padding:.85rem 1rem; border-radius:10px;
  border:1px solid var(--line); background:rgba(255,255,255,.02);
  font-family:'Inter',sans-serif; color:rgba(255,255,255,.85);
}
.reach-tag{
  display:inline-block; min-width:54px; text-align:center;
  padding:.25rem .5rem; border-radius:6px;
  background:rgba(255,184,0,.12); color:var(--gold);
  font-family:'Space Grotesk',sans-serif; font-size:10px;
  letter-spacing:.25em; text-transform:uppercase;
  border:1px solid rgba(255,184,0,.25);
}
.reach-tag-future{
  background:rgba(80,120,255,.10); color:#7aa2ff;
  border-color:rgba(80,120,255,.25);
}
.reach-li-future{ border-style:dashed; border-color:rgba(80,120,255,.3); }

/* ========== OFFICE BEARERS ========== */
.leaders-bg{
  position:absolute; inset:0; pointer-events:none; z-index:0;
  background:
    radial-gradient(900px 500px at 50% 0%, rgba(255,184,0,.06), transparent 70%),
    linear-gradient(180deg, transparent 0%, rgba(255,255,255,.015) 50%, transparent 100%);
}

.leaders-divider{
  display:flex; align-items:center; gap:1rem;
  margin: 2rem 0 1.5rem;
  font-family:'Space Grotesk',sans-serif; font-size:11px;
  letter-spacing:.3em; text-transform:uppercase; color:rgba(255,255,255,.55);
}
.leaders-divider::before,
.leaders-divider::after{
  content:""; flex:1; height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.12), transparent);
}
.leaders-divider span{ white-space:nowrap; }

.leader-card{
  position:relative; overflow:hidden; border-radius:14px;
  background:#0F1424; border:1px solid var(--line);
  transition:transform .45s cubic-bezier(.2,.8,.2,1), border-color .35s ease, box-shadow .45s ease;
  isolation:isolate;
}
.leader-card::before{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:3;
  background:linear-gradient(180deg, transparent 50%, rgba(10,14,26,.92) 100%);
}
.leader-card::after{
  content:""; position:absolute; inset:auto 0 0 0; height:3px; z-index:4;
  background:linear-gradient(90deg, var(--gold), transparent);
  transform:scaleX(0); transform-origin:left center; transition:transform .55s ease;
}
.leader-card:hover{
  transform:translateY(-8px);
  border-color:rgba(255,184,0,.4);
  box-shadow:0 30px 60px -25px rgba(0,0,0,.7), 0 0 0 1px rgba(255,184,0,.12);
}
.leader-card:hover::after{ transform:scaleX(1); }

.leader-photo{
  position:relative; width:100%; aspect-ratio: 1 / 1.15;
  background-size:cover; background-position:center top;
  background-color:#0A0E1A;
  filter:saturate(.95) contrast(1.02);
  transition:transform .9s cubic-bezier(.2,.8,.2,1), filter .5s ease;
}
.leader-card:hover .leader-photo{
  transform:scale(1.05);
  filter:saturate(1.1) contrast(1.05);
}

.leader-meta{
  position:absolute; left:0; right:0; bottom:0; z-index:5;
  padding:1.1rem 1.1rem 1.1rem;
}
.leader-tag{
  display:inline-block;
  padding:.3rem .65rem; border-radius:999px;
  background:rgba(255,255,255,.08); color:#fff;
  font-family:'Space Grotesk',sans-serif; font-size:10px;
  letter-spacing:.22em; text-transform:uppercase;
  border:1px solid var(--line); backdrop-filter:blur(6px);
  margin-bottom:.6rem;
}
.leader-tag-gold{
  background:rgba(255,184,0,.18); color:var(--gold);
  border-color:rgba(255,184,0,.4);
}
.leader-tag-blue{
  background:rgba(80,120,255,.16); color:#9bb6ff;
  border-color:rgba(80,120,255,.35);
}
.leader-name{
  font-family:'Space Grotesk',sans-serif; font-weight:700;
  font-size:1.05rem; line-height:1.25; color:#fff;
}
.leader-role{
  margin-top:.3rem; font-family:'Inter',sans-serif;
  font-size:.78rem; color:rgba(255,255,255,.65); line-height:1.4;
}

/* Featured (top row) */
.leader-feature{ }
.leader-feature .leader-photo{ aspect-ratio: 16 / 11; background-position:center 25%; }
.leader-feature .leader-name{ font-size:1.4rem; }
.leader-feature .leader-role{ font-size:.88rem; }

/* Mobile tweaks */
@media (max-width: 640px){
  .leader-feature .leader-photo{ aspect-ratio: 4 / 3; }
}

/* ========== TOURNAMENTS ========== */
.tour-bg{
  position:absolute; inset:0; z-index:0; pointer-events:none;
  background:radial-gradient(800px 500px at 90% 20%, rgba(80,120,255,.06), transparent 60%);
}
.btn-sm{ padding:.55rem .9rem !important; font-size:11px !important; }

.filter-chip{
  padding:.5rem .9rem; border-radius:999px;
  background:rgba(255,255,255,.04); border:1px solid var(--line);
  font-family:'Space Grotesk',sans-serif; font-size:11px;
  letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.7);
  transition:all .25s ease;
}
.filter-chip:hover{ color:#fff; border-color:rgba(255,184,0,.4); }
.filter-chip-active{
  background:var(--gold); color:#0A0E1A; border-color:var(--gold);
  box-shadow:0 8px 20px -8px rgba(255,184,0,.6);
}

.tour-card{
  position:relative; overflow:hidden; border-radius:16px;
  background:#0F1424; border:1px solid var(--line);
  display:flex; flex-direction:column;
  transition:transform .4s cubic-bezier(.2,.8,.2,1), border-color .35s ease, box-shadow .35s ease;
}
.tour-card:hover{
  transform:translateY(-6px);
  border-color:rgba(255,184,0,.35);
  box-shadow:0 24px 50px -25px rgba(0,0,0,.6);
}

.tour-banner{
  position:relative; height:120px;
  display:flex; align-items:flex-start; justify-content:space-between;
  padding:1rem 1.1rem;
  background-size:cover; background-position:center;
}
.tour-banner-1{ background:linear-gradient(135deg, rgba(255,184,0,.85), rgba(245,200,75,.4)), repeating-linear-gradient(45deg, rgba(0,0,0,.08) 0 12px, transparent 12px 24px); }
.tour-banner-2{ background:linear-gradient(135deg, rgba(80,120,255,.85), rgba(120,160,255,.4)), repeating-linear-gradient(-45deg, rgba(0,0,0,.10) 0 12px, transparent 12px 24px); }
.tour-banner-3{ background:linear-gradient(135deg, rgba(255,80,80,.85), rgba(255,140,80,.4)), repeating-linear-gradient(45deg, rgba(0,0,0,.10) 0 12px, transparent 12px 24px); }
.tour-banner-4{ background:linear-gradient(135deg, rgba(60,70,90,.95), rgba(40,50,70,.7)), repeating-linear-gradient(45deg, rgba(255,255,255,.04) 0 12px, transparent 12px 24px); }
.tour-banner-5{ background:linear-gradient(135deg, rgba(20,180,140,.85), rgba(60,200,180,.4)), repeating-linear-gradient(-45deg, rgba(0,0,0,.10) 0 12px, transparent 12px 24px); }

.tour-status{
  display:inline-flex; align-items:center; gap:.4rem;
  padding:.3rem .65rem; border-radius:999px;
  font-family:'Space Grotesk',sans-serif; font-size:10px;
  letter-spacing:.25em; text-transform:uppercase;
  background:rgba(0,0,0,.45); color:#fff; backdrop-filter:blur(10px);
}
.tour-status-upcoming{ background:rgba(0,0,0,.55); }
.tour-status-ongoing{ background:rgba(255,40,40,.85); }
.tour-status-ongoing::before{ content:""; width:6px; height:6px; border-radius:50%; background:#fff; animation:livePulse 1.4s ease-in-out infinite; }
@keyframes livePulse{ 0%,100%{opacity:1} 50%{opacity:.3} }
.tour-status-completed{ background:rgba(255,255,255,.10); color:rgba(255,255,255,.85); }

.tour-id{
  font-family:'Space Grotesk',sans-serif; font-size:10px;
  letter-spacing:.3em; color:rgba(255,255,255,.85);
  background:rgba(0,0,0,.4); padding:.3rem .55rem; border-radius:6px; backdrop-filter:blur(8px);
}

.tour-body{ padding:1.5rem; display:flex; flex-direction:column; flex:1; }
.tour-date{
  display:inline-flex; align-items:baseline; gap:.45rem;
  font-family:'Anton',sans-serif; color:var(--gold);
  margin-bottom:.6rem;
}
.tour-date-day{ font-size:2rem; line-height:1; }
.tour-date-mon{ font-size:.95rem; letter-spacing:.15em; color:#fff; }
.tour-date-year{ font-size:.8rem; color:rgba(255,255,255,.5); margin-left:.25rem; }

.tour-title{
  font-family:'Space Grotesk',sans-serif; font-weight:600;
  font-size:1.18rem; line-height:1.3; color:#fff; margin-bottom:.6rem;
}
.tour-meta{
  display:flex; align-items:center; gap:.5rem;
  font-family:'Inter',sans-serif; font-size:.85rem; color:rgba(255,255,255,.65);
  margin-bottom:1.25rem;
}
.tour-meta svg{ color:var(--gold); flex-shrink:0; }

.tour-foot{
  margin-top:auto; padding-top:1rem; border-top:1px solid var(--line);
  display:flex; align-items:center; justify-content:space-between;
}
.tour-prize-label{
  display:block; font-family:'Space Grotesk',sans-serif; font-size:9px;
  letter-spacing:.25em; text-transform:uppercase; color:rgba(255,255,255,.5);
}
.tour-prize-amt{
  display:block; font-family:'Space Grotesk',sans-serif; font-weight:600;
  color:#fff; font-size:.95rem;
}

.tour-card-cta{
  background:linear-gradient(160deg, rgba(255,184,0,.10), rgba(255,184,0,.02));
  border-color:rgba(255,184,0,.25); border-style:dashed;
}
.tour-cta-inner{ padding:2rem; text-align:center; display:flex; flex-direction:column; align-items:center; justify-content:center; height:100%; min-height:380px; }

/* ========== PLAYERS ========== */
.player-search{
  display:flex; flex-direction:column; gap:1rem;
  padding:1.1rem 1.3rem; border-radius:14px;
  background:linear-gradient(160deg,rgba(255,255,255,.04),rgba(255,255,255,.01));
  border:1px solid var(--line);
}
@media (min-width:900px){ .player-search{ flex-direction:row; align-items:center; justify-content:space-between; gap:2rem; } }

.player-search-input{
  flex:1; min-width:0; background:transparent; border:0; outline:0;
  color:#fff; font-family:'Inter',sans-serif; font-size:.95rem;
  padding:.4rem 0;
}
.player-search-input::placeholder{ color:rgba(255,255,255,.4); }

.player-select{
  background:rgba(255,255,255,.04); color:#fff;
  border:1px solid var(--line); border-radius:8px;
  padding:.55rem .8rem; font-family:'Space Grotesk',sans-serif;
  font-size:11px; letter-spacing:.15em; text-transform:uppercase;
  cursor:pointer;
}
.player-select option{ background:#0F1424; color:#fff; }

.player-card{
  position:relative; overflow:hidden; padding:1.5rem 1.4rem; border-radius:16px;
  background:linear-gradient(160deg,#0F1424 0%,#0A0E1A 100%);
  border:1px solid var(--line);
  transition:transform .4s ease, border-color .35s ease, box-shadow .35s ease;
}
.player-card:hover{
  transform:translateY(-6px);
  border-color:rgba(255,184,0,.4);
  box-shadow:0 30px 50px -25px rgba(0,0,0,.6), 0 0 0 1px rgba(255,184,0,.1);
}
.player-rank{
  position:absolute; top:1rem; right:1.2rem;
  font-family:'Anton',sans-serif; font-size:1.6rem; color:rgba(255,255,255,.08);
  letter-spacing:.05em;
}

.player-avatar{
  width:62px; height:62px; border-radius:14px;
  display:grid; place-items:center;
  font-family:'Anton',sans-serif; font-size:1.5rem; color:#0A0E1A;
  margin-bottom:1rem;
}
.player-avatar-1{ background:linear-gradient(145deg,#FFB800,#F5C84B); }
.player-avatar-2{ background:linear-gradient(145deg,#7aa2ff,#5a8fff); color:#fff; }
.player-avatar-3{ background:linear-gradient(145deg,#ff80a0,#ff5070); color:#fff; }
.player-avatar-4{ background:linear-gradient(145deg,#14c490,#0aa070); color:#fff; }

.player-name{
  font-family:'Space Grotesk',sans-serif; font-weight:700;
  font-size:1.15rem; color:#fff; margin-bottom:.2rem;
}
.player-state{
  font-family:'Inter',sans-serif; font-size:.85rem; color:rgba(255,255,255,.6);
  margin-bottom:1rem;
}
.player-stats{
  display:grid; grid-template-columns:1fr 1fr; gap:.5rem;
  padding:.8rem 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  margin-bottom:1rem;
}
.player-stat-num{
  display:block; font-family:'Anton',sans-serif; font-size:1.4rem; color:var(--gold); line-height:1;
}
.player-stat-lbl{
  display:block; margin-top:.3rem;
  font-family:'Space Grotesk',sans-serif; font-size:9px;
  letter-spacing:.22em; text-transform:uppercase; color:rgba(255,255,255,.5);
}
.player-badge{
  display:inline-block; padding:.3rem .65rem; border-radius:999px;
  background:rgba(255,184,0,.12); color:var(--gold);
  border:1px solid rgba(255,184,0,.25);
  font-family:'Space Grotesk',sans-serif; font-size:10px;
  letter-spacing:.2em; text-transform:uppercase;
}

/* ========== NEWS ========== */
.news-card{
  position:relative; overflow:hidden; border-radius:16px;
  background:#0F1424; border:1px solid var(--line);
  transition:transform .4s ease, border-color .35s ease;
}
.news-card:hover{ transform:translateY(-4px); border-color:rgba(255,184,0,.3); }

.news-feature{ display:flex; flex-direction:column; }
.news-feature .news-image{
  position:relative; aspect-ratio: 16/9;
  background-size:cover; background-position:center;
}
.news-image-1{
  background-image:
    linear-gradient(135deg, rgba(255,184,0,.4), rgba(80,120,255,.3)),
    repeating-linear-gradient(45deg, rgba(255,255,255,.05) 0 14px, transparent 14px 28px);
  background-color:#0E1326;
}
.news-image-2{
  background-image:
    linear-gradient(135deg, rgba(80,120,255,.45), rgba(20,180,140,.3)),
    repeating-linear-gradient(-45deg, rgba(255,255,255,.05) 0 12px, transparent 12px 24px);
  background-color:#0E1326;
}
.news-image-3{
  background-image:
    linear-gradient(135deg, rgba(20,180,140,.45), rgba(255,184,0,.3)),
    repeating-linear-gradient(45deg, rgba(255,255,255,.05) 0 12px, transparent 12px 24px);
  background-color:#0E1326;
}
.news-image-4{
  background-image:
    linear-gradient(135deg, rgba(255,80,120,.45), rgba(255,184,0,.3)),
    repeating-linear-gradient(-45deg, rgba(255,255,255,.05) 0 12px, transparent 12px 24px);
  background-color:#0E1326;
}

.news-cat{
  position:absolute; top:1rem; left:1rem;
  padding:.35rem .7rem; border-radius:999px;
  background:rgba(10,14,26,.85); color:var(--gold);
  border:1px solid rgba(255,184,0,.3); backdrop-filter:blur(8px);
  font-family:'Space Grotesk',sans-serif; font-size:10px;
  letter-spacing:.25em; text-transform:uppercase;
}
.news-cat-sm{
  display:inline-block; padding:.25rem .55rem; border-radius:999px;
  background:rgba(255,184,0,.12); color:var(--gold);
  border:1px solid rgba(255,184,0,.25);
  font-family:'Space Grotesk',sans-serif; font-size:9px;
  letter-spacing:.2em; text-transform:uppercase;
  margin-bottom:.55rem;
}

.news-body{ padding:1.5rem; }
.news-feature .news-body{ padding:1.75rem 1.75rem 2rem; }
.news-meta{
  display:flex; align-items:center; gap:.6rem;
  font-family:'Space Grotesk',sans-serif; font-size:11px;
  letter-spacing:.15em; text-transform:uppercase; color:rgba(255,255,255,.5);
  margin-bottom:.75rem;
}
.news-dot{ width:3px; height:3px; border-radius:50%; background:var(--gold); }
.news-title-lg{
  font-family:'Space Grotesk',sans-serif; font-weight:700;
  font-size:clamp(1.4rem, 2.4vw, 1.85rem); line-height:1.2; color:#fff;
  margin-bottom:.85rem;
}
.news-title{
  font-family:'Space Grotesk',sans-serif; font-weight:600;
  font-size:1.05rem; line-height:1.35; color:#fff;
  margin-bottom:.55rem;
  transition:color .25s ease;
}
.news-card:hover .news-title{ color:var(--gold); }
.news-excerpt{
  font-family:'Inter',sans-serif; color:rgba(255,255,255,.7);
  line-height:1.6; margin-bottom:1.25rem;
}
.news-link{
  display:inline-flex; align-items:center; gap:.4rem;
  font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:13px;
  color:var(--gold); letter-spacing:.05em;
}
.news-link:hover{ color:#FFC833; }

.news-side{ display:grid; grid-template-columns:120px 1fr; }
.news-image-sm{
  background-size:cover; background-position:center;
  min-height:120px;
}
.news-side .news-body{ padding:1.1rem 1.2rem; }
@media (max-width: 540px){
  .news-side{ grid-template-columns:1fr; }
  .news-image-sm{ aspect-ratio:16/9; }
}

/* ========== GALLERY ========== */
.gallery-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  grid-auto-rows:160px;
  gap:.6rem;
}
@media (max-width: 900px){
  .gallery-grid{ grid-template-columns:repeat(3, 1fr); grid-auto-rows:140px; }
}
@media (max-width: 540px){
  .gallery-grid{ grid-template-columns:repeat(2, 1fr); grid-auto-rows:120px; }
}

.gallery-item{
  position:relative; overflow:hidden; border-radius:14px; cursor:pointer;
  background:#0F1424; border:1px solid var(--line);
  transition:transform .5s ease, border-color .35s ease;
}
.gallery-item::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(180deg, transparent 50%, rgba(10,14,26,.85) 100%);
  opacity:0; transition:opacity .35s ease;
  z-index:2;
}
.gallery-item::after{
  content:attr(data-cap); position:absolute; left:1rem; right:1rem; bottom:.9rem; z-index:3;
  font-family:'Space Grotesk',sans-serif; font-size:11px;
  letter-spacing:.2em; text-transform:uppercase; color:#fff;
  transform:translateY(8px); opacity:0; transition:opacity .35s ease, transform .35s ease;
}
.gallery-item:hover{ transform:scale(1.02); border-color:rgba(255,184,0,.35); }
.gallery-item:hover::before{ opacity:1; }
.gallery-item:hover::after{ opacity:1; transform:translateY(0); }

/* Layout spans for varied composition */
.gallery-item-1{ grid-column:span 2; grid-row:span 2; background:
  linear-gradient(135deg, rgba(255,184,0,.45), rgba(80,120,255,.3)),
  repeating-linear-gradient(45deg, rgba(255,255,255,.05) 0 14px, transparent 14px 28px); }
.gallery-item-2{ background:
  linear-gradient(135deg, rgba(80,120,255,.5), rgba(20,180,140,.3)),
  repeating-linear-gradient(-45deg, rgba(255,255,255,.05) 0 12px, transparent 12px 24px); }
.gallery-item-3{ background:
  linear-gradient(135deg, rgba(255,80,120,.45), rgba(255,184,0,.3)),
  repeating-linear-gradient(45deg, rgba(255,255,255,.05) 0 12px, transparent 12px 24px); }
.gallery-item-4{ grid-column:span 2; background:
  linear-gradient(135deg, rgba(20,180,140,.45), rgba(80,120,255,.3)),
  repeating-linear-gradient(-45deg, rgba(255,255,255,.05) 0 14px, transparent 14px 28px); }
.gallery-item-5{ background:
  linear-gradient(135deg, rgba(255,184,0,.45), rgba(255,80,120,.3)),
  repeating-linear-gradient(45deg, rgba(255,255,255,.05) 0 12px, transparent 12px 24px); }
.gallery-item-6{ background:
  linear-gradient(135deg, rgba(120,80,200,.5), rgba(80,120,255,.3)),
  repeating-linear-gradient(-45deg, rgba(255,255,255,.05) 0 12px, transparent 12px 24px); }
.gallery-item-7{ grid-column:span 2; background:
  linear-gradient(135deg, rgba(255,80,80,.45), rgba(255,184,0,.3)),
  repeating-linear-gradient(45deg, rgba(255,255,255,.05) 0 14px, transparent 14px 28px); }
.gallery-item-8{ background:
  linear-gradient(135deg, rgba(20,180,140,.45), rgba(255,184,0,.3)),
  repeating-linear-gradient(-45deg, rgba(255,255,255,.05) 0 12px, transparent 12px 24px); }

@media (max-width: 540px){
  .gallery-item-1, .gallery-item-4, .gallery-item-7{ grid-column:span 2; }
}

/* ========== CTA · MOVEMENT ========== */
.cta-frame{
  position:relative; overflow:hidden; padding:1px; border-radius:28px;
  background:linear-gradient(140deg, rgba(255,184,0,.55), rgba(255,255,255,.05) 50%, rgba(255,184,0,.4));
}
.cta-frame-inner{
  position:relative; z-index:3;
  border-radius:28px; padding:5rem 1.5rem;
  background:linear-gradient(160deg,#0F1424 0%,#0A0E1A 100%);
  text-align:center;
}
.cta-frame-glow{
  position:absolute; inset:-30%; z-index:1;
  background:radial-gradient(closest-side, rgba(255,184,0,.18), transparent 70%);
  filter:blur(60px); pointer-events:none;
}
.cta-frame-grid{
  position:absolute; inset:0; z-index:2; pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:48px 48px;
  mask-image:radial-gradient(ellipse at center, #000 30%, transparent 80%);
  -webkit-mask-image:radial-gradient(ellipse at center, #000 30%, transparent 80%);
  border-radius:28px;
  margin:1px;
}
.cta-headline{
  font-family:'Anton',sans-serif;
  font-size:clamp(2.5rem, 7vw, 5.5rem);
  line-height:.95; margin-top:1.25rem;
  letter-spacing:.005em;
}
.cta-sub{
  margin:1.25rem auto 0; max-width:42rem;
  color:rgba(255,255,255,.7); font-family:'Space Grotesk',sans-serif;
  font-size:1.05rem; line-height:1.6;
}
.cta-mini-stats{
  margin-top:3rem; padding-top:2rem; border-top:1px solid var(--line);
  display:grid; grid-template-columns:repeat(4,1fr); gap:1rem;
  max-width:42rem; margin-left:auto; margin-right:auto;
}
.cta-mini-num{
  display:block; font-family:'Anton',sans-serif; font-size:1.8rem; color:var(--gold);
}
.cta-mini-lbl{
  display:block; margin-top:.25rem;
  font-family:'Space Grotesk',sans-serif; font-size:9px;
  letter-spacing:.25em; text-transform:uppercase; color:rgba(255,255,255,.55);
}

/* ========== CONTACT ========== */
.contact-row{
  display:flex; align-items:flex-start; gap:1rem;
  padding:1rem 1.1rem; border-radius:12px;
  border:1px solid var(--line);
  background:linear-gradient(160deg, rgba(255,255,255,.03), transparent);
  transition:border-color .25s ease, transform .25s ease;
}
.contact-row:hover{ border-color:rgba(255,184,0,.4); transform:translateX(4px); }
.contact-row-static{ pointer-events:none; }
.contact-icon{
  flex-shrink:0; width:44px; height:44px; border-radius:10px;
  display:grid; place-items:center;
  background:rgba(255,184,0,.10); color:var(--gold);
  border:1px solid rgba(255,184,0,.25);
}
.contact-icon svg{ width:20px; height:20px; }
.contact-lbl{
  font-family:'Space Grotesk',sans-serif; font-size:10px;
  letter-spacing:.25em; text-transform:uppercase; color:rgba(255,255,255,.5);
}
.contact-val{
  margin-top:.2rem;
  font-family:'Inter',sans-serif; font-size:1rem; color:#fff; line-height:1.5;
}

/* Form */
.contact-form{
  position:relative; padding:2rem; border-radius:18px;
  background:linear-gradient(160deg,#0F1424 0%,#0A0E1A 100%);
  border:1px solid var(--line);
}
.form-field{ display:block; }
.form-field > span{
  display:block; margin-bottom:.5rem;
  font-family:'Space Grotesk',sans-serif; font-size:11px;
  letter-spacing:.22em; text-transform:uppercase; color:rgba(255,255,255,.55);
}
.form-field input,
.form-field select,
.form-field textarea{
  width:100%; background:rgba(255,255,255,.03);
  border:1px solid var(--line); border-radius:10px;
  padding:.85rem 1rem; color:#fff;
  font-family:'Inter',sans-serif; font-size:.95rem;
  transition:border-color .25s ease, background .25s ease;
  resize:vertical;
}
.form-field input::placeholder, .form-field textarea::placeholder{ color:rgba(255,255,255,.4); }
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus{
  outline:none; border-color:rgba(255,184,0,.5);
  background:rgba(255,184,0,.04);
}
.form-field select option{ background:#0F1424; color:#fff; }

.form-thanks{
  margin-top:1.5rem; padding:1rem 1.2rem; border-radius:12px;
  background:rgba(20,180,140,.10); border:1px solid rgba(20,180,140,.35);
  display:flex; align-items:center; gap:.9rem; color:#fff;
  font-family:'Space Grotesk',sans-serif;
}
.form-thanks-mark{
  width:32px; height:32px; border-radius:50%;
  background:#14b48c; color:#06231a;
  display:grid; place-items:center; font-weight:700; flex-shrink:0;
}
.form-thanks strong{ display:block; }
.form-thanks span{ color:rgba(255,255,255,.7); font-size:.9rem; }

/* ========== FOOTER ========== */
.footer-wrap{
  position:relative; z-index:2;
  background:linear-gradient(180deg,#080B14 0%, #050810 100%);
  border-top:1px solid var(--line);
  margin-top:2rem;
}
.footer-banner{
  border-bottom:1px solid var(--line);
  padding:3.5rem 1.5rem;
  background:
    radial-gradient(800px 300px at 50% 0%, rgba(255,184,0,.10), transparent 70%),
    repeating-linear-gradient(45deg, rgba(255,255,255,.02) 0 14px, transparent 14px 28px);
}
.footer-banner-text{
  text-align:center;
  font-family:'Anton',sans-serif;
  font-size:clamp(2rem, 6vw, 4rem);
  line-height:1.05;
  letter-spacing:.02em;
}
.footer-banner-text span{ display:inline-block; margin:0 .5rem; }

.footer-heading{
  font-family:'Space Grotesk',sans-serif; font-weight:600;
  font-size:11px; letter-spacing:.3em; text-transform:uppercase;
  color:#fff; margin-bottom:1rem;
}
.footer-links{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.55rem; }
.footer-links a{
  font-family:'Inter',sans-serif; font-size:.92rem;
  color:rgba(255,255,255,.6); transition:color .2s ease;
}
.footer-links a:hover{ color:var(--gold); }

.footer-sub{
  display:flex; align-items:center;
  background:rgba(255,255,255,.04); border:1px solid var(--line);
  border-radius:10px; overflow:hidden;
}
.footer-sub input{
  flex:1; min-width:0; background:transparent; border:0; outline:0;
  padding:.7rem .9rem; color:#fff; font-family:'Inter',sans-serif; font-size:.9rem;
}
.footer-sub button{
  background:var(--gold); color:#0A0E1A; padding:.7rem .9rem;
  display:grid; place-items:center;
  transition:background .25s ease;
}
.footer-sub button:hover{ background:#FFC833; }

.social-btn{
  width:36px; height:36px; border-radius:50%;
  display:grid; place-items:center;
  background:rgba(255,255,255,.04); color:rgba(255,255,255,.7);
  border:1px solid var(--line);
  transition:all .25s ease;
}
.social-btn:hover{ color:#0A0E1A; background:var(--gold); border-color:var(--gold); transform:translateY(-2px); }

.footer-bottom{
  margin-top:3rem; padding-top:1.5rem;
  border-top:1px solid var(--line);
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  flex-wrap:wrap;
  font-family:'Inter',sans-serif; font-size:.82rem; color:rgba(255,255,255,.5);
}
.footer-bottom ul{ list-style:none; padding:0; margin:0; display:flex; gap:1.25rem; }
.footer-bottom a{ color:rgba(255,255,255,.55); transition:color .2s ease; }
.footer-bottom a:hover{ color:var(--gold); }

/* ========== LIGHTBOX ========== */
.lightbox{
  position:fixed; inset:0; z-index:100; display:none;
  align-items:center; justify-content:center; padding:2rem;
  background:rgba(5,8,16,.92); backdrop-filter:blur(12px);
  animation:lbFade .25s ease;
}
.lightbox.open{ display:flex; }
@keyframes lbFade{ from{opacity:0} to{opacity:1} }
.lightbox-close{
  position:absolute; top:1rem; right:1.5rem;
  width:42px; height:42px; border-radius:50%;
  background:rgba(255,255,255,.08); color:#fff;
  border:1px solid var(--line);
  font-size:1.6rem; line-height:1; cursor:pointer;
  transition:all .25s ease;
}
.lightbox-close:hover{ background:var(--gold); color:#0A0E1A; border-color:var(--gold); }
.lightbox-content{
  width:100%; max-width:920px; max-height:80vh;
  display:flex; flex-direction:column; gap:1rem;
}
.lightbox-image{
  flex:1; border-radius:14px; min-height:60vh;
  background-size:cover; background-position:center;
  border:1px solid var(--line);
}
.lightbox-cap{
  text-align:center; font-family:'Space Grotesk',sans-serif;
  font-size:11px; letter-spacing:.3em; text-transform:uppercase; color:rgba(255,255,255,.7);
}

/* Reduced motion */
@media (prefers-reduced-motion:reduce){
  *{ animation:none !important; transition:none !important; }
  .reveal{ opacity:1; transform:none; }
}
