@font-face{font-family:Manrope;src:url('../fonts/manrope-latin.woff2') format('woff2');font-weight:400 800;font-display:swap}
@font-face{font-family:'DM Sans';src:url('../fonts/dm-sans-latin.woff2') format('woff2');font-weight:100 900;font-display:swap}

/* Primitives → semantic roles → component tokens (Design System). */

*{box-sizing:border-box}
html{background:var(--color-bg);scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + env(safe-area-inset-top,0px) + var(--space-4));scroll-padding-bottom:calc(var(--reading-progress-height) + env(safe-area-inset-bottom,0px) + var(--space-4))}
body{margin:0;padding-inline:env(safe-area-inset-left,0px) env(safe-area-inset-right,0px);background:var(--color-bg);color:var(--color-fg);font:16px/1.65 var(--body);-webkit-font-smoothing:antialiased;position:relative;isolation:isolate}
main,.footer-stage{position:relative;z-index:1}
a{color:inherit;text-decoration:none}
button,a,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
button{font:inherit;cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.6}
img{display:block;max-width:100%}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-family:var(--display);line-height:1.08;letter-spacing:var(--heading-tracking);font-weight:var(--heading-weight)}
h1{font-size:clamp(56px,5.7vw,84px);font-weight:650}
h2{font-size:clamp(38px,4.1vw,58px)}
h1,h2{text-wrap:balance}
h3{letter-spacing:-.025em}
p{color:var(--color-muted)}
.icon{width:22px;height:22px;flex-shrink:0}
.container{width:min(1240px,calc(100% - 96px));margin-inline:auto}
:focus-visible{outline:3px solid var(--color-link);outline-offset:5px}
.hero-stage :focus-visible,.site-header :focus-visible,.download-stage :focus-visible{outline-color:var(--color-fg)}
/* Deliberate high-contrast regions; informative cards and phone screens stay light. */
.surface-dark{--color-fg:var(--surface-highlight-fg);--color-muted:var(--surface-highlight-muted);--color-link:var(--color-brand);--color-border:var(--surface-highlight-line);--color-surface:var(--surface-highlight-bg);background:var(--surface-highlight-bg);color:var(--surface-highlight-fg)}
.surface-dark :focus-visible{outline-color:var(--color-brand)}
.surface-dark::selection,.surface-dark ::selection{background:var(--color-brand);color:var(--navy-950)}
.surface-dark .button-yellow{--button-fg:var(--navy-950)}
.surface-dark .button-yellow>.icon:last-child{background:var(--navy-950);color:var(--color-brand)}
.surface-dark .phone-screen{--color-fg:var(--navy-950);--color-muted:var(--slate-500);--color-link:var(--navy-950);--color-border:var(--map-line)}
.skip-link{position:fixed;top:12px;left:12px;z-index:100;background:var(--white);color:var(--navy-950);padding:12px 18px;border-radius:var(--radius-sm)}
.skip-link:not(:focus){width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.site-header{padding-top:env(safe-area-inset-top,0px);background:var(--header-bg);color:var(--color-fg);position:sticky;top:0;z-index:30;border-bottom:1px solid var(--color-border)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:var(--header-height);gap:var(--space-8)}
.reading-progress{position:fixed;bottom:0;inset-inline:0;width:100%;height:calc(var(--reading-progress-height) + env(safe-area-inset-bottom,0px));padding:0 max(var(--space-6),env(safe-area-inset-right,0px)) env(safe-area-inset-bottom,0px) max(var(--space-6),env(safe-area-inset-left,0px));background:transparent;z-index:40;pointer-events:none;overflow:hidden}
.footer-stage{padding-bottom:calc(var(--reading-progress-height) + env(safe-area-inset-bottom,0px))}
.reading-track{position:relative;height:100%;isolation:isolate}
.reading-track:before,.reading-fill{content:'';position:absolute;left:0;right:0;bottom:2px;height:3px;border-radius:2px;background:var(--color-border)}
.reading-fill{background:var(--color-brand);transform:scaleX(0);transform-origin:left center}
.reading-taxi{position:absolute;left:0;bottom:3px;width:var(--reading-taxi-width);height:var(--reading-taxi-height);transform:translateX(0);z-index:1}
.reading-taxi-art{position:absolute;inset:0;display:block;width:100%;height:100%}
.reading-taxi-hub{fill:var(--taxi-trim)}
.reading-taxi-spokes{fill:none;stroke:var(--taxi-rim);stroke-width:8;stroke-linecap:round}
.reading-taxi:not([data-image-ready]) .reading-taxi-wheel-spin{visibility:hidden}
.brand{flex-shrink:0}
.site-header .brand{--brand-logo-width:var(--header-logo-width);--brand-logo-height:var(--header-logo-height)}
.brand img{width:var(--brand-logo-width);height:var(--brand-logo-height);object-fit:cover;object-position:var(--brand-logo-position)}
.main-nav{display:flex;align-items:center;gap:var(--space-8);font-size:var(--text-14);font-weight:500}
.main-nav>a:not(.button){min-height:44px;display:flex;align-items:center;position:relative;color:var(--color-muted);transition:color var(--duration-press) ease}
.main-nav>a:not(.button):hover,.main-nav>a:not(.button)[aria-current="location"]{color:var(--color-fg)}
.main-nav>a:not(.button)[aria-current="location"]:after{content:'';position:absolute;bottom:3px;left:0;right:0;height:2px;background:var(--color-brand)}
.menu-toggle{display:none}
.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-6);min-height:56px;padding:10px 12px 10px 24px;border-radius:40px;border:1px solid transparent;background:var(--button-bg);color:var(--button-fg);font-weight:550;font-size:var(--text-14);transition:transform var(--duration-press) var(--ease-out),background-color var(--duration-press) ease}
.button>.icon:last-child{width:34px;height:34px;padding:8px;background:var(--color-brand);color:var(--color-fg);border-radius:50%}
.button:active{transform:scale(.97)}
.button-yellow:hover{background:var(--color-brand-hover)}
.button-yellow>.icon:last-child{background:var(--color-fg);color:var(--color-brand)}
.button-dark{--button-bg:var(--navy-950);--button-fg:var(--white)}
.button-dark:hover{background:var(--navy-900)}
.button-small{min-height:44px;padding:5px 6px 5px 18px;font-size:var(--text-13);gap:18px}
.text-link{display:inline-flex;align-items:center;gap:var(--space-3);min-height:44px;font-size:var(--text-14);font-weight:600}
.text-link>.icon{width:20px;height:20px}
.text-link:hover{text-decoration:underline;text-underline-offset:5px}
.eyebrow{font-size:var(--text-11);font-weight:750;letter-spacing:.14em;line-height:1.6;display:flex;align-items:center;gap:10px;color:var(--color-link);margin-bottom:20px}
.accent-line{width:24px;height:2px;background:var(--color-brand)}
.hero-stage{background:var(--white);color:var(--color-fg);overflow:clip}
.hero{display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:var(--space-12);min-height:720px;padding-block:var(--space-8) 40px}
.hero-copy{position:relative;z-index:2;padding-block:var(--space-8)}
.hero-copy .eyebrow{color:var(--color-muted);letter-spacing:.08em;font-size:var(--text-11)}
.hero h1{max-width:640px;font-size:clamp(60px,6vw,88px);line-height:1.08;font-weight:700;letter-spacing:var(--heading-tracking)}
.word-highlight{color:var(--color-fg);position:relative;isolation:isolate;white-space:nowrap}
.word-highlight:after{content:'';position:absolute;left:0;right:0;bottom:4px;height:17%;background:var(--color-brand-accent);z-index:-1}
.hero-description{font-size:var(--text-18);line-height:1.8;color:var(--color-muted);max-width:390px;margin-top:28px}
.hero-actions{display:flex;align-items:flex-start;flex-direction:column;gap:22px;margin-top:var(--space-8)}
.store-buttons{display:flex;flex-wrap:wrap;gap:12px;width:100%}
.store-button{display:inline-flex;align-items:center;justify-content:flex-start;gap:12px;min-height:62px;min-width:180px;max-width:100%;padding:12px 18px;border:1px solid var(--store-border);border-radius:12px;background:var(--store-bg);color:var(--store-fg);font-family:inherit;text-align:left;text-decoration:none;line-height:1.2}
.store-button-play{background:var(--store-play-bg);border-color:var(--store-play-bg);color:var(--store-play-fg);width:var(--store-play-width)}
.store-button .icon{flex-shrink:0;width:27px;height:27px}
.store-button span{display:flex;flex-direction:column;gap:5px}
.store-button small{font-size:var(--text-caption);line-height:1;font-weight:650;letter-spacing:.045em}
.store-button strong{font-family:var(--display);font-size:20px;font-weight:700;letter-spacing:-.03em}
.store-button:disabled{opacity:1;cursor:default}
a.store-button-play:hover{background:var(--store-play-hover);border-color:var(--store-play-hover)}
.store-button:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}
.surface-dark .store-button-apple{border-color:var(--store-inverse-border)}
@media(max-width:650px){.store-buttons{max-width:260px}.store-button{width:100%;flex:1 1 100%;min-width:0}}
.hero-actions .text-link{color:var(--color-fg);font-size:var(--text-13)}
.hero-actions .text-link .icon{width:17px}
.hero-footnote{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);color:var(--color-muted);font-size:var(--text-12);margin-top:32px}
.hero-footnote span{padding-left:12px;border-left:1px solid var(--color-border)}
.hero-footnote>.icon{width:16px;height:16px;color:var(--color-fg)}
.hero-visual{position:relative;height:625px;isolation:isolate}
/* Grid items may wrap content instead of imposing a min-content page width. */
.hero>*,.phone-lab>*,.benefits-layout>*,.audience-panel>*,.app-layout>*,.coop-section>*,.faq-section>*,.download-section>*{min-width:0}
.hero-orbit{position:absolute;width:490px;aspect-ratio:1;border-radius:50%;background:var(--yellow-soft);left:50%;top:110px;transform:translateX(-50%);z-index:-2}
.hero-visual-top{position:absolute;top:27px;left:0;right:0;display:flex;justify-content:space-between;font-size:var(--text-10);letter-spacing:.1em;font-weight:650;color:var(--color-muted)}
.visual-index{color:var(--color-fg);font-variant-numeric:tabular-nums}
.phone-wrap{position:absolute;top:64px;left:64%;transform:translateX(-50%) rotate(10deg);z-index:2}
.driver-phone-wrap{position:absolute;top:46px;left:34%;transform:translateX(-50%) rotate(-12deg);z-index:1}
.driver-phone{width:248px;height:500px}
.driver-taxi{position:absolute;top:35%;left:40%}.driver-taxi img{width:30px;transform:rotate(25deg)}
.phone{width:264px;height:520px;border-radius:40px;padding:7px;background:var(--navy-950);box-shadow:var(--shadow-phone);border:1px solid var(--slate-500)}
.phone-screen{position:relative;height:100%;border-radius:32px;overflow:hidden;background:var(--phone-ui-bg);color:var(--phone-ui-fg);border:2px solid var(--navy-950)}
.phone-status{position:absolute;z-index:5;top:0;left:0;right:0;height:34px;display:flex;align-items:center;justify-content:space-between;padding-inline:18px;font:650 var(--text-10) var(--body)}
.phone-notch{position:absolute;left:50%;transform:translateX(-50%);width:65px;height:15px;top:7px;border-radius:20px;background:var(--navy-950)}
.phone-map{position:absolute;inset:0;overflow:hidden}
.map-base{width:100%;height:100%;object-fit:cover}
.phone-brand{position:absolute;top:49px;left:15px;width:var(--phone-logo-width);height:var(--phone-logo-height);object-fit:cover;object-position:var(--brand-logo-position)}
.phone-profile{position:absolute;top:47px;right:13px;background:var(--white);width:32px;height:32px;border-radius:var(--radius-sm);display:grid;place-items:center}
.phone-profile .icon{width:17px;height:17px}
.demo-route{position:absolute;inset:0;width:100%;height:100%;opacity:0}
.demo-route path{fill:none;stroke:var(--map-route);stroke-width:5;stroke-linejoin:round}
.pickup-pin{position:absolute;left:25%;top:41%;background:var(--phone-ui-bg);color:var(--phone-ui-pickup);border-radius:50%;width:37px;height:37px;display:grid;place-items:center;box-shadow:0 3px 8px rgb(0 0 0 / .15)}
.pickup-pin .icon{width:24px;height:24px}
/* Shared map marker: changing width must never retain the HTML's fixed height. */
.demo-taxi,.driver-taxi img{height:auto;object-fit:contain}
.demo-taxi{position:absolute;left:65%;top:24%;width:23px;transform:rotate(90deg)}
.map-label{position:absolute;top:50%;left:13%;font-size:var(--text-8);font-weight:650;background:var(--white);padding:3px 7px;border-radius:4px;color:var(--map-muted)}
.phone-sheet{position:absolute;bottom:0;left:0;right:0;background:var(--phone-ui-bg);border-radius:22px 22px 0 0;padding:10px 18px 25px;min-height:222px}
.sheet-handle{width:31px;height:4px;border-radius:8px;background:var(--phone-ui-handle);margin:0 auto 13px}
.phone-kicker{font-size:var(--text-8);font-weight:750;letter-spacing:.09em;margin-bottom:5px;color:var(--phone-ui-muted)}
.phone-sheet h3{font-size:var(--text-23);margin-bottom:14px;line-height:1.12}
.phone-field{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--phone-ui-border)}
.phone-field .icon{width:17px;height:17px}
.phone-field small{display:block;font-size:var(--text-7);letter-spacing:.07em;color:var(--phone-ui-muted)}
.phone-field strong{display:block;font-size:var(--text-10);font-weight:600}
.phone-cta{background:var(--phone-ui-action-bg);color:var(--phone-ui-action-fg);font-size:var(--text-11);font-weight:750;border-radius:7px;margin-top:13px;min-height:33px;display:flex;align-items:center;justify-content:center;gap:var(--space-3)}
.phone-cta .icon{width:15px;height:15px}
.phone-home{position:absolute;bottom:7px;left:50%;transform:translateX(-50%);width:70px;height:3px;background:var(--navy-950);border-radius:4px}
.phone-driver{display:flex;align-items:center;gap:var(--space-2);margin-bottom:10px;font-size:var(--text-11)}
.driver-avatar{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;font:650 var(--text-11) var(--display);background:var(--phone-ui-surface);color:var(--phone-ui-muted)}
.driver-meta strong{display:block;font-size:var(--text-11)}
.driver-meta span{display:block;font-size:var(--text-9);color:var(--phone-ui-muted)}
.phone-qr{display:flex;align-items:center;gap:var(--space-3);padding:8px 0;font-size:var(--text-10)}
.phone-qr>.icon{width:47px;height:47px}
.phone-rating{display:flex;justify-content:center;gap:7px;color:var(--phone-ui-fg);margin:17px 0}
.phone-rating .icon{width:21px;fill:var(--phone-ui-action-bg)}
.benefit-strip{display:flex;justify-content:space-between;align-items:center;gap:var(--space-6);border-block:1px solid var(--color-border);padding-block:30px}
.benefit-strip span{display:flex;align-items:center;gap:11px;font-size:var(--text-14);font-weight:500;color:var(--color-muted)}
.benefit-strip .icon{color:var(--color-fg);width:22px;height:22px}
.section{padding-block:104px}
.center-heading{text-align:center;margin:0 auto 64px;max-width:740px}
.center-heading .eyebrow{justify-content:center;letter-spacing:.08em}
.center-heading>p:last-child{margin-top:24px;font-size:var(--text-16)}
.benefits-section{padding-top:0}
.benefits-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px minmax(0,1fr);align-items:stretch;gap:64px}
.benefits-column{display:grid;grid-template-rows:1fr;gap:32px;text-align:center;align-items:center}
.benefits-column article{width:100%;max-width:290px;margin-inline:auto}
.benefits-column article>.icon{width:28px;height:28px;display:block;margin:0 auto 16px}
.benefits-column h3{font-size:var(--text-22);margin-bottom:12px;text-wrap:balance;line-height:1.25}
.benefits-column p{font-size:var(--text-14);line-height:1.8;max-width:285px;margin-inline:auto;text-wrap:pretty}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-12);margin-bottom:var(--space-12)}
.section-heading>p,.heading-aside>p{font-size:var(--text-15);line-height:1.8;max-width:390px}
/* From the first styled frame, show only the real model on the normal path. */

html[data-phone-models="enabled"] #phone-lab-poster,
html[data-phone-models="enabled"] .phone-lab-view canvas{visibility:hidden}

html[data-phone-models="enabled"] .phone-lab[data-render="ready"] .phone-lab-view canvas,
html[data-phone-models="enabled"] .phone-lab[data-render="fallback"] #phone-lab-poster{visibility:visible}
.model-loading{position:absolute;inset:0;margin:0;display:grid;place-items:center;font-size:var(--text-support);text-align:center;color:var(--color-muted);pointer-events:none}
.phone-lab-view .model-loading{color:var(--color-fg)}

.phone-lab[data-render="ready"] .model-loading,
.phone-lab[data-render="fallback"] .model-loading{display:none}
.audience-section{background:var(--color-surface);border-block:0}
.audience-tabs{display:flex;gap:40px;border-bottom:1px solid var(--color-border);margin-bottom:40px}
.audience-tabs button{display:flex;align-items:center;gap:10px;min-height:56px;padding:13px 3px;color:var(--color-muted);background:none;border:0;border-bottom:3px solid transparent;font-size:var(--text-15);font-weight:600}
.audience-tabs button[aria-selected="true"]{color:var(--color-fg);border-bottom-color:var(--color-brand)}
.audience-tabs .icon{width:20px;height:20px}
.audience-panel{display:grid;grid-template-columns:1fr 1fr;gap:100px;min-height:283px}
[hidden]{display:none!important}
.audience-label{font-size:var(--text-caption);line-height:1.375;letter-spacing:.12em;color:var(--color-link);font-weight:700;display:block;margin-bottom:18px}
.audience-panel h3{font-size:var(--text-38)}
.audience-panel p{margin-top:20px;font-size:var(--text-15);max-width:405px;line-height:1.8}
.audience-panel .text-link{margin-top:18px;color:var(--color-link)}
.audience-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;justify-content:center;gap:28px}
.audience-list li{display:flex;align-items:flex-start;gap:14px}
.audience-list .icon{color:var(--color-link);width:20px;height:20px;margin-top:2px}
.audience-list strong{display:block;font-size:var(--text-16);font-weight:600}
.audience-list span{display:block;font-size:var(--text-14);color:var(--color-muted);margin-top:6px}
.app-section{background:var(--white)}
.app-layout{display:grid;grid-template-columns:1fr 1fr;gap:88px;align-items:center}
.taxi-photo{position:relative;width:100%;height:604px;border-radius:var(--radius-md);overflow:hidden;background:var(--slate-100)}
.taxi-photo img{width:100%;height:100%;object-fit:cover;object-position:62% center}
.photo-caption{position:absolute;bottom:20px;left:20px;right:20px;background:var(--navy-950);color:var(--white);font-size:var(--text-caption);line-height:1.375;letter-spacing:.07em;padding:12px 15px;border-radius:5px;text-align:center}
.app-copy .section-intro{font-size:var(--text-16);line-height:1.8;margin:24px 0 30px;max-width:410px}
.feature-row{display:flex;align-items:flex-start;gap:18px;padding-block:22px;border-top:1px solid var(--color-border)}
.feature-row>.icon{color:var(--color-link);margin-top:2px}
.feature-row h3{font-size:var(--text-23);margin-bottom:10px}
.feature-row p{font-size:var(--text-14);line-height:1.8;max-width:360px}
.safety-note{font-size:var(--text-support);line-height:1.5;margin-top:15px;max-width:390px}
#cooperativas{padding-top:24px;padding-bottom:108px}
.coop-section{display:grid;grid-template-columns:1fr 1fr;gap:88px;align-items:center;padding-top:72px;border-top:1px solid var(--color-border)}
.coop-copy>p:not(.eyebrow){font-size:var(--text-16);line-height:1.8;max-width:430px;margin:24px 0 30px}
.coop-copy .button{font-size:var(--text-13)}
.coop-access{display:flex;align-items:center;gap:var(--space-3);color:var(--color-link);min-height:44px;font-size:var(--text-14);margin-top:var(--space-3)}
.coop-console{background:var(--white);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-panel);overflow:hidden}
.console-header{display:flex;gap:10px;align-items:center;min-height:72px;padding:18px 24px;border-bottom:1px solid var(--color-border);font-size:var(--text-14);font-weight:600;background:var(--white)}
.console-header>.icon{color:var(--color-link);width:20px}
.console-label{font-size:var(--text-9);letter-spacing:.08em;margin-left:auto;color:var(--color-muted)}
.coop-features{padding:8px 24px}
.coop-features>div{padding:26px 0 26px 41px;position:relative;border-bottom:1px solid var(--color-border)}
.coop-features>div:last-child{border:0}
.coop-features .icon{position:absolute;left:0;top:28px;color:var(--color-link)}
.coop-features h3{font-size:var(--text-22);margin-bottom:var(--space-2)}
.coop-features p{font-size:var(--text-13);line-height:1.7}
.console-footer{background:var(--white);display:flex;align-items:center;justify-content:center;gap:var(--space-2);color:var(--color-muted);font-size:var(--text-support);line-height:1.4;border-top:1px solid var(--color-border);padding:15px}
.console-footer .icon{width:15px;height:15px}
.faq-section{display:grid;grid-template-columns:1fr 1.15fr;gap:88px;padding-top:0}
.faq-section>div>p:last-child{margin-top:22px;font-size:var(--text-16)}
.faq-list{border-top:1px solid var(--color-border)}
.faq-list details{border-bottom:1px solid var(--color-border)}
.faq-list summary{cursor:pointer;list-style:none;font-size:var(--text-15);font-weight:600;display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);min-height:84px;padding-block:25px}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary .icon{width:18px;height:18px;transition:transform var(--duration-state) var(--ease-out);color:var(--color-link)}
.faq-list details[open] summary .icon{transform:rotate(45deg)}
.faq-list details p{font-size:var(--text-14);line-height:1.8;padding:0 24px 26px 0}
.download-stage{background:var(--white);color:var(--color-fg);padding-block:24px 64px}
.download-section{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center;position:relative;padding:56px 64px;background:var(--color-surface);border-radius:32px}
.download-copy .eyebrow{color:var(--color-muted)}
.download-copy h2{font-size:clamp(38px,4vw,54px);text-wrap:balance}
.download-copy>p:not(.eyebrow){font-size:var(--text-16);line-height:1.8;margin-top:24px;color:var(--color-muted);max-width:360px}
.download-access{border-left:1px solid var(--color-border);padding-left:56px}
.download-app-icon{width:var(--download-logo-width);min-height:var(--download-logo-height);display:flex;align-items:center;margin-bottom:20px}
.download-app-icon img{width:var(--download-logo-width);height:var(--download-logo-height);object-fit:cover;object-position:var(--brand-logo-position)}
.download-access h3{font-size:var(--text-25);margin-bottom:12px}
.download-access>p{font-size:var(--text-15)}
.download-actions{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin-top:24px}
.download-actions .button-dark:hover{background:var(--navy-900)}
.download-actions .button{font-size:var(--text-13);gap:15px}
.ios-note{font-size:var(--text-12);color:var(--color-muted)}
.footer-stage{background:var(--color-fg);color:var(--color-inverse)}
.footer-stage :focus-visible{outline-color:var(--color-brand)}
.site-footer{padding-block:56px 24px}
.site-footer p{color:var(--color-inverse-muted)}
.footer-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);padding-bottom:32px}
.footer-top p{font-size:var(--text-14);margin-right:auto;margin-left:32px}
.footer-top .text-link{color:var(--color-inverse)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-6);padding-top:24px;border-top:1px solid var(--border-inverse);color:var(--color-inverse-muted);font-size:var(--text-support);line-height:1.5}
.footer-bottom nav{display:flex;flex-wrap:wrap;gap:var(--space-6)}
.footer-bottom a{display:inline-flex;align-items:center;min-height:44px}
.footer-bottom a:hover{text-decoration:underline}
.legal-content{padding-block:72px;max-width:800px}
.legal-content h1{font-size:var(--text-48);margin-bottom:var(--space-6)}
.legal-content h2{font-size:var(--text-26);margin:32px 0 16px}
.legal-content p{margin-bottom:18px}
.draft-notice{padding:20px;border-left:3px solid var(--color-brand);background:var(--color-surface);color:var(--color-fg);font-size:var(--text-14);line-height:1.8;margin-block:24px}
.legal-content .text-link{color:var(--color-link)}
.legal-content .brand img{background:var(--white);border-radius:5px;padding:5px}
@media(hover:hover) and (pointer:fine){
  .button:hover{transform:translateY(-2px)}
}
html[data-motion="full"] .hero-copy .eyebrow{animation:hero-enter var(--duration-entry) var(--ease-out) both}
html[data-motion="full"] .hero h1{animation:hero-enter var(--duration-entry) var(--ease-out) 50ms both}
html[data-motion="full"] .hero-description{animation:hero-enter var(--duration-entry) var(--ease-out) 100ms both}
html[data-motion="full"] .hero-actions{animation:hero-enter var(--duration-entry) var(--ease-out) 150ms both}
@keyframes hero-enter{from{transform:translateY(12px)}to{transform:none}}
@media(max-width:1100px){
  .container{width:calc(100% - 64px)}
  .main-nav{gap:23px}.header-inner{gap:var(--space-6)}
  .hero{gap:28px;min-height:660px}.hero h1{font-size:var(--text-67)}
  .hero-visual{height:600px}.phone-wrap{left:62%}
  .hero-orbit{width:410px;top:120px}.driver-phone-wrap{left:30%;top:65px}
  .benefits-layout{grid-template-columns:minmax(0,1fr) 300px minmax(0,1fr);gap:32px}
  .hero-actions{gap:20px}.hero-footnote{font-size:var(--text-11)}
  .app-layout,.coop-section,.audience-panel{gap:56px}
  .faq-section{gap:56px}.download-section{gap:40px;padding:48px}
  .download-access{padding-left:32px}
}
@media(max-width:850px){
  :root{--header-height:72px}
  .container{width:calc(100% - 48px)}
  .brand{--brand-logo-width:111px;--brand-logo-height:68px}
  .main-nav{gap:18px;font-size:var(--text-12)}.main-nav .button-small{font-size:var(--text-caption);padding-inline:var(--space-3);gap:9px}
  .main-nav>a[href="#preguntas"]{display:none}
  .hero{gap:26px;padding-block:28px 32px;min-height:620px}
  .hero h1{font-size:var(--text-55)}.hero-copy .eyebrow{font-size:var(--text-9)}
  .hero-description{font-size:var(--text-16);line-height:1.8;margin-top:22px}
  .hero-actions{flex-wrap:wrap;gap:14px;margin-top:26px}
  .hero-footnote{margin-top:25px;font-size:var(--text-10);align-items:flex-start}
  .hero-visual{height:546px}.hero-orbit{width:340px;top:120px}
  .phone-wrap{top:45px;left:62%;transform:translateX(-50%) rotate(10deg) scale(.82)}
  .driver-phone-wrap{left:32%;top:43px;transform:translateX(-50%) rotate(-12deg) scale(.82)}
  .phone{width:228px;height:449px;border-radius:34px}
  .phone-screen{border-radius:27px}.phone-sheet{padding:8px 14px 24px;min-height:205px}
  .phone-sheet h3{font-size:var(--text-21);margin-bottom:var(--space-2)}
  .hero-visual-top{font-size:var(--text-8);top:18px}
  .benefit-strip{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding-block:var(--space-6)}
  .benefit-strip span{font-size:var(--text-12)}
  .section{padding-block:76px}.section-heading{gap:28px;margin-bottom:36px}
  .benefits-section{padding-top:0}.benefits-layout{grid-template-columns:minmax(0,1fr) 230px minmax(0,1fr);gap:24px}
  .benefits-column{gap:28px}.benefits-column h3{font-size:var(--text-20)}
  .benefits-column p{font-size:var(--text-13)}.center-heading{margin-bottom:48px}
  h2{font-size:var(--text-44)}.section-heading>p,.heading-aside>p{font-size:var(--text-13)}.audience-tabs{gap:28px}
  .audience-panel{gap:40px;min-height:308px}
  .audience-panel h3{font-size:var(--text-34)}.audience-panel p{font-size:var(--text-14)}
  .audience-list strong{font-size:var(--text-14)}.audience-list span{font-size:var(--text-13)}
  .app-layout{gap:36px}.taxi-photo{height:590px}
  .app-copy h2{font-size:var(--text-43)}.app-copy .section-intro{font-size:var(--text-14)}
  .feature-row{gap:13px;padding-block:18px}.feature-row h3{font-size:var(--text-20)}
  .feature-row p{font-size:var(--text-13)}.safety-note{font-size:var(--text-support)}
  .photo-caption{left:12px;right:12px;font-size:var(--text-caption)}
  #cooperativas{padding-bottom:76px;padding-top:0}
  .coop-section{gap:var(--space-8);padding-top:52px}.coop-copy h2{font-size:var(--text-43)}
  .coop-copy>p:not(.eyebrow){font-size:var(--text-14)}.coop-copy .button{font-size:var(--text-caption);gap:10px;padding-inline:17px}
  .console-header{padding:17px;font-size:var(--text-12)}.console-label{display:none}
  .coop-features{padding-inline:19px}.coop-features h3{font-size:var(--text-20)}
  .coop-features>div{padding-left:34px}.coop-features p{font-size:var(--text-12)}
  .console-footer{font-size:var(--text-caption)}.faq-section{padding-top:0;gap:var(--space-8)}
  .faq-list summary{font-size:var(--text-13)}.faq-list details p{font-size:var(--text-13)}
  .download-section{gap:24px;padding:40px 32px}
  .download-copy h2{font-size:var(--text-38)}.download-copy>p:not(.eyebrow){font-size:var(--text-15)}
  .download-access{padding-left:24px}.download-access h3{font-size:var(--text-22)}
  .download-actions .button{padding-inline:16px 8px;gap:8px;font-size:var(--text-12)}
  .footer-top p{font-size:var(--text-13);margin-left:16px}.footer-bottom{font-size:var(--text-support)}
  .footer-bottom>span:last-child{display:none}
}
/* Reflow tablet/compact layouts; do not shrink the approved phone previews. */
@media(max-width:900px){
  .menu-toggle{display:grid;place-items:center;width:44px;height:44px;background:transparent;color:var(--color-fg);border:1px solid var(--color-border);border-radius:var(--radius-sm)}
  .main-nav{display:none;position:absolute;top:100%;inset-inline:0;padding:18px 24px 24px;gap:6px;background:var(--header-bg);border-bottom:1px solid var(--color-border);max-height:calc(100vh - var(--header-height) - env(safe-area-inset-top,0px) - var(--reading-progress-height) - env(safe-area-inset-bottom,0px));max-height:calc(100dvh - var(--header-height) - env(safe-area-inset-top,0px) - var(--reading-progress-height) - env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior:contain}
  .main-nav.is-open{display:flex;flex-direction:column;align-items:stretch}
  .main-nav>a:not(.button){font-size:var(--text-15);min-height:48px}
  .main-nav>a[href="#preguntas"]{display:flex}
  .main-nav>a[aria-current="location"]:after{display:none}
  .main-nav .button-small{flex-shrink:0;font-size:var(--text-14);min-height:48px;margin-top:var(--space-2);justify-content:space-between;padding-inline:var(--space-4)}
  .benefits-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px}
  .app-layout,.coop-section,.faq-section{grid-template-columns:minmax(0,1fr);gap:var(--space-8)}
  .taxi-photo{height:auto;aspect-ratio:3/2}
  .app-copy .section-intro,.feature-row p,.coop-copy>p:not(.eyebrow),.faq-list details p{font-size:var(--text-16)}
  .coop-copy .button{max-width:100%;font-size:var(--text-14)}
  .coop-features p,.console-footer{font-size:var(--text-14)}
  .faq-list summary{font-size:var(--text-15)}
  .download-section{grid-template-columns:minmax(0,1fr);gap:var(--space-8)}
  .download-access{border-left:0;border-top:1px solid var(--color-border);padding:28px 0 0}
  .download-copy>p:not(.eyebrow){max-width:50ch}
}
@media(max-width:650px){
  :root{--header-height:68px}
  .container{width:calc(100% - 40px)}
  .brand{--brand-logo-width:117px;--brand-logo-height:72px}
  .menu-toggle{display:grid;place-items:center;width:44px;height:44px;background:transparent;color:var(--color-fg);border:1px solid var(--color-border);border-radius:var(--radius-sm)}
  .main-nav{transform-origin:90% 0}
  .main-nav.is-open{display:flex;flex-direction:column;align-items:stretch}
  .main-nav>a:not(.button){font-size:var(--text-15);min-height:48px}
  .main-nav>a[href="#preguntas"]{display:flex}
  .main-nav>a[aria-current="location"]:after{display:none}
  .main-nav .button-small{font-size:var(--text-14);min-height:48px;margin-top:var(--space-2);justify-content:space-between;padding-inline:var(--space-4)}
  .hero{grid-template-columns:1fr;gap:28px;padding-block:27px 28px}
  .hero-copy{padding-block:var(--space-4) 0}
  .eyebrow,.hero-copy .eyebrow{font-size:var(--text-10);letter-spacing:.1em;margin-bottom:18px}
  .hero h1{font-size:clamp(44px,11.4vw,70px);line-height:1.08;letter-spacing:var(--heading-tracking)}
  .hero-description{font-size:var(--text-16);line-height:1.8;max-width:380px}
  .hero-actions{flex-wrap:wrap;gap:22px}
  .hero-actions .button{font-size:var(--text-13);gap:14px;padding-inline:20px;min-height:54px}
  .hero-actions .text-link{font-size:var(--text-12);gap:9px}
  .hero-footnote{font-size:var(--text-11);line-height:1.6;max-width:340px;margin-top:var(--space-6)}
  .hero-visual{height:565px;max-width:430px;width:100%;margin-inline:auto}
  .hero-orbit{width:min(360px,110%);top:108px}
  .hero-visual-top{font-size:var(--text-9);top:9px}
  .phone-wrap{top:24px;left:62%;transform:translateX(-50%) rotate(10deg) scale(.84)}
  .driver-phone-wrap{top:15px;left:37%;transform:translateX(-50%) rotate(-12deg) scale(.84)}
  .phone{width:220px;height:435px;border-radius:36px}
  .phone-screen{border-radius:29px}.phone-sheet{min-height:220px;padding:10px 16px 25px}
  .phone-sheet h3{font-size:var(--text-22)}
  .benefit-strip{gap:22px 18px;padding-block:var(--space-6) 29px}
  .benefit-strip span{font-size:var(--text-caption);gap:9px;line-height:1.5;align-items:flex-start}
  .benefit-strip .icon{width:18px;height:18px}
  .section{padding-block:var(--space-16)}
  .benefits-section{padding-top:0}.benefits-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px 24px;align-items:stretch}
  .benefits-column{gap:32px}.benefits-column h3{font-size:var(--text-20)}.benefits-column p{font-size:var(--text-14)}
  .center-heading{margin-bottom:32px}.center-heading h2{font-size:var(--text-35)}
  .section-heading{display:block;margin-bottom:30px}
  h2{font-size:var(--text-42)}.section-heading>p,.heading-aside>p{font-size:var(--text-15);margin-top:22px}
  .section-heading>p br,.heading-aside>p br{display:none}
  .audience-tabs{gap:10px;justify-content:space-between;margin-bottom:29px}
  .audience-tabs button{font-size:var(--text-caption);line-height:1.375;gap:6px;padding-inline:0;padding-block:var(--space-2);min-height:55px}
  .audience-tabs .icon{width:17px;height:17px}
  .audience-panel{grid-template-columns:1fr;gap:var(--space-8);min-height:519px}
  .audience-panel h3{font-size:var(--text-35)}.audience-panel p{font-size:var(--text-15)}
  .audience-panel .text-link{font-size:var(--text-14)}
  .audience-list{gap:var(--space-6);justify-content:flex-start}
  .audience-list strong{font-size:var(--text-15)}.audience-list span{font-size:var(--text-14)}
  .app-layout{grid-template-columns:1fr;gap:38px}.taxi-photo{height:366px}
  .taxi-photo img{object-position:65% 65%}.photo-caption{font-size:var(--text-caption);bottom:16px}
  .app-copy h2{font-size:var(--text-42)}.app-copy .section-intro{font-size:var(--text-16)}
  .feature-row{padding-block:22px;gap:17px}.feature-row h3{font-size:var(--text-23)}
  .feature-row p{font-size:var(--text-15)}.safety-note{font-size:var(--text-support)}
  #cooperativas{padding-top:0;padding-bottom:64px}
  .coop-section{grid-template-columns:1fr;gap:36px;padding-top:48px}
  .coop-copy h2{font-size:var(--text-42)}.coop-copy>p:not(.eyebrow){font-size:var(--text-16)}
  .coop-copy .button{font-size:var(--text-13);gap:20px;min-height:54px}
  .console-header{font-size:var(--text-14);padding:19px 22px}.console-label{display:block;font-size:var(--text-8)}
  .coop-features{padding:6px 22px}.coop-features>div{padding:24px 0 24px 39px}
  .coop-features h3{font-size:var(--text-22)}.coop-features p{font-size:var(--text-14)}
  .coop-features .icon{top:26px}.console-footer{font-size:var(--text-support);padding:18px}
  .faq-section{grid-template-columns:1fr;gap:var(--space-8);padding-top:0}
  .faq-section>div>p:last-child{font-size:var(--text-15);margin-top:20px}
  .faq-list summary{font-size:var(--text-15);gap:20px;min-height:84px}
  .faq-list details p{font-size:var(--text-15)}
  .download-stage{padding-block:0 40px}.download-section{grid-template-columns:1fr;gap:32px;padding:32px 24px;border-radius:24px}
  .download-copy h2{font-size:var(--text-35)}.download-copy>p:not(.eyebrow){font-size:var(--text-16)}
  .download-access{border-left:0;border-top:1px solid var(--color-border);padding:28px 0 0}
  .download-actions{margin-top:24px;gap:16px}
  .download-actions .button{font-size:var(--text-12);min-height:54px;gap:13px}
  .ios-note{font-size:var(--text-12)}
  .site-footer{padding-block:42px 24px}
  .footer-top{flex-wrap:wrap;gap:25px;padding-bottom:25px}
  .footer-top p{font-size:var(--text-12);margin:0 0 0 auto}
  .footer-top>.text-link{width:100%;justify-content:space-between;font-size:var(--text-14)}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:var(--space-3);font-size:var(--text-support)}
  .footer-bottom nav{gap:20px;flex-wrap:wrap}
  .legal-content{padding-block:44px}.legal-content h1{font-size:var(--text-38)}
}
@media(max-width:359px){
  .hero h1{font-size:var(--text-42)}.hero-actions{gap:14px}
  .hero-actions .button{padding-inline:15px;font-size:var(--text-12)}
  .hero-actions .text-link{font-size:var(--text-11)}
  .store-buttons{gap:10px}.store-button{min-width:0;flex:1 1 160px;padding:12px 14px}.store-button strong{font-size:19px}
  .phone-wrap{left:63%}.phone{width:192px;height:403px}
  .hero-visual{height:525px}
  .audience-tabs button{font-size:var(--text-caption);gap:var(--space-1)}
  .audience-panel{min-height:551px}.audience-list span{font-size:var(--text-13)}
  .console-label{display:none}
  .download-actions .button{font-size:var(--text-caption);padding-inline:14px;gap:10px}
}

/* Scroll Craft choreography. A natural document, not a captured scrollbar. */
[data-motion-entry]{opacity:1}
.hero-visual{perspective:1200px}
.hero-orbit{scale:1;translate:0 0}
.phone-wrap{animation:phone-float 7s ease-in-out infinite}
.driver-phone-wrap{animation:phone-float 8.5s ease-in-out -3s infinite reverse}
@keyframes phone-float{0%,100%{translate:0 0}50%{translate:0 -14px}}
.phone-wrap .phone,.driver-phone-wrap .phone{transform-origin:50% 70%}
.hero-offscreen .phone-wrap,.hero-offscreen .driver-phone-wrap{animation-play-state:paused}
.motion-suspended .phone-wrap,.motion-suspended .driver-phone-wrap{animation-play-state:paused}
/* Continuous motion has one native owner; unsupported browsers stay settled. */
@supports (animation-timeline:view()){
  .hero{view-timeline-name:--hero-scroll;view-timeline-axis:block}
  .phone-wrap .phone{animation:passenger-scroll 1ms linear both;animation-timeline:--hero-scroll;animation-range:exit 0% exit 100%}
  .driver-phone-wrap .phone{animation:driver-scroll 1ms linear both;animation-timeline:--hero-scroll;animation-range:exit 0% exit 100%}
  .hero-orbit{animation:orbit-scroll 1ms linear both;animation-timeline:--hero-scroll;animation-range:exit 0% exit 100%}
  .people-frame{view-timeline-name:--photo-scroll;view-timeline-axis:block}
  .people-frame img{animation:photo-scroll 1ms linear both;animation-timeline:--photo-scroll;animation-range:cover 0% cover 100%}
  .people-driver .people-frame img{animation-direction:reverse}
}
@keyframes passenger-scroll{from{transform:translateY(0) rotateX(18deg) rotate(0)}to{transform:translateY(-110px) rotateX(0) rotate(-10deg)}}
@keyframes driver-scroll{from{transform:translateY(0) rotateX(12deg) rotate(0)}to{transform:translateY(-46px) rotateX(0) rotate(7deg)}}
@keyframes orbit-scroll{from{scale:1;translate:0 0}to{scale:1.16;translate:0 -38px}}
@keyframes photo-scroll{from{transform:translateY(3%) scale(1.1)}to{transform:translateY(-3%) scale(1.1)}}
/* Keep the approved phone/card scale regardless of desktop window height. */
@media(max-width:650px){
  @keyframes passenger-scroll{from{transform:translateY(0) rotateX(8deg)}to{transform:translateY(-42px) rotateX(0)}}
  @keyframes driver-scroll{from{transform:translateY(0) rotateX(5deg)}to{transform:translateY(-20px) rotateX(0)}}
  @keyframes orbit-scroll{from{scale:1;translate:0 0}to{scale:1.04;translate:0 -8px}}
}

/* Editorial people story: two scenes, one shared trip. No floating UI or stock cards. */
.phone-lab{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);grid-template-areas:'intro scene' 'steps scene' 'detail scene';grid-template-rows:auto auto 1fr;column-gap:var(--space-16);row-gap:0;align-items:start;padding-bottom:var(--space-16)}
.journey-anchor{position:absolute;top:0;scroll-margin-top:calc(var(--header-height) + var(--space-6))}
.phone-lab-copy{grid-area:intro}
.phone-lab-steps{grid-area:steps}
.phone-lab-detail{grid-area:detail}
.phone-lab-scene{grid-area:scene}
.phone-lab-static{grid-area:detail;display:none;padding-left:24px;line-height:1.7}
.phone-lab-static li+li{margin-top:var(--space-4)}
.phone-lab[data-render="fallback"]:not([data-controls="ready"]) .phone-lab-static,html[data-phone-models="disabled"] .phone-lab-static{display:block}
.phone-lab[data-render="fallback"]:not([data-controls="ready"]) :is(.phone-lab-steps,.phone-lab-detail,.phone-lab-view-tools,.phone-lab-screen-controls),html[data-phone-models="disabled"] :is(.phone-lab-steps,.phone-lab-detail,.phone-lab-view-tools,.phone-lab-screen-controls){display:none}
.phone-lab-copy>p{font-size:var(--text-18);max-width:42ch;margin-top:var(--space-6)}
.phone-lab-steps{display:flex;gap:var(--space-6);margin-top:var(--space-8);flex-wrap:wrap;border-bottom:1px solid var(--color-border)}
.phone-lab-steps button{border:0;background:none;padding:12px 0;color:var(--color-muted);font-size:var(--text-14);position:relative;min-height:44px}
/* Expand the real button's hit area without changing text, underline or layout. */
.phone-lab-steps button:before{content:'';position:absolute;left:50%;top:50%;width:max(100%,var(--control-hit-min));height:max(100%,var(--control-hit-min));transform:translate(-50%,-50%);background:transparent}
.phone-lab-steps button[aria-pressed="true"]{color:var(--color-fg);font-weight:650}
.phone-lab-steps button[aria-pressed="true"]:after{content:'';position:absolute;height:3px;bottom:-1px;inset-inline:0;background:var(--color-brand)}
.phone-lab-detail{padding-top:var(--space-6);min-height:210px}
.phone-lab-detail h3{font-size:var(--text-25);line-height:1.25}
.phone-lab-detail>p{max-width:42ch;margin-top:var(--space-3)}
.phone-lab-actions{display:flex;align-items:center;gap:var(--space-6);flex-wrap:wrap;margin-top:var(--space-6)}
.phone-lab-actions .text-link{border:0;background:none;padding:0}
.phone-lab-sr:not(:focus){position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.phone-lab-screen-controls{position:absolute;bottom:12px;left:12px;right:12px;z-index:3;pointer-events:none}
.phone-lab-screen-controls button:focus{position:relative;pointer-events:auto;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--white);color:var(--color-fg);padding:10px 16px;min-height:44px}
.phone-lab-scene{min-width:0;text-align:center}
.phone-lab-view{height:640px;position:relative;isolation:isolate;touch-action:pan-y}
.phone-lab-view:before{content:'';position:absolute;left:50%;top:50%;width:min(60%,300px);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:var(--color-brand);z-index:-1;pointer-events:none}
.phone-lab-view canvas{display:block;width:100%;height:100%;touch-action:pan-y;cursor:grab}
.phone-lab-view>img,.phone-lab-view>canvas:not(.phone-lab-flat){position:absolute;inset:0}
.phone-lab-view canvas:active{cursor:grabbing}
html[data-phone-models="enabled"] .phone-lab[data-render="fallback"] .phone-lab-flat{visibility:visible}
.phone-lab-view .phone-lab-flat{position:absolute;left:50%;top:24px;transform:translateX(-50%);height:calc(100% - 48px);width:auto;max-width:90%;border:8px solid var(--color-fg);border-radius:30px;box-shadow:var(--shadow-panel);cursor:default}
.phone-lab-view img{width:100%;height:100%;object-fit:contain}
.phone-lab-view [hidden]{display:none}
.phone-lab-view-tools{display:flex;justify-content:center;gap:var(--space-4);align-items:center}
.phone-lab-view-tools button{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid var(--color-border);background:var(--white);border-radius:var(--radius-sm);padding:8px 12px;font-size:var(--text-13)}
.phone-lab-scene>p{font-size:var(--text-12);margin-top:var(--space-3)}
@media(max-width:1000px){.phone-lab{gap:var(--space-8)}.phone-lab-view{height:540px}.phone-lab-steps{gap:var(--space-4)}}
@media(max-width:900px){.phone-lab{grid-template-columns:minmax(0,1fr);grid-template-areas:'intro' 'steps' 'scene' 'detail';gap:var(--space-4)}.phone-lab-copy{max-width:680px}.phone-lab-scene{width:min(100%,560px);margin-inline:auto}.phone-lab-view{height:450px}.phone-lab-detail{min-height:0;padding-top:0}.phone-lab-steps{margin-top:var(--space-4)}}
@media(max-width:650px){.phone-lab-copy h2{font-size:clamp(34px,9vw,44px)}.phone-lab-view{height:clamp(340px,52svh,440px)}.phone-lab-copy>p{font-size:var(--text-16);margin-top:var(--space-4)}.phone-lab-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;width:100%}.phone-lab-steps button{min-width:44px;min-height:48px;font-size:var(--text-13);padding:12px 2px}.phone-lab-steps button:before{display:none}.phone-lab-detail h3{font-size:var(--text-24)}.phone-lab-actions{gap:var(--space-4)}.phone-lab-actions .button{min-height:48px}.phone-lab-view-tools{gap:var(--space-3)}}
/* Contact benefits have their own purpose, without another pickup-screen phone. */
.benefits-section{padding-top:var(--space-12);padding-bottom:var(--space-16);border-top:1px solid var(--color-border)}
.benefits-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-12);max-width:880px;margin-inline:auto;align-items:start}
.benefits-column article{max-width:360px}
.benefits-column p{max-width:34ch}
.benefits-section .center-heading{margin-bottom:var(--space-8)}
@media(max-width:650px){.benefits-layout{grid-template-columns:1fr;gap:var(--space-8)}.benefits-column article{max-width:340px}.benefits-section .center-heading h2{font-size:var(--text-28)}}
.people-section{padding-bottom:var(--space-16)}
.people-story{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);grid-template-areas:'passenger copy' 'passenger driver';column-gap:var(--space-16);row-gap:var(--space-8);align-items:start}
.people-copy{grid-area:copy;padding-top:var(--space-4)}
.people-copy h2{font-size:clamp(34px,3.8vw,54px);line-height:1.14;letter-spacing:-.035em}
.people-copy>p{max-width:48ch;margin-top:var(--space-6);font-size:var(--text-18)}
.people-copy .text-link{margin-top:var(--space-4)}
.people-passenger{grid-area:passenger}
.people-driver{grid-area:driver}
.people-story figure{margin:0;min-width:0}
.people-frame{overflow:hidden;border-radius:var(--radius-md);background:var(--color-fg)}
.people-passenger .people-frame{aspect-ratio:4/5}
.people-driver .people-frame{aspect-ratio:3/2}
.people-frame img{width:100%;height:100%;object-fit:cover;transform:scale(1.1)}
.people-story figcaption{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-6);padding-top:var(--space-4);font-size:var(--text-14)}
.people-story figcaption>.icon{color:var(--color-fg);margin-top:2px}
.people-story figcaption strong{display:block;font:650 var(--text-20)/1.3 var(--display);letter-spacing:-.025em}
.people-story figcaption p{font-size:var(--text-14);max-width:48ch;margin-top:var(--space-2)}
@media(max-width:1100px){.people-story{column-gap:var(--space-8)}.people-copy>p{font-size:var(--text-16)}}
@media(max-width:900px) and (min-width:651px){.people-story{grid-template-areas:'copy copy' 'passenger driver';align-items:start}.people-copy{max-width:680px;padding-top:0}.people-copy h2 br{display:none}.people-copy h2 .word-highlight{white-space:normal}.people-driver{padding-top:var(--space-16)}}
@media(max-width:650px){.people-story{grid-template-columns:minmax(0,1fr);grid-template-areas:'copy' 'passenger' 'driver';gap:var(--space-8)}.people-copy{padding:0}.people-copy h2{font-size:clamp(28px,7.5vw,40px)}.people-copy h2 .word-highlight{white-space:normal}.people-copy>p{font-size:var(--text-16);margin-top:var(--space-4)}.people-story figcaption strong{font-size:var(--text-18)}}
/* Intermediate widths need an editorial layout, not a stretched phone column. */
@media(max-width:1100px){
  .app-layout{grid-template-columns:minmax(0,1fr);gap:var(--space-12)}
  .taxi-photo{height:clamp(320px,42vw,440px);aspect-ratio:auto}
  .app-copy{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:var(--space-8)}
  .app-intro,.app-features{min-width:0}
  .app-copy .section-intro{font-size:var(--text-16);margin-bottom:0;max-width:40ch}
  .feature-row{padding-block:28px}
  .feature-row p{font-size:var(--text-16);max-width:46ch}
  .safety-note{margin-top:var(--space-6);max-width:50ch}
}
@media(max-width:650px){
  .people-section{padding-bottom:var(--space-12)}
  .app-layout{gap:var(--space-8)}
  .app-copy{grid-template-columns:minmax(0,1fr)}
  .taxi-photo{height:clamp(280px,75vw,366px)}
}
/* Marketing type roles stay readable at every breakpoint and user text size.
   Keep the illustrative app screens and compact control labels on their own scale. */
body{font-optical-sizing:auto}
.hero-description,.phone-lab-copy>p,.phone-lab-detail>p,
.people-copy>p,.people-story figcaption p,.benefits-column p,
.section-heading>p,.audience-panel p,.audience-list span,
.app-copy .section-intro,.feature-row p,.coop-copy>p:not(.eyebrow),
.coop-features p,.faq-list details p,.faq-section>div>p:last-child,
.download-copy>p:not(.eyebrow),.download-access>p{
  font-size:var(--type-copy);line-height:var(--type-copy-leading);text-wrap:pretty;
}
main h2{line-height:var(--type-heading-leading)}
@media(min-width:1101px){
  .hero-description,.phone-lab-copy>p,.people-copy>p{font-size:var(--type-lead)}
}
