/* ==========================================================================
   SINAL CAMINHÕES · identidade de sinalização rodoviária
   preto do asfalto, verde de placa de rodovia, amarelo de farol e de advertência,
   Overpass (família da Highway Gothic) e o asfalto da BR-101
   ========================================================================== */
:root{
  --verde:#0E7A45; --verde-2:#14995A; --verde-escuro:#075C33; --verde-vivo:#2BC673; --preto:#0A0B0A; --noite:#0A0B0A; --noite-2:#050605;
  --amarelo:#FFC20E; --amarelo-2:#E9A800;
  --fundo:#0A0B0A; --fundo-2:#1A1D1B; --superficie:#131514; --tinta:#F3F1EA; --cinza:#9BA19D;
  --linha:rgba(255,255,255,.1); --linha-2:rgba(255,255,255,.2);
  --asfalto:#14161C;
  --f:'Overpass',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --m:'Overpass Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --mola:cubic-bezier(.16,1,.3,1); --ease:cubic-bezier(.65,0,.35,1);
  --pad:16px; --topo:64px; --safe-t:env(safe-area-inset-top,0px); --safe-b:env(safe-area-inset-bottom,0px);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--topo) + var(--safe-t))}
body{margin:0;background:var(--fundo);color:var(--tinta);font:400 16px/1.5 var(--f);-webkit-font-smoothing:antialiased;overflow-x:clip}
body::after{content:'';position:fixed;inset:0;z-index:300;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:0;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
h1,h2,h3,p,ul,ol,figure,fieldset{margin:0;padding:0;border:0}
ul,ol{list-style:none}
address{font-style:normal}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--amarelo);outline-offset:3px;border-radius:6px}
::selection{background:var(--amarelo);color:var(--preto)}
.i{width:1.2em;height:1.2em;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- botões, rótulos, títulos ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:3px 22px 0;border-radius:12px;font:800 16px/1 var(--f);white-space:nowrap;transition:transform .25s var(--mola),background-color .2s,border-color .2s,color .2s}
.btn:active{transform:scale(.97)}
.btn .i{margin-top:-3px}
.btn--amarelo{background:var(--amarelo);color:var(--preto);box-shadow:inset 0 -3px 0 rgba(11,31,92,.16)}
.btn--amarelo:hover{background:#ffcd3a}
.btn--linha{border:2px solid rgba(255,255,255,.38);color:#fff}
.btn--linha:hover{border-color:#fff}
.btn--escuro{background:var(--preto);color:#fff;box-shadow:inset 0 -3px 0 rgba(0,0,0,.25)}
.btn--escuro:hover{background:#1d1f1e}
.btn--cheio{width:100%}

.kicker{display:flex;align-items:center;gap:10px;font:700 11.5px/1 var(--m);letter-spacing:.2em;text-transform:uppercase;color:var(--verde-vivo)}
.kicker::before{content:'';width:9px;height:9px;background:var(--amarelo);transform:rotate(45deg)}
.cab--claro .kicker{color:var(--amarelo)}
.cab--claro .kicker::before{box-shadow:0 0 0 1.5px #fff}
.kicker--escuro{color:var(--preto)}
.kicker--escuro::before{background:var(--preto);box-shadow:none}
.titulo{margin-top:16px;font:900 clamp(40px,11.4vw,92px)/.9 var(--f);letter-spacing:-.035em}
.titulo .az{color:var(--verde-vivo)}
.titulo .am,.am{color:var(--amarelo)}
.cab__txt{margin-top:18px;max-width:38ch;font:500 17px/1.5 var(--f);color:var(--cinza)}
.cab--claro .cab__txt{color:rgba(255,255,255,.78)}
.ln{display:block;overflow:hidden;padding-bottom:.07em;margin-bottom:-.07em}
.ln>span{display:inline-block}
.js [data-rev] .ln>span,.js .placa__titulo .ln>span{transform:translateY(108%);transition:transform 1s var(--mola)}
.js [data-rev].on .ln>span,.js body.pronto .placa__titulo .ln>span{transform:none}
.js .ln:nth-child(2)>span{transition-delay:.08s}
.js .ln:nth-child(3)>span{transition-delay:.16s}
.js body.pronto .placa__titulo .ln:nth-child(1)>span{transition-delay:.45s}
.js body.pronto .placa__titulo .ln:nth-child(2)>span{transition-delay:.53s}
.js body.pronto .placa__titulo .ln:nth-child(3)>span{transition-delay:.61s}

/* ---------- abertura ---------- */
.intro{position:fixed;inset:0;z-index:200;display:none;place-content:center;justify-items:center;gap:18px;background:var(--fundo)}
.abre .intro{display:grid}
.intro__marca{width:150px;height:150px;overflow:visible;animation:introMarca .8s var(--mola) both}
.intro__farol{fill:#3b3412;animation:farolPisca 1s .75s steps(1,end) both}
.intro__luz{opacity:0;animation:luzPisca 1s .75s steps(1,end) both}
.intro__txt{font:900 40px/.8 var(--f);letter-spacing:-.01em;color:#fff;text-align:center;opacity:0;animation:sobe .6s 1.3s var(--mola) forwards}
.intro__txt small{display:block;margin-top:7px;font:700 12.4px/1 var(--m);letter-spacing:.33em;margin-right:-.33em;color:var(--amarelo)}
.intro.sai{animation:introSai .7s var(--ease) forwards}
@keyframes introMarca{from{transform:translateY(26px) scale(.85);opacity:0}}
@keyframes farolPisca{0%,30%,60%{fill:#3b3412}15%,45%,75%,100%{fill:#FFC20E}}
@keyframes luzPisca{0%,30%,60%{opacity:0}15%,45%,75%,100%{opacity:1}}
@keyframes pisca{0%,50%{--c4:#3b3412}25%,75%,100%{--c4:#FFC20E}}
@keyframes desenha{to{stroke-dashoffset:0}}
@keyframes aparece{to{opacity:1}}
@keyframes sobe{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes introSai{to{clip-path:inset(0 0 100% 0)}}

/* ---------- topo ---------- */
.topo{position:fixed;inset:0 0 auto;z-index:60;display:flex;align-items:center;gap:16px;height:calc(var(--topo) + var(--safe-t));padding:var(--safe-t) var(--pad) 0;transition:background-color .3s,box-shadow .3s,transform .4s var(--mola)}
.topo.solido{background:rgba(10,11,10,.84);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);box-shadow:0 1px 0 var(--linha)}
.logo{display:flex;align-items:center;gap:9px;margin-right:auto}
.logo__marca{width:42px;height:42px;flex:none;transition:transform .6s var(--mola)}
.logo:hover .logo__marca{animation:pisca .7s steps(1,end) 2}
.logo__txt b{display:block;font:900 25px/.78 var(--f);letter-spacing:-.005em;color:#fff;padding-top:3px}
.logo__txt small{display:block;margin-top:5px;font:700 8.3px/1 var(--m);letter-spacing:.31em;color:var(--amarelo)}
.logo--claro .logo__txt b,.logo--claro .logo__txt small{color:#fff}
.topo__nav{display:none}
.topo__wa{display:inline-flex;align-items:center;gap:8px;height:44px;padding:2px 15px 0;border-radius:11px;background:var(--verde);color:#fff;font:800 14.5px/1 var(--f)}
.topo__wa .i{margin-top:-2px}

/* ---------- hero: a placa ---------- */
.hero{display:flex;flex-direction:column;min-height:100vh;min-height:100svh;padding-top:calc(var(--topo) + var(--safe-t) + 6px)}
.placa{position:relative;isolation:isolate;margin:0 12px;padding:22px 22px 26px;border-radius:22px;color:#fff;background:linear-gradient(180deg,var(--verde-2) 0%,var(--verde) 46%,var(--verde-escuro) 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 30px 90px -30px rgba(43,198,115,.3);transform-origin:50% 0}
.placa::before{content:'';position:absolute;inset:7px;border:2.5px solid #fff;border-radius:16px;pointer-events:none}
.placa__refletivo{position:absolute;inset:0;z-index:-1;border-radius:inherit;background-image:repeating-linear-gradient(60deg,rgba(255,255,255,.045) 0 1px,transparent 1px 8px),repeating-linear-gradient(-60deg,rgba(255,255,255,.045) 0 1px,transparent 1px 8px)}
.placa__brilho{position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(102deg,transparent 30%,rgba(255,255,255,.2) 44%,rgba(255,255,255,.04) 51%,transparent 62%) no-repeat;background-size:320% 100%;background-position:130% 0;animation:farol 8s 2.4s infinite}
@keyframes farol{0%{background-position:130% 0}22%,100%{background-position:-30% 0}}
.js .placa{opacity:0;animation:mostra 0s 3.5s forwards}
.js .placa__titulo .ln>span{animation:mostraT 0s 3.5s forwards}
@keyframes mostra{to{opacity:1}}
@keyframes mostraT{to{transform:none}}
.js body.pronto .placa{animation:pendura 1.2s var(--mola) forwards}
@keyframes pendura{0%{opacity:0;transform:perspective(900px) rotateX(-28deg) translateY(-36px)}45%{opacity:1;transform:perspective(900px) rotateX(7deg)}72%{transform:perspective(900px) rotateX(-2.5deg)}100%{opacity:1;transform:none}}
.placa__topo{display:flex;align-items:flex-start;gap:14px}
.escudo{position:relative;flex:none;width:50px;height:55px;color:#0A0B0A;text-align:center}
.escudo svg{position:absolute;inset:0;width:100%;height:100%}
.escudo small{position:absolute;left:0;right:0;top:6px;font:800 9.5px/1 var(--f);letter-spacing:.06em}
.escudo b{position:absolute;left:0;right:0;top:21px;font:900 19px/1 var(--f);letter-spacing:-.04em}
.placa__km{display:flex;flex-direction:column;padding-top:3px}
.placa__km small{font:700 10.5px/1 var(--m);letter-spacing:.2em;opacity:.8}
.placa__km b{font:900 33px/.9 var(--f);letter-spacing:-.02em;margin-top:4px}
.placa__km em{margin-top:6px;font:600 10.5px/1 var(--m);font-style:normal;letter-spacing:.14em;text-transform:uppercase;opacity:.8}
.placa__seta{margin-left:auto;width:30px;height:auto;margin-top:2px}
.placa__titulo{margin-top:26px;font:900 clamp(46px,13.4vw,128px)/.9 var(--f);letter-spacing:-.035em}
.placa__sub{margin-top:16px;max-width:36ch;font:500 16px/1.48 var(--f);color:rgba(255,255,255,.84)}
.placa__acoes{display:grid;gap:10px;margin-top:22px}
.placa__destinos{display:none}
.seta-placa{width:26px;height:32px;flex:none;fill:#fff;transform:rotate(var(--r));transition:transform .4s var(--mola)}
.parafuso{position:absolute;bottom:13px;width:9px;height:9px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#f4f5f7,#8b919a 70%);box-shadow:0 1px 1px rgba(0,0,0,.4)}
.parafuso.p1{left:calc(25% - 4.5px)}
.parafuso.p2{left:calc(75% - 4.5px)}
.postes{position:relative;flex:1 1 auto;min-height:72px;width:calc(100% - 24px);margin:0 auto}
.postes span{position:absolute;top:-2px;bottom:0;width:14px;margin-left:-7px;background:linear-gradient(90deg,#7f858e,#eef0f2 42%,#a9afb7 68%,#727881);z-index:-1}
.postes span:nth-child(1){left:25%}
.postes span:nth-child(2){left:75%}
.siga{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;font:700 10.5px/1 var(--m);letter-spacing:.24em;text-transform:uppercase;color:var(--cinza)}
.siga .i{animation:siga 1.8s var(--ease) infinite}
@keyframes siga{50%{transform:translateY(5px)}}

/* ---------- a estrada (rola junto com a página) ---------- */
.estrada{position:relative;height:340vh;background:var(--asfalto)}
.estrada__fixo{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:radial-gradient(ellipse 70% 22% at 50% 38%,rgba(255,194,14,.32),transparent 70%),linear-gradient(180deg,#000 0%,#050d08 24%,#0f2a1b 34%,#3a4a2c 37.6%,#0f1110 38%)}
.estrada__kicker{position:absolute;left:0;right:0;top:calc(var(--topo) + var(--safe-t) + 26px);text-align:center;font:700 11.5px/1 var(--m);letter-spacing:.22em;text-transform:uppercase;color:var(--amarelo)}
.estrada__cena{position:absolute;left:0;right:0;top:38%;bottom:0;overflow:hidden;perspective:250px;perspective-origin:50% 0}
.estrada__cena::after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 70% 55% at 50% 108%,rgba(255,236,190,.2),transparent 70%),linear-gradient(180deg,transparent 45%,rgba(10,12,16,.92) 92%)}
.estrada__plano{--y:0px;position:absolute;left:50%;bottom:0;width:500px;height:2600px;margin-left:-250px;transform-origin:50% 100%;transform:rotateX(76deg);
  background:
    linear-gradient(90deg,transparent 4%,var(--amarelo) 4% 5.6%,transparent 5.6% 94.4%,#ecebe6 94.4% 96%,transparent 96%),
    linear-gradient(90deg,#0c0e12 0 2%,#1c1f26 2% 98%,#0c0e12 98%)}
.pintura{position:absolute;left:50%;bottom:var(--d);transform:translate3d(-50%,0,0) scaleY(2.7);will-change:transform;transform-origin:50% 100%;font:900 104px/.8 var(--f);letter-spacing:.01em;color:#e9e7e0;white-space:nowrap;opacity:.94}
.pintura.am{color:var(--amarelo)}
.tachas{position:absolute;left:50%;top:-170px;bottom:0;width:12px;margin-left:-6px;background:radial-gradient(circle,#ffd65a 0 5px,transparent 6px) 50% 0/12px 170px repeat-y;animation:tachas .8s linear infinite;will-change:transform}
@keyframes tachas{to{transform:translate3d(0,170px,0)}}
.estrada__legendas{position:absolute;left:var(--pad);right:calc(var(--pad) + 70px);bottom:calc(30px + var(--safe-b));height:118px}
.estrada__legendas li{position:absolute;left:0;right:0;bottom:0;opacity:0;transform:translateY(18px);transition:opacity .45s,transform .7s var(--mola)}
.estrada__legendas li.on{opacity:1;transform:none}
.estrada__legendas b{display:block;font:900 clamp(30px,8.6vw,54px)/.95 var(--f);letter-spacing:-.03em;color:#fff}
.estrada__legendas p{margin-top:10px;max-width:34ch;font:500 16px/1.45 var(--f);color:rgba(255,255,255,.76)}
.estrada__pontos{position:absolute;left:var(--pad);bottom:calc(166px + var(--safe-b));display:flex;gap:6px}
.estrada__pontos i{width:22px;height:4px;border-radius:2px;background:rgba(255,255,255,.22);transition:background-color .3s,width .4s var(--mola)}
.estrada__pontos i.on{width:38px;background:var(--amarelo)}

/* ---------- faixa de marcas ---------- */
.faixa{overflow:hidden;background:var(--amarelo);color:var(--preto);border-block:3px solid var(--preto)}
.faixa__trilho{display:flex;align-items:center;width:max-content;padding:15px 0 12px;animation:trilho 34s linear infinite}
.faixa span{padding:0 18px;font:900 22px/1 var(--f);letter-spacing:-.01em;text-transform:uppercase;white-space:nowrap}
.faixa i{flex:none;width:9px;height:9px;margin-top:-3px;background:var(--preto);transform:rotate(45deg)}
@keyframes trilho{to{transform:translateX(-50%)}}

/* ---------- pátio ---------- */
.patio{padding:76px var(--pad) 84px}
.patio__conta{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;margin-top:20px;font:600 13px/1.4 var(--m);color:var(--cinza)}
.patio__conta b{font:900 22px/1 var(--f);color:var(--tinta)}
#atualizado:not(:empty)::before{content:'·';margin:0 6px}
.filtros{position:sticky;top:calc(var(--topo) + var(--safe-t));z-index:20;display:flex;gap:8px;margin:22px calc(var(--pad) * -1) 0;padding:10px var(--pad);overflow-x:auto;scrollbar-width:none;background:linear-gradient(var(--fundo) 78%,rgba(10,11,10,0))}
.filtros::-webkit-scrollbar{display:none}
.chip{flex:none;display:inline-flex;align-items:center;gap:8px;height:42px;padding:3px 15px 0;border-radius:10px;border:2px solid var(--linha-2);font:800 14.5px/1 var(--f);transition:background-color .2s,color .2s,border-color .2s}
.chip small{font:700 11px/1 var(--m);opacity:.6;margin-top:-2px}
.chip[aria-pressed="true"]{background:var(--verde);border-color:var(--verde);color:#fff}
.grade{display:grid;gap:18px;margin-top:14px}
.card{position:relative;display:flex;flex-direction:column;border-radius:20px;overflow:hidden;background:var(--superficie);box-shadow:inset 0 0 0 1px var(--linha);transition:transform .5s var(--mola),box-shadow .5s}
.js .card{opacity:0}
.js .card.on{opacity:1;animation:cardSobe .9s var(--mola) var(--atraso,0ms) backwards}
@keyframes cardSobe{from{opacity:0;transform:translateY(28px)}}
.card__foto{position:relative;aspect-ratio:4/3;background:var(--fundo-2);overflow:hidden}
.card__foto img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--mola)}
.card__selo{position:absolute;left:12px;top:12px;padding:6px 9px 4px;border-radius:6px;background:var(--amarelo);color:var(--preto);font:800 12px/1 var(--f);letter-spacing:.03em;text-transform:uppercase;box-shadow:0 0 0 1.5px var(--preto)}
.card__nfotos{position:absolute;right:12px;bottom:12px;padding:6px 8px 5px;border-radius:6px;background:rgba(0,0,0,.72);color:#fff;font:700 11px/1 var(--m);letter-spacing:.06em}
.card__corpo{display:flex;flex-direction:column;flex:1;padding:16px 18px 18px}
.card__marca{font:700 11px/1.2 var(--m);letter-spacing:.14em;text-transform:uppercase;color:var(--cinza)}
.card__nome{margin-top:8px;font:900 29px/.92 var(--f);letter-spacing:-.03em;text-transform:uppercase}
.card__versao{margin-top:5px;font:500 14.5px/1.3 var(--f);color:var(--cinza);min-height:1.3em}
.specs{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.specs span{padding:6px 8px 4px;border:1.5px solid var(--linha-2);border-radius:7px;font:700 11.5px/1 var(--m);letter-spacing:.02em}
.card__pe{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:18px}
.card__pe::before{content:'';order:2;flex:1;height:2px;margin-top:-2px;background:repeating-linear-gradient(90deg,var(--linha-2) 0 12px,transparent 12px 22px)}
.card__ir{order:3}
.preco{display:flex;align-items:flex-start;gap:4px;font:900 30px/.9 var(--f);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.preco small{font:700 12px/1 var(--m);letter-spacing:0;margin-top:3px;color:var(--cinza)}
.card__ir{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:var(--amarelo);color:var(--preto);transition:transform .4s var(--mola)}
.card__abrir{position:absolute;inset:0;z-index:2;border-radius:inherit}
.card__abrir:focus-visible{outline-offset:-4px}
@media (hover:hover){
  .card:hover{transform:translateY(-4px);box-shadow:inset 0 0 0 1px rgba(43,198,115,.55)}
  .card:hover .card__foto img{transform:scale(1.05)}
  .card:hover .card__ir{transform:translateX(4px)}
}
.patio__mais{margin-top:30px;font:500 15.5px/1.5 var(--f);color:var(--cinza);text-align:center}
.patio__mais a{color:var(--verde-vivo);font-weight:800;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}

/* ---------- ficha do caminhão ---------- */
.ficha{width:100%;max-width:100%;height:100%;max-height:100%;margin:0;padding:0;border:0;background:var(--fundo);color:var(--tinta);overflow:hidden}
.ficha[open]{display:flex;flex-direction:column;animation:fichaEntra .55s var(--mola)}
.ficha::backdrop{background:rgba(0,0,0,.62);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
@keyframes fichaEntra{from{transform:translateY(40px);opacity:0}}
.ficha__rolo{flex:1;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.ficha__barra{position:absolute;left:0;right:0;top:0;z-index:5;display:flex;justify-content:space-between;padding:calc(10px + var(--safe-t)) 12px 0;pointer-events:none}
.circ{pointer-events:auto;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:rgba(19,21,20,.88);color:var(--tinta);box-shadow:0 6px 18px -8px rgba(0,0,0,.4);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.gal{position:relative;background:var(--noite)}
.gal__trilho{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;aspect-ratio:4/3}
.gal__trilho::-webkit-scrollbar{display:none}
.gal__trilho img{flex:none;width:100%;height:100%;object-fit:cover;scroll-snap-align:start}
.gal__n{position:absolute;right:12px;bottom:12px;padding:6px 9px 5px;border-radius:7px;background:rgba(0,0,0,.75);color:#fff;font:700 11.5px/1 var(--m)}
.gal__btn{display:none}
.ficha__corpo{padding:22px var(--pad) 28px}
.ficha__nome{margin-top:10px;font:900 clamp(36px,10vw,56px)/.9 var(--f);letter-spacing:-.035em;text-transform:uppercase}
.ficha__versao{margin-top:6px;font:500 16px/1.35 var(--f);color:var(--cinza)}
.ficha__preco{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:20px;padding:16px 18px;border-radius:16px;background:var(--verde);color:#fff}
.ficha__preco .preco{font-size:38px}
.ficha__preco .preco small{color:var(--amarelo)}
.ficha__preco em{font:600 12px/1.35 var(--m);font-style:normal;text-align:right;color:rgba(255,255,255,.75)}
.ficha__preco em b{display:block;font:900 18px/1.1 var(--f);color:var(--amarelo)}
.ficha h3{margin-top:28px;font:700 11.5px/1 var(--m);letter-spacing:.2em;text-transform:uppercase;color:var(--verde-vivo)}
.ficha__specs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.spec{padding:12px 13px 10px;border-radius:12px;background:var(--superficie);border:1.5px solid var(--linha)}
.spec small{display:block;font:700 10px/1 var(--m);letter-spacing:.14em;text-transform:uppercase;color:var(--cinza)}
.spec b{display:block;margin-top:7px;font:800 16.5px/1.15 var(--f)}
.ficha__resumo{margin-top:12px;font:400 16.5px/1.6 var(--f)}
.itens{display:grid;gap:8px;margin-top:12px}
.itens li{display:flex;align-items:center;gap:10px;font:600 15.5px/1.3 var(--f)}
.itens .i{width:24px;height:24px;padding:4px;border-radius:7px;background:var(--amarelo);color:var(--preto);stroke-width:3}
.ficha__cta{display:grid;grid-template-columns:1fr auto;gap:10px;padding:12px var(--pad) calc(12px + var(--safe-b));background:rgba(10,11,10,.94);box-shadow:0 -1px 0 var(--linha)}
.ficha__cta .btn--escuro{width:54px;padding:0;background:var(--verde)}
.ficha__cta .btn--escuro .i{margin:0}

/* ---------- financiamento ---------- */
.fin{position:relative;padding:80px var(--pad);background:var(--verde);color:#fff;overflow:hidden}
.fin::before{content:'';position:absolute;inset:0;background-image:repeating-linear-gradient(60deg,rgba(255,255,255,.04) 0 1px,transparent 1px 8px),repeating-linear-gradient(-60deg,rgba(255,255,255,.04) 0 1px,transparent 1px 8px);pointer-events:none}
.fin__in{position:relative}
.sim{display:grid;gap:22px;margin-top:32px;padding:22px 18px 18px;border-radius:22px;background:var(--fundo);color:var(--tinta);box-shadow:0 40px 60px -40px rgba(0,0,0,.6)}
.sim__campo{display:grid;gap:10px}
.sim__campo>span:first-child{display:flex;justify-content:space-between;font:800 14.5px/1 var(--f)}
.sim__campo>span:first-child b{font:800 14.5px/1 var(--m);color:var(--verde-vivo)}
.sim__valor{display:flex;align-items:baseline;gap:8px;border-bottom:3px solid var(--tinta);padding-bottom:6px}
.sim__valor small{font:700 15px/1 var(--m);color:var(--cinza)}
.sim__valor input{width:100%;min-width:0;border:0;background:none;font:900 44px/1.05 var(--f);letter-spacing:-.03em;font-variant-numeric:tabular-nums;outline:none;padding:0}
.sim__atalhos{display:flex;gap:6px;margin-top:-10px;overflow-x:auto;scrollbar-width:none;margin-inline:-18px;padding-inline:18px}
.sim__atalhos::-webkit-scrollbar{display:none}
.sim__atalhos button{flex:none;height:34px;padding:2px 11px 0;border-radius:8px;background:var(--superficie);border:1.5px solid var(--linha);font:700 12.5px/1 var(--f);white-space:nowrap}
.sim__atalhos button small{font:700 11px/1 var(--m);color:var(--cinza);margin-left:4px}
.range{--v:20%;width:100%;height:30px;margin:0;background:none;-webkit-appearance:none;appearance:none;cursor:pointer}
.range::-webkit-slider-runnable-track{height:8px;border-radius:4px;background:linear-gradient(90deg,var(--verde-vivo) var(--v),var(--fundo-2) var(--v))}
.range::-moz-range-track{height:8px;border-radius:4px;background:linear-gradient(90deg,var(--verde-vivo) var(--v),var(--fundo-2) var(--v))}
.range::-webkit-slider-thumb{-webkit-appearance:none;width:30px;height:30px;margin-top:-11px;border-radius:8px;background:var(--amarelo);border:3px solid var(--preto);transform:rotate(45deg) scale(.8)}
.range::-moz-range-thumb{width:22px;height:22px;border-radius:6px;background:var(--amarelo);border:3px solid var(--preto);transform:rotate(45deg)}
.sim__dica{font:600 12.5px/1 var(--m);color:var(--cinza)}
.chips{display:flex;gap:6px}
.chips button{flex:1;height:46px;padding-top:3px;border-radius:10px;border:2px solid var(--linha-2);font:900 17px/1 var(--f);transition:background-color .2s,color .2s,border-color .2s}
.chips button[aria-checked="true"]{background:var(--verde);border-color:var(--verde);color:#fff}
.sim__res{display:grid;gap:6px;padding:18px;border-radius:16px;background:var(--verde);color:#fff}
.sim__res>span{font:700 11.5px/1 var(--m);letter-spacing:.18em;text-transform:uppercase;color:var(--amarelo)}
.sim__res strong{display:flex;align-items:flex-start;gap:6px;font:900 54px/.9 var(--f);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.sim__res strong small{font:700 15px/1 var(--m);letter-spacing:0;margin-top:6px;color:rgba(255,255,255,.7)}
.sim__res em{font:600 12.5px/1.3 var(--m);font-style:normal;color:rgba(255,255,255,.7)}
.sim__nota{font:500 12px/1.45 var(--m);color:var(--cinza);text-align:center}

/* ---------- vender ---------- */
.vender{position:relative;padding:268px var(--pad) 80px;background:var(--amarelo);color:var(--preto);overflow:hidden}
.vender__losango{position:absolute;left:50%;top:34px;width:216px;height:216px;margin-left:-108px;--c1:#0A0B0A;--c2:var(--amarelo);--c3:#0A0B0A;--c4:#fff;transform:rotate(calc(var(--giro,0deg) * .25));transition:transform .2s linear}
.vender__in{position:relative}
.vender .cab__txt{color:rgba(10,11,10,.78)}
.vform{display:grid;gap:14px;margin-top:30px}
.vform label{display:grid;gap:7px}
.vform label>span,.vform legend{font:800 13.5px/1 var(--f)}
.vform input:not([type=radio]){width:100%;height:56px;padding:3px 16px 0;border-radius:12px;border:2.5px solid var(--preto);background:#fff;font:600 17px/1 var(--f);outline:none;transition:box-shadow .2s}
.vform input:not([type=radio]):focus{box-shadow:0 0 0 4px rgba(0,0,0,.18)}
.vform input::placeholder{color:#9aa0ad}
.vform__2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.vform__quer{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.vform__quer legend{margin-bottom:8px}
.vform__quer label{position:relative;display:block}
.vform__quer input{position:absolute;opacity:0}
.vform__quer span{display:grid;place-items:center;height:50px;padding-top:3px;border-radius:12px;border:2.5px solid var(--preto);font:800 15px/1 var(--f)}
.vform__quer input:checked+span{background:var(--preto);color:#fff}
.vform__quer input:focus-visible+span{outline:3px solid #fff;outline-offset:2px}
.vform__erro{min-height:0;font:700 14px/1.3 var(--f);color:#8a1200}
.vform__erro:empty{display:none}

/* ---------- onde estamos ---------- */
.onde{padding:80px var(--pad) 84px;background:var(--noite);color:#fff}
.marco{display:flex;align-items:center;gap:14px}
.escudo--g{width:74px;height:81px}
.escudo--g small{top:9px;font-size:13px}
.escudo--g b{top:31px;font-size:28px}
.marco__km{position:relative;display:flex;flex-direction:column;padding:12px 18px 10px;border-radius:12px;background:var(--verde);box-shadow:inset 0 0 0 4px var(--verde),inset 0 0 0 6.5px #fff}
.marco__km small{font:700 11px/1 var(--m);letter-spacing:.22em;opacity:.8}
.marco__km b{margin-top:2px;font:900 64px/.9 var(--f);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.onde .cab{margin-top:30px}
.onde__foto{margin-top:30px;border-radius:20px;overflow:hidden;background:#111}
.onde__foto img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:50% 50%}
.js .onde__foto[data-rev]{clip-path:inset(14% 0 0 round 20px);opacity:0;transition:clip-path 1.2s var(--mola),opacity .6s}
.js .onde__foto[data-rev].on{clip-path:inset(0 round 20px);opacity:1}
.onde__info{display:grid;gap:22px;margin-top:28px}
.onde address{display:flex;gap:12px;font:700 18px/1.4 var(--f)}
.onde address .i{width:26px;height:26px;color:var(--amarelo);margin-top:1px}
.horas li{display:flex;justify-content:space-between;gap:12px;padding:13px 0 11px;border-bottom:1.5px dashed rgba(255,255,255,.2);font:600 15.5px/1 var(--f)}
.horas span{color:rgba(255,255,255,.7)}
.onde__acoes{display:grid;gap:10px}

/* ---------- rodapé ---------- */
.rodape{padding:56px var(--pad) calc(110px + var(--safe-b));background:var(--noite-2);color:#fff}
.rodape__frase{margin-top:22px;font:900 30px/.95 var(--f);letter-spacing:-.03em;color:var(--amarelo)}
.rodape__links{display:grid;gap:4px;margin-top:26px}
.rodape__links a{display:flex;align-items:center;gap:12px;min-height:46px;font:700 16px/1 var(--f);color:rgba(255,255,255,.88)}
.rodape__links .i{width:22px;height:22px;color:var(--amarelo)}
.selo-seg{justify-self:start;display:inline-flex;align-items:center;gap:14px;margin-top:28px;padding:12px 18px 12px 14px;border-radius:12px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px var(--linha-2)}
.selo-seg svg{width:34px;height:34px;flex:none}
.selo-seg small{display:block;font:600 10.5px/1.2 var(--m);letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.selo-seg b{display:block;font:900 19px/1.1 var(--f);text-transform:uppercase;letter-spacing:.02em}
.credito{display:flex;align-items:center;gap:10px;margin-top:14px;font-size:13px;color:rgba(255,255,255,.45)}
.credito a{display:inline-flex;align-items:center;gap:7px;color:#fff;font:800 15px/1 var(--f);letter-spacing:-.01em}
.credito svg{width:20px;height:20px}
.rodape__leg{margin-top:28px;font:600 11.5px/1.5 var(--m);color:rgba(255,255,255,.45)}

/* ---------- WhatsApp flutuante ---------- */
.flutua{position:fixed;right:16px;bottom:calc(16px + var(--safe-b));z-index:55;display:grid;place-items:center;width:60px;height:60px;border-radius:18px;background:var(--amarelo);color:var(--preto);box-shadow:0 0 0 2.5px var(--preto),0 16px 30px -12px rgba(0,0,0,.6);transform:scale(.4) rotate(-45deg);opacity:0;pointer-events:none;transition:transform .6s var(--mola),opacity .3s}
.flutua .i{width:30px;height:30px}
.flutua.on{transform:none;opacity:1;pointer-events:auto}

/* ---------- telas maiores ---------- */
@media (min-width:640px){
  :root{--pad:28px}
  .placa__acoes{display:flex;flex-wrap:wrap}
  .grade{grid-template-columns:1fr 1fr}
  .onde__acoes{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
  .ficha__specs{grid-template-columns:repeat(3,1fr)}
}
@media (min-width:960px){
  :root{--pad:40px;--topo:76px}
  .topo__nav{display:flex;gap:26px;font:800 15px/1 var(--f)}
  .topo__nav a{position:relative;padding:8px 0 5px}
  .topo__nav a::after{content:'';position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--amarelo);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--mola)}
  .topo__nav a:hover::after{transform:none}
  .placa{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);column-gap:56px;width:min(1240px,100% - 64px);margin:8px auto 0;padding:40px 52px 52px;border-radius:28px}
  .placa__topo{grid-column:1 / -1}
  .placa__titulo,.placa__sub,.placa__acoes{grid-column:1}
  .placa__titulo{font-size:clamp(64px,7.6vw,116px)}
  .placa__destinos{display:block;grid-column:2;grid-row:2 / span 3;align-self:center;padding-left:44px;border-left:3px solid #fff}
  .placa__destinos a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0 17px;border-bottom:2.5px solid rgba(255,255,255,.85)}
  .placa__destinos a:last-child{border-bottom:0}
  .placa__destinos b{display:block;font:900 clamp(26px,2.4vw,36px)/1 var(--f);letter-spacing:-.025em}
  .placa__destinos small{display:block;margin-top:7px;font:700 11.5px/1 var(--m);letter-spacing:.16em;text-transform:uppercase;opacity:.75}
  .placa__destinos a:hover b{color:var(--amarelo)}
  .placa__destinos a:hover .seta-placa{transform:rotate(var(--r)) translateY(-5px)}
  .placa::before{inset:10px;border-width:3.5px;border-radius:20px}
  .escudo{width:66px;height:72px}
  .escudo small{top:8px;font-size:12px}
  .escudo b{top:27px;font-size:25px}
  .placa__km b{font-size:44px}
  .placa__seta{width:44px}
  .placa__titulo{margin-top:30px}
  .placa__sub{font-size:19px;max-width:44ch}
  .placa__acoes{margin-top:30px}
  .parafuso{bottom:18px}
  .postes{width:min(1240px,100% - 64px);min-height:110px}
  .postes span{width:20px;margin-left:-10px}
  .estrada__plano{width:760px;margin-left:-380px}
  .pintura{font-size:150px}
  .estrada__legendas{left:auto;right:8vw;width:420px;bottom:auto;top:calc(var(--topo) + 90px)}
  .estrada__pontos{left:calc(92vw - 420px);bottom:auto;top:calc(var(--topo) + 58px)}
  .patio,.fin,.vender,.onde{padding-block:120px}
  .patio{max-width:1320px;margin:0 auto}
  .grade{grid-template-columns:repeat(3,1fr);gap:22px}
  .fin__in{display:grid;grid-template-columns:1fr minmax(0,500px);gap:64px;align-items:center;max-width:1240px;margin:0 auto}
  .sim{margin-top:0;padding:28px}
  .sim__atalhos{margin-inline:-28px;padding-inline:28px}
  .vender__in{display:grid;grid-template-columns:1fr minmax(0,520px);gap:64px;align-items:center;max-width:1240px;margin:0 auto}
  .vform{margin-top:0;padding:28px;border-radius:22px;background:rgba(255,255,255,.35)}
  .vender{padding-top:120px}
  .vender__losango{left:40%;top:auto;bottom:-210px;width:620px;height:620px;margin-left:0}
  .onde__in{display:grid;grid-template-columns:1fr 1fr;gap:0 64px;max-width:1240px;margin:0 auto}
  .marco,.onde .cab{grid-column:1}
  .onde__foto{grid-column:2;grid-row:1 / span 3;margin-top:0;align-self:start}
  .onde__info{grid-column:1}
  .rodape__in{display:grid;grid-template-columns:1fr auto;gap:0 40px;max-width:1240px;margin:0 auto}
  .rodape__links{grid-column:2;grid-row:1 / span 3;margin-top:0}
  .ficha{width:min(1080px,100% - 48px);height:auto;max-height:min(860px,100% - 48px);margin:auto;border-radius:26px}
  .ficha[open]{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-rows:1fr auto}
  .ficha__rolo{display:contents}
  .gal{grid-row:1 / span 2;display:flex;align-items:center}
  .gal__trilho{width:100%;aspect-ratio:auto;height:100%}
  .gal__btn{display:grid;position:absolute;top:50%;margin-top:-23px}
  .gal__btn.esq{left:14px}.gal__btn.dir{right:14px}
  .ficha__corpo{grid-column:2;overflow-y:auto;padding:30px 32px}
  .ficha__cta{grid-column:2}
  .ficha__barra{left:auto;right:0;gap:8px;justify-content:flex-end;padding:16px}
  .ficha__corpo{padding-top:72px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .estrada{height:auto}
  .estrada__fixo{position:relative;height:auto;padding-bottom:40px}
  .estrada__cena{position:relative;top:auto;height:60vh;margin-top:110px}
  .estrada__plano{--y:700px}
  .estrada__legendas{position:relative;left:auto;right:auto;bottom:auto;height:auto;padding:0 var(--pad);display:grid;gap:22px}
  .estrada__legendas li{position:relative;opacity:1;transform:none}
  .estrada__pontos{display:none}
  .faixa__trilho{animation:none}
}
