/* MOBCORP FLEET: site publico. Tipografia e cores do app MOBTRACK360.
   Sora: Copyright 2019 The Sora Project Authors. Plus Jakarta Sans: Copyright 2020 The Plus Jakarta Sans Project Authors.
   Ambas sob SIL Open Font License 1.1 (https://openfontlicense.org). */
@font-face{font-family:'Sora';font-style:normal;font-weight:100 800;font-display:swap;src:url('fonts/sora.woff2') format('woff2')}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:200 800;font-display:swap;src:url('fonts/jakarta.woff2') format('woff2')}
@font-face{font-family:'Sora Fallback';src:local('Arial');size-adjust:114.1%;ascent-override:85%;descent-override:25.4%;line-gap-override:0%}
@font-face{font-family:'Jakarta Fallback';src:local('Arial');size-adjust:107.1%;ascent-override:96.9%;descent-override:20.7%;line-gap-override:0%}

:root{
  --bg:#0A0B0E;--bg-2:#0F1115;--surface:#15171C;--line:rgba(255,255,255,.1);--line-strong:rgba(255,255,255,.2);
  --text:#F4F5F7;--text-2:#B3B8C2;--muted:#8A909E;--accent:#19E57E;--accent-ink:#06140C;
  --display:'Sora','Sora Fallback',system-ui,sans-serif;--body:'Plus Jakarta Sans','Jakarta Fallback',system-ui,sans-serif;
  --container:1240px;--gutter:clamp(20px,4.5vw,56px);--header-h:76px;--ease:cubic-bezier(.2,.7,.2,1);
  color-scheme:dark
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-family:var(--body);background:var(--bg);color:var(--text);line-height:1.6;font-size:1.0625rem;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img,svg,video{display:block;max-width:100%}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.hidden{display:none!important}
.muted{color:var(--muted)}
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}
.skip-link{position:absolute;left:12px;top:-60px;z-index:10000;background:var(--accent);color:var(--accent-ink);padding:10px 16px;font-weight:700;text-decoration:none}
.skip-link:focus{top:12px}
section[id]{scroll-margin-top:var(--header-h)}

/* Acoes */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;border:1px solid transparent;border-radius:6px;font-family:var(--body);font-weight:700;font-size:.95rem;letter-spacing:.01em;line-height:1.2;text-decoration:none;cursor:pointer;transition:background-color .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease)}
.btn-lg{min-height:56px;padding:14px 28px;font-size:1rem}
.btn-primary{background:var(--accent);color:var(--accent-ink)}
.btn-primary:hover{background:#4af09c}
.btn-light{background:var(--text);color:var(--bg)}
.btn-light:hover{background:var(--accent);color:var(--accent-ink)}
.link-arrow{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0;border:0;background:none;color:var(--text);font-weight:600;font-size:.98rem;text-decoration:none;cursor:pointer;border-bottom:1px solid var(--line-strong);transition:border-color .25s,color .25s}
.link-arrow::after{content:'→';transition:transform .3s var(--ease)}
.link-arrow:hover{color:var(--accent);border-color:var(--accent)}
.link-arrow:hover::after{transform:translateX(4px)}
.link-play{display:inline-flex;align-items:center;gap:12px;min-height:48px;padding:0;border:0;background:none;color:var(--text);font-weight:600;font-size:.98rem;cursor:pointer}
.play-ring{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--line-strong);transition:border-color .25s,background-color .25s,color .25s}
.link-play:hover .play-ring{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}

/* Cabecalho */
.navbar{position:fixed;inset:0 0 auto 0;z-index:1000;height:var(--header-h);border-bottom:1px solid transparent;transition:background-color .35s var(--ease),border-color .35s,transform .45s var(--ease)}
.navbar.scrolled{background:rgba(10,11,14,.9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom-color:var(--line)}
.navbar.is-hidden{transform:translateY(-100%)}
.navbar-container{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo,.footer-logo{font-family:var(--display);font-size:1.02rem;font-weight:600;letter-spacing:.2em;color:var(--text);text-decoration:none;white-space:nowrap}
.logo span,.footer-logo span{color:var(--muted)}
.nav-menu{display:flex;align-items:center;gap:36px}
.nav-menu ul{display:flex;align-items:center;gap:30px;list-style:none}
.nav-menu ul a{position:relative;color:var(--text);text-decoration:none;font-size:.92rem;font-weight:500;padding:10px 0;white-space:nowrap;transition:color .25s}
.nav-menu ul a::after{content:'';position:absolute;left:0;right:0;bottom:4px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.nav-menu ul a:hover{color:var(--text)}
.nav-menu ul a:hover::after{transform:scaleX(1)}
.btn-nav{min-height:42px;padding:8px 18px;background:transparent;border-color:var(--line-strong);color:var(--text);font-size:.92rem;font-weight:500;letter-spacing:0}
.btn-nav:hover{border-color:var(--accent);color:var(--accent)}
.menu-toggle{display:none;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:48px;height:48px;background:none;border:0;cursor:pointer}
.menu-toggle span{width:24px;height:1.5px;background:var(--text)}
.close-menu{display:none}
@media (max-width:1100px){
  .menu-toggle{display:flex}
  .nav-menu{position:fixed;inset:0;height:100dvh;background:var(--bg);flex-direction:column;align-items:flex-start;justify-content:center;gap:40px;padding:40px var(--gutter);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;z-index:9999}
  .nav-menu.active{opacity:1;visibility:visible}
  .nav-menu ul{flex-direction:column;align-items:flex-start;gap:4px}
  .nav-menu ul a{display:block;font-family:var(--display);font-size:2rem;font-weight:500;letter-spacing:-.02em;padding:8px 0;color:var(--text)}
  .nav-menu ul a::after{display:none}
  .nav-menu.active .close-menu{display:flex;align-items:center;justify-content:center;position:absolute;top:14px;right:var(--gutter);width:48px;height:48px;font-size:2rem;line-height:1;color:var(--text);background:none;border:0;cursor:pointer}
  .nav-menu .btn-nav{min-height:0;padding:8px 0;border:0;background:none;font-family:var(--display);font-size:2rem;font-weight:500;letter-spacing:-.02em;color:var(--accent)}
  .nav-menu .btn-nav:hover{background:none;color:var(--text)}
}

/* Hero */
.hero{position:relative;z-index:1;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;padding:calc(var(--header-h) + 48px) 0 0}
.hero-title{font-family:var(--display);font-weight:600;font-size:clamp(2.6rem,5.5vw,5.4rem);line-height:.98;letter-spacing:-.04em;max-width:11ch}
.hero-title .line{display:block;overflow:hidden;padding-bottom:.06em}
.hero-title .line>span{display:inline-block}
.hero-title .line+.line>span{color:var(--accent)}
.hero-lead{max-width:34ch;margin:28px 0 36px;color:var(--text-2);font-size:clamp(1.05rem,1.6vw,1.2rem);line-height:1.6}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px 32px}
.hero-facts{margin-top:clamp(48px,9vh,96px);padding-bottom:28px}
.hero-facts dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line)}
.hero-facts dl>div{display:flex;flex-direction:column-reverse;gap:4px;padding:20px 24px 0 0}
.hero-facts dl>div+div{padding-left:24px;border-left:1px solid var(--line)}
.hero-facts dd{font-family:var(--display);font-size:clamp(.98rem,1.4vw,1.15rem);font-weight:500;letter-spacing:-.01em}
.hero-facts dt{font-size:.8rem;color:var(--muted)}
@media (max-width:760px){
  .hero-facts dl{grid-template-columns:1fr 1fr}
  .hero-facts dl>div{padding:16px 12px 16px 0}
  .hero-facts dl>div+div{padding-left:0;border-left:0}
  .hero-facts dl>div:nth-child(even){padding-left:16px;border-left:1px solid var(--line)}
  .hero-facts dl>div:nth-child(n+3){border-top:1px solid var(--line)}
  .hero-actions .btn{width:100%}
}

/* Manifesto */
.manifesto{padding:clamp(96px,16vw,180px) 0 clamp(72px,10vw,120px)}
.manifesto-text{font-family:var(--display);font-weight:400;font-size:clamp(1.55rem,3.4vw,2.8rem);line-height:1.22;letter-spacing:-.025em;max-width:24ch;color:var(--text)}
.manifesto-text .w{transition:none}

/* Secoes */
.section{padding:clamp(72px,10vw,128px) 0}
.section-alt{background:var(--bg-2)}
.section-head{margin-bottom:clamp(36px,5vw,64px)}
.split-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:24px 64px;align-items:end;padding-top:28px;border-top:1px solid var(--line)}
.section-title{font-family:var(--display);font-weight:600;font-size:clamp(2rem,4.6vw,3.6rem);line-height:1.04;letter-spacing:-.035em}
.section-subtitle{color:var(--text-2);font-size:clamp(1rem,1.4vw,1.1rem);max-width:44ch}
@media (max-width:820px){.split-head{grid-template-columns:1fr}}

/* Ficha das modalidades */
.spec{border-bottom:1px solid var(--line)}
.spec-row{position:relative;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.7fr) minmax(0,.7fr) minmax(0,1.4fr);align-items:baseline;gap:16px;padding:28px 0;border-top:1px solid var(--line);transition:background-color .35s var(--ease)}
.spec-row:not(.spec-headrow)::before{content:'';position:absolute;left:-16px;top:28px;bottom:28px;width:2px;background:var(--accent);transform:scaleY(0);transform-origin:top;transition:transform .45s var(--ease)}
.spec-row:not(.spec-headrow):hover::before{transform:scaleY(1)}
.spec-headrow{padding:0 0 14px;border-top:0;font-size:.8rem;color:var(--muted)}
.spec-name{font-family:var(--display);font-size:clamp(1.35rem,2.4vw,1.9rem);font-weight:600;letter-spacing:-.025em;transition:transform .45s var(--ease)}
.spec-row:hover .spec-name{transform:translateX(8px)}
.spec-num{font-family:var(--display);font-size:clamp(2rem,4vw,3.2rem);font-weight:300;letter-spacing:-.04em;line-height:1;color:var(--text)}
.spec-num b{font-weight:300;font-variant-numeric:tabular-nums}
.spec-num small{margin-left:.18em;font-size:.42em;font-weight:500;letter-spacing:0;color:var(--muted)}
.spec-use{color:var(--text-2);font-size:.98rem}
.spec-note{margin-top:28px;color:var(--muted);display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}
@media (max-width:760px){
  .spec-headrow{display:none}
  .spec-row{grid-template-columns:auto auto 1fr;gap:6px 24px;padding:24px 0}
  .spec-name{grid-column:1/-1}
  .spec-use{grid-column:1/-1}
  .spec-row:not(.spec-headrow)::before{display:none}
}

/* A bordo */
.fleet-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);grid-template-rows:auto auto;gap:20px}
.fleet-grid figure{position:relative;overflow:hidden}
.fleet-main{grid-row:1/3}
.fleet-grid picture,.driver-photo picture{display:block;overflow:hidden;border-radius:3px;background:var(--surface)}
.fleet-main picture{height:calc(100% - 40px)}
.fleet-grid img,.driver-photo img{width:100%;height:100%;object-fit:cover}
.fleet-side img{aspect-ratio:16/9}
.fleet-grid figcaption{display:flex;align-items:center;gap:10px;min-height:40px;padding-top:12px;font-size:.88rem;color:var(--text-2)}
.fleet-grid figcaption::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0}
@media (max-width:820px){.fleet-grid{grid-template-columns:1fr}.fleet-main{grid-row:auto}.fleet-main picture{height:auto}.fleet-main img{aspect-ratio:16/9}}

/* Rota */
.route{position:relative;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;padding-top:40px}
.route::before,.route::after{content:'';position:absolute;top:5px;left:0;right:0;height:1px;background:var(--line-strong)}
.route::after{height:2px;top:4.5px;background:var(--accent);transform:scaleX(var(--route,1));transform-origin:left}
.route-stop{position:relative}
.route-dot{position:absolute;top:-40px;left:0;width:11px;height:11px;border-radius:50%;background:var(--bg);border:2px solid var(--accent);z-index:1;transition:background-color .3s}
.route-stop.is-on .route-dot,.route-stop:not([data-stop]) .route-dot{background:var(--accent)}
.route-stop h3{font-family:var(--display);font-size:1.35rem;font-weight:600;letter-spacing:-.02em;margin-bottom:10px}
.route-stop p{color:var(--text-2);font-size:.98rem;max-width:32ch}
.route-stop:last-child .route-dot{border-radius:2px}
@media (max-width:820px){
  .route{grid-template-columns:1fr;gap:36px;padding:0 0 0 36px}
  .route::before,.route::after{top:0;bottom:0;left:5px;right:auto;width:1px;height:auto}
  .route::after{width:2px;left:4.5px;transform:scaleY(var(--route,1));transform-origin:top}
  .route-dot{top:6px;left:-36px}
}

/* Motivos */
.reasons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,6vw,96px)}
.reason h3{font-family:var(--display);font-size:clamp(1.4rem,2.4vw,1.8rem);font-weight:600;letter-spacing:-.025em;margin-bottom:14px}
.reason>p:not(.reason-figure){color:var(--text-2);margin-bottom:22px;max-width:46ch}
.reason-figure{font-family:var(--display);font-weight:300;font-size:clamp(4rem,9vw,7.5rem);line-height:.9;letter-spacing:-.06em;color:var(--accent);margin-bottom:24px}
.reason-figure span{font-size:.9rem;letter-spacing:0;color:var(--muted);font-weight:500;vertical-align:top;margin-right:6px}
.reason-figure b{font-weight:300;font-variant-numeric:tabular-nums}
.checklist{list-style:none;margin:0 0 26px;border-top:1px solid var(--line)}
.checklist li{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);font-family:var(--display);font-size:1.1rem;letter-spacing:-.01em}
.checklist li::before{content:'';width:12px;height:7px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(-45deg) translateY(-2px);flex-shrink:0}
@media (max-width:820px){.reasons{grid-template-columns:1fr}}

/* Motoristas */
.driver-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,6vw,80px);align-items:center}
.driver-photo img{aspect-ratio:16/10}
.driver-copy .section-subtitle{margin:18px 0 30px}
@media (max-width:820px){.driver-grid{grid-template-columns:1fr}}

/* Chamada final */
.cta-section{position:relative;z-index:1;min-height:100svh;display:flex;align-items:center;padding:120px 0;overflow:hidden}
.cta-inner h2{font-family:var(--display);font-weight:600;font-size:clamp(2.3rem,5.6vw,4.6rem);line-height:1.02;letter-spacing:-.04em;max-width:13ch}
.cta-inner p{color:var(--text-2);max-width:40ch;margin:22px 0 36px;font-size:1.1rem}

/* Rodape */
.footer{border-top:1px solid var(--line);padding:72px 0 32px;background:var(--bg)}
.footer-container{max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}
.footer-grid{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:40px}
.footer-brand p{color:var(--muted);font-size:.94rem;margin-top:16px;max-width:34ch}
.footer-title{font-family:var(--body);font-size:.84rem;font-weight:600;color:var(--muted);margin-bottom:14px}
.footer-column ul{list-style:none}
.footer-column a{display:inline-block;color:var(--text-2);text-decoration:none;font-size:.95rem;padding:6px 0;transition:color .2s}
.footer-column a:hover,.footer-bottom a:hover{color:var(--accent)}
.footer-app{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;margin-top:56px;padding-top:28px;border-top:1px solid var(--line)}
.footer-app-text .footer-title{margin-bottom:4px;color:var(--text);font-family:var(--display);font-size:1.15rem;letter-spacing:-.01em}
.footer-app-text p{color:var(--muted);font-size:.92rem}
.footer-app-badges{display:flex;flex-wrap:wrap;gap:12px}
.store-badge{display:inline-flex;align-items:center;gap:10px;min-height:50px;padding:8px 16px;border-radius:8px;border:1px solid var(--line-strong);color:var(--text);text-decoration:none;transition:border-color .2s}
.store-badge:hover{border-color:var(--accent)}
.store-badge svg{width:22px;height:22px}
.store-badge span{display:flex;flex-direction:column;line-height:1.15;font-weight:600}
.store-badge small{font-size:.7rem;font-weight:500;color:var(--muted)}
.store-badge-pending{cursor:default;color:var(--text-2)}
.store-badge-pending:hover{border-color:var(--line-strong)}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:40px;color:var(--muted);font-size:.86rem}
.footer-bottom a{color:var(--muted);text-decoration:none;display:inline-block;padding:4px 0}
@media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media (max-width:520px){.footer-grid{grid-template-columns:1fr;gap:28px}.footer-app-badges,.store-badge{width:100%}.store-badge{justify-content:center}}
.whatsapp-float{position:fixed;right:20px;bottom:20px;z-index:900;display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:var(--surface);border:1px solid var(--line-strong);box-shadow:0 10px 30px rgba(0,0,0,.45);transition:border-color .25s,transform .25s var(--ease)}
.whatsapp-float svg{width:24px;height:24px;fill:#25D366}
.whatsapp-float:hover{border-color:#25D366;transform:translateY(-2px)}

/* Modais de lead */
.lead-modal{display:none;position:fixed;inset:0;z-index:10000;align-items:center;justify-content:center;padding:16px}
.lead-modal.active{display:flex}
.lead-modal-overlay{position:absolute;inset:0;background:rgba(5,6,8,.82)}
.lead-modal-container{position:relative;width:100%;max-width:640px;max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;background:var(--bg-2);border:1px solid var(--line);border-radius:10px;padding:40px}
.lead-modal-close{position:absolute;top:14px;right:14px;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:none;color:var(--text);font-size:1.5rem;line-height:1;cursor:pointer}
.lead-modal-close:hover{border-color:var(--accent)}
.lead-modal-header{margin-bottom:28px;padding-right:44px}
.lead-modal-header h2{font-family:var(--display);font-size:1.8rem;font-weight:600;letter-spacing:-.03em;line-height:1.15}
.lead-modal-header p{color:var(--text-2);margin-top:8px}
.lead-form{display:grid;gap:16px}
.lead-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.lead-form-group{display:grid;gap:8px;min-width:0}
.lead-form-group>label{font-size:.86rem;font-weight:600;color:var(--text-2)}
.lead-form-group input,.lead-form-group select,.lead-form-group textarea{width:100%;min-height:48px;padding:12px 14px;border-radius:6px;border:1px solid var(--line-strong);background:var(--bg);color:var(--text);font-size:1rem;transition:border-color .2s}
.lead-form-group input[type=checkbox]{min-height:0}
.lead-form-group textarea{resize:vertical;min-height:96px}
.lead-form-group select option{background:var(--surface)}
.lead-form-group input::placeholder,.lead-form-group textarea::placeholder{color:var(--muted)}
.lead-form-group input:focus,.lead-form-group select:focus,.lead-form-group textarea:focus{outline:none;border-color:var(--accent)}
.lead-checkbox-group{display:grid;gap:0;border-top:1px solid var(--line)}
.lead-checkbox{position:relative;display:flex;align-items:flex-start;gap:12px;min-height:44px;padding:12px 0;border-bottom:1px solid var(--line);cursor:pointer;font-size:.95rem;color:var(--text-2)}
.lead-checkbox input[type=checkbox]{position:absolute;opacity:0;width:1px;height:1px}
.lead-checkbox .checkmark{flex-shrink:0;width:18px;height:18px;margin-top:3px;border-radius:3px;border:1.5px solid var(--muted);display:inline-flex;align-items:center;justify-content:center}
.lead-checkbox input:checked+.checkmark{background:var(--accent);border-color:var(--accent)}
.lead-checkbox input:checked+.checkmark::after{content:'';width:5px;height:9px;border:solid var(--accent-ink);border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}
.lead-checkbox input:focus-visible+.checkmark{outline:2px solid var(--accent);outline-offset:2px}
.lead-consent{border-bottom:0;padding:4px 0;font-size:.86rem}
.lead-consent a{color:var(--accent)}
.lead-consent-text{flex:1;min-width:0;line-height:1.5}
.lead-submit-btn{min-height:52px;border:0;border-radius:6px;background:var(--accent);color:var(--accent-ink);font-weight:700;font-size:1rem;cursor:pointer;transition:background-color .2s}
.lead-submit-btn:hover{background:#4af09c}
.lead-submit-btn:disabled{opacity:.6;cursor:wait}
.lead-form-success{padding:24px 0}
.lead-form-success .success-icon{width:56px;height:56px;margin-bottom:18px;border-radius:50%;border:1.5px solid var(--accent);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:1.5rem}
.lead-form-success h3{font-family:var(--display);font-size:1.5rem;font-weight:600;letter-spacing:-.02em}
.lead-form-success p{color:var(--text-2);margin:8px 0 24px}
.lead-modal-close-success{min-height:48px;padding:10px 24px;border-radius:6px;border:1px solid var(--line-strong);background:none;color:var(--text);font-weight:600;cursor:pointer}
.lead-form-error{padding:12px 14px;border-radius:6px;background:rgba(255,77,79,.1);border:1px solid rgba(255,77,79,.35);color:#ff9fa0;font-size:.92rem}
@media (max-width:600px){.lead-form-row{grid-template-columns:1fr}.lead-modal{padding:0;align-items:flex-end}.lead-modal-container{max-height:92dvh;border-radius:14px 14px 0 0;padding:32px 20px}}

/* Filme */
.video-modal{display:none;position:fixed;inset:0;z-index:10000;background:rgba(0,0,0,.94);align-items:center;justify-content:center;padding:16px}
.video-modal.active{display:flex}
.video-modal-content{position:relative;width:100%;max-width:1040px}
.video-modal video{width:100%;border-radius:4px;background:#000}
.video-modal-close{position:absolute;top:-58px;right:0;width:48px;height:48px;border-radius:50%;border:1px solid var(--line-strong);background:none;color:#fff;font-size:1.8rem;line-height:1;cursor:pointer}

/* Entrada do hero em CSS: roda no primeiro quadro, sem esperar JS (LCP nao depende do GSAP).
   Anima mesmo com movimento reduzido no sistema, por decisao do cliente (09/10). */
@media all{
  .hero-title .line>span{animation:mc-line 1.15s cubic-bezier(.16,1,.3,1) backwards}
  .hero-title .line+.line>span{animation-delay:.12s}
  .hero .hero-actions{animation:mc-up 1s .45s cubic-bezier(.16,1,.3,1) backwards}
  .hero .hero-facts{animation:mc-fade 1.2s .6s ease backwards}
}
@keyframes mc-zoom{from{transform:scale(1.12)}}
@keyframes mc-line{from{transform:translateY(105%)}}
@keyframes mc-up{from{opacity:0;transform:translateY(16px)}}
@keyframes mc-fade{from{opacity:0}}

.section,.manifesto,.marquee,.howto,.driver-band,.footer{position:relative;z-index:1}

/* Cartoes de interface no hero */
.hero-cards{position:absolute;inset:0;pointer-events:none}
.ui-card{position:absolute;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:rgba(15,17,21,.86);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:.82rem;color:var(--text-2);opacity:0}
.ui-card p{margin:0}
.ui-card-label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.76rem}
.ui-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(25,229,126,.15)}
.ui-card-route{margin-top:6px!important;font-family:var(--display);font-size:1rem;color:var(--text);letter-spacing:-.01em}
.ui-card-route span{color:var(--accent)}
.ui-card-meta{margin-top:2px!important;font-size:.78rem}
.ui-card-big{margin-top:4px!important;font-family:var(--display);font-size:.9rem;color:var(--text-2)}
.ui-card-big b{font-size:1.8rem;font-weight:300;color:var(--text);letter-spacing:-.04em}
.ui-bar{display:block;width:150px;height:3px;margin-top:10px;border-radius:3px;background:rgba(255,255,255,.1);overflow:hidden}
.ui-bar i{display:block;height:100%;width:62%;background:var(--accent);border-radius:3px;transform-origin:left}
.ui-card-trip{left:55%;top:15%}
.ui-card-eta{right:5vw;top:60%}
@media (max-width:900px){.hero-cards{display:none}}

/* Faixa corrida */
.marquee{overflow:hidden;padding:26px 0;border-block:1px solid var(--line);background:var(--bg)}
.marquee-track{display:flex;align-items:center;gap:40px;width:max-content;padding-right:40px;font-family:var(--display);font-size:clamp(1.4rem,3vw,2.4rem);font-weight:500;letter-spacing:-.025em;color:var(--muted);white-space:nowrap;will-change:transform}
.marquee-track i{width:9px;height:9px;border-radius:50%;border:2px solid var(--accent);flex-shrink:0}
.marquee-track span:nth-of-type(odd){color:var(--text)}

/* Autonomia na ficha */
.range{display:block;width:100%;max-width:160px;height:2px;margin-top:14px;background:var(--line)}
.range i{display:block;height:100%;width:calc(var(--r) * 100%);background:var(--accent);transform-origin:left}

/* Como funciona: celular fixado */
.howto{padding:clamp(72px,10vw,128px) 0;background:var(--bg)}
.howto-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:center;min-height:min(820px,calc(100svh - 120px))}
.howto-copy .section-subtitle{margin:18px 0 36px}
.howto-steps{list-style:none;border-top:1px solid var(--line)}
.howto-steps li{position:relative;display:grid;grid-template-columns:40px 1fr;gap:16px;padding:22px 0;border-bottom:1px solid var(--line);color:var(--muted);transition:color .4s}
.howto-steps li::after{content:'';position:absolute;left:0;bottom:-1px;height:1px;width:0;background:var(--accent);transition:width .6s var(--ease)}
.howto-steps li.is-active{color:var(--text)}
.howto-steps li.is-active::after{width:100%}
.howto-num{font-family:var(--display);font-size:.95rem;font-weight:600;color:inherit}
.howto-steps h3{font-family:var(--display);font-size:1.3rem;font-weight:600;letter-spacing:-.02em;color:inherit}
.howto-steps p{margin-top:6px;font-size:.95rem;color:var(--text-2)}
.has-pin .howto-steps p{max-height:0;opacity:0;overflow:hidden;transition:max-height .5s var(--ease),opacity .4s}
.has-pin .howto-steps li.is-active p{max-height:120px;opacity:1}
.howto-device{display:flex;flex-direction:column;align-items:center;gap:14px}
.howto-note{font-size:.78rem;color:var(--muted)}
.howto-caption{display:none}
.has-pin .howto{min-height:100svh;display:flex;align-items:center;padding:calc(var(--header-h) + 8px) 0 20px}
.has-pin .howto-grid{width:100%;min-height:0}
.phone-fit{flex:none;width:calc(300px * var(--k,1));height:calc(610px * var(--k,1))}
.phone{position:relative;width:300px;height:610px;transform:scale(var(--k,1));transform-origin:0 0;border-radius:44px;border:1px solid var(--line-strong);background:#07080a;box-shadow:0 40px 90px rgba(0,0,0,.55),inset 0 0 0 6px #111318;overflow:hidden}
.phone-notch{position:absolute;top:12px;left:50%;width:92px;height:24px;margin-left:-46px;border-radius:20px;background:#000;z-index:3}
.screen{position:absolute;inset:6px;padding:56px 20px 22px;border-radius:38px;background:var(--bg);display:flex;flex-direction:column;gap:12px}
.screen:not(.is-on){opacity:0;visibility:hidden}
.app-title{font-family:var(--display);font-size:1.2rem;font-weight:600;letter-spacing:-.02em}
.app-field{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);display:grid;gap:2px}
.app-field span,.app-quote span,.app-kpis span,.app-co2 span{font-size:.68rem;color:var(--muted)}
.app-field b{font-size:.86rem;font-weight:600;white-space:nowrap;overflow:hidden}
.app-chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{padding:6px 10px;border-radius:8px;border:1px solid var(--line-strong);font-size:.72rem;font-weight:600;color:var(--text-2);transition:background-color .3s,color .3s,border-color .3s}
.chip.is-pick,.chip:first-child{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.has-pin .chip:first-child:not(.is-pick){background:none;border-color:var(--line-strong);color:var(--text-2)}
.app-quote{display:grid;gap:2px;padding:10px 0;border-top:1px solid var(--line)}
.app-quote b{font-family:var(--display);font-size:.95rem}
.app-btn{margin-top:auto;display:flex;align-items:center;justify-content:center;min-height:44px;border-radius:10px;background:var(--accent);color:var(--accent-ink);font-weight:700;font-size:.86rem}
.app-btn-ghost{background:none;border:1px solid var(--line-strong);color:var(--text)}
.screen-2{padding:0;overflow:hidden}
.app-map{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#232a36}
.app-map-route{position:absolute;inset:0;width:100%;height:100%}
.map-streets path{stroke:rgba(255,255,255,.06);stroke-width:10;fill:none}
.map-route-bg{fill:none;stroke:rgba(25,229,126,.18);stroke-width:5;stroke-linecap:round}
.map-route{fill:none;stroke:var(--accent);stroke-width:5;stroke-linecap:round}
.map-start{fill:var(--bg);stroke:var(--accent);stroke-width:3}
.map-pin path{fill:var(--text)}
.map-pin circle{fill:var(--bg)}
.map-car circle{fill:rgba(25,229,126,.25)}
.map-car .map-car-core{fill:var(--accent)}
.app-sheet{position:absolute;left:10px;right:10px;bottom:10px;padding:16px;border-radius:24px;background:rgba(15,17,21,.94);border:1px solid var(--line)}
.app-sheet-title{font-family:var(--display);font-weight:600;font-size:1rem}
.app-sheet-meta{font-size:.78rem;color:var(--text-2);margin-top:2px}
.app-sheet .ui-bar{width:100%}
.app-kpis{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.app-kpis>div{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);display:grid}
.app-kpis b{font-family:var(--display);font-size:1.25rem;font-weight:400;letter-spacing:-.03em}
.app-co2{padding:12px;border-radius:10px;border:1px solid rgba(25,229,126,.35)}
.app-co2 p{margin:0;font-family:var(--display);color:var(--accent)}
.app-co2 b{font-size:2rem;font-weight:300;letter-spacing:-.05em}
.app-co2 small{margin-left:4px;font-size:.8rem;color:var(--text-2)}
.app-bars{display:flex;align-items:flex-end;gap:8px;height:96px;padding-top:6px;border-bottom:1px solid var(--line)}
.app-bars i{flex:1;height:calc(var(--h) * 100%);border-radius:4px 4px 0 0;background:linear-gradient(180deg,var(--accent),rgba(25,229,126,.25));transform-origin:bottom}
@media (max-width:900px){
  .howto-grid{grid-template-columns:1fr;gap:24px;min-height:0}
  .has-pin .howto{display:block;min-height:0;padding:clamp(72px,10vw,128px) 0 0}
  .has-pin .howto-steps p{max-height:none;opacity:1}
  .has-pin .howto-steps li{color:var(--text)}
  .has-pin .howto-steps li::after{display:none}
  .has-pin .howto-device{min-height:100svh;justify-content:center;gap:12px;padding:calc(var(--header-h) - 8px) 0 76px}
  .has-pin .howto-caption{display:flex;align-items:center;gap:10px;width:min(300px,100%);font-family:var(--display);font-size:1rem;font-weight:600;color:var(--text)}
  .hc-num{flex:none;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;border:1px solid var(--accent);color:var(--accent);font-size:.8rem}
  .hc-title{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .hc-bar{flex:none;width:64px;height:2px;background:var(--line);overflow:hidden}
  .hc-bar i{display:block;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:left}
  .howto-copy .section-subtitle{margin:12px 0 18px}
  .howto-steps li{padding:14px 0}
}

/* Marca grande no rodape */
.footer-wordmark{margin:64px 0 0;font-family:var(--display);font-weight:600;font-size:clamp(2.5rem,17vw,13.4rem);line-height:1;letter-spacing:-.06em;text-align:center;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.16);white-space:nowrap;overflow:hidden;user-select:none}

/* Hero: espaco para o carro de particulas */
.hero-title{max-width:min(640px,50vw)}
.hero-lead{max-width:min(520px,44vw)}
@media (max-width:640px),(max-width:900px) and (orientation:portrait){
  .hero{padding-top:calc(var(--header-h) + 36vh)}
  .hero-title,.hero-lead{max-width:none}
}
@media (max-width:640px) and (max-height:700px){
  .hero{padding-top:calc(var(--header-h) + 28vh)}
  .hero-title{font-size:2.3rem}
  .hero-lead{margin:16px 0 22px;font-size:1rem}
}
@media (max-width:640px),(max-width:900px) and (orientation:portrait),(max-height:500px) and (orientation:landscape){
  .cta-section{min-height:0;padding-bottom:calc(56px + min(88vw,340px,90vh))}
}

/* Mundo 3D (canvas WebGL fixo atras do conteudo) */
.world{position:fixed;inset:0;z-index:0;width:100%;height:100%;pointer-events:none;opacity:0;transition:opacity .5s ease}
.world.is-ready{opacity:1}

/* Manifesto fixado */
.manifesto{min-height:100svh;display:flex;align-items:center;padding:clamp(64px,12vh,120px) 0}
.manifesto .container{position:relative}
.manifesto-text em{font-style:normal;color:var(--accent)}
.has-motion .manifesto-text em{color:inherit;position:relative;transition:color .5s var(--ease),text-shadow .5s}
.has-motion .manifesto-text em::after{content:'';position:absolute;left:0;right:0;bottom:-.06em;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease)}
.has-motion .manifesto-text em.is-lit{color:var(--accent);text-shadow:0 0 24px rgba(25,229,126,.35)}
.has-motion .manifesto-text em.is-lit::after{transform:scaleX(1)}
.manifesto-meter{display:block;width:min(520px,70%);height:2px;margin-top:48px;background:var(--line);overflow:hidden}
.manifesto-meter i{display:block;width:100%;height:100%;background:linear-gradient(90deg,rgba(25,229,126,.2),var(--accent));transform:scaleX(0);transform-origin:left}

/* Tecnologia (fixada, carro 3D atras) */
.tech{position:relative;z-index:1;min-height:100svh;display:flex;align-items:center;padding:96px 0}
.tech-grid{position:relative;z-index:2}
.tech-copy{max-width:min(440px,44vw)}
.tech-copy .section-title{margin-bottom:36px}
.tech-steps{list-style:none;display:grid;border-top:1px solid var(--line)}
.tech-steps li{position:relative;display:grid;grid-template-columns:44px 1fr;gap:12px;padding:20px 0;border-bottom:1px solid var(--line);color:var(--muted);transition:color .4s}
.tech-steps li::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,rgba(25,229,126,.35),var(--accent));transform:scaleX(var(--p,0));transform-origin:left;opacity:0;transition:opacity .4s}
.tech-steps li.is-active::after{opacity:1}
.has-motion .tech-steps h3{transition:transform .5s var(--ease)}
.has-motion .tech-steps li.is-active h3{transform:translateX(6px)}
.tech-steps li.is-active{color:var(--text)}
.tech-num{font-family:var(--display);font-size:.84rem;font-weight:600;padding-top:4px;color:inherit}
.tech-steps li.is-active .tech-num{color:var(--accent)}
.tech-steps h3{font-family:var(--display);font-size:1.3rem;font-weight:600;letter-spacing:-.02em}
.tech-steps p{margin-top:6px;color:var(--text-2);font-size:.95rem;line-height:1.55}
.has-motion .tech-steps p{max-height:0;opacity:0;overflow:hidden;transition:max-height .5s var(--ease),opacity .4s}
.has-motion .tech-steps li.is-active p{max-height:140px;opacity:1}
.tech-hud{position:absolute;inset:0;z-index:1;pointer-events:none;display:none}
.has-motion .tech-hud{display:block}
.hud-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.hud-lines line{stroke:rgba(25,229,126,.7);stroke-width:1;opacity:0}
.hud-node{position:absolute;left:0;top:0;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;border:1.5px solid var(--accent);background:rgba(25,229,126,.18);box-shadow:0 0 14px rgba(25,229,126,.65);opacity:0;will-change:transform}
.hud-node::after{content:'';position:absolute;inset:-1.5px;border-radius:50%;border:1px solid var(--accent);animation:node-ping 1.6s infinite}
@keyframes node-ping{from{transform:scale(1);opacity:.85}to{transform:scale(2.8);opacity:0}}
.hud-chip{position:absolute;left:0;top:0;display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid rgba(25,229,126,.35);border-radius:10px;background:rgba(10,11,14,.82);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:.78rem;color:var(--text-2);opacity:0;white-space:nowrap;will-change:transform}
.hud-chip b{display:block;font-family:var(--display);font-size:.92rem;font-weight:600;color:var(--text)}
.hud-chip small{font-size:.74rem;color:var(--muted)}
.hud-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(25,229,126,.18);animation:hud-ping 1.8s infinite}
@keyframes hud-ping{0%{box-shadow:0 0 0 0 rgba(25,229,126,.45)}100%{box-shadow:0 0 0 10px rgba(25,229,126,0)}}
.hud-meter{display:block;width:120px;height:4px;margin:6px 0 4px;border-radius:4px;background:rgba(255,255,255,.1);overflow:hidden}
.hud-meter i{display:block;height:100%;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:left}
.hud-econ{position:absolute;right:max(5vw,24px);bottom:max(8vh,88px);display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:min(620px,50vw);opacity:0}
.hud-econ>div{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:rgba(10,11,14,.85)}
.hud-econ span{display:block;font-size:.76rem;color:var(--muted)}
.hud-econ b{margin-top:auto;white-space:nowrap;font-family:var(--display);font-size:1.6rem;font-weight:300;letter-spacing:-.03em;color:var(--text)}
.hud-econ b span{display:inline;font-size:inherit;color:var(--accent)}
.hud-econ small{grid-column:1/-1;font-size:.72rem;color:var(--muted);text-align:right}
@media (max-height:680px) and (orientation:landscape){
  .tech{padding:72px 0 24px}
  .tech-copy .section-title{font-size:clamp(1.6rem,3.6vw,2.2rem);margin-bottom:16px}
  .tech-steps li{padding:11px 0}
  .tech-steps h3{font-size:1.02rem}
  .tech-steps p{font-size:.85rem;line-height:1.45}
  .hud-econ{bottom:84px}
  .hud-econ>div{padding:10px 12px}
  .hud-econ b{font-size:1.25rem}
}
@media (min-width:901px) and (max-height:680px){
  .has-pin .howto{padding:calc(var(--header-h) - 8px) 0 12px}
  .howto-copy .section-title{font-size:clamp(1.6rem,3.4vw,2.3rem)}
  .howto-copy .section-subtitle{margin:10px 0 16px;font-size:.95rem}
  .howto-steps li{padding:13px 0}
  .howto-steps h3{font-size:1.1rem}
}
@media (max-height:500px) and (orientation:landscape){
  .manifesto{padding:56px 0 24px}
  .manifesto-text{font-size:clamp(1.3rem,6.4vh,2.2rem)}
  .has-pin .howto{display:block;min-height:0;padding:72px 0}
  .has-pin .howto-grid{grid-template-columns:minmax(0,1fr) auto}
  .has-pin .howto-steps p{max-height:none;opacity:1}
  .has-pin .howto-steps li{color:var(--text)}
  .has-pin .howto-steps li::after{display:none}
  .has-pin .howto-device{order:0;min-height:0;padding:0}
  .has-pin .howto-caption{display:none}
}
@media (max-height:460px) and (orientation:landscape){
  .tech{padding:60px 0 16px}
  .tech-copy .section-title{font-size:1.4rem;margin-bottom:10px}
  .tech-steps li{padding:7px 0}
  .has-motion .tech-steps li.is-active p{max-height:0;opacity:0}
}
@media (max-width:640px),(max-width:900px) and (orientation:portrait){
  .tech{align-items:flex-end;padding:0 0 84px}
  .has-motion .tech-steps{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:8px;border-top:0}
  .has-motion .tech-steps li{display:contents}
  .has-motion .tech-steps li::after{display:none}
  .has-motion .tech-num{grid-row:1;position:relative;padding:12px 0 0;font-size:.78rem}
  .has-motion .tech-num::before{content:'';position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--accent) calc(var(--p,0) * 100%),var(--line) 0)}
  .has-motion .tech-steps li>div{grid-row:2;grid-column:1/-1;display:none;padding-top:12px}
  .has-motion .tech-steps li.is-active>div{display:block}
  .has-motion .tech-steps li.is-active h3{transform:none}
  .tech-copy{max-width:none}
  .tech-copy .section-title{margin-bottom:18px;font-size:1.8rem}
  .tech-steps li{padding:12px 0}
  .tech-steps h3{font-size:1.05rem}
  .hud-chip{padding:8px 10px}
  .hud-chip b{font-size:.82rem}
  .hud-econ{left:16px;right:16px;top:calc(var(--header-h) + 10px);bottom:auto;width:auto;grid-template-columns:1fr 1fr 1fr;gap:6px}
  .hud-econ>div{padding:10px}
  .hud-econ b{font-size:1.05rem}
  .hud-econ small{grid-column:1/-1}
}

/* Destino no fechamento */
.cta-chip{position:absolute;left:0;top:0;z-index:3;display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid rgba(25,229,126,.35);border-radius:999px;background:rgba(10,11,14,.85);font-size:.82rem;font-weight:600;color:var(--text);opacity:0;pointer-events:none;white-space:nowrap}

/* Botoes vivos */
.btn,.link-play,.lead-submit-btn{position:relative;overflow:hidden;isolation:isolate;will-change:transform}
.link-play{overflow:visible}
.roll{position:relative;display:inline-flex;flex-direction:column;height:1.2em;overflow:hidden;line-height:1.2}
.roll>span{display:block;padding-bottom:.35em;transition:transform .45s var(--ease)}
.btn:hover .roll>span,.btn:focus-visible .roll>span{transform:translateY(-100%)}
.btn-primary::before,.btn-light::before,.lead-submit-btn::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(160px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.55),transparent 60%);opacity:0;transition:opacity .3s}
.btn-primary:hover::before,.btn-light:hover::before,.lead-submit-btn:hover::before{opacity:1}
.btn-primary{box-shadow:0 0 0 0 rgba(25,229,126,0);transition:background-color .25s var(--ease),box-shadow .35s var(--ease)}
.btn-primary:hover{box-shadow:0 10px 40px -8px rgba(25,229,126,.6)}
.ripple{position:absolute;z-index:-1;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:rgba(255,255,255,.5);pointer-events:none}
.play-ring{position:relative}
.play-ring::before,.play-ring::after{content:'';position:absolute;inset:-1px;border-radius:50%;border:1px solid var(--accent);opacity:0;animation:play-wave 2.6s infinite}
.play-ring::after{animation-delay:1.3s}
@keyframes play-wave{0%{transform:scale(1);opacity:.6}100%{transform:scale(1.7);opacity:0}}
.link-arrow{background:linear-gradient(var(--accent),var(--accent)) left bottom/0 1px no-repeat;transition:background-size .45s var(--ease),color .25s,border-color .25s}
.link-arrow:hover{background-size:100% 1px;border-color:transparent}
.btn-nav{background:linear-gradient(var(--accent),var(--accent)) left/0 100% no-repeat;transition:background-size .45s var(--ease),color .25s,border-color .25s}
.btn-nav:hover{background-size:100% 100%;color:var(--accent-ink);border-color:var(--accent)}
.spec-row:not(.spec-headrow)::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(25,229,126,.07),transparent 70%);opacity:0;transition:opacity .4s}
.spec-row:not(.spec-headrow):hover::after{opacity:1}
.spec-row{isolation:isolate}
.fleet-grid figure img,.driver-photo img{transition:transform 1.2s var(--ease)}
.fleet-grid figure:hover img,.driver-photo:hover img{transform:scale(1.04)}

/* Mapa do celular */
.screen-2{background:#232a36}
.map-label{font-size:7px;fill:#6b7486;letter-spacing:.02em;font-family:var(--body)}
.map-label-strong{fill:#8b93a3;font-size:7.5px;font-weight:600}
.map-label-water{fill:#3b5a80;font-style:italic}
.map-label-area{fill:#4a5262;font-size:8px;letter-spacing:.3em;font-weight:600}
.map-label-park{fill:#3f6b52}
.map-route-case{fill:none;stroke:#0a3a24;stroke-width:9;stroke-linecap:round;stroke-linejoin:round}
.map-route{fill:none;stroke:var(--accent);stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
.map-route-done{fill:none;stroke:#59616f;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:0 9999}
.map-start circle{fill:var(--accent)}
.map-start .map-start-halo{fill:rgba(25,229,126,.2)}
.map-pin path{fill:#fff}
.map-pin circle{fill:#0a0b0e}
.map-pin-shadow{fill:rgba(0,0,0,.5)}
.map-car-halo{fill:rgba(25,229,126,.18);animation:map-halo 1.6s infinite;transform-box:fill-box;transform-origin:center}
@keyframes map-halo{0%{transform:scale(.6);opacity:1}100%{transform:scale(1.3);opacity:0}}
.map-car-body rect{fill:#fff}
.map-car .map-car-glass{fill:#0a0b0e}
.map-pill{position:absolute;top:50px;left:12px;max-width:62%;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 6px;padding:10px 14px;border-radius:14px;background:rgba(15,17,21,.92);border:1px solid var(--line);font-size:.78rem;color:var(--text-2)}
.map-pill b{font-family:var(--display);font-size:1.05rem;color:var(--accent);font-weight:600}
.map-pill small{flex-basis:100%;font-size:.68rem;color:var(--muted)}
@media (max-width:600px){.map-pill small{display:none}}
.map-recenter{position:absolute;right:14px;top:54px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:rgba(15,17,21,.92);border:1px solid var(--line);color:var(--text-2)}
.map-dest-chip{position:absolute;transform:translate(-50%,-100%);padding:4px 8px;border-radius:6px;background:#fff;color:#0a0b0e;font-size:.62rem;font-weight:700;white-space:nowrap}
.sheet-row{display:flex;align-items:center;gap:10px}
.sheet-avatar{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--surface-2,#1e2129);border:1px solid var(--line-strong);font-family:var(--display);font-size:.72rem;font-weight:600;color:var(--text)}
.sheet-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px}
.sheet-actions span{display:flex;align-items:center;justify-content:center;min-height:32px;border-radius:8px;border:1px solid var(--line-strong);font-size:.68rem;font-weight:600;color:var(--text)}

/* Marca do rodape preenchendo com a rolagem */
.footer-wordmark{color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.3);background-image:linear-gradient(90deg,transparent calc(100% - 4px),var(--accent) calc(100% - 4px)),linear-gradient(180deg,#F4F6F8 15%,#A7AEB8 100%);background-position:left;background-size:0% 100%;background-repeat:no-repeat;-webkit-background-clip:text;background-clip:text}
html:not(.has-motion) .footer-wordmark{background-size:100% 100%}
