/* October 16 2026 "painted lanes" edition. Loaded last; builds on styles.css, brand.css and edition.css.
   Asphalt, concrete and curb white come from the walkways M2 scooters park on. The gold lane is the M2 emblem's three strokes. */
@font-face{font-family:Overpass;src:url('/assets/fonts/overpass-latin-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Overpass;src:url('/assets/fonts/overpass-latin-400-italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:Overpass;src:url('/assets/fonts/overpass-latin-600-normal.woff2') format('woff2');font-weight:500 700;font-style:normal;font-display:swap}
@font-face{font-family:Overpass;src:url('/assets/fonts/overpass-latin-800-normal.woff2') format('woff2');font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:Overpass;src:url('/assets/fonts/overpass-latin-900-normal.woff2') format('woff2');font-weight:900;font-style:normal;font-display:swap}

:root{
  --asphalt:#2A2B28;--asphalt-2:#353632;--lane:#E8B43E;--lane-deep:#8A5F0C;--concrete:#E4E2DC;--curb:#FAFAF8;--text:#1B1C1A;--muted:#55564F;
  --font:Overpass,"Helvetica Neue",Arial,sans-serif;--gold:var(--lane);--ink:var(--asphalt);--cream:var(--concrete);
  --step-0:1.125rem;--step-1:1.375rem;--step-2:1.75rem;--step-3:2.375rem;--step-4:clamp(2.5rem,4.6vw,3.75rem);--step-5:clamp(2.75rem,6.4vw,5.25rem);
}
html{background:var(--asphalt)}
body{font-family:var(--font);background:var(--concrete);color:var(--text);font-size:var(--step-0);line-height:1.55}
body,button,input,select,textarea{font-family:var(--font)}
h1,h2,h3,h4{font-family:var(--font);font-weight:800;letter-spacing:-.015em;text-wrap:balance}
h1{line-height:1.02}h2{line-height:1.06}h3{line-height:1.15;letter-spacing:-.005em}
p{line-height:1.6;text-wrap:pretty}
/* Headlines read as one voice: no single accented word. */
.gold-text,.service-title-accent,h1 em{color:inherit;font-style:normal}
.eyebrow{letter-spacing:0;font-size:.875rem;font-weight:600;text-transform:none}
.eyebrow .dot,.section-tick{display:none}
:focus-visible{outline:3px solid var(--lane);outline-offset:3px}
.light :focus-visible{outline-color:var(--lane-deep)}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.button{border-radius:4px;font-weight:700;font-size:1rem;letter-spacing:0;min-height:52px;padding:14px 22px}
.button.gold{background:var(--lane);color:var(--asphalt);border-color:var(--lane)}
.button.gold:hover{background:#F1C45C}
.text-link{font-size:1rem;font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px;text-decoration-color:var(--lane)}
.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.light{background:var(--concrete)}
.light p{color:var(--muted)}

/* Header */
.site-header nav a{font-size:.95rem;font-weight:600}
.header-cta{font-size:.95rem}

/* Status signs: the stage a service is at. */
.status{display:inline-block;vertical-align:middle;font-size:.8125rem;font-weight:700;line-height:1;padding:6px 9px 5px;border-radius:3px;border:2px solid currentColor;white-space:nowrap}
.status-fleet-ready,.status-fleet-in-albany{background:var(--lane);border-color:var(--lane);color:var(--asphalt)}
.status-in-development{color:inherit}
.status-exploring{border-style:dashed;color:inherit}

/* The painted lane */
.lane{position:absolute;pointer-events:none;overflow:visible}
.lane path{fill:none;stroke:var(--lane);stroke-width:9;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:0}
.lane path:nth-child(2){opacity:.72}.lane path:nth-child(3){opacity:.45}

/* Home: hero */
.ln-hero{position:relative;display:grid;grid-template-columns:minmax(0,38fr) minmax(0,62fr);min-height:min(82vh,780px);background:var(--asphalt);color:var(--curb);overflow:hidden}
.ln-hero-copy{position:relative;z-index:2;align-self:center;padding:72px 48px 140px max(24px,calc((100vw - 1360px)/2))}
.ln-hero h1{font-size:clamp(2.5rem,4.3vw,4.75rem);max-width:13ch;margin:0 0 28px;color:var(--curb)}
.ln-hero-copy>p{font-size:1.1875rem;max-width:34em;color:#D8D6CF;margin:0 0 36px}
.ln-hero .actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px 32px}
.ln-hero .text-link{color:var(--curb)}
.ln-hero-photo{margin:0;position:relative}
.ln-hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 60%}
.ln-hero-lane{left:0;right:0;bottom:34px;width:100%;height:200px;z-index:1}
.ln-hero-lane path{stroke-dashoffset:1;animation:lane-draw 1.6s cubic-bezier(.6,0,.2,1) .25s forwards}
.ln-hero-lane path:nth-child(2){animation-delay:.38s}.ln-hero-lane path:nth-child(3){animation-delay:.5s}
@keyframes lane-draw{to{stroke-dashoffset:0}}

/* Home: proof */
.ln-proof{padding:104px 0 96px;background:var(--concrete)}
.ln-proof-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:72px;align-items:center}
.ln-proof h2{font-size:var(--step-4);max-width:14ch;margin:0 0 24px}
.ln-proof p{max-width:34em;color:var(--muted);margin:0 0 28px}
.ln-founders{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:24px}
.ln-founders img{width:100%;height:auto;aspect-ratio:1/1.1;object-fit:cover;object-position:50% 18%;border-radius:4px;background:var(--asphalt-2);margin-bottom:14px}
.ln-founders strong{display:block;font-size:var(--step-1);font-weight:800;line-height:1.2}
.ln-founders span{display:block;font-size:.95rem;color:var(--muted)}

/* Home: the route of three services */
.ln-route{padding:104px 0;background:var(--asphalt);color:var(--curb)}
.ln-route h2{font-size:var(--step-4);margin:0 0 18px;max-width:16ch}
.ln-route-lede{color:#D0CEC6;max-width:36em;margin:0 0 64px}
.ln-stops{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);position:relative}
.ln-stops:before,.ln-stops:after{content:"";position:absolute;top:11px;height:6px;border-radius:3px}
.ln-stops:before{left:0;width:34%;background:var(--lane)}
.ln-stops:after{left:34%;right:0;background:repeating-linear-gradient(90deg,var(--lane) 0 26px,transparent 26px 44px);opacity:.85}
.ln-stop a{display:block;padding:52px 32px 8px 0;color:inherit;text-decoration:none;position:relative}
.ln-stop-dot{position:absolute;top:0;left:0;width:28px;height:28px;border-radius:50%;background:var(--asphalt);border:6px solid var(--lane)}
.is-live .ln-stop-dot{background:var(--lane)}
.ln-stop h3{font-size:var(--step-2);margin:18px 0 12px;color:var(--curb)}
.ln-stop p{color:#D0CEC6;margin:0;max-width:26em}
.ln-stop a:hover h3,.ln-stop a:focus-visible h3{text-decoration:underline;text-decoration-color:var(--lane);text-decoration-thickness:3px;text-underline-offset:6px}
.ln-route-more{margin:64px 0 0;color:#D0CEC6}
.ln-route-more a{color:var(--curb);font-weight:700;text-decoration-color:var(--lane);text-decoration-thickness:2px;text-underline-offset:5px}

/* Home: story */
.ln-story{padding:112px 0;background:var(--concrete)}
.ln-story-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:80px;align-items:center}
.ln-story h2{font-size:var(--step-4);max-width:15ch;margin:0 0 28px}
.ln-story p{max-width:33em;color:var(--muted);margin:0 0 20px}
.ln-story .text-link{display:inline-block;margin-top:12px}
.ln-story-photo{margin:0}
.ln-story-photo img{width:100%;height:auto;border-radius:4px}
figcaption{font-size:.875rem;color:var(--muted);margin-top:10px}

/* Spec sheet: one product on a studio floor, annotated */
.ln-spec{padding:112px 0;background:var(--curb)}
.ln-spec-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);grid-template-areas:"copy figure" "list list";gap:40px 72px;align-items:center}
.ln-spec-copy{grid-area:copy}
.ln-spec h2{font-size:var(--step-4);max-width:13ch;margin:0 0 24px}
.ln-spec-copy>p{color:var(--muted);max-width:30em;margin:0 0 28px}
.ln-spec-figure{grid-area:figure;margin:0}
.ln-spec-stage{position:relative}
.ln-spec-stage img{display:block;width:100%;height:auto}
.ln-pin{position:absolute;transform:translate(-50%,-50%);width:34px;height:34px;border-radius:50%;background:var(--asphalt);color:var(--lane);border:3px solid var(--lane);display:grid;place-items:center;font-size:.95rem;font-weight:800;line-height:1;padding-top:2px}
.ln-spec-list{grid-area:list;list-style:none;margin:16px 0 0;padding:32px 0 0;border-top:2px solid var(--concrete);display:grid;grid-template-columns:repeat(5,1fr);gap:28px;counter-reset:pin}
.ln-spec-list li{counter-increment:pin}
.ln-spec-list h3{font-size:var(--step-1);margin:0 0 8px;display:flex;gap:10px;align-items:baseline}
.ln-spec-list h3:before{content:counter(pin);flex:none;width:28px;height:28px;border-radius:50%;background:var(--asphalt);color:var(--lane);font-size:.85rem;display:grid;place-items:center;padding-top:2px;transform:translateY(-3px)}
.ln-spec-list p{font-size:1rem;color:var(--muted);margin:0}
.ln-app{display:grid;grid-template-columns:150px 1fr;gap:24px;align-items:start;margin-top:36px;padding-top:28px;border-top:2px solid var(--concrete)}
.ln-app figure{margin:0}.ln-app img{width:100%;height:auto;border-radius:10px}
.ln-app h3{font-size:var(--step-1);margin:0 0 10px}
.ln-app p{font-size:1rem;color:var(--muted);margin:0}

/* Closing call to action */
.brand-cta{background:var(--lane);color:var(--asphalt);padding-block:96px}
.brand-cta h2{font-size:var(--step-4);max-width:16ch}
.brand-cta p{font-size:1.1875rem;color:#3B3214;max-width:30em}
.brand-cta .button.gold{background:var(--asphalt);color:var(--curb);border-color:var(--asphalt)}
.brand-cta .button.gold:hover{background:#000}
.brand-cta :focus-visible{outline-color:var(--asphalt)}

/* Inner pages */
.page-intro h1{font-size:var(--step-5);max-width:16ch}
.page-intro>p{font-size:1.1875rem;max-width:36em}
.ln-page-hero{background:var(--asphalt);color:var(--curb);padding:88px 0 96px}
.ln-page-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:center}
.ln-page-hero h1{font-size:var(--step-5);margin:20px 0 28px;color:var(--curb);max-width:11ch}
.ln-page-hero p{color:#D8D6CF;max-width:33em;margin:0 0 18px}
.ln-page-hero .actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px 32px;margin-top:32px}
.ln-page-hero .text-link{color:var(--curb)}
.ln-page-hero figcaption{color:#BEBCB4}
.ln-locker-figure{margin:0}
.ln-locker-art{display:block;width:100%;height:auto}
.ln-section{padding:96px 0;background:var(--concrete)}
.ln-section.ln-light{background:var(--curb)}
.ln-section h2{font-size:var(--step-4);margin:0 0 24px;max-width:15ch}
.ln-section p{color:var(--muted)}
.ln-two{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:72px;align-items:start}
.ln-two>div>p{max-width:30em}
.ln-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:32px 40px}
.ln-list li{border-top:3px solid var(--asphalt);padding-top:18px}
.ln-list h3{font-size:var(--step-1);margin:0 0 8px}
.ln-list p{margin:0;font-size:1rem}
.ln-steps{list-style:none;margin:48px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:40px;counter-reset:step}
.ln-steps li{counter-increment:step;position:relative;padding-top:64px}
.ln-steps li:before{content:counter(step);position:absolute;top:0;left:0;width:44px;height:44px;border-radius:50%;background:var(--lane);color:var(--asphalt);font-weight:800;font-size:1.25rem;display:grid;place-items:center;padding-top:3px}
.ln-steps li:after{content:"";position:absolute;top:19px;left:60px;right:-24px;height:6px;border-radius:3px;background:var(--lane);opacity:.5}
.ln-steps li:last-child:after{display:none}
.ln-steps h3{font-size:var(--step-2);margin:0 0 10px}
.ln-steps p{margin:0;max-width:24em}
.service-row .status{margin-left:8px}
.service-row .ln-locker-figure{background:var(--asphalt);padding:24px;border-radius:4px}

/* 404 */
.ln-404{position:relative;background:var(--asphalt);color:var(--curb);padding:120px 0 220px;overflow:hidden}
.ln-404 h1{font-size:var(--step-5);max-width:12ch;margin:0 0 24px;color:var(--curb)}
.ln-404 p{color:#D0CEC6;max-width:32em;margin:0 0 32px}
.ln-404-links{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px}
.ln-404-links a{display:inline-block;padding:12px 18px;border:2px solid #6A6B63;border-radius:4px;color:var(--curb);font-weight:700;text-decoration:none}
.ln-404-links a:hover{border-color:var(--lane)}
.ln-404-lane{left:0;right:0;bottom:40px;width:100%;height:140px}

/* Footer */
.ln-footer{background:var(--asphalt);color:#D8D6CF;padding:80px 0 32px}
.ln-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:48px}
.ln-footer h2{font-size:1rem;font-weight:800;color:var(--curb);margin:0 0 16px;letter-spacing:0}
.ln-footer nav a,.ln-footer-grid>div:last-child a{display:block;color:#D8D6CF;font-size:1rem;padding:5px 0;text-decoration:none}
.ln-footer a:hover{color:var(--curb);text-decoration:underline;text-decoration-color:var(--lane)}
.ln-footer .ln-footer-brand p{margin:20px 0;max-width:22em;font-size:1rem;color:#D8D6CF}
.ln-footer .brand small{color:#BEBCB4}
.ln-footer .brand{color:var(--curb)}
.ln-social{display:flex;flex-wrap:wrap;gap:10px}
.ln-social a{display:inline-block;padding:8px 14px;border:2px solid #5A5B54;border-radius:4px;color:var(--curb);font-size:.95rem;font-weight:700;text-decoration:none}
.ln-social a:hover{border-color:var(--lane);text-decoration:none}
.ln-footer .ln-preferred{margin-top:18px;display:inline-block;padding:10px 14px;border:2px solid var(--lane);border-radius:4px;color:var(--curb);font-weight:700;font-size:.95rem;line-height:1.35}
.ln-footer .image-note{font-size:.875rem;color:#AAA9A1;margin-top:56px}
.ln-footer-bottom{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;border-top:1px solid #45463F;padding-top:24px;margin-top:24px;font-size:.95rem}
.ln-footer-bottom a,.ln-link-button{color:#D8D6CF;text-decoration:underline;text-underline-offset:4px}
.ln-link-button{background:none;border:0;padding:0;font:inherit;cursor:pointer}
.ln-noscript{padding:20px 0;color:var(--curb)}

/* Cookie banner */
.cookie-banner{position:fixed;z-index:60;left:16px;bottom:16px;max-width:580px;width:calc(100% - 32px);background:var(--asphalt);color:var(--curb);border-radius:6px;padding:26px 26px 22px;box-shadow:0 14px 40px rgba(20,20,18,.35);display:grid;gap:18px}
.cookie-lane{display:grid;gap:5px;width:84px}
.cookie-lane i{display:block;height:5px;border-radius:3px;background:var(--lane)}
.cookie-lane i:nth-child(2){opacity:.72}.cookie-lane i:nth-child(3){opacity:.45}
.cookie-banner h2{font-size:var(--step-1);margin:0 0 6px;color:var(--curb)}
.cookie-banner p{margin:0;font-size:1rem;color:#D8D6CF}
.cookie-banner a{color:var(--curb);text-decoration-color:var(--lane);text-decoration-thickness:2px;text-underline-offset:4px}
.cookie-actions{display:flex;flex-wrap:wrap;gap:12px}
.cookie-decline{background:transparent;color:var(--curb);border:2px solid #77786F}
.cookie-decline:hover{border-color:var(--curb)}

@media (max-width:1200px){
  .ln-hero{grid-template-columns:minmax(0,46fr) minmax(0,54fr)}
  .ln-hero-copy{padding-left:32px;padding-right:32px}
}
@media (max-width:1100px){
  .ln-spec-list{grid-template-columns:repeat(3,1fr)}
  .ln-footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  .ln-hero{grid-template-columns:1fr;min-height:0}
  .ln-hero-copy{padding:48px 20px 56px}
  .ln-hero-photo{aspect-ratio:3/2;order:-1}
  .ln-hero-lane{top:calc((100vw * .6667) - 190px);bottom:auto;height:200px}
  .lane path{stroke-width:5}
  .ln-proof-grid,.ln-story-grid,.ln-page-hero-grid,.ln-two{grid-template-columns:1fr;gap:40px}
  .ln-spec-grid{grid-template-columns:1fr;grid-template-areas:"copy" "figure" "list"}
  .ln-stops{grid-template-columns:1fr;gap:36px;padding-left:44px}
  .ln-stops:before,.ln-stops:after{top:0;left:11px;width:6px;height:auto}
  .ln-stops:before{bottom:66%}
  .ln-stops:after{top:34%;bottom:0;right:auto;background:repeating-linear-gradient(180deg,var(--lane) 0 22px,transparent 22px 38px)}
  .ln-stop a{padding:0}
  .ln-stop-dot{left:-44px}
  .ln-steps{grid-template-columns:1fr;gap:32px}
  .ln-steps li:after{display:none}
  .ln-proof,.ln-route,.ln-story,.ln-spec,.ln-section{padding:72px 0}
}
@media (max-width:640px){
  .ln-spec-list,.ln-list,.ln-footer-grid{grid-template-columns:1fr}
  .ln-founders{gap:14px}
  .ln-pin{width:28px;height:28px;font-size:.8rem;border-width:2px}
  .ln-app{grid-template-columns:110px 1fr}
  .brand-cta{padding-block:64px}
  .cookie-banner{left:8px;bottom:8px;width:calc(100% - 16px);padding:20px}
  .cookie-actions .button{flex:1 1 auto}
}
@media (prefers-reduced-motion:reduce){
  .ln-hero-lane path{animation:none;stroke-dashoffset:0}
}

/* Services jump links: four services in one row, on asphalt */
.service-jump{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}
.service-jump a{background:var(--asphalt);border-color:#45463F;color:var(--curb)}
.service-jump a:hover{border-color:var(--lane)}
.service-jump strong{font-size:var(--step-1)}
.service-jump span,.service-jump small{font-size:.95rem;color:#D0CEC6}
.ln-404-lane{height:240px;bottom:10px}
@media (max-width:900px){.service-jump{grid-template-columns:1fr}}
@media (max-width:560px){.service-jump{grid-template-columns:1fr}}

/* Home: three small travellers ride the hero lane (positioned by bindLaneRiders). */
.ln-riders{position:absolute;inset:0;z-index:1;pointer-events:none}
.ln-rider{position:absolute;left:0;top:0;opacity:0;transform-origin:0 0;will-change:transform,opacity}
.ln-rider svg{display:block;height:auto;transform:translate(-50%,calc(-100% - 3px));filter:drop-shadow(0 0 1px rgba(0,0,0,.9)) drop-shadow(0 2px 3px rgba(0,0,0,.45))}
.ln-rider-scooter svg{width:46px}.ln-rider-ebike svg{width:54px}.ln-rider-robot svg{width:32px}

/* Home: more than scooters */
.ln-more{padding:96px 0;background:var(--asphalt);color:var(--curb)}
.ln-more-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:center}
.ln-more h2{font-size:var(--step-4);margin:0 0 20px;color:var(--curb)}
.ln-more p{color:#D8D6CF;max-width:32em;margin:0 0 32px}
.ln-more-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.ln-more-list a{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 24px;border:2px solid #4A4B45;border-radius:6px;color:var(--curb);text-decoration:none;font-size:var(--step-1);font-weight:800}
.ln-more-list a:hover,.ln-more-list a:focus-visible{border-color:var(--lane)}

/* Services: how an M2 program runs */
.pm{background:var(--asphalt);color:var(--curb);padding:104px 0}
.pm-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:end;margin-bottom:48px}
.pm-head h2{font-size:var(--step-4);margin:0;color:var(--curb);max-width:13ch}
.pm-head p{margin:0;color:#D8D6CF;max-width:32em}
.pm-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:48px;align-items:start}
.pm-stage{background:#1F201D;border-radius:10px;padding:14px}
.pm-map{display:block;width:100%;height:auto}
.pm-label{font:800 15px var(--font);fill:#FAFAF8}
.pm-label-dark{fill:#2A2B28}
.pm-label-small{font-size:13px}
.pm-rider,.pm-points,.pm-van,.pm-battery,.pm-route{opacity:0;transition:opacity .45s ease}
.pm-stage:not([data-step=plan]) .pm-rider,.pm-stage[data-step=ride] .pm-route,.pm-stage[data-step=park] .pm-route,.pm-stage[data-step=park] .pm-points,.pm-stage[data-step=service] .pm-van,.pm-stage[data-step=service] .pm-battery{opacity:1}
.pm-battery-fill{transform-box:fill-box;transform-origin:left center;transform:scaleX(.2);fill:#C9532F;transition:transform 2.2s ease .6s,fill .3s ease 2.6s}
.pm-stage[data-step=service] .pm-battery-fill{transform:scaleX(1);fill:#3D9A50}
.pm-stage[data-step=plan] .pm-zone{animation:pm-glow 1.4s ease-in-out 3}
@keyframes pm-glow{50%{opacity:.3}}
.pm-controls{display:grid;gap:14px}
.pm-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.pm-steps button{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:14px 12px;border:2px solid #4A4B45;border-radius:6px;background:transparent;color:var(--curb);font:700 1rem var(--font);cursor:pointer;text-align:left}
.pm-steps button span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--lane);color:var(--lane);font-weight:800;padding-top:2px}
.pm-steps button.is-done span{background:#4A4B45;border-color:#4A4B45;color:var(--curb)}
.pm-steps button:hover{border-color:#8B8C83}
.pm-steps button[aria-pressed=true]{border-color:var(--lane);background:#353632}
.pm-steps button[aria-pressed=true] span{background:var(--lane);color:var(--asphalt)}
.pm-play{justify-self:start;display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:10px 20px;border-radius:4px;border:2px solid var(--lane);background:var(--lane);color:var(--asphalt);font:800 1rem var(--font);cursor:pointer}
.pm-play:hover{background:#F1C45C}
.pm-play-icon{width:0;height:0;border-left:12px solid currentColor;border-top:7px solid transparent;border-bottom:7px solid transparent}
.pm-play.is-playing .pm-play-icon{width:12px;height:14px;border:0;border-left:4px solid currentColor;border-right:4px solid currentColor}
.pm-caption{margin-top:28px;border-top:2px solid #4A4B45;padding-top:24px;min-height:16em}
.pm-count{margin:0 0 8px;color:var(--lane);font-weight:700;font-size:.95rem}
.pm-caption h3{font-size:var(--step-2);margin:0 0 12px;color:var(--curb)}
.pm-caption p{color:#D8D6CF;margin:0 0 14px}
.pm-caption .pm-gets{padding:14px 16px;background:#353632;border-left:4px solid var(--lane);border-radius:4px;margin:0}
.pm-gets strong{color:var(--curb)}
.pm-note{margin:28px 0 0;font-size:.9rem;color:#AAA9A1}

/* Services: interactive spec sheet */
.ln-spec-readout{display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;padding:22px;background:var(--concrete);border-radius:6px;min-height:150px}
.ln-spec-num{width:44px;height:44px;border-radius:50%;background:var(--asphalt);color:var(--lane);display:grid;place-items:center;font-weight:800;font-size:1.2rem;padding-top:3px}
.ln-spec-readout h3{font-size:var(--step-1);margin:6px 0 8px}
.ln-spec-readout p{margin:0;color:var(--muted);font-size:1rem}
.ln-spec-qr{display:flex;align-items:center;gap:16px;margin-top:16px}
.ln-spec-qr img{width:112px;height:112px;border-radius:6px;background:#fff;box-shadow:0 0 0 4px #2FE0E8,0 0 20px rgba(47,224,232,.65)}
.ln-spec-qr span{font-size:.95rem;font-weight:700;max-width:12em}
.ln-qr-decal{position:absolute;left:39.17%;top:21.38%;width:3.7%;transform:translate(-50%,-50%) rotate(5deg);pointer-events:none}
.ln-qr-decal img{display:block;width:100%;height:auto}
button.ln-pin{cursor:pointer;font-family:var(--font);transition:background .15s,color .15s}
button.ln-pin:not([aria-pressed=true]){animation:pin-pulse 2.4s ease-in-out infinite}
button.ln-pin:hover{background:#45463F}
button.ln-pin[aria-pressed=true]{background:var(--lane);color:var(--asphalt);box-shadow:0 0 0 6px rgba(232,180,62,.35)}
@keyframes pin-pulse{50%{box-shadow:0 0 0 7px rgba(232,180,62,.28)}}
.ln-spec-list{gap:12px}
.ln-spec-list button{width:100%;display:flex;align-items:center;gap:10px;padding:12px 14px;border:2px solid var(--concrete);border-radius:6px;background:transparent;font:700 1rem var(--font);color:var(--text);cursor:pointer;text-align:left}
.ln-spec-list button span{flex:none;width:28px;height:28px;border-radius:50%;background:var(--asphalt);color:var(--lane);display:grid;place-items:center;font-size:.85rem;padding-top:2px}
.ln-spec-list button:hover{border-color:#B9B6AC}
.ln-spec-list button[aria-pressed=true]{border-color:var(--lane);background:#FFF6DE}
.ln-app h3 .status{margin-left:6px}

/* Divisions: M2 Mobility at the centre of its divisions */
.dv-hero{background:#1B1C1A;color:var(--curb);padding:88px 0 72px;overflow:hidden}
.dv-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:end}
.dv-head h1{font-size:var(--step-5);margin:0;color:var(--curb);max-width:12ch}
.dv-head p{margin:0;color:#D8D6CF;max-width:32em}
.dv-stage{position:relative;height:600px;margin-top:32px}
.dv-synapses,.dv-links{position:absolute;inset:0;width:100%;height:100%}
.dv-links{overflow:visible}
.dv-synapses path{fill:none;stroke:#E8B43E;stroke-opacity:.13;stroke-width:1;vector-effect:non-scaling-stroke}
.dv-synapses circle{fill:#E8B43E;fill-opacity:.3}
.dv-link{fill:none;stroke:#E8B43E;stroke-width:2.5;stroke-opacity:.5;stroke-linecap:round;transition:stroke-opacity .3s}
.dv-link-glow{fill:none;stroke:#E8B43E;stroke-width:14;stroke-opacity:.06;stroke-linecap:round}
.dv-link.is-active{stroke-opacity:1;stroke-width:3.5}
.dv-link-glow.is-active{stroke-opacity:.16}
.dv-pulse{fill:#FAFAF8;filter:drop-shadow(0 0 5px #E8B43E)}
.dv-core,.dv-node{position:absolute;transform:translate(-50%,-50%)}
.dv-core{left:50%;top:42%;z-index:2;width:196px;height:196px;border-radius:50%;background:radial-gradient(circle at 50% 38%,#3A3B37,#20211E 72%);border:3px solid var(--lane);display:grid;place-items:center;align-content:center;gap:6px;text-align:center;box-shadow:0 0 0 12px rgba(232,180,62,.08),0 0 70px rgba(232,180,62,.28)}
.dv-core img,.dv-emblem{mix-blend-mode:lighten}
.dv-core img{width:78px;height:78px}
.dv-core strong{font-size:1.25rem;font-weight:800;color:var(--curb)}
.dv-core-ring{position:absolute;inset:-16px;border-radius:50%;border:2px solid var(--lane);opacity:0;animation:dv-beat 3.2s ease-out infinite}
@keyframes dv-beat{0%{transform:scale(.88);opacity:.55}100%{transform:scale(1.32);opacity:0}}
.dv-node{z-index:3;width:178px;height:178px;border-radius:50%;background:#2A2B28;border:2px solid #6B5A2C;color:var(--curb);display:grid;place-items:center;align-content:center;gap:6px;padding:14px;text-align:center;cursor:pointer;font-family:var(--font);box-shadow:0 0 0 8px rgba(232,180,62,.05),0 18px 40px rgba(0,0,0,.4);transition:border-color .2s,background .2s,box-shadow .2s}
.dv-node svg{width:42px;height:42px;color:var(--lane)}
.dv-node strong{font-size:1.0625rem;font-weight:800;line-height:1.15}
.dv-node .status{font-size:.75rem;padding:5px 7px 4px}
.dv-node:hover{border-color:var(--lane)}
.dv-node[aria-pressed=true]{border:3px solid var(--lane);background:#353632;box-shadow:0 0 0 10px rgba(232,180,62,.12),0 0 54px rgba(232,180,62,.32)}
.dv-node-micromobility{left:16%;top:24%;animation:dv-float-a 7s ease-in-out infinite}
.dv-node-delivery{left:84%;top:24%;animation:dv-float-b 8.5s ease-in-out infinite}
.dv-node-lockers{left:50%;top:84%;animation:dv-float-c 7.8s ease-in-out infinite}
@keyframes dv-float-a{0%,100%{transform:translate(-50%,-50%)}50%{transform:translate(calc(-50% + 8px),calc(-50% - 14px))}}
@keyframes dv-float-b{0%,100%{transform:translate(-50%,-50%)}50%{transform:translate(calc(-50% - 10px),calc(-50% - 11px))}}
@keyframes dv-float-c{0%,100%{transform:translate(-50%,-50%)}50%{transform:translate(calc(-50% + 7px),calc(-50% + 12px))}}
.dv-panel{position:relative;z-index:3;margin-top:24px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px 40px;padding:28px 32px;border:2px solid #4A4B45;border-radius:8px;background:#232421}
.dv-panel h2{font-size:var(--step-2);margin:12px 0 6px;color:var(--curb)}
.dv-panel p{margin:0;color:#D8D6CF;max-width:40em}
.dv-section{padding:104px 0;background:var(--curb)}
.dv-section.dv-alt{background:var(--concrete)}
.dv-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:center}
.dv-section h2{font-size:var(--step-4);margin:16px 0 20px;max-width:14ch}
.dv-section p{color:var(--muted);max-width:32em}
.dv-section .actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;margin-top:28px}
.dv-fleet{list-style:none;margin:24px 0 0;padding:0;max-width:28em}
.dv-fleet li{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-top:2px solid var(--concrete);font-size:var(--step-1)}
.dv-fleet strong{font-weight:800}
.dv-points{margin:20px 0 0;padding-left:1.2em;color:var(--muted)}
.dv-points li{margin:6px 0}
.dv-steps{list-style:none;counter-reset:dv;margin:24px 0 0;padding:0;display:grid;gap:12px}
.dv-steps li{counter-increment:dv;display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;align-items:start;color:var(--muted)}
.dv-steps li:before{content:counter(dv);width:32px;height:32px;border-radius:50%;background:var(--lane);color:var(--asphalt);font-weight:800;display:grid;place-items:center;padding-top:2px}
.dv-steps strong{color:var(--text)}
.dv-photo,.dv-locker-figure{margin:0}
.dv-photo img{display:block;width:100%;height:auto;border-radius:6px}
.dv-locker{display:block;width:100%;max-width:460px;height:auto;margin-inline:auto}
.dv-locker-figure figcaption{text-align:center}
.dv-locker-brand{font:800 17px var(--font);fill:#FAFAF8}
.dv-locker-code{font:700 9px var(--font);fill:#55564F;letter-spacing:.15em}
.dv-locker-digits{font:800 13px var(--font);fill:#2A2B28}

@media (max-width:900px){
  .ln-rider-scooter svg{width:34px}.ln-rider-ebike svg{width:40px}.ln-rider-robot svg{width:24px}
  .ln-more-grid,.pm-head,.pm-layout,.dv-head,.dv-two{grid-template-columns:1fr;gap:28px}
  .ln-more,.pm,.dv-section{padding:72px 0}
  .pm-caption{min-height:0}
  .dv-hero{padding:64px 0 56px}
  .dv-stage{height:auto;aspect-ratio:1/1.3;max-height:700px}
  .dv-core{top:52%;width:132px;height:132px}
  .dv-core img{width:52px;height:52px}
  .dv-core strong{font-size:1rem}
  .dv-node{width:128px;height:128px;padding:10px;gap:4px}
  .dv-node svg{width:30px;height:30px}
  .dv-node strong{font-size:.9rem}
  .dv-node .status{font-size:.6875rem;padding:4px 6px 3px}
  .dv-node-micromobility{left:25%;top:13%}
  .dv-node-delivery{left:75%;top:13%}
  .dv-node-lockers{left:50%;top:86%}
  .dv-panel{padding:22px 20px}
}
@media (max-width:480px){
  .pm-label{font-size:20px}.pm-label-small{font-size:16px}
  .pm-stage{padding:8px}
  .pm-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pm-steps button{flex-direction:row;align-items:center}
  .ln-spec-readout{grid-template-columns:36px minmax(0,1fr);padding:18px;gap:12px}
  .ln-spec-num{width:36px;height:36px;font-size:1rem}
  .ln-spec-qr img{width:96px;height:96px}
}
@media (prefers-reduced-motion:reduce){
  .dv-node,.dv-core-ring,button.ln-pin,.pm-stage .pm-zone{animation:none!important}
  .pm-battery-fill{transition:none}
}

/* Readability: sections inherited from the earlier dark-green theme now use asphalt with curb-white text,
   and text that was tinted for dark backgrounds is darkened where the background is now concrete. */
.earn-hero,.executive-intro,.executive-commitments{background:var(--asphalt);color:var(--curb)}
.earn-hero h1,.executive-intro h1,.executive-commitments h2,.executive-commitments h3,.gate-copy h2{color:var(--curb)}
.earn-hero p,.executive-intro p,.executive-commitments p,.gate-copy p{color:#D8D6CF}
.gate-copy{background:var(--asphalt);color:var(--curb)}
.feature-row p,.privacy-copy p,.privacy-copy a{color:var(--muted)}
.privacy-copy h2{color:var(--text)}
main .partnership-steps li>span,main .contact-paths a>span:first-child,main .partner-audiences article>span,main .principle-grid>article>span,main .feature-row .eyebrow{color:var(--lane-deep)}
/* Riders: wheels turn while they ride (off for reduced motion). */
.ln-wheel{transform-box:view-box;animation:ln-spin .55s linear infinite}
@keyframes ln-spin{to{transform:rotate(360deg)}}
.ln-rider-scooter svg{width:42px}.ln-rider-ebike svg{width:58px}.ln-rider-robot svg{width:40px}
@media (max-width:900px){.ln-rider-scooter svg{width:32px}.ln-rider-ebike svg{width:44px}.ln-rider-robot svg{width:30px}}
@media (prefers-reduced-motion:reduce){.ln-wheel{animation:none}}

/* Fine-text notes beside headings: bordered cards in lane colours that float gently. */
:where(.about-editorial>div:last-child>p:not(.large-copy),.section-head>p,.ln-note,.ct-routes-head>p,.dv-head>p,.pm-head>p){position:relative;margin:0;padding:22px 26px;border-radius:12px;border:2px solid transparent;color:var(--muted);background:linear-gradient(var(--curb),var(--curb)) padding-box,linear-gradient(135deg,var(--lane),var(--lane-deep)) border-box;box-shadow:0 18px 36px rgba(42,43,40,.10),0 2px 6px rgba(42,43,40,.06);animation:ln-float 7s ease-in-out infinite}
.about-editorial>div:last-child>p:not(.large-copy):last-child{background:linear-gradient(var(--curb),var(--curb)) padding-box,linear-gradient(135deg,var(--asphalt),var(--lane)) border-box;animation-delay:-3.5s}
.about-editorial>div:last-child>p:not(.large-copy)+p{margin-top:22px}
section:nth-of-type(even) .section-head>p{background:linear-gradient(var(--curb),var(--curb)) padding-box,linear-gradient(135deg,var(--asphalt),var(--lane)) border-box;animation-delay:-2s}
:is(.executive-commitments,.pm,.dv-hero,.ct-hero) :is(.section-head>p,.ln-note,.dv-head>p,.pm-head>p){color:#D8D6CF;background:linear-gradient(#323330,#323330) padding-box,linear-gradient(135deg,var(--lane),#FAFAF8) border-box;box-shadow:0 18px 40px rgba(0,0,0,.35)}
@keyframes ln-float{50%{transform:translateY(-6px)}}
.ln-vision{font-weight:700;color:var(--lane-deep)}
:is(.ln-page-hero,.pm) .ln-vision{color:var(--lane)}

/* Contact: dark hero with founders, a route of five stops, then the message form. */
.ct-hero{position:relative;overflow:hidden;background:var(--asphalt);color:var(--curb);padding:88px 0 150px}
.ct-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:64px;align-items:center}
.ct-hero h1{font-size:var(--step-5);margin:0 0 24px;color:var(--curb);max-width:11ch}
.ct-hero-copy>p{color:#D8D6CF;max-width:32em;margin:0 0 32px;font-size:1.1875rem}
.ct-hero .actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px 32px}
.ct-hero .text-link{color:var(--curb)}
.ct-founders{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.ct-founder{display:block;color:var(--curb);text-decoration:none;border-radius:12px;padding:12px;background:#323330;border:2px solid #4A4B45;transition:border-color .2s,transform .2s}
.ct-founder:hover,.ct-founder:focus-visible{border-color:var(--lane);transform:translateY(-4px)}
.ct-founder img{display:block;width:100%;height:auto;aspect-ratio:1/1.05;object-fit:cover;object-position:50% 18%;border-radius:8px;margin-bottom:12px}
.ct-founder strong{display:block;font-size:1.0625rem;line-height:1.2}
.ct-founder small{display:block;color:#BEBCB4;font-size:.9rem;margin:2px 0 6px}
.ct-founder em{font-style:normal;font-weight:700;font-size:.9rem;color:var(--lane);overflow-wrap:anywhere}
.ct-lane{left:0;right:0;bottom:28px;width:100%;height:180px;z-index:1}
.ct-routes{padding:96px 0;background:var(--curb)}
.ct-routes-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:end;margin-bottom:56px}
.ct-routes h2{font-size:var(--step-4);margin:0}
.ct-routes-head p{margin:0;color:var(--muted);max-width:30em}
.ct-stops{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;position:relative}
.ct-stops:before{content:"";position:absolute;left:24px;right:24px;top:26px;height:6px;border-radius:3px;background:repeating-linear-gradient(90deg,var(--lane) 0 28px,transparent 28px 40px)}
.ct-stops a{position:relative;display:flex;flex-direction:column;gap:8px;height:100%;padding:0 6px 8px;color:var(--text);text-decoration:none}
.ct-stop-dot{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--asphalt);color:var(--lane);border:6px solid var(--curb);box-shadow:0 0 0 3px var(--lane);font-weight:800;font-size:1.25rem;padding-top:3px;transition:background .2s,color .2s,transform .2s}
.ct-stops strong{font-size:1.1875rem;line-height:1.2;margin-top:10px}
.ct-stops small{color:var(--muted);font-size:.95rem;line-height:1.45}
.ct-stops a:hover .ct-stop-dot,.ct-stops a:focus-visible .ct-stop-dot{transform:scale(1.08)}
.ct-stops a.is-selected .ct-stop-dot{background:var(--lane);color:var(--asphalt)}
.ct-stops a.is-selected strong{text-decoration:underline;text-decoration-color:var(--lane);text-decoration-thickness:3px;text-underline-offset:6px}
.ct-message{padding:96px 0;background:var(--concrete)}
.ct-message-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:64px;align-items:start}
.ct-side h2{font-size:var(--step-4);margin:0 0 28px}
.ct-company{margin:28px 0;padding:18px 0;border-top:2px solid #CFCCC3;border-bottom:2px solid #CFCCC3}
.ct-company span{display:block;font-size:.875rem;font-weight:700;color:var(--lane-deep)}
.ct-company strong{font-size:var(--step-1)}
.ct-form{border-radius:14px;border:2px solid transparent;background:linear-gradient(var(--curb),var(--curb)) padding-box,linear-gradient(135deg,var(--lane),var(--asphalt)) border-box;box-shadow:0 24px 50px rgba(42,43,40,.12)}

/* Earn With M2: the transit map of six roles. */
.earn-hero{position:relative}
.earn-hero-grid{position:relative;z-index:2}
.earn-lane{left:0;right:0;bottom:10px;width:100%;height:170px;z-index:1}
.er-section{padding:104px 0;background:#1F201D;color:var(--curb);overflow:hidden}
.er-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:end;margin-bottom:40px}
.er-head h2{font-size:var(--step-4);margin:0;color:var(--curb)}
.er-head p{margin:0;color:#D8D6CF;padding:22px 26px;border-radius:12px;border:2px solid transparent;background:linear-gradient(#2A2B28,#2A2B28) padding-box,linear-gradient(135deg,var(--lane),#2FD6E0) border-box;box-shadow:0 18px 40px rgba(0,0,0,.35);animation:ln-float 7s ease-in-out infinite}
.er-map{position:relative;aspect-ratio:2/1;margin:0 -12px}
.er-tracks{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.er-track{fill:none;stroke-width:12;stroke-linecap:round;stroke-linejoin:round;opacity:.35;transition:opacity .3s}
.er-map[data-active=operations] .er-track[data-line=operations],.er-map[data-active=brand] .er-track[data-line=brand],.er-map[data-active=creative] .er-track[data-line=creative]{opacity:1}
.er-train{filter:drop-shadow(0 0 6px rgba(255,255,255,.6))}
.er-terminal circle{fill:#1F201D;stroke:var(--curb);stroke-width:6}
.er-end{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,34px);margin:0;font-weight:800;font-size:1rem;white-space:nowrap;color:var(--curb)}
.er-line{display:contents}
.er-line-name{position:absolute;margin:0;font-size:.95rem;font-weight:800;color:var(--line);letter-spacing:.01em}
.er-line[data-line=operations] .er-line-name{left:31%;top:13%}
.er-line[data-line=brand] .er-line-name{left:63%;top:43%}
.er-line[data-line=creative] .er-line-name{left:31%;top:84%}
.er-line ol{list-style:none;margin:0;padding:0}
.er-line li{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-14px);width:150px}
.er-stop{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;padding:0;background:none;border:0;color:var(--curb);font:700 .95rem/1.25 var(--font);text-align:center;cursor:pointer}
.er-dot{width:28px;height:28px;border-radius:50%;background:#1F201D;border:6px solid var(--line);box-shadow:0 0 0 4px #1F201D;transition:transform .2s,background .2s}
.er-stop:hover .er-dot,.er-stop:focus-visible .er-dot{transform:scale(1.2)}
.er-stop[aria-pressed=true] .er-dot{background:var(--line);transform:scale(1.25);box-shadow:0 0 0 4px #1F201D,0 0 0 9px color-mix(in srgb,var(--line) 35%,transparent)}
.er-stop[aria-pressed=true] .er-name{text-decoration:underline;text-decoration-color:var(--line);text-decoration-thickness:3px;text-underline-offset:5px}
.er-panel{margin-top:32px;padding:32px;border-radius:14px;background:var(--curb);color:var(--text);box-shadow:0 24px 50px rgba(0,0,0,.35)}
.er-panel-head h3{font-size:var(--step-3);margin:10px 0 4px}
.er-tag{margin:0 0 16px;color:var(--lane-deep);font-weight:700}
.er-chip{display:inline-flex;align-items:center;gap:8px;font-size:.875rem;font-weight:800}
.er-chip:before{content:"";width:28px;height:8px;border-radius:4px;background:var(--line);box-shadow:inset 0 0 0 1px rgba(0,0,0,.25)}
.er-panel>p{color:var(--muted);max-width:52em}
.er-panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0}
.er-panel-grid>div{padding:18px 20px;border-radius:10px;background:var(--concrete)}
.er-panel-grid h4{margin:0 0 6px;font-size:1.0625rem}
.er-panel-grid p{margin:0;color:var(--muted);font-size:1rem}
.er-majors{font-size:1rem}

@media (max-width:900px){
  .ct-hero{padding:64px 0 120px}
  .ct-hero-grid,.ct-routes-head,.ct-message-grid,.er-head{grid-template-columns:1fr;gap:28px}
  .ct-routes,.ct-message,.er-section{padding:72px 0}
  .ct-stops{grid-template-columns:1fr;gap:22px}
  .ct-stops:before{left:26px;right:auto;top:20px;bottom:20px;width:6px;height:auto;background:repeating-linear-gradient(180deg,var(--lane) 0 22px,transparent 22px 34px)}
  .ct-stops a{display:grid;grid-template-columns:58px minmax(0,1fr);grid-template-rows:auto auto;column-gap:16px;row-gap:2px;padding:0}
  .ct-stop-dot{grid-row:1/3}
  .ct-stops strong{margin-top:6px}
  .er-map{aspect-ratio:auto;margin:0}
  .er-tracks,.er-end{display:none}
  .er-line{display:block;position:relative;margin:0 0 24px;padding-left:34px}
  .er-line:before{content:"";position:absolute;left:11px;top:6px;bottom:6px;width:8px;border-radius:4px;background:var(--line)}
  .er-line-name{position:static;margin:0 0 10px}
  .er-line li{position:static;transform:none;width:auto;margin:0 0 6px}
  .er-stop{flex-direction:row;text-align:left;gap:14px;padding:8px 0;margin-left:-34px}
  .er-dot{flex:none}
  .er-panel{padding:22px 20px}
  .er-panel-grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  :is(.about-editorial>div:last-child>p,.section-head>p,.ln-note,.er-head p,.ct-routes-head>p,.dv-head>p,.pm-head>p){animation:none}
}
@media (max-width:480px){.ct-founders{gap:10px}.ct-founder{padding:8px}.ct-founder strong{font-size:.95rem}.ct-founder em{font-size:.78rem;overflow-wrap:normal}}

/* Services: who we serve. A short dark hero, then an expanding photo strip, one panel per audience. */
.sv-hero{position:relative;overflow:hidden;background:var(--asphalt);color:var(--curb);padding:88px 0 140px}
.sv-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:end}
.sv-hero h1{font-size:var(--step-5);margin:0;color:var(--curb);max-width:12ch}
.sv-hero .ln-note{color:#D8D6CF;background:linear-gradient(#323330,#323330) padding-box,linear-gradient(135deg,var(--lane),#FAFAF8) border-box;box-shadow:0 18px 40px rgba(0,0,0,.35)}
.sv-hero .ln-note a{color:var(--curb);font-weight:700;text-decoration-color:var(--lane);text-decoration-thickness:2px;text-underline-offset:4px}
.sv-lane{left:0;right:0;bottom:24px;width:100%;height:150px;z-index:1}
.au{padding:72px 0 104px;background:var(--asphalt)}
.au-panels{list-style:none;margin:0;padding:0;display:flex;gap:12px;height:600px}
.au-panel{position:relative;flex:1 1 0;min-width:0;border-radius:14px;overflow:hidden;background:#1F201D;transition:flex-grow .55s cubic-bezier(.4,0,.2,1)}
.au-panel.is-open{flex-grow:5}
.au-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s ease,filter .4s}
.au-panel:not(.is-open) .au-img{filter:grayscale(.6) brightness(.55)}
.au-panel:not(.is-open):hover .au-img{filter:grayscale(.2) brightness(.7);transform:scale(1.04)}
.au-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,20,18,0) 30%,rgba(20,20,18,.92) 100%);pointer-events:none}
.au-tab{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:10px;padding:22px;background:none;border:0;color:var(--curb);text-align:left;cursor:pointer;font-family:var(--font)}
.au-panel.is-open .au-tab{inset:0 0 auto 0;height:auto;padding:22px 24px;justify-content:flex-start;flex-direction:row;align-items:center;cursor:default}
.au-num{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--lane);color:var(--asphalt);font-weight:800;padding-top:2px;flex:none}
.au-name{font-size:1.125rem;font-weight:800;line-height:1.2;text-shadow:0 1px 8px rgba(0,0,0,.6)}
.au-panel:not(.is-open) .au-name{writing-mode:vertical-rl;transform:rotate(180deg);font-size:1.0625rem}
.au-panel.is-open .au-name{font-size:1.25rem;background:rgba(20,20,18,.55);padding:6px 12px;border-radius:6px}
.au-copy{position:absolute;z-index:3;left:0;right:0;bottom:0;padding:28px 32px 32px;color:var(--curb);max-width:760px}
.au-copy h3{font-size:var(--step-3);margin:0 0 16px;color:var(--curb);max-width:20ch}
.au-copy ul{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:10px}
.au-copy li{color:#E4E2DC;font-size:1rem;line-height:1.5;padding-left:18px;position:relative}
.au-copy li:before{content:"";position:absolute;left:0;top:.55em;width:8px;height:8px;border-radius:2px;background:var(--lane)}
.au-copy strong{color:var(--curb)}
.au-vision{display:inline-block;margin-bottom:10px;font-size:.875rem;font-weight:700;color:var(--lane)}
.au-tab:focus-visible{outline-offset:-6px}
@media (max-width:900px){
  .sv-hero{padding:64px 0 110px}
  .sv-hero-grid{grid-template-columns:1fr;gap:24px}
  .au{padding:48px 0 72px}
  .au-panels{flex-direction:column;height:auto;gap:10px}
  .au-panel{flex:none;height:84px;transition:height .45s ease}
  .au-panel.is-open{height:auto;min-height:560px}
  .au-panel:not(.is-open) .au-name{writing-mode:horizontal-tb;transform:none}
  .au-tab{flex-direction:row;align-items:center;justify-content:flex-start;padding:16px 18px}
  .au-panel:not(.is-open) .au-tab{inset:0}
  .au-panel.is-open .au-img{height:240px;bottom:auto}
  .au-panel.is-open:after{background:linear-gradient(180deg,rgba(20,20,18,0) 0,rgba(20,20,18,.2) 160px,#1F201D 240px)}
  .au-copy{position:relative;padding:250px 20px 24px}
  .au-copy h3{font-size:var(--step-2)}
}
@media (prefers-reduced-motion:reduce){.au-panel,.au-img{transition:none}}
@media (min-width:901px){
  .au-panel.is-open{flex-grow:6}
  .au-panel.is-open:after{background:linear-gradient(180deg,rgba(20,20,18,.15) 0%,rgba(20,20,18,.5) 30%,rgba(20,20,18,.9) 55%,rgba(20,20,18,.96) 100%)}
}
@media (min-width:901px){
  .au-copy{right:auto;width:min(680px,52vw)}
  .au-panel.is-open .au-copy{animation:au-in .45s ease .3s both}
}
@keyframes au-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.au-panel.is-open .au-copy{animation:none}}
/* Only the homepage lane is drawn on; the others show in full so they run off the frame edge. */
.lane:not(.ln-hero-lane) path{stroke-dasharray:none}
