/* Road Rage webfont (local) */
@font-face{
  font-family: "slgx-roadrage";
  src: url("../fonts/roadrage.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Outrun Future webfont (local) */
@font-face{
  font-family: "slgx-outrun";
  src: url("../fonts/outrun-future-regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face{
  font-family: "slgx-outrun";
  src: url("../fonts/outrun-future-bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face{
  font-family: "slgx-outrun";
  src: url("../fonts/outrun-future-bolditalic.woff2") format("woff2");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

\
    :root{
      --bg0:#05040a;
      --bg1:#090825;
      --panel: rgba(12,10,20,.78);
      --line: rgba(255,255,255,.12);
      --text:#f0ecff;
      --muted:#b8b2d6;

      --pink:#ff3bd4;
      --cyan:#28d6ff;
      --purple:#8a5bff;
      --lime:#a5ff2a;
      --amber:#ffb14a;

      --glowMix: 0 0 10px rgba(40,214,255,.35), 0 0 18px rgba(138,91,255,.30), 0 0 34px rgba(255,59,212,.26);

      --radius: 18px;
      --radius2: 26px;
      --shadow: 0 24px 70px rgba(0,0,0,.70);
      --shadowSoft: 0 14px 40px rgba(0,0,0,.45);

      --max: 1160px;
    }

    *{ box-sizing:border-box; }
    html,body{ height:100%; }
    body{
      margin:0;
      color:var(--text);
      font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
      overflow-x:hidden;
      background:
        radial-gradient(1200px 700px at 50% -10%, rgba(255,59,212,.22), transparent 60%),
        radial-gradient(900px 600px at 20% 0%, rgba(40,214,255,.16), transparent 55%),
        radial-gradient(900px 700px at 85% 60%, rgba(138,91,255,.14), transparent 60%),
        linear-gradient(180deg, var(--bg0), var(--bg1));
    }

    img{ max-width:100%; height:auto; }
    a{ color:inherit; text-decoration:none; }
    button, input{ font:inherit; }

    /* Accessibility */
    .screen-reader-text{
      border:0; clip:rect(1px, 1px, 1px, 1px);
      -webkit-clip-path:inset(50%); clip-path:inset(50%);
      height:1px; margin:-1px; overflow:hidden; padding:0; position:absolute; width:1px;
      word-wrap:normal !important;
    }
    .skip-link{
      position:absolute; left:-9999px; top:auto;
      width:1px; height:1px; overflow:hidden;
    }
    .skip-link:focus{
      left:16px; top:16px; width:auto; height:auto;
      padding:10px 12px; border-radius:12px;
      background: rgba(12,10,20,.90);
      border:1px solid rgba(255,255,255,.18);
      box-shadow: var(--glowMix);
      z-index:1000;
    }

    /* scanlines + gentle grain */
    .fx-scan{
      position:fixed; inset:0; pointer-events:none; z-index:999;
      opacity:.62; mix-blend-mode:screen;
      background:
        repeating-linear-gradient(to bottom,
          rgba(255,255,255,.040),
          rgba(255,255,255,.040) 1px,
          rgba(0,0,0,.08) 2px,
          rgba(0,0,0,.08) 6px
        );
    }
    .fx-grain{
      position:fixed; inset:-30%; pointer-events:none; z-index:998;
      opacity:.14; mix-blend-mode:overlay;
      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='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
      background-size:170px 170px;
      animation: drift 14s linear infinite;
    }
    @keyframes drift{
      0%{ transform:translate3d(0,0,0) rotate(0deg); }
      100%{ transform:translate3d(-6%, -6%, 0) rotate(2deg); }
    }

    .wrap{ width:min(var(--max), calc(100% - 40px)); margin:0 auto; position:relative; z-index:2; }

    .topbar{
      position:sticky; top:0; z-index:50;
      backdrop-filter: blur(14px);
      background: linear-gradient(180deg, rgba(5,4,10,.90), rgba(5,4,10,.55));
      border-bottom:1px solid var(--line);
    }
    .topbar .row{
      display:flex; align-items:center; justify-content:space-between;
      padding:16px 0; gap:16px;
    }

    .brand{ display:flex; align-items:center; gap:12px; min-width:240px; }
    .badge{
      width:42px; height:42px; border-radius:14px;
      background:
        radial-gradient(circle at 30% 30%, rgba(255,255,255,.18), transparent 55%),
        linear-gradient(135deg, rgba(255,59,212,.92), rgba(40,214,255,.88));
      border:1px solid rgba(255,255,255,.18);
      box-shadow: var(--glowMix), 0 12px 30px rgba(0,0,0,.45);
      position:relative; overflow:hidden;
    }
    .badge:after{
      content:""; position:absolute; inset:-50% -50%;
      background: linear-gradient(90deg, transparent, rgba(255,255,255,.22), transparent);
      transform: rotate(25deg) translateX(-35%);
      animation: sheen 6s ease-in-out infinite;
    }
    @keyframes sheen{
      0%,30%{ transform: rotate(25deg) translateX(-40%); opacity:0; }
      45%{ opacity:1; }
      70%{ transform: rotate(25deg) translateX(40%); opacity:0; }
      100%{ opacity:0; }
    }

    .brand h1{
      margin:0;
      font-size:13px;
      letter-spacing:.22em;
      text-transform:uppercase;
      color:var(--muted);
    }
    .brand .name{
      display:block;
      font-size:18px;
      letter-spacing:.02em;
      color:var(--text);
      font-weight:950;
      line-height:1.12;
      text-shadow: var(--glowMix);
    }

    nav{ display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
    .pill{
      padding:10px 12px; border-radius:999px;
      border:1px solid var(--line);
      background: rgba(12,10,20,.52);
      font-weight:800; font-size:14px;
      color:var(--muted);
      transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease;
    }
    .pill:hover{
      transform: translateY(-1px);
      border-color: rgba(255,255,255,.25);
      box-shadow: 0 0 0 4px rgba(255,255,255,.04), var(--glowMix);
      color:var(--text);
    }

    /* synthwave scene */
    .scene{
      position:absolute; inset:0; z-index:0; pointer-events:none; overflow:hidden;
    }
    .sun{
      position:absolute; left:50%; top:88px; transform:translateX(-50%);
      width:min(520px, 80vw); aspect-ratio: 1 / 1;
      border-radius:50%;
      background:
        radial-gradient(circle at 35% 30%, rgba(255,255,255,.22), transparent 45%),
        linear-gradient(180deg, rgba(255,177,74,.95), rgba(255,59,212,.92), rgba(138,91,255,.25));
      filter: drop-shadow(0 0 28px rgba(255,59,212,.30));
      opacity:.65;
      mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 40%, rgba(0,0,0,.0) 85%);
    }
    .sun:after{
      content:""; position:absolute; inset:0;
      background:
        repeating-linear-gradient(to bottom, rgba(0,0,0,.0), rgba(0,0,0,.0) 22px, rgba(0,0,0,.18) 23px, rgba(0,0,0,.18) 26px);
      opacity:.55;
    }
    .mountains{
      position:absolute; left:0; right:0; top:200px; height:280px;
      opacity:.65;
      filter: drop-shadow(0 0 18px rgba(40,214,255,.18));
    }
    .grid-floor{
      position:absolute;
      inset:auto -20% -40vh -20%;
      height:70vh;
      transform:perspective(900px) rotateX(64deg);
      transform-origin:center top;
      background:
        linear-gradient(to bottom, rgba(255,59,212,0), rgba(255,59,212,.14)),
        repeating-linear-gradient(to right, rgba(40,214,255,.22) 0 1px, transparent 1px 70px),
        repeating-linear-gradient(to bottom, rgba(138,91,255,.18) 0 1px, transparent 1px 70px);
      opacity:.78;
      filter: drop-shadow(0 0 26px rgba(40,214,255,.22));
    }

    /* hero */
    .hero{ padding:54px 0 28px; position:relative; }
    .hero-grid{ display:grid; grid-template-columns: 1.1fr .9fr; gap:22px; align-items:stretch; }
    @media (max-width: 980px){ .hero-grid{ grid-template-columns:1fr; } .brand{ min-width:auto; } }

    .panel{
      border-radius: 32px;
      background:
        radial-gradient(1200px 420px at 10% 0%, rgba(40,214,255,.10), transparent 60%),
        radial-gradient(1200px 520px at 100% 20%, rgba(255,59,212,.10), transparent 60%),
        linear-gradient(180deg, rgba(12,10,20,.88), rgba(10,8,16,.74));
      border:1px solid rgba(255,255,255,.12);
      box-shadow: var(--shadow);
      overflow:hidden;
      position:relative;
    }
    .panel:before{
      content:""; position:absolute; inset:0;
      background: radial-gradient(circle at 50% 40%, transparent 38%, rgba(0,0,0,.58) 86%);
      opacity:.55; pointer-events:none;
    }
    .panel-inner{ padding:24px; position:relative; z-index:2; }

    .kicker{
      display:inline-flex; align-items:center; gap:10px;
      padding:8px 12px; border-radius:999px;
      border:1px solid rgba(255,255,255,.14);
      background: rgba(0,0,0,.20);
      color:var(--muted); font-size:13px;
      letter-spacing:.08em; text-transform:uppercase;
    }
    .dot{
      width:9px; height:9px; border-radius:50%;
      background: var(--lime);
      box-shadow: 0 0 14px rgba(165,255,42,.45);
    }

    .headline{
      margin:18px 0 10px;
      font-size: clamp(42px, 5.2vw, 66px);
      line-height: .96;
      letter-spacing: -0.02em;
      font-weight: 980;
    }
    .neon{
      background: linear-gradient(90deg, var(--pink), var(--cyan), var(--purple));
      -webkit-background-clip:text; background-clip:text; color:transparent;
      text-shadow: var(--glowMix);
      display:inline-block;
      filter: saturate(1.10);
    }

    .subhead{
      margin:0 0 18px;
      color: var(--muted);
      font-size: 16px;
      line-height:1.55;
      max-width: 56ch;
    }
    .subhead strong{ color:var(--text); }

    .ctaRow{ display:flex; gap:12px; flex-wrap:wrap; margin: 18px 0 8px; }
    .btn{
      border:1px solid rgba(255,255,255,.14);
      background: rgba(255,255,255,.06);
      color:var(--text);
      border-radius: 14px;
      padding:12px 14px;
      font-weight:950;
      cursor:pointer;
      transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease, background .14s ease;
      display:inline-flex; align-items:center; gap:10px;
    }
    .btn:hover{
      transform: translateY(-1px);
      border-color: rgba(255,255,255,.25);
      box-shadow: 0 0 0 4px rgba(255,255,255,.04), var(--glowMix);
      background: rgba(255,255,255,.08);
    }
    .btn.primary{
      background: linear-gradient(135deg, rgba(255,59,212,.92), rgba(40,214,255,.88));
      border-color: rgba(255,255,255,.22);
      box-shadow: var(--glowMix);
      color:#070512;
    }
    .fine{ margin:10px 0 0; color: rgba(184,178,214,.85); font-size:12px; line-height:1.5; }

    /* featured video */
    .media{ height:100%; display:flex; flex-direction:column; gap:14px; }
    .player{
      flex:1; min-height: 290px;
      border-radius: 32px;
      position:relative; overflow:hidden;
      border:1px solid rgba(255,255,255,.12);
      background:
        radial-gradient(700px 340px at 30% 25%, rgba(255,59,212,.22), transparent 55%),
        radial-gradient(900px 520px at 75% 60%, rgba(40,214,255,.20), transparent 55%),
        linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.02));
      box-shadow: var(--shadowSoft);
    }
    .player:before{
      content:""; position:absolute; inset:0;
      background:
        radial-gradient(circle at 50% 45%, transparent 42%, rgba(0,0,0,.56) 85%),
        repeating-linear-gradient(to bottom, rgba(255,255,255,.06), rgba(255,255,255,.06) 1px, rgba(0,0,0,.10) 2px, rgba(0,0,0,.10) 6px);
      opacity:.33; pointer-events:none; mix-blend-mode:overlay;
    }
    .playBtn{
      position:absolute; left:50%; top:50%;
      transform: translate(-50%, -50%);
      width:92px; height:92px; border-radius:28px;
      border:1px solid rgba(255,255,255,.18);
      background: rgba(12,10,20,.52);
      box-shadow: var(--glowMix);
      display:grid; place-items:center;
      backdrop-filter: blur(8px);
    }
    .triangle{
      width:0; height:0;
      border-left: 26px solid var(--text);
      border-top: 17px solid transparent;
      border-bottom: 17px solid transparent;
      margin-left:6px;
      filter: drop-shadow(0 0 10px rgba(40,214,255,.35));
    }
    .meta{ display:flex; justify-content:space-between; gap:12px; color:var(--muted); font-size:13px; padding: 0 2px; }
    .chip{
      padding:6px 10px; border-radius:999px;
      border:1px solid rgba(255,255,255,.14);
      background: rgba(0,0,0,.20);
      color:var(--text);
      font-weight:950;
      letter-spacing:.04em;
      text-transform:uppercase;
      font-size:12px;
    }

    /* sections */
    .section{ padding: 26px 0; position:relative; }
    .section h2{ margin:0 0 12px; font-size:22px; letter-spacing:-.01em; }
    .section p.lead{ margin:0 0 18px; color:var(--muted); line-height:1.55; max-width: 80ch; }

    .grid{
      display:grid;
      grid-template-columns: repeat(12, 1fr);
      gap:14px;
    }
    .card{
      border-radius: 30px;
      background: linear-gradient(180deg, rgba(12,10,20,.86), rgba(10,8,16,.70));
      border:1px solid rgba(255,255,255,.12);
      box-shadow: var(--shadowSoft);
      overflow:hidden;
      position:relative;
    }
    .card:before{
      content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
      box-shadow: inset 0 0 0 1px rgba(255,255,255,.06), inset 0 0 40px rgba(40,214,255,.05);
    }
    .card .pad{ padding:16px; }
    .thumb{
      height:150px;
      background:
        radial-gradient(380px 180px at 30% 25%, rgba(255,59,212,.22), transparent 55%),
        radial-gradient(520px 260px at 75% 70%, rgba(40,214,255,.18), transparent 60%),
        linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.03));
      border-bottom:1px solid rgba(255,255,255,.10);
      position:relative; overflow:hidden;
    }
    .thumb:after{
      content:""; position:absolute; inset:-40% -40%;
      background: linear-gradient(90deg, transparent, rgba(255,255,255,.16), transparent);
      transform: rotate(18deg) translateX(-35%);
      animation: sheen 7s ease-in-out infinite;
      opacity:.6;
    }
    .thumb.has-img{
      background-size: cover;
      background-position: center;
    }

    .cardTitle{ font-weight:980; margin: 0 0 6px; letter-spacing:-.01em; }
    .cardText{ margin:0; color:var(--muted); line-height:1.5; font-size:14px; }

    .tagRow{ display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
    .tag{
      font-size:12px;
      padding:6px 10px;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.12);
      background: rgba(255,255,255,.05);
      color:var(--muted);
    }
    .tag.hot{ color:#0a0712; background: rgba(165,255,42,.90); border-color: rgba(165,255,42,.65); font-weight:980; }
    .tag.neon{ color:#0a0712; background: rgba(40,214,255,.90); border-color: rgba(40,214,255,.65); font-weight:980; }

    .ribbon{
      position:absolute; top:14px; right:-52px;
      transform: rotate(30deg);
      background: linear-gradient(90deg, rgba(255,59,212,.95), rgba(138,91,255,.95));
      color:#0a0712;
      font-weight:980;
      padding:10px 70px;
      letter-spacing:.06em;
      text-transform:uppercase;
      font-size:12px;
      box-shadow: var(--glowMix);
    }
    .disabled{ opacity:.80; filter:saturate(.9); }

    /* Content typography (blog pages) */
    .content{
      background: linear-gradient(180deg, rgba(12,10,20,.76), rgba(10,8,16,.56));
      border:1px solid rgba(255,255,255,.12);
      border-radius: 30px;
      box-shadow: var(--shadowSoft);
      padding: 18px;
    }
    .content h1, .content h2, .content h3{ letter-spacing:-.01em; }
    .content p, .content li{ color: var(--muted); line-height:1.7; }
    .content a{ text-decoration: underline; text-decoration-color: rgba(40,214,255,.35); }

    .formRow{ display:flex; gap:10px; flex-wrap:wrap; margin-top:14px; }
    .input{
      flex: 1 1 260px;
      padding: 12px 14px;
      border-radius: 14px;
      border:1px solid rgba(255,255,255,.16);
      background: rgba(0,0,0,.22);
      color: var(--text);
      outline:none;
      box-shadow: inset 0 0 0 1px rgba(255,255,255,.03);
    }
    .input:focus{
      border-color: rgba(40,214,255,.55);
      box-shadow: 0 0 0 4px rgba(40,214,255,.12), 0 0 18px rgba(40,214,255,.25);
    }

    footer{
      margin-top: 26px;
      padding: 22px 0 40px;
      border-top:1px solid var(--line);
      color:var(--muted);
    }
    .foot{
      display:flex; align-items:center; justify-content:space-between;
      flex-wrap:wrap; gap:12px; font-size:13px;
    }
    .social{ display:flex; gap:10px; flex-wrap:wrap; }
    .icon{
      width:40px; height:40px; border-radius: 14px;
      border:1px solid rgba(255,255,255,.14);
      background: rgba(255,255,255,.06);
      display:grid; place-items:center;
      box-shadow: 0 10px 24px rgba(0,0,0,.35);
    }
    .icon:hover{ box-shadow: var(--glowMix); }

    .col-4{ grid-column: span 4; }
    .col-5{ grid-column: span 5; }
    .col-6{ grid-column: span 6; }
    .col-7{ grid-column: span 7; }
    .col-12{ grid-column: span 12; }
    @media (max-width: 980px){
      .col-4, .col-5, .col-6, .col-7{ grid-column: span 12; }
      .thumb{ height:180px; }
    }

    .split{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; justify-content:space-between; }
    .sep{ height:1px; background:var(--line); margin:16px 0; }

    .flicker{ animation: flicker 6.5s infinite; will-change: opacity, filter; }
    @keyframes flicker{
      0%, 100%{ opacity:1; filter:none; }
      48%{ opacity:.98; }
      49%{ opacity:.86; filter: blur(.2px); }
      50%{ opacity:1; }
      74%{ opacity:.96; }
      75%{ opacity:.90; }
      76%{ opacity:1; }
    }

    /* WP menu styling */
    .menu{ list-style:none; margin:0; padding:0; display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
    .menu li{ margin:0; }
    .menu a{ display:inline-block; }


/* HERO BANNER IMAGE (editable in Customizer) */
.hero{ padding: 30px 0 24px; position:relative; }
.hero-banner{
  border-radius: 36px;
  border:1px solid rgba(255,255,255,.12);
  box-shadow: var(--shadow);
  overflow:hidden;
  position:relative;
  min-height: 420px;
  background-size: cover;
  background-position: center;
  background-repeat:no-repeat;
  isolation:isolate;
}
.hero-banner:before{
  content:"";
  position:absolute; inset:0;
  background:
    radial-gradient(900px 500px at 15% 20%, rgba(255,59,212,.18), transparent 55%),
    radial-gradient(900px 520px at 80% 40%, rgba(40,214,255,.16), transparent 58%),
    linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.62));
  z-index:1;
}
.hero-banner:after{
  content:"";
  position:absolute; inset:0;
  background:
    radial-gradient(circle at 50% 45%, transparent 46%, rgba(0,0,0,.55) 88%),
    repeating-linear-gradient(to bottom, rgba(255,255,255,.06), rgba(255,255,255,.06) 1px, rgba(0,0,0,.10) 2px, rgba(0,0,0,.10) 6px);
  opacity:.24;
  mix-blend-mode: overlay;
  z-index:2;
  pointer-events:none;
}
.hero-badge{
  position:absolute; left:18px; top:18px; z-index:3;
  display:inline-flex; align-items:center; gap:10px;
  padding:10px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background: rgba(12,10,20,.58);
  backdrop-filter: blur(10px);
  box-shadow: var(--glowMix);
  color: var(--muted);
  font-weight:900;
  letter-spacing:.08em;
  text-transform: uppercase;
  font-size:12px;
}
.hero-badge .dot{ width:10px; height:10px; }
.hero-panels{ margin-top: 18px; }
.hero-grid{ display:grid; grid-template-columns: 1.1fr .9fr; gap:22px; align-items:stretch; }
@media (max-width: 980px){
  .hero-banner{ min-height: 360px; border-radius: 30px; }
  .hero-grid{ grid-template-columns:1fr; }
  .hero-badge{ position:static; margin: 12px 0 0; }
}



/* Hero Title Overlay (Neon Outline) */
.hero-banner{ position:relative; }
@media (max-width: 980px){
  }
@media (max-width: 520px){
  }



/* Hero title overlay — Outrun Future neon (closer to reference) */
.hero-banner{ position:relative; }
.hero-title-overlay{
  position:absolute;
  left: 42px;
  top: 50%;
  transform: translateY(-50%) rotate(-7deg);
  z-index: 6;
  pointer-events:none;
  text-transform: uppercase;
  line-height: .9;
  letter-spacing: .02em;
}

/* SMELLS LIKE — crisp white with slight glow */
.hero-title-small{
  display:block;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 900;
  font-size: 22px;
  color: rgba(255,255,255,.96);
  text-shadow:
    0 2px 0 rgba(0,0,0,.60),
    0 0 14px rgba(120,170,255,.28),
    0 0 18px rgba(255,80,220,.22);
  margin-bottom: 6px;
}

/* GEN X — Outrun Future + neon cyan outline + purple/pink glow */
/* optional: make interior slightly brighter (uncomment if you want more fill) */
/*
*/

@media (max-width: 980px){
  .hero-title-overlay{ left: 18px; top: 56%; transform: translateY(-50%) rotate(-6deg); }
  .hero-title-small{ font-size: 18px; }
  }
@media (max-width: 520px){
  .hero-title-overlay{ top: 58%; }
  }


/* GEN X — Road Rage (brush) with neon paint glow */
.hero-title-big{
  display:block;
  font-family: "slgx-roadrage", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  font-weight: 400;
  font-style: normal;
  font-size: 92px;
  letter-spacing: .02em;
  text-transform: uppercase;
  transform: skewX(-6deg);

  /* hot-pink paint + neon */
  color: #ff3dbf;

  text-shadow:
    0 3px 0 rgba(0,0,0,.55),
    0 0 10px rgba(255,61,191,.70),
    0 0 22px rgba(255,61,191,.45),
    0 0 40px rgba(80,220,255,.18);
}
@media (max-width: 980px){
  .hero-title-big{ font-size: 64px; }
}
@media (max-width: 520px){
  .hero-title-big{ font-size: 52px; }
}
