@import "tailwindcss";

:root { --lime:#f6e93f; --ink:#181818; --paper:#fff; --white:#fff; --grey:#6f6f6f; --line:rgba(24,24,24,.16); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; overflow-x:hidden; background:var(--paper); color:var(--ink); font-family:"Avenir Next","Helvetica Neue",Helvetica,Arial,sans-serif; text-rendering:optimizeLegibility; }
main { width:100%; overflow:clip; }
img { display:block; width:100%; max-width:100%; }
a { color:inherit; text-decoration:none; }
h1,h2,h3,p,figure { margin-top:0; }
.skip-link { position:fixed; z-index:1000; left:18px; top:12px; padding:13px 18px; border-radius:10px; background:var(--lime); color:var(--ink); font-size:13px; font-weight:900; transform:translateY(-150%); transition:transform .2s ease; }
.skip-link:focus { transform:translateY(0); }
:where(a,button,summary,[tabindex]):focus-visible { outline:3px solid var(--lime); outline-offset:4px; }
section[id] { scroll-margin-top:105px; }
.section-label,.eyebrow { font-size:13px; line-height:1.25; font-weight:750; text-transform:none; letter-spacing:0; }
.section-label.light { color:var(--lime); }

.topbar { height:72px; padding:0 20px; display:grid; grid-template-columns:174px 1fr 180px; align-items:center; gap:25px; color:var(--ink); background:#fff; position:fixed; top:18px; left:2vw; right:2vw; z-index:20; border:1px solid rgba(24,24,24,.08); border-radius:19px; box-shadow:0 15px 45px rgba(0,0,0,.16); }
.logo { width:max-content; min-height:48px; padding:0; display:flex; align-items:center; background:transparent; border:0; box-shadow:none; }
.logo img { display:block; width:122px !important; height:auto !important; max-width:122px !important; max-height:36px !important; aspect-ratio:2560/738; object-fit:contain; image-rendering:auto; filter:none !important; transform:translateZ(0); }
.topbar nav { display:flex; justify-content:center; align-items:center; gap:8px; font-size:14px; font-weight:600; letter-spacing:-.01em; }
.topbar nav > a,.nav-dropdown > summary { padding:11px 13px; border-radius:99px; transition:background .2s ease,color .2s ease; white-space:nowrap; }
.topbar nav > a:hover,.nav-dropdown > summary:hover { background:rgba(24,24,24,.07); }
.nav-dropdown { position:relative; }
.nav-dropdown > summary { display:flex; align-items:center; gap:5px; cursor:pointer; list-style:none; }
.nav-dropdown > summary::-webkit-details-marker { display:none; }
.nav-dropdown > summary span { font-size:12px; transition:transform .2s ease; }
.nav-dropdown[open] > summary span { transform:rotate(180deg); }
.nav-dropdown-menu { position:absolute; top:calc(100% + 8px); left:0; width:280px; padding:12px; display:none; gap:3px; background:#fff; border:1px solid rgba(24,24,24,.1); border-radius:17px; box-shadow:0 22px 55px rgba(0,0,0,.2); }
.nav-dropdown-menu:before { content:""; position:absolute; height:12px; left:0; right:0; top:-12px; }
.nav-dropdown:hover > .nav-dropdown-menu,.nav-dropdown:focus-within > .nav-dropdown-menu,.nav-dropdown[open] > .nav-dropdown-menu { display:grid; }
.nav-dropdown:hover > summary span,.nav-dropdown:focus-within > summary span { transform:rotate(180deg); }
.nav-dropdown-menu a { padding:12px 13px; border-radius:10px; font-size:13.5px; font-weight:600; line-height:1.4; }
.nav-dropdown-menu a:hover { background:rgba(24,24,24,.06); }
.mobile-menu { display:none; }
.topbar > .button { font-size:13px; }
.button { min-height:48px; padding:0 19px; border-radius:99px; display:inline-flex; align-items:center; justify-content:space-between; gap:28px; font-size:12px; font-weight:900; }
.button-dark { background:var(--ink); color:white; }
.button-lime { background:var(--lime); color:var(--ink); }
.cta-primary { box-shadow:0 10px 30px rgba(246,233,63,.25); transition:transform .22s ease,box-shadow .22s ease,filter .22s ease; }
.cta-primary:hover { transform:translateY(-2px); box-shadow:0 15px 38px rgba(246,233,63,.42); filter:saturate(1.08); }
@keyframes ctaPulse { 70% { box-shadow:0 0 0 9px rgba(24,24,24,0); } 100% { box-shadow:0 0 0 0 rgba(24,24,24,0); } }
.mobile-ride-dock { display:none; }

.hero { min-height:100svh; position:relative; background:var(--ink); color:white; overflow:hidden; isolation:isolate; }
.hero:after { content:""; position:absolute; z-index:6; inset:0; pointer-events:none; opacity:.13; mix-blend-mode:soft-light; background-image:radial-gradient(circle at 20% 20%,white 0 1px,transparent 1.4px),radial-gradient(circle at 80% 65%,white 0 1px,transparent 1.2px); background-size:17px 17px,23px 23px; }
.hero-copy { position:absolute; inset:0; z-index:3; padding:clamp(150px,17vh,210px) 4vw 40px; display:flex; flex-direction:column; max-width:920px; pointer-events:none; }
.hero-copy:after { content:""; position:absolute; z-index:-1; inset:0 -45vw 0 0; background:linear-gradient(90deg,rgba(24,24,24,.94) 0%,rgba(24,24,24,.74) 46%,transparent 94%); }
.hero-copy a { pointer-events:auto; }
.eyebrow { display:block; color:rgba(255,255,255,.82); }
.eyebrow i { display:none; }
.hero h1 { max-width:850px; font-size:clamp(76px,7.15vw,120px); line-height:.79; letter-spacing:-.075em; margin:4.6vh 0 30px; display:grid; justify-items:start; }
.hero h1 span,.hero h1 em { display:block; margin:0; line-height:inherit; letter-spacing:inherit; }
.hero h1 .hero-title-service { color:white; font-size:.58em; line-height:1; letter-spacing:-.055em; }
.hero h1 .hero-title-action { margin-top:.12em; color:white; font-size:.76em; }
.hero h1 em { color:var(--lime); font-style:normal; }
.hero-support { max-width:650px; padding:2px 0 2px 20px; border-left:3px solid var(--lime); }
.hero-subtitle { margin:0 0 9px; max-width:620px; color:white; font-size:clamp(18px,1.35vw,23px); font-weight:750; line-height:1.32; letter-spacing:-.02em; }
.hero-text { margin:0; font-size:15px; line-height:1.55; max-width:620px; color:rgba(255,255,255,.76); }
.hero-actions { display:flex; align-items:center; gap:10px; margin-top:20px; }
.hero-actions .button { min-width:190px; min-height:58px; padding:0 24px; font-size:13px; }
.hero-location-button { min-width:145px!important; color:white; border:1px solid rgba(255,255,255,.58); background:rgba(24,24,24,.22); backdrop-filter:blur(14px); transition:background .22s,border-color .22s,transform .22s; }
.hero-location-button:hover { background:rgba(255,255,255,.13); border-color:white; transform:translateY(-2px); }
.hero-copy > .stores { margin-top:18px; }
.hero-copy > .stores { gap:12px; }
.hero-copy > .stores a { height:54px; transition:transform .2s ease,filter .2s ease; }
.hero-copy > .stores a:hover { transform:translateY(-2px); filter:brightness(1.08); }
.text-link { font-size:12px; font-weight:900; border-bottom:1px solid; padding-bottom:5px; }
.hero-facts { margin-top:auto; width:600px; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.25); }
.hero-facts div { min-height:116px; padding:18px 20px 0 0; display:flex; flex-direction:column; align-items:flex-start; gap:11px; border-right:1px solid rgba(255,255,255,.15); }
.hero-facts div:nth-child(2),.hero-facts div:nth-child(3) { padding-left:20px; }.hero-facts div:last-child { border-right:0; }
.hero-facts b { max-width:180px; font-size:17px; line-height:1.12; }
.hero-fact-icon { width:31px; height:31px; color:var(--lime); }
.hero-photo { position:absolute; inset:0; overflow:hidden; }
.hero-photo picture { display:block; width:100%; height:100%; }
.hero-photo img { height:100%; object-fit:cover; object-position:center; animation:heroIn 1.4s cubic-bezier(.2,.7,.2,1) both; }
@keyframes heroIn { from { transform:scale(1.04); opacity:.65; } to { transform:scale(1); opacity:1; } }
.hero-photo figcaption { position:absolute; left:22px; right:22px; bottom:20px; display:flex; justify-content:space-between; color:white; font-size:11px; letter-spacing:0; text-transform:none; }
.mobility-switch { position:absolute; z-index:7; top:112px; right:3vw; width:340px; display:grid; grid-template-columns:1fr 1fr; gap:6px; padding:7px; border:1px solid rgba(255,255,255,.6); border-radius:20px; background:rgba(255,255,255,.88); color:var(--ink); backdrop-filter:blur(26px) saturate(1.25); box-shadow:0 22px 70px rgba(0,0,0,.22); }
.mobility-switch > p { grid-column:1/-1; margin:7px 10px 2px; color:#666760; font-size:8px; font-weight:900; text-transform:uppercase; letter-spacing:.15em; }
.mobility-switch div { min-height:82px; padding:10px 12px; border-radius:14px; display:grid; grid-template-columns:34px 1fr; grid-template-rows:1fr 1fr; align-items:center; column-gap:8px; }
.mobility-switch svg { grid-row:1/-1; width:30px; height:30px; }
.mobility-switch .active { background:var(--ink); color:white; }
.mobility-switch span { align-self:end; font-size:13px; font-weight:900; }.mobility-switch b { align-self:start; color:var(--grey); font-size:7px; text-transform:uppercase; letter-spacing:.1em; }.mobility-switch .active b { color:var(--lime); }
.scroll-cue { position:absolute; z-index:8; left:50%; bottom:25px; translate:-50% 0; color:white; display:flex; align-items:center; gap:11px; font-size:8px; font-weight:900; text-transform:uppercase; letter-spacing:.15em; }
.scroll-cue i { width:31px; height:31px; border:1px solid rgba(255,255,255,.5); border-radius:50%; display:grid; place-items:center; font-style:normal; animation:scrollBounce 1.8s ease-in-out infinite; }
@keyframes scrollBounce { 0%,100% { translate:0 0; } 50% { translate:0 5px; } }

.answer-band { margin:0; padding:58px 4vw; display:grid; grid-template-columns:88px minmax(0,1fr) auto; gap:clamp(26px,4vw,68px); align-items:center; background:var(--lime); color:var(--ink); border-bottom:1px solid rgba(24,24,24,.18); }
.answer-band-mark { width:82px; height:82px; display:grid; place-items:center; border-radius:24px; background:var(--ink); transform:rotate(-4deg); box-shadow:0 16px 35px rgba(24,24,24,.17); }
.answer-band-mark .app-mark { width:54px; height:54px; background:var(--lime); transform:rotate(4deg); }
.answer-band-copy { display:grid; grid-template-columns:minmax(180px,.42fr) minmax(360px,1fr); column-gap:clamp(34px,5vw,85px); align-items:center; }
.answer-band-copy .section-label { grid-column:1; margin:0 0 9px; align-self:end; }
.answer-band-copy h2 { grid-column:1; margin:0; align-self:start; font-size:clamp(34px,3.6vw,58px); line-height:.9; letter-spacing:-.06em; }
.answer-band-copy > p:last-child { grid-column:2; grid-row:1/3; max-width:840px; margin:0; font-size:clamp(17px,1.45vw,22px); line-height:1.5; letter-spacing:-.02em; }
.answer-band-link { min-width:150px; min-height:52px; padding:0 19px; border:1px solid rgba(24,24,24,.45); border-radius:99px; display:flex; align-items:center; justify-content:space-between; gap:24px; font-size:12px; font-weight:900; transition:background .2s,color .2s,transform .2s; }
.answer-band-link:hover { background:var(--ink); color:white; transform:translateY(-2px); }
.live-card { position:absolute; z-index:5; right:3vw; bottom:4.5vw; width:290px; padding:15px; border-radius:22px; background:rgba(247,247,242,.92); color:var(--ink); box-shadow:0 22px 65px rgba(0,0,0,.27); backdrop-filter:blur(22px); }
.live-card-top { display:flex; justify-content:space-between; align-items:center; font-size:9px; text-transform:uppercase; letter-spacing:.08em; }.live-card-top span { display:flex; align-items:center; gap:7px; }.live-card-top i { width:7px; height:7px; border-radius:50%; background:#62ca5a; box-shadow:0 0 0 4px rgba(98,202,90,.14); }.live-card-top b { font-size:9px; }
.mini-map { height:145px; background:#e9e9df; border-radius:14px; margin:14px 0 10px; position:relative; overflow:hidden; background-image:linear-gradient(30deg,transparent 45%,rgba(255,255,255,.75) 46% 53%,transparent 54%),linear-gradient(-20deg,transparent 35%,rgba(255,255,255,.65) 36% 43%,transparent 44%); }
.mini-pin { position:absolute; width:28px; height:28px; border-radius:50% 50% 50% 8px; transform:rotate(-45deg); background:var(--ink); color:var(--lime); display:grid; place-items:center; font-size:14px; font-style:normal; font-weight:900; box-shadow:0 5px 14px rgba(0,0,0,.2); }.mini-a { top:20%; left:24%; }.mini-b { top:58%; left:62%; }.mini-c { top:30%; left:73%; }
.live-card > a { min-height:43px; padding:0 14px; border-radius:12px; background:var(--lime); display:flex; align-items:center; justify-content:space-between; font-size:11px; font-weight:900; }

.post-hero-download { min-height:690px; padding:72px 9vw; display:grid; grid-template-columns:minmax(420px,.9fr) minmax(390px,1.1fr); align-items:center; gap:7vw; overflow:hidden; background:#f6f6f2; }
.post-hero-download-copy { max-width:650px; }
.post-hero-download-copy .section-label { margin-bottom:26px; color:#74756e; }
.post-hero-download-copy h2 { margin:0 0 28px; font-size:clamp(64px,6.4vw,108px); line-height:.86; letter-spacing:-.072em; }
.post-hero-download-copy h2 em { color:#aaa99f; font-style:normal; }
.post-hero-download-copy > p:not(.section-label) { max-width:560px; margin-bottom:28px; color:#676861; font-size:17px; line-height:1.55; }
.post-hero-download-copy .stores { gap:12px; }
.post-hero-download-copy .stores a { height:58px; transition:transform .2s ease,filter .2s ease; }
.post-hero-download-copy .stores a:hover { transform:translateY(-3px); filter:brightness(1.08); }
.post-hero-download-link { width:max-content; margin-top:24px; padding-bottom:5px; display:flex; align-items:center; gap:20px; border-bottom:1px solid #a6a79f; font-size:12px; font-weight:800; }
.bimba-phone-stage { min-height:560px; position:relative; display:grid; place-items:center; isolation:isolate; }
.bimba-phone { width:274px; height:536px; padding:8px; position:relative; border:1px solid #3b3c37; border-radius:47px; background:#171815; box-shadow:0 38px 80px rgba(24,24,24,.28),0 8px 20px rgba(24,24,24,.14),inset 0 0 0 2px #55564f; transition:transform .35s cubic-bezier(.2,.8,.2,1); }
.bimba-phone-stage:hover .bimba-phone { transform:translateY(-6px); }
.phone-speaker { position:absolute; z-index:4; top:14px; left:50%; width:84px; height:22px; translate:-50% 0; border-radius:999px; background:#111; }
.phone-screen { width:100%; height:100%; position:relative; overflow:hidden; border-radius:37px; background:#dfe6dc; }
.phone-screen > img { width:100%; height:100%; object-fit:cover; object-position:center; }
.phone-screen:after { content:""; position:absolute; inset:0; box-shadow:inset 0 0 0 1px rgba(255,255,255,.35); pointer-events:none; }
.phone-bike-marker { position:absolute; z-index:3; width:34px; height:34px; border:3px solid #54ef12; border-radius:50% 50% 50% 8px; display:grid; place-items:center; background:white; color:#111; box-shadow:0 5px 13px rgba(0,0,0,.28); transform:rotate(-45deg); }
.phone-bike-marker svg { width:21px; height:21px; transform:rotate(45deg); }
.bike-marker-a { left:34%; top:22%; }.bike-marker-b { right:20%; top:39%; }.bike-marker-c { left:29%; top:56%; }.bike-marker-d { right:22%; top:68%; }
.phone-caption { position:absolute; z-index:4; right:-2%; bottom:10%; min-width:205px; padding:16px 18px; border:1px solid rgba(24,24,24,.09); border-radius:17px; display:grid; gap:4px; background:#fff; box-shadow:0 18px 48px rgba(24,24,24,.18); }
.phone-caption > span { display:flex; align-items:center; gap:8px; color:#66675f; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }.phone-caption i { width:8px; height:8px; border-radius:50%; background:#58c65a; box-shadow:0 0 0 4px rgba(88,198,90,.14); }.phone-caption b { font-size:16px; }.phone-caption small { color:#777870; font-size:9px; }

.app-strip { min-height:128px; padding:20px 3.4vw; background:var(--ink); color:white; display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:3vw; border-top:1px solid #30312d; }
.app-strip > div:first-child { display:flex; align-items:center; gap:16px; }
.app-mark { width:54px; height:54px; border-radius:15px; display:grid; place-items:center; background:var(--lime); }
.app-mark:before,.map-focus-icon:before { content:""; width:72%; height:72%; display:block; background:#11120f; -webkit-mask:url('../bimba/bimba-brand-symbol-transparent.png') center/contain no-repeat; mask:url('../bimba/bimba-brand-symbol-transparent.png') center/contain no-repeat; -webkit-mask-mode:alpha; mask-mode:alpha; }
.app-strip p { margin:0; display:grid; gap:6px; }.app-strip b { font-size:17px; }.app-strip p span { font-size:11px; color:#85867f; }
.network-proof { display:flex; align-items:center; border-left:1px solid #393a35; border-right:1px solid #393a35; }
.network-proof p { min-width:110px; padding:5px 20px; border-right:1px solid #393a35; }
.network-proof p:last-child { border:0; }.network-proof b { font-size:18px; }.network-proof span { font-size:8px!important; text-transform:uppercase; letter-spacing:.1em; }
.stores { display:flex; align-items:center; gap:10px; }.stores a { height:46px; }.stores img { width:auto; height:100%; }

.intro { min-height:860px; padding:110px 4vw; background:white; position:relative; overflow:hidden; border-radius:0 0 48px 48px; display:grid; grid-template-columns:minmax(0,.8fr) minmax(520px,1.2fr); gap:clamp(55px,7vw,130px); align-items:center; }
.intro:after { content:""; position:absolute; width:48vw; height:48vw; border-radius:50%; right:-22vw; bottom:-35vw; background:var(--lime); z-index:0; }
.intro > * { position:relative; z-index:1; }
.intro-content { align-self:center; }
.intro h2,.how h2,.vehicle h2,.moments h2,.locations h2,.safety h2,.guide h2,.faq h2,.download h2 { font-size:clamp(65px,8vw,128px); line-height:.84; letter-spacing:-.075em; }
.intro h2 { margin:26px 0 42px; font-size:clamp(65px,6.4vw,108px); }.intro h2 em { color:#a5a69c; font-style:normal; }
.intro-copy { margin-left:17%; max-width:590px; padding-left:20px; border-left:3px solid var(--lime); font-size:18px; line-height:1.55; color:#55564f; }
.intro-unlock-photo { height:min(670px,66vw); min-height:560px; margin:0; position:relative; overflow:hidden; border-radius:30px; background:var(--ink); box-shadow:0 28px 75px rgba(24,24,24,.18); }
.intro-unlock-photo:after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,transparent 58%,rgba(12,13,10,.7)); }
.intro-unlock-photo img { width:100%; height:100%; object-fit:cover; object-position:center; }
.intro-unlock-photo figcaption { position:absolute; z-index:2; left:25px; right:25px; bottom:24px; display:flex; align-items:center; justify-content:space-between; color:white; }
.intro-unlock-photo figcaption span { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; background:var(--lime); color:var(--ink); font-size:11px; font-weight:900; }
.intro-unlock-photo figcaption b { font-size:17px; letter-spacing:-.02em; }

.how { background:#f4f4f0; padding:150px 4vw; }
.how-heading { display:block; max-width:1050px; }
.how-heading .section-label { margin-bottom:30px; }
.how-heading h2 { margin:0 0 75px; max-width:960px; }
.steps { display:grid; grid-template-columns:repeat(3,1fr); margin-left:0; gap:12px; }
.steps article { padding:26px 28px 36px; min-height:390px; display:flex; flex-direction:column; border:1px solid var(--line); border-radius:22px; background:white; }
.steps article { transition:transform .3s ease,box-shadow .3s ease; }.steps article:hover { transform:translateY(-8px); box-shadow:0 20px 55px rgba(24,24,24,.1); }
.steps article:last-child { border-color:transparent; background:var(--lime); border-radius:20px 20px 55px 20px; }
.steps span { font-size:9px; color:var(--grey); }.step-icon { width:86px; height:86px; padding:18px; margin:auto 0 32px; color:var(--ink); border-radius:50%; background:#f2f2ed; border:1px solid rgba(24,24,24,.08); }.steps article:last-child .step-icon { color:var(--lime); background:var(--ink); border-color:var(--ink); }.steps h3 { font-size:28px; margin-bottom:12px; }.steps p { color:var(--grey); font-size:13px; line-height:1.55; max-width:300px; }
.how-actions { margin-top:28px; display:flex; justify-content:flex-end; gap:10px; }
.how-actions .button { min-width:190px; min-height:56px; }
.how-safety-button { border:1px solid var(--ink); background:transparent; color:var(--ink); transition:background .2s ease,color .2s ease,transform .2s ease; }
.how-safety-button:hover { background:var(--lime); transform:translateY(-2px); }
.how-photo { height:min(68vw,900px); margin:110px 0 0; position:relative; overflow:hidden; border-radius:28px; background:var(--ink); }
.how-photo img { width:100%; height:100%; object-fit:cover; }
.how-photo:after { content:""; position:absolute; inset:45% 0 0; background:linear-gradient(transparent,rgba(0,0,0,.82)); }
.how-photo figcaption { position:absolute; z-index:2; left:35px; right:35px; bottom:32px; color:white; display:flex; justify-content:space-between; align-items:end; gap:30px; }
.how-photo figcaption span { font-size:10px; text-transform:uppercase; letter-spacing:.14em; }
.how-photo figcaption b { max-width:630px; margin-left:auto; text-align:right; font-size:clamp(28px,4vw,64px); line-height:.9; letter-spacing:-.055em; }

.story-band { min-height:760px; height:64vw; max-height:980px; margin:20px 0; padding:12px; position:relative; overflow:hidden; background:var(--lime); isolation:isolate; }
.story-band > img { position:absolute; z-index:0; inset:12px; width:calc(100% - 24px); height:calc(100% - 24px); object-fit:cover; border-radius:26px; }
.story-shade { position:absolute; z-index:1; inset:12px; border-radius:26px; background:linear-gradient(90deg,rgba(10,11,9,.86) 0%,rgba(10,11,9,.5) 34%,transparent 68%); }
.story-copy { position:absolute; z-index:2; left:4vw; bottom:5vw; width:min(610px,44vw); color:white; }
.story-copy h2 { margin:22px 0 25px; font-size:clamp(54px,6.6vw,110px); line-height:.84; letter-spacing:-.075em; }
.story-copy > p:not(.section-label) { max-width:480px; margin-bottom:28px; color:rgba(255,255,255,.75); font-size:16px; line-height:1.6; }
.story-copy h2,.values-photo p b,.how-photo figcaption b { text-wrap:balance; }
.story-copy .button { width:210px; }
.story-index { position:absolute; z-index:2; right:3vw; bottom:3vw; color:white; font-size:9px; font-weight:900; letter-spacing:.15em; }
.story-band.align-right .story-shade { background:linear-gradient(270deg,rgba(10,11,9,.86) 0%,rgba(10,11,9,.55) 36%,transparent 67%); }
.story-band.align-right .story-copy { left:auto; right:4vw; }
.story-band.align-right .story-index { right:auto; left:3vw; }

.vehicle { min-height:850px; background:var(--ink); color:white; display:grid; grid-template-columns:.76fr 1.24fr; overflow:hidden; }
.vehicle-copy { padding:120px 4vw; display:flex; flex-direction:column; }
.vehicle h2 { margin:35px 0; }.vehicle-copy > p:not(.section-label) { color:#92938c; line-height:1.65; max-width:470px; }
.vehicle ul { margin:auto 0 0; padding:0; list-style:none; border-top:1px solid #353630; }
.vehicle li { padding:17px 0; display:grid; gap:5px; border-bottom:1px solid #353630; }.vehicle li b { font-size:13px; }.vehicle li span { color:#777870; font-size:11px; }
.bike-stage { position:relative; background:var(--lime); display:grid; place-items:center; overflow:hidden; }
.bike-stage img { position:absolute; inset:0; height:100%; width:100%; object-fit:cover; }
.bike-badge { position:absolute; z-index:3; right:5%; top:8%; width:130px; aspect-ratio:1; border-radius:50%; background:white; color:var(--ink); display:grid; place-content:center; text-align:center; transform:rotate(8deg); box-shadow:0 15px 35px rgba(0,0,0,.15); }
.bike-badge b { font-size:31px; }.bike-badge span { font-size:9px; text-transform:uppercase; letter-spacing:.1em; }

.moments { padding:140px 3.4vw; }
.moments-head { display:grid; grid-template-columns:.35fr 1fr; align-items:start; margin-bottom:70px; }
.moments-head h2 { margin:0; }
.moment-grid { display:grid; grid-template-columns:1.2fr .8fr; grid-template-rows:48vw 40vw; gap:12px; }
.moment-grid figure { position:relative; overflow:hidden; margin:0; border-radius:22px; }
.moment-main { grid-column:1/-1; }
.moment-grid img { height:100%; object-fit:cover; transition:transform .8s ease; }.moment-grid figure:hover img { transform:scale(1.015); }
.moment-grid figure:after { content:""; position:absolute; inset:55% 0 0; background:linear-gradient(transparent,rgba(0,0,0,.7)); }
.moment-grid figcaption { position:absolute; z-index:2; left:22px; right:22px; bottom:20px; color:white; display:flex; align-items:end; justify-content:space-between; }
.moment-grid figcaption b { font-size:clamp(24px,3.5vw,52px); letter-spacing:-.05em; }.moment-grid figcaption span { font-size:9px; letter-spacing:.14em; }

.locations { position:relative; z-index:2; margin:45px 2vw 0; padding:clamp(34px,5vw,78px); border-radius:38px; overflow:hidden; background:#f3f3ed; color:var(--ink); box-shadow:0 30px 90px rgba(24,24,24,.12); }
.locations-head { display:grid; grid-template-columns:1.08fr .92fr; gap:8vw; align-items:end; margin-bottom:52px; }
.locations-head h2 { max-width:900px; margin:24px 0 0; font-size:clamp(66px,7vw,126px); line-height:.86; letter-spacing:-.075em; }
.locations-intro { max-width:620px; justify-self:end; }
.locations-intro > p { margin:0 0 28px; color:#65665f; font-size:17px; line-height:1.65; }
.location-facts { display:flex; flex-wrap:wrap; gap:10px; }
.location-facts span { min-height:50px; padding:10px 15px; border:1px solid #d7d8d0; border-radius:13px; display:flex; align-items:center; gap:8px; background:white; color:#65665f; font-size:11px; font-weight:750; }
.location-facts b { color:var(--ink); font-size:18px; }
.locations-main { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(360px,.55fr); min-height:720px; border-radius:28px; overflow:hidden; background:var(--ink); box-shadow:0 22px 60px rgba(24,24,24,.16); }
.partner-logo-slider { margin-top:34px; padding:34px 0 4px; border-top:1px solid rgba(24,24,24,.18); }
.partner-logo-slider > header { padding:0 2px 24px; display:flex; align-items:flex-end; justify-content:space-between; gap:30px; }
.partner-logo-slider h3 { margin:7px 0 5px; font-size:clamp(30px,3vw,48px); line-height:.95; letter-spacing:-.055em; }
.partner-logo-slider header > div:first-child > p:last-child { margin:0; color:#696a63; font-size:13px; }
.partner-logo-controls { display:flex; gap:8px; }
.partner-logo-controls button { width:48px; height:48px; border:1px solid var(--ink); border-radius:50%; display:grid; place-items:center; background:transparent; color:var(--ink); cursor:pointer; font:500 20px/1 Arial,sans-serif; transition:background .18s ease,color .18s ease,transform .18s ease; }
.partner-logo-controls button:hover,.partner-logo-controls button:focus-visible { background:var(--ink); color:var(--lime); transform:translateY(-2px); }
.partner-logo-rail { display:flex; align-items:center; gap:10px; overflow-x:auto; padding:20px 12px 26px; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:var(--ink) rgba(24,24,24,.08); overscroll-behavior-inline:contain; background:transparent; }
.partner-logo-card { flex:0 0 clamp(180px,15vw,250px); height:138px; padding:16px 24px; scroll-snap-align:start; display:flex; align-items:center; justify-content:center; color:var(--ink); text-decoration:none; background:transparent; border:0; box-shadow:none; transition:transform .22s ease,opacity .22s ease; }
.partner-logo-card:hover { transform:translateY(-4px) scale(1.025); }
.partner-logo-stage { width:100%; height:100%; min-width:0; display:flex; align-items:center; justify-content:center; background:transparent; }
.partner-logo-stage img { width:auto; height:auto; max-width:88%; max-height:88px; display:block; object-fit:contain; object-position:50% 50%; margin:0 auto; filter:none!important; mix-blend-mode:normal; }
.partner-logo-stage img[src*="ricos-source"] { max-width:96px; max-height:96px; border-radius:0; }
.partner-logo-stage img[src*="la-rosas-source"],.partner-logo-stage img[src*="suave-source"] { max-width:94px; max-height:94px; }
.locations + .story-eso { z-index:1; margin:-34px 0 0; padding-top:58px; background:linear-gradient(180deg,#f6e93f 0,#f6e93f 74px,#181816 74px); }
.locations + .story-eso > img,.locations + .story-eso .story-shade { top:58px; height:calc(100% - 70px); }
.locations + .story-eso::before { content:""; position:absolute; z-index:3; top:42px; left:50%; width:74px; height:6px; translate:-50% 0; border-radius:999px; background:#181816; opacity:.9; }
.story-eso + .values { position:relative; z-index:0; margin-top:-12px; padding-top:162px; }
.map { position:relative; min-height:720px; overflow:hidden; background:#d9d9d1; }
.osm-map { position:absolute; inset:-2px; width:calc(100% + 4px); height:calc(100% + 4px); border:0; filter:saturate(.82) contrast(.94) brightness(.96); }
.bimba-live-map { position:absolute; inset:0; z-index:0; background:#cbdad5; filter:saturate(.78) contrast(.95) brightness(.98); }
.bimba-live-map .leaflet-control-attribution { font-size:8px; }
.bimba-live-map .leaflet-control-zoom { margin:20px 0 0 20px; overflow:hidden; border:2px solid rgba(24,24,24,.9); border-radius:14px; box-shadow:0 10px 30px rgba(0,0,0,.28); }
.bimba-live-map .leaflet-control-zoom a { width:48px; height:48px; border:0; display:grid; place-items:center; background:#fff; color:var(--ink); font:800 25px/1 Arial,sans-serif; transition:background .18s ease,color .18s ease; }
.bimba-live-map .leaflet-control-zoom a + a { border-top:1px solid #d4d4ce; }
.bimba-live-map .leaflet-control-zoom a:hover,.bimba-live-map .leaflet-control-zoom a:focus-visible { background:var(--lime); color:var(--ink); }
.bimba-map-marker-wrap { background:transparent; border:0; }
.bimba-map-marker { position:relative; width:34px; height:34px; display:grid; place-items:center; border:3px solid white; border-radius:50% 50% 50% 8px; rotate:-45deg; background:var(--lime); color:var(--ink); box-shadow:0 8px 22px rgba(0,0,0,.3); transition:transform .22s ease,filter .22s ease; }
.bimba-map-marker b { rotate:45deg; font-size:8px; font-weight:950; letter-spacing:-.02em; }
.bimba-map-marker i { position:absolute; inset:-8px; border:1px solid rgba(246,233,63,.55); border-radius:50%; animation:marker-pulse 2.8s ease-out infinite; }
.bimba-map-marker-wrap:hover .bimba-map-marker { transform:scale(1.16) translate(2px,-2px); filter:brightness(1.04); }
@keyframes marker-pulse { 0% { opacity:.8; transform:scale(.72); } 65%,100% { opacity:0; transform:scale(1.36); } }
.map:after { content:""; position:absolute; z-index:1; inset:0; pointer-events:none; box-shadow:inset -25px 0 55px rgba(24,24,24,.16); }
.station-marker-layer { position:absolute; z-index:3; inset:0; pointer-events:none; }
.map-station-marker { position:absolute; pointer-events:auto; width:25px; height:25px; translate:-50% -50%; display:grid; place-items:center; border:2px solid white; border-radius:50%; background:var(--lime); color:var(--ink); box-shadow:0 5px 16px rgba(0,0,0,.38); transition:scale .18s ease,z-index .18s ease; }
.map-station-marker span { font-size:8px; font-weight:950; line-height:1; }
.map-station-marker:before { content:""; position:absolute; inset:-7px; border-radius:50%; }
.map-station-marker:after { content:attr(data-name); position:absolute; left:50%; bottom:31px; width:max-content; max-width:190px; padding:8px 10px; border-radius:9px; background:var(--ink); color:white; font-size:10px; font-weight:800; line-height:1.2; box-shadow:0 8px 25px rgba(0,0,0,.28); opacity:0; pointer-events:none; translate:-50% 5px; transition:opacity .18s ease,translate .18s ease; }
.map-station-marker:hover,.map-station-marker:focus-visible { z-index:10; scale:1.28; }
.map-station-marker:hover:after,.map-station-marker:focus-visible:after { opacity:1; translate:-50% 0; }
.map-focus-card { position:absolute; z-index:4; top:20px; right:20px; min-width:330px; display:grid; grid-template-columns:48px 1fr; align-items:center; gap:14px; padding:14px 20px 14px 14px; border:1px solid rgba(24,24,24,.18); border-top:5px solid var(--lime); border-radius:4px; background:#fff; color:var(--ink); box-shadow:8px 8px 0 rgba(24,24,24,.92); }
.map-focus-icon { width:48px; height:48px; display:grid; place-items:center; background:transparent; }
.map-focus-icon:before { width:92%; height:92%; }
.map-focus-card p { display:grid; gap:4px; margin:0; }.map-focus-card b { font-size:14px; line-height:1.15; letter-spacing:-.02em; }.map-focus-card small { color:#65665f; font-size:10px; line-height:1.35; }
.map-legend { position:absolute; z-index:4; left:20px; bottom:20px; min-height:46px; padding:0 17px 0 0; display:flex; align-items:center; gap:13px; border:1px solid var(--ink); border-radius:4px; background:#fff; color:var(--ink); box-shadow:6px 6px 0 rgba(24,24,24,.92); font-size:10px; font-weight:850; letter-spacing:0; }
.map-legend i { align-self:stretch; width:14px; height:auto; border-radius:0; background:var(--lime); box-shadow:none; }
.station-spotlight { position:absolute; z-index:8; left:22px; top:50%; width:min(480px,calc(100% - 44px)); max-height:calc(100% - 44px); overflow:auto; border:1px solid rgba(255,255,255,.42); border-radius:27px; background:rgba(20,20,18,.97); color:white; font-family:"Avenir Next","Helvetica Neue",Helvetica,Arial,sans-serif; box-shadow:0 35px 90px rgba(0,0,0,.42); backdrop-filter:blur(24px); scrollbar-width:thin; scrollbar-color:var(--lime) transparent; opacity:0; pointer-events:none; transform:translate3d(-42px,-50%,0) rotateY(8deg) scale(.94); transform-origin:left center; transition:opacity .32s ease,transform .55s cubic-bezier(.2,.8,.2,1); }
.station-spotlight.is-open { opacity:1; pointer-events:auto; transform:translate3d(0,-50%,0) rotateY(0) scale(1); }
.station-spotlight-close { position:sticky; z-index:12; top:14px; width:max-content; min-width:98px; height:48px; margin:14px 14px -62px auto; padding:0 8px 0 17px; border:1px solid rgba(255,255,255,.7); border-radius:999px; display:flex; align-items:center; justify-content:flex-end; gap:10px; background:rgba(20,20,18,.9); color:white; cursor:pointer; font:750 13px/1 "Avenir Next","Helvetica Neue",Arial,sans-serif; box-shadow:0 12px 32px rgba(0,0,0,.35); backdrop-filter:blur(16px); transition:background .18s ease,color .18s ease,transform .18s ease; }
.station-spotlight-close b { width:32px; height:32px; border-radius:50%; display:grid; place-items:center; background:var(--lime); color:var(--ink); font:500 25px/1 Arial,sans-serif; }
.station-spotlight-close:hover,.station-spotlight-close:focus-visible { background:var(--lime); color:var(--ink); transform:translateY(-1px); }
.station-spotlight-photo { position:relative; height:200px; overflow:hidden; background:#aaa; animation:station-card-in .6s cubic-bezier(.2,.8,.2,1) both; }
.station-spotlight-photo:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 28%,rgba(20,20,18,.9)); }
.station-spotlight-photo img { width:100%; height:100%; object-fit:cover; }
.station-spotlight-photo > span { position:absolute; z-index:2; left:24px; bottom:18px; color:var(--lime); font-size:14px; font-weight:800; letter-spacing:.06em; }
.station-spotlight-photo > small { position:absolute; z-index:2; right:18px; bottom:14px; padding:7px 10px; border:1px solid rgba(255,255,255,.3); border-radius:999px; background:rgba(18,19,16,.62); color:white; font-size:10px; font-weight:800; backdrop-filter:blur(12px); }
.station-spotlight-body { position:relative; padding:26px 28px 28px; animation:station-copy-in .5s .08s cubic-bezier(.2,.8,.2,1) both; }
.station-spotlight-body > p { margin:0 0 12px; color:var(--lime); font-size:13px; line-height:1.35; font-weight:750; letter-spacing:.04em; text-transform:none; }
.station-spotlight-body h3 { position:relative; z-index:2; max-width:72%; margin:0 0 10px; font-size:clamp(34px,2.6vw,46px); line-height:1.05; font-weight:500; letter-spacing:-.035em; }
.station-spotlight-body > small { position:relative; z-index:2; color:#dedfd8; font-size:13px; font-weight:500; line-height:1.5; }
.station-bike-stage { position:absolute; z-index:1; right:-23px; top:-15px; width:168px; height:125px; perspective:700px; pointer-events:none; }
.station-bike-stage img { width:100%; height:100%; object-fit:cover; object-position:center; border-radius:50%; mix-blend-mode:screen; filter:contrast(1.15) saturate(.9); clip-path:ellipse(46% 44% at 52% 50%); animation:bike-float 4.5s ease-in-out infinite; transform-origin:50% 80%; }
.station-local-guide { position:relative; z-index:2; margin-top:27px; padding-top:22px; border-top:1px solid #4b4c45; }
.station-local-guide > p { max-width:98%; margin:0 0 21px; color:#fff; font-size:16px; font-weight:450; line-height:1.6; }
.station-local-guide dl { margin:0; }
.station-local-guide dl > div { padding:16px 0; display:grid; grid-template-columns:112px 1fr; gap:18px; border-top:1px solid #41423c; }
.station-local-guide dt { color:#c5c6bf; font-size:11px; font-weight:700; letter-spacing:.035em; line-height:1.45; text-transform:none; }
.station-local-guide dd { margin:0; color:#fff; font-size:14px; font-weight:500; line-height:1.55; }
.station-local-guide > span { margin-top:19px; display:flex; align-items:center; gap:10px; color:var(--lime); font-size:13px; font-weight:700; letter-spacing:0; }
.station-local-guide > span i { width:7px; height:7px; border-radius:50%; background:var(--lime); box-shadow:0 0 0 4px rgba(246,233,63,.12); }
.station-social { position:relative; z-index:2; margin-top:24px; padding-top:20px; border-top:1px solid #41423c; }
.station-social-head { margin-bottom:12px; display:flex; align-items:center; justify-content:space-between; gap:14px; }
.station-social-head > div { display:flex; align-items:center; gap:10px; }
.station-social-head > div > span { width:32px; height:32px; border:1px solid #55574f; border-radius:10px; display:grid; place-items:center; color:var(--lime); font-size:19px; }
.station-social-head p { margin:0; display:grid; gap:2px; }
.station-social-head b { color:#fff; font-size:13px; line-height:1.2; }
.station-social-head small { color:#aaa; font-size:10px; }
.station-social-head > a { color:var(--lime); font-size:10px; font-weight:750; white-space:nowrap; }
.station-social-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; }
.station-social-grid.is-single { grid-template-columns:1fr; }
.station-social-grid.is-single a { aspect-ratio:16/8; }
.station-social-grid a { position:relative; aspect-ratio:1; overflow:hidden; border-radius:12px; background:#333; }
.station-social-grid img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease,filter .35s ease; }
.station-social-grid a:nth-child(1) img { object-position:center; }
.station-social-grid a:nth-child(2) img { object-position:30% center; transform:scale(1.18); }
.station-social-grid a:nth-child(3) img { object-position:72% center; transform:scale(1.12); }
.station-social-grid a > span { position:absolute; right:7px; top:7px; width:24px; height:24px; border-radius:50%; display:grid; place-items:center; background:rgba(20,20,18,.76); color:white; font-size:11px; backdrop-filter:blur(8px); }
.station-social-grid a:hover img { filter:brightness(1.08); }
.station-spotlight-actions { position:relative; z-index:2; display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:19px; }
.station-spotlight-actions a { min-height:54px; padding:0 16px; border:1px solid #5b5c54; border-radius:14px; display:flex; align-items:center; justify-content:space-between; gap:10px; color:white; font-size:13px; font-weight:700; transition:background .2s ease,color .2s ease,transform .2s ease; }
.station-spotlight-actions a:last-child { border-color:var(--lime); background:var(--lime); color:var(--ink); }
.station-spotlight-actions a:hover { transform:translateY(-2px); }
.station-business-links { position:relative; z-index:2; margin-top:8px; display:grid; }
.station-business-link { min-height:48px; padding:0 3px; display:flex; align-items:center; justify-content:space-between; gap:12px; border-top:1px solid #41423c; color:#e4e5de; font-size:12px; font-weight:650; line-height:1.4; text-decoration:underline; text-decoration-color:#777870; text-underline-offset:4px; transition:color .2s ease; }
.station-business-link.is-official { color:white; }
.station-business-link:hover { color:var(--lime); }
@keyframes station-card-in { from { opacity:.35; transform:scale(1.08); } to { opacity:1; transform:scale(1); } }
@keyframes station-copy-in { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
@keyframes bike-float { 0%,100% { transform:rotateY(-9deg) rotateZ(-1deg) translateY(0); } 50% { transform:rotateY(8deg) rotateZ(1deg) translateY(-7px); } }
.location-copy { min-width:0; padding:42px 34px 30px; display:flex; flex-direction:column; color:white; }
.location-copy-head { padding-bottom:24px; }.location-copy-head > p:last-child { margin:13px 0 0; color:#8d8e87; font-size:12px; line-height:1.5; }
.station-list { margin:0; border-top:1px solid #393a35; }
.station-list button { width:100%; min-height:61px; padding:0; display:grid; grid-template-columns:32px minmax(0,1fr) auto; align-items:center; gap:10px; border:0; border-bottom:1px solid #393a35; background:transparent; color:white; cursor:pointer; text-align:left; transition:padding .2s ease,color .2s ease,background .2s ease; }
.station-list button:hover,.station-list button.is-active { padding-left:8px; color:var(--lime); background:rgba(255,255,255,.035); }
.station-list span { color:var(--lime); font-size:9px; font-weight:900; }.station-list b { overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }.station-list button > span:last-child { font-size:14px; }
.location-cta { width:100%; min-height:72px; margin-top:26px; padding:12px 16px 12px 19px; justify-content:space-between; border-radius:17px; }
.location-cta > span:first-child { display:grid; gap:4px; text-align:left; }.location-cta b { font-size:12px; }.location-cta small { font-size:9px; font-weight:750; opacity:.64; }
.station-directory { width:100%; margin-top:14px; border-top:1px solid #383a33; }
.station-directory summary { min-height:58px; display:flex; align-items:center; justify-content:space-between; gap:20px; color:white; cursor:pointer; list-style:none; font-size:12px; font-weight:900; }
.station-directory summary::-webkit-details-marker { display:none; }
.station-directory summary span { width:28px; height:28px; border-radius:50%; background:var(--lime); color:var(--ink); display:grid; place-items:center; font-size:18px; transition:rotate .2s ease; }
.station-directory[open] summary span { rotate:45deg; }
.station-directory > div { max-height:390px; overflow:auto; padding-right:6px; border-top:1px solid #383a33; scrollbar-color:var(--lime) #2d2e29; }
.station-directory button { width:100%; min-height:48px; padding:0; display:grid; grid-template-columns:28px 1fr auto; align-items:center; gap:10px; border:0; border-bottom:1px solid #32332e; background:transparent; color:white; cursor:pointer; text-align:left; transition:color .2s ease,background .2s ease; }
.station-directory button:hover,.station-directory button.is-active { color:var(--lime); background:rgba(255,255,255,.035); }
.station-directory button small { color:#777870; font-size:8px; }.station-directory button b { font-size:11px; }.station-directory button > span { font-size:13px; }

.app-conversion { margin:45px 2vw; min-height:780px; display:grid; grid-template-columns:1.15fr .85fr; overflow:hidden; border-radius:36px; background:var(--lime); box-shadow:0 30px 90px rgba(24,24,24,.14); }
.app-conversion-photo { min-height:780px; overflow:hidden; }
.app-conversion-photo img { width:100%; height:100%; object-fit:cover; object-position:center; }
.app-conversion-copy { padding:80px 5vw; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.app-conversion-copy > .app-mark { width:112px; height:74px; margin-bottom:36px; border-radius:0; background:transparent; }
.app-conversion-copy > .app-mark:before { width:100%; height:100%; background:var(--ink); }
.app-conversion-copy h2 { margin:28px 0; font-size:clamp(66px,7vw,116px); line-height:.82; letter-spacing:-.075em; }
.app-conversion-copy h2 em { font-style:normal; color:white; text-shadow:0 2px 0 rgba(24,24,24,.12); }
.app-conversion-copy > p:not(.section-label) { max-width:500px; font-size:18px; line-height:1.55; }
.app-conversion-copy .stores { margin:25px 0 18px; }
.app-conversion-copy .button { min-width:280px; }
.app-conversion-copy small { margin-top:18px; max-width:360px; font-size:10px; line-height:1.5; font-weight:800; letter-spacing:.04em; opacity:.68; }

.values { padding:150px 4vw; background:var(--lime); }
.values-heading { display:block; max-width:1050px; margin-bottom:80px; }
.values-heading .section-label { margin-bottom:30px; }
.values-heading h2 { margin:0; max-width:900px; font-size:clamp(65px,8vw,128px); line-height:.84; letter-spacing:-.075em; }
.value-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(24,24,24,.35); }
.value-grid > a { min-height:390px; padding:24px 22px; border-right:1px solid rgba(24,24,24,.25); color:var(--ink); text-decoration:none; display:flex; flex-direction:column; position:relative; transition:background .3s ease,transform .3s ease,box-shadow .3s ease; }
.value-grid > a:last-child { border-right:0; }
.value-grid > a:hover,.value-grid > a:focus-visible { background:white; transform:translateY(-8px); box-shadow:0 22px 55px rgba(24,24,24,.12); outline:none; }
.value-grid > a > span:first-child { font-size:10px; font-weight:900; }
.value-grid h3 { margin:auto 0 18px; font-size:clamp(28px,3vw,48px); letter-spacing:-.055em; }
.value-grid p { max-width:260px; color:#555719; font-size:13px; line-height:1.55; }
.value-icon { position:absolute; right:20px; top:20px; width:48px; height:48px; color:var(--ink); }
.value-link-arrow { position:absolute; right:24px; bottom:24px; width:38px; height:38px; border:1px solid rgba(24,24,24,.28); border-radius:50%; display:grid; place-items:center; font-size:18px; font-weight:500; opacity:0; transform:translate(-6px,6px); transition:opacity .25s ease,transform .25s ease,background .25s ease; }
.value-grid > a:hover .value-link-arrow,.value-grid > a:focus-visible .value-link-arrow { opacity:1; transform:none; background:var(--lime); }
.values-photo { height:min(58vw,760px); margin-top:18px; position:relative; overflow:hidden; border-radius:28px; background:var(--ink); }
.values-photo img { width:100%; height:100%; object-fit:cover; }
.values-photo:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(24,24,24,.8),transparent 65%); }
.values-photo p { position:absolute; z-index:2; left:40px; bottom:38px; color:white; max-width:600px; display:grid; gap:14px; }
.values-photo p span { color:var(--lime); font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.14em; }
.values-photo p b { font-size:clamp(28px,4vw,62px); line-height:.94; letter-spacing:-.055em; }

.about-bimba { padding:130px max(4vw,40px); display:grid; grid-template-columns:minmax(360px,.86fr) minmax(520px,1.14fr); gap:clamp(60px,7vw,130px); align-items:center; background:#fff; }
.about-bimba-photo { min-height:760px; height:min(78vw,880px); margin:0; position:relative; overflow:hidden; border-radius:30px; background:#ddd; box-shadow:0 28px 75px rgba(24,24,24,.13); }
.about-bimba-photo img { width:100%; height:100%; object-fit:cover; object-position:center; }
.about-bimba-photo:after { content:""; position:absolute; inset:55% 0 0; background:linear-gradient(transparent,rgba(10,11,9,.55)); }
.about-bimba-photo figcaption { position:absolute; z-index:1; left:28px; right:28px; bottom:26px; color:white; font-size:13px; font-weight:750; }
.about-bimba-copy { max-width:760px; }
.about-bimba-copy h2 { margin:22px 0 30px; font-size:clamp(58px,6.5vw,104px); line-height:.88; letter-spacing:-.075em; }
.about-bimba-copy > p:not(.section-label) { max-width:720px; color:#62635c; font-size:16px; line-height:1.62; }
.about-bimba-copy .about-bimba-lead { color:var(--ink)!important; font-size:21px!important; font-weight:700; line-height:1.45!important; }
.about-bimba-stats { margin:42px 0 34px; padding:30px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.about-bimba-stats div { display:grid; grid-template-columns:auto 1fr; align-items:center; column-gap:10px; }
.about-bimba-stats span { grid-row:1/3; width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:var(--lime); font-size:14px; }
.about-bimba-stats b { font-size:29px; line-height:1; }
.about-bimba-stats small { margin-top:5px; color:#777970; font-size:10px; line-height:1.25; }
.about-bimba-actions { display:flex; flex-wrap:wrap; gap:10px; }
.about-bimba-actions .button { min-width:0; min-height:52px; padding:0 20px; }

.local-answer { display:grid; grid-template-columns:1.05fr .95fr; background:#f1f1ed; min-height:880px; border-radius:42px; margin:45px 2vw; overflow:hidden; }
.local-photo { min-height:880px; overflow:hidden; }
.local-photo img { width:100%; height:100%; object-fit:cover; }
.local-copy { padding:110px 5vw; display:flex; flex-direction:column; align-items:flex-start; }
.local-copy h2 { margin:34px 0; max-width:720px; font-size:clamp(48px,5.7vw,92px); line-height:.88; letter-spacing:-.07em; }
.local-copy > p { max-width:670px; color:#62635c; line-height:1.65; }
.local-copy .answer-lead { color:var(--ink); font-size:20px; font-weight:700; line-height:1.45; }
.local-copy dl { width:100%; margin:35px 0 45px; border-top:1px solid var(--line); }
.local-copy dl div { display:grid; grid-template-columns:130px 1fr; gap:20px; padding:17px 0; border-bottom:1px solid var(--line); }
.local-copy dt { font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.12em; }
.local-copy dd { margin:0; color:#62635c; font-size:13px; }

.scooter-preview { min-height:900px; display:grid; grid-template-columns:1.08fr .92fr; background:white; overflow:hidden; }
.scooter-visual { position:relative; min-height:900px; background:var(--ink); overflow:hidden; display:grid; place-items:center; }
.scooter-visual:after { content:"Bimba in Santa Teresa"; position:absolute; left:28px; bottom:25px; color:white; font-size:11px; font-weight:750; letter-spacing:0; }
.scooter-visual > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:62% center; }
.scooter-visual:before { content:""; position:absolute; z-index:1; inset:0; background:linear-gradient(0deg,rgba(10,11,9,.7),transparent 45%); }
.scooter-photo-label { position:absolute; z-index:2; left:28px; top:28px; padding:14px 16px; border-radius:15px; background:rgba(255,255,255,.88); color:var(--ink); backdrop-filter:blur(18px); display:grid; gap:4px; }
.scooter-photo-label span { color:#72736c; font-size:8px; font-weight:900; letter-spacing:.13em; }.scooter-photo-label b { font-size:14px; }
.scooter-visual > strong { position:absolute; left:5%; top:3%; color:var(--lime); font-size:clamp(180px,28vw,450px); line-height:.8; letter-spacing:-.1em; opacity:.14; }
.scooter-orbit { position:absolute; border:1px solid rgba(246,233,63,.35); border-radius:50%; }
.orbit-one { width:78%; aspect-ratio:1; }.orbit-two { width:48%; aspect-ratio:1; }
.scooter-silhouette { width:40%; height:66%; position:relative; transform:rotate(-3deg); }
.scooter-silhouette:before { content:""; position:absolute; left:49%; top:6%; bottom:17%; width:11px; border-radius:9px; background:var(--lime); transform:rotate(-8deg); transform-origin:bottom; }
.scooter-silhouette:after { content:""; position:absolute; left:25%; right:22%; bottom:17%; height:23px; border-radius:16px 35px 10px 10px; background:white; }
.scooter-silhouette i,.scooter-silhouette b { position:absolute; bottom:5%; width:72px; aspect-ratio:1; border:13px solid white; border-radius:50%; }
.scooter-silhouette i { left:11%; }.scooter-silhouette b { right:8%; }
.scooter-silhouette span { position:absolute; left:39%; top:5%; width:38%; height:10px; background:white; border-radius:10px; transform:rotate(-4deg); }
.scooter-copy { padding:110px 5vw; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.scooter-copy h2 { margin:34px 0; font-size:clamp(54px,6.2vw,104px); line-height:.86; letter-spacing:-.075em; }
.scooter-copy > p:not(.section-label) { color:#62635c; line-height:1.65; max-width:670px; }
.scooter-copy .answer-lead { color:var(--ink)!important; font-size:20px; font-weight:700; line-height:1.45!important; }
.launch-facts { width:100%; display:grid; grid-template-columns:repeat(3,1fr); margin:35px 0 45px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.launch-facts div { min-height:90px; padding:18px 12px 18px 0; display:flex; flex-direction:column; justify-content:center; border-right:1px solid var(--line); }
.launch-facts div:last-child { border:0; padding-left:12px; }.launch-facts div:nth-child(2) { padding-left:12px; }
.launch-facts b { font-size:23px; }.launch-facts span { color:var(--grey); font-size:9px; text-transform:uppercase; letter-spacing:.1em; }
.scooter-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.scooter-actions .button { min-width:190px; }

.scooter-page { background:white; min-height:100vh; }
.scooter-nav { height:84px; padding:0 3vw; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.scooter-nav img { width:120px; }.scooter-nav .button { min-height:44px; }
.scooter-page-hero { min-height:780px; padding:110px 4vw 55px; color:white; background:var(--ink); display:grid; grid-template-columns:1fr 300px; align-items:end; gap:7vw; position:relative; overflow:hidden; }
.scooter-page-hero:after { content:""; position:absolute; width:55vw; height:55vw; right:-20vw; top:-30vw; border-radius:50%; background:var(--lime); }
.scooter-page-hero > * { position:relative; z-index:1; }
.scooter-page-hero h1 { margin:55px 0 35px; font-size:clamp(82px,10vw,170px); line-height:.78; letter-spacing:-.085em; }.scooter-page-hero h1 em { color:var(--lime); font-style:normal; }
.scooter-page-hero > div > p:last-child { max-width:650px; color:#a0a19b; font-size:18px; line-height:1.6; }
.scooter-page-hero aside { padding:24px; border-radius:20px; background:white; color:var(--ink); display:grid; gap:9px; }
.scooter-page-hero aside b { font-size:9px; text-transform:uppercase; letter-spacing:.13em; }.scooter-page-hero aside strong { font-size:24px; }.scooter-page-hero aside span { color:var(--grey); font-size:12px; }
.scooter-page-body,.scooter-faq { padding:130px 4vw; display:grid; grid-template-columns:.72fr 1.28fr; gap:8vw; }
.scooter-campaign { padding:18px 2vw 0; display:grid; grid-template-columns:1.18fr .82fr; gap:12px; background:var(--ink); }
.scooter-campaign figure { min-height:690px; position:relative; overflow:hidden; border-radius:26px; margin:0; }
.scooter-campaign img { width:100%; height:100%; object-fit:cover; }
.scooter-campaign figure:after { content:""; position:absolute; inset:45% 0 0; background:linear-gradient(transparent,rgba(0,0,0,.78)); }
.scooter-campaign figcaption { position:absolute; z-index:2; left:26px; right:26px; bottom:25px; color:white; display:grid; gap:10px; }
.scooter-campaign figcaption span { color:var(--lime); font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.14em; }
.scooter-campaign figcaption b { max-width:580px; font-size:clamp(28px,3.2vw,52px); line-height:.92; letter-spacing:-.05em; }
.scooter-page-body h2,.scooter-faq h2 { margin:35px 0; font-size:clamp(58px,7vw,110px); line-height:.85; letter-spacing:-.075em; }
.scooter-page-body ol { margin:0; padding:0; list-style:none; border-top:1px solid var(--ink); }
.scooter-page-body li { padding:25px 0; border-bottom:1px solid var(--line); display:grid; grid-template-columns:70px 1fr; gap:20px; }
.list-icon { width:48px; height:48px; color:var(--ink); }.scooter-page-body li b { font-size:24px; }.scooter-page-body li p { color:var(--grey); line-height:1.55; }
.scooter-faq { background:#f1f1ed; }

.social-reels { padding:88px 4vw 70px; overflow:hidden; background:var(--ink); color:white; }
.reels-head { display:grid; grid-template-columns:1.18fr .82fr; gap:8vw; align-items:end; margin-bottom:38px; }
.reels-head h2 { margin:20px 0 0; max-width:760px; font-size:clamp(58px,6.2vw,96px); line-height:.84; letter-spacing:-.072em; }
.reels-head h2 em { color:var(--lime); font-style:normal; }
.reels-intro { max-width:560px; justify-self:end; display:grid; justify-items:start; gap:28px; }
.reels-intro p { margin:0; max-width:470px; color:#b1b2aa; font-size:15px; line-height:1.55; }
.reels-controls { margin-bottom:14px; display:flex; justify-content:space-between; align-items:center; color:#898b83; font-size:11px; }
.reels-controls span b { color:var(--lime); margin-right:7px; }
.reels-controls > div { display:flex; gap:7px; }
.reels-controls button { width:40px; height:40px; border:1px solid #44463f; border-radius:50%; background:#242520; color:white; cursor:pointer; font-size:18px; transition:background .2s,color .2s,transform .2s; }
.reels-controls button:hover { background:var(--lime); color:var(--ink); transform:scale(1.06); }
.reels-rail { display:flex; gap:14px; overflow-x:auto; padding:2px 0 35px; scroll-snap-type:x mandatory; scrollbar-width:none; overscroll-behavior-inline:contain; }
.reels-rail::-webkit-scrollbar { display:none; }
.reel-card { flex:0 0 calc((100% - 56px)/5); min-width:0; padding:0; border:1px solid #363832; border-radius:18px; background:#22231f; overflow:hidden; scroll-snap-align:start; transition:transform .35s cubic-bezier(.2,.7,.2,1),border-color .25s ease,box-shadow .35s ease; }
.reel-card:hover { transform:translateY(-9px); border-color:#64665b; box-shadow:0 28px 80px rgba(0,0,0,.35); }
.reel-frame { position:relative; display:block; width:100%; aspect-ratio:1; padding:0; border:0; border-radius:16px; overflow:hidden; background:linear-gradient(150deg,#3a3b35,#10110f); cursor:pointer; }
.reel-frame:after { content:""; position:absolute; inset:30% 0 0; background:linear-gradient(transparent,rgba(9,10,8,.9)); transition:opacity .3s ease; }
.reel-frame > img,.reel-frame > video { width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .75s cubic-bezier(.2,.7,.2,1),filter .35s ease; }
.reel-card.is-paused .reel-frame > video { filter:brightness(.58) saturate(.82); }
.reel-card.is-playing .reel-frame:after { opacity:.45; }
.reel-hit { position:absolute; z-index:2; inset:0; width:100%; height:100%; padding:0; border:0; background:transparent; cursor:pointer; }
.reel-sound { position:absolute; z-index:5; right:12px; top:12px; min-width:38px; height:38px; padding:0 10px; border:1px solid rgba(255,255,255,.48); border-radius:99px; background:rgba(18,19,16,.78); color:white; cursor:pointer; backdrop-filter:blur(12px); }
.reel-card:hover .reel-frame > img { transform:scale(1.045); filter:saturate(1.08); }
.reel-play { position:absolute; z-index:3; left:18px; top:18px; width:44px; height:44px; display:grid; place-items:center; border-radius:50%; border:1px solid rgba(255,255,255,.72); background:var(--lime); box-shadow:0 12px 30px rgba(0,0,0,.3); transition:transform .3s cubic-bezier(.2,.7,.2,1),background .25s ease; }
.reel-play i { width:0; height:0; margin-left:3px; border-top:6px solid transparent; border-bottom:6px solid transparent; border-left:10px solid var(--ink); }
.reel-card:hover .reel-play { transform:scale(1.08); background:white; }
.reel-meta { position:absolute; z-index:3; left:16px; right:14px; bottom:15px; display:grid; gap:7px; color:white; text-align:left; }
.reel-meta small { color:var(--lime); font-size:9px; font-weight:850; }
.reel-meta strong { font-size:clamp(14px,1.05vw,18px); line-height:1.08; letter-spacing:-.035em; }
.reels-swipe { display:none; }
.reel-card.is-playing { border-color:var(--lime); transform:none; box-shadow:0 0 0 2px rgba(246,233,63,.16),0 28px 70px rgba(0,0,0,.38); }

.partner-network { padding:130px 4vw; background:#edf5f6; }
.partner-network-head { max-width:900px; margin:0 auto 62px; text-align:center; }
.partner-network-head .section-label { color:#5e6f72; }
.partner-network-head h2 { margin:22px 0 24px; font-size:clamp(58px,6.5vw,104px); line-height:.88; letter-spacing:-.068em; }
.partner-network-head > p:not(.section-label) { max-width:720px; margin:0 auto 28px; color:#657477; font-size:17px; line-height:1.6; }
.partner-network-head .button { min-width:225px; }
.partner-network-grid { max-width:1500px; margin:auto; display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.partner-network-grid > a { min-height:560px; padding:0 22px 24px; border:1px solid rgba(24,24,24,.09); border-radius:22px; display:flex; flex-direction:column; overflow:hidden; background:#fff; box-shadow:0 15px 42px rgba(41,71,76,.09); transition:transform .3s ease,box-shadow .3s ease; }
.partner-network-grid > a:hover { transform:translateY(-8px); box-shadow:0 24px 55px rgba(41,71,76,.16); }
.partner-network-grid figure { height:230px; margin:0 -22px 25px; overflow:hidden; }
.partner-network-grid img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.partner-network-grid > a:hover img { transform:scale(1.04); }
.partner-network-grid span { color:#567f87; font-size:10px; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.partner-network-grid h3 { min-height:66px; margin:10px 0 12px; font-size:24px; line-height:1.08; letter-spacing:-.035em; }
.partner-network-grid p { margin:0 0 24px; color:#69777a; font-size:13px; line-height:1.62; }
.partner-network-grid b { margin-top:auto; display:flex; justify-content:space-between; align-items:center; color:#477a83; font-size:12px; }

.editorial { padding:150px 4vw; background:white; }
.editorial-head { display:flex; justify-content:space-between; align-items:flex-end; gap:30px; margin-bottom:70px; }
.editorial h2 { margin:35px 0 0; font-size:clamp(65px,8vw,128px); line-height:.84; letter-spacing:-.075em; }
.blog-slider-controls { margin-bottom:14px; display:flex; justify-content:space-between; align-items:center; color:#777870; font-size:11px; }
.blog-slider-controls > div { display:flex; gap:7px; }
.blog-slider-controls button { width:42px; height:42px; border:1px solid var(--line); border-radius:50%; background:white; color:var(--ink); cursor:pointer; font-size:18px; transition:background .2s ease,transform .2s ease; }
.blog-slider-controls button:hover { background:var(--lime); transform:scale(1.05); }
.post-grid { display:flex; gap:12px; overflow-x:auto; padding:2px 0 34px; scroll-snap-type:x mandatory; scrollbar-width:none; overscroll-behavior-inline:contain; }
.post-grid::-webkit-scrollbar { display:none; }
.post { flex:0 0 calc((100% - 48px)/5); min-width:0; display:block; padding:9px 9px 22px; border:1px solid var(--line); border-radius:20px; background:white; scroll-snap-align:start; transition:transform .25s ease,box-shadow .25s ease; }
.post:hover { transform:translateY(-7px); box-shadow:0 20px 55px rgba(24,24,24,.1); }
.post figure { height:auto; aspect-ratio:1/.88; overflow:hidden; border-radius:14px; margin:0 0 16px; background:#eee; }
.post > span,.post h3,.post > b { margin-left:10px; margin-right:10px; }
.post img { height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.2,.7,.2,1); }
.post:hover img { transform:scale(1.025); }
.post > span { display:block; font-size:9px; text-transform:uppercase; letter-spacing:.12em; color:var(--grey); }
.post h3 { min-height:82px; margin:14px 10px 20px; font-size:clamp(17px,1.25vw,22px); line-height:1.08; letter-spacing:-.038em; }
.post b { font-size:11px; }
.blog-all-wrap { margin-top:18px; display:flex; justify-content:center; }
.blog-all-wrap .button { min-width:210px; }

.safety { display:grid; grid-template-columns:1fr 1fr; background:white; padding:120px 3vw; gap:0; }
.safety-photo { border-radius:24px 0 0 24px; overflow:hidden; }
.safety-copy { border-radius:0 24px 24px 0; background:#f4f4f4; }
.safety-photo { min-height:800px; }.safety-photo img { height:100%; object-fit:cover; }
.safety-copy { padding:120px 6vw; display:flex; flex-direction:column; }.safety h2 { margin:35px 0; }.safety-copy > p:not(.section-label) { color:#5f6058; font-size:17px; line-height:1.65; }
.rules { margin-top:auto; display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); }.rules span { min-height:70px; display:flex; align-items:center; border-bottom:1px solid var(--line); font-size:12px; font-weight:900; }.rules span:nth-child(odd) { border-right:1px solid var(--line); }

.guide { padding:140px 4vw; background:var(--lime); }.guide h2 { margin:35px 0 65px; }
.guide-grid { margin-left:34%; display:grid; grid-template-columns:1.15fr 1fr; border-top:1px solid rgba(0,0,0,.3); }
.guide-grid > * { min-height:96px; padding:20px; border-bottom:1px solid rgba(0,0,0,.25); }
.guide-grid > p { grid-row:span 3; font-size:20px; line-height:1.55; padding-left:0; padding-right:7vw; border-right:1px solid rgba(0,0,0,.25); }
.guide-grid div { display:grid; gap:7px; }.guide-grid b { font-size:10px; text-transform:uppercase; letter-spacing:.12em; }.guide-grid span { font-size:13px; color:#555719; }

.faq { padding:140px 4vw; display:grid; grid-template-columns:.72fr 1.28fr; gap:9vw; background:#f4f4f0; }.faq h2 { margin:35px 0; }
.faq-list { border-top:1px solid var(--ink); }.faq details { padding:25px 0; border-bottom:1px solid var(--line); }.faq summary { cursor:pointer; list-style:none; padding:6px 45px 6px 0; position:relative; font-size:18px; line-height:1.35; font-weight:900; }.faq summary:after { content:"+"; position:absolute; right:8px; top:0; font-size:28px; font-weight:400; }.faq details[open] summary:after { content:"−"; }.faq details p { max-width:650px; padding:15px 45px 0 0; color:#5d5e58; line-height:1.7; font-size:15px; margin-bottom:0; }

.download { min-height:780px; display:grid; grid-template-columns:.83fr 1.17fr; background:var(--lime); margin:0 2vw 2vw; border-radius:28px; overflow:hidden; }
.download-copy { padding:100px 4vw; display:flex; flex-direction:column; align-items:flex-start; }.download h2 { margin:35px 0; }.download-copy > p:not(.section-label) { font-size:18px; }.download .stores { margin-top:auto; }
.download > img { height:100%; object-fit:cover; object-position:center; }
.download-all { margin-top:20px; padding-bottom:5px; border-bottom:1px solid var(--ink); font-size:11px; font-weight:900; }

.app-page { min-height:100vh; background:white; }
.app-page-hero { min-height:calc(100vh - 84px); display:grid; grid-template-columns:.9fr 1.1fr; background:var(--ink); color:white; }
.app-page-copy { padding:100px 4vw 65px; display:flex; flex-direction:column; align-items:flex-start; }
.app-page-copy h1 { margin:60px 0 35px; font-size:clamp(78px,9vw,155px); line-height:.78; letter-spacing:-.085em; }
.app-page-copy h1 em { color:var(--lime); font-style:normal; }
.app-page-copy > p:last-of-type { max-width:600px; color:#a0a19b; font-size:17px; line-height:1.65; }
.app-choice { width:100%; margin-top:auto; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.app-choice a { min-height:170px; padding:20px; border:1px solid #383a33; border-radius:20px; display:flex; flex-direction:column; align-items:flex-start; transition:background .25s,color .25s; }
.app-choice a:hover { background:var(--lime); color:var(--ink); }.app-choice a:hover span { color:#555719; }
.app-choice span { color:#85867f; font-size:9px; text-transform:uppercase; letter-spacing:.12em; }
.app-choice b { margin:9px 0 auto; font-size:20px; line-height:1.05; }
.app-choice img { width:auto; height:40px; }
.app-page-hero figure { margin:0; position:relative; min-height:760px; overflow:hidden; }
.app-page-hero figure img { width:100%; height:100%; object-fit:cover; }
.app-page-hero figure:after { content:""; position:absolute; inset:65% 0 0; background:linear-gradient(transparent,rgba(0,0,0,.72)); }
.app-page-hero figcaption { position:absolute; z-index:2; left:25px; bottom:25px; font-size:9px; text-transform:uppercase; letter-spacing:.13em; }
.app-page-steps { display:grid; grid-template-columns:repeat(4,1fr); background:var(--lime); padding:80px 4vw; }
.app-page-steps article { min-height:260px; padding:20px; border-top:1px solid rgba(24,24,24,.45); border-right:1px solid rgba(24,24,24,.25); display:flex; flex-direction:column; }
.app-page-steps article:last-child { border-right:0; }.app-page-steps span { font-size:9px; }.app-step-icon { width:58px; height:58px; margin:auto 0 24px; }.app-page-steps b { margin:0 0 12px; font-size:35px; letter-spacing:-.05em; }.app-page-steps p { max-width:250px; color:#555719; font-size:12px; line-height:1.55; }

footer { background:var(--ink); color:white; padding:80px 4vw 28px; }
.footer-brand { padding-bottom:56px; border-bottom:1px solid #373832; display:flex; justify-content:space-between; align-items:end; gap:60px; }.footer-brand > div { display:grid; gap:24px; }.footer-brand img { display:block; width:170px !important; height:auto !important; max-width:170px !important; max-height:50px !important; aspect-ratio:2560/738; object-fit:contain; filter:brightness(0) invert(1); }.footer-brand p { max-width:580px; color:#a7a8a1; font-size:17px; font-weight:500; line-height:1.55; margin:0; }
.footer-app-link { min-height:58px; min-width:250px; padding:0 22px; border-radius:99px; background:var(--lime); color:var(--ink); display:flex; justify-content:space-between; align-items:center; gap:30px; font-size:13px; font-weight:900; transition:transform .2s ease,box-shadow .2s ease; }.footer-app-link:hover { transform:translateY(-3px); box-shadow:0 16px 40px rgba(246,233,63,.18); }
.footer-links { display:grid; grid-template-columns:1.05fr 1.25fr 1fr .8fr; gap:clamp(35px,6vw,100px); padding:55px 0 74px; }.footer-links div { align-content:start; display:grid; gap:13px; font-size:13px; }.footer-links b { color:var(--lime); font-size:11px; text-transform:uppercase; letter-spacing:.15em; margin-bottom:10px; }.footer-links a { width:max-content; max-width:100%; color:#aaa; line-height:1.35; transition:color .18s ease,transform .18s ease; }.footer-links a:hover { color:white; transform:translateX(3px); }
.footer-bottom { padding-top:24px; border-top:1px solid #373832; display:flex; justify-content:space-between; color:#64655f; font-size:9px; letter-spacing:.11em; text-transform:uppercase; }

/* Scroll experience */
.scroll-progress { position:fixed; z-index:60; left:0; right:0; top:0; height:4px; background:var(--lime); transform:scaleX(var(--scroll-progress,0)); transform-origin:left center; pointer-events:none; box-shadow:0 0 18px rgba(246,233,63,.5); }
/* Quiet, natural microcopy instead of template-like uppercase labels. */
.hero-facts span,
.mobility-switch > p,
.mobility-switch b,
.live-card-top,
.network-proof span,
.how-photo figcaption span,
.bike-badge span,
.values-photo p span,
.local-copy dt,
.scooter-photo-label span,
.launch-facts span,
.scooter-page-hero aside b,
.scooter-campaign figcaption span,
.post > span,
.guide-grid b,
.app-choice span,
.app-page-hero figcaption,
.footer-links b,
.footer-bottom {
  text-transform:none;
  letter-spacing:0;
}
.scroll-cue,.story-index { display:none; }
.footer-bottom { font-size:10px; line-height:1.5; }

.motion-ready .reveal-target { opacity:0; translate:0 38px; filter:blur(7px); transition:opacity .75s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms),translate .85s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms),filter .7s ease var(--reveal-delay,0ms); }
.motion-ready .reveal-target.is-visible { opacity:1; translate:0 0; filter:blur(0); }
.motion-ready :is(.hero-photo img,.how-photo img,.values-photo img,.local-photo img,.story-band>img,.download>img,.app-page-hero figure img) { translate:0 var(--parallax-y,0); scale:1.045; will-change:translate; transition:translate .12s linear; }
.motion-ready .tilt-card { --tilt-x:0deg; --tilt-y:0deg; --lift:0px; transform:perspective(1100px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateY(var(--lift)); transform-style:preserve-3d; will-change:transform; transition:transform .18s ease,box-shadow .3s ease,background .3s ease; }
.motion-ready .tilt-card:hover { --lift:-8px; }
.motion-ready .tilt-card > :is(h3,b,.step-icon,.value-icon) { transform:translateZ(18px); }
.hero-copy { transform-style:preserve-3d; }
.hero-copy h1 { text-shadow:0 18px 45px rgba(0,0,0,.22); }
.hero-copy h1 em { display:block; animation:heroFloat 5s ease-in-out infinite; }
.mini-pin { animation:pinFloat 3.2s ease-in-out infinite; }.mini-b { animation-delay:-1.1s; }.mini-c { animation-delay:-2.2s; }
.scooter-orbit { animation:orbitPulse 6s ease-in-out infinite; }.orbit-two { animation-delay:-3s; }
@keyframes heroFloat { 0%,100% { translate:0 0; } 50% { translate:0 -7px; } }
@keyframes pinFloat { 0%,100% { margin-top:0; } 50% { margin-top:-8px; } }
@keyframes orbitPulse { 0%,100% { scale:1; opacity:.45; } 50% { scale:1.08; opacity:.8; } }

@media (max-width:900px) {
  .topbar { grid-template-columns:1fr auto auto; }.topbar nav { display:none; }
  .mobile-menu { display:block; position:relative; }
  .mobile-menu > summary { width:44px; height:44px; padding:0 11px; display:grid; align-content:center; gap:4px; cursor:pointer; list-style:none; border-radius:50%; background:rgba(24,24,24,.06); }
  .mobile-menu > summary::-webkit-details-marker { display:none; }
  .mobile-menu > summary span { height:2px; border-radius:2px; background:var(--ink); transition:transform .2s ease,opacity .2s ease; }
  .mobile-menu[open] > summary span:nth-child(1) { transform:translateY(6px) rotate(45deg); }
  .mobile-menu[open] > summary span:nth-child(2) { opacity:0; }
  .mobile-menu[open] > summary span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }
  .mobile-menu-panel { position:absolute; top:calc(100% + 12px); right:0; width:min(360px,calc(100vw - 28px)); max-height:calc(100svh - 105px); overflow:auto; padding:18px; display:grid; gap:3px; background:#fff; border:1px solid rgba(24,24,24,.1); border-radius:18px; box-shadow:0 24px 60px rgba(0,0,0,.24); }
  .mobile-menu-panel b { padding:8px 12px 5px; font-size:11px; color:#777; }
  .mobile-menu-panel a { min-height:44px; padding:11px 12px; display:flex; align-items:center; border-radius:10px; font-size:13px; font-weight:800; line-height:1.3; }
  .mobile-menu-panel a:hover { background:rgba(24,24,24,.06); }
  .mobile-menu-panel hr { width:100%; margin:9px 0; border:0; border-top:1px solid var(--line); }
  .answer-band { grid-template-columns:70px 1fr; }.answer-band-mark { width:66px; height:66px; border-radius:20px; }.answer-band-mark .app-mark { width:44px; height:44px; }.answer-band-copy { grid-template-columns:1fr; gap:14px; }.answer-band-copy .section-label,.answer-band-copy h2,.answer-band-copy > p:last-child { grid-column:1; grid-row:auto; }.answer-band-link { grid-column:2; justify-self:start; }
  .hero,.vehicle,.locations,.safety,.download,.app-conversion { grid-template-columns:1fr; }
  .locations-head { grid-template-columns:1fr; gap:34px; }.locations-intro { max-width:720px; justify-self:start; }
  .locations-main { grid-template-columns:1fr; }.map { min-height:620px; }.location-copy { padding:46px 34px 34px; }
  .hero { min-height:100svh; }.hero-copy { padding:150px 28px 35px; }.hero-photo { min-height:720px; }
  .intro { min-height:0; grid-template-columns:1fr; gap:55px; }.intro-copy { margin-left:18%; }.intro-unlock-photo { height:72vw; min-height:520px; }.steps { margin-left:0; }
  .bike-stage { min-height:720px; }.map { min-height:650px; }
  .app-conversion-photo { min-height:680px; }
  .safety-photo { min-height:650px; }.download > img { max-height:760px; }
  .value-grid { grid-template-columns:1fr 1fr; }.value-grid > a:nth-child(2) { border-right:0; }
  .about-bimba { grid-template-columns:1fr; }.about-bimba-photo { width:min(100%,720px); justify-self:center; }.about-bimba-copy { max-width:820px; justify-self:center; }
  .local-answer { grid-template-columns:1fr; }.local-photo { min-height:700px; }.local-copy { padding:100px 5vw; }
  .scooter-preview { grid-template-columns:1fr; }.scooter-visual { min-height:700px; }.scooter-page-hero { grid-template-columns:1fr; }
  .reels-head { grid-template-columns:1fr; gap:34px; }.reels-intro { max-width:720px; justify-self:start; }
  .reels-rail { margin-right:-4vw; padding-right:4vw; }.reel-card { flex-basis:calc((100% - 28px)/3); }
  .post { flex-basis:calc((100% - 24px)/3); }
  .scooter-campaign { grid-template-columns:1fr; }.scooter-campaign figure { min-height:720px; }
  .app-page-hero { grid-template-columns:1fr; }.app-page-hero figure { min-height:720px; }.app-page-steps { grid-template-columns:1fr 1fr; }
  .app-strip { grid-template-columns:1fr auto; }.network-proof { grid-column:1/-1; grid-row:2; border:0; border-top:1px solid #393a35; padding-top:18px; }
  .post-hero-download { grid-template-columns:1fr 1fr; padding:70px 5vw; gap:3vw; }
  .partner-network-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:620px) {
  .topbar { height:60px; top:10px; left:10px; right:10px; padding:0 10px 0 14px; border-radius:14px; grid-template-columns:1fr auto; gap:10px; }.topbar .button { min-height:40px; min-width:0; }.logo { min-height:44px; padding:0; }.logo img { width:104px; }
  .topbar .button { display:none; }
  .mobile-ride-dock { position:fixed; z-index:40; left:10px; right:10px; bottom:10px; min-height:68px; padding:8px 12px 8px 8px; border:1px solid rgba(255,255,255,.72); border-radius:18px; background:rgba(24,24,24,.93); color:white; box-shadow:0 18px 55px rgba(0,0,0,.32); backdrop-filter:blur(22px); display:grid; grid-template-columns:48px 1fr auto; align-items:center; gap:11px; }
  .mobile-ride-dock .app-mark { width:48px; height:48px; border-radius:13px; font-size:29px; }.mobile-ride-dock > span:nth-child(2) { display:grid; gap:2px; }.mobile-ride-dock b { font-size:13px; }.mobile-ride-dock small { color:#9b9c95; font-size:10px; }.mobile-ride-dock > span:last-child { color:var(--lime); font-size:19px; }
  .hero { min-height:0; display:flex; flex-direction:column; background:#181818; }.hero-copy { position:relative; inset:auto; order:1; width:100%; max-width:100%; padding:112px 20px 42px; background:#181818; }.hero-copy:after { display:none; }.hero-copy > * { max-width:calc(100vw - 40px); }.hero h1 { width:calc(100vw - 40px); font-size:clamp(48px,14vw,56px); line-height:.81; letter-spacing:-.065em; margin:20px 0 26px; overflow-wrap:normal; word-break:normal; }.hero h1 .hero-title-service { font-size:.58em; white-space:nowrap; }.hero h1 .hero-title-action { font-size:.76em; }.motion-ready .hero-copy h1 em { display:block; animation:none; }.hero-support { width:calc(100vw - 40px); padding-left:14px; }.hero-subtitle { font-size:17px; }.hero-text { font-size:14px; }.hero-actions { width:calc(100vw - 40px); align-items:stretch; flex-direction:column; }.hero-actions .button { width:100%; min-width:0; }.hero-facts { width:calc(100vw - 40px); }.hero-facts div { min-width:0; min-height:100px; padding-right:8px; }.hero-facts div:nth-child(2),.hero-facts div:nth-child(3) { padding-left:9px; }.hero-facts b { max-width:100%; font-size:11px; overflow-wrap:anywhere; }.hero-fact-icon { width:25px; height:25px; }
  .hero-photo { position:relative; inset:auto; order:2; width:100%; height:128vw; min-height:500px; max-height:640px; background:#181818; }.hero-photo img { width:100%; height:100%; object-fit:cover; object-position:center 54%; }.live-card { display:none; }.hero-photo figcaption,.scroll-cue { display:none; }.mobility-switch { top:82px; left:20px; right:20px; width:auto; }.mobility-switch > p { display:none; }.mobility-switch div { min-height:76px; }
  .answer-band { padding:48px 20px; grid-template-columns:52px 1fr; gap:18px; }.answer-band-mark { width:52px; height:52px; border-radius:16px; }.answer-band-mark .app-mark { width:34px; height:34px; }.answer-band-copy { gap:11px; }.answer-band-copy h2 { font-size:39px; }.answer-band-copy > p:last-child { font-size:16px; line-height:1.55; }.answer-band-link { grid-column:1/-1; width:100%; }
  .app-strip { grid-template-columns:1fr; align-items:start; padding:28px 20px; }.app-strip > .stores { grid-row:3; }.network-proof { grid-column:auto; grid-row:auto; width:100%; overflow:auto; }.network-proof p { min-width:100px; padding:14px 12px; }.stores { flex-wrap:wrap; }.stores a { height:42px; }
  .post-hero-download { min-height:0; padding:85px 20px 65px; grid-template-columns:1fr; gap:45px; text-align:left; }.post-hero-download-copy h2 { font-size:58px; }.post-hero-download-copy > p:not(.section-label) { font-size:15px; }.post-hero-download-copy .stores { flex-wrap:nowrap; }.post-hero-download-copy .stores a { height:auto; flex:1; }.post-hero-download-copy .stores img { width:100%; height:auto; }.bimba-phone-stage { min-height:560px; }.phone-caption { right:0; bottom:5%; min-width:190px; }
  .intro,.how,.moments,.guide,.faq,.values,.editorial,.social-reels,.partner-network { padding:90px 20px; }
  .intro h2,.how h2,.vehicle h2,.moments h2,.locations h2,.safety h2,.guide h2,.faq h2,.download h2 { font-size:56px; }
  .intro { min-height:0; padding:90px 20px; border-radius:0 0 28px 28px; gap:42px; }.intro-copy { margin-left:0; font-size:16px; }.intro-unlock-photo { height:112vw; min-height:420px; border-radius:20px; }.intro-unlock-photo figcaption { left:18px; right:18px; bottom:18px; }.intro-unlock-photo figcaption b { font-size:14px; }.how-heading,.moments-head { grid-template-columns:1fr; gap:30px; }
  .steps { display:flex; gap:12px; margin-right:-20px; padding:2px 20px 18px 0; overflow-x:auto; scroll-snap-type:x mandatory; overscroll-behavior-inline:contain; scrollbar-width:none; }
  .steps::-webkit-scrollbar { display:none; }
  .steps article { flex:0 0 84%; min-height:330px; border:1px solid var(--line); scroll-snap-align:start; scroll-snap-stop:always; }
  .vehicle-copy,.location-copy,.safety-copy,.download-copy { padding:90px 20px; }.bike-stage { min-height:500px; }.bike-stage img { width:112%; }.bike-badge { width:95px; right:3%; }.bike-badge b { font-size:23px; }
  .moment-grid { display:flex; gap:12px; margin-right:-20px; padding-right:20px; overflow-x:auto; scroll-snap-type:x mandatory; overscroll-behavior-inline:contain; scrollbar-width:none; }
  .moment-grid::-webkit-scrollbar { display:none; }
  .moment-grid figure { flex:0 0 84%; height:112vw; max-height:560px; scroll-snap-align:start; scroll-snap-stop:always; }.moment-main { grid-column:auto; }
  .locations { margin:25px 10px 0; padding:64px 10px 10px; border-radius:24px; }.locations-head { padding:0 10px; margin-bottom:38px; }.locations-head h2 { font-size:58px; }.locations-intro > p { font-size:15px; }.location-facts { display:grid; grid-template-columns:1fr; }.location-facts span { width:100%; }.locations-main { border-radius:20px; }.map { min-height:118vw; max-height:620px; }.map-focus-card { top:12px; right:12px; left:12px; min-width:0; grid-template-columns:40px 1fr; padding:11px 13px 11px 10px; box-shadow:5px 5px 0 rgba(24,24,24,.92); }.map-focus-icon { width:40px; height:40px; }.map-focus-card b { font-size:12px; }.map-focus-card small { font-size:9px; }.map-legend { left:12px; bottom:12px; max-width:calc(100% - 24px); box-shadow:4px 4px 0 rgba(24,24,24,.92); }.location-copy { padding:42px 20px 24px; }.station-list a { min-height:64px; }
  .partner-logo-slider { margin:28px 10px 0; padding-bottom:26px; }.partner-logo-slider > header { align-items:flex-start; }.partner-logo-slider header > div:first-child > p:last-child { max-width:210px; }.partner-logo-controls button { width:42px; height:42px; }.partner-logo-card { flex-basis:72vw; }
  .station-spotlight { left:10px; width:calc(100% - 20px); max-height:calc(100% - 20px); border-radius:20px; overscroll-behavior:contain; }
  .station-spotlight-photo { height:165px; }
  .station-spotlight-body { padding:22px 20px 24px; }
  .station-spotlight-body h3 { max-width:68%; font-size:32px; }
  .station-bike-stage { right:-35px; width:150px; }
  .station-local-guide > p { font-size:15px; }
  .station-local-guide dl > div { grid-template-columns:1fr; gap:6px; }
  .station-local-guide dt { font-size:12px; color:#d7d8d0; }
  .station-local-guide dd { font-size:14px; }
  .station-spotlight-actions { grid-template-columns:1fr; }
  .station-spotlight-actions a { font-size:14px; }
  .station-business-link { font-size:13px; }
  .safety { padding:90px 10px; }.safety-photo { min-height:570px; border-radius:20px 20px 0 0; }.safety-copy { border-radius:0 0 20px 20px; }.rules { margin-top:50px; }
  .guide-grid { margin-left:0; grid-template-columns:1fr; }.guide-grid > p { grid-row:auto; border-right:0; padding-right:0; }
  .faq { grid-template-columns:1fr; }.download { min-height:0; margin:0 10px 10px; border-radius:20px; }.download-copy { min-height:650px; }.download > img { min-height:560px; }
  .app-conversion { min-height:0; margin:24px 10px; border-radius:22px; }.app-conversion-photo { min-height:112vw; }.app-conversion-copy { padding:65px 20px; }.app-conversion-copy h2 { font-size:58px; }.app-conversion-copy .button { width:100%; min-width:0; }
  .values-heading { grid-template-columns:1fr; gap:30px; margin-bottom:50px; }
  .values-heading h2,.editorial h2 { font-size:56px; }
  .value-grid { display:flex; gap:12px; margin-right:-20px; padding:2px 20px 18px 0; overflow-x:auto; border-top:0; scroll-snap-type:x mandatory; overscroll-behavior-inline:contain; scrollbar-width:none; }
  .value-grid::-webkit-scrollbar { display:none; }
  .value-grid > a { flex:0 0 82%; min-height:310px; border:1px solid rgba(24,24,24,.2); border-radius:20px; background:rgba(255,255,255,.22); scroll-snap-align:start; scroll-snap-stop:always; }.value-link-arrow { opacity:1; transform:none; }
  .how-actions { display:grid; grid-template-columns:1fr; }.how-actions .button { width:100%; }.how-photo { height:125vw; margin-top:70px; border-radius:20px; }.how-photo figcaption { left:20px; right:20px; bottom:20px; flex-direction:column; align-items:flex-start; }.how-photo figcaption b { margin-left:0; text-align:left; }
  .story-band { min-height:760px; height:180vw; padding:8px; margin:10px 0; }.locations + .story-eso { margin:-18px 0 0; padding-top:42px; background:linear-gradient(180deg,#f6e93f 0,#f6e93f 52px,#181816 52px); }.locations + .story-eso > img,.locations + .story-eso .story-shade { top:42px; height:calc(100% - 50px); }.locations + .story-eso::before { top:31px; width:52px; height:4px; }.story-eso + .values { margin-top:-8px; padding-top:98px; }.story-band > img,.story-shade { inset:8px; width:calc(100% - 16px); height:calc(100% - 16px); border-radius:20px; }.story-band > img { object-position:63% center; }.story-band.align-right > img { object-position:38% center; }.story-shade,.story-band.align-right .story-shade { background:linear-gradient(0deg,rgba(10,11,9,.9) 0%,rgba(10,11,9,.55) 43%,transparent 78%); }.story-copy,.story-band.align-right .story-copy { left:28px; right:28px; bottom:38px; width:auto; }.story-copy h2 { font-size:54px; }.story-index { right:25px; top:24px; bottom:auto; }.story-band.align-right .story-index { left:auto; right:25px; }
  .values-photo { height:125vw; border-radius:20px; }.values-photo p { left:20px; right:20px; bottom:20px; }
  .about-bimba { padding:90px 20px; gap:54px; }.about-bimba-photo { min-height:0; height:125vw; border-radius:20px; }.about-bimba-copy h2 { font-size:58px; }.about-bimba-copy > p:not(.section-label) { font-size:15px; }.about-bimba-copy .about-bimba-lead { font-size:18px!important; }.about-bimba-stats { grid-template-columns:1fr; gap:22px; }.about-bimba-actions { display:grid; grid-template-columns:1fr; }.about-bimba-actions .button { width:100%; }
  .local-answer { margin:25px 10px; border-radius:24px; }.local-photo { min-height:125vw; }.local-copy { padding:90px 20px; }.local-copy h2 { font-size:52px; }.local-copy dl div { grid-template-columns:1fr; gap:8px; }
  .scooter-visual { min-height:125vw; }.scooter-copy { padding:90px 20px; }.scooter-copy h2 { font-size:54px; }.launch-facts { grid-template-columns:1fr; }.launch-facts div { border-right:0; border-bottom:1px solid var(--line); padding-left:0!important; }.scooter-actions { width:100%; display:grid; grid-template-columns:1fr; }.scooter-actions .button { width:100%; min-width:0; }
  .reels-head { margin-bottom:34px; }.reels-head h2 { font-size:52px; }.reels-intro p { font-size:15px; }.reels-intro .button { width:100%; min-width:0; }.reels-controls > span { display:none; }.reels-controls { justify-content:flex-end; }.reels-rail { margin-right:-20px; padding-right:20px; gap:10px; }.reel-card { flex-basis:64vw; max-width:250px; border-radius:17px; }.reel-frame { border-radius:16px; }.reel-meta strong { font-size:15px; }.reels-swipe { margin:8px 0 0; display:flex; justify-content:space-between; color:#85877e; font-size:11px; }.reels-swipe span { color:var(--lime); font-size:18px; }.reel-modal { padding:8px; }.reel-player { width:100%; height:calc(100svh - 16px); border-radius:22px; }
  .scooter-campaign { padding:10px; gap:10px; }.scooter-campaign figure { min-height:125vw; border-radius:20px; }.scooter-campaign figcaption { left:20px; right:20px; bottom:20px; }
  .scooter-page-hero { min-height:760px; padding:90px 20px 40px; }.scooter-page-hero h1 { font-size:68px; }.scooter-page-body,.scooter-faq { padding:90px 20px; grid-template-columns:1fr; }.scooter-page-body h2,.scooter-faq h2 { font-size:56px; }
  .hero-copy > .stores { display:none; }
  .app-page-copy { padding:90px 20px 45px; min-height:760px; }.app-page-copy h1 { font-size:68px; margin-top:45px; }.app-choice { grid-template-columns:1fr; }.app-choice a { min-height:140px; }
  .app-page-hero figure { min-height:125vw; }.app-page-steps { grid-template-columns:1fr; padding:70px 20px; }.app-page-steps article { min-height:220px; border-right:0; border-bottom:1px solid rgba(24,24,24,.25); }
  .editorial-head { align-items:flex-start; flex-direction:column; }
  .partner-network-head { margin-bottom:42px; text-align:left; }.partner-network-head h2 { font-size:54px; }.partner-network-head > p:not(.section-label) { margin-left:0; font-size:15px; }.partner-network-head .button { width:100%; }
  .partner-network-grid { display:flex; gap:12px; margin-right:-20px; padding:2px 20px 22px 0; overflow-x:auto; scroll-snap-type:x mandatory; overscroll-behavior-inline:contain; scrollbar-width:none; }
  .partner-network-grid::-webkit-scrollbar { display:none; }
  .partner-network-grid > a { flex:0 0 84%; min-height:520px; scroll-snap-align:start; scroll-snap-stop:always; }.partner-network-grid figure { height:240px; }
  .post-grid { margin-right:-20px; padding-right:20px; gap:10px; }.post { flex-basis:78%; }.post figure { aspect-ratio:1/.82; }.post h3 { min-height:70px; }.blog-all-wrap .button { width:100%; }
  .footer-brand { align-items:flex-start; flex-direction:column; gap:30px; }.footer-brand p { font-size:15px; }.footer-app-link { width:100%; min-width:0; }.footer-links { grid-template-columns:1fr 1fr; gap:45px 25px; }.footer-links a { width:auto; min-height:30px; }.footer-bottom { flex-direction:column; gap:12px; }
  footer { padding-bottom:115px; }
}
@media (max-width:380px) {
  .hero h1 { font-size:37px; }
  .hero-facts { grid-template-columns:1fr; margin-top:45px; }
  .hero-facts div,.hero-facts div:nth-child(2),.hero-facts div:nth-child(3) { min-height:74px; padding:12px 0; border-right:0; border-bottom:1px solid rgba(255,255,255,.15); display:grid; grid-template-columns:30px 1fr; align-items:center; }
  .hero-facts div:last-child { border-bottom:0; }.hero-facts b { font-size:13px; }.hero { min-height:1120px; }
  .footer-links { grid-template-columns:1fr; }
}
@media (pointer:coarse) {
  .footer-links a,.station-list a,.text-link { min-height:44px; display:flex; align-items:center; }
  .reels-controls button,.map-zoom-control button { min-width:44px; min-height:44px; }
}
@media (prefers-reduced-motion:reduce) {
  * { scroll-behavior:auto!important; transition:none!important; animation:none!important; }
  .scroll-progress { display:none; }
}
