:root{
  --asphalt:#0b0d10;
  --tire:#15181d;
  --nitrous:#00e5ff;
  --brake:#ff3b1f;
  --amber:#ffb800;
  --chrome:#d9d9d9;
  --smoke:rgba(0,0,0,.35);

  --text:#f5f7fa;
  --muted:#a9b2bd;

  --radius:14px;
  --shadow: 0 18px 40px rgba(0,0,0,.45);
}

*{box-sizing:border-box}

html,body{
  margin:0;
  background: radial-gradient(1200px 600px at 50% 0%, #111 0%, var(--asphalt) 60%, #08090b 100%);
  color:var(--text);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji","Segoe UI Emoji", "Segoe UI Symbol";
}

/* HEADER / NAVBAR */
header{
  position:sticky; top:0; z-index:100;
  backdrop-filter: blur(8px);
  background: linear-gradient( to right, rgba(10,12,15,.8), rgba(10,12,15,.6) );
  border-bottom: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 6px 18px rgba(0,0,0,.35);
}

header .bar{
  max-width:1100px;
  margin:auto;
  padding:14px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}



.logo{
  display:flex;
  align-items:center;
  gap:.6rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:800;
  font-size:1rem;
}

.webring{
  width: 80px;
  height: 80px;
  position: absolute;
  top: -30px;
  left: -10px;
  scale: 50%;
}

nav ul{
  list-style:none;
  display:flex;
  gap:18px;
  margin:0;
  padding:0;
}
nav a{
  display:inline-block;
  padding:10px 14px;
  border-radius:999px;
  color:var(--text);
  text-decoration:none;
  font-weight:700;
  border:1px solid rgba(255,255,255,.12);
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  box-shadow: inset 0 -6px 12px rgba(0,0,0,.25);
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease, color .12s ease;
}
nav a:hover{
  transform: translateY(-1px);
  border-color: var(--nitrous);
  box-shadow: 0 0 16px rgba(0,229,255,.25), inset 0 -8px 16px rgba(0,0,0,.35);
  color: var(--nitrous);
}

/* HERO */
.hero{
  position:relative; overflow:hidden;
  padding: clamp(48px, 8vw, 100px) 18px;
  text-align:center;
}
.hero h2{
  font-size: clamp(28px, 5vw, 54px);
  margin:0 0 12px;
  text-transform:uppercase; letter-spacing:.06em;
  text-shadow: 0 0 22px rgba(0,229,255,.45), 0 4px 0 rgba(0,0,0,.35);
  color: var(--nitrous);
}
.hero p{
  max-width:760px; margin:0 auto;
  color:var(--muted); font-size:clamp(15px, 2.4vw, 18px);
}

/* HIGHWAY STRIPES */
.hero::before, .hero::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
}
.hero::before{
  background:
    repeating-linear-gradient(90deg,
      transparent 0 40px, rgba(255,255,255,.06) 40px 42px);
  mask-image: linear-gradient(to bottom, transparent, #000 20%, #000 80%, transparent);
}
.hero::after{
  background:
    linear-gradient(90deg, rgba(0,229,255,.08), transparent 40%, rgba(255,59,31,.08)),
    repeating-linear-gradient(90deg, rgba(255,255,255,.08) 0 8px, transparent 8px 64px);
  animation: drift 6s linear infinite;
  opacity:.6;
}
@keyframes drift{ 
  to{ 
    transform: translateX(-128px);
  } 
}

/* THUMBNAILS */
.thumbnails{
  max-width:1100px;
  margin: 18px auto 42px;
  display:grid;
  gap:18px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  padding: 0 18px;
}
.card{
  position:relative;
  overflow:hidden;
  border-radius: var(--radius);
  background: linear-gradient(180deg, var(--tire), #0e1116);
  border:1px solid rgba(255,255,255,.08);
  box-shadow: var(--shadow);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  text-decoration: none;
}
.card img{
  width:100%;
  height:220px;
  object-fit:cover;
  display:block;
  filter: contrast(1.04) saturate(1.08);
}
.card::after{
  content:"";
  position:absolute;
  inset:auto -20% 0 -20%;
  height:30%;
  background: radial-gradient(60% 60% at 50% 100%, rgba(255,255,255,.08), transparent 70%);
  transform: translateY(40%);
  transition: transform .25s ease, opacity .25s ease;
  opacity:0;
}
.card:hover{ 
  transform: translateY(-3px);
  border-color:var(--nitrous);
  box-shadow: 0 16px 40px rgba(0,229,255,.18) 
}
.card:hover::after{ 
  transform: translateY(0);
  opacity:1 
}

.card p{
  margin:0;
  padding:12px 14px 14px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--text);
  border-top:1px solid rgba(255,255,255,.06);
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  text-decoration: none;
}

/* CHARACTERS */
.flex-container{
  max-width:1100px;
  margin: 28px auto;
  padding: 0 18px;
  display:flex; gap:20px;
  flex-wrap:wrap;
  align-items:stretch;
  justify-content:center;
}
.character{
  flex:1 1 300px;
  min-width:280px;
  max-width:360px;
  background: linear-gradient(180deg, #12151b, #0e1116);
  border:1px solid rgba(255,255,255,.08);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  overflow:hidden; position:relative;
}
.character img{
  width:100%;
  height:260px;
  object-fit:cover;
  display:block;
  filter: contrast(1.06) saturate(1.06);
}
.character h2{
  margin:10px 14px 0;
  font-size:1.25rem;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.character p{
  margin:6px 14px 16px;
  color:var(--muted);
}
.character .badge{
  position:absolute;
  top:12px;
  left:12px;
  padding:6px 10px;
  border-radius:999px;
  background: rgba(0,229,255,.12);
  border:1px solid rgba(0,229,255,.45);
  color:var(--nitrous);
  font-weight:800;
  font-size:.8rem;
  letter-spacing:.06em;
  text-transform:uppercase;
}

/* CARS */
.grid-container{
  max-width:1100px;
  margin: 28px auto;
  padding: 0 18px;
  display:grid;
  gap:20px;
  grid-template-columns: repeat(auto-fit, minmax(260px,1fr));
}
.car{
  background: linear-gradient(180deg, #12151b, #0e1116);
  border:1px solid rgba(255,255,255,.08);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  overflow:hidden;
  position:relative;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.car:hover{ 
  transform: translateY(-4px);
  border-color: var(--brake);
  box-shadow: 0 16px 40px rgba(255,59,31,.18)
}
.car img{ 
  width:100%;
  height:190px;
  object-fit:cover;
  display:block
}
.car h2{
  margin:12px 14px 2px;
  font-size:1.1rem;
  letter-spacing:.04em;
  text-transform:uppercase
}
.car p{
  margin:0 14px 16px;
  color:var(--muted)
}

/* STATS */
.stat{
  position:absolute;
  bottom:12px;
  right:12px;
  background: rgba(255,184,0,.14);
  border:1px solid rgba(255,184,0,.6);
  color:var(--amber);
  font-weight:900;
  font-size:.8rem;
  padding:6px 10px;
  border-radius:999px;
  text-transform:uppercase;
  letter-spacing:.06em;
}

/* MOMENTS */
.timeline{
  max-width:900px;
  margin: 28px auto;
  padding: 0 18px;
  position:relative;
}
.timeline::before{
  content:"";
  position:absolute;
  left:20px;
  top:0;
  bottom:0;
  width:3px;
  background: linear-gradient(var(--nitrous), var(--brake));
  filter: drop-shadow(0 0 6px rgba(0,229,255,.6));
}
.moment{
  position:relative;
  margin: 26px 0 32px 0;
  padding-left:56px;
}
.moment::before{
  content:"";
  position:absolute;
  left:12px;
  top:10px;
  width:18px;
  height:18px;
  border-radius:50%;
  background: radial-gradient(circle at 30% 30%, var(--nitrous), #028ea0);
  box-shadow: 0 0 12px rgba(0,229,255,.7), inset 0 0 10px rgba(0,0,0,.55);
  border:2px solid rgba(255,255,255,.18);
}
.moment img{
  width:100%;
  max-width:720px;
  border-radius: var(--radius);
  border:1px solid rgba(255,255,255,.08);
  box-shadow: var(--shadow);
  display:block;
}
.moment p{ 
  color:var(--muted);
  margin:10px 2px 0 
}

/* POSTERS */
.posters{
  max-width:1100px;
  margin: 28px auto;
  padding: 0 18px;
  display:grid;
  gap:16px;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  align-items:start;
}

.posters img{
  width:100%;
  height:auto;
  object-fit:contain;
  background:#0e1116;
  padding:8px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.08);
  box-shadow: var(--shadow);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
