:root{
  --bg:#050914;
  --bg2:#09111f;
  --panel:#0b1628;
  --blue:#075ad8;
  --blue2:#0b7cff;
  --electric:#2aa4ff;
  --white:#f7fbff;
  --muted:#aab8c8;
  --line:rgba(255,255,255,.10);
  --shadow:0 18px 60px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--white);font-family:Inter,Arial,sans-serif;line-height:1.6}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;background:linear-gradient(to bottom,rgba(3,8,18,.92),rgba(3,8,18,.60),transparent);backdrop-filter:blur(8px)}
.nav-wrap{max-width:1250px;margin:auto;padding:18px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px}.brand-mark{font-family:"Barlow Condensed",sans-serif;font-size:1.75rem;font-weight:800;font-style:italic;letter-spacing:.04em;color:#fff;text-shadow:0 0 18px rgba(42,164,255,.5)}.brand-text{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:1.05rem;text-transform:uppercase;letter-spacing:.04em}.brand-text small{display:block;color:var(--electric);font-size:.75rem;letter-spacing:.12em}
.main-nav{display:flex;gap:26px;font-family:"Barlow Condensed",sans-serif;font-size:1.05rem;text-transform:uppercase;letter-spacing:.06em}.main-nav a{position:relative}.main-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:2px;background:var(--electric);transition:.2s}.main-nav a:hover:after{right:0}.menu-toggle{display:none;background:none;border:1px solid var(--line);color:#fff;font-size:1.4rem;border-radius:8px;padding:7px 10px}
.hero{min-height:100vh;position:relative;display:flex;align-items:flex-end;background:url('images/ffsw-hero.png') center center/cover no-repeat;padding:140px 24px 86px;overflow:hidden}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,6,14,.88) 0%,rgba(2,6,14,.55) 42%,rgba(2,6,14,.10) 72%),linear-gradient(0deg,rgba(5,9,20,1) 0%,transparent 28%)}.hero-content{position:relative;z-index:2;width:min(1250px,100%);margin:0 auto}.eyebrow,.kicker{display:inline-block;font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.18em;font-weight:700;color:var(--electric);font-size:.85rem}.hero h1{font-family:"Barlow Condensed",sans-serif;font-size:clamp(4.2rem,9vw,8rem);line-height:.84;text-transform:uppercase;margin:12px 0 24px;max-width:820px;letter-spacing:-.025em;text-shadow:0 6px 26px rgba(0,0,0,.45)}.hero h1 span{color:#fff;-webkit-text-stroke:1px rgba(42,164,255,.45);text-shadow:0 0 28px rgba(42,164,255,.22)}.hero-copy{font-size:1.15rem;color:#d7e2ed;max-width:620px}.hero-actions,.join-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 22px;border-radius:8px;font-family:"Barlow Condensed",sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.07em;transition:.2s;border:1px solid transparent}.btn-primary{background:linear-gradient(135deg,var(--blue2),var(--blue));box-shadow:0 8px 24px rgba(11,124,255,.28)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(11,124,255,.40)}.btn-ghost{border-color:rgba(255,255,255,.22);background:rgba(0,0,0,.20)}.btn-ghost:hover{border-color:var(--electric);background:rgba(42,164,255,.08)}.scroll-cue{position:absolute;z-index:2;bottom:20px;left:50%;transform:translateX(-50%);font-size:2rem;color:#fff;opacity:.7}
.stats-strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#07101e}.stats-strip>div{text-align:center;padding:24px 12px;border-right:1px solid var(--line)}.stats-strip>div:last-child{border-right:0}.stats-strip strong{display:block;font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:1.25rem}.stats-strip span{color:var(--muted);font-size:.82rem}
.section{padding:100px 24px}.section-dark{background:var(--bg)}.section-blue{background:radial-gradient(circle at top right,rgba(11,124,255,.22),transparent 36%),linear-gradient(180deg,#07101f,#091524)}.section-heading{max-width:1250px;margin:0 auto 48px}.section-heading.centered{text-align:center}.section-heading h2{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:clamp(2.6rem,5vw,4.6rem);line-height:.98;margin:10px 0 14px}.section-heading p{color:var(--muted);max-width:700px}.centered p{margin-left:auto;margin-right:auto}
.about-grid{max-width:1250px;margin:auto;display:grid;grid-template-columns:1.05fr .95fr;gap:24px}.card,.feature-card{border:1px solid var(--line);border-radius:18px}.glass-card{padding:34px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.02));box-shadow:var(--shadow)}.about-copy p{font-size:1.05rem;color:#d5deea}.feature-stack{display:grid;gap:14px}.feature-card{padding:22px 24px;background:var(--panel);position:relative;overflow:hidden}.feature-card span{position:absolute;right:16px;top:2px;font-family:"Barlow Condensed",sans-serif;font-size:4rem;font-weight:800;color:rgba(42,164,255,.11)}.feature-card h3{font-family:"Barlow Condensed",sans-serif;text-transform:uppercase;font-size:1.6rem;margin:0 0 6px}.feature-card p{margin:0;color:var(--muted)}
.events-grid{max-width:1250px;margin:auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:18px}.event-card{border:1px solid var(--line);border-radius:18px;background:rgba(4,10,20,.72);padding:24px;box-shadow:var(--shadow)}.featured-event{display:flex;gap:24px;align-items:center;background:linear-gradient(135deg,rgba(11,124,255,.18),rgba(5,9,20,.92))}.event-date{width:94px;min-width:94px;height:108px;border-radius:14px;background:linear-gradient(180deg,var(--blue2),var(--blue));display:flex;flex-direction:column;justify-content:center;align-items:center;box-shadow:0 12px 30px rgba(11,124,255,.25)}.event-date span{font-family:"Barlow Condensed";font-size:3rem;font-weight:800;line-height:.9}.event-date small{letter-spacing:.16em;font-weight:700}.event-tag{font-size:.73rem;text-transform:uppercase;letter-spacing:.15em;color:var(--electric);font-weight:700}.event-card h3{font-family:"Barlow Condensed";font-size:1.7rem;text-transform:uppercase;margin:8px 0}.event-card p{color:var(--muted)}.event-meta{display:flex;gap:18px;flex-wrap:wrap;color:#dce7f3;font-size:.85rem}.placeholder-card{display:flex;align-items:flex-end;min-height:220px;background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.04))}
/* =========================
   MEMBERS CAR ROLLING BANNER
========================= */

.car-slider{
  width:100%;
  overflow:hidden;
  position:relative;
  padding:10px 0 20px;
}


/* soft fade at each edge */

.car-slider::before,
.car-slider::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:120px;
  z-index:2;
  pointer-events:none;
}

.car-slider::before{
  left:0;
  background:linear-gradient(
    to right,
    var(--bg),
    transparent
  );
}

.car-slider::after{
  right:0;
  background:linear-gradient(
    to left,
    var(--bg),
    transparent
  );
}


/* moving strip */

.car-slider-track{
  display:flex;
  gap:18px;
  width:max-content;

  animation:
    carScroll 50s linear infinite;
}


/* individual images */

.car-slide{
  width:360px;
  height:230px;

  flex-shrink:0;

  border-radius:16px;
  overflow:hidden;

  background:#09111f;

  box-shadow:
    0 12px 35px rgba(0,0,0,.35);
}

.car-slide img{
  width:100%;
  height:100%;

  object-fit:cover;

  display:block;

  transition:
    transform .35s ease,
    filter .35s ease;
}


/* slight zoom on hover */

.car-slide:hover img{
  transform:scale(1.05);
}


/* pause the banner when mouse is over it */




/* endless movement */

@keyframes carScroll{

  from{
    transform:translateX(0);
  }

  to{
    transform:translateX(calc(-50% - 9px));
  }

}


/* tablets */

@media(max-width:900px){

  .car-slide{
    width:300px;
    height:200px;
  }

}


/* phones */

@media(max-width:560px){

  .car-slide{
    width:260px;
    height:175px;
  }

  .car-slider-track{
    gap:12px;
    animation-duration:28s;
  }

  .car-slider::before,
  .car-slider::after{
    width:45px;
  }

}
.charity-section{background:linear-gradient(rgba(3,8,18,.82),rgba(3,8,18,.94)),url('images/ffsw-hero.png') center/cover fixed}.charity-panel{max-width:1100px;margin:auto;display:grid;grid-template-columns:1fr 260px;gap:50px;align-items:center;padding:46px;border:1px solid rgba(255,255,255,.13);border-radius:24px;background:rgba(3,9,18,.74);backdrop-filter:blur(10px);box-shadow:var(--shadow)}.charity-panel h2{font-family:"Barlow Condensed";font-size:3.6rem;text-transform:uppercase;line-height:1;margin:10px 0 18px}.charity-panel p{color:#d0d9e4}.small-note{font-size:.86rem}.charity-badge{width:230px;height:230px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;font-family:"Barlow Condensed";font-size:3rem;font-weight:800;line-height:.85;border:8px solid #fff;box-shadow:0 0 0 8px var(--blue2),0 0 55px rgba(11,124,255,.35);transform:rotate(-5deg)}.charity-badge span{font-size:1.2rem;letter-spacing:.09em;color:var(--electric)}
.join-section{padding-top:90px}.join-card{max-width:1000px;margin:auto;text-align:center;padding:60px 32px;border:1px solid var(--line);border-radius:24px;background:radial-gradient(circle at top,rgba(11,124,255,.17),transparent 38%),#081220;box-shadow:var(--shadow)}.join-card h2{font-family:"Barlow Condensed";font-size:clamp(3rem,6vw,5.3rem);line-height:.92;text-transform:uppercase;margin:12px 0 18px}.join-card p{max-width:680px;margin:0 auto;color:var(--muted)}.join-actions{justify-content:center}.link-note{font-size:.78rem!important;margin-top:16px!important;color:#6f8296!important}
.site-footer{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center;padding:30px 24px;border-top:1px solid var(--line);background:#040812;max-width:none}.site-footer>div:first-child{display:flex;flex-direction:column;font-family:"Barlow Condensed";text-transform:uppercase}.site-footer>div:first-child span{font-size:.75rem;color:var(--muted)}.footer-domain{font-family:"Barlow Condensed";font-size:1.25rem;font-weight:700;color:var(--electric)}.footer-small{text-align:right;color:#748397;font-size:.78rem}
@media(max-width:900px){.menu-toggle{display:block}.main-nav{position:absolute;top:72px;left:18px;right:18px;display:none;flex-direction:column;background:rgba(4,9,18,.97);padding:20px;border:1px solid var(--line);border-radius:14px}.main-nav.open{display:flex}.hero{background-position:58% center}.hero-overlay{background:linear-gradient(90deg,rgba(2,6,14,.92),rgba(2,6,14,.64) 72%,rgba(2,6,14,.30)),linear-gradient(0deg,rgba(5,9,20,1),transparent 28%)}.stats-strip{grid-template-columns:repeat(2,1fr)}.stats-strip>div:nth-child(2){border-right:0}.stats-strip>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.about-grid,.events-grid,.charity-panel{grid-template-columns:1fr}.events-grid{max-width:700px}.charity-badge{margin:auto}.gallery-grid{grid-template-columns:repeat(2,1fr)}.site-footer{grid-template-columns:1fr;text-align:center}.footer-small{text-align:center}}
@media(max-width:560px){.brand-text{display:none}.hero{min-height:92vh;padding-bottom:62px}.hero h1{font-size:4.1rem}.hero-copy{font-size:1rem}.section{padding:72px 18px}.stats-strip strong{font-size:1rem}.featured-event{align-items:flex-start}.event-date{width:76px;min-width:76px;height:92px}.event-date span{font-size:2.4rem}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:180px}.gallery-tile.large{grid-column:auto;grid-row:auto}.charity-panel{padding:28px 20px}.charity-panel h2{font-size:2.8rem}.charity-badge{width:185px;height:185px;font-size:2.4rem}.join-card{padding:44px 20px}}

/* =========================
   MOBILE CAR SLIDER FIX
========================= */

.car-slider{
  width:100%;
  overflow:hidden;
  position:relative;
}

.car-slider-track{
  display:flex;
  flex-direction:row;
  flex-wrap:nowrap;
  align-items:center;

  width:max-content;
  gap:18px;

  animation:carScroll 35s linear infinite;

  will-change:transform;
}

.car-slide{
  flex:0 0 360px;
  width:360px;
  height:230px;

  border-radius:16px;
  overflow:hidden;

  background:#09111f;

  box-shadow:0 12px 35px rgba(0,0,0,.35);
}

.car-slide img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}


/* Desktop mouse only - pause on hover */

@media (hover:hover) and (pointer:fine){

  .car-slider:hover .car-slider-track{
    animation-play-state:paused;
  }

}


/* Tablets */

@media(max-width:900px){

  .car-slider-track{
    display:flex;
    flex-direction:row;
    flex-wrap:nowrap;
  }

  .car-slide{
    flex:0 0 300px;
    width:300px;
    min-width:300px;
    height:200px;
  }

}


/* Phones */

@media(max-width:560px){

  .car-slider{
    width:100%;
    overflow:hidden;
  }

  .car-slider-track{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;

    width:max-content !important;

    gap:12px;

    animation:carScroll 28s linear infinite;
  }

  .car-slide{
    display:block;

    flex:0 0 260px !important;

    width:260px !important;
    min-width:260px !important;
    max-width:260px !important;

    height:175px !important;
  }

  .car-slide img{
    width:260px;
    height:175px;

    object-fit:cover;
    display:block;
  }

}


/* Continuous scrolling */

@keyframes carScroll{

  from{
    transform:translateX(0);
  }

  to{
    transform:translateX(calc(-50% - 9px));
  }

}