:root {
  /* --- HRT THEME PALETTE --- */
  --bg0: #131212;         /* Asphalt Black */
  --bg1: #141414;         /* Dark Grey */
  --accent: #01178f;      /* Racing Red */
  
  /* FORCE WHITE TEXT VARIABLES */
  --text: #ffffff;
  --muted: #d0d0d0;       /* Light Grey (readable on black) */
  --stroke: rgba(255, 255, 255, 0.15);
  
  /* Industrial/Sharp Corners */
  --radius: 2px;
  --radius2: 4px;
}

/* 1. GLOBAL RESET - FORCE DARK MODE */
* { box-sizing: border-box; }

html, body {
  background: var(--bg0);
  color: var(--text);
  font-family: 'Inter', sans-serif;
  min-height: 100vh; /* ...to this! */
}


/* 2. FORCE ALL TEXT ELEMENTS TO WHITE */
h1, h2, h3, h4, h5, h6, 
p, span, a, li, button, 
div, label, strong, b, em {
  color: #ffffff !important;
}

/* 3. EXCEPTIONS (Things that shouldn't be pure white) */
.eyebrow, 
.meta__label, 
.snapshot__k, 
.section__lead, 
.story__copy {
  color: #bbbbbb !important; /* Slight grey for hierarchy */
}

/* 4. LINKS & ACCENTS */
a:hover {
  color: var(--accent) !important;
}

.brand__last {
  color: var(--accent) !important; /* "BEECROFT" in Red */
}

/* 5. CONTAINERS - FIXED TO MATCH BACKGROUND */
.glass, .card, .tile, .hero__meta {
  background: transparent !important; /* Forces it to blend perfectly */
  border: 1px solid #333; /* Keep this if you want the faint outline, or change to 'none' */
  box-shadow: none;
}

/* HRT Style: Red Stripe on left of cards */
.card, .hero__meta {
  border-left: 3px solid var(--accent) !important;
}

/* 6. BUTTONS */
.btn--primary {
  background: var(--accent) !important;
  color: #fff !important;
  border: none;
  text-transform: uppercase;
  font-weight: 800;
  letter-spacing: 1px;
}

.btn--ghost {
  background: transparent !important;
  border: 1px solid #fff !important;
  color: #fff !important;
}

/* 7. SPECIFIC FIXES FOR YOUR SCREENSHOT */
/* The "Snapshot" labels (Current Series, Car, Based) were black */
.meta__label, .snapshot__k {
  color: #888 !important; /* Light Grey */
  text-transform: uppercase;
  font-size: 0.75rem;
  letter-spacing: 1px;
}

.meta__value, .snapshot__v {
  color: #fff !important; /* Bright White */
  font-weight: 700;
}

/* Fix "Season Snapshot" pill */
.pill {
  background: var(--accent);
  color: white !important;
  border: none;
  border-radius: 2px;
}

/* Fix Bullet Points */
.bullet {
  color: #fff !important;
}
.dot {
  background: var(--accent); /* Red dots */
  box-shadow: 0 0 10px var(--accent);
}

/* 8. NAVBAR */
.topbar {
  background: rgba(0,0,0,0.95);
  border-bottom: 2px solid var(--accent);
}

.nav a {
  opacity: 0.8;
}
.nav a:hover {
  opacity: 1;
  color: var(--accent) !important;
}

*{box-sizing:border-box}
html,body{min-height: 100vh;}
body {
  background: var(--bg0);
  font-family: 'Inter', sans-serif; /* Keep Inter, but use heavier weights */
}

/* Sharp, aggressive buttons */
.btn--primary {
  background: var(--accent);
  color: white;
  border: none;
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: 0.1em;
  border-radius: 0; /* Sharp corners */
}

.btn--ghost {
  border: 2px solid white;
  background: transparent;
  border-radius: 0;
}

/* Section Titles */
.section__title {
  font-family: 'Michroma', sans-serif;
  text-transform: uppercase;
  border-left: 4px solid var(--accent); /* Racing stripe detail */
  padding-left: 15px;
  font-size: 2rem;
}

a{color:inherit; text-decoration:none}
img{max-width:100%; display:block}

.container{
  width:min(1480px, 92vw);
  margin:0 auto;
}

.glass{
  background: linear-gradient(180deg, rgba(255,255,255,.085), rgba(255,255,255,.045));
  border: 1px solid var(--stroke);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  backdrop-filter: blur(0px);
}

/* Ambient effects */
/* =========================
   AMBIENT BACKGROUND EFFECTS (AGGRESSIVE GLOW)
   ========================= */

/* 1. Film Grain Texture */
.bg-noise {
  pointer-events: none;
  position: fixed;
  inset: 0;
  opacity: 0.06;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");
  mix-blend-mode: overlay;
  z-index: 1 !important;
}

/* 2. The Red Mustang Logo Container */
.mustang-bg-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0 !important; /* Base layer */
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  overflow: hidden;
  
  /* UPDATED: Increased opacity significantly (was 0.3) */
  opacity: 0.7; 
  mix-blend-mode: screen; 
}

/* 3. The Animated Image Itself */
.mustang-graphic {
  width: 80vw;
  max-width: 1000px;
  height: auto;
  
  /* UPDATED: Double drop-shadow for a "harder" neon look */
  filter: drop-shadow(0 0 10px rgba(227, 6, 19, 1)) drop-shadow(0 0 30px rgba(227, 6, 19, 0.5));
  
  animation: mustang-pulse 4s ease-in-out infinite; /* Slightly faster pulse (4s) */
}

/* 4. The Breathing Animation */
@keyframes mustang-pulse {
  0% {
    transform: scale(1);
    opacity: 0.9;
    /* Standard glow */
    filter: drop-shadow(0 0 10px rgba(227, 6, 19, 1)) drop-shadow(0 0 30px rgba(227, 6, 19, 0.5));
  }
  50% {
    transform: scale(1.04);
    opacity: 1;
    /* AGGRESSIVE GLOW: Wider spread and higher intensity */
    filter: drop-shadow(0 0 20px rgba(227, 6, 19, 1)) drop-shadow(0 0 60px rgba(227, 6, 19, 0.9));
  }
  100% {
    transform: scale(1);
    opacity: 0.9;
    filter: drop-shadow(0 0 10px rgba(227, 6, 19, 1)) drop-shadow(0 0 30px rgba(227, 6, 19, 0.5));
  }
}

/* 5. Mobile Adjustments */
@media (max-width: 768px) {
  .mustang-graphic {
    width: 120%;
    opacity: 0.4; /* Still keep it slightly lower on mobile to read text */
  }
}

/* --- Z-INDEX FIXES (Keep these at the bottom) --- */
main, header, footer, .topbar {
  position: relative;
  z-index: 2 !important;
}

/* Header */
.topbar {
  background: #000;
  border-bottom: 2px solid var(--accent); /* Signature HRT red line */
}

.brand__last {
  color: var(--accent) !important;
}

.nav__cta {
  background: var(--accent);
  border: none;
  color: white;
  border-radius: 0;
}

.topbar__inner{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 0;
  gap:16px;
}

.brand{display:flex; align-items:center; gap:12px}
.brand__mark{
  width:40px; height:40px; border-radius:12px;
  display:grid; place-items:center;
  font-family: Michroma, Inter, sans-serif;
  letter-spacing:.06em;
  background: linear-gradient(135deg, rgba(43,124,255,.35), rgba(202,162,90,.25));
  border:1px solid rgba(255,255,255,.14);
  box-shadow: 0 0 0 1px rgba(0,0,0,.25) inset;
}
.brand__text{display:flex; gap:8px; align-items:baseline}
.brand__first{font-weight:700; letter-spacing:.06em; opacity:.9}
.brand__last{font-weight:800; letter-spacing:.06em; color:var(--blue)}

.nav{display:flex; gap:18px; align-items:center}
.nav a{font-weight:600; font-size:13px; opacity:.85}
.nav a:hover{opacity:1}
.nav__cta{
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(43,124,255,.35);
  background: rgba(43,124,255,.12);
}

.burger{display:none; background:none; border:none; padding:10px; cursor:pointer}
.burger span{display:block; width:22px; height:2px; background:rgba(255,255,255,.75); margin:5px 0; border-radius:2px}

.mobile-nav{
  display:none;
  border-top:1px solid rgba(255,255,255,.08);
  padding:10px 4vw 14px;
  gap:10px;
}
.mobile-nav a{
  display:block;
  padding:12px 10px;
  border-radius:12px;
  background: rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
}

/* Hero */
.hero{padding:42px 0 30px}
.hero__grid{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap:22px;
  align-items:start;
}

.eyebrow{
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-size:12px;
  color:rgba(233,238,252,.75);
  margin:0 0 10px;
}

.hero__title{
  margin:0;
  line-height:.9;
  letter-spacing:-.02em;
  font-family: Michroma, Inter, sans-serif;
  text-transform:uppercase;
}
.hero__first{display:block; font-size:54px; opacity:.92}
.hero__last{display:block; font-size:64px; color:var(--gold); text-shadow:0 0 24px rgba(202,162,90,.15)}
.hero__sub{max-width:52ch; color:var(--muted); margin:14px 0 18px; font-size:15px}

.hero__actions{display:flex; gap:12px; flex-wrap:wrap; margin-bottom:16px}

.btn{
  padding:12px 14px;
  border-radius:14px;
  font-weight:800;
  font-size:13px;
  letter-spacing:.06em;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.12);
}
.btn--primary{
  background: linear-gradient(90deg, rgba(43,124,255,.22), rgba(26,60,255,.12));
  border-color: rgba(43,124,255,.45);
}
.btn--ghost{
  background: rgba(255,255,255,.04);
}
.btn:hover{transform: translateY(-1px); transition: transform .15s ease}

.hero__meta{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:12px;
  padding:14px;
}
.meta__label{display:block; font-size:12px; color:rgba(233,238,252,.65); margin-bottom:6px}
.meta__value{font-weight:800; font-size:13px}

.hero__right{display:grid; gap:14px}
.hero__image{
  position:relative;
  border-radius: var(--radius2);
  overflow:hidden;
  padding:14px;
}
.hero__image img{
  width:100%;
  height:420px;
  object-fit:cover;
  border-radius: var(--radius2);
  filter: contrast(1.06) saturate(1.04);
}
.hero__imageOverlay{
  position:absolute; inset:0;
  background:
    radial-gradient(400px 250px at 30% 35%, rgba(43,124,255,.22), transparent 60%),
    radial-gradient(420px 300px at 75% 20%, rgba(202,162,90,.16), transparent 62%),
    linear-gradient(180deg, rgba(0,0,0,.15), rgba(0,0,0,.55));
  pointer-events:none;
  mix-blend-mode: screen;
  opacity:.55;
}
.calendar-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 20px;
}

.calendar-table th {
  text-align: left;
  text-transform: uppercase;
  font-size: 0.75rem;
  letter-spacing: 1px;
  color: var(--muted) !important;
  padding: 15px;
  border-bottom: 1px solid var(--stroke);
}

.calendar-table td {
  padding: 20px 15px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  font-weight: 600;
}

.calendar-table tr:last-child td { border: none; }

.highlight-box {
  margin-top: 30px;
  padding: 30px;
  background: linear-gradient(90deg, var(--accent), transparent);
  border-radius: var(--radius);
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.hero__cards{
  display:grid;
  grid-template-columns: 1fr;
  gap:14px;
}

/* Cards */
.card{
  padding:16px;
  border-radius: var(--radius2);
}
.card__header{display:flex; align-items:center; justify-content:space-between; margin-bottom:10px}
.card__title{margin:0; font-size:16px; letter-spacing:.02em}
.pill{
  font-size:11px;
  font-weight:800;
  letter-spacing:.16em;
  padding:6px 10px;
  border-radius:999px;
  background: rgba(43,124,255,.14);
  border:1px solid rgba(43,124,255,.35);
}

.snapshot{display:grid; gap:8px; margin:10px 0 14px}
.snapshot__row{display:flex; justify-content:space-between; gap:10px}
.snapshot__k{color:rgba(233,238,252,.7); font-size:12px}
.snapshot__v{font-weight:800; letter-spacing:.06em}

.stats{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:10px;
  margin-top:8px;
}
.stat{
  padding:10px 10px;
  border-radius:14px;
  background: rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  text-align:center;
}
.stat__n{display:block; font-weight:900; font-size:18px; color:rgba(233,238,252,.95)}
.stat__l{display:block; font-size:11px; color:rgba(233,238,252,.65); margin-top:4px}

.card__link{
  display:inline-block;
  margin-top:12px;
  font-weight:800;
  color:rgba(233,238,252,.9);
  opacity:.9;
}
.card__link:hover{opacity:1}

.story{
  position:relative;
  border-radius:16px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
}
.story img{
  height:220px;
  width:100%;
  object-fit:cover;
  filter: contrast(1.03) saturate(1.02);
}
.story__overlay{
  position:absolute; inset:0;
  display:flex; flex-direction:column; justify-content:flex-end;
  padding:14px;
  background: linear-gradient(180deg, transparent, rgba(0,0,0,.68));
}
.story__tag{margin:0 0 6px; font-size:11px; letter-spacing:.18em; font-weight:900; color:rgba(233,238,252,.75)}
.story__headline{margin:0; font-size:16px}
.story__copy{margin:6px 0 0; color:rgba(233,238,252,.75); font-size:13px}

/* Sections */
.section{padding:34px 0}
.section__head{display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:14px}
.section__title{margin:0; font-size:22px; letter-spacing:.02em}
.section__lead{color:var(--muted); max-width:60ch}
.section__sub{margin:8px 0 0; color:rgba(233,238,252,.68); max-width:70ch}

/* About layout */
.twoCol{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:18px;
  align-items:start;
}
.bullets{padding:14px; display:grid; gap:10px}
.bullet{display:flex; align-items:center; gap:10px; color:rgba(233,238,252,.78); font-weight:600}
.dot{
  width:8px; height:8px; border-radius:99px;
  background: rgba(43,124,255,.7);
  box-shadow: 0 0 14px rgba(43,124,255,.35);
}

.featureStrip{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  overflow:hidden;
  border-radius: var(--radius2);
}
.featureStrip img{height:260px; width:100%; object-fit:cover}
.featureStrip__text{padding:14px}
.featureStrip__text h3{margin:6px 0 8px}
.featureStrip__text p{margin:0; color:rgba(233,238,252,.72)}

/* Masonry media */
.masonry{
  columns: 3 260px;
  column-gap: 14px;
}
.tile{
  break-inside: avoid;
  margin: 0 0 14px;
  overflow:hidden;
  border-radius: var(--radius2);
  position:relative;
  transform: translateZ(0);
  /* Media tiles */
.tile{
  position: relative;   
  overflow: hidden;
}

.tile img{
  display: block;
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
  margin-bottom: 18px;
}

/* Floating label (Identity / Details / BTS) */
.tile__cap{
  position: absolute;
  left: 14px;
  bottom: 14px;
  z-index: 2;

  padding: 6px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;

  background: rgba(0,0,0,.55);
  border: 1px solid rgba(255,255,255,.14);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);

  pointer-events: none;
}

}
.tile img{
  width:100%;
  height:auto;
  display:block;
  transition: transform .35s ease;
  filter: contrast(1.03);
}
.tile__cap{
  position:absolute; left:12px; bottom:12px;
  font-weight:900; letter-spacing:.08em; font-size:11px;
  padding:8px 10px;
  border-radius:999px;
  background: rgba(5,8,20,.55);
  border: 1px solid rgba(255,255,255,.14);
  backdrop-filter: blur(10px);
}
.tile:hover img{transform: scale(1.03)}

/* Partners marquee */
.marquee{
  overflow:hidden;
  padding:14px 0;
  border-radius:26px;
}

.marquee__track{
  display:flex;
  width:max-content;
  will-change: transform;
  animation: marquee 20s linear infinite;
}

.marquee__group{
  display:flex;
  align-items:center;
  gap:18px;
  padding:0 14px;
  flex-wrap:nowrap;
  white-space:nowrap;
  flex-shrink: 0;
}


@keyframes marquee {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

.logoPill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:54px;
  padding:10px 18px;
  border-radius:999px;
  background: rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.12);
  min-width:220px;
  white-space:nowrap;
  text-decoration:none;
  flex: 0 0 auto;
}

.logoPill img{
  max-height:26px;
  max-width:170px;
  width:auto;
  height:auto;
  opacity:.9;
}

.logoPillText{
  font-weight:900;
  letter-spacing:.12em;
  font-size:13px;
  opacity:.9;
}


/* Contact */
.contact{
  padding:18px;
  border-radius: var(--radius2);
}
.contact__grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:12px;
  margin-top:12px;
}
.contactCard{
  padding:14px;
  border-radius: 16px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.10);
}
.contactCard__k{display:block; font-size:12px; color:rgba(233,238,252,.65); margin-bottom:6px}
.contactCard__v{display:block; font-weight:900}

.footer{padding:18px 0 28px}
.footer__inner{
  display:flex; justify-content:space-between; align-items:center;
  color:rgba(233,238,252,.6);
  font-size:13px;
}
.contact_logoCard{
  justify-content: center;
}

.contact_logoWrap{
  display: flex;
  align-items: center;
  gap: 12px;
}

.contact_logoWrap img{
  height: 58px;          /* BIGGER logo */
  width: auto;
  max-width: 160px;
  object-fit: contain;
}

.contact_logoText{
  font-weight: 700;
  font-size: 24px;
  letter-spacing: .02em;
  opacity: .9;
  white-space: nowrap;
}


/* Scroll hint */
.scrollHint{
  display:grid;
  place-items:center;
  margin-top:18px;
  opacity:.6;
}
.scrollHint span{
  width:2px; height:26px;
  background: linear-gradient(180deg, transparent, rgba(43,124,255,.7), transparent);
  animation: pulse 1.6s ease-in-out infinite;
}
@keyframes pulse{
  0%,100%{transform: translateY(0); opacity:.5}
  50%{transform: translateY(6px); opacity:1}
}

/* Reveal on scroll */
.reveal{
  opacity:0;
  transform: translateY(12px);
  transition: opacity .7s ease, transform .7s ease;
}
.reveal.is-visible{
  opacity:1;
  transform:none;
}

/* Glitch effect (subtle) */
.glitch{
  position:relative;
}
.glitch::before, .glitch::after{
  content: attr(data-text);
  position:absolute; left:0; top:0;
  width:100%;
  opacity:.25;
  pointer-events:none;
}
.glitch::before{
  transform: translate(2px, 0);
  color: var(--blue);
  clip-path: polygon(0 0, 100% 0, 100% 45%, 0 45%);
  animation: glitch 3.6s infinite linear;
}
.glitch::after{
  transform: translate(-2px, 0);
  color: rgba(202,162,90,.9);
  clip-path: polygon(0 55%, 100% 55%, 100% 100%, 0 100%);
  animation: glitch 4.2s infinite linear;
}
@keyframes glitch{
  0%, 100%{filter:none}
  15%{filter: blur(.3px)}
  16%{filter:none}
  30%{transform: translate(3px,0)}
  31%{transform: translate(2px,0)}
  68%{transform: translate(1px,0)}
}

/* Responsive */
@media (max-width: 920px){
  .hero__grid{grid-template-columns: 1.35fr}
  .hero__image img{height:360px}
  .twoCol{grid-template-columns:1fr}
  .featureStrip{grid-template-columns:1fr}
  .featureStrip img{height:220px}
  .contact__grid{grid-template-columns:1fr}
}
@media (max-width: 720px){
  .nav{display:none}
  .burger{display:block}
  .mobile-nav.is-open{display:grid}
  .hero__first{font-size:44px}
  .hero__last{font-size:54px}
  .hero__meta{grid-template-columns:1fr; gap:10px}
  .stats{grid-template-columns: repeat(2, 1fr)}
  .section__head{flex-direction:column; align-items:flex-start}
}
/* Sponsor logo pills */
.logoPill{
  display: inline-flex;
  justify-content: center;
  height: 54px;
  padding: 10px 18px;
  border-radius: 999px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 14px 40px rgba(0,0,0,.35);
  min-width: 220px;
  white-space: nowrap;
  text-decoration: none;
}

.logoPill img{
  max-height: 26px;
  max-width: 170px;
  width: auto;
  height: auto;
  opacity: .9;
}

.logoPillText{
  font-weight: 900;
  letter-spacing: .12em;
  font-size: 13px;
  opacity: .9;
}

.logoPill:hover{
  transform: translateY(-2px);
  background: rgba(43,124,255,.10);
  border-color: rgba(43,124,255,.45);
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.contact_logoWrap{
  display:flex;
  align-items:center;
  gap:10px;
}

.contact_logoWrap img{
  height: 50px;
  width: auto;
  max-width: 180px;
  object-fit: contain;
  opacity: .95;
}
/* Built-by row layout */
.contact_logoWrap{
  display:flex;
  align-items:center;
  gap:16px;              /* pushes text to the right */
}

/* Logo badge */
.contact_logoWrap img{
  height: 46px;          /* BIGGER logo */
  width: auto;
  max-width: 220px;
  object-fit: contain;

  padding: 8px 10px;     /* makes it feel like a badge */
  border-radius: 12px;
  background: rgba(255,255,255,.92); /* makes logo pop on dark */
  box-shadow: 0 10px 30px rgba(0,0,0,.35);
}
.contact_logoText{
  display:inline-block;
  padding-left: 2px;     /* tiny extra spacing */
  font-weight: 800;
  font-size: 16px;       /* slightly bigger */
  opacity: .95;
  white-space: nowrap;
}
/* Built-by contact card: force logo + text layout */
.contact_logoCard .builtbyRow{
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  margin-top: 10px;
}

.contact_logoCard .builtbyLogo{
  height: 56px !important;        /* much bigger */
  width: auto !important;
  max-width: 240px !important;
  object-fit: contain !important;

  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(255,255,255,.92); /* makes it pop */
  box-shadow: 0 12px 28px rgba(0,0,0,.35);
}
@media (min-width: 900px){
  .contact_grid{
    grid-template-columns: 1fr 1fr 1.25fr;
  }
}


/* Contact panel */
.contactPanel{
  padding: 22px;
  border-radius: 28px;
}

/* Two big cards fill the panel */
.contactGrid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 14px;
}

@media (max-width: 900px){
  .contactGrid{
    grid-template-columns: 1fr;
  }
}

.contact_card{
  text-decoration: none;
  color: inherit;
  display: block;
  padding: 16px 18px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
}

/* Powered by strip (below cards) */
.poweredBy{
  margin-top: 14px;
  display: flex;
  flex-direction: column;      /* logo below text */
  align-items: flex-start;
  gap: 10px;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.02);
  text-decoration: none;
  color: inherit;
}

.poweredByText{
  font-weight: 800;
  opacity: .92;
}

.poweredByLogo{
  height: 52px;                /* bigger + visible */
  width: auto;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(255,255,255,.92); /* makes logo pop */
  box-shadow: 0 12px 28px rgba(0,0,0,.35);
}
.tile{
  opacity: 1 !important;
  transform: none !important;
  break-inside: avoid !important;
}

.tile img{
  height: auto !important;
  max-height: none !important;
}


.hero__image::after {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  pointer-events: none;
}

.card.glass {
  background: #1a1a1a; /* Solidify the cards */
  border-left: 3px solid var(--accent); /* Add the "Pro" accent */
  border-radius: 0;
}

/* --- LIGHTBOX (FULL SCREEN IMAGES) --- */
.lightbox {
  position: fixed;
  top: 0; 
  left: 0; 
  width: 100%; 
  height: 100%;
  background: rgba(0, 0, 0, 0.95); /* Super dark background */
  display: flex; 
  justify-content: center; 
  align-items: center;
  z-index: 9999; /* Sit on top of everything */
  opacity: 0; 
  pointer-events: none; /* Hidden by default */
  transition: opacity 0.3s ease;
  backdrop-filter: blur(5px);
}

.lightbox.active {
  opacity: 1; 
  pointer-events: all; /* Clickable when active */
}

.lightbox img {
  max-width: 90vw; 
  max-height: 90vh;
  border: 1px solid rgba(255, 255, 255, 0.2);
  box-shadow: 0 0 50px rgba(0,0,0,0.8);
  border-radius: 4px;
  object-fit: contain;
}

.lightbox-close {
  position: absolute;
  top: 20px; 
  right: 40px;
  font-size: 50px; 
  color: #fff;
  cursor: pointer;
  line-height: 1;
  transition: transform 0.2s ease, color 0.2s ease;
  z-index: 10000;
}

.lightbox-close:hover { 
  color: var(--accent); /* Turns red on hover */
  transform: scale(1.1);
}

/* Ensure the clickable highlight box keeps its original styling */
a .highlight-box {
  transition: transform 0.2s ease, filter 0.2s ease;
  cursor: pointer;
}

/* Subtle hover effect to show it's interactive */
a:hover .highlight-box {
  transform: translateY(-2px);
  filter: brightness(1.1);
}

/* Remove borders and background from media grid to hide gray lines */
.masonry .tile {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}


/* --- Z-INDEX LAYER FIX --- */

/* 1. The Red Logo: Bring it to the base layer (0) */
.mustang-bg-container {
  z-index: 0 !important;
}

/* 2. The Noise Texture: Sit just on top of the logo (1) */
.bg-noise {
  z-index: 1 !important;
}

/* 3. The Content: Force all text/buttons to sit on top (2) */
main, header, footer, .topbar {
  position: relative;
  z-index: 2 !important;
}


/* Removes the grey box behind partner logos */
.partner-logo-box {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  display: flex;
  justify-content: center; /* Keeps the logo centered */
  padding: 20px 0; /* Adjust spacing around the logo if needed */
}

/* --- OVERRIDE ALL CONFLICTING GREY BOXES --- */
.glass, 
.card.glass, 
.hero__meta, 
.calendar-wrapper,
.featureStrip,
.contactPanel {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important; /* Removes the hidden white gradients */
}