    *, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }

    :root {
      --blue-ctr: #0057B8;
      --blue-dark: #003366;
      --red-accent: #E30613;
      --bg-dark: #0a0a0f;
      --bg-card: #111118;
      --text: #f0f0f5;
      --text-muted: #8888a0;
    }

    html { scroll-behavior: smooth; }

    body {
      font-family: 'Inter', sans-serif;
      background: var(--bg-dark);
      color: var(--text);
      overflow-x: hidden;
    }

    /* ── HERO ── */
    .hero {
      position: relative;
      min-height: 100vh;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center;
      background:
        radial-gradient(ellipse at 50% 80%, rgba(0,87,184,.25) 0%, transparent 60%),
        linear-gradient(180deg, var(--bg-dark) 0%, #05050a 100%);
      padding: 2rem;
    }

    .hero::before {
      content: '';
      position: absolute;
      inset: 0;
      background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Crect width='1' height='1' fill='rgba(255,255,255,.03)'/%3E%3C/svg%3E") repeat;
      pointer-events: none;
    }

    .badge {
      display: inline-flex;
      align-items: center;
      gap: .5rem;
      background: rgba(0,87,184,.15);
      border: 1px solid rgba(0,87,184,.3);
      border-radius: 100px;
      padding: .45rem 1.2rem;
      font-size: .75rem;
      font-weight: 600;
      letter-spacing: .08em;
      text-transform: uppercase;
      color: var(--blue-ctr);
      margin-bottom: 1.5rem;
      backdrop-filter: blur(8px);
    }

    .badge .dot {
      width: 6px; height: 6px;
      background: var(--red-accent);
      border-radius: 50%;
      animation: pulse 2s infinite;
    }

    @keyframes pulse {
      0%, 100% { opacity:1; }
      50% { opacity:.3; }
    }

    .hero h1 {
      font-family: 'Bebas Neue', sans-serif;
      font-size: clamp(3rem, 8vw, 7rem);
      line-height: .95;
      letter-spacing: .02em;
      margin-bottom: .5rem;
    }

    .hero h1 .blue { color: var(--blue-ctr); }
    .hero h1 .red  { color: var(--red-accent); }

    .hero .subtitle {
      font-size: clamp(1rem, 2.5vw, 1.35rem);
      font-weight: 300;
      color: var(--text-muted);
      margin-bottom: 2.5rem;
      max-width: 500px;
    }

    .hero .subtitle strong { color: var(--text); font-weight: 600; }

    .cta-row {
      display: flex;
      gap: 1rem;
      flex-wrap: wrap;
      justify-content: center;
    }

    .btn {
      display: inline-flex;
      align-items: center;
      gap: .5rem;
      padding: .85rem 2rem;
      border-radius: 8px;
      font-weight: 600;
      font-size: .95rem;
      text-decoration: none;
      transition: all .25s;
      cursor: pointer;
      border: none;
    }

    .btn-primary {
      background: var(--red-accent);
      color: #fff;
      box-shadow: 0 4px 24px rgba(227,6,19,.35);
    }
    .btn-primary:hover {
      background: #ff1a2d;
      transform: translateY(-2px);
      box-shadow: 0 6px 32px rgba(227,6,19,.5);
    }

    .btn-outline {
      background: transparent;
      color: var(--text);
      border: 1px solid rgba(255,255,255,.15);
    }
    .btn-outline:hover {
      border-color: var(--blue-ctr);
      color: var(--blue-ctr);
      transform: translateY(-2px);
    }

    .scroll-hint {
      position: absolute;
      bottom: 2rem;
      animation: bob 2s ease-in-out infinite;
      color: var(--text-muted);
      font-size: .8rem;
      letter-spacing: .1em;
      text-transform: uppercase;
    }
    .scroll-hint svg { display:block; margin:0 auto .3rem; }

    @keyframes bob {
      0%,100% { transform: translateY(0); }
      50% { transform: translateY(8px); }
    }

    /* ── VIDEO ── */
    .section { padding: 5rem 2rem; max-width: 1200px; margin: 0 auto; }

    .section-label {
      font-size: .75rem;
      font-weight: 600;
      letter-spacing: .15em;
      text-transform: uppercase;
      color: var(--blue-ctr);
      margin-bottom: .75rem;
    }

    .section h2 {
      font-family: 'Bebas Neue', sans-serif;
      font-size: clamp(2rem, 5vw, 3.5rem);
      margin-bottom: 1rem;
    }

    .section .desc {
      color: var(--text-muted);
      max-width: 620px;
      line-height: 1.7;
      margin-bottom: 2.5rem;
    }

    .video-wrap {
      position: relative;
      width: 100%;
      padding-top: 56.25%;
      border-radius: 16px;
      overflow: hidden;
      box-shadow:
        0 0 0 1px rgba(255,255,255,.06),
        0 24px 80px rgba(0,0,0,.6);
    }

    .video-wrap iframe {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      border: 0;
    }

    /* ── SPECS ── */
    .specs-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 1.25rem;
      margin-top: 2.5rem;
    }

    .spec-card {
      background: var(--bg-card);
      border: 1px solid rgba(255,255,255,.06);
      border-radius: 14px;
      padding: 1.75rem;
      transition: border-color .3s, transform .3s;
    }

    .spec-card:hover {
      border-color: var(--blue-ctr);
      transform: translateY(-4px);
    }

    .spec-card .value {
      font-family: 'Bebas Neue', sans-serif;
      font-size: 2.4rem;
      color: var(--blue-ctr);
      line-height: 1;
      margin-bottom: .35rem;
    }

    .spec-card .label {
      font-size: .8rem;
      color: var(--text-muted);
      text-transform: uppercase;
      letter-spacing: .08em;
    }

    /* ── MAP ── */
    .map-container {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 2rem;
      align-items: center;
      margin-top: 2.5rem;
    }

    @media (max-width: 768px) {
      .map-container { grid-template-columns: 1fr; }
    }

    .map-info h3 {
      font-family: 'Bebas Neue', sans-serif;
      font-size: 2rem;
      margin-bottom: .75rem;
    }

    .map-info p {
      color: var(--text-muted);
      line-height: 1.7;
      margin-bottom: 1rem;
    }

    .map-info .location-tag {
      display: inline-flex;
      align-items: center;
      gap: .4rem;
      background: rgba(227,6,19,.1);
      border: 1px solid rgba(227,6,19,.25);
      color: var(--red-accent);
      padding: .4rem 1rem;
      border-radius: 100px;
      font-size: .8rem;
      font-weight: 600;
    }

    #map {
      width: 100%;
      height: 400px;
      border-radius: 16px;
      border: 1px solid rgba(255,255,255,.06);
      overflow: hidden;
    }

    /* Override Leaflet tiles to dark */
    .leaflet-tile-pane { filter: brightness(.7) contrast(1.2) saturate(.8); }

    /* ── FOOTER ── */
    footer {
      text-align: center;
      padding: 3rem 2rem;
      color: var(--text-muted);
      font-size: .8rem;
      border-top: 1px solid rgba(255,255,255,.05);
      margin-top: 3rem;
    }

    footer a { color: var(--blue-ctr); text-decoration: none; }
    footer a:hover { text-decoration: underline; }

    /* ── DIVIDER ── */
    .divider {
      width: 60px;
      height: 3px;
      background: linear-gradient(90deg, var(--blue-ctr), var(--red-accent));
      border-radius: 3px;
      margin: 4rem auto;
    }
