/* ===========================================================================
   DESAPEGUE VEÍCULOS — SEÇÕES v2 ("poster do Instagram, acabamento pro")
   Hero (mantido) · Marquee · Stats · Comparação · Rota da venda · Sobre ·
   Benefícios (bento) · Faixa slogan · FAQ · Contato (chat) · Mapa
   =========================================================================== */

/* =================================================================== HERO
   (mantido da versão aprovada) */
.hero{ position:relative; background: var(--ink); padding-top: var(--header-h); }
.hero-grid{ position:relative; display:grid; grid-template-columns: 1.06fr .94fr; min-height: min(88vh, 780px); }
/* uma única camada laranja (retângulo + triângulo do corte) com UM degradê contínuo */
.hero-orange{
  position:absolute; z-index:1; left:0; top:0; bottom:0;
  width: calc(53% + 60px);
  background: linear-gradient(158deg, var(--orange) 0%, var(--orange-dark) 68%, var(--orange-darker) 100%);
  clip-path: polygon(0 0, 100% 0, calc(100% - 60px) 100%, 0 100%);
  pointer-events:none;
}

.hero-copy{
  background: transparent;
  color:#fff; position:relative; z-index:2; overflow:hidden;
  display:flex; flex-direction:column; justify-content:center;
  align-items:flex-start;
  padding: clamp(40px,6vw,76px) clamp(28px,5vw,74px) clamp(64px,7vw,92px);
}
.hero-eyebrow{
  position:relative; display:inline-flex; align-items:center; gap:9px;
  background: rgba(0,0,0,.18); border:1px solid rgba(255,255,255,.24);
  padding:8px 15px; border-radius:999px;
  font-family:var(--font-display); font-weight:700; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase;
  margin-bottom: 26px; white-space:nowrap;
}
.hero-eyebrow i{ color:#fff; font-size:.85em; }
.hero h1{
  position:relative; color:#fff;
  font-size: clamp(2.7rem, 6.6vw, 5.2rem);
  font-weight:900; text-transform:uppercase; letter-spacing:-.025em; line-height:.92;
  text-shadow: 0 6px 24px rgba(120,40,0,.22);
}
.hero h1 .hl{ position:relative; white-space:nowrap; color:#fff; }
.hero-sub{ position:relative; margin-top:26px; font-size: clamp(1.05rem,1.5vw,1.22rem); line-height:1.6; max-width:43ch; color: rgba(255,255,255,.96); }
.hero-actions{ position:relative; display:flex; flex-wrap:wrap; gap:14px; margin-top:36px; }
.hero-actions .btn--primary{ background:var(--ink); color:#fff; box-shadow:0 16px 40px -12px rgba(0,0,0,.5); }
.hero-actions .btn--primary:hover{ background:#000; }
.hero-actions .btn--ghost{ color:#fff; border-color:rgba(255,255,255,.55); }
.hero-actions .btn--ghost:hover{ border-color:#fff; background:rgba(255,255,255,.12); }
.hero-trust{ position:relative; display:flex; flex-wrap:wrap; gap:10px 22px; margin-top:36px; }
.hero-trust span{ display:inline-flex; align-items:center; gap:9px; font-weight:700; font-size:.93rem; color:#fff; white-space:nowrap; }
.hero-trust i{ color:#fff; background:rgba(0,0,0,.2); width:26px; height:26px; border-radius:50%; display:grid; place-items:center; font-size:.74rem; }

.hero-media{ position:relative; z-index:0; overflow:hidden; }
.hero-media--car{ background: radial-gradient(120% 95% at 58% 32%, #2c2c30 0%, #19191c 56%, #0d0d0f 100%); }
.hero-glow{ position:absolute; z-index:1; left:52%; top:46%; width:86%; height:86%; transform:translate(-50%,-50%); background: radial-gradient(circle closest-side, rgba(249,115,22,.45), rgba(249,115,22,0)); pointer-events:none; }
.hero-floor{ position:absolute; z-index:1; left:10%; right:6%; bottom:19%; height:70px; background: radial-gradient(ellipse at center, rgba(0,0,0,.6), transparent 72%); pointer-events:none; }
.hero-car-main{
  position:absolute; z-index:3; left:51%; top:50%; width:90%; max-width:700px;
  transform: translate(-50%,-49%);
  filter: drop-shadow(0 44px 30px rgba(0,0,0,.6));
  animation: hero-car-float 5.5s ease-in-out infinite; pointer-events:none;
}
@keyframes hero-car-float{ 0%,100%{ transform: translate(-50%,-49%);} 50%{ transform: translate(-50%,-53%);} }
.hero-badge{
  position:absolute; z-index:4; right: 5%; top: 8%;
  display:flex; align-items:center; gap:13px;
  background:#fff; color:var(--ink); border-radius:16px; padding:12px 18px 12px 13px;
  box-shadow: var(--shadow-lg); transform: rotate(-3deg);
  border:2px solid var(--orange);
}
.hero-badge__icon{
  width:48px; height:48px; border-radius:13px; flex-shrink:0;
  background: linear-gradient(160deg, var(--orange), var(--orange-dark));
  color:#fff; display:grid; place-items:center; font-size:1.5rem;
  box-shadow: 0 6px 16px -4px rgba(249,115,22,.6);
  animation: badge-tick 2.4s ease-in-out infinite;
}
@keyframes badge-tick{ 0%,100%{ transform:rotate(0); } 12%{ transform:rotate(-9deg); } 24%{ transform:rotate(7deg); } 36%{ transform:rotate(0); } }
.hero-badge__text{ text-align:left; }
.hero-badge__top{ display:block; font-size:.64rem; font-weight:800; text-transform:uppercase; letter-spacing:.13em; color:var(--text-muted); white-space:nowrap; }
.hero-badge__big{ display:block; font-family:var(--font-display); font-weight:900; font-size:1.85rem; color:var(--orange); line-height:1; white-space:nowrap; letter-spacing:-.01em; }
.hero-badge__sub{ display:block; font-size:.64rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; color:var(--ink); white-space:nowrap; margin-top:3px; }

/* ================================================================ MARQUEE */
.marquee{ position:relative; z-index:3; background:var(--orange); color:#fff; padding:16px 0; overflow:hidden; border-block:1px solid rgba(0,0,0,.12); box-shadow: 0 12px 30px -12px rgba(0,0,0,.35); }
.marquee__track{ display:flex; gap:0; width:max-content; animation: marquee-scroll 32s linear infinite; }
.marquee:hover .marquee__track{ animation-play-state: paused; }
.marquee__item{ display:inline-flex; align-items:center; gap:26px; padding-inline:26px; font-family:var(--font-display); font-weight:900; font-size:1.05rem; text-transform:uppercase; letter-spacing:.02em; white-space:nowrap; }
.marquee__item--out{ color:var(--orange); -webkit-text-stroke:3.4px rgba(255,255,255,.95); paint-order: stroke fill; }
.marquee__item::after{ content:"\2726"; font-size:.85rem; color:rgba(0,0,0,.5); -webkit-text-stroke:0; }
@keyframes marquee-scroll{ from{ transform: translateX(0);} to{ transform: translateX(-50%);} }

/* ================================================================== STATS
   Números gigantes, sem caixinhas — painel escuro contínuo do hero. */
.stats2{ background: var(--ink); position:relative; overflow:hidden; }
.stats2::after{ content:""; position:absolute; right:0; bottom:0; width:min(46%,640px); height:92%; background: url("../img/dinheiro-real.png") right bottom / contain no-repeat; opacity:.55; pointer-events:none; z-index:0; -webkit-mask-image: linear-gradient(300deg, #000 26%, transparent 76%); mask-image: linear-gradient(300deg, #000 26%, transparent 76%); }
.stats2-inner{ position:relative; z-index:1; display:grid; grid-template-columns: repeat(var(--cols,3),1fr); }
.stat2{
  padding: clamp(36px,4.6vw,58px) clamp(22px,3vw,48px);
  position:relative;
}
.stat2 + .stat2::before{ content:""; position:absolute; left:0; top:22%; bottom:22%; width:1px; background:rgba(255,255,255,.12); }
.stat2__label{
  font-family:var(--font-display); font-weight:800; font-size:.74rem;
  letter-spacing:.18em; text-transform:uppercase; color:var(--orange);
  display:flex; align-items:center; gap:10px; margin-bottom:14px;
}
.stat2__label::before{ content:""; width:22px; height:3px; background:var(--orange); border-radius:2px; }
.stat2__value{
  font-family:var(--font-display); font-weight:900;
  font-size: clamp(3rem, 5.6vw, 4.8rem);
  color:#fff; line-height:.92; letter-spacing:-.03em;
  font-variant-numeric: tabular-nums;
  display:flex; align-items:baseline; gap:4px;
}
.stat2__value .sfx{ font-size:.42em; color:rgba(255,255,255,.55); font-weight:800; letter-spacing:0; }
.stat2__desc{ margin-top:10px; color:rgba(255,255,255,.6); font-size:.98rem; font-weight:600; max-width:24ch; }

/* ============================================================ COMPARAÇÃO
   Dois pôsteres levemente tortos + VS central. */
.cmp2-grid{
  display:grid; grid-template-columns: 1fr 90px 1fr;
  align-items:stretch;
}
.cmp2-mid{ position:relative; display:flex; align-items:center; justify-content:center; }
.cmp2-mid::before{ content:""; position:absolute; top:6%; bottom:6%; left:50%; width:0; border-left:2px dashed var(--line); }
.cmp2-vs{
  position:relative; z-index:2;
  width:74px; height:74px; border-radius:50%;
  background:var(--ink); color:#fff;
  font-family:var(--font-display); font-weight:900; font-size:1.3rem; letter-spacing:.02em;
  display:grid; place-items:center;
  border:5px solid var(--paper);
  box-shadow: var(--shadow-md);
}
.cmp2-card{
  border-radius: var(--radius-lg);
  padding: clamp(30px,3.6vw,48px);
  position:relative;
  min-width:0;
}
.cmp2-card .ch h3{ overflow-wrap:break-word; }
.cmp2-card .ch{ display:flex; align-items:center; gap:15px; margin-bottom:28px; min-width:0; }
.cmp2-card .ch > div{ min-width:0; }
.cmp2-card .ch .ic{ width:52px; height:52px; border-radius:14px; display:grid; place-items:center; font-size:1.35rem; flex-shrink:0; }
.cmp2-card h3{ font-size:1.5rem; text-transform:uppercase; font-weight:900; letter-spacing:-.01em; line-height:1; }
.cmp2-card .ch small{ display:block; font-family:var(--font-body); font-weight:700; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; margin-top:6px; opacity:.65; }
.cmp2-card ul{ display:flex; flex-direction:column; gap:16px; }
.cmp2-card li{ display:flex; gap:14px; align-items:flex-start; font-size:1.04rem; line-height:1.45; }
.cmp2-card li .cmp-ic{ margin-top:2px; width:25px; height:25px; border-radius:50%; flex-shrink:0; font-size:.78rem; display:grid; place-items:center; }

/* — lado ruim: papel torto com fita e carimbo */
.cmp2-card--bad{
  background:#fff; border:1px solid var(--line);
  transform: rotate(-.7deg);
  box-shadow: var(--shadow-md);
}
.cmp2-card--bad::before{ /* fita adesiva */
  content:""; position:absolute; top:-15px; left:50%; width:158px; height:32px;
  transform: translateX(-50%) rotate(-2deg);
  background: rgba(228,221,208,.85);
  border-left:1px dashed rgba(0,0,0,.08); border-right:1px dashed rgba(0,0,0,.08);
  box-shadow: 0 2px 6px rgba(24,24,27,.08);
}
.cmp2-card--bad .ch .ic{ background:#F7EBE5; color:var(--danger); }
.cmp2-card--bad .ch small{ color:var(--danger); }
.cmp2-card--bad li{ color:var(--text-muted); }
.cmp2-card--bad li .cmp-ic{ color:var(--danger); background:#F7EBE5; }
.cmp2-card--bad .stamp{ position:absolute; top:30px; right:26px; }

/* — lado bom: pôster laranja com sticker */
.cmp2-card--good{
  background: linear-gradient(162deg, var(--orange) 0%, var(--orange-dark) 100%);
  color:#fff;
  transform: rotate(.7deg);
  box-shadow: var(--shadow-orange);
  overflow:visible;
}
.cmp2-card--good::after{
  content:""; position:absolute; inset:0; border-radius:inherit;
  pointer-events:none;
}
.cmp2-card--good > *{ position:relative; z-index:1; }
.cmp2-card--good h3{ color:#fff; }
.cmp2-card--good .ch small{ color:#fff; opacity:.85; }
.cmp2-card--good .ch .ic{ background:rgba(255,255,255,.22); color:#fff; }
.cmp2-card--good li{ color:#fff; }
.cmp2-card--good li .cmp-ic{ color:var(--orange-dark); background:#fff; }
.cmp2-card--good .sticker{ position:absolute; top:-18px; right:30px; z-index:2; }
.cmp2-chips{ display:flex; flex-wrap:wrap; gap:10px; margin-top:30px; padding-top:24px; border-top:1px dashed rgba(255,255,255,.4); }
.cmp2-chips span{
  display:inline-flex; align-items:center; gap:9px; white-space:nowrap;
  background:var(--ink); color:#fff; border-radius:999px; padding:10px 18px;
  font-family:var(--font-display); font-weight:800; font-size:.8rem; letter-spacing:.06em; text-transform:uppercase;
}
.cmp2-chips span i{ color:var(--orange); }

/* ========================================================== ROTA DA VENDA
   Passo a passo como uma estrada com progresso + carrinho. */
.route-wrap{ position:relative; }
.route-track{ position:absolute; top:62px; left:5%; right:5%; height:4px; border-radius:4px; background: repeating-linear-gradient(90deg, var(--line) 0 14px, transparent 14px 26px); }
.route-fill{ position:absolute; top:62px; left:5%; height:4px; border-radius:4px; background:var(--orange); width:0; max-width:90%; transition: width .25s linear; }
.route-goal{
  position:absolute; top:62px; right:5%; z-index:1;
  transform: translate(50%,-50%);
  display:inline-flex; align-items:center; gap:6px;
  background:var(--ink); color:#fff;
  font-family:var(--font-display); font-weight:800; font-size:.62rem;
  letter-spacing:.04em; text-transform:uppercase; white-space:nowrap;
  padding:5px 10px; border-radius:999px; box-shadow:var(--shadow-sm); opacity:.55;
}
.route-goal i{ color:var(--orange); }
.route-car{
  position:absolute; top:40px; left:5%; z-index:3;
  width:44px; height:44px; border-radius:50%;
  background:#fff;
  display:grid; place-items:center;
  border:2px solid var(--ink); box-shadow: var(--shadow-md);
  transform: translateX(-50%);
  transition: left .25s linear;
}
.route-clock__face{ width:40px; height:40px; display:block; }
.rc-dial{ fill:#fff; stroke:var(--line); stroke-width:2; }
.rc-fill{ fill:var(--orange); opacity:.92; }
.rc-target{ stroke:var(--orange-dark, #c2410c); stroke-width:3.4; stroke-linecap:round; }
.rc-ticks line{ stroke:var(--ink); stroke-width:2.4; opacity:.24; stroke-linecap:round; }
.rc-ticks line.rc-tick--maj{ stroke-width:3.2; opacity:.45; }
.rc-hub{ fill:var(--ink); }
.route-grid{ display:grid; grid-template-columns: repeat(var(--steps,5),1fr); gap:14px; position:relative; z-index:1; }
.route-step{ display:flex; flex-direction:column; align-items:flex-start; padding:0 8px; }
.route-step__marker{ display:flex; align-items:flex-end; gap:10px; margin-bottom:42px; position:relative; }
.route-step__num{
  font-family:var(--font-display); font-weight:900; font-size:3.8rem; line-height:.8;
  color:transparent; -webkit-text-stroke:2px var(--orange-tint-2); letter-spacing:-.04em;
  transition: -webkit-text-stroke-color .4s;
}
.route-step.done .route-step__num{ -webkit-text-stroke-color: var(--orange); }
.route-step__chip{
  width:56px; height:56px; border-radius:16px;
  background:var(--orange); color:#fff;
  display:grid; place-items:center; font-size:1.35rem;
  box-shadow: var(--shadow-orange); flex-shrink:0;
  transition: transform .3s var(--ease);
}
.route-step:hover .route-step__chip{ transform: translateY(-5px) rotate(-5deg); }
.route-step:last-child .route-step__chip{ background:var(--ink); color:var(--orange); }
.route-step h3{ font-size:1.14rem; text-transform:uppercase; font-weight:800; margin-bottom:9px; letter-spacing:-.01em; line-height:1.05; }
.route-step p{ font-size:.96rem; color:var(--text-muted); max-width:25ch; }
.route-flag{ margin-top:14px; display:inline-block; text-align:center; line-height:1.2; }

/* ==================================================================== SOBRE
   Editorial: texto à esquerda, colagem de fotos à direita. */
.about2-grid{ display:grid; grid-template-columns: 1.02fr .98fr; gap: clamp(36px,6vw,84px); align-items:center; }
.about2-body p{ font-size:1.1rem; color:var(--text-muted); margin-bottom:20px; line-height:1.75; }
.about2-body p:first-of-type{ font-size:1.3rem; color:var(--ink); font-weight:600; line-height:1.55; }
.about2-check{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:30px; }
.about2-check li{
  display:flex; align-items:center; gap:11px;
  font-weight:700; color:var(--ink); font-size:.95rem; line-height:1.3;
  background:#fff; border:1px solid var(--line); border-radius:14px; padding:13px 16px;
}
.about2-check li .chk-ic{ width:26px; height:26px; border-radius:50%; background:var(--orange); color:#fff; display:grid; place-items:center; font-size:.72rem; flex-shrink:0; }

.about2-collage{ position:relative; min-height: 0; }
.about2-splat{ position:absolute; z-index:0; top:-6%; right:-10%; width:78%; opacity:.9; pointer-events:none; }
.polaroid{
  background:#fff; border-radius:14px; padding:12px 12px 16px;
  box-shadow: var(--shadow-lg);
}
.polaroid img{ width:100%; height:100%; object-fit:cover; border-radius:8px; }
.polaroid figcaption{
  font-size:.82rem; font-weight:700; color:var(--text);
  padding:10px 4px 0; display:flex; align-items:center; gap:6px;
  letter-spacing:.01em; line-height:1.3;
}
.polaroid figcaption i{ color:var(--orange); font-size:.78rem; flex-shrink:0; }
.about2-photo1{ position:absolute; z-index:1; bottom:0; left:0; width:70%; transform:rotate(-2.4deg); }
.about2-photo1 img{ aspect-ratio: 4/3; }
.about2-photo2{
  position:absolute; z-index:2; right:0; top:0; width:52%;
  transform:rotate(2.6deg);
}
.about2-photo2 image-slot{ width:100%; height:240px; }
.about2-sticker{ position:absolute; z-index:3; top:-14px; right:6%; }

/* =============================================================== BENEFÍCIOS
   Bento grid — sem cinco cards iguais. */
.bento{ display:grid; grid-template-columns: repeat(6,1fr); gap:18px; }
/* modo flexível: qualquer quantidade de cards (≠ 5) vira grade uniforme */
.bento.bento--flex{ grid-template-columns: repeat(auto-fit, minmax(260px,1fr)); }
.bento.bento--flex .bento-card{ grid-column:auto !important; grid-row:auto !important; min-height:210px; }
.bento.bento--flex .bento-card--feature::after{ display:none; }
.bento.bento--flex .bento-card--feature h3,
.bento.bento--flex .bento-card--ink h3{ font-size:1.4rem; max-width:none; }
.bento.bento--flex .bento-card--feature p,
.bento.bento--flex .bento-card--ink p{ max-width:none; }
.bento-card{
  position:relative; border-radius: var(--radius-lg); padding: clamp(26px,3vw,38px);
  overflow:hidden; display:flex; flex-direction:column; min-height:220px;
  transition: transform .28s var(--ease), box-shadow .28s;
}
.bento-card:hover{ transform: translateY(-6px); box-shadow: var(--shadow-md); }
.bento-card__icon{
  width:56px; height:56px; border-radius:16px;
  display:grid; place-items:center; font-size:1.3rem; margin-bottom:auto;
}
.bento-card h3{ font-size:1.3rem; text-transform:uppercase; font-weight:900; margin:26px 0 10px; letter-spacing:-.01em; line-height:1.05; }
.bento-card p{ font-size:1rem; line-height:1.6; max-width:42ch; }
.bento-card__wm{ /* watermark de fundo */
  position:absolute; right:-12px; bottom:-26px;
  font-family:var(--font-display); font-weight:900; font-size:7rem; line-height:1; letter-spacing:-.04em;
  pointer-events:none; user-select:none;
}

/* card grande BRANCO em destaque (segurança = clareza/limpeza) com a frente da picape */
.bento-card--feature{ grid-column: span 4; grid-row: span 2; background:#fff; border:1px solid var(--line); color:var(--text-muted); }
.bento-card--feature::after{
  content:""; position:absolute; right:-3%; bottom:-6%; width:60%; height:84%; z-index:0;
  background: url("../img/car-frontier-front.png") right bottom / contain no-repeat;
  opacity:.95; pointer-events:none;
  -webkit-mask-image: linear-gradient(to left, #000 52%, transparent 96%);
  mask-image: linear-gradient(to left, #000 52%, transparent 96%);
}
.bento-card--feature > *{ position:relative; z-index:1; }
.bento-card--feature h3{ color:var(--ink); font-size:1.9rem; max-width:13ch; }
.bento-card--feature p{ font-size:1.06rem; max-width:34ch; color:var(--text-muted); }
.bento-card--feature .bento-card__icon{ background:var(--orange-tint); color:var(--orange-dark); }
.bento-card--feature .bento-card__wm{ color:var(--paper); position:absolute; z-index:0; }
.bento-card--feature:hover{ box-shadow: var(--shadow-md); }

/* card escuro pequeno — âncora de contraste */
.bento-card--ink{ grid-column: span 2; background:var(--ink); color:rgba(255,255,255,.78); }
.bento-card--ink h3{ color:#fff; }
.bento-card--ink p{ color:rgba(255,255,255,.7); }
.bento-card--ink .bento-card__icon{ background:rgba(249,115,22,.16); color:var(--orange); }
.bento-card--ink .bento-card__wm{ color:transparent; -webkit-text-stroke:1.5px rgba(255,255,255,.1); }
.bento-card--ink:hover{ box-shadow: var(--shadow-lg); }

.bento-card--orange{ grid-column: span 2; grid-row: span 2; background:linear-gradient(170deg,var(--orange),var(--orange-dark)); color:#fff; }
.bento-card--orange h3{ color:#fff; }
.bento-card--orange .bento-card__icon{ background:rgba(255,255,255,.22); color:#fff; }
.bento-card--orange .bento-card__wm{ color:rgba(255,255,255,.14); }
.bento-card--orange:hover{ box-shadow: var(--shadow-orange); }

.bento-card--line{ grid-column: span 2; background:#fff; border:1px solid var(--line); }
.bento-card--line .bento-card__icon{ background:var(--orange-tint); color:var(--orange-dark); }
.bento-card--line p{ color:var(--text-muted); }
.bento-card--line .bento-card__wm{ color:var(--paper); font-size:5rem; }

.bento-card--paper{ grid-column: span 2; background:var(--paper); border:1px solid var(--line); overflow:hidden; }
.bento-card--paper::after{
  content:""; position:absolute; right:-5%; bottom:-6%; width:52%; height:60%; z-index:0;
  background: url("../img/moto-orange.webp") right bottom / contain no-repeat;
  opacity:.95; pointer-events:none;
  filter: drop-shadow(0 10px 14px rgba(24,24,27,.18));
}
.bento-card--paper > *{ position:relative; z-index:1; }
.bento-card--paper .bento-card__icon{ background:var(--ink); color:var(--orange); }
.bento-card--paper p{ color:var(--text-muted); max-width:20ch; }
.bento-card--paper .bento-card__wm{ color:#fff; font-size:5rem; position:absolute; z-index:0; top:6px; right:14px; bottom:auto; }

/* ============================================================ FAIXA SLOGAN */
.slogan-band{ position:relative; overflow:hidden; background: radial-gradient(120% 130% at 18% 30%, #29292e 0%, #18181b 55%, #0d0d0f 100%); color:#fff; padding-block: clamp(64px,8vw,110px); }
.slogan-glow{ position:absolute; z-index:1; right:6%; top:50%; width:60%; height:120%; transform:translateY(-50%); background: radial-gradient(circle, rgba(249,115,22,.42), rgba(249,115,22,0) 62%); pointer-events:none; }
.slogan-car{ position:absolute; z-index:2; right:2.5%; bottom:10%; width:min(54%,780px); filter: drop-shadow(0 14px 12px rgba(0,0,0,.4)); pointer-events:none; transform: scaleX(-1); }
/* entrada suave do carro: base é VISÍVEL; fica escondido só enquanto espera o scroll.
   Se a animação não rodar, o carro ainda aparece (à prova de falhas).
   scaleX(-1) espelha o carro na horizontal em todos os estados. */
.slogan-car[data-reveal]:not(.in){ opacity:0; transform: translateX(70px) scaleX(-1); }
.slogan-car[data-reveal].in{ transform: scaleX(-1); }
@media (prefers-reduced-motion: no-preference){
  .slogan-car[data-reveal].in{ animation: slogan-car-in .9s var(--ease) forwards; }
}
@keyframes slogan-car-in{ from{ opacity:0; transform: translateX(70px) scaleX(-1); } to{ opacity:1; transform: scaleX(-1); } }
@keyframes slogan-car-in-m{ from{ opacity:0; transform: translateY(28px) scaleX(-1); } to{ opacity:1; transform: scaleX(-1); } }
.slogan-inner{ position:relative; z-index:3; }
.slogan-copy{ max-width:min(54%,560px); }
.slogan-kicker{ display:inline-flex; align-items:center; gap:9px; background:rgba(249,115,22,.16); border:1px solid rgba(249,115,22,.4); color:#fff; padding:7px 15px; border-radius:999px; font-family:var(--font-display); font-weight:700; font-size:.74rem; letter-spacing:.12em; text-transform:uppercase; margin-bottom:22px; }
.slogan-title{ position:relative; z-index:1; color:#fff; font-size: clamp(2.3rem,5.2vw,4.3rem); font-weight:900; text-transform:uppercase; letter-spacing:-.025em; line-height:.94; }
.slogan-title .hl{ position:relative; color:#fff; white-space:nowrap; padding-inline:.12em; }
.slogan-title .hl > img.brush{
  position:absolute; z-index:-1;
  left:-18%; top:-42%; width:136%; height:184%;
  max-width:none; object-fit:fill; pointer-events:none;
}
.slogan-text{ margin-top:22px; font-size:1.12rem; line-height:1.6; color:rgba(255,255,255,.82); max-width:42ch; }
.slogan-copy .btn{ margin-top:30px; }

/* selo circular giratório (50 minutos) */
.spin-badge{
  position:absolute; z-index:4; right:clamp(20px,6vw,90px); top:clamp(26px,4vw,54px);
  width:138px; height:138px;
}
.spin-badge > svg{ width:100%; height:100%; animation: spin-slow 22s linear infinite; }
.spin-badge > svg text{
  font-family:var(--font-display); font-weight:800; font-size:10px;
  letter-spacing:.06em; text-transform:uppercase; fill:#fff;
}
.spin-badge .spin-badge__core{
  position:absolute; inset:0; display:grid; place-items:center;
  color:var(--orange); font-size:1.9rem;
}
.spin-badge .spin-badge__core svg{ width:1em; height:1em; }
@keyframes spin-slow{ to{ transform:rotate(360deg); } }

/* ===================================================================== FAQ */
.faq2-grid{ display:grid; grid-template-columns: .85fr 1.35fr; gap: clamp(36px,6vw,80px); align-items:start; }
.faq2-left{ position:sticky; top: calc(var(--header-h) + 28px); }
.faq2-cta{
  margin-top:30px; background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg);
  padding:26px; box-shadow:var(--shadow-sm);
}
.faq2-cta b{ display:block; font-family:var(--font-display); font-weight:800; font-size:1.05rem; color:var(--ink); margin-bottom:6px; }
.faq2-cta p{ font-size:.93rem; color:var(--text-muted); margin-bottom:18px; }
.faq2-list{ border-top:1px solid var(--line); }
.faq2-item{ border-bottom:1px solid var(--line); }
.faq2-q{
  width:100%; display:grid; grid-template-columns:64px 1fr 40px; align-items:center; gap:14px;
  padding:24px 4px; text-align:left;
}
.faq2-q .n{
  font-family:var(--font-display); font-weight:900; font-size:1.7rem;
  color:transparent; -webkit-text-stroke:1.6px var(--orange); letter-spacing:-.02em;
  transition: color .25s;
}
.faq2-item.open .faq2-q .n{ color:var(--orange); }
.faq2-q .q{ font-family:var(--font-display); font-weight:800; font-size:1.12rem; color:var(--ink); line-height:1.3; }
.faq2-q .faq-ic{
  width:38px; height:38px; border-radius:50%;
  background:var(--paper-2); color:var(--ink);
  display:grid; place-items:center; font-size:.85rem;
  transition: transform .28s var(--ease), background .2s, color .2s;
}
.faq2-item.open .faq-ic{ transform:rotate(135deg); background:var(--orange); color:#fff; }
.faq2-a{ display:grid; grid-template-rows:0fr; transition: grid-template-rows .35s var(--ease); }
.faq2-item.open .faq2-a{ grid-template-rows:1fr; }
.faq2-a-inner{ overflow:hidden; }
.faq2-a-inner p{ padding:0 4px 26px 78px; color:var(--text-muted); line-height:1.7; max-width:62ch; }

/* ================================================================= CONTATO */
#contato .section-title{ color:#fff; }
#contato .section-sub{ color:rgba(255,255,255,.72); }
#contato .eyebrow{ color:var(--orange); }
.contact2-grid{ display:grid; grid-template-columns: 1fr 1fr; gap: clamp(28px,4vw,56px); align-items:stretch; }

/* — cartão estilo conversa de WhatsApp */
.chat-card{
  background:#222226; border:1px solid rgba(255,255,255,.1);
  border-radius: var(--radius-xl); overflow:hidden;
  display:flex; flex-direction:column;
  box-shadow: var(--shadow-lg);
}
.chat-card__head{
  display:flex; align-items:center; gap:14px;
  background:#2B2B30; padding:18px 22px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.chat-card__avatar{
  width:46px; height:46px; border-radius:50%; flex-shrink:0;
  background:var(--orange); color:#fff; display:grid; place-items:center; font-size:1.15rem;
  border:2px solid rgba(255,255,255,.25);
}
.chat-card__id b{ display:block; font-family:var(--font-display); font-weight:800; color:#fff; font-size:1.02rem; line-height:1.2; }
.chat-card__id span{ display:flex; align-items:center; gap:6px; font-size:.8rem; color:rgba(255,255,255,.55); }
.chat-card__id span::before{ content:""; width:8px; height:8px; border-radius:50%; background:var(--wa); }
.chat-card__body{
  flex:1; padding:26px 22px; display:flex; flex-direction:column; gap:14px;
  background-image: radial-gradient(rgba(255,255,255,.04) 1px, transparent 1.4px);
  background-size:22px 22px;
}
.chat-bubble{
  max-width:84%; padding:13px 17px; border-radius:16px;
  font-size:.99rem; line-height:1.5; position:relative;
}
.chat-bubble--client{
  align-self:flex-end; background:#3D5443; color:#E9F5EC;
  border-bottom-right-radius:4px;
}
.chat-bubble--shop{
  align-self:flex-start; background:#323237; color:rgba(255,255,255,.92);
  border-bottom-left-radius:4px;
}
.chat-bubble .t{ display:block; text-align:right; font-size:.68rem; opacity:.55; margin-top:5px; }
.chat-card__foot{ padding:20px 22px 24px; border-top:1px solid rgba(255,255,255,.08); }
.chat-card__foot .form-disclaimer{ color:rgba(255,255,255,.45); }
.chat-pay{ display:flex; align-items:center; justify-content:center; gap:8px; margin-top:14px; font-size:.85rem; color:rgba(255,255,255,.55); }
.pix-tag{ display:inline-flex; align-items:center; gap:6px; font-family:var(--font-display); font-weight:800; color:#4db6ac; letter-spacing:.01em; }
.pix-tag img{ width:19px; height:19px; display:block; }

/* — infos + horários abaixo do chat */
.contact2-meta{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:22px; }
.contact2-meta .meta-item{
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1);
  border-radius:16px; padding:16px 18px;
  display:flex; gap:13px; align-items:flex-start;
}
.contact2-meta .meta-item > i{ width:38px; height:38px; border-radius:11px; background:rgba(249,115,22,.16); color:var(--orange); display:grid; place-items:center; font-size:1rem; flex-shrink:0; }
.contact2-meta .ci-label{ font-size:.68rem; text-transform:uppercase; letter-spacing:.12em; color:rgba(255,255,255,.5); font-weight:800; }
.contact2-meta .ci-value{ font-weight:700; font-size:.95rem; line-height:1.4; color:#fff; }
.contact2-meta .ci-value a:hover{ text-decoration:underline; }

/* — formulário */
.contact-form-card{
  background:#fff; border-radius: var(--radius-xl);
  padding: clamp(28px,3.5vw,44px);
  box-shadow: var(--shadow-lg);
  display:flex; flex-direction:column;
}
.contact-form-card h3{ font-size:1.5rem; text-transform:uppercase; font-weight:900; margin-bottom:6px; }
.contact-form-card .form-note{ color:var(--text-muted); font-size:.95rem; margin-bottom:26px; }
.field{ margin-bottom:18px; }
.field label{ display:block; font-family:var(--font-display); font-weight:800; font-size:.76rem; letter-spacing:.1em; text-transform:uppercase; margin-bottom:8px; color:var(--ink); }
.field input, .field textarea{ width:100%; padding:14px 16px; border:1.5px solid var(--line); border-radius:12px; background:var(--paper); color:var(--text); transition: border-color .18s, background .18s, box-shadow .18s; }
.field textarea{ resize:vertical; min-height:96px; }
.field input:focus, .field textarea:focus{ outline:none; border-color:var(--orange); background:#fff; box-shadow:0 0 0 4px rgba(249,115,22,.12); }
.field input::placeholder, .field textarea::placeholder{ color:var(--text-faint); }
.form-disclaimer{ font-size:.82rem; color:var(--text-faint); margin-top:14px; text-align:center; }
.form-phone-fallback{
  display:flex; flex-direction:column; align-items:center; gap:14px;
  margin-top:24px;
}
.form-phone-or{
  font-size:.72rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase;
  color:var(--text-faint);
  display:flex; align-items:center; gap:10px; width:100%;
}
.form-phone-or::before,.form-phone-or::after{
  content:""; flex:1; height:1px; background:var(--line);
}
.form-phone-link{
  display:inline-flex; align-items:center; gap:10px;
  padding:13px 22px; border-radius:999px;
  border:2px solid var(--line);
  color:var(--ink); text-decoration:none;
  font-size:.95rem; font-weight:600;
  transition:border-color .18s, color .18s, background .18s;
}
.form-phone-link i{ color:var(--orange); font-size:1rem; }
.form-phone-link strong{ font-family:var(--font-display); font-weight:900; color:var(--ink); }
.form-phone-link:hover{ border-color:var(--ink); background:var(--ink); color:#fff; }
.form-phone-link:hover i,.form-phone-link:hover strong{ color:var(--orange); }
.hours-inline{ display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:14px; }
.hours-inline span{ display:inline-flex; align-items:center; gap:8px; font-size:.88rem; color:rgba(255,255,255,.75); font-weight:600; }
.hours-inline span i{ color:var(--orange); font-size:.8rem; }

/* acento de veículo (canto superior direito do contato) */
.contact-taillight{ position:absolute; z-index:0; top:12px; left:0; right:auto; bottom:auto; width:min(34%,440px); opacity:.5; pointer-events:none; filter: drop-shadow(0 18px 22px rgba(0,0,0,.4)); }
#contato.section--ink{ position:relative; overflow:hidden; }
#contato .container{ position:relative; z-index:1; }

/* ============================================== CONTATO (reformulado) ==== */
.contact3{ display:grid; grid-template-columns: 1fr 1fr; gap: clamp(20px,3vw,32px); align-items:stretch; }
.contact3-card{ border-radius: var(--radius-xl); padding: clamp(26px,3vw,40px); }
.contact3-card--action{ background: linear-gradient(165deg, #26262b, #1b1b1f); border:1px solid rgba(255,255,255,.1); display:flex; flex-direction:column; box-shadow: var(--shadow-lg); }
.contact3-title{ font-size:1.5rem; text-transform:uppercase; font-weight:900; color:#fff; letter-spacing:-.01em; line-height:1.12; }
.contact3-lead{ margin-top:12px; color:rgba(255,255,255,.7); font-size:1.02rem; line-height:1.6; }
.contact3-wa{ display:flex; align-items:center; gap:16px; margin-top:24px; padding:16px 20px; border-radius:16px; background:var(--wa); color:#fff; box-shadow:0 16px 40px -12px rgba(34,195,94,.5); transition: transform .18s var(--ease), box-shadow .25s var(--ease); }
.contact3-wa:hover{ transform:translateY(-3px); box-shadow:0 22px 52px -12px rgba(34,195,94,.62); }
.contact3-wa__ic{ width:52px; height:52px; border-radius:14px; background:rgba(255,255,255,.18); display:grid; place-items:center; font-size:1.7rem; flex-shrink:0; }
.contact3-wa__tx{ flex:1; display:flex; flex-direction:column; line-height:1.2; }
.contact3-wa__tx b{ font-family:var(--font-display); font-weight:800; font-size:1.14rem; }
.contact3-wa__tx small{ font-size:.88rem; opacity:.9; margin-top:2px; }
.contact3-wa__arrow{ font-size:1rem; opacity:.9; transition:transform .2s var(--ease); }
.contact3-wa:hover .contact3-wa__arrow{ transform:translateX(4px); }
.contact3-list{ display:flex; flex-direction:column; margin-top:22px; }
.contact3-li{ display:flex; align-items:center; gap:14px; padding:14px 0; border-top:1px solid rgba(255,255,255,.08); }
.contact3-li:first-child{ border-top:none; }
.contact3-li .ci-ic{ width:42px; height:42px; border-radius:12px; background:rgba(249,115,22,.16); color:var(--orange); display:grid; place-items:center; font-size:1.05rem; flex-shrink:0; }
.contact3-li .ci-tx{ display:flex; flex-direction:column; line-height:1.4; }
.contact3-li .ci-k{ font-size:.7rem; text-transform:uppercase; letter-spacing:.12em; color:rgba(255,255,255,.5); font-weight:800; }
.contact3-li .ci-v{ font-weight:600; color:#fff; font-size:.96rem; }
.contact3-li .ci-v a:hover{ color:var(--orange); }
.contact3-pay{ display:flex; align-items:center; gap:8px; margin-top:auto; padding-top:20px; font-size:.86rem; color:rgba(255,255,255,.55); }
.contact3-card--form{ background:#fff; box-shadow: var(--shadow-lg); display:flex; flex-direction:column; }
.contact3-card--form h3{ font-size:1.4rem; text-transform:uppercase; font-weight:900; margin-bottom:6px; }
.contact3-card--form .form-note{ color:var(--text-muted); font-size:.95rem; margin-bottom:24px; }
.map-fallback::before{ display:none !important; }
@media (max-width: 900px){ .contact3{ grid-template-columns:1fr; } }

/* ================================================================== VÍDEO */
#video.section--ink .eyebrow{ color:var(--orange); }
#video.section--ink .section-title{ color:#fff; }
#video.section--ink .section-sub{ color:rgba(255,255,255,.72); }
.video2-grid{ display:grid; grid-template-columns: 1fr 360px; gap: clamp(32px,5vw,72px); align-items:center; }
.video2-copy .section-sub{ margin-top:16px; }
.video2-bullets{ display:flex; flex-direction:column; gap:13px; margin:26px 0 32px; }
.video2-bullets li{ display:flex; align-items:flex-start; gap:12px; font-weight:600; color:rgba(255,255,255,.9); font-size:1.02rem; }
.video2-bullets li i{ color:#4ade80; margin-top:3px; font-size:1.05rem; flex-shrink:0; }
.video2-phone{ justify-self:center; }
.video2-frame{
  position:relative; width:300px; max-width:100%; aspect-ratio:9/16;
  background:#0d0d0f; border-radius:38px; padding:10px;
  box-shadow: 0 30px 70px -20px rgba(0,0,0,.6), 0 0 0 2px rgba(255,255,255,.06);
}
.video2-el{ width:100%; height:100%; object-fit:cover; border-radius:30px; display:block; background:#0d0d0f; cursor:pointer; }
.video2-play{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:86px; height:86px; border-radius:50%;
  background:var(--orange); color:#fff; font-size:1.9rem;
  display:grid; place-items:center;
  box-shadow: 0 14px 34px -8px rgba(249,115,22,.7); transition: transform .18s var(--ease), background .2s;
}
.video2-play:hover{ transform:translate(-50%,-50%) scale(1.07); background:var(--orange-dark); }
.video2-play i{ margin-left:5px; }
.video2-mute{
  position:absolute; right:16px; bottom:16px;
  width:46px; height:46px; border-radius:50%;
  background:rgba(0,0,0,.55); color:#fff; font-size:1rem;
  display:grid; place-items:center; backdrop-filter:blur(4px);
  transition: background .2s;
}
.video2-mute:hover{ background:rgba(0,0,0,.78); }

/* ======================================================== VIDSOBRE (merged) */
.vidsobre-header{
  max-width: 70ch;
  margin-bottom: clamp(32px,4.2vw,56px);
}
.vidsobre-header .about2-check{ display:none; }
.vidsobre-header .about2-body p{ margin-bottom:16px; }
.vidsobre-header .about2-body p:last-child{ margin-bottom:0; }

#sobre{ overflow:hidden; }
.vidsobre-grid{
  display:grid;
  grid-template-columns: 1.12fr 1fr;
  gap: clamp(24px,3vw,52px);
  align-items: center;
}

/* ---- Colagem de fotos (esquerda): polaroides "tortas" de propósito ---- */
.vidsobre-collage{ position:relative; padding:6px 10px; overflow:visible; }
.vidsobre-collage .about2-splat{
  display:block; top:-9%; right:-12%; width:60%; opacity:.45; z-index:0;
}
#about-photos{
  position:relative; z-index:1;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px 20px;
  height:auto;
}
#about-photos.photos-1{ grid-template-columns:1fr; max-width:84%; margin:0 auto; }
#about-photos.photos-3 .polaroid:nth-child(1){ grid-column:1 / -1; }
#about-photos .polaroid{
  margin:0; display:flex; flex-direction:column;
  background:#fff; padding:11px 11px 0; border-radius:7px;
  box-shadow: 0 18px 34px -18px rgba(24,24,27,.5), 0 2px 5px rgba(24,24,27,.12);
  transition: transform .3s var(--ease), box-shadow .3s var(--ease);
}
#about-photos .polaroid img{
  width:100%; height:auto; display:block; border-radius:3px; aspect-ratio:auto;
}
#about-photos.photos-3 .polaroid:nth-child(1) img{ aspect-ratio:16/9; object-fit:cover; }
#about-photos.photos-3 .polaroid:nth-child(2) img,
#about-photos.photos-3 .polaroid:nth-child(3) img{ aspect-ratio:1/1; object-fit:cover; }
#about-photos .polaroid figcaption{
  padding:10px 4px 13px; margin:0;
  font-family:var(--font-body); font-weight:700; font-size:.82rem; color:var(--text);
  display:flex; align-items:center; gap:7px; line-height:1.3;
}
#about-photos .polaroid figcaption i{ color:var(--orange); font-size:.8rem; flex-shrink:0; }
#about-photos .polaroid:nth-child(1){ transform:rotate(-1.5deg); }
#about-photos .polaroid:nth-child(2){ transform:rotate(2.2deg); }
#about-photos .polaroid:nth-child(3){ transform:rotate(-2.4deg); }
#about-photos .polaroid:hover{ transform:rotate(0) scale(1.02); box-shadow: 0 26px 48px -18px rgba(24,24,27,.55); z-index:4; }
.vidsobre-collage .about2-sticker{
  top:-14px; right:2%; left:auto; bottom:auto; z-index:6;
}

/* ---- Vídeo (direita): moldura de celular, sem cartão de fundo ---- */
.vidsobre-phone{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:22px;
}
.vidsobre-phone .eyebrow{ text-align:center; }
.vidsobre-phone .eyebrow:empty{ display:none; }
.vidsobre-phone .video2-frame{ width:min(330px,100%); margin:0 auto; }
.vidsobre-phone .vidsobre-wa-btn{
  width:100%; max-width:330px; justify-content:center;
  font-size:1.02rem; padding-block:15px;
}

/* ================================================================ GARANTIA */
.about2-photos{ position:relative; z-index:1; display:grid; gap:16px; }
.about2-photos.photos-1{ grid-template-columns:1fr; max-width:82%; margin-inline:auto; }
.about2-photos.photos-2{ grid-template-columns:1fr 1fr; }
.about2-photos.photos-2 .polaroid:nth-child(2){ margin-top:32px; }
.about2-photos.photos-3{ grid-template-columns:1fr 1fr; }
.about2-photos.photos-3 .polaroid:nth-child(1){ grid-column:1 / -1; }
.about2-photos .polaroid{ margin:0; display:flex; flex-direction:column; }
.about2-photos .polaroid:nth-child(odd){ transform:rotate(-1.8deg); }
.about2-photos .polaroid:nth-child(even){ transform:rotate(1.8deg); }
.about2-photos .polaroid img{ width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; flex-shrink:0; }

.garantia-grid{ display:grid; grid-template-columns: .92fr 1.08fr; gap: clamp(32px,5vw,72px); align-items:center; }
.garantia-photo{ border-radius: var(--radius-xl); overflow:hidden; box-shadow: var(--shadow-lg); border:1px solid var(--line); line-height:0; }
.garantia-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.garantia-copy .section-sub{ margin-top:16px; }
.garantia-list{ display:flex; flex-direction:column; gap:18px; margin-top:30px; }
.garantia-list li{ display:flex; align-items:flex-start; gap:16px; }
.garantia-ic{ width:50px; height:50px; border-radius:14px; background:var(--orange-tint); color:var(--orange-dark); display:grid; place-items:center; font-size:1.2rem; flex-shrink:0; }
.garantia-list li b{ display:block; font-family:var(--font-display); font-weight:800; font-size:1.1rem; color:var(--ink); margin-bottom:3px; }
.garantia-list li span{ color:var(--text-muted); font-size:.98rem; line-height:1.5; }

/* ==================================================================== MAPA */
.contact-map{ position:relative; margin-top: clamp(26px,3.2vw,42px); border-radius: var(--radius-xl); overflow:hidden; border:1px solid rgba(255,255,255,.14); box-shadow: var(--shadow-lg); height: 380px; background:#1f1f22; }
.map-fallback{ position:absolute; inset:0; z-index:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; text-align:center; padding:24px; color:#fff;
  background: radial-gradient(120% 120% at 50% 0%, #2a2a2e, #161618); }
.map-fallback::before{ content:""; position:absolute; inset:0; background-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px); background-size:38px 38px; opacity:.6; }
.map-fallback > *{ position:relative; }
.map-fallback > i{ font-size:1.8rem; color:var(--orange); margin-bottom:6px; }
.map-fallback strong{ font-family:var(--font-display); font-size:1.1rem; }
.map-fallback span{ color:rgba(255,255,255,.7); font-size:.95rem; }
.map-fallback .btn{ margin-top:14px; }
.map-frame{ position:absolute; inset:0; z-index:2; width:100%; height:100%; border:0; display:block; opacity:0; transition:opacity .4s ease; }
.map-frame.loaded{ opacity:1; }

/* ============================================================== RESPONSIVO */
@media (max-width: 1080px){
  .route-grid{ gap:10px; }
  .route-step__num{ font-size:3.1rem; }
  .route-step p{ font-size:.88rem; }
  .bento-card--ink h3{ font-size:1.5rem; }
}
@media (max-width: 920px){
  .hero-grid{ grid-template-columns: 1fr; min-height:0; }
  .hero-orange{ display:none; }
  .hero-copy{ background: linear-gradient(158deg, var(--orange) 0%, var(--orange-dark) 68%, var(--orange-darker) 100%); }
  .hero-media{ min-height: 360px; order:2; z-index:auto; }
  .hero-car-main{ width:74%; max-width:460px; }
  .hero-floor{ bottom:14%; }

  .cmp2-grid{ grid-template-columns:1fr; gap:34px; }
  .cmp2-mid{ order:2; min-height:0; }
  .cmp2-mid::before{ display:none; }
  .cmp2-card{ padding:26px 22px; overflow:hidden; }
  .cmp2-card--bad{ order:1; transform:none; }
  .cmp2-card--good{ order:3; transform:none; }

  .route-track, .route-fill, .route-car, .route-goal{ display:none; }
  .route-grid{ grid-template-columns:1fr; gap:0; }
  .route-step{ flex-direction:row; gap:20px; padding:18px 0; align-items:flex-start; border-bottom:1px solid var(--line); }
  .route-step:last-child{ border-bottom:none; }
  .route-step__marker{ margin-bottom:0; flex-direction:column-reverse; align-items:center; gap:6px; flex-shrink:0; }
  .route-step__num{ font-size:1.4rem; -webkit-text-stroke:1.5px var(--orange); }
  .route-step p{ max-width:none; }

  .about2-grid{ grid-template-columns:1fr; gap:40px; }
  .about2-collage{ min-height:0; height:auto; display:grid; gap:18px; }
  .about2-photo1{ position:relative; width:100%; transform:none; }
  .about2-photo2{ position:relative; width:80%; margin-left:auto; transform:none; margin-top:-30px; }
  .about2-splat{ top:-3%; right:-16%; width:90%; }

  .vidsobre-grid{ grid-template-columns:1fr 1fr; }
  .vidsobre-phone .video2-frame{ width:min(280px,100%); }

  .bento{ grid-template-columns:1fr 1fr; }
  .bento-card--feature{ grid-column: span 2; grid-row:auto; }
  .bento-card--ink{ grid-column: span 2; grid-row:auto; }
  .bento-card--orange{ grid-column: span 2; grid-row:auto; }
  .bento-card--line, .bento-card--paper{ grid-column: span 1; }

  .slogan-car{ position:relative; right:auto; bottom:auto; width:80%; max-width:420px; margin:34px auto 0; display:block; }
  .slogan-car[data-reveal]:not(.in){ transform: translateY(28px) scaleX(-1); }
  @media (prefers-reduced-motion: no-preference){
    .slogan-car[data-reveal].in{ animation: slogan-car-in-m .8s var(--ease) forwards; }
  }
  .slogan-copy{ max-width:none; text-align:center; }
  .slogan-glow{ width:100%; right:0; }
  .slogan-kicker{ margin-inline:auto; }
  .spin-badge{ width:110px; height:110px; right:14px; top:14px; }
  .slogan-title .hl::before{ left:-10%; right:-10%; }

  .faq2-grid{ grid-template-columns:1fr; gap:30px; }
  .faq2-left{ position:static; }

  .contact2-grid{ grid-template-columns:1fr; }
  .contact-taillight{ width:56%; opacity:.32; left:0; right:auto; }
}
@media (max-width: 560px){
  .stats2-inner{ grid-template-columns:1fr; }
  .stat2 + .stat2::before{ content:""; position:absolute; left:8%; right:8%; top:0; bottom:auto; width:auto; height:1px; }
  .stat2{ padding-block:26px; }
  .hero h1 .hl{ white-space:normal; }
  .cmp2-card li{ font-size:.98rem; }
  .marquee__item{ font-size:.95rem; }
  .about2-check{ grid-template-columns:1fr; }
  .bento{ grid-template-columns:1fr; }
  .bento-card{ grid-column: 1 / -1; }
  .bento-card--feature .bento-card__wm{ top:6px; right:14px; bottom:auto; }
  .faq2-q{ grid-template-columns:46px 1fr 38px; }
  .faq2-q .n{ font-size:1.3rem; }
  .faq2-a-inner p{ padding-left:0; }
  .contact2-meta{ grid-template-columns:1fr; }

  /* Benefícios: foto do carro some mais cedo e névoa branca garante leitura */
  .bento-card--feature::after{
    mask-image: linear-gradient(to left, #000 5%, transparent 50%);
    -webkit-mask-image: linear-gradient(to left, #000 5%, transparent 50%);
  }
  .bento-card--feature h3,
  .bento-card--feature p{
    text-shadow: 0 0 18px rgba(255,255,255,1), 0 0 36px rgba(255,255,255,.9);
  }

  /* Impede elementos absolutos de vazarem além da largura da tela */
  .about2-splat{ display:none; }
  .about2-collage{ overflow:hidden; }
  .about2-photos .polaroid{ transform:none !important; }

  .vidsobre-grid{ grid-template-columns:1fr; }
  .vidsobre-phone{ width:100%; max-width:300px; margin:0 auto; }
  .vidsobre-phone .video2-frame{ width:100%; }
  .vidsobre-collage{ overflow:visible; }
  #about-photos{ height:auto; }
  #about-photos.photos-3{ grid-template-rows:auto auto; }
  #about-photos.photos-3 .polaroid:nth-child(1) img{ aspect-ratio:16/9; }
  #about-photos.photos-3 .polaroid:nth-child(2) img,
  #about-photos.photos-3 .polaroid:nth-child(3) img{ aspect-ratio:1/1; }
  .stats2{ overflow:hidden; }
  .slogan-band{ overflow:hidden; }
  .hero-media{ overflow:hidden; min-height:240px; }
  .hero-glow{ width:68%; height:68%; }
  .hero-floor{ bottom:9%; }
  .hero-badge{ top:4%; right:3%; transform: rotate(-3deg) scale(.62); transform-origin: top right; }

  /* Eyebrow do hero: não ultrapassa a largura da tela */
  .hero-eyebrow{ white-space:normal; max-width:100%; overflow:hidden; }

  /* Seção de vídeo: empilha em coluna no mobile */
  .video2-grid{ grid-template-columns:1fr; }
  .video2-phone{ width:100%; max-width:300px; margin:0 auto; }

  /* Garantia: empilha foto abaixo do texto */
  .garantia-grid{ grid-template-columns:1fr; }
  .garantia-photo{ max-width:340px; margin:0 auto; }

  /* Sticker "Recomendado": entra para dentro do card no mobile */
  .cmp2-card--good .sticker{ right:12px; top:12px; font-size:.75rem; padding:5px 10px; }

  /* Garantia overflow */
  .garantia2{ overflow:hidden; }
}
