:root{--bg:#0b0b0d;--surface:#111218;--accent:#c62828;--text:#e9eaee;--muted:#a9acb6;--shadow:0 10px 30px rgba(0,0,0,.45)}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Arial,sans-serif;scroll-behavior:smooth}
.container{max-width:1100px;margin:0 auto;padding:0 20px}
.navbar{position:sticky;top:0;backdrop-filter:blur(6px);background:rgba(12,13,18,.6);border-bottom:1px solid #1b1d26;z-index:40}
.navbar .container{display:flex;align-items:center;justify-content:space-between}
.navbar a{color:var(--muted);text-decoration:none;margin:12px 10px}
.navbar a:hover{color:var(--text)}
.logo-mini{display:flex;align-items:center;gap:10px}
.logo-mini img{width:34px;height:34px;border-radius:8px}
.hero{position:relative;min-height:88svh;display:grid;place-items:center;overflow:hidden;background:#0e0f14 url('assets/hero-fallback.webp') center/cover no-repeat}
.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.05) contrast(1.07) brightness(.62);z-index:0}
.hero .overlay{position:absolute;inset:0;background:radial-gradient(1200px 600px at 70% 0%, rgba(10,11,16,.35), rgba(10,11,16,.88));pointer-events:none;z-index:1}
.hero .inner{position:relative;z-index:2;display:grid;gap:16px;justify-items:center;align-items:center;text-align:center;padding-top:clamp(56px,8svh,120px);padding-bottom:clamp(16px,4svh,48px);width:100%}
.hero .patch{display:block;margin:0 auto 8px;width:auto;max-width:min(52svw,560px);max-height:38svh;height:auto;object-fit:contain;object-position:center top;filter:drop-shadow(0 18px 38px rgba(0,0,0,.65));transform:translateY(var(--parY,0px));transition:transform .2s}
.hero h1{font-size:clamp(2.2rem,5vw,3.2rem);margin:8px 0 0}
.hero .lead{color:var(--muted);max-width:760px;margin:0 auto}
.badge{display:inline-block;padding:.38rem .75rem;border:1px solid #333;border-radius:999px;color:var(--muted);letter-spacing:.08em;font-size:.78rem}
.cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:10px}
.btn{appearance:none;border:none;border-radius:10px;padding:14px 18px;font-weight:700;cursor:pointer;text-decoration:none;box-shadow:var(--shadow)}
.btn.primary{background:var(--accent);color:#fff}
.btn.secondary{background:#20222b;color:var(--text);border:1px solid #2b2d38}
.btn.primary:hover{filter:brightness(1.08)}
section{padding:88px 0}
section.alt{background:var(--surface)}
h2{font-size:1.98rem;margin:0 0 18px}
.grid{display:grid;gap:22px}
.grid.two{grid-template-columns:repeat(2,1fr)}
@media(max-width:900px){.grid.two{grid-template-columns:1fr}}
.card{background:#0f1016;border:1px solid #1b1d26;border-radius:14px;padding:20px;box-shadow:var(--shadow)}
.card ul{margin:.2rem 0 .2rem 1.1rem}
.card li{margin:.25rem 0}
.ride-card{background:#0f1016;border:1px solid #2a2d39;border-radius:14px;padding:16px;box-shadow:var(--shadow);transition:transform .18s ease, box-shadow .18s ease}
.ride-card:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(0,0,0,.55)}
.ride-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.pill{display:inline-flex;align-items:center;gap:6px;border:1px solid #2b2d38;border-radius:999px;padding:6px 10px;color:var(--text);text-decoration:none;background:#1a1b22}
.pill:hover{background:#21232c}
.embed{position:relative;border:1px solid #1b1d26;border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}
footer{padding:50px 0;color:var(--muted);border-top:1px solid #1b1d26}
.small{font-size:.92rem}
@media (max-height:700px){.hero .patch{max-height:32svh}.cta{margin-top:6px}}

/* --- v7 add-ons --- */
.skip{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip:focus{left:14px;top:14px;width:auto;height:auto;z-index:100;background:#20222b;color:var(--text);padding:10px 12px;border-radius:10px;border:1px solid #2b2d38;box-shadow:var(--shadow)}
.nav-pill{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid #2b2d38;border-radius:999px;background:#161820}
.nav-pill:hover{background:#1f212a}
.btn.tertiary{background:#151722;color:var(--text);border:1px solid #2b2d38;box-shadow:none;padding:12px 14px;border-radius:12px}
.btn.tertiary:hover{background:#1f212a}
.muted{color:var(--muted)}
.rides-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:16px}
html.no-hero-video .hero video{display:none}

/* Links */
.link{color:var(--text);text-decoration:none;border-bottom:1px solid rgba(233,234,238,.35)}
.link:hover{border-bottom-color:rgba(233,234,238,.8)}

/* Footer */
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:22px;align-items:start;padding:10px 0 0}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr;gap:18px}}
.footer-brand{display:flex;align-items:center;gap:12px}
.footer-brand img{width:42px;height:42px;border-radius:10px}
.footer-title{font-weight:800;color:var(--text);margin-bottom:10px}
.footer-link{display:block;color:var(--muted);text-decoration:none;margin:8px 0}
.footer-link:hover{color:var(--text)}
.footer-bottom{margin-top:18px;padding-top:14px;border-top:1px solid #1b1d26}

/* Make pill buttons look like links */
button.pill{cursor:pointer;font:inherit}
button.pill{color:var(--text)}


/* Accessibility: visible keyboard focus */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid rgba(198,40,40,.95);
  outline-offset: 2px;
  box-shadow: 0 0 0 4px rgba(198,40,40,.22);
}

/* Reduce motion for users who prefer less animation */
@media (prefers-reduced-motion: reduce) {
  html, body { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
