:root {
  --bg: #07100e;
  --surface: #0e1c19;
  --raised: #152622;
  --lime: #c7ff4a;
  --lime-muted: #8fb531;
  --text: #f5f7f2;
  --muted: #91a29d;
  --danger: #ff5b49;
  --border: rgba(255, 255, 255, 0.09);
  --cream: #eef2e9;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--text);
  background: var(--bg);
  font-family: "Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
.skip-link { position: fixed; left: 16px; top: -60px; z-index: 100; padding: 10px 14px; color: var(--bg); background: var(--lime); border-radius: 8px; }
.skip-link:focus { top: 16px; }
.site-header {
  position: absolute; z-index: 10; top: 0; left: 50%; transform: translateX(-50%);
  width: min(1180px, calc(100% - 48px)); height: 96px; display: flex; align-items: center;
}
.logo { display: inline-flex; align-items: center; gap: 10px; font-size: 22px; font-weight: 800; letter-spacing: -1px; }
.logo-mark { position: relative; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 10px; background: var(--lime); }
.logo-mark > span { width: 0; height: 0; border-left: 6px solid transparent; border-right: 6px solid transparent; border-bottom: 15px solid var(--bg); transform: rotate(42deg); }
.logo-mark > span::after { content: ""; position: absolute; width: 4px; height: 8px; top: 12px; left: 14px; border-radius: 9px; background: var(--lime); transform: rotate(42deg); }
.desktop-nav { display: flex; gap: 36px; margin: 0 auto; color: var(--muted); font-size: 13px; font-weight: 600; }
.desktop-nav a, .header-cta { transition: color .2s ease, border-color .2s ease, background .2s ease; }
.desktop-nav a:hover { color: var(--text); }
.header-cta { padding: 11px 18px; border: 1px solid rgba(199, 255, 74, .35); border-radius: 13px; color: var(--lime); font-size: 12px; font-weight: 800; }
.header-cta:hover { color: var(--bg); background: var(--lime); }

.hero { position: relative; min-height: 790px; overflow: hidden; display: grid; grid-template-columns: 1.02fr .98fr; align-items: center; max-width: 1360px; margin: auto; padding: 120px 90px 52px; }
.hero::before { content: ""; position: absolute; inset: 0; z-index: -2; background: linear-gradient(145deg, #10221d 0%, var(--bg) 48%, #050a09 100%); }
.hero::after { content: ""; position: absolute; inset: 0; z-index: -1; opacity: .16; background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); background-size: 56px 56px; mask-image: linear-gradient(to right, black, transparent 65%); }
.hero-glow { position: absolute; border-radius: 50%; filter: blur(10px); pointer-events: none; }
.hero-glow-one { width: 520px; height: 520px; right: 1%; top: 13%; background: radial-gradient(circle, rgba(199,255,74,.13), transparent 66%); }
.hero-glow-two { width: 380px; height: 380px; left: -14%; top: 24%; background: radial-gradient(circle, rgba(45,114,90,.16), transparent 68%); }
.hero-copy { position: relative; z-index: 1; padding-top: 4px; }
.eyebrow { display: flex; align-items: center; gap: 10px; color: var(--lime); font-size: 11px; font-weight: 800; letter-spacing: 1.6px; text-transform: uppercase; }
.eyebrow > span { width: 24px; height: 2px; background: currentColor; }
h1, h2, h3, p { margin-top: 0; }
h1 { max-width: 670px; margin: 24px 0; font-size: clamp(48px, 5.2vw, 78px); line-height: 1.03; letter-spacing: -4.6px; font-weight: 500; }
h1 em { color: var(--lime); font-style: normal; font-weight: 800; }
.hero-lead { max-width: 590px; margin-bottom: 32px; color: var(--muted); font-size: 17px; line-height: 1.8; }
.hero-actions { display: flex; align-items: center; gap: 24px; }
.button { display: inline-flex; align-items: center; gap: 22px; padding: 15px 20px; border-radius: 15px; font-size: 13px; font-weight: 800; }
.button-primary { color: var(--bg); background: var(--lime); box-shadow: 0 14px 40px rgba(199,255,74,.12); }
.button-primary:hover { background: #d5ff76; transform: translateY(-1px); }
.availability { display: inline-flex; align-items: center; gap: 8px; color: var(--muted); font-size: 12px; font-weight: 700; }
.availability i { width: 7px; height: 7px; border-radius: 50%; background: #ffc857; box-shadow: 0 0 0 5px rgba(255,200,87,.08); }
.trust-list { display: flex; gap: 25px; flex-wrap: wrap; padding: 0; margin: 40px 0 0; list-style: none; color: #71827d; font-size: 10px; font-weight: 700; }
.trust-list span { color: var(--lime); margin-right: 5px; }

.phone-stage { position: relative; height: 620px; display: grid; place-items: center; }
.orbit { position: absolute; border: 1px solid rgba(199,255,74,.1); border-radius: 50%; }
.orbit-one { width: 510px; height: 510px; }
.orbit-two { width: 390px; height: 390px; border-style: dashed; animation: spin 40s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.phone { position: relative; z-index: 2; width: 292px; height: 584px; padding: 8px; border: 1px solid rgba(255,255,255,.18); border-radius: 42px; background: #020504; box-shadow: 0 40px 100px rgba(0,0,0,.65), 0 0 80px rgba(199,255,74,.07); transform: rotate(2.5deg); }
.phone::before { content: ""; position: absolute; inset: 4px; border: 1px solid rgba(255,255,255,.09); border-radius: 38px; pointer-events: none; }
.phone-speaker { position: absolute; z-index: 3; top: 16px; left: 50%; transform: translateX(-50%); width: 74px; height: 20px; border-radius: 20px; background: #020504; }
.app-screen { height: 100%; overflow: hidden; padding: 30px 15px 13px; border-radius: 35px; background: linear-gradient(165deg, #10221d, #07100e 52%, #050a09); }
.app-header { display: flex; align-items: center; justify-content: space-between; }
.mini-brand { display: flex; align-items: center; gap: 7px; font-size: 14px; font-weight: 800; }
.logo-mark.mini { width: 24px; height: 24px; border-radius: 7px; transform: scale(.78); }
.app-actions { display: flex; gap: 6px; }
.app-actions b { display: grid; place-items: center; width: 29px; height: 29px; color: var(--muted); border: 1px solid var(--border); border-radius: 10px; background: var(--surface); font-size: 11px; }
.drive-status { width: max-content; margin: 22px auto 20px; padding: 7px 11px; border-radius: 99px; color: var(--lime); background: rgba(199,255,74,.11); font-size: 9px; font-weight: 800; }
.drive-status i { display: inline-block; width: 6px; height: 6px; margin-right: 6px; border-radius: 50%; background: var(--lime); }
.screen-label { margin-bottom: 12px; color: var(--muted); text-align: center; font-size: 7px; font-weight: 800; letter-spacing: 1.3px; }
.speed-sign { display: grid; place-items: center; width: 105px; height: 105px; margin: 0 auto; border-radius: 50%; background: #d83a2f; box-shadow: 0 13px 30px rgba(0,0,0,.45); }
.speed-sign > div { display: grid; place-items: center; width: 84px; height: 84px; border-radius: 50%; color: #141716; background: #fafbf7; font-size: 39px; font-weight: 800; letter-spacing: -2px; }
.road { margin: 13px 0 20px; color: var(--muted); text-align: center; font-size: 8px; font-weight: 700; }
.speed-card { min-height: 91px; display: flex; align-items: center; justify-content: space-between; padding: 15px; border: 1px solid var(--border); border-radius: 20px; background: rgba(14,28,25,.94); }
.speed-card small { display: block; color: var(--muted); font-size: 7px; font-weight: 800; letter-spacing: 1px; }
.speed-card strong { display: block; margin-top: 2px; font-size: 38px; line-height: 1.15; letter-spacing: -2px; }
.speed-card strong span { color: var(--muted); font-size: 9px; letter-spacing: 0; }
.gauge { display: grid; place-items: center; width: 43px; height: 43px; border-radius: 15px; color: var(--lime); background: var(--raised); font-size: 25px; transform: rotate(-15deg); }
.gps { margin: 15px 0; color: var(--muted); text-align: center; font-size: 7px; font-weight: 700; }
.gps span { color: var(--lime); }
.sound-check { display: flex; align-items: center; gap: 8px; padding: 9px; border: 1px solid rgba(255,200,87,.22); border-radius: 12px; background: rgba(255,200,87,.07); }
.sound-check > span, .sound-check > strong, .sound-check b { color: #ffc857; }
.sound-check div { flex: 1; }
.sound-check b, .sound-check small { display: block; font-size: 7px; }
.sound-check small { margin-top: 2px; color: var(--muted); font-size: 6px; }
.sound-check > strong { font-size: 9px; }
.floating-note { position: absolute; z-index: 3; right: 0; bottom: 84px; display: flex; align-items: center; gap: 10px; padding: 12px 14px; border: 1px solid var(--border); border-radius: 16px; background: rgba(14,28,25,.94); box-shadow: 0 20px 45px rgba(0,0,0,.35); backdrop-filter: blur(10px); }
.floating-note > span { display: grid; place-items: center; width: 29px; height: 29px; border-radius: 10px; color: var(--bg); background: var(--lime); font-weight: 900; }
.floating-note b, .floating-note small { display: block; }
.floating-note b { font-size: 9px; }
.floating-note small { margin-top: 2px; color: var(--muted); font-size: 7px; }

.section { max-width: 1180px; margin: 0 auto; padding: 110px 24px; }
.section-heading { text-align: center; }
.section-heading .eyebrow { justify-content: center; }
h2 { margin: 20px 0; font-size: clamp(36px, 4.2vw, 57px); line-height: 1.12; letter-spacing: -3px; font-weight: 600; }
.section-heading > p, .feature-copy > p, .safety-copy > p { color: var(--muted); font-size: 15px; line-height: 1.8; }
.section-heading > p { max-width: 560px; margin: auto; }
.how { background: var(--bg); }
.steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 62px; }
.step-card { position: relative; min-height: 300px; padding: 30px; overflow: hidden; border: 1px solid var(--border); border-radius: 25px; background: var(--surface); }
.step-card.featured { background: linear-gradient(145deg, #172e28, #0e1c19); border-color: rgba(199,255,74,.18); }
.step-number { position: absolute; right: 22px; top: 13px; color: rgba(255,255,255,.035); font-size: 76px; font-weight: 800; letter-spacing: -6px; }
.feature-icon { display: grid; place-items: center; width: 51px; height: 51px; margin-bottom: 52px; border-radius: 17px; color: var(--lime); background: rgba(199,255,74,.1); font-size: 24px; font-weight: 800; }
.feature-icon.alert { color: var(--danger); background: rgba(255,91,73,.1); }
.step-card h3 { margin-bottom: 10px; font-size: 18px; }
.step-card p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.7; }

.features { max-width: none; padding-left: max(24px, calc((100% - 1132px)/2)); padding-right: max(24px, calc((100% - 1132px)/2)); background: #0a1512; }
.feature-showcase { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: center; }
.limit-visual { position: relative; min-height: 490px; display: grid; place-items: center; overflow: hidden; border: 1px solid var(--border); border-radius: 32px; background: radial-gradient(circle at 50% 40%, rgba(199,255,74,.1), transparent 38%), linear-gradient(145deg,#10221d,#07100e); }
.limit-visual::before, .limit-visual::after { content: ""; position: absolute; width: 500px; height: 1px; background: linear-gradient(90deg, transparent, rgba(199,255,74,.16), transparent); transform: rotate(-34deg); }
.limit-visual::after { transform: rotate(34deg); }
.large-sign { position: relative; z-index: 1; display: grid; place-items: center; width: 205px; height: 205px; border-radius: 50%; background: #d83a2f; box-shadow: 0 30px 70px rgba(0,0,0,.5); }
.large-sign span { display: grid; place-items: center; width: 164px; height: 164px; border-radius: 50%; color: #141716; background: #fafbf7; font-size: 75px; font-weight: 800; letter-spacing: -5px; }
.data-chip { position: absolute; z-index: 2; padding: 11px 14px; border: 1px solid var(--border); border-radius: 13px; color: var(--muted); background: rgba(14,28,25,.92); box-shadow: 0 16px 35px rgba(0,0,0,.35); font-size: 9px; font-weight: 800; }
.chip-one { top: 83px; left: 42px; }
.chip-two { right: 37px; bottom: 86px; color: var(--lime); }
.data-chip i { display: inline-block; width: 6px; height: 6px; margin-right: 6px; border-radius: 50%; background: var(--lime); }
.feature-copy > p { max-width: 520px; }
.feature-points { display: grid; gap: 12px; margin-top: 32px; }
.feature-points > div { position: relative; padding: 14px 18px 14px 47px; border: 1px solid var(--border); border-radius: 15px; background: rgba(14,28,25,.66); }
.feature-points > div::before { content: "✓"; position: absolute; left: 17px; top: 16px; color: var(--lime); font-weight: 900; }
.feature-points b, .feature-points span { display: block; }
.feature-points b { font-size: 12px; }
.feature-points span { margin-top: 3px; color: var(--muted); font-size: 10px; }

.safety { display: grid; grid-template-columns: .82fr 1.18fr; gap: 90px; align-items: center; }
.safety-copy > p { max-width: 450px; }
.eyebrow.light { color: var(--lime); }
.safety-grid { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--border); border-radius: 27px; overflow: hidden; background: var(--surface); }
.safety-grid > div { min-height: 190px; padding: 27px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.safety-grid > div:nth-child(2n) { border-right: 0; }
.safety-grid > div:nth-child(n+3) { border-bottom: 0; }
.safety-grid span, .safety-grid b, .safety-grid small { display: block; }
.safety-grid > div > span { width: 34px; height: 34px; display: grid; place-items: center; margin-bottom: 24px; border-radius: 11px; color: var(--lime); background: rgba(199,255,74,.09); }
.safety-grid b { font-size: 12px; }
.safety-grid small { margin-top: 7px; color: var(--muted); font-size: 9px; line-height: 1.6; }

.download { position: relative; overflow: hidden; max-width: 1132px; min-height: 310px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 36px; margin-bottom: 110px; padding: 58px 70px; border: 1px solid rgba(199,255,74,.18); border-radius: 33px; background: linear-gradient(120deg,#10231e,#0b1714); }
.download-glow { position: absolute; width: 450px; height: 450px; right: -120px; border-radius: 50%; background: radial-gradient(circle,rgba(199,255,74,.11),transparent 66%); }
.footer-mark { width: 70px; height: 70px; border-radius: 22px; transform: scale(1.2); }
.download h2 { margin: 14px 0 10px; font-size: 38px; }
.download p { margin: 0; color: var(--muted); font-size: 12px; }
.platforms { position: relative; z-index: 1; display: flex; gap: 8px; }
.platforms span { padding: 12px 18px; border: 1px solid var(--border); border-radius: 13px; color: var(--muted); background: rgba(7,16,14,.62); font-size: 10px; font-weight: 800; }
.site-footer { min-height: 150px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 20px; max-width: 1180px; margin: auto; padding: 30px 24px; border-top: 1px solid var(--border); }
.site-footer p { margin: 0; color: #60706b; font-size: 9px; }
.site-footer .disclaimer { max-width: 310px; justify-self: end; text-align: right; line-height: 1.5; }

@media (max-width: 980px) {
  .hero { grid-template-columns: 1fr 1fr; padding: 120px 38px 45px; }
  .phone-stage { transform: scale(.88); }
  .feature-showcase, .safety { gap: 45px; }
  .floating-note { right: -30px; }
}
@media (max-width: 760px) {
  .site-header { height: 78px; width: calc(100% - 36px); }
  .desktop-nav { display: none; }
  .header-cta { margin-left: auto; }
  .hero { min-height: auto; display: block; padding: 125px 22px 45px; text-align: center; }
  .hero .eyebrow, .hero-actions { justify-content: center; }
  h1 { letter-spacing: -3px; }
  .hero-lead { margin-left: auto; margin-right: auto; }
  .trust-list { justify-content: center; }
  .phone-stage { height: 590px; margin-top: 30px; transform: none; }
  .floating-note { right: 2%; }
  .steps, .feature-showcase, .safety { grid-template-columns: 1fr; }
  .steps { max-width: 520px; margin-left: auto; margin-right: auto; }
  .step-card { min-height: 260px; }
  .feature-icon { margin-bottom: 35px; }
  .feature-showcase { gap: 55px; }
  .limit-visual { order: 2; min-height: 420px; }
  .feature-copy { text-align: center; }
  .feature-copy .eyebrow { justify-content: center; }
  .feature-copy > p { margin-left: auto; margin-right: auto; }
  .feature-points { text-align: left; }
  .safety-copy { text-align: center; }
  .safety-copy .eyebrow { justify-content: center; }
  .safety-copy > p { margin-left: auto; margin-right: auto; }
  .download { grid-template-columns: 1fr; justify-items: center; margin-left: 18px; margin-right: 18px; padding: 46px 26px; text-align: center; }
  .download .eyebrow { justify-content: center; }
  .site-footer { grid-template-columns: 1fr; justify-items: center; padding: 42px 22px; }
  .site-footer .disclaimer { justify-self: center; text-align: center; }
}
@media (max-width: 480px) {
  h1 { font-size: 44px; }
  .hero-actions { flex-direction: column; }
  .trust-list { display: grid; gap: 9px; }
  .phone-stage { height: 545px; transform: scale(.9); margin: 5px -20px -15px; }
  .orbit-one { width: 390px; height: 390px; }
  .orbit-two { width: 310px; height: 310px; }
  .phone { width: 270px; height: 540px; }
  .floating-note { right: -7px; bottom: 65px; }
  .section { padding-top: 80px; padding-bottom: 80px; }
  .safety-grid { grid-template-columns: 1fr; }
  .safety-grid > div { min-height: 160px; border-right: 0; border-bottom: 1px solid var(--border) !important; }
  .safety-grid > div:last-child { border-bottom: 0 !important; }
  .large-sign { width: 170px; height: 170px; }
  .large-sign span { width: 136px; height: 136px; font-size: 62px; }
  .chip-one { left: 15px; }
  .chip-two { right: 15px; }
  .platforms { flex-wrap: wrap; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .orbit-two { animation: none; }
  *, *::before, *::after { transition-duration: .01ms !important; }
}
