:root {
  --blue: #0b3cc1;
  --blue-dark: #061f69;
  --blue-soft: #eaf0ff;
  --gold: #f5a900;
  --gold-soft: #fff4d7;
  --ink: #101a35;
  --muted: #69728a;
  --line: #e4e8f0;
  --white: #ffffff;
  --black: #071022;
  --radius: 28px;
  --shadow: 0 24px 70px rgba(12, 35, 91, .12);
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: "DM Sans", sans-serif; color: var(--ink); background: #fff; overflow-x: hidden; }
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
button { border: 0; cursor: pointer; }
.site-header {
  position: fixed; z-index: 50; top: 0; left: 0; right: 0; height: 82px;
  display: flex; align-items: center; justify-content: space-between; padding: 0 5vw;
  background: rgba(255,255,255,.76); backdrop-filter: blur(18px); border-bottom: 1px solid rgba(228,232,240,.75);
}
.brand img { width: 112px; height: auto; display:block; }
.brand img.brand-logo-lockup { width: 172px; }
.desktop-nav { display:flex; gap:34px; margin-left:auto; margin-right:34px; }
.desktop-nav a { font-size: 14px; font-weight:600; color:#4f5970; transition:.25s; }
.desktop-nav a:hover { color:var(--blue); }
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:12px; border-radius:999px;
  padding:13px 21px; font-weight:700; font-size:14px; transition: transform .25s, box-shadow .25s, background .25s;
}
.btn:hover { transform: translateY(-2px); }
.btn-primary { color:#fff; background:var(--blue); box-shadow:0 10px 25px rgba(11,60,193,.22); }
.btn-primary:hover { background:#092f9d; box-shadow:0 14px 30px rgba(11,60,193,.3); }
.btn-large { padding:16px 25px; font-size:15px; }
.btn-ghost { border:1px solid #dbe2ef; color:var(--ink); background:#fff; }
.btn-light { background:#fff; color:var(--blue-dark); }
.btn-white { background:#fff; color:var(--blue); }
.full { width:100%; }
.menu-toggle { display:none; background:transparent; font-size:26px; color:var(--ink); }

.hero {
  min-height: 860px; padding: 155px 6vw 90px; position:relative; display:grid; grid-template-columns: 1fr 1fr; gap:40px; align-items:center;
  background: radial-gradient(circle at 74% 36%, rgba(245,169,0,.13), transparent 27%), radial-gradient(circle at 35% 20%, rgba(11,60,193,.08), transparent 30%), #f9fbff;
  overflow:hidden;
}
.hero-noise { position:absolute; inset:0; opacity:.16; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.13'/%3E%3C/svg%3E"); pointer-events:none; }
.hero-orbit { position:absolute; border:1px solid rgba(11,60,193,.08); border-radius:50%; pointer-events:none; }
.orbit-one { width:760px; height:760px; right:-280px; top:80px; }
.orbit-two { width:520px; height:520px; right:-160px; top:200px; border-color:rgba(245,169,0,.12); }
.hero-copy { max-width:650px; position:relative; z-index:2; }
.eyebrow { display:inline-flex; align-items:center; gap:9px; color:#fff; text-transform:uppercase; letter-spacing:.14em; font-size:11px; font-weight:800; margin-bottom:22px; }
.eyebrow.dark { color:var(--blue); }
.live-dot { width:7px; height:7px; border-radius:50%; background:#4be27b; box-shadow:0 0 0 5px rgba(75,226,123,.12); }
.hero h1, h2 { font-family:"Space Grotesk",sans-serif; letter-spacing:-.055em; line-height:.94; }
.hero h1 { font-size:clamp(68px,8.3vw,126px); color:var(--ink); }
.hero h1 span { color:var(--blue); position:relative; }
.hero h1 span:after { content:""; position:absolute; width:42%; height:8px; background:var(--gold); border-radius:20px; left:2px; bottom:-9px; transform:rotate(-2deg); }
.hero-copy > p { max-width:570px; font-size:19px; line-height:1.65; color:#667087; margin:32px 0; }
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; }
.hero-meta { display:flex; gap:34px; margin-top:55px; }
.hero-meta div { display:flex; flex-direction:column; gap:4px; }
.hero-meta strong { font-family:"Space Grotesk"; font-size:13px; color:var(--gold); }
.hero-meta span { color:#7a8397; font-size:12px; }

.hero-visual { min-height:580px; position:relative; display:flex; align-items:center; justify-content:center; }
.map-card { width:min(540px, 100%); height:500px; border-radius:38px; background:#eef3ff; box-shadow:var(--shadow); position:relative; overflow:hidden; border:1px solid rgba(11,60,193,.08); }
.map-grid { position:absolute; inset:-50px; opacity:.65; background-image:linear-gradient(45deg, transparent 48%, #dce5fa 49%, #dce5fa 51%, transparent 52%), linear-gradient(-45deg, transparent 48%, #e1e7f5 49%, #e1e7f5 51%, transparent 52%); background-size:100px 100px; transform:rotate(8deg) scale(1.2); }
.route { position:absolute; border:5px solid var(--blue); border-color:var(--blue) transparent transparent var(--blue); border-radius:50%; transform:rotate(24deg); }
.route-a { width:370px; height:220px; left:70px; top:135px; }
.route-b { width:230px; height:150px; left:210px; top:270px; border-color:var(--gold) transparent transparent var(--gold); transform:rotate(-24deg); }
.pin { position:absolute; width:28px; height:28px; border-radius:50%; background:#fff; display:grid; place-items:center; box-shadow:0 7px 18px rgba(11,60,193,.18); }
.pin span { font-size:12px; color:var(--blue); }
.pin-start { left:62px; top:116px; }
.pin-end { right:68px; bottom:86px; }
.ride-card { position:absolute; top:34px; left:34px; right:34px; background:rgba(255,255,255,.95); border-radius:18px; padding:14px; display:flex; align-items:center; gap:12px; box-shadow:0 14px 40px rgba(28,47,91,.12); backdrop-filter:blur(10px); }
.ride-icon { width:40px; height:40px; border-radius:13px; background:var(--blue); color:#fff; display:grid; place-items:center; font-family:"Space Grotesk"; font-size:13px; font-weight:700; }
.ride-card small,.ride-card strong { display:block; }
.ride-card small { font-size:10px; color:#9098a8; text-transform:uppercase; letter-spacing:.08em; }
.ride-card strong { font-size:13px; margin-top:3px; }
.pulse-check { margin-left:auto; width:32px; height:32px; border-radius:50%; display:grid; place-items:center; background:#e8fff0; color:#24a956; }
.keke { position:absolute; left:45%; top:49%; width:105px; height:78px; animation:drive 4.6s ease-in-out infinite; }
.keke-roof { position:absolute; left:14px; top:4px; width:78px; height:35px; border-radius:30px 30px 8px 8px; background:var(--blue); transform:skewX(-8deg); }
.keke-body { position:absolute; left:7px; top:30px; width:91px; height:38px; border-radius:10px 20px 12px 12px; background:var(--gold); display:grid; place-items:center; font-weight:800; color:#fff; }
.keke-body span { font-size:12px; }
.wheel { position:absolute; width:19px; height:19px; border-radius:50%; background:var(--ink); bottom:0; border:4px solid #fff; }
.wheel-one { left:16px; }.wheel-two { right:11px; }
.map-label { position:absolute; padding:8px 11px; border-radius:10px; background:#fff; font-size:10px; font-weight:700; color:#5f687e; box-shadow:0 7px 20px rgba(28,47,91,.08); }
.label-a { left:44px; top:151px; }.label-b { right:38px; bottom:58px; }
.floating-pill { position:absolute; background:#fff; padding:12px 16px; border-radius:999px; box-shadow:0 15px 35px rgba(20,40,86,.12); font-size:11px; font-weight:700; color:#4f5970; }
.pill-top { right:-12px; top:90px; }.pill-bottom { left:-22px; bottom:80px; }
.shield { display:inline-grid; place-items:center; width:20px; height:20px; background:#e9fff1; color:#1eaa54; border-radius:50%; margin-right:6px; }

.ticker { background:var(--blue); color:#fff; overflow:hidden; padding:18px 0; }
.ticker-track { width:max-content; display:flex; align-items:center; gap:30px; animation:ticker 24s linear infinite; font-family:"Space Grotesk"; font-size:12px; letter-spacing:.13em; font-weight:700; }
.ticker-track b { color:var(--gold); }

.section { padding:130px 7vw; }
.section-heading { max-width:740px; }
.section-heading.center { text-align:center; margin:0 auto 65px; }
.section-heading h2, .solution-copy h2, .values h2, .community h2 { font-size:clamp(48px,6vw,80px); }
.section-heading h2 em, .community h2 em { color:var(--blue); font-style:normal; }
.section-heading > p { margin-top:28px; color:var(--muted); line-height:1.75; font-size:17px; max-width:660px; }
.problem { background:#fff; }
.problem-grid { margin-top:65px; display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.problem-card { min-height:290px; padding:29px; border:1px solid var(--line); border-radius:var(--radius); position:relative; overflow:hidden; transition:.3s; }
.problem-card:hover { transform:translateY(-8px); box-shadow:var(--shadow); }
.problem-card.accent { background:var(--gold); color:#fff; border-color:var(--gold); }
.problem-card span { font-family:"Space Grotesk"; color:var(--gold); font-size:12px; }
.problem-card.accent span { color:#fff; }
.problem-card h3 { font-family:"Space Grotesk"; font-size:27px; margin-top:58px; }
.problem-card p { color:#707a8f; line-height:1.65; margin-top:12px; font-size:14px; }
.problem-card.accent p { color:rgba(255,255,255,.86); }
.card-line { position:absolute; left:29px; right:29px; bottom:29px; height:2px; background:var(--blue-soft); }
.problem-card.accent .card-line { background:rgba(255,255,255,.35); }

.solution { display:grid; grid-template-columns:.9fr 1.1fr; gap:100px; align-items:center; background:#f5f8ff; }
.solution-visual { min-height:640px; position:relative; display:grid; place-items:center; }
.phone-shell { width:285px; height:590px; border:10px solid #17213a; border-radius:43px; background:#17213a; box-shadow:0 35px 80px rgba(20,38,87,.25); transform:rotate(-6deg); position:relative; z-index:2; }
.phone-notch { position:absolute; width:110px; height:24px; background:#17213a; border-radius:0 0 18px 18px; left:50%; top:-2px; transform:translateX(-50%); z-index:5; }
.phone-screen { height:100%; background:#f8faff; border-radius:34px; overflow:hidden; padding:25px 18px; }
.phone-top { display:flex; justify-content:space-between; font-size:9px; font-weight:700; margin-bottom:42px; }
.app-greeting { font-size:22px; line-height:1.05; margin-bottom:20px; }.app-greeting strong { color:var(--blue); }
.search-box { background:#fff; border:1px solid #e3e8f2; padding:13px; border-radius:13px; font-size:10px; color:#8992a3; box-shadow:0 5px 15px rgba(31,50,93,.05); }
.mini-map { height:230px; background:#e8eefb; border-radius:18px; margin:14px 0; position:relative; overflow:hidden; }
.mini-road { position:absolute; height:10px; width:170%; background:#fff; transform:rotate(23deg); left:-40px; box-shadow:0 1px 0 #dfe6f2; }
.r1 { top:70px; }.r2 { top:145px; transform:rotate(-14deg); }.r3 { top:195px; transform:rotate(37deg); }
.mini-route { position:absolute; width:130px; height:120px; left:45px; top:65px; border:4px solid var(--blue); border-color:var(--blue) transparent transparent var(--blue); border-radius:50%; transform:rotate(20deg); }
.mini-pin { position:absolute; left:52px; top:58px; color:var(--gold); font-size:23px; }
.ride-option { background:#fff; border-radius:14px; padding:11px; display:flex; align-items:center; gap:9px; box-shadow:0 7px 17px rgba(30,50,90,.08); }
.mini-keke { width:34px; height:34px; background:var(--gold); color:#fff; border-radius:10px; display:grid; place-items:center; font-size:9px; font-weight:800; }
.ride-option strong,.ride-option small { display:block; }.ride-option strong{font-size:11px}.ride-option small{font-size:9px;color:#8a92a2;margin-top:2px}.ride-option b{margin-left:auto;color:var(--blue)}
.visual-orb { position:absolute; width:480px; height:480px; border-radius:50%; background:linear-gradient(135deg, rgba(11,60,193,.12), rgba(245,169,0,.1)); }
.feature-list { margin-top:45px; }
.feature-list > div { display:grid; grid-template-columns:35px 1fr; gap:14px; padding:19px 0; border-top:1px solid #dbe2ef; }
.feature-list span { color:var(--gold); font-family:"Space Grotesk"; font-size:12px; }.feature-list strong{font-family:"Space Grotesk"; font-size:17px}.feature-list p{grid-column:2;color:var(--muted);font-size:13px;line-height:1.6;margin-top:-8px}

.how { background:#fff; }
.steps { max-width:1150px; margin:auto; display:grid; grid-template-columns:repeat(4,1fr); position:relative; }
.step { padding:25px; border-top:2px solid #dce3f0; position:relative; transition:.3s; }
.step:before { content:""; width:11px; height:11px; border-radius:50%; background:#dce3f0; position:absolute; top:-7px; left:25px; }
.step.active { border-top-color:var(--blue); }.step.active:before{background:var(--gold); box-shadow:0 0 0 5px rgba(245,169,0,.14)}
.step-number { color:#a1a9b8; font-size:11px; font-weight:700; }.step-icon { width:52px;height:52px;border-radius:16px;background:#edf2ff;color:var(--blue);display:grid;place-items:center;font-size:22px;margin:45px 0 22px;}.step h3{font-family:"Space Grotesk";font-size:20px}.step p{color:var(--muted);font-size:13px;line-height:1.6;margin-top:10px}
.step-progress { max-width:1100px; margin:0 auto 35px; height:2px; background:#e3e8f2; position:relative; }.step-progress span{position:absolute;left:0;top:0;height:100%;width:25%;background:var(--blue);transition:.4s}
.text-link { display:block; text-align:center; color:#737c90; font-size:13px; }.text-link strong{color:var(--blue)}

.values { background:var(--black); color:#fff; }
.values-top { display:flex; justify-content:space-between; gap:50px; align-items:end; margin-bottom:55px; }
.values-top > p { max-width:440px; color:#9da7bc; line-height:1.7; font-size:15px; }
.values h2 span { color:var(--gold); }
.values-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.value-card { min-height:270px; border:1px solid rgba(255,255,255,.1); border-radius:24px; padding:25px; position:relative; background:rgba(255,255,255,.025); transition:.3s; }
.value-card:hover { background:rgba(255,255,255,.06); transform:translateY(-6px); }
.value-card.wide { grid-column:span 2; background:var(--blue); border-color:var(--blue); }
.value-card span { color:#75829f; font-size:11px; }.value-card h3{font-family:"Space Grotesk";font-size:25px;margin-top:52px}.value-card p{color:#9da7bc;font-size:13px;line-height:1.6;margin-top:9px;max-width:260px}.value-card.wide p{color:#d9e1f5;max-width:400px}.value-mark{position:absolute;right:25px;bottom:23px;color:var(--gold);font-size:23px}

.safety { background:#fff; padding-top:50px; }
.safety-panel { min-height:590px; border-radius:38px; background:var(--blue); overflow:hidden; display:grid; grid-template-columns:1.1fr .9fr; position:relative; }
.safety-copy { padding:75px; position:relative; z-index:3; }.safety-copy h2{font-size:clamp(50px,5vw,76px);color:#fff}.safety-copy h2 span{color:var(--gold)}.safety-copy p{color:#d4def6;max-width:570px;line-height:1.7;font-size:16px;margin:30px 0 35px}
.safety-visual { position:relative; min-height:500px; overflow:hidden; display:grid; place-items:center; }
.shield-large { width:145px;height:170px; background:var(--gold); color:#fff; clip-path:polygon(50% 0, 91% 16%, 84% 72%, 50% 100%, 16% 72%, 9% 16%); display:grid; place-items:center; font-size:62px; font-weight:700; z-index:2; filter:drop-shadow(0 20px 30px rgba(0,0,0,.18)); }
.safety-ring { position:absolute; border:1px solid rgba(255,255,255,.18); border-radius:50%; }.ring-1{width:250px;height:250px}.ring-2{width:390px;height:390px}.ring-3{width:540px;height:540px}
.safety-tag { position:absolute; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.16); color:#fff; padding:10px 13px; border-radius:999px; font-size:10px; backdrop-filter:blur(10px); }.tag-1{top:100px;right:55px}.tag-2{left:45px;bottom:120px}.tag-3{right:80px;bottom:75px}

.community { display:grid; grid-template-columns:1.05fr .95fr; gap:80px; align-items:center; background:#fff; }
.community-copy > p { color:var(--muted); line-height:1.75; font-size:17px; max-width:600px; margin:28px 0; }
.community-points { display:flex; flex-wrap:wrap; gap:9px; }.community-points span{padding:10px 14px;border:1px solid #dce3ef;border-radius:999px;font-size:12px;font-weight:700;color:#566076}
.community-art { min-height:470px; position:relative; display:grid;place-items:center; }
.circle { position:absolute;border-radius:50%; }.c1{width:400px;height:400px;background:#f0f4ff}.c2{width:290px;height:290px;background:#fff4d7}.c3{width:190px;height:190px;background:var(--blue)}
.community-card { position:relative; width:240px; background:#fff; border-radius:24px; padding:24px; box-shadow:var(--shadow); display:flex;flex-direction:column;gap:7px; transform:rotate(4deg); z-index:2; }.community-card span{width:40px;height:40px;background:var(--blue);color:#fff;display:grid;place-items:center;border-radius:12px;font-family:"Space Grotesk";font-size:11px;font-weight:700}.community-card strong{font-family:"Space Grotesk";font-size:21px}.community-card small{color:var(--muted);line-height:1.5}

.launch-banner { margin:0 7vw 130px; padding:85px 30px; border-radius:38px; text-align:center; background:var(--gold); color:#fff; position:relative; overflow:hidden; }
.launch-glow { position:absolute;width:500px;height:500px;border-radius:50%;border:1px solid rgba(255,255,255,.18);left:50%;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 80px rgba(255,255,255,.03),0 0 0 160px rgba(255,255,255,.025)}
.launch-banner .eyebrow{justify-content:center}.launch-banner h2{font-size:clamp(56px,7vw,94px);position:relative}.launch-banner p{font-size:17px;color:rgba(255,255,255,.86);max-width:530px;line-height:1.6;margin:20px auto 30px;position:relative}.launch-banner .btn{position:relative}

.faq { display:grid; grid-template-columns:.8fr 1.2fr; gap:100px; padding-top:20px; }
.faq-list details { border-top:1px solid #dfe5ef; padding:21px 0; }.faq-list details:last-child{border-bottom:1px solid #dfe5ef}.faq-list summary{list-style:none;display:flex;justify-content:space-between;align-items:center;font-family:"Space Grotesk";font-weight:600;font-size:17px;cursor:pointer}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:25px;color:var(--gold);transition:.3s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list p{color:var(--muted);line-height:1.7;font-size:14px;max-width:720px;padding-top:16px}

.waitlist-section { padding:115px 7vw; background:linear-gradient(135deg,#07194e 0%,#0b3cc1 62%,#1250ec 100%); color:#fff; position:relative; overflow:hidden; }
.waitlist-section:before { content:"";position:absolute;width:700px;height:700px;border-radius:50%;right:-260px;top:-330px;border:1px solid rgba(255,255,255,.1);box-shadow:0 0 0 80px rgba(255,255,255,.025),0 0 0 160px rgba(255,255,255,.02)}
.waitlist-inner { max-width:1200px;margin:auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;align-items:start;position:relative;z-index:2}.waitlist-copy h2{font-size:clamp(58px,6.5vw,92px)}.waitlist-copy h2 span{color:var(--gold)}.waitlist-copy > p{color:#cdd7f1;line-height:1.7;max-width:440px;font-size:16px;margin:25px 0}.waitlist-note{font-size:12px;color:#aebcdd;display:flex;gap:9px;align-items:center}.waitlist-note span{color:var(--gold)}
.waitlist-form { background:#fff; color:var(--ink); border-radius:28px; padding:30px; box-shadow:0 30px 80px rgba(0,0,0,.22); }.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.waitlist-form label{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:700;color:#687289;margin-bottom:14px}.waitlist-form input,.waitlist-form select,.modal-card input,.modal-card select{width:100%;border:1px solid #dce2ed;border-radius:13px;padding:14px 14px;outline:none;color:var(--ink);background:#fff;font-size:14px;transition:.2s}.waitlist-form input:focus,.waitlist-form select:focus,.modal-card input:focus,.modal-card select:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(11,60,193,.08)}.form-disclaimer{font-size:10px;color:#9098a8;text-align:center;margin-top:12px}.form-success{display:none;align-items:center;gap:12px;background:#eafff0;color:#16763a;border-radius:14px;padding:14px;margin-top:14px}.form-success.show{display:flex}.form-success > span{width:32px;height:32px;border-radius:50%;background:#fff;display:grid;place-items:center}.form-success small{display:block;color:#4c7b5b;margin-top:3px}.form-error{display:none;align-items:center;gap:12px;background:#fdecec;color:#b3261e;border-radius:14px;padding:14px;margin-top:14px;font-size:13px;font-weight:600}.form-error.show{display:flex}

.footer { background:#050c1d; color:#fff; padding:70px 7vw 25px; }.footer-main{display:flex;justify-content:space-between;gap:80px;padding-bottom:60px;border-bottom:1px solid rgba(255,255,255,.14)}.footer-brand img{width:120px;filter:drop-shadow(0 0 1px rgba(255,255,255,.65)) drop-shadow(0 0 14px rgba(255,255,255,.18)) drop-shadow(0 2px 10px rgba(0,0,0,.45));opacity:1}.footer-brand img.brand-logo-lockup{width:190px}.footer-brand p{color:#b7bfd2;margin-top:15px;font-size:13px}.footer-links{display:grid;grid-template-columns:repeat(3,150px);gap:35px}.footer-links div{display:flex;flex-direction:column;gap:11px}.footer-links strong{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#f6f8fc;margin-bottom:7px}.footer-links a{font-size:12.5px;color:#c3cadd;transition:.2s}.footer-links a:hover{color:#fff}.footer-bottom{display:flex;justify-content:space-between;padding-top:25px;color:#98a1b6;font-size:11px}

.modal { position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:20px }.modal.open{display:flex}.modal-backdrop{position:absolute;inset:0;background:rgba(3,9,24,.72);backdrop-filter:blur(8px)}.modal-card{position:relative;z-index:2;width:min(470px,100%);background:#fff;border-radius:28px;padding:34px;box-shadow:0 35px 100px rgba(0,0,0,.3);transform:translateY(12px);animation:modalIn .3s ease forwards}.modal-close{position:absolute;right:17px;top:15px;width:35px;height:35px;border-radius:50%;background:#f0f3f8;color:#667087;font-size:24px}.modal-card h2{font-size:50px}.modal-card > p{color:var(--muted);margin:12px 0 22px;line-height:1.6}.modal-card form{display:grid;gap:11px}.modal-success{display:none;background:#eafff0;color:#16763a;padding:14px;border-radius:13px;margin-top:12px;font-size:13px;font-weight:700}.modal-success.show{display:block}.modal-error{display:none;background:#fdecec;color:#b3261e;padding:14px;border-radius:13px;margin-top:12px;font-size:13px;font-weight:700}.modal-error.show{display:block}

.reveal { opacity:0; transform:translateY(25px); transition:opacity .8s ease, transform .8s ease; }.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.1s}.delay-2{transition-delay:.2s}.delay-3{transition-delay:.3s}
.cursor-glow{position:fixed;width:280px;height:280px;border-radius:50%;pointer-events:none;z-index:0;background:radial-gradient(circle,rgba(11,60,193,.06),transparent 65%);transform:translate(-50%,-50%);display:none}
@keyframes drive { 0%,100%{transform:translate(-80px,20px)} 50%{transform:translate(90px,-20px)} }
@keyframes ticker { to { transform:translateX(-50%); } }
@keyframes modalIn { to{transform:none} }

@media (max-width: 1050px){
  .desktop-nav{gap:20px}.hero{grid-template-columns:1fr;padding-top:135px}.hero-copy{max-width:800px}.hero-visual{min-height:500px}.problem-grid{grid-template-columns:repeat(2,1fr)}.solution{grid-template-columns:1fr;gap:50px}.solution-visual{min-height:550px}.values-grid{grid-template-columns:repeat(2,1fr)}.value-card.wide{grid-column:span 2}.safety-panel{grid-template-columns:1fr}.safety-visual{min-height:420px}.community{grid-template-columns:1fr}.faq{grid-template-columns:1fr;gap:50px}.waitlist-inner{grid-template-columns:1fr;gap:50px}
}
@media (max-width: 720px){
  .site-header{height:70px;padding:0 20px}.brand img{width:122px}.brand img.brand-logo-lockup{width:150px}.desktop-nav,.nav-cta{display:none}.menu-toggle{display:block}.mobile-menu{position:fixed;z-index:45;top:70px;left:15px;right:15px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:14px;display:none;box-shadow:var(--shadow)}.mobile-menu.open{display:flex;flex-direction:column;gap:4px}.mobile-menu a{padding:13px;border-radius:10px;font-weight:600}.mobile-menu a:hover{background:#f3f6fc}.mobile-menu .btn{margin-top:7px}
  .hero{padding:115px 20px 70px;min-height:auto}.hero h1{font-size:64px}.hero-copy > p{font-size:16px}.hero-meta{gap:17px;margin-top:35px}.hero-meta span{font-size:10px}.hero-visual{min-height:390px}.map-card{height:350px;border-radius:27px}.pill-top{right:-5px;top:45px}.pill-bottom{left:-5px;bottom:30px}.route-a{width:270px;height:160px;left:40px;top:105px}.route-b{width:180px;height:110px;left:145px;top:205px}.keke{transform:scale(.8)}.label-a{left:25px;top:122px}.label-b{right:22px;bottom:45px}
  .section{padding:80px 20px}.section-heading h2,.solution-copy h2,.values h2,.community h2{font-size:49px}.problem-grid{grid-template-columns:1fr}.problem-card{min-height:230px}.solution-visual{min-height:510px}.phone-shell{width:245px;height:500px}.visual-orb{width:370px;height:370px}.steps{grid-template-columns:1fr}.step{border-top:0;border-left:2px solid #dce3f0;padding:18px 25px 35px}.step:before{top:24px;left:-7px}.step-icon{margin:15px 0 15px}.step-progress{display:none}.values-top{display:block}.values-top>p{margin-top:25px}.values-grid{grid-template-columns:1fr}.value-card.wide{grid-column:auto}.safety-panel{border-radius:27px}.safety-copy{padding:45px 27px}.safety-copy h2{font-size:49px}.safety-visual{min-height:350px}.safety-tag{font-size:9px}.tag-1{top:45px;right:20px}.tag-2{left:20px;bottom:70px}.tag-3{right:25px;bottom:35px}.launch-banner{margin:0 20px 80px;padding:65px 22px;border-radius:27px}.launch-banner h2{font-size:55px}.faq{padding-top:0}.waitlist-section{padding:80px 20px}.waitlist-inner{gap:35px}.waitlist-form{padding:22px;border-radius:22px}.form-row{grid-template-columns:1fr}.footer{padding:55px 20px 22px}.footer-main{display:block}.footer-brand img.brand-logo-lockup{width:170px}.footer-links{grid-template-columns:repeat(2,1fr);margin-top:45px}.footer-bottom{display:block;line-height:2}.footer-bottom span{display:block}.modal-card{padding:28px 22px}.modal-card h2{font-size:45px}
}

/* ===== RideKeks v2 refinements ===== */
.brand-eyebrow{color:var(--blue);background:rgba(255,255,255,.88);border:1px solid rgba(11,60,193,.12);padding:9px 13px;border-radius:999px;box-shadow:0 8px 22px rgba(11,60,193,.07)}
.brand-eyebrow .live-dot{background:var(--gold);box-shadow:0 0 0 5px rgba(245,169,0,.13)}
.map-card{background:linear-gradient(145deg,#f4f7ff,#eef3ff);}
.map-glow{position:absolute;width:250px;height:250px;right:-70px;bottom:-80px;border-radius:50%;background:rgba(245,169,0,.16);filter:blur(8px)}
.route-map{position:absolute;inset:0;width:100%;height:100%;z-index:2;overflow:visible}
.route-shadow{fill:none;stroke:rgba(11,60,193,.10);stroke-width:13;stroke-linecap:round;filter:url(#routeGlow)}
.route-base{fill:none;stroke:rgba(255,255,255,.95);stroke-width:11;stroke-linecap:round}
.route-flow{fill:none;stroke:url(#routeGradient);stroke-width:6;stroke-linecap:round;stroke-dasharray:16 12;animation:routeFlow 1.1s linear infinite}
.route-node{stroke:#fff;stroke-width:5}.start-node{fill:var(--blue)}.end-node{fill:var(--gold)}
.pin{z-index:4}.pin-start{left:58px;top:141px}.pin-end{right:59px;bottom:136px}
.label-a{left:40px;top:180px;z-index:5}.label-b{right:30px;bottom:105px;z-index:5}
.animated-keke{position:absolute;left:0;top:0;width:82px;height:82px;z-index:6;offset-path:path("M 72 155 C 150 95, 275 105, 315 190 S 370 305, 465 350");offset-distance:0%;animation:followRoute 5.8s cubic-bezier(.55,.05,.45,.95) infinite;filter:drop-shadow(0 14px 18px rgba(20,34,70,.16));}
.animated-keke img{width:82px;height:82px;display:block;object-fit:contain;border-radius:0;transform:translate(-41px,-41px);}
.route-status{position:absolute;z-index:7;right:22px;top:100px;background:#fff;padding:10px 12px;border-radius:14px;box-shadow:0 12px 30px rgba(20,40,86,.1);display:flex;align-items:center;gap:8px;font-size:10px;color:#6a7488}.route-status strong{color:var(--blue);margin-left:3px}.status-dot{width:7px;height:7px;border-radius:50%;background:#27b85c;box-shadow:0 0 0 4px rgba(39,184,92,.11)}
.waitlist-note a{color:#dce6ff;text-decoration:underline;text-underline-offset:3px}.waitlist-note a:hover{color:#fff}
.quick-insight{margin:5px 0 15px;padding:14px 15px;background:#f7f9fd;border:1px solid #e6ebf4;border-radius:15px}.quick-insight-title{font-size:11px;font-weight:800;color:#5f6980;margin-bottom:9px}.quick-options{display:flex;flex-wrap:wrap;gap:7px}.quick-options label{margin:0;display:inline-flex;flex-direction:row;align-items:center;gap:6px;padding:8px 10px;border:1px solid #dfe5ef;border-radius:999px;background:#fff;font-size:10px;color:#606b80;cursor:pointer}.quick-options input{width:auto}.quick-options label:has(input:checked){border-color:var(--blue);background:var(--blue-soft);color:var(--blue)}
.modal-role-question{display:grid;gap:8px}.modal-role-question:empty{display:none}.modal-role-question .modal-mini{font-size:11px;font-weight:700;color:#687289}.modal-role-question input,.modal-role-question select{margin-bottom:2px}

/* Dedicated waitlist page */
.waitlist-page{background:#f7f9fd}.waitlist-page .site-header{background:rgba(255,255,255,.92)}
.waitlist-hero{min-height:100vh;padding:135px 7vw 80px;display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center;position:relative;overflow:hidden;background:radial-gradient(circle at 10% 20%,rgba(11,60,193,.08),transparent 32%),radial-gradient(circle at 85% 70%,rgba(245,169,0,.12),transparent 28%),#f7f9fd}
.waitlist-hero-bg{position:absolute;width:720px;height:720px;border:1px solid rgba(11,60,193,.07);border-radius:50%;right:-300px;top:80px;box-shadow:0 0 0 90px rgba(11,60,193,.025),0 0 0 180px rgba(245,169,0,.02)}
.waitlist-hero-copy{position:relative;z-index:2;max-width:590px}.waitlist-hero-copy h1{font-family:"Space Grotesk";font-size:clamp(66px,7.3vw,110px);line-height:.92;letter-spacing:-.06em}.waitlist-hero-copy h1 span{color:var(--blue)}.waitlist-hero-copy>p{font-size:17px;line-height:1.75;color:var(--muted);max-width:530px;margin:28px 0}.mini-benefits{display:flex;gap:9px;flex-wrap:wrap}.mini-benefits span{padding:9px 12px;border:1px solid #dce3ef;background:#fff;border-radius:999px;font-size:11px;font-weight:700;color:#5f6980}
.waitlist-card{position:relative;z-index:3;background:#fff;border:1px solid #e3e8f1;border-radius:32px;padding:32px;box-shadow:0 30px 90px rgba(20,39,80,.14);max-width:650px;margin-left:auto}.form-progress{display:flex;align-items:center;margin-bottom:28px}.progress-step{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;border:1px solid #dce3ef;color:#8a93a5;font-size:11px;font-weight:800}.progress-step.active{background:var(--blue);border-color:var(--blue);color:#fff}.form-progress i{height:1px;background:#dce3ef;flex:1;margin:0 8px}.form-stage{display:none}.form-stage.active{display:block;animation:stageIn .35s ease}.stage-kicker{text-transform:uppercase;letter-spacing:.13em;color:var(--gold);font-size:10px;font-weight:800;margin-bottom:10px}.form-stage h2{font-family:"Space Grotesk";font-size:44px;letter-spacing:-.05em;margin-bottom:23px}.form-field{display:flex;flex-direction:column;gap:7px;margin-bottom:14px}.form-field label{font-size:11px;font-weight:800;color:#687289}.form-field label span{font-weight:500;color:#9aa2b2}.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid #dce2ed;border-radius:13px;padding:14px;outline:none;color:var(--ink);background:#fff;font-size:14px;transition:.2s;resize:vertical}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(11,60,193,.08)}.role-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.role-option{position:relative;display:flex;flex-direction:column;gap:6px;padding:17px;border:1px solid #dce3ef;border-radius:17px;cursor:pointer;transition:.22s;background:#fff}.role-option input{position:absolute;opacity:0}.role-option:hover{transform:translateY(-2px);border-color:#b8c7e8}.role-option:has(input:checked){border-color:var(--blue);background:#f4f7ff;box-shadow:0 10px 25px rgba(11,60,193,.08)}.role-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--blue-soft);color:var(--blue);font-weight:800}.role-option strong{font-family:"Space Grotesk";font-size:17px}.role-option small{font-size:11px;color:#7b8497;line-height:1.45}.stage-actions{display:flex;justify-content:space-between;gap:10px;margin-top:19px}.question-block{margin-bottom:17px}.question-block>p{font-size:10px;color:#8a93a5;margin-bottom:8px}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:15px}.choice-grid label{display:flex;align-items:center;gap:8px;padding:11px;border:1px solid #dfe5ef;border-radius:12px;font-size:11px;font-weight:700;color:#667086;cursor:pointer}.choice-grid label:has(input:checked){border-color:var(--blue);background:var(--blue-soft);color:var(--blue)}.privacy-note{font-size:10px;color:#969eae;line-height:1.6;text-align:center;margin-top:12px}.full-success{display:none;text-align:center;padding:35px 10px 10px}.full-success.show{display:block;animation:stageIn .4s ease}.success-mark{width:64px;height:64px;border-radius:50%;background:#eafff0;color:#159144;display:grid;place-items:center;font-size:28px;font-weight:800;margin:0 auto 20px}.full-success h2{font-family:"Space Grotesk";font-size:54px}.full-success h2 span{color:var(--blue)}.full-success p{color:var(--muted);line-height:1.7;max-width:420px;margin:18px auto 25px}
@keyframes followRoute{0%{offset-distance:0%}100%{offset-distance:100%}}@keyframes routeFlow{to{stroke-dashoffset:-56}}@keyframes stageIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (max-width:1050px){.waitlist-hero{grid-template-columns:1fr;gap:45px;padding-top:125px}.waitlist-card{margin:0;max-width:760px}.animated-keke{offset-path:path("M 55 140 C 140 90, 250 105, 300 180 S 360 280, 455 335")}}
@media (max-width:720px){.brand-eyebrow{font-size:9px}.map-card{height:350px}.route-status{top:82px;right:12px}.animated-keke{width:66px;height:66px;offset-path:path("M 55 120 C 120 82, 215 92, 250 145 S 305 235, 410 285")}.animated-keke img{width:66px;height:66px;transform:translate(-33px,-33px);border-radius:17px}.route-map{transform:scale(.82);transform-origin:center}.pin-start{left:40px;top:105px}.pin-end{right:44px;bottom:72px}.label-a{left:23px;top:135px}.label-b{right:18px;bottom:45px}.quick-options{gap:5px}.quick-options label{font-size:9px}.waitlist-hero{padding:105px 20px 55px}.waitlist-hero-copy h1{font-size:61px}.waitlist-card{padding:22px;border-radius:24px}.form-stage h2{font-size:39px}.role-grid,.choice-grid{grid-template-columns:1fr}.stage-actions{flex-direction:column-reverse}.stage-actions .btn{width:100%}.mini-benefits span{font-size:10px}}
@media (prefers-reduced-motion:reduce){.route-flow,.animated-keke,.ticker-track{animation:none}.reveal{transition:none}}


/* Interconnected inner pages */
.inner-page { background: #f9fbff; }
.inner-page .site-header, .waitlist-page .site-header { height: 76px; }
.inner-page .brand img, .waitlist-page .brand img { width: 112px; }
.page-hero { padding: 155px 7vw 90px; min-height: 500px; display:flex; align-items:flex-end; background: radial-gradient(circle at 80% 20%, rgba(245,169,0,.12), transparent 28%), radial-gradient(circle at 20% 30%, rgba(11,60,193,.09), transparent 32%), #f9fbff; }
.page-hero-copy { max-width: 900px; }
.page-hero h1 { font-family:"Space Grotesk",sans-serif; font-size:clamp(50px,7vw,94px); line-height:.98; letter-spacing:-.055em; color:var(--ink); }
.page-hero h1 span { color:var(--blue); }
.page-hero-copy > p { max-width:760px; color:#667087; font-size:18px; line-height:1.7; margin-top:24px; }
.content-page { max-width:1180px; margin:0 auto; padding:95px 6vw 110px; }
.content-block { padding:0 0 90px; }
.content-block h2, .mission-grid h2, .team-section h2, .role-section h2, .guidelines-card h2, .social-section h2 { font-family:"Space Grotesk",sans-serif; font-size:clamp(34px,4vw,58px); line-height:1.02; letter-spacing:-.05em; color:var(--ink); margin:8px 0 25px; }
.content-block p, .mission-grid p, .team-grid p, .numbered-list p, .guidelines-card p, .social-section p, .page-cta p { color:#667087; font-size:17px; line-height:1.75; margin:0 0 18px; }
.split { display:grid; grid-template-columns:.8fr 1.2fr; gap:80px; border-top:1px solid var(--line); padding-top:70px; }
.mission-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; padding:30px 0 100px; }
.mission-grid article { background:#fff; border:1px solid var(--line); border-radius:28px; padding:40px; box-shadow:var(--shadow); }
.belief-list { display:grid; grid-template-columns:1fr 1fr; gap:0; border-top:1px solid var(--line); }
.belief-list > div { padding:30px 20px 30px 0; border-bottom:1px solid var(--line); }
.belief-list strong { font-family:"Space Grotesk"; font-size:20px; color:var(--ink); }
.belief-list p { margin-top:8px; color:#667087; line-height:1.6; }
.team-section { padding:30px 0 90px; }
.team-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:35px; }
.team-grid article { background:#fff; border:1px solid var(--line); border-radius:24px; padding:30px; }
.team-grid h3 { font-family:"Space Grotesk"; font-size:23px; line-height:1.1; margin-bottom:10px; }
.team-grid strong { color:var(--blue); font-size:13px; }
.team-grid p { margin-top:18px; font-size:15px; }
.page-cta { border-radius:32px; padding:60px; background:var(--blue); color:#fff; margin-top:20px; overflow:hidden; position:relative; }
.page-cta h2 { font-family:"Space Grotesk"; font-size:clamp(38px,5vw,64px); line-height:.98; letter-spacing:-.05em; margin:8px 0 22px; }
.page-cta h2 span { color:var(--gold); }
.page-cta .eyebrow { color:#fff; }
.page-cta p { color:rgba(255,255,255,.78); max-width:720px; }
.page-cta .btn { margin-top:12px; }
.light-cta { background:#eef3ff; color:var(--ink); }
.light-cta .eyebrow { color:var(--blue); }
.light-cta p { color:#667087; }
.light-cta .btn-white { background:var(--blue); color:#fff; }

.how-page { padding-top:70px; }
.role-section { padding:65px 0 85px; border-bottom:1px solid var(--line); }
.role-heading { margin-bottom:35px; }
.numbered-list { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:30px; }
.numbered-list article { display:grid; grid-template-columns:58px 1fr; gap:20px; background:#fff; border:1px solid var(--line); border-radius:22px; padding:25px; }
.numbered-list article > span { font-family:"Space Grotesk"; font-weight:700; color:var(--gold); font-size:16px; }
.numbered-list h3 { font-family:"Space Grotesk"; font-size:20px; margin-bottom:8px; }
.numbered-list p { font-size:15px; margin:0; }
.guidelines-card { margin:80px 0; padding:45px; border-radius:28px; background:#fff; border:1px solid var(--line); box-shadow:var(--shadow); display:flex; align-items:center; justify-content:space-between; gap:40px; }
.guidelines-card p { max-width:720px; }
.contact-hero { min-height:460px; }
.contact-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:55px; align-items:start; }
.contact-details { display:flex; flex-direction:column; gap:28px; }
.contact-details article { padding-bottom:28px; border-bottom:1px solid var(--line); }
.contact-details article > span { display:block; font-family:"Space Grotesk"; font-weight:700; font-size:22px; margin-bottom:8px; }
.contact-details article p { color:#667087; line-height:1.6; margin-bottom:8px; }
.contact-details a { display:block; color:var(--blue); font-weight:700; margin-top:7px; }
.contact-form-card { background:#fff; border:1px solid var(--line); border-radius:28px; padding:38px; box-shadow:var(--shadow); }
.contact-form-card > p { color:#667087; line-height:1.6; margin-bottom:25px; }
.contact-form-card form { display:flex; flex-direction:column; gap:17px; }
.contact-form-card label { display:flex; flex-direction:column; gap:8px; color:var(--ink); font-size:14px; font-weight:700; }
.contact-form-card label span { font-weight:500; color:var(--muted); }
.contact-form-card input, .contact-form-card select, .contact-form-card textarea { width:100%; border:1px solid #dce2ed; border-radius:14px; padding:14px 15px; outline:none; color:var(--ink); background:#fff; }
.contact-form-card textarea { resize:vertical; min-height:130px; }
.contact-form-card input:focus, .contact-form-card select:focus, .contact-form-card textarea:focus { border-color:var(--blue); box-shadow:0 0 0 4px rgba(11,60,193,.08); }
.contact-success { display:none; padding:15px; border-radius:14px; background:var(--blue-soft); color:var(--blue-dark); }
.contact-success.show { display:block; }
.contact-error { display:none; padding:15px; border-radius:14px; background:#fdecec; color:#b3261e; margin-top:12px; }
.contact-error.show { display:block; }
.social-section { margin:90px 0 0; padding:50px 0; border-top:1px solid var(--line); }
.social-section h2 { max-width:780px; }
.social-section p { color:var(--blue); font-weight:700; }
.waitlist-page { background:#f9fbff; }
.waitlist-page .site-header { background:rgba(255,255,255,.88); }
.waitlist-page .waitlist-hero { padding-top:145px; }

@media (max-width: 900px) {
  .desktop-nav { display:none; }
  .site-header .nav-cta { display:none; }
  .menu-toggle { display:block; }
  .page-hero { padding-top:130px; min-height:430px; }
  .split, .mission-grid, .contact-grid { grid-template-columns:1fr; gap:35px; }
  .team-grid { grid-template-columns:1fr; }
  .numbered-list { grid-template-columns:1fr; }
  .guidelines-card { flex-direction:column; align-items:flex-start; }
}
@media (max-width: 600px) {
  .inner-page .brand img, .waitlist-page .brand img { width:100px; }
  .page-hero { padding:125px 6vw 65px; }
  .content-page { padding:65px 6vw 80px; }
  .page-cta { padding:35px 28px; border-radius:24px; }
  .mission-grid article, .team-grid article, .guidelines-card, .contact-form-card { padding:28px; }
  .belief-list { grid-template-columns:1fr; }
}
