
:root {
  --brand:#0044cc;
  --ink:#0a1a2b;
  --muted:#6c7a91;
  --surface:#ffffff;
  --radius: 1rem;
  --shadow: 0 10px 30px rgba(2,18,64,.08);
  --grad-hero: linear-gradient(135deg,#081a3a,#0b48cc);
  --grad-card: linear-gradient(180deg,rgba(255,255,255,.86),rgba(255,255,255,.92));
  --nav-offset: 64px;
}

html { scroll-behavior: smooth; }
body { background:#fff; color:var(--ink); }
a { text-decoration: none; }

/* Hero */
.hero {
  background: var(--grad-hero);
  border-radius: 1.25rem;
}
.hero .stat { color: rgba(255,255,255,.85); }

/* Modern “glass” cards */
.card.bg-glass{
  background: var(--grad-card);
  backdrop-filter: blur(6px);
  border: 1px solid rgba(0,0,0,.06);
  box-shadow: var(--shadow);
  border-radius: var(--radius);
}

/* Section headers */
.section-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1rem;
}
.section-head small{ color:var(--muted); }

/* Tile icon */
.tile-icon{
  width:42px;
  height:42px;
  border-radius:10px;
  display:inline-grid;
  place-items:center;
  background: rgba(0,68,204,.1);
  color:#0b48cc;
}

/* Sticky subnav */
.subnav-wrapper{
  position: sticky;
  top: var(--nav-offset);
  z-index: 1020;
  margin-top: 1rem;
  margin-bottom: .75rem;
}
.subnav {
  background: #fff;
  border:1px solid rgba(0,0,0,.06);
  border-radius: 999px;
  box-shadow: var(--shadow);
  padding: .25rem;
  display: inline-flex;
  gap: .25rem;
}
.subnav .btn {
  border-radius: 999px;
  padding: .5rem 1rem;
}
.subnav .btn.active {
  background: var(--brand);
  color: #fff;
}

/* Anchor offset for fixed nav when linking */
section[id] {
  scroll-margin-top: calc(var(--nav-offset) + 16px);
}

/* Hero image aspect ratio */
.hero-img {
  aspect-ratio: 2048 / 585;
  object-fit: cover;
}

/* Text outline */
.text-outline-dark {
  text-shadow:
    0 1px 2px rgba(0,0,0,.65),
    0 0 8px rgba(0,0,0,.35);
  -webkit-text-stroke: .5px rgba(0,0,0,.6);
}

/* Partners strip */
#partners .section-head {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1rem;
}
#partners .section-head small {
  color: var(--muted, #6c7a91);
}

.partner-logos {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 14px;
  align-items: center;
}

.partner-card {
  background: #fff;
  border: 1px solid rgba(0,0,0,.06);
  border-radius: .75rem;
  box-shadow: 0 10px 30px rgba(2,18,64,.06);
  height: 84px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
}

.partner-card img {
  max-width: 100%;
  max-height: 48px;
  filter: grayscale(100%);
  opacity: .85;
  transition: transform .15s ease, opacity .15s ease, filter .15s ease;
}

.partner-card:hover img {
  filter: none;
  opacity: 1;
  transform: scale(1.03);
}

/* Action/hero images */
.action-img {
  aspect-ratio: 2048 / 391;
  object-fit: cover;
}
.sebring-img {
  aspect-ratio: 2048 / 370;
  object-fit: cover;
}
.night-img {
  aspect-ratio: 1500 / 320;
  object-fit: cover;
}


