﻿/* ===== FONTES LOCAIS ===== */
@font-face {
  font-family: 'Bebas Neue';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/bebas-neue-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Bebas Neue';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/bebas-neue-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url('fonts/montserrat-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url('fonts/montserrat-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ===== VARIÁVEIS ===== */
:root {
  --orange:      #E8650A;
  --orange-lt:   #FF8C2A;
  --orange-pale: #FFF3EB;
  --orange-deep: #C4510A;
  --brown:       #3D1A0E;
  --brown-mid:   #6B3311;
  --brown-light: #A05020;
  --white:       #FFFFFF;
  --off-white:   #FAF8F5;
  --gray-50:     #F7F4F0;
  --gray-100:    #EDE8E2;
  --gray-200:    #D6CEC4;
  --gray-400:    #A89880;
  --gray-600:    #6E5A48;
  --gray-800:    #3D2818;
  --border:      rgba(61,26,14,0.12);
  --border-o:    rgba(232,101,10,0.25);
  --shadow-sm:   0 1px 4px rgba(61,26,14,0.07);
  --shadow-md:   0 4px 20px rgba(61,26,14,0.10);
  --shadow-lg:   0 12px 40px rgba(61,26,14,0.13);
  --shadow-o:    0 8px 28px rgba(232,101,10,0.25);
  --emergency-red: #D92D20;
  --emergency-red-lt: #F04438;
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'Montserrat',sans-serif; background:var(--white); color:var(--brown); overflow-x:hidden; line-height:1.6; }
img { max-width:100%; display:block; }
a { text-decoration:none; color:inherit; }
button { font-family:inherit; cursor:pointer; }

/* ===== NAVBAR ===== */
#navbar {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  display:flex; align-items:center; justify-content:space-between;
  padding:7px 36px;
  background:rgba(255,255,255,0.97);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--border);
  box-shadow:var(--shadow-sm);
  transition:all 0.3s;
}
#navbar.scrolled { padding:5px 36px; box-shadow:var(--shadow-md); }
.nav-logo { display:flex; align-items:center; gap:6px; }
/* Logo TrackerMap circular com fundo laranja */
.nav-logo img {
  height:30px; width:30px; border-radius:50%;
  object-fit:cover; object-position:center;
  aspect-ratio: 1 / 1;
  box-shadow:0 0 0 2px rgba(232,101,10,0.3), 0 2px 12px rgba(232,101,10,0.2);
  transition:transform 0.3s;
}
.nav-logo:hover img { transform:scale(1.06); }
.nav-logo-text { font-family:'Bebas Neue',sans-serif; font-size:17px; font-weight:800; letter-spacing:1px; color:var(--brown); -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility; }
.nav-logo-text span { color:var(--orange); }
.nav-links { display:flex; list-style:none; align-items:center; gap:17px; }
.nav-links a { font-size:13px; font-weight:500; color:var(--gray-600); transition:color 0.2s; position:relative; padding-bottom:3px; }
.nav-links a::after { content:''; position:absolute; bottom:0; left:0; width:0; height:1px; background:var(--orange); transition:width 0.3s; border-radius:1px; }
.nav-links a:hover { color:var(--orange); }
.nav-links a:hover::after { width:100%; }
.btn-portal {
  background:var(--orange) !important; color:var(--white) !important;
  padding:6px 13px !important; border-radius:4px !important;
  font-weight:600 !important; font-size:13px !important;
  box-shadow:var(--shadow-o); display:inline-flex; align-items:center; gap:4px;
  transition:all 0.25s !important;
}
.btn-portal:hover { background:var(--orange-lt) !important; transform:translateY(-2px) !important; }
.btn-portal::after { display:none !important; }
.nav-toggle { display:none; background:transparent; border:1px solid var(--border-o); color:var(--orange); width:26px; height:26px; border-radius:4px; align-items:center; justify-content:center; transition:background 0.2s; flex-shrink:0; }
.nav-toggle:hover { background:var(--orange-pale); }

/* ===== HERO CARROSSEL — imagens com fallback degradê ===== */
#home {
  margin-top:44px;
  position:relative;
  height:calc(100vh - 44px);
  min-height:580px;
  overflow:hidden;
  background:var(--brown);
}

.hero-slides {
  display:flex;
  width:700%;
  height:100%;
  animation:hero-auto 35s cubic-bezier(0.76,0,0.24,1) infinite;
  will-change:transform;
}
@keyframes hero-auto {
  0%,10%              { transform:translateX(0%) }
  14.2857%,24%        { transform:translateX(-14.2857%) }
  28.5714%,38%        { transform:translateX(-28.5714%) }
  42.8571%,52%        { transform:translateX(-42.8571%) }
  57.1428%,67%        { transform:translateX(-57.1428%) }
  71.4285%,81%        { transform:translateX(-71.4285%) }
  85.7142%,95%        { transform:translateX(-85.7142%) }
  100%                { transform:translateX(0%) }
}
.hero-slides.paused { animation-play-state:paused; }

.hero-slide {
  width:14.2857%; flex-shrink:0; height:100%; position:relative;
  display:flex; align-items:center;
  /* Regra de Ouro: cover + center evita distorção em qualquer proporção de tela,
     inclusive ultra-wide 21:9 e telas 4:3 */
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}
.hero-slide::before {
  content:''; position:absolute; inset:0; z-index:0;
}
.hero-slide::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(110deg, rgba(15,4,0,0.88) 0%, rgba(20,6,0,0.58) 52%, rgba(20,6,0,0.18) 100%);
  z-index:1;
}

/* Hero slide backgrounds — imagens hospedadas localmente em images/hero/ */
.hs-1 {
  background:
    url('images/hero/Corolla3.webp') center/cover no-repeat,
    linear-gradient(135deg, #2d0f00 0%, #4a1a00 50%, #1a0a00 100%);
}
.hs-2 {
  background:
    url('images/hero/Moto1.webp') center/cover no-repeat,
    linear-gradient(135deg, #100500 0%, #3d1a0e 50%, #1a0800 100%);
}
.hs-3 {
  background:
    url('images/hero/frota2.webp') center/cover no-repeat,
    linear-gradient(135deg, #200800 0%, #4a1500 50%, #200600 100%);
}
.hs-4 {
  background:
    url('images/hero/caminhao5.webp') center/cover no-repeat,
    linear-gradient(135deg, #100500 0%, #3d1a0e 50%, #1a0800 100%);
}
.hs-5 {
  background:
    url('images/hero/slide-6-pickup.webp') center/cover no-repeat,
    linear-gradient(135deg, #250a00 0%, #4a1a00 50%, #1a0700 100%);
}
.hs-6 {
  background:
    url('images/hero/TodasOPs.webp') center/cover no-repeat,
    linear-gradient(135deg, #1a0a00 0%, #3d1500 50%, #1a0700 100%);
}
.hs-7 {
  background:
    url('images/hero/SmartBlock.webp') center/cover no-repeat,
    linear-gradient(135deg, #1a0a00 0%, #3d1500 50%, #1a0700 100%);
}

.hero-slide-content {
  position:relative; z-index:2;
  padding:calc(3rem + 5vh) 5rem 3rem;
  max-width:640px;
  display:flex; flex-direction:column;
}
.hero-badge {
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(232,101,10,0.18);
  border:1px solid rgba(232,101,10,0.5);
  padding:6px 16px; border-radius:100px;
  font-size:11px; letter-spacing:3px; text-transform:uppercase;
  color:#FFBF8A; margin-bottom:1.2rem;
}
.hero-badge-dot { width:6px; height:6px; border-radius:50%; background:var(--orange); animation:blink 2s infinite; }
@keyframes blink { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:0.3;transform:scale(1.6)} }

/* ===== MODAL TURNSTILE WHATSAPP ===== */
#wpp-modal-overlay {
  position:fixed; inset:0; z-index:10000;
  background:rgba(0,0,0,0.65);
  display:flex; align-items:center; justify-content:center;
  backdrop-filter:blur(4px);
}
#wpp-modal-card {
  background:#fff; border-radius:18px;
  padding:36px 28px 28px; text-align:center;
  max-width:360px; width:90%; position:relative;
  box-shadow:0 24px 64px rgba(0,0,0,0.35);
}
#wpp-modal-close {
  position:absolute; top:12px; right:16px;
  background:none; border:none; font-size:24px;
  cursor:pointer; color:#999; line-height:1;
}
#wpp-modal-close:hover { color:#333; }
#wpp-modal-icon { width:52px; height:52px; fill:#25D366; margin:0 auto 16px; display:block; }
#wpp-modal-card h3 { font-size:1.1rem; font-weight:700; color:#1a1a1a; margin-bottom:8px; }
#wpp-modal-card p { font-size:0.88rem; color:#666; margin-bottom:20px; line-height:1.5; }
#turnstile-wpp { display:flex; justify-content:center; }
.hero-slide-cat { font-size:11px; letter-spacing:4px; text-transform:uppercase; color:var(--orange); font-weight:600; margin-bottom:0.5rem; }
.hero-slide-title { font-family:'Bebas Neue',sans-serif; font-weight:800; font-size:clamp(3rem,6.5vw,5rem); color:#fff; line-height:1.08; margin-bottom:0.9rem; }
.hero-slide-title span { color:var(--orange); }
.hero-slide-desc { font-size:1rem; color:rgba(255,255,255,0.75); line-height:1.75; margin-bottom:2rem; max-width:440px; }
.hero-btns { display:flex; gap:12px; flex-wrap:wrap; margin-top:auto; }
.btn-hero-primary {
  display:inline-flex; align-items:center; gap:8px; min-height:48px;
  background:var(--orange); color:#fff; padding:13px 28px; border-radius:6px;
  font-size:14px; font-weight:600; border:none; box-shadow:var(--shadow-o); transition:all 0.25s;
}
.btn-hero-primary:hover { background:var(--orange-lt); transform:translateY(-2px); }
.btn-hero-outline {
  display:inline-flex; align-items:center; gap:8px; min-height:48px;
  background:transparent; color:#fff; padding:13px 28px; border-radius:6px;
  font-size:14px; font-weight:500; border:1.5px solid rgba(255,255,255,0.3); transition:all 0.25s;
}
.btn-hero-outline:hover { border-color:var(--orange); color:var(--orange); }

/* métricas hero */
.hero-metrics {
  position:absolute; bottom:0; left:0; right:0; z-index:10;
  display:flex; background:rgba(255,255,255,0.08);
  backdrop-filter:blur(14px); border-top:1px solid rgba(255,255,255,0.12);
}
.hm-item { flex:1; padding:1.1rem 1.4rem; display:flex; align-items:center; gap:12px; border-right:1px solid rgba(255,255,255,0.1); }
.hm-item:last-child { border-right:none; }
.hm-icon { width:40px; height:40px; border-radius:8px; background:rgba(232,101,10,0.22); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.hm-icon svg { width:20px; height:20px; stroke:#fff; fill:none; stroke-width:2; }
.hm-val { font-family:'Bebas Neue',sans-serif; font-weight:700; font-size:1.25rem; color:#fff; line-height:1; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility; letter-spacing:0.03em; }
.hm-label { font-size:11px; color:rgba(255,255,255,0.55); letter-spacing:0.05em; margin-top:2px; }

/* dots hero */
.hero-dots { position:absolute; bottom:90px; right:60px; z-index:11; display:flex; gap:8px; }
.hero-dot { width:7px; height:7px; border-radius:50%; background:rgba(255,255,255,0.3); border:none; cursor:pointer; transition:all 0.3s; min-width:28px; min-height:28px; display:flex; align-items:center; justify-content:center; background:transparent; }
.hero-dot-inner { width:7px; height:7px; border-radius:50%; background:rgba(255,255,255,0.3); transition:all 0.3s; pointer-events:none; }
.hero-dot.active .hero-dot-inner { background:var(--orange); transform:scale(1.4); }

/* ===== BOTÃO EMERGÊNCIA 24H ===== */
#btn-emergencia {
  position:fixed; left:20px; bottom:24px; z-index:1300;
  display:flex; align-items:center; gap:10px;
  background:var(--emergency-red);
  color:#fff;
  padding:12px 18px 12px 14px;
  border-radius:50px;
  border:none;
  box-shadow:0 4px 20px rgba(217,45,32,0.45), 0 0 0 0 rgba(217,45,32,0.4);
  animation:emergency-pulse 2.5s ease infinite;
  cursor:pointer;
  font-family:'Montserrat',sans-serif;
  font-size:13px;
  font-weight:600;
  letter-spacing:0.01em;
  transition:transform 0.2s, box-shadow 0.2s;
  text-decoration:none;
  max-width:220px;
}
#btn-emergencia:hover { transform:scale(1.04); box-shadow:0 6px 28px rgba(217,45,32,0.55); }
#btn-emergencia .emg-icon { width:32px; height:32px; border-radius:50%; background:rgba(255,255,255,0.2); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
#btn-emergencia svg { width:18px; height:18px; stroke:#fff; fill:none; stroke-width:2.2; }
#btn-emergencia .emg-text { display:flex; flex-direction:column; line-height:1.2; }
#btn-emergencia .emg-title { font-size:12px; font-weight:700; }
#btn-emergencia .emg-sub { font-size:10px; opacity:0.85; }
@keyframes emergency-pulse {
  0%   { box-shadow:0 4px 20px rgba(217,45,32,0.45), 0 0 0 0 rgba(217,45,32,0.4); }
  70%  { box-shadow:0 4px 20px rgba(217,45,32,0.45), 0 0 0 14px rgba(217,45,32,0); }
  100% { box-shadow:0 4px 20px rgba(217,45,32,0.45), 0 0 0 0 rgba(217,45,32,0); }
}

/* ===== SEÇÕES ===== */
.section { padding:100px 60px; scroll-margin-top:64px; }
.section-apps { scroll-margin-top:64px; }
.section-tag { display:block; font-size:11px; letter-spacing:4px; text-transform:uppercase; color:var(--orange); margin-bottom:10px; font-weight:600; }
.section-title { font-family:'Bebas Neue',sans-serif; font-size:clamp(2rem,4vw,3rem); font-weight:800; letter-spacing:-0.01em; line-height:1.1; color:var(--brown); margin-bottom:14px; }
.section-title span { color:var(--orange); }
.section-desc { font-size:15px; color:var(--gray-600); line-height:1.75; }
.section-header { text-align:center; margin-bottom:64px; }
.section-header .section-desc { max-width:500px; margin:0 auto; }
.divider-line { width:50px; height:3px; background:linear-gradient(90deg,var(--orange),var(--brown-light)); margin:18px auto 0; border-radius:2px; }
.reveal { opacity:0; transform:translateY(36px); transition:opacity 0.7s ease,transform 0.7s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }

/* ===== CARROSSEL VEÍCULOS ===== */
#carrossel { background:var(--gray-50); border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding:64px 0 72px; overflow:hidden; }
.carrossel-header { text-align:center; margin-bottom:36px; padding:0 60px; }
.carrossel-header p { font-size:11px; letter-spacing:4px; text-transform:uppercase; color:var(--orange); margin-bottom:8px; font-weight:600; }
.carrossel-header h3 { font-family:'Bebas Neue',sans-serif; font-size:2rem; font-weight:800; color:var(--brown); }
.carrossel-header h3 span { color:var(--orange); }
.carrossel-wrap { position:relative; overflow:hidden; }
.carrossel-wrap::before,.carrossel-wrap::after { content:''; position:absolute; top:0; bottom:0; width:80px; z-index:2; pointer-events:none; }
.carrossel-wrap::before { left:0; background:linear-gradient(to right,var(--gray-50),transparent); }
.carrossel-wrap::after  { right:0; background:linear-gradient(to left,var(--gray-50),transparent); }
.carrossel-track { display:flex; gap:18px; padding:8px 60px; transition:transform 0.45s cubic-bezier(0.25,0.46,0.45,0.94); will-change:transform; }
.car-slide {
  flex:0 0 280px;
  /* aspect-ratio garante que o card mantenha proporção 16:9 em qualquer largura de tela */
  aspect-ratio: 16 / 9;
  height: auto; /* deixa o aspect-ratio controlar a altura */
  border-radius:12px; overflow:hidden; position:relative;
  box-shadow:var(--shadow-md); background:var(--gray-200);
}

/* Imagens de conteúdo: Regra de Ouro — object-fit:cover + aspect-ratio */
.car-slide img {
  width:100%;
  height:100%;
  aspect-ratio: 16 / 9;
  object-fit:cover;   /* preenche o retângulo 16:9 sem jamais distorcer */
  object-position: center center;
  display:block;
  transition:transform 0.4s ease;
}
.car-slide:hover img { transform:scale(1.05); }
.car-slide-info { position:absolute; bottom:0; left:0; right:0; padding:12px 16px; background:linear-gradient(to top,rgba(20,4,0,0.82),transparent); }
.car-slide-label { font-family:'Bebas Neue',sans-serif; font-size:14px; font-weight:700; color:#fff; }
.car-slide-sub { font-size:11px; color:rgba(255,255,255,0.7); }
/* Placeholder gradient fallback when image fails */
.car-slide.img-error { background:linear-gradient(135deg, #3d1a0e, #e8650a); }
.carrossel-controls { display:flex; align-items:center; justify-content:center; gap:16px; margin-top:28px; }
.carr-btn { width:44px; height:44px; border-radius:50%; border:1.5px solid var(--border-o); background:var(--white); color:var(--orange); display:flex; align-items:center; justify-content:center; transition:all 0.2s; }
.carr-btn:hover { background:var(--orange); color:#fff; border-color:var(--orange); }
.carr-btn svg { width:18px; height:18px; stroke:currentColor; fill:none; stroke-width:2.5; }
.carr-dots { display:flex; gap:8px; }
.carr-dot { width:8px; height:8px; border-radius:50%; background:var(--gray-200); border:none; cursor:pointer; transition:all 0.3s; min-width:28px; min-height:28px; display:flex; align-items:center; justify-content:center; background:transparent; }
.carr-dot-inner { width:8px; height:8px; border-radius:50%; background:var(--gray-200); transition:all 0.3s; pointer-events:none; }
.carr-dot.active .carr-dot-inner { background:var(--orange); transform:scale(1.3); }

/* ===== COMO FUNCIONA ===== */
.steps-wrapper { display:grid; grid-template-columns:repeat(4,1fr); gap:28px; position:relative; }
.section-apps { padding:39px 20px 60px; text-align:center; background:#fff; }
.apps-wrapper { position:relative; display:inline-block; max-width:900px; width:100%; }
.apps-img { width:100%; height:auto; display:block; }
.apps-link { position:absolute; top:83%; height:11%; cursor:pointer; }
.apps-link-ios { left:3%; width:21%; }
.apps-link-android { left:26%; width:21%; }
.app-badges { margin-top:40px; text-align:center; }
.app-badges-label { font-size:13px; color:var(--gray-600); margin-bottom:14px; }
.app-badges-row { display:flex; justify-content:center; gap:16px; flex-wrap:wrap; }
.app-badge { display:inline-flex; align-items:center; gap:10px; padding:10px 20px; border-radius:10px; border:1.5px solid var(--border); background:var(--brown); color:#fff; text-decoration:none; transition:all 0.2s; min-width:160px; }
.app-badge:hover { background:var(--orange); border-color:var(--orange); transform:translateY(-2px); }
.app-badge span { display:flex; flex-direction:column; text-align:left; }
.app-badge span small { font-size:10px; opacity:0.8; line-height:1; }
.app-badge span strong { font-size:14px; line-height:1.3; }
.steps-wrapper::before { content:''; position:absolute; top:28px; left:calc(12.5% + 14px); right:calc(12.5% + 14px); height:2px; background:linear-gradient(90deg,var(--orange-pale),var(--orange),var(--orange-pale)); border-radius:1px; z-index:0; }
.step-card { background:var(--white); border:1px solid var(--border); border-radius:14px; padding:28px 22px; text-align:center; position:relative; z-index:1; transition:all 0.3s; box-shadow:var(--shadow-sm); }
.step-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-lg); border-color:var(--border-o); }
.step-num { position:absolute; top:-16px; left:50%; transform:translateX(-50%); width:32px; height:32px; border-radius:50%; background:var(--orange); color:#fff; font-family:'Bebas Neue',sans-serif; font-size:14px; font-weight:800; display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow-o); }
.step-icon-wrap { width:56px; height:56px; border-radius:12px; background:var(--orange-pale); display:flex; align-items:center; justify-content:center; margin:12px auto 16px; }
.step-icon-wrap svg { width:26px; height:26px; stroke:var(--orange); fill:none; stroke-width:1.8; }
.step-title { font-family:'Bebas Neue',sans-serif; font-size:15px; font-weight:700; color:var(--brown); margin-bottom:8px; }
.step-desc { font-size:13px; color:var(--gray-600); line-height:1.65; }

/* ===== PLANOS ===== */
.plans-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.plan-card { background:var(--white); border:1.5px solid var(--border); border-radius:16px; padding:28px 22px; position:relative; transition:all 0.3s; }
.plan-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); border-color:var(--border-o); }
.plan-card.featured { border-color:var(--orange); background:linear-gradient(160deg,var(--orange-pale) 0%,#fff 60%); box-shadow:var(--shadow-o); }
.badge-popular { position:absolute; top:-12px; left:50%; transform:translateX(-50%); background:var(--orange); color:#fff; font-size:11px; font-weight:700; letter-spacing:1px; padding:4px 14px; border-radius:100px; white-space:nowrap; }
.plan-name { font-family:'Bebas Neue',sans-serif; font-size:18px; font-weight:800; color:var(--brown); margin-bottom:8px; letter-spacing:1px; }
.plan-price { display:flex; align-items:flex-end; gap:2px; margin-bottom:4px; }
.plan-currency { font-size:16px; font-weight:600; color:var(--orange); line-height:2; }
.plan-amount { font-family:'Bebas Neue',sans-serif; font-size:3rem; font-weight:800; color:var(--orange); line-height:1; }
.plan-period { font-size:13px; color:var(--gray-600); line-height:2; }
.plan-install { font-size:12px; color:var(--gray-400); margin-bottom:16px; }
.plan-install.free { color:var(--orange); font-weight:600; }
.plan-divider { height:1px; background:var(--border); margin-bottom:16px; }
.plan-features { list-style:none; display:flex; flex-direction:column; gap:10px; margin-bottom:24px; }
.plan-features li { position:relative; padding-left:24px; font-size:13px; color:var(--gray-600); line-height:1.5; }
.plan-features li svg { position:absolute; left:0; top:2px; width:16px; height:16px; stroke:var(--orange); fill:none; stroke-width:2.5; flex-shrink:0; }
.plan-features li strong { color:var(--brown); }
.btn-plan { width:100%; padding:13px; border-radius:8px; border:1.5px solid var(--orange); background:transparent; color:var(--orange); font-weight:600; font-size:14px; transition:all 0.25s; min-height:48px; }
.btn-plan:hover,.plan-card.featured .btn-plan { background:var(--orange); color:#fff; }
.plan-obs { text-align:center; font-size:12px; color:var(--gray-400); margin-top:28px; max-width:680px; margin-left:auto; margin-right:auto; }

/* ===== GOOGLE REVIEWS WIDGET ===== */
#google-reviews { background:var(--off-white); border-top:1px solid var(--border); padding:60px 60px 70px; }
.reviews-header { text-align:center; margin-bottom:36px; }
.reviews-header h2 { font-family:'Bebas Neue',sans-serif; font-size:1.8rem; font-weight:800; color:var(--brown); margin-bottom:8px; }
.reviews-header h2 span { color:var(--orange); }
.google-badge { display:inline-flex; align-items:center; gap:10px; background:#fff; border:1px solid var(--border); padding:10px 20px; border-radius:50px; margin-bottom:28px; box-shadow:var(--shadow-sm); }
.google-badge-logo { font-size:14px; font-weight:700; color:#4285F4; }
.google-badge-logo em { color:#EA4335; font-style:normal; }
.google-badge-logo .g-o { color:#FBBC05; }
.google-badge-logo .g-g { color:#34A853; }
.google-score { display:flex; align-items:center; gap:6px; }
.google-score-num { font-family:'Bebas Neue',sans-serif; font-size:1.4rem; font-weight:800; color:var(--brown); }
.google-score-stars { color:#FBBC05; font-size:16px; letter-spacing:1px; }
.google-score-total { font-size:12px; color:var(--gray-400); }
.google-reviews-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.google-review-card { background:#fff; border:1px solid var(--border); border-radius:12px; padding:20px; box-shadow:var(--shadow-sm); transition:box-shadow 0.2s; }
.google-review-card:hover { box-shadow:var(--shadow-md); }
.gr-header { display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.gr-avatar { width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:'Bebas Neue',sans-serif; font-weight:700; font-size:15px; color:#fff; flex-shrink:0; }
.gr-name { font-weight:600; font-size:14px; color:var(--brown); }
.gr-date { font-size:11px; color:var(--gray-400); }
.gr-stars { color:#FBBC05; font-size:14px; margin-bottom:8px; }
.gr-text { font-size:13px; color:var(--gray-600); line-height:1.65; }
.gr-g-logo { margin-left:auto; }
.gr-g-logo svg { width:20px; height:20px; }

/* ===== QUEM CONFIA ===== */
.trust-numbers { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--border); border-radius:16px; overflow:hidden; margin-bottom:40px; }
.trust-num-item { padding:32px; text-align:center; border-right:1px solid var(--border); }
.trust-num-item:last-child { border-right:none; }
.trust-num-value { font-family:'Bebas Neue',sans-serif; font-size:3rem; font-weight:800; color:var(--orange); display:block; line-height:1; margin-bottom:6px; }
.trust-num-label { font-size:13px; color:var(--gray-600); }
.clients-row { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-bottom:48px; }
.client-chip { padding:8px 18px; border-radius:100px; background:var(--gray-50); border:1px solid var(--border); font-size:13px; color:var(--gray-600); }
.testimonials { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.testimonial { background:var(--white); border:1px solid var(--border); border-radius:14px; padding:24px; position:relative; transition:all 0.3s; }
.testimonial:hover { box-shadow:var(--shadow-md); transform:translateY(-3px); }
.testimonial-stars { color:#F59E0B; font-size:15px; margin-bottom:12px; letter-spacing:2px; }
.testimonial-text { font-size:14px; color:var(--gray-600); line-height:1.7; margin-bottom:18px; font-style:italic; }
.testimonial-author { display:flex; align-items:center; gap:12px; }
.author-avatar { width:40px; height:40px; border-radius:50%; background:var(--orange); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:13px; flex-shrink:0; }
.author-name { font-weight:600; font-size:13px; color:var(--brown); }
.author-role { font-size:11px; color:var(--gray-400); }

/* ===== FAQ ===== */
.faq-wrapper { max-width:760px; margin:0 auto; display:flex; flex-direction:column; gap:8px; }
.faq-item { border:1.5px solid var(--border); border-radius:10px; overflow:hidden; transition:border-color 0.2s; }
.faq-item.open { border-color:var(--border-o); }
.faq-question { width:100%; background:var(--white); border:none; padding:18px 22px; display:flex; align-items:center; justify-content:space-between; gap:16px; cursor:pointer; text-align:left; min-height:48px; }
.faq-question-text { font-size:15px; font-weight:500; color:var(--brown); }
.faq-icon { flex-shrink:0; width:24px; height:24px; border-radius:50%; background:var(--orange-pale); display:flex; align-items:center; justify-content:center; transition:transform 0.3s; }
.faq-icon svg { width:14px; height:14px; stroke:var(--orange); fill:none; stroke-width:2.5; transition:transform 0.3s; }
.faq-item.open .faq-icon { background:var(--orange); }
.faq-item.open .faq-icon svg { stroke:#fff; transform:rotate(45deg); }
.faq-answer { max-height:0; overflow:hidden; transition:max-height 0.4s ease,padding 0.3s; }
.faq-item.open .faq-answer { max-height:300px; }
.faq-answer p { padding:0 22px 18px; font-size:14px; color:var(--gray-600); line-height:1.75; }

/* ===== FORMULÁRIO CADASTRO 2 ETAPAS ===== */
.cadastro-steps-indicator { text-align:center; font-size:12px; color:var(--orange); font-weight:600; letter-spacing:2px; margin-bottom:12px; }
.cadastro-progress { display:flex; gap:8px; margin-bottom:28px; }
.cadastro-progress-bar { flex:1; height:4px; border-radius:2px; background:var(--gray-100); transition:background 0.4s; }
.cadastro-progress-bar.done { background:var(--orange); }
.vehicle-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:24px 0; }
.vehicle-btn {
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:8px; padding:18px 10px; border-radius:10px;
  border:1.5px solid var(--border); background:var(--white);
  cursor:pointer; transition:all 0.25s; min-height:96px;
  font-size:12px; font-weight:600; color:var(--gray-600); text-align:center;
}
.vehicle-btn svg { width:28px; height:28px; stroke:var(--gray-400); fill:none; stroke-width:1.8; transition:stroke 0.25s; }
.vehicle-btn:hover { border-color:var(--border-o); color:var(--orange); }
.vehicle-btn:hover svg { stroke:var(--orange); }
.vehicle-btn.selected { border-color:var(--orange); background:var(--orange-pale); color:var(--orange); }
.vehicle-btn.selected svg { stroke:var(--orange); }

/* ===== CONTATO / FORMS ===== */
.contact-grid { display:grid; grid-template-columns:1fr 1.2fr; gap:48px; }
.contact-info p { font-size:15px; color:var(--gray-600); line-height:1.75; margin-bottom:28px; }
.contact-items { display:flex; flex-direction:column; gap:16px; margin-bottom:28px; }
.contact-item { display:flex; align-items:center; gap:14px; }
.contact-item-icon { width:44px; height:44px; border-radius:10px; background:var(--orange-pale); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.contact-item-icon svg { width:20px; height:20px; stroke:var(--orange); fill:none; stroke-width:2; }
.contact-item-text strong { display:block; font-size:14px; color:var(--brown); }
.contact-item-text span { font-size:12px; color:var(--gray-400); }
.app-badges { display:flex; gap:12px; flex-wrap:wrap; margin-top:8px; }
.app-badge { display:flex; align-items:center; gap:10px; padding:10px 16px; border-radius:10px; border:1.5px solid var(--border); background:var(--white); transition:all 0.2s; min-height:52px; }
.app-badge:hover { border-color:var(--border-o); box-shadow:var(--shadow-sm); }
.app-badge svg { width:24px; height:24px; }
.app-badge-img { padding:6px 10px; border:none; background:transparent; }
.app-badge-img img { height:44px; width:auto; display:block; }
.app-text small { display:block; font-size:10px; color:var(--gray-400); }
.app-text strong { font-size:14px; color:var(--brown); }
.contact-form { background:var(--white); border:1.5px solid var(--border); border-radius:16px; padding:32px; box-shadow:var(--shadow-sm); display:flex; flex-direction:column; gap:16px; }
.form-group { display:flex; flex-direction:column; gap:6px; }
.form-group label { font-size:13px; font-weight:500; color:var(--brown); }
.form-group input,.form-group select,.form-group textarea {
  padding:11px 14px; border-radius:8px;
  border:1.5px solid var(--border); background:var(--off-white);
  color:var(--brown); font-family:inherit; font-size:14px;
  outline:none; transition:border-color 0.2s; min-height:44px;
}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus { border-color:var(--orange); background:#fff; }
.form-group input.error,.form-group select.error,.form-group textarea.error { border-color:#D92D20; background:#FFF5F5; }
.field-error { font-size:11px; color:#D92D20; margin-top:2px; }
.form-group textarea { min-height:90px; resize:vertical; }
.btn-submit {
  display:flex; align-items:center; justify-content:center; gap:8px;
  background:var(--orange); color:#fff; padding:14px; border-radius:8px;
  border:none; font-size:15px; font-weight:600;
  box-shadow:var(--shadow-o); transition:all 0.25s; min-height:48px;
}
.btn-submit:hover { background:var(--orange-lt); transform:translateY(-2px); }
.btn-submit svg { width:18px; height:18px; stroke:#fff; fill:none; stroke-width:2.5; }
.btn-next,.btn-prev-step {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:13px 24px; border-radius:8px; font-size:14px; font-weight:600;
  border:none; cursor:pointer; transition:all 0.25s; min-height:48px;
}
.btn-next { background:var(--orange); color:#fff; }
.btn-next:hover { background:var(--orange-lt); }
.btn-prev-step { background:transparent; border:1.5px solid var(--border); color:var(--gray-600); }
.btn-prev-step:hover { border-color:var(--orange); color:var(--orange); }
.form-nav { display:flex; gap:12px; flex-wrap:wrap; }

/* ===== PÁGINA OBRIGADO ===== */
#page-obrigado { position:fixed; inset:0; z-index:9999; background:rgba(20,6,0,0.85); backdrop-filter:blur(10px); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:20px; padding:2rem; opacity:0; pointer-events:none; transition:opacity 0.4s; }
#page-obrigado.show { opacity:1; pointer-events:all; }
.obrigado-icon-wrap { width:80px; height:80px; border-radius:50%; background:var(--orange); display:flex; align-items:center; justify-content:center; animation:pop 0.5s ease; }
.obrigado-icon-wrap svg { width:36px; height:36px; stroke:#fff; fill:none; stroke-width:3; }
@keyframes pop { from{transform:scale(0)} to{transform:scale(1)} }
.obrigado-title { font-family:'Bebas Neue',sans-serif; font-size:2rem; font-weight:800; color:#fff; letter-spacing:1px; text-align:center; }
.obrigado-title span { color:var(--orange); }
.obrigado-text { color:rgba(255,255,255,0.75); text-align:center; max-width:380px; font-size:15px; line-height:1.7; }
.obrigado-wpp { display:inline-flex; align-items:center; gap:10px; background:#25D366; color:#fff; padding:14px 28px; border-radius:8px; font-weight:600; font-size:15px; transition:all 0.2s; }
.obrigado-wpp:hover { background:#1ebe5c; transform:translateY(-2px); }
.obrigado-wpp svg { width:20px; height:20px; stroke:#fff; fill:none; stroke-width:2; }
.obrigado-voltar { display:inline-flex; align-items:center; gap:8px; background:transparent; border:1.5px solid rgba(255,255,255,0.3); color:#fff; padding:12px 24px; border-radius:8px; font-size:14px; cursor:pointer; transition:all 0.2s; }
.obrigado-voltar:hover { border-color:var(--orange); color:var(--orange); }
.obrigado-voltar svg { width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:2; }

/* ===== CHATBOT ===== */
#chatbot { position:fixed; right:20px; bottom:24px; z-index:1200; font-family:'Montserrat',sans-serif; }
#chatToggle {
  width:58px; height:58px; border-radius:50%;
  background:#25D366; color:#fff; border:none;
  box-shadow:0 4px 20px rgba(37,211,102,0.5);
  cursor:pointer; display:flex; align-items:center; justify-content:center;
  transition:transform 0.2s, box-shadow 0.2s;
  animation: wpp-pulse 2.5s ease-in-out infinite;
}
#chatToggle:hover { transform:scale(1.1); box-shadow:0 8px 28px rgba(37,211,102,0.65); }
#chatToggle svg { width:30px; height:30px; fill:#fff; }
@keyframes wpp-pulse {
  0%,100% { box-shadow:0 4px 20px rgba(37,211,102,0.5); }
  50%      { box-shadow:0 4px 28px rgba(37,211,102,0.8), 0 0 0 8px rgba(37,211,102,0.15); }
}
#chatWindow { width:320px; max-width:calc(100vw - 48px); background:#fff; color:var(--brown); border:1.5px solid var(--border); border-radius:14px; box-shadow:0 20px 60px rgba(61,26,14,0.18); overflow:hidden; margin-bottom:12px; display:none; }
#chatWindow header { display:flex; align-items:center; justify-content:space-between; padding:14px 16px; background:var(--orange); color:#fff; }
#chatWindow header strong { font-family:'Bebas Neue',sans-serif; font-size:14px; }
#chatWindow header button { background:none; border:none; color:#fff; cursor:pointer; opacity:0.8; font-size:18px; }
#chatMessages { max-height:260px; overflow:auto; padding:12px; display:flex; flex-direction:column; gap:9px; }
.chat-bubble { padding:9px 12px; border-radius:10px; max-width:85%; font-size:13px; line-height:1.5; }
.bot { background:var(--gray-50); color:var(--brown); align-self:flex-start; border:1px solid var(--border); border-bottom-left-radius:3px; }
.user { background:var(--orange); color:#fff; align-self:flex-end; border-bottom-right-radius:3px; }
#chatSuggestions { padding:0 12px 8px; display:flex; gap:7px; flex-wrap:wrap; }
.suggest { background:var(--white); border:1px solid var(--border-o); color:var(--orange); padding:6px 12px; border-radius:20px; cursor:pointer; font-size:12px; transition:all 0.2s; min-height:36px; }
.suggest:hover { background:var(--orange); color:#fff; border-color:var(--orange); }
#chatForm { display:flex; gap:7px; padding:10px; border-top:1px solid var(--border); }
#chatForm input { flex:1; padding:9px 12px; border-radius:7px; border:1.5px solid var(--border); background:var(--off-white); color:var(--brown); font-family:inherit; font-size:13px; outline:none; transition:border-color 0.2s; min-height:44px; }
#chatForm input:focus { border-color:var(--orange); }
#chatForm button { background:var(--orange); color:#fff; border:none; padding:9px 14px; border-radius:7px; font-weight:600; cursor:pointer; font-size:13px; }

/* ===== FOOTER ===== */
footer { background:var(--brown); padding:48px 60px 24px; }
.footer-grid { display:flex; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; gap:28px; margin-bottom:36px; }
.footer-logo { display:flex; align-items:center; gap:10px; }
.footer-logo img { height:48px; width:48px; border-radius:50%; object-fit:cover; object-position:center; aspect-ratio:1/1; box-shadow:0 0 0 2px rgba(232,101,10,0.4); }
.footer-logo-text { font-family:'Bebas Neue',sans-serif; font-size:18px; font-weight:800; letter-spacing:2px; color:#fff; }
.footer-logo-text span { color:var(--orange); }
.footer-links { display:flex; gap:20px; flex-wrap:wrap; align-items:center; }
.footer-links a { font-size:13px; color:rgba(255,255,255,0.6); transition:color 0.2s; }
.footer-links a:hover { color:var(--orange); }
.footer-social { display:flex; gap:10px; }
.social-btn { width:40px; height:40px; border-radius:8px; background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.12); display:flex; align-items:center; justify-content:center; transition:all 0.2s; }
.social-btn:hover { background:var(--orange); border-color:var(--orange); }
.social-btn svg { width:18px; height:18px; stroke:rgba(255,255,255,0.7); fill:none; stroke-width:1.8; }
.footer-bottom { border-top:1px solid rgba(255,255,255,0.1); padding-top:20px; font-size:12px; color:rgba(255,255,255,0.4); text-align:center; }
.footer-bottom span { color:var(--orange); }
.footer-br { display:none; }
.footer-dev { background:var(--brown); text-align:center; padding:10px 20px; font-size:12px; color:rgba(255,255,255,0.35); letter-spacing:0.3px; -webkit-font-smoothing:antialiased; }
.footer-dev strong { color:rgba(255,255,255,0.75); font-weight:600; }

/* ===== RESPONSIVO ===== */

/* Laptops 1024-1440px */
@media (max-width:1440px) {
  #navbar { padding:7px 24px; }
  #navbar.scrolled { padding:5px 24px; }
  .section { padding:90px 40px; }
}
@media (max-width:1200px) {
  .plans-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:1100px) {
  #navbar { padding:6px 17px; }
  #navbar.scrolled { padding:4px 17px; }
  .hero-slide-content { padding:calc(2.5rem + 5vh) 3rem 2.5rem; }
  .section { padding:80px 28px; }
  .steps-wrapper { grid-template-columns:repeat(2,1fr); }
  .steps-wrapper::before { display:none; }
  .testimonials { grid-template-columns:repeat(2,1fr); }
  footer { padding:40px 28px 20px; }
  .carrossel-header { padding:0 28px; }
  .carrossel-track { padding:8px 28px; }
  #google-reviews { padding:60px 28px 70px; }
}

/* Tablets 768-1024px */
@media (max-width:1024px) {
  .plans-grid { grid-template-columns:repeat(2,1fr); }
  .google-reviews-grid { grid-template-columns:repeat(2,1fr); }
  .testimonials { grid-template-columns:repeat(2,1fr); }
  .vehicle-grid { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:820px) {
  .hero-slide-content { padding:calc(2rem + 5vh) 2rem 2rem; }
  .hero-metrics { display:none; }
  .contact-grid { grid-template-columns:1fr; gap:32px; }
  .trust-numbers { grid-template-columns:1fr; }
  .trust-num-item { border-right:none; border-bottom:1px solid var(--border); }
  .trust-num-item:last-child { border-bottom:none; }
}

/* Smartphones <768px — hamburger + touch targets */
@media (max-width:768px) {
  .nav-toggle { display:flex; }
  .nav-links {
    display:none; position:absolute; top:68px; left:0; right:0;
    flex-direction:column; align-items:stretch; background:#fff;
    border-bottom:1px solid var(--border); padding:14px 24px 20px;
    gap:0; box-shadow:var(--shadow-md); z-index:999;
  }
  .nav-links.open { display:flex; }
  .nav-links li { width:100%; }
  .nav-links a { display:block; padding:14px 0; border-bottom:1px solid var(--border); font-size:15px; color:var(--gray-600); min-height:48px; display:flex; align-items:center; }
  .btn-portal { margin-top:12px; text-align:center; display:flex; justify-content:center; border-radius:6px !important; min-height:48px; }
  .btn-portal::after { display:none !important; }
  .hero-dots { right:16px; bottom:16px; }
  #home { height:auto; min-height:81svh; }
  .hero-slide { min-height:81svh; align-items:flex-start; }
  .hero-slide-content { padding:calc(2rem + 4svh) 1.5rem 4rem; height:81svh; }
  .hero-slide-title { font-size:clamp(2.5rem,10vw,3.2rem); }
  .hero-slide-desc { font-size:0.9rem; width:60%; }
  .btn-hero-primary,.btn-hero-outline { min-height:52px; font-size:15px; width:100%; justify-content:center; }
  .hero-btns { flex-direction:column; width:100%; }
  .plans-grid { grid-template-columns:1fr; }
  .google-reviews-grid { grid-template-columns:1fr; }
  .testimonials { grid-template-columns:1fr; }
  .steps-wrapper { grid-template-columns:1fr; }
  .vehicle-grid { grid-template-columns:repeat(2,1fr); }
  .car-slide { flex:0 0 240px; height:auto; } /* height:auto deixa aspect-ratio 16/9 controlar */
  .footer-grid { flex-direction:column; align-items:center; text-align:center; }
  .footer-br { display:inline; }
  .footer-links { justify-content:center; display:grid; grid-template-columns:repeat(3,auto); gap:10px 20px; width:100%; }
  .footer-social { justify-content:center; }
  .contact-form { padding:22px 16px; }
  .btn-submit,.btn-plan,.btn-next,.btn-prev-step { min-height:52px; font-size:15px; }
  #google-reviews { padding:48px 20px 56px; }
  .section { padding:60px 20px; }
  #btn-emergencia .emg-text { display:none; }
  #btn-emergencia { padding:12px; border-radius:50%; min-width:52px; min-height:52px; justify-content:center; }
  #btn-emergencia .emg-icon { margin:0; }
}

/* ===== ULTRA-WIDE 21:9 (2560px+) ===== */
/* Garante que imagens hero não achatem em monitores ultra-wide */
@media (min-width:2000px) {
  #home { min-height:600px; }
  .hero-slide {
    /* Em ultra-wide, força background-size:cover para não revelar bordas brancas */
    background-size: cover !important;
    background-position: center 30% !important; /* puxa para cima levemente no ultra-wide */
  }
  .hero-slide-content { padding:calc(3rem + 5vh) 8rem 3rem; max-width:800px; }
  .hero-slide-title { font-size:6rem; }
  .section { padding:120px 120px; }
}

/* Telas 4:3 e antigas (tablets landscape) */
@media (min-aspect-ratio: 21/9) {
  .hero-slide {
    background-size: cover !important;
    background-position: center center !important;
  }
}

  .vehicle-grid { grid-template-columns:repeat(2,1fr); }
  .form-nav { flex-direction:column; }
  .btn-next,.btn-prev-step { width:100%; }
  .hero-slide-title { font-size:2.4rem; }
  .google-badge { flex-wrap:wrap; justify-content:center; }
}
@media (max-width:360px) {
  .hero-slide-title { font-size:2.1rem; }
  .section { padding:48px 16px; }
}
@media (max-width:768px) and (orientation:landscape) {
  #home { height:100svh; min-height:unset; }
  .hero-slides { height:100%; }
  .hero-slide { height:100%; min-height:unset; align-items:center; }
  .hero-slide-content { height:auto; padding:1rem 1.5rem; max-width:70%; }
  .hero-slide-desc { display:-webkit-box; -webkit-line-clamp:5; -webkit-box-orient:vertical; overflow:hidden; font-size:0.78rem; }
  .hero-slide-title { font-size:clamp(1.8rem,5vh,2.8rem); margin-bottom:0.5rem; }
  .hero-badge { margin-bottom:0.5rem; }
  .hero-btns { margin-top:1rem; }
}
