/* RIDEV mobility refresh. Shared foundations, product showcase and responsive layouts.
   Inspired by the supplied references; uses RIDEV's own identity, content and assets. */
:root {
  --font-display: "Manrope", "Plus Jakarta Sans", sans-serif;
  --wrap: 1280px;
  --paper-2: #f3f5ef;
  --text-3: #626c61;
  --shadow-brand: none;
  --shadow-brand-lg: 0 6px 16px rgb(25 47 15 / 12%);
}
.mobility-site { font-size:16px; }
.mobility-site h1,.mobility-site h2,.mobility-site h3 { font-family:var(--font-display); }
.mobility-site .h-lg { font-size:clamp(32px,3.65vw,52px); line-height:1.12; letter-spacing:-.045em; }
.mobility-site .type-soft { color:var(--brand-ink); }
.mobility-site .btn { padding:14px 24px; font-size:14px; border-radius:9px; box-shadow:none; }
.mobility-site .btn--primary { background:var(--brand); color:#10200b; }
.mobility-site .btn--primary:hover { background:#abe583; }
.mobility-site .btn--dark { background:#172018; color:#fff; }
.mobility-site .btn--ghost { background:transparent; border-color:var(--line-2); color:var(--text); }
.mobility-site .btn--linkedin { background:#0a66c2; border-color:#0a66c2; color:#fff; }
.mobility-site .btn--linkedin:hover { background:#0859a8; border-color:#0859a8; color:#fff; }
.mobility-site .btn--linkedin:focus-visible { outline:2px solid #91c8ff; outline-offset:4px; }
.mobility-site .eyebrow { font-size:10px; letter-spacing:.17em; margin-bottom:18px; }
.mobility-site .eyebrow::before { width:7px; height:7px; border-radius:50%; background:var(--brand-deep); }
.mobility-site .ticker { padding:9px 0; background:#172018; color:#d6ded2; font-size:11px; border:0; }
.mobility-site .ticker b,.mobility-site .ticker a { color:#c2efa8; }
.mobility-site .nav { border-bottom:1px solid var(--line); box-shadow:none; }
.mobility-site .nav__in { min-height:86px; }
.mobility-site .nav__links { gap:25px; }
.mobility-site .nav__links a { font-size:12px; }
.nav__note { display:none; }
.mobility-site .nav .btn { padding:12px 20px; min-height:44px; border-radius:8px; }
.mobility-site .themebtn { border-radius:50%; width:44px; height:44px; flex-shrink:0; }
.skip-link { position:fixed; top:8px; left:16px; z-index:1000; padding:12px 20px; background:var(--brand); color:#10200b; transform:translateY(-160%); }
.skip-link:focus { transform:translateY(0); }
.mobility-site a:focus-visible,.mobility-site button:focus-visible { outline:2px solid var(--brand-deep); outline-offset:5px; }
.mobility-site [role="tabpanel"]:focus-visible { outline:2px solid var(--brand-deep); outline-offset:4px; border-radius:12px; }

/* Three distinct panels. Hidden panels leave both layout and keyboard order. */
.mobility-hero { padding:22px 26px 0; max-width:1440px; margin:auto; }
.mobility-hero__frame { position:relative; border:1px solid var(--line); border-radius:20px; overflow:hidden; background:#132016; }
.ride-panel { display:grid; min-height:600px; }
.ride-panel[hidden] { display:none; }
.ride-panel.is-entering { animation:ride-panel-in .45s ease-out both; }
@keyframes ride-panel-in { from { opacity:.3; transform:translateX(10px); } to { opacity:1; transform:translateX(0); } }
/* The fleet photo is the first slide's backdrop; overlays protect text contrast. */
.ride-panel--fleet {
  grid-template-columns:minmax(0,1fr) 310px;
  background:linear-gradient(90deg,rgba(7,18,11,.92) 0%,rgba(7,18,11,.79) 33%,rgba(7,18,11,.18) 64%,rgba(7,18,11,.35) 100%),
    url("../img/image.png") center 38% / cover no-repeat;
  color:#fff;
}
.ride-panel--fleet .ride-copy { max-width:590px; padding-right:28px; }
.ride-panel--fleet h1 { color:#fff; }
.ride-panel--fleet .ride-copy h1 em { color:var(--brand); }
.ride-panel--fleet .ride-eyebrow { color:#e8f0e4; }
.ride-panel--fleet .ride-eyebrow > span { background:var(--brand); }
.ride-panel--fleet .ride-copy__intro,.ride-panel--fleet .ride-copy__foot p { color:#d4dfcf; }
.ride-panel--fleet .ride-copy__foot strong { color:#fff; }
.ride-panel--fleet .ride-text-link,.ride-panel--fleet .ride-seal { color:#fff; border-color:rgba(255,255,255,.35); }
.mobility-site .ride-panel--fleet .ride-actions .btn { background:var(--brand); color:#14200f; }
.ride-panel--fleet .circle-arrow { background:#19291b; color:var(--brand); }
.ride-panel--fleet .ride-inclusions { background:rgba(12,26,16,.86); border-left:1px solid rgba(255,255,255,.15); }
.ride-panel--fleet a:focus-visible { outline-color:var(--brand); }
:root[data-theme="dark"] .ride-panel--fleet .ride-inclusions { background:rgba(12,26,16,.86); }
.ride-copy { padding:36px 0 96px 46px; position:relative; z-index:2; align-self:center; }
.ride-eyebrow { display:flex; align-items:center; gap:9px; margin:0 0 22px; font-size:10px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.ride-eyebrow > span { width:7px; height:7px; background:var(--brand-deep); border-radius:50%; flex-shrink:0; }
.ride-copy h1,.ride-copy h2 { font-size:clamp(50px,5.1vw,72px); font-weight:800; line-height:1.04; letter-spacing:-.058em; margin:0; }
.ride-copy h1 em,.ride-copy h2 em { color:var(--brand-ink); font-style:normal; }
.ride-copy__intro { font-size:15px; line-height:1.75; margin:18px 0 20px; max-width:36ch; color:var(--text-2); }
.ride-actions { display:flex; flex-wrap:wrap; align-items:center; gap:20px; }
.mobility-site .ride-actions .btn { padding:9px 10px 9px 20px; }
.circle-arrow { display:grid; place-items:center; flex-shrink:0; width:32px; height:32px; margin-left:8px; border-radius:50%; background:var(--brand); color:#162111; line-height:1; }
.circle-arrow svg { display:block; width:20px; height:20px; }
.ride-text-link { font-size:12px; display:inline-flex; align-items:center; gap:10px; padding:12px 0; border-bottom:1px solid var(--line-2); }
.ride-copy__foot { display:flex; align-items:center; gap:12px; margin-top:24px; }
.ride-seal { width:36px; height:36px; flex-shrink:0; display:grid; place-items:center; border:1px solid var(--line-2); border-radius:50%; line-height:1; }
.ride-seal svg { display:block; width:22px; height:22px; }
.ride-copy__foot p { margin:0; font-size:10px; color:var(--text-2); line-height:1.6; }
.ride-copy__foot strong { font-weight:600; color:var(--text); }
.ride-inclusions { position:relative; z-index:2; background:#1b271e; color:#fff; padding:30px 27px 88px; display:flex; flex-direction:column; justify-content:center; }
.ride-inclusions__price > span { font-size:10px; letter-spacing:.15em; color:#c0cabb; }
.ride-inclusions__price small { display:block; margin-top:20px; font-size:11px; color:#b9c5b3; }
.ride-inclusions__price p { font-family:var(--font-display); font-size:clamp(30px,3vw,43px); letter-spacing:-.06em; line-height:1.2; color:var(--brand); margin:6px 0 24px; font-weight:700; }
.ride-inclusions__price p span { display:block; font-family:var(--font-text); font-size:11px; color:#c0cabb; letter-spacing:0; font-weight:400; margin-top:4px; }
.ride-inclusions__item { padding:14px 0; border-top:1px solid #3c493a; display:flex; gap:10px; align-items:flex-start; }
.ride-inclusions__icon { color:var(--brand); font-size:20px; line-height:1; }
.ride-inclusions__item strong { font-size:13px; line-height:1.5; font-weight:600; display:block; }
.ride-inclusions__item p { color:#bcc8b7; font-size:11px; margin:5px 0 0; line-height:1.5; }
.ride-inclusions__link { display:flex; align-items:center; justify-content:space-between; gap:5px; padding-top:23px; margin-top:auto; color:var(--brand); font-size:12px; border-top:1px solid #3c493a; }
.ride-inclusions__link span { font-size:21px; }
.ride-controls { position:absolute; z-index:4; bottom:16px; left:0; right:0; display:flex; align-items:center; justify-content:center; gap:10px; pointer-events:none; }
.ride-tabs { display:flex; gap:4px; padding:5px; border:1px solid rgba(255,255,255,.22); border-radius:12px; background:rgba(12,25,16,.94); box-shadow:0 4px 16px rgba(0,0,0,.12); pointer-events:auto; }
.ride-tabs button { appearance:none; border:0; border-radius:8px; background:transparent; color:#e4ebdf; font:600 11px var(--font-text); padding:12px 16px; min-height:40px; cursor:pointer; position:relative; }
.ride-tabs button > span { font-size:9px; color:#acc59c; margin-right:8px; }
.ride-tabs button:hover { background:rgba(255,255,255,.09); }
.ride-tabs button[aria-selected="true"] { color:#14200f; background:var(--brand); }
.ride-tabs button[aria-selected="true"] > span { color:#365329; }
.ride-control { appearance:none; flex-shrink:0; width:40px; height:40px; padding:0; display:grid; place-items:center; background:transparent; color:#fff; border:0; border-radius:0; cursor:pointer; font:400 28px/1 var(--font-text); pointer-events:auto; box-shadow:none; text-shadow:0 1px 5px rgba(0,0,0,.5); }
.ride-control:hover { color:var(--brand); }
.mobility-site .ride-controls button:focus-visible { outline-color:var(--brand); outline-offset:3px; }
.ride-panel--network,.ride-panel--story { grid-template-columns:1fr 1fr; gap:28px; }
.ride-panel--network { background:var(--paper-2); }
.ride-panel--network .ride-copy,.ride-panel--story .ride-copy { padding-right:0; }
.ride-panel--network h2,.ride-panel--story h2 { font-size:clamp(40px,3.8vw,54px); }
.ride-panel--network .ride-copy__intro { font-size:14px; max-width:43ch; }
.network-feature {
  min-width:0; padding:12px 22px 76px; display:flex; flex-direction:column; justify-content:center; gap:14px;
  background:linear-gradient(180deg,rgba(10,23,15,.18),rgba(10,23,15,.3)),url("../img/map/hub-locations-v1.jpg") center / cover no-repeat #1b271e;
}
.hub-city-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; max-width:520px; margin:20px 0; }
.hub-city-card { display:grid; grid-template-columns:14px minmax(0,1fr) 10px; column-gap:8px; row-gap:3px; align-items:center; padding:12px; border:1px solid var(--line-2); border-radius:10px; background:var(--paper); color:var(--text); transition:background .2s,border-color .2s; }
.hub-city-card svg { width:14px; height:16px; fill:none; stroke:var(--brand-ink); stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.hub-city-card__name { font-size:13px; line-height:1.4; font-weight:700; letter-spacing:-.025em; }
.hub-city-card__arrow { color:var(--brand-ink); font-size:13px; }
.hub-city-card__status { grid-column:2/-1; color:var(--text-2); font-size:10px; line-height:1.5; }
.hub-city-card.is-soon { border-style:dashed; }
.hub-city-card:hover { background:var(--brand-pale); border-color:var(--brand-ink); }
.mobility-site .hub-city-card:focus-visible { outline-color:var(--brand-ink); }
.network-feature .hubs__visual--posts { width:100%; gap:18px; overflow-x:auto; scroll-snap-type:x mandatory; }
.network-feature .postcard { flex:0 0 auto; scroll-snap-align:start; }
.network-feature .postcard figcaption { color:#edf5e6; font-size:10px; text-shadow:0 1px 4px #07100a; }
.network-feature .hubs__reel { --rh:380px; border-radius:14px; }
.network-feature .postcard > a { display:flex; justify-content:space-between; color:var(--brand); font-size:10px; padding:4px 0; text-shadow:0 1px 4px #07100a; }
.ride-panel--story {
  background:
    linear-gradient(90deg,rgba(7,16,9,.96) 0%,rgba(7,16,9,.78) 42%,rgba(7,16,9,.18) 100%),
    linear-gradient(180deg,rgba(7,16,9,.08) 0%,rgba(7,16,9,.08) 58%,rgba(7,16,9,.58) 82%,rgba(7,16,9,.9) 100%),
    url("../img/image_2.png") center / cover no-repeat #1b271e;
  color:#fff;
}
.ride-panel--story .ride-eyebrow { color:#e8f0e4; }
.ride-panel--story .ride-eyebrow > span { background:var(--brand); }
.mobility-site .ride-panel--story a:focus-visible { outline-color:var(--brand); }
.ride-panel--story h2 { color:#fff; }
.ride-panel--story h2 em { color:var(--brand); }
.ride-panel--story .ride-copy__intro { color:#c1cdbb; }
.ride-story-video { display:flex; flex-direction:column; justify-content:center; padding:0 40px 64px 0; }
.ride-story-video iframe { width:100%; aspect-ratio:16/9; border:0; border-radius:14px; background:#101810; }
.ride-story-video > a { padding-top:14px; color:#c1cdbb; font-size:11px; display:flex; justify-content:space-between; }

/* More varied editorial spacing; the content remains data driven. */
.mobility-site .sec,.mobility-site.rider-page .sec { padding:72px 0; }
.mobility-site .sec-head,.mobility-site.rider-page .sec-head,.mobility-site.rider-page .impactsection__head,
.mobility-site.rider-page #included .sec-head,.mobility-site.rider-page #pricing .sec-head,
.mobility-site.rider-page #cities .sec-head,.mobility-site.rider-page #savings .sec-head { text-align:left; margin:0 0 32px; max-width:790px; }
.mobility-site.rider-page .sec-head .eyebrow { justify-content:flex-start; }
.mobility-site.rider-page .sec-head p,.mobility-site.rider-page .sec-head .lede { margin-left:0; font-size:15px; }
.mobility-site.rider-page #intro { padding:62px 0 48px; }
.mobility-site .brandstory { padding:0; width:auto; margin:0; left:auto; }
.mobility-site .brandstory__in { display:grid; grid-template-columns:1fr 1fr; gap:80px; padding:0; text-align:left; max-width:none; align-items:center; }
.mobility-site .brandstory .h-lg { font-size:32px; max-width:460px; margin:0; }
.mobility-site .brandstory .eyebrow { justify-content:flex-start; }
.mobility-site .brandstory p { font-size:14px; line-height:1.8; margin:0; max-width:50ch; }
.mobility-site .hstrip,.mobility-site.rider-page .hstrip { margin-top:38px; border-radius:0; border:0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:transparent; box-shadow:none; }
.mobility-site .hstat { padding:24px 18px; }
.mobility-site .hstat__rule { display:none; }
.mobility-site .hstat b { font-family:var(--font-display); font-size:clamp(28px,3vw,42px); letter-spacing:-.05em; }
.mobility-site .hstat span { font-size:10px; margin-top:5px; }
.mobility-site .logowall { margin-top:29px; }
.mobility-site .logowall__title { font-size:9px; letter-spacing:.1em; }
.mobility-site .logowall__row { padding-top:10px; padding-bottom:10px; }
.mobility-site.rider-page #included { background:var(--paper-2); }
.mobility-site #included .cgrid { gap:16px; }
.mobility-site #included .card { padding:30px 25px; border-radius:14px; }
.mobility-site #included .card:first-child { background:#1b271e; border-color:#1b271e; color:#d7dfd2; }
.mobility-site #included .card:first-child h3 { color:white; }
.mobility-site #included .card:first-child p { color:#c8d4c0; }
.mobility-site #included .card:first-child .card__ico { background:#32482b; color:var(--brand); }
.mobility-site #included .card p { font-size:13px; line-height:1.8; }
.mobility-site #included .card__ico { width:40px; height:40px; border-radius:50%; background:var(--paper-2); box-shadow:none; margin-bottom:30px; }
.mobility-site #included .h-sm { font-size:18px; }
.mobility-site .pillar__tag { font-size:9px; background:var(--brand-wash); border:1px solid var(--line); }
/* One app preview, with six interactive steps arranged around it. */
.mobility-site.rider-page #how .flow { border:0; padding:0; }
.mobility-site.rider-page #how .flowstep { border-radius:14px; padding:20px; gap:14px; background:var(--paper-2); }
.mobility-site.rider-page #how .flowstep:not(.is-current) { opacity:1; }
.mobility-site.rider-page #how .flowstep.is-current { background:var(--brand-wash); border-color:var(--brand-deep); animation:none; box-shadow:0 8px 24px rgb(35 69 20 / 8%); }
.mobility-site.rider-page #how .flowstep::before { display:none; }
.mobility-site.rider-page #how .flowstep:focus-visible { outline:2px solid var(--brand-deep); outline-offset:4px; }
.mobility-site #how .flowstep__n { width:30px; height:30px; border-radius:50%; font-size:11px; }
.mobility-site #how .flowstep__media { position:relative; width:30px; height:74px; }
.mobility-site #how .flowstep__image { position:absolute; top:0; left:-14px; width:50px; max-width:none; height:74px; object-fit:cover; border-radius:8px; }
.mobility-site #how .flowstep__media .flowstep__n { position:absolute; right:-6px; bottom:-6px; width:24px; height:24px; border:2px solid var(--paper); background:var(--paper-3); color:var(--text); box-shadow:0 2px 6px rgb(0 0 0 / 12%); }
.mobility-site #how .flowstep.on .flowstep__media .flowstep__n { background:var(--brand); color:#10200b; }
.mobility-site #how .flowstep b { font-size:15px; line-height:1.4; margin-bottom:6px; }
.mobility-site #how .flowstep p { font-size:12px; line-height:1.65; }
.mobility-site.rider-page #how .flow__phone .phone__screen { max-width:264px !important; background:#fff; --paper:#fff; --paper-2:#f5f7f2; --paper-3:#eef2eb; --text:#142010; --text-2:#4b5547; --text-3:#63705d; --brand-ink:#34691c; --brand-wash:#f0f9e9; --brand-mist:#f8fcf4; --line:#dfe7da; }
.mobility-site #how .phone__body { gap:16px; }
.mobility-site #how .pb__hd { flex-shrink:0; min-height:26px; }
.mobility-site #how .flow-preview__step { color:var(--text-3); font-size:9px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.mobility-site #how .flow-preview__content { min-height:0; animation:screenFade .3s ease-out; }
.mobility-site #how .flow-preview__image { display:block; width:calc(100% + 32px); max-width:none; height:196px; margin:0 -16px; object-fit:cover; }
.mobility-site #how .flow-preview__caption { padding-top:18px; }
.mobility-site #how .flow-preview__caption h3 { margin:0 0 8px; color:var(--text); font-size:18px; line-height:1.3; letter-spacing:-.035em; }
.mobility-site #how .flow-preview__caption p { margin:0; color:var(--text-2); font-size:12px; line-height:1.6; }
.mobility-site #how .flow-preview__progress { display:flex; gap:5px; margin-top:auto; padding-top:8px; }
.mobility-site #how .flow-preview__progress span { height:4px; flex:1; border-radius:4px; background:var(--line); }
.mobility-site #how .flow-preview__progress .is-current { background:var(--brand); }
@media (prefers-reduced-motion:reduce) {
  .mobility-site #how .flow-preview__content { animation:none; }
}
.mobility-site.rider-page #how .flow__nav { border:0; box-shadow:none; background:transparent; padding:0; gap:12px; }
.mobility-site #how .flow__arrow { width:44px; height:44px; background:transparent; border:0; border-radius:8px; }
.mobility-site #how .flow__arrow:hover { background:var(--brand-wash); transform:none; }
@media (min-width:1041px) {
  .mobility-site.rider-page #how .flow { --orbit-x:min(410px, calc((100vw - 350px) / 2)); --orbit-card:clamp(220px,22vw,270px); height:680px; min-height:680px !important; }
  .mobility-site.rider-page #how .flow::before { width:640px; height:640px; top:46%; background:radial-gradient(circle, rgb(149 219 103 / 9%), transparent 65%); border-color:var(--line); }
  .mobility-site.rider-page #how .flowstep { width:var(--orbit-card); min-height:126px; }
  .mobility-site.rider-page #how .flowstep:nth-child(-n+3) { left:calc(50% - var(--orbit-x) + 52px - var(--orbit-card) / 2) !important; right:auto !important; }
  .mobility-site.rider-page #how .flowstep:nth-child(n+4) { left:calc(50% + var(--orbit-x) - 52px - var(--orbit-card) / 2) !important; right:auto !important; }
  .mobility-site.rider-page #how .flowstep:nth-child(1),.mobility-site.rider-page #how .flowstep:nth-child(4) { top:calc(46% - 180px) !important; }
  .mobility-site.rider-page #how .flowstep:nth-child(2) { left:calc(50% - var(--orbit-x) - var(--orbit-card) / 2) !important; top:46% !important; }
  .mobility-site.rider-page #how .flowstep:nth-child(5) { left:calc(50% + var(--orbit-x) - var(--orbit-card) / 2) !important; top:46% !important; }
  .mobility-site.rider-page #how .flowstep:nth-child(3),.mobility-site.rider-page #how .flowstep:nth-child(6) { top:calc(46% + 180px) !important; }
  .mobility-site.rider-page #how .flow__phone { bottom:8%; }
  .mobility-site.rider-page #how .flow__nav { bottom:8px !important; }
}
@media (max-width:1040px) {
  .mobility-site.rider-page #how .flow { gap:30px; align-items:center; }
  .mobility-site.rider-page #how .flow__steps-wrap { max-width:480px; border:0; padding:0; }
  .mobility-site.rider-page #how .flow__steps { min-height:154px; }
  .mobility-site.rider-page #how .flowstep { min-height:154px; }
  .mobility-site.rider-page #how .flow__nav { margin-top:16px; }
}

/* Showroom cards: real vehicles are the focus, with rates and specs below. */
.fleet-picker { display:flex; align-items:center; gap:24px; padding:12px 16px; border:1px solid var(--line); border-radius:14px; background:var(--paper-2); }
.fleet-picker__label { display:flex; align-items:center; gap:8px; flex-shrink:0; color:var(--text-2); font-size:12px; font-weight:600; }
.fleet-picker__label svg { width:18px; height:18px; color:var(--brand-ink); }
.mobility-site #pricing .tabs { display:flex; justify-content:flex-end; gap:6px; margin:0; border:0; padding:0; flex-wrap:wrap; background:transparent; border-radius:0; flex:1; min-width:0; }
.mobility-site #pricing .tab { border-radius:8px; border:1px solid transparent; min-height:44px; padding:10px 16px; font-size:12px; background:transparent; color:var(--text-2); }
.mobility-site #pricing .tab:hover { background:var(--paper); border-color:var(--line-2); color:var(--text); }
.mobility-site #pricing .tab[aria-selected="true"] { background:var(--brand); color:#14200f; border-color:var(--brand); box-shadow:none; font-weight:700; }
.mobility-site #pricing .tab::after { display:none; }
.fleet-results { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:56px; padding:8px 0; }
.fleet-results p { margin:0; color:var(--text-2); font-size:12px; line-height:1.5; }
.fleet-nav { display:flex; align-items:center; gap:2px; flex-shrink:0; }
.fleet-nav[hidden] { display:none; }
.fleet-nav button { display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid var(--line); border-radius:50%; background:var(--paper); color:var(--text); cursor:pointer; transition:background .2s,border-color .2s; }
.fleet-nav button:hover:not(:disabled) { background:var(--brand-wash); border-color:var(--brand-deep); }
.fleet-nav button:disabled { opacity:.3; cursor:default; }
.fleet-nav svg { width:18px; height:18px; }
.fleet-nav span { min-width:42px; text-align:center; color:var(--text-2); font-size:11px; font-variant-numeric:tabular-nums; }
.mobility-site #pricing .plans { gap:18px; }
.mobility-site #pricing .plan { border:1px solid var(--line); border-radius:14px; box-shadow:none; background:var(--paper); padding:20px; display:flex; flex-direction:column; overflow:hidden; }
.mobility-site #pricing .plan--best { border-color:var(--brand-deep); background:var(--paper); }
.mobility-site #pricing .plan::before { display:none; }
.mobility-site #pricing .plan__head { min-height:22px; gap:8px; align-items:flex-start; }
.mobility-site #pricing .plan__brand { font-size:10px; letter-spacing:.13em; color:var(--text-2); }
.mobility-site #pricing .plan__badge { font-size:8px; padding:4px 7px; background:var(--brand-wash); color:var(--brand-ink); border:0; box-shadow:none; white-space:normal; }
.mobility-site #pricing .plan__model { font-size:22px; margin:6px 0 8px; letter-spacing:-.04em; color:var(--text); }
.mobility-site #pricing .plan__ph { width:100%; height:160px; min-height:160px; max-height:none; margin:0 0 16px; background:var(--paper-2); border-radius:10px; position:relative; overflow:hidden; border:0; display:grid; place-items:center; }
.mobility-site #pricing .plan__ph::before { content:""; width:130px; height:130px; background:var(--brand-pale); border-radius:50%; position:absolute; opacity:.45; }
.mobility-site #pricing .plan__img { position:relative; inset:auto; width:90%; height:148px; max-height:148px; object-fit:contain; margin:auto; transform:none; filter:drop-shadow(0 9px 6px rgb(20 32 15 / 9%)); }
.mobility-site #pricing .plan:hover .plan__img { transform:translateY(-3px); }
.mobility-site #pricing .plan__mark { max-width:230px; }
.mobility-site #pricing .plan__pricing { display:block; margin:0 0 12px; }
.mobility-site #pricing .plan__price b { font-size:32px; letter-spacing:-.06em; color:var(--text); }
.mobility-site #pricing .plan__price span { font-size:11px; color:var(--text-2); }
.mobility-site #pricing .plan__mo { font-size:11px; color:var(--text-2); }
.mobility-site #pricing .plan__specs { gap:14px; margin:0; border-top:1px solid var(--line); padding-top:12px; }
.mobility-site #pricing .plan__specs dt { font-size:11px; color:var(--text-2); }
.mobility-site #pricing .plan__specs dd { font-size:16px; color:var(--text); }
.mobility-site #pricing .plan__also { font-size:10px; padding-top:10px; margin-top:0; }
.mobility-site #pricing .plan--best .plan__also { color:var(--text-2); }
.mobility-site #pricing .plan--best .plan__chip { background:var(--paper-2); color:var(--text-2); }
.mobility-site #pricing .plan__chip { padding:3px 6px; font-size:9px; }
.mobility-site #pricing .plan__included { font-size:9px; color:var(--text-2); margin:14px 0 12px; line-height:1.6; }
.mobility-site #pricing .plan__cta { margin-top:auto; padding-top:0; }
.mobility-site #pricing .plan__cta .btn { width:100%; font-size:12px; padding:12px; justify-content:space-between; }
.mobility-site #pricing .plans[data-count="4"] .plan { padding:18px; }
.mobility-site #pricing .plans[data-count="4"] .plan__model { font-size:20px; }

/* Savings, locations and app: fewer nested surfaces, clearer contrast. */
.mobility-site #savings .calc { padding:35px; border:1px solid var(--line); border-radius:18px; background:var(--paper-2); gap:45px; }
.mobility-site #savings .calcrow { border-radius:9px; background:var(--paper); }
.mobility-site #savings .calcrow--win { background:#1b271e; border-color:#1b271e; }
.mobility-site #savings .calcrow--win .k b,.mobility-site #savings .calcrow--win .k { color:#e5eedf; }
.mobility-site #savings .calcrow--win .v { color:var(--brand); }
.mobility-site .citymap { border:1px solid var(--line); border-radius:18px; overflow:hidden; background:var(--paper); padding:26px; gap:32px; }
/* A dedicated forest canvas gives the geography and network a clear hierarchy. */
.mobility-site :is(#cities, #markets) .indiamap__wrap {
  width:100%; max-width:none; min-width:0; display:block; padding:20px 16px 14px;
  color:#edf7e9; border:1px solid #35523c; border-radius:16px; overflow:hidden;
  background:radial-gradient(ellipse at 45% 40%, #254d35 0%, #152f23 50%, #10241c 100%);
  box-shadow:inset 0 1px 0 rgb(209 244 190 / 8%);
}
.indiamap__head { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; padding:0 4px 14px; }
.indiamap__head,.indiamap__stage,.indiamap__selection { width:100%; }
.indiamap__head h3 { margin:0; font-size:19px; line-height:1.3; letter-spacing:-.035em; color:#f1f8ed; }
.indiamap__head p { margin:6px 0 0; font-size:10px; line-height:1.5; color:#bed2b7; }
.indiamap__head p span { padding:0 3px; color:var(--brand); }
.indiamap__country { flex-shrink:0; display:inline-flex; align-items:center; gap:6px; border:1px solid #456346; border-radius:20px; padding:6px 9px; color:#d4edc8; font-size:9px; letter-spacing:.1em; text-transform:uppercase; }
.indiamap__country::before { content:""; width:5px; height:5px; border-radius:50%; background:var(--brand); }
.indiamap__stage { position:relative; overflow:hidden; border-radius:10px; background:linear-gradient(rgb(182 222 161 / 4%) 1px,transparent 1px) center / 32px 32px,linear-gradient(90deg,rgb(182 222 161 / 4%) 1px,transparent 1px) center / 32px 32px; }
.mobility-site :is(#cities, #markets) .indiamap { display:block; width:100%; max-width:none; height:470px; filter:none; cursor:default; }
.indiamap__relief { fill:#081e16; opacity:.8; }
.indiamap__terrain { filter:drop-shadow(0 6px 8px rgb(0 0 0 / 16%)); }
.indiamap__coast { fill:#b7e79a; opacity:.65; pointer-events:none; }
.mobility-site :is(#cities, #markets) .indiamap__states { fill:#c6e4b7; opacity:.32; }
.mobility-site :is(#cities, #markets) .indiamap__dots { fill:#b0d79b; opacity:.15; }
.mobility-site :is(#cities, #markets) .indiamap__heat--1 { fill:#b6ef87; opacity:.9; }
.mobility-site :is(#cities, #markets) .indiamap__heat--2 { fill:#a4df7a; opacity:.55; }
.mobility-site :is(#cities, #markets) .indiamap__heat--3 { fill:#a4df7a; opacity:.3; }
.mobility-site :is(#cities, #markets) .indiamap__dots--lit { fill:#dcffaf; opacity:.9; }
.mobility-site :is(#cities, #markets) .net { fill:none; stroke:#a4dd7f; opacity:.55; stroke-width:1; stroke-dasharray:3 4; animation:none; }
.mobility-site :is(#cities, #markets) .net--soon { stroke:#edc277; stroke-dasharray:2 5; opacity:.5; }
.mobility-site :is(#cities, #markets) .net.is-on { opacity:1; stroke-width:1.8; animation:netFlow 2.4s linear infinite; }
.mobility-site :is(#cities, #markets) .pin__dot { r:3.8; fill:var(--brand); stroke:none; stroke-width:0; filter:none; transition:fill .18s ease; }
.mobility-site :is(#cities, #markets) .pin--soon .pin__dot { fill:#294934; stroke:#f2c67d; stroke-width:1.3; stroke-dasharray:none; }
.mobility-site :is(#cities, #markets) .pin__ring { fill:none; stroke:var(--brand); stroke-width:1; opacity:0; pointer-events:none; transition:opacity .18s ease; }
.mobility-site :is(#cities, #markets) .pin.is-selected .pin__ring { opacity:.65; }
.mobility-site :is(#cities, #markets) .pin:focus-visible .pin__ring { opacity:1; stroke:#f2ffe8; stroke-width:1.5; }
.mobility-site :is(#cities, #markets) .pin--soon .pin__ring { stroke:#f2c67d; }
.mobility-site :is(#cities, #markets) .pin.is-selected .pin__dot,.mobility-site :is(#cities, #markets) .pin.is-hot .pin__dot { fill:#e7ffd3; }
.mobility-site :is(#cities, #markets) .pin--soon.is-selected .pin__dot,.mobility-site :is(#cities, #markets) .pin--soon.is-hot .pin__dot { fill:#f2c67d; }
.mobility-site :is(#cities, #markets) .pin.is-hot { filter:none; }
.mobility-site :is(#cities, #markets) .pin__label { opacity:1; }
.mobility-site :is(#cities, #markets) .pin__lname { fill:#e7f1e2; stroke:#234931; stroke-width:2.5px; font-size:11.5px; font-weight:500; }
.mobility-site :is(#cities, #markets) .pin.is-selected .pin__lname { fill:#fff; font-weight:600; }
.mobility-site :is(#cities, #markets) .pin--soon .pin__lname { fill:#f6d79e; }
.mobility-site :is(#cities, #markets) .indiamap__reset { top:8px; right:8px; min-height:44px; padding:9px 12px; border-color:#8cbd72; background:#e1f6d4; color:#16331f; box-shadow:0 3px 12px rgb(0 0 0 / 16%); font-size:11px; }
.mobility-site :is(#cities, #markets) .indiamap__reset[hidden] { display:none; }
.mobility-site :is(#cities, #markets) .indiamap__legend { justify-content:center; gap:8px 14px; margin:14px 0; color:#c0d5b5; font-size:10px; }
.mobility-site :is(#cities, #markets) .lg-live { background:var(--brand); box-shadow:none; width:7px; height:7px; }
.mobility-site :is(#cities, #markets) .lg-soon { width:7px; height:7px; border:1.3px solid #f2c67d; }
.mobility-site :is(#cities, #markets) .lg-net { border-color:#a4dd7f; }
.indiamap__selection { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px; border:1px solid #456145; border-radius:11px; background:rgb(7 25 17 / 48%); }
.indiamap__selection > div { min-width:0; }
.indiamap__selection b { display:block; font-size:15px; font-weight:700; color:#f1faec; }
.indiamap__selection [data-map-detail] { display:block; margin-top:4px; font-size:10px; line-height:1.5; color:#bed2b7; }
.indiamap__explore { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:44px; padding:10px 12px; flex-shrink:0; background:var(--brand); color:#14310d; border:0; border-radius:8px; font:600 11px var(--font-text); cursor:pointer; }
.indiamap__explore:hover { background:#b8ee94; }
.mobility-site :is(#cities, #markets) .indiamap__hint { margin:10px 0 0; max-width:none; color:#b0c8a5; font-size:10px; letter-spacing:0; }
.mobility-site :is(#cities, #markets) .indiamap__wrap button:focus-visible { outline-color:#d5ffb6; outline-offset:3px; }
@media (max-width:1000px) and (min-width:641px) {
  .mobility-site :is(#cities, #markets) .indiamap { height:440px; }
}
@media (max-width:640px) {
  .mobility-site :is(#cities, #markets) .indiamap__wrap { padding:16px 10px 12px; }
  .mobility-site :is(#cities, #markets) .indiamap { height:auto; aspect-ratio:386 / 441.29; }
  .mobility-site :is(#cities, #markets) .pin__lname { font-size:13px; stroke-width:3px; }
  .indiamap__head { padding-inline:4px; gap:8px; }
  .indiamap__head h3 { font-size:18px; }
  .indiamap__head p { max-width:24ch; }
  .mobility-site :is(#cities, #markets) .indiamap__legend { gap:8px 12px; font-size:9px; }
  .indiamap__selection { gap:8px; padding:10px; }
  .indiamap__explore { padding-inline:10px; gap:7px; }
}
@media (prefers-reduced-motion:reduce) {
  .mobility-site :is(#cities, #markets) .net.is-on { animation:none; }
  .mobility-site :is(#cities, #markets) .indiamap__glow { transition:none; }
}
.mobility-site .rquote { border-radius:14px; background:var(--paper-2); box-shadow:none; padding:30px; }
.mobility-site .rquote blockquote { font-size:15px; line-height:1.8; }
.mobility-site .rquote figcaption { border-top:1px solid var(--line-2); padding-top:18px; }
.mobility-site .rquote figcaption b { font-size:13px; }
.mobility-site.rider-page #app { background:var(--paper); padding-top:10px; }
.mobility-site #app .appband { background:#1b271e; border:0; padding:65px 70px; border-radius:22px; gap:60px; overflow:hidden; }
.mobility-site #app .appband h2 { color:#fff; font-size:clamp(40px,4.5vw,64px); }
.mobility-site #app .appband .type-soft { color:var(--brand); }
.mobility-site #app .appband .eyebrow { color:var(--brand); }
.mobility-site #app .appband .lede,.mobility-site #app .appband .inline-ticks li { color:#c6d2be; font-size:13px; }
.mobility-site #app .appband .phone { transform:rotate(5deg); }
.mobility-site #app .appband__ghost { opacity:.25; }
.mobility-site .business-teaser { border:0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); border-radius:0; padding:48px 0; background:transparent; box-shadow:none; }
.mobility-site .business-teaser .h-lg { font-size:36px; max-width:650px; }
.mobility-site .business-teaser .lede { font-size:14px; }
.mobility-site.rider-page #business { padding:15px 0 75px; }
.mobility-site .pillar3 { border-radius:14px; }
.mobility-site .pillar3__ph::after { display:none; }
.mobility-site .pillar3__ph { height:180px; }
.mobility-site .pillar3__body { padding:25px; }
.mobility-site .pillar3__lead,.mobility-site .pillar3__pts li { font-size:12px; line-height:1.75; }
.mobility-site #faq .wrap { max-width:1280px !important; display:grid; grid-template-columns:.85fr 1.15fr; gap:80px; }
.mobility-site #faq .sec-head { margin-bottom:0; }
.mobility-site #faq .h-md { font-size:44px; letter-spacing:-.04em; }
.mobility-site #faq .faq { border-top:1px solid var(--line-2); }
.mobility-site #faq details { background:transparent; border-radius:0; border:0; border-bottom:1px solid var(--line-2); }
.mobility-site #faq summary { padding:24px 0; font-size:14px; }
.mobility-site #faq details p { font-size:13px; padding:0 30px 24px 0; margin:0; }
.mobility-site #get .ctaband { background:#dff1d2; color:#172018; border:0; border-radius:20px; padding:55px; box-shadow:none; }
.mobility-site #get .ctaband h2 { color:#172018; font-size:clamp(36px,4vw,56px); }
.mobility-site #get .ctaband .lede,.mobility-site #get .ctaband .muted { color:#45593c; }
.mobility-site #get .btn--primary { background:#172018; color:white; }
.mobility-site #get .btn--ghost { color:#172018; border-color:#9cad90; }
.mobility-site .footer { background:#172018; padding-top:64px; }
.mobility-site .footer__blurb { font-size:12px; }
.mobility-site .footer h4 { font-size:9px; letter-spacing:.13em; }
.mobility-site .footer li a,.mobility-site .footer__contact a { font-size:12px; }
.mobility-site .footer__bot { font-size:10px; }
.mobility-site .stickycta { border-radius:12px; bottom:calc(12px + env(safe-area-inset-bottom, 0px)); }
.mobility-site:has(.nav.open) .stickycta { visibility:hidden; pointer-events:none; }
.mobility-site .stickycta:not(.is-show) { visibility:hidden; pointer-events:none; }
.mobility-site #app .appband .muted { color:#bcc8b7; }

/* Business and investor pages inherit the same typography and surface language. */
.mobility-site.business-page .business-hero { background:var(--paper-2); color:var(--text); padding:85px 0; }
.mobility-site.business-page .business-hero::before { display:none; }
.mobility-site.business-page .business-hero h1 { color:var(--text); font-size:clamp(40px,4.7vw,66px); letter-spacing:-.055em; }
.mobility-site.business-page .business-hero .lede { color:var(--text-2); font-size:16px; }
.mobility-site.business-page .business-hero .eyebrow { color:var(--brand-ink); }
.mobility-site.business-page .business-hero .btn--ghost { color:var(--text); border-color:var(--line-2); background:transparent; }
.mobility-site.business-page .business-hero__signal { background:#1b271e; border:0; padding:35px; border-radius:16px; }
.mobility-site.business-page .business-hero__signal b { color:var(--brand); }
.mobility-site.business-page .business-hero__signal span { color:#cad6c3; }
.mobility-site .partner,.mobility-site .business-case,.mobility-site .business-step,.mobility-site .card { border-radius:14px; box-shadow:none; }
.mobility-site.investor-page > .hero { background:var(--paper-2); padding:85px 0 55px; }
.mobility-site.investor-page > .hero .h-xl { font-size:clamp(44px,5vw,70px); }
.mobility-site.investor-page .hl { background:none; padding:0; }
.mobility-site.investor-page .hstrip { border-radius:0; }

/* Investor story: a large EV photograph, an editorial headline and a compact KPI rail. */
.mobility-site.investor-page > .hero.investor-hero { padding:24px 0 0; background:var(--paper-2); border:0; }
.investor-hero::after { display:none; }
.investor-hero__frame { border:1px solid var(--line); border-radius:20px; overflow:hidden; background:var(--paper); }
.investor-hero__lead { display:grid; grid-template-columns:1fr 1.05fr; min-height:570px; }
.investor-hero__copy { position:relative; padding:46px 40px 32px; align-self:center; }
.investor-hero__copy::before { content:""; position:absolute; width:min(360px,100%); height:360px; right:0; top:0; pointer-events:none; background:radial-gradient(circle,rgb(149 219 103 / 9%),transparent 70%); }
.investor-hero__copy > * { position:relative; }
.investor-hero__copy .eyebrow { margin-bottom:28px; }
.investor-hero__copy h1 { margin:0 0 24px; line-height:1.08; letter-spacing:-.05em; }
.investor-hero__copy h1 > span { display:block; font-size:clamp(26px,2.65vw,38px); font-weight:600; }
.investor-hero__copy h1 > strong { display:block; margin:6px 0 12px; color:var(--brand-ink); font-size:clamp(80px,8.6vw,124px); font-weight:800; line-height:1; letter-spacing:-.075em; }
.investor-hero__copy h1 .investor-hero__period { font-size:clamp(22px,2.05vw,29px); letter-spacing:-.035em; }
.investor-hero__copy .hero__sub { max-width:46ch; margin:0 0 26px; font-size:14px; line-height:1.8; }
.investor-hero__copy .btn-row { gap:20px; margin:0; }
.investor-hero__growth { display:inline-flex; align-items:center; gap:12px; min-height:44px; padding:8px 0; color:var(--text); font-size:12px; font-weight:600; border-bottom:1px solid var(--line-2); }
.investor-hero__growth:hover { color:var(--brand-ink); border-color:var(--brand-ink); }
.investor-hero__foot { display:flex; align-items:center; gap:8px; margin:30px 0 0; color:var(--text-2); font-size:10px; }
.investor-hero__foot > span { width:6px; height:6px; border-radius:50%; background:var(--brand-deep); flex-shrink:0; }
.investor-hero__visual { position:relative; min-width:0; min-height:570px; margin:0; overflow:hidden; background:#17271e; isolation:isolate; }
.investor-hero__visual > img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:51% 50%; }
.investor-hero__visual::after { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgb(6 17 11 / 15%) 0%,transparent 38%,rgb(6 17 11 / 28%) 62%,rgb(6 17 11 / 94%) 100%); pointer-events:none; }
.investor-hero__tag { position:absolute; z-index:2; top:24px; left:28px; padding:8px 12px; border:1px solid rgb(230 255 217 / 25%); border-radius:30px; background:rgb(13 29 18 / 75%); color:#eaf4e4; font-size:9px; font-weight:600; letter-spacing:.13em; text-transform:uppercase; }
.investor-hero__visual figcaption { position:absolute; z-index:2; left:32px; right:32px; bottom:30px; color:#fff; }
.investor-hero__visual figcaption > span { display:block; margin-bottom:9px; color:#cce5bf; font-size:10px; letter-spacing:.08em; }
.investor-hero__visual figcaption strong { display:block; font-family:var(--font-display); font-size:clamp(25px,2.55vw,36px); line-height:1.15; letter-spacing:-.04em; font-weight:600; }
.investor-hero__visual figcaption p { margin:12px 0 0; color:#d0dcc9; font-size:11px; line-height:1.7; }
.mobility-site.investor-page .investor-hero .hstrip { display:grid; grid-auto-flow:initial; grid-template-columns:repeat(6,minmax(0,1fr)); margin:0; border:0; border-top:1px solid #354336; border-radius:0; background:#142219; }
.mobility-site.investor-page .investor-hero .hstat { padding:22px 20px; min-width:0; }
.mobility-site.investor-page .investor-hero .hstat + .hstat::before { top:22px; bottom:22px; background:#39473a; }
.mobility-site.investor-page .investor-hero .hstat:hover { background:#1c3021; }
.mobility-site.investor-page .investor-hero .hstat b { color:var(--brand); font-size:clamp(26px,2.5vw,36px); letter-spacing:-.045em; }
.mobility-site.investor-page .investor-hero .hstat span { color:#d0deca; font-size:10px; letter-spacing:0; text-transform:none; line-height:1.5; }
.mobility-site.investor-page .investor-hero .hstat__rule { display:none; }
.mobility-site.investor-page .investor-hero .hstat__live { display:none; }
.investor-model__intro { display:grid; grid-template-columns:1.15fr 1fr; gap:48px; margin-bottom:32px; align-items:stretch; }
.mobility-site.investor-page .investor-model__intro .sec-head { margin-bottom:0; }
.mobility-site.investor-page .investor-model__intro .h-lg { font-size:clamp(30px,2.8vw,40px); }
.investor-model__intro .lede { max-width:55ch; font-size:14px; line-height:1.8; }
.investor-model__photo { position:relative; min-height:300px; margin:0; border-radius:16px; overflow:hidden; background:#183222; }
.investor-model__photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 40%; }
.investor-model__photo::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 40%,rgb(7 24 15 / 85%) 100%); }
.investor-model__photo figcaption { position:absolute; z-index:1; bottom:24px; left:26px; right:26px; color:#e3eedc; font-size:15px; line-height:1.5; }
.investor-model__photo figcaption strong { color:#fff; font-weight:600; }
@media (max-width:1100px) and (min-width:781px) {
  .investor-hero__copy { padding:34px 28px; }
  .investor-hero__copy .btn-row { gap:14px; }
  .investor-hero__copy .btn { font-size:12px; padding:14px 16px; }
  .investor-hero__copy .hero__sub { font-size:13px; }
  .mobility-site.investor-page .investor-hero .hstat { padding:20px 12px; }
  .investor-model__intro { gap:30px; }
}
@media (max-width:780px) {
  .mobility-site.investor-page > .hero.investor-hero { padding:16px 0 0; }
  .investor-hero__lead { grid-template-columns:1fr; min-height:0; }
  .investor-hero__copy { padding:30px 28px; }
  .investor-hero__copy h1 > strong { font-size:90px; }
  .investor-hero__visual { min-height:360px; }
  .investor-hero__visual > img { object-position:50% 48%; }
  .investor-hero__visual figcaption { left:26px; bottom:24px; }
  .investor-hero__visual figcaption p { display:none; }
  .mobility-site.investor-page .investor-hero .hstrip { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .mobility-site.investor-page .investor-hero .hstat { padding:20px 14px; border:0; }
  .mobility-site.investor-page .investor-hero .hstat:not(:nth-child(3n+1)) { border-left:1px solid #354336; }
  .mobility-site.investor-page .investor-hero .hstat:nth-child(n+4) { border-top:1px solid #354336; }
  .investor-model__intro { grid-template-columns:1fr; gap:26px; }
  .investor-model__photo { min-height:0; aspect-ratio:16 / 9; }
}
@media (max-width:480px) {
  .investor-hero__frame { border-radius:16px; }
  .investor-hero__copy { padding:26px 20px; }
  .investor-hero__copy .eyebrow { font-size:8px; margin-bottom:22px; letter-spacing:.1em; }
  .investor-hero__copy h1 > span { font-size:24px; }
  .investor-hero__copy h1 > strong { font-size:clamp(68px,20vw,86px); margin:8px 0 12px; }
  .investor-hero__copy h1 .investor-hero__period { font-size:20px; }
  .investor-hero__copy .hero__sub { font-size:13px; line-height:1.75; margin-bottom:22px; }
  .investor-hero__copy .btn-row { gap:14px; }
  .investor-hero__copy .btn { padding:12px 14px; font-size:11px; min-height:44px; }
  .investor-hero__growth { font-size:11px; gap:7px; }
  .investor-hero__foot { margin-top:22px; font-size:9px; }
  .investor-hero__visual { min-height:320px; }
  .investor-hero__tag { top:18px; left:20px; font-size:8px; }
  .investor-hero__visual figcaption { left:20px; right:20px; bottom:20px; }
  .investor-hero__visual figcaption strong { font-size:25px; }
  .mobility-site.investor-page .investor-hero .hstat { padding:18px 10px; }
  .mobility-site.investor-page .investor-hero .hstat b { font-size:25px; }
  .mobility-site.investor-page .investor-hero .hstat span { font-size:9px; }
  .investor-model__photo { aspect-ratio:4 / 3; }
}

:root[data-theme="dark"] { --paper-2:#172018; --text-3:#aab5a4; }
:root[data-theme="dark"] .ride-inclusions { background:#10190e; }
:root[data-theme="dark"] .mobility-site .nav { background:var(--paper); }
:root[data-theme="dark"] .mobility-site #pricing .plan__ph { background:#283125; }
:root[data-theme="dark"] .mobility-site #pricing .plan__ph::before { background:#476337; }

@media (max-width:1150px) {
  .ride-panel--fleet { grid-template-columns:minmax(0,1fr) 255px; }
  .ride-copy { padding:30px 0 92px 28px; }
  .ride-copy h1 { font-size:62px; }
  .ride-copy__intro { font-size:13px; }
  .ride-eyebrow { font-size:8px; letter-spacing:.08em; }
  .ride-inclusions { padding:28px 21px 88px; }
  .ride-actions { gap:12px; }
  .mobility-site .nav__links { gap:16px; }
  .mobility-site #pricing .plans[data-count="4"] { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:1100px) {
  .mobility-site .nav__links { display:none; }
  .mobility-site .nav__cta { margin-left:auto; }
  .mobility-site .nav__cta .btn--ghost { display:none; }
  .mobility-site .nav__burger { display:block; width:44px; height:44px; padding:14px 11px; margin-left:0; flex-shrink:0; border-radius:10px; }
  .mobility-site .nav__burger:hover,.mobility-site .nav.open .nav__burger { background:var(--paper-2); }
  .mobility-site .nav.open .nav__links {
    display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; align-items:stretch;
    position:absolute; top:100%; left:0; right:0; max-height:calc(100dvh - 110px); overflow-y:auto; overscroll-behavior:contain;
    margin:0; padding:16px var(--gut) 20px; background:var(--paper-2); border:1px solid var(--line); border-top:0; border-radius:0 0 18px 18px;
    box-shadow:0 14px 28px rgb(0 0 0 / 12%);
  }
  .mobility-site .nav.open .nav__links a { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:7px; min-height:74px; padding:14px; border:1px solid var(--line); border-radius:10px; background:var(--paper); color:var(--text); font-size:13px; font-weight:600; line-height:1.3; white-space:normal; }
  .mobility-site .nav.open .nav__links a::after { display:none; }
  .mobility-site .nav.open .nav__links a:hover,.mobility-site .nav.open .nav__links a.is-here { background:var(--brand-wash); border-color:var(--brand-deep); }
  .mobility-site .nav.open .nav__note { display:block; font-size:10px; font-weight:400; color:var(--text-2); line-height:1.5; }
}
@media (min-width:641px) {
  .mobility-hero__frame:has(.ride-panel--network:not([hidden])) [data-ride-prev] { color:var(--brand-ink); text-shadow:none; }
}
@media (max-width:1000px) {
  .ride-panel { min-height:570px; }
  .ride-panel--fleet { grid-template-columns:1fr; }
  .ride-panel--fleet .ride-copy { max-width:560px; padding-bottom:28px; }
  .ride-panel--fleet .ride-inclusions { border-left:0; border-top:1px solid rgba(255,255,255,.15); }
  .ride-copy { padding:30px 0 92px 34px; }
  .ride-copy h1 { font-size:clamp(50px,6.6vw,64px); }
  .ride-inclusions { grid-column:1/-1; display:grid; grid-template-columns:1.05fr 1fr 1fr 1fr; gap:22px; padding:25px 30px 89px; align-items:center; }
  .ride-inclusions__price > span,.ride-inclusions__link { display:none; }
  .ride-inclusions__price small { margin:0; }
  .ride-inclusions__price p { font-size:28px; margin:4px 0 0; }
  .ride-inclusions__price p span { display:inline; margin-left:5px; font-size:9px; }
  .ride-inclusions__item { padding:6px 0 6px 15px; border-top:0; border-left:1px solid #3c493a; }
  .ride-inclusions__icon { display:none; }
  .ride-panel--network,.ride-panel--story { gap:24px; }
  .network-feature { padding:18px 18px 82px; }
  .network-feature .hubs__visual--posts { justify-content:flex-start; }
  .ride-story-video { padding-right:24px; }
  .mobility-site #pricing .plans { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mobility-site #app .appband { padding:45px; gap:25px; }
  .mobility-site #faq .wrap { gap:40px; }
  .mobility-site .brandstory__in { gap:40px; }
  .mobility-site .citymap { padding:18px; gap:18px; }
}
@media (max-width:780px) {
  .mobility-site .nav__in { min-height:72px; gap:12px; }
  .mobility-site .nav__links { background:var(--paper); padding:16px 24px 24px; border-bottom:1px solid var(--line); }
  .mobility-site .nav__links a { padding:10px; font-size:15px; }
  .mobility-site .nav__cta { margin-left:auto; }
  .mobility-site .nav .btn { padding:10px 14px; font-size:11px; }
  .mobility-site .sec,.mobility-site.rider-page .sec { padding:52px 0; }
  .mobility-site .brandstory__in { grid-template-columns:1fr; gap:20px; }
  .mobility-site .brandstory .h-lg { font-size:30px; }
  .mobility-site .hstrip { display:grid; grid-template-columns:repeat(2,1fr); }
  .mobility-site .hstat { padding:20px 10px; }
  .mobility-site .hstat + .hstat::before { display:none; }
  .mobility-site .hstat:nth-child(even) { border-left:1px solid var(--line); }
  .mobility-site .hstat:nth-child(n+3) { border-top:1px solid var(--line); }
  .mobility-site #savings .calc { padding:24px; gap:25px; }
  .mobility-site #app .appband { grid-template-columns:1fr; padding:40px; }
  .mobility-site #app .appband__visual { min-height:440px; }
  .mobility-site #app .appband .phone { max-width:260px; }
  .mobility-site #faq .wrap { grid-template-columns:1fr; gap:20px; }
  .mobility-site #get .ctaband { padding:35px; }
  .mobility-site .business-teaser { padding:35px 0; }
  .mobility-site .business-teaser .h-lg { font-size:30px; }
}
@media (max-width:640px) {
  .mobility-site { --gut:20px; }
  .mobility-site .ticker { font-size:9px; padding:8px 0; }
  .mobility-site .ticker .wrap { padding-left:10px; padding-right:10px; }
  .mobility-hero { padding:12px 14px 0; }
  .mobility-hero__frame { border-radius:14px; }
  .ride-panel { min-height:0; }
  .ride-panel--fleet,.ride-panel--network,.ride-panel--story { grid-template-columns:1fr; gap:0; }
  .ride-panel--fleet {
    background-image:linear-gradient(180deg,rgba(7,18,11,.83),rgba(7,18,11,.67) 48%,rgba(7,18,11,.22) 72%,rgba(7,18,11,.75)),url("../img/image.png");
    background-position:center,56% top;
  }
  .ride-panel--fleet .ride-copy { padding-bottom:84px; }
  .ride-panel--story {
    background:linear-gradient(180deg,rgba(7,16,9,.78),rgba(7,16,9,.72) 62%,rgba(7,16,9,.9)),url("../img/image_2.png") center / cover no-repeat #1b271e;
  }
  .ride-copy { padding:24px 25px 12px; }
  .ride-eyebrow { font-size:8px; margin-bottom:16px; }
  .ride-copy h1 { font-size:clamp(46px,12vw,70px); letter-spacing:-.055em; }
  .ride-copy__intro { margin:16px 0; font-size:12px; max-width:40ch; }
  .ride-actions { gap:16px; }
  .mobility-site .ride-actions .btn { font-size:12px; padding-left:16px; }
  .circle-arrow { width:27px; height:27px; margin-left:2px; }
  .circle-arrow svg { width:18px; height:18px; }
  .ride-text-link { font-size:10px; gap:7px; }
  .ride-copy__foot { display:none; }
  .ride-inclusions { grid-template-columns:1fr 1fr; gap:12px 18px; padding:20px 20px 96px; }
  .ride-inclusions__price { grid-column:1; }
  .ride-inclusions__price p { font-size:30px; }
  .ride-inclusions__price p span { font-size:9px; }
  .ride-inclusions__item { padding:8px 0; border-left:0; }
  .ride-inclusions__item strong { font-size:10px; }
  .ride-inclusions__item p { font-size:9px; }
  .ride-inclusions__item:nth-child(n+3) { border-top:1px solid #3c493a; padding-top:15px; }
  .ride-tabs { gap:2px; padding:3px; border-radius:10px; }
  .ride-tabs button { font-size:10px; padding:10px 9px; }
  .ride-tabs button > span { display:none; }
  .ride-controls { bottom:16px; gap:6px; }
  .ride-control { width:34px; height:34px; font-size:26px; }
  .ride-panel--network .ride-copy,.ride-panel--story .ride-copy { padding:24px 25px; }
  .ride-panel--network h2,.ride-panel--story h2 { font-size:44px; }
  .hub-city-card { padding:10px; column-gap:6px; }
  .hub-city-card__name { font-size:12px; }
  .network-feature { padding:22px 22px 98px; }
  .network-feature .hubs__reel { --rh:350px; }
  .ride-story-video { padding:0 25px 106px; }
  .mobility-site.rider-page #intro { padding:42px 0; }
  .mobility-site .hstrip,.mobility-site.rider-page .hstrip { margin-top:26px; }
  .mobility-site .hstat b { font-size:34px; }
  .mobility-site .hstat span { font-size:9px; }
  .mobility-site .sec-head,.mobility-site.rider-page .sec-head { margin-bottom:30px; }
  .mobility-site .eyebrow { font-size:9px; }
  .mobility-site #included .cgrid { display:grid; grid-auto-flow:initial; grid-template-columns:1fr 1fr; gap:12px; overflow:visible; padding:0; margin:0; }
  .mobility-site #included .card { padding:22px 17px; min-width:0; }
  .mobility-site #included .card__ico { margin-bottom:25px; }
  .mobility-site #included .h-sm { font-size:16px; }
  .mobility-site #included .card p { font-size:11px; line-height:1.7; }
  .mobility-site .pillar__tag { font-size:8px; right:10px; top:12px; }
  .fleet-picker { display:block; padding:12px; }
  .fleet-picker__label { margin:0 0 8px 3px; font-size:11px; }
  .mobility-site #pricing .tabs { justify-content:flex-start; flex-wrap:nowrap; overflow:auto; padding:3px; margin:0; scroll-padding-inline:3px; }
  .mobility-site #pricing .tab { flex-shrink:0; padding:9px 14px; font-size:12px; }
  .mobility-site #pricing .tab:focus-visible { outline-offset:1px; }
  .mobility-site #pricing .plans,.mobility-site #pricing .plans[data-count="4"] { display:grid; grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:88%; gap:14px; overflow-x:auto; scroll-snap-type:x mandatory; margin-inline:-2px; padding:2px 2px 16px; scroll-padding-inline:2px; }
  .fleet-results { min-height:64px; }
  .fleet-results p { max-width:23ch; }
  .mobility-site #pricing .plan { min-width:0; scroll-snap-align:start; }
  .mobility-site #pricing .plan__ph { height:170px; min-height:170px; }
  .mobility-site #pricing .plan__img { height:158px; max-height:158px; }
  .mobility-site #savings .calc { padding:20px 16px; }
  .mobility-site .citymap { padding:10px; }
  .mobility-site .pillars3 { grid-auto-columns:86%; gap:16px; padding-bottom:15px; }
  .mobility-site .cgrid--quotes { grid-auto-columns:86%; gap:16px; padding-bottom:15px; }
  .mobility-site #app .appband { padding:35px 26px; border-radius:16px; }
  .mobility-site #app .appband__visual { min-height:415px; }
  .mobility-site #faq .h-md { font-size:36px; }
  .mobility-site #get .ctaband { padding:32px 24px; border-radius:16px; }
  .mobility-site #get .btn-row { flex-direction:column; align-items:stretch; }
  .mobility-site #get .ctaband .lede { font-size:14px; }
  .mobility-site .footer { padding-top:45px; }
  .mobility-site.business-page .business-hero,.mobility-site.investor-page > .hero { padding:50px 0; }
}
@media (max-width:360px) {
  .mobility-site .nav__in { gap:7px; }
  .mobility-site .nav .logo { width:57px; min-width:57px; }
  .mobility-site .nav .btn { padding:10px; }
  .ride-copy { padding-left:20px; padding-right:20px; }
  .ride-copy h1 { font-size:44px; }
  .ride-tabs button { padding:10px 6px; font-size:9px; }
  .ride-controls { gap:4px; }
  .ride-panel--network h2 { font-size:38px; }
  .ride-actions { gap:11px; }
  .ride-text-link { font-size:9px; }
  .ride-inclusions { padding:20px 20px 96px; gap:15px; }
}
@media (prefers-reduced-motion:reduce) {
  .ride-panel.is-entering { animation:none; }
  .mobility-site * { scroll-behavior:auto !important; }
  .mobility-site #app .appband__visual .phone { opacity:1; animation:none; transform:none; }
}
