:root{
  --verde:#3AAA35;--preto:#01363E;--neon:#ADF900;
  --branco:#fff;--cinza:#F5F5F7;--cinza-t:#6E6E73;
  --ink:#1D1D1F;--destaque:#B12BCF;--azul:#3470F3;
  --font:"SUSE",-apple-system,system-ui,sans-serif;
  --r:22px;--r-pill:999px;--r-input:10px;
  --pad:20px; /* padding horizontal base */
}
*,*::before,*::after{box-sizing:border-box;}
*{margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{font-family:var(--font);color:var(--ink);background:var(--branco);-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
button{font:inherit;cursor:pointer;border:none;background:none;}
*{-webkit-tap-highlight-color:transparent;}
.container{width:100%;max-width:960px;margin:0 auto;padding:0 var(--pad);}

/* REVEAL */
.reveal{opacity:0;transform:translateY(18px);}
.reveal.visible{animation:revup .6s cubic-bezier(.4,0,.2,1) forwards;}
.reveal-h{opacity:0;transform:translateY(20px);}
.reveal-h.visible{animation:revup .85s cubic-bezier(.4,0,.2,1) forwards;}
.d1{animation-delay:.18s!important;}
@keyframes revup{to{opacity:1;transform:translateY(0);}}

/* ── TOPBAR ── */
.topbar{position:fixed;inset:0 0 auto 0;z-index:100;transition:background .4s,box-shadow .4s,opacity .35s;}
@media(min-width:768px){.topbar{opacity:0;pointer-events:none;}}
.topbar.scrolled{background:rgba(255,255,255,.92);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 1px 0 rgba(0,0,0,.08);}
.topbar-inner{max-width:960px;margin:0 auto;padding:0 var(--pad);height:52px;display:flex;align-items:center;justify-content:space-between;}
.tb-logo-link{display:flex;align-items:center;height:30px;opacity:0;transition:opacity .35s;}
.topbar.scrolled .tb-logo-link{opacity:1;}
.logo-img{height:26px;width:auto;}.logo-dark{display:block;}.logo-light{display:none;}
.tb-nav{display:none;gap:24px;align-items:center;}
.tb-nav a{font-size:13px;color:var(--ink);transition:opacity .2s;}.tb-nav a:hover{opacity:.6;}
.tb-pill{background:var(--verde);color:var(--branco)!important;padding:7px 16px;border-radius:var(--r-pill);font-weight:600!important;}
.tb-menu-btn{width:36px;height:36px;border-radius:10px;background:var(--neon);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4.5px;transition:background .3s;}
.topbar.scrolled .tb-menu-btn{background:rgba(0,0,0,.07);}
.tb-menu-btn span{display:block;width:14px;height:1.5px;background:var(--preto);border-radius:2px;transition:transform .3s,opacity .3s;}
.tb-menu-btn.open span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.tb-menu-btn.open span:nth-child(2){opacity:0;}
.tb-menu-btn.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
.mobile-nav{position:absolute;top:52px;left:0;right:0;background:rgba(255,255,255,.97);backdrop-filter:blur(20px);max-height:0;overflow:hidden;transition:max-height .35s;}
.mobile-nav.open{max-height:300px;}
.mobile-nav a{display:block;padding:14px var(--pad);font-size:16px;color:var(--ink);border-bottom:.5px solid rgba(0,0,0,.05);}
.mobile-pill{color:var(--verde)!important;font-weight:600!important;}

/* + nos cards — só mobile */
.card-plus{
  position:absolute;bottom:16px;right:16px;z-index:3;
  width:28px;height:28px;border-radius:50%;
  background:rgba(255,255,255,.22);backdrop-filter:blur(4px);
  color:#fff;font-size:20px;font-weight:300;line-height:28px;
  text-align:center;pointer-events:none;
  transition:transform .3s,opacity .3s;
}
.card-wrap.open .card-plus{transform:rotate(45deg);opacity:.6;}
@media(min-width:768px){.card-plus{display:none;}}

/* ── BOTÕES — hover subtil ── */
.btn-cta{display:inline-flex;align-items:center;justify-content:center;padding:15px 28px;border-radius:var(--r-pill);font-family:var(--font);font-size:15px;font-weight:700;border:none;cursor:pointer;transition:transform .15s,filter .15s;}
.btn-cta:hover{transform:translateY(-1px);filter:brightness(1.06);}
.btn-cta:active{transform:scale(.97);filter:brightness(.95);}
.btn-full{width:100%;margin-top:10px;}
.btn-neon{background:var(--neon);color:var(--preto);}
.btn-verde{background:var(--verde);color:var(--preto);}
.btn-destaque{background:var(--destaque);color:var(--branco);}
.btn-azul{background:var(--azul);color:var(--branco);}
.btn-outline{width:100%;padding:13px;border-radius:var(--r-pill);background:transparent;color:var(--preto);border:1.5px solid rgba(1,54,62,.22);font-size:15px;font-weight:600;font-family:var(--font);cursor:pointer;margin-top:10px;transition:transform .15s,background .15s;}
.btn-outline:hover{background:rgba(1,54,62,.04);transform:translateY(-1px);}
.btn-hero{display:inline-flex;align-items:center;justify-content:center;padding:13px 24px;border-radius:var(--r-pill);font-family:var(--font);font-size:15px;font-weight:500;cursor:pointer;background:transparent;color:var(--branco);border:1.5px solid rgba(255,255,255,.45);transition:background .15s,transform .15s;}
.btn-hero:hover{background:rgba(255,255,255,.14);transform:translateY(-1px);}
.btn-hero-bold{font-weight:700;}
.tb-pill{transition:filter .15s!important;}.tb-pill:hover{filter:brightness(1.07);}

/* ── HERO ── */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:80px var(--pad) 48px;color:var(--branco);overflow:hidden;isolation:isolate;}
.hero-bg{position:absolute;inset:0;background-image:url('images/hero-keys.jpg');background-size:cover;background-position:center;z-index:-2;transform:scale(1.06);transition:transform 8s ease;}
.hero.loaded .hero-bg{transform:scale(1);}
.hero-overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(to bottom,rgba(0,0,0,.22) 0%,rgba(0,0,0,.58) 100%);}
.hero-logo-wrap{text-align:center;transition:opacity .05s,transform .05s;}
.hero-logo-img{height:48px;width:auto;margin:0 auto;}
.hero-content{text-align:center;width:100%;}
.hero-title{font-size:clamp(32px,8vw,60px);font-weight:700;line-height:1.1;letter-spacing:-.025em;margin-bottom:32px;}
.t-neon{color:var(--neon);}
.t-white{color:var(--branco);}
.hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}

/* ── PRODUTOS ── */
.section-produtos{background:var(--branco);padding:48px 0 40px;}

/* títulos e texto centrados */
.section-produtos .container{text-align:center;}
.produtos-title{font-size:clamp(24px,5.5vw,38px);font-weight:400;line-height:1.15;letter-spacing:-.02em;color:var(--preto);margin-bottom:12px;}
.produtos-title strong{font-weight:700;}
.produtos-sub{font-size:15px;color:#444;line-height:1.6;margin-bottom:28px;}
.produtos-sub a{color:var(--verde);text-decoration:underline;text-underline-offset:2px;font-weight:500;}

/* MOBILE: scroll horizontal
   - padding-left = --pad (alinhado ao texto)
   - scroll-padding-left = --pad (card activo centrado no snap point)
   - primeiro card alinhado à esquerda com padding igual ao texto
   - demais sangram à direita */
.cards-scroll-wrap{width:100%;overflow:hidden;}
.cards-scroll{
  display:flex;
  gap:14px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  padding:0 var(--pad) 8px;
  scroll-padding-left:var(--pad);
  scrollbar-width:none;
  margin-bottom:20px;
}
.cards-scroll::-webkit-scrollbar{display:none;}

.card-wrap{
  flex-shrink:0;
  width:min(78vw, 290px);
  scroll-snap-align:start;
  display:flex;
  flex-direction:column;
}

.card-img{
  border-radius:var(--r);
  overflow:hidden;
  position:relative;
  height:330px;
  cursor:pointer;
  flex-shrink:0;
}
.card-img:active{opacity:.92;}
.card-img-bg{position:absolute;inset:0;background-size:cover;background-position:center;background-color:var(--preto);}
.card-img-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,0) 30%,rgba(0,0,0,.55) 100%);}
.card-pill{position:absolute;top:14px;left:14px;background:rgba(255,255,255,.8);backdrop-filter:blur(8px);padding:5px 14px;border-radius:var(--r-pill);font-size:12px;font-weight:500;color:var(--ink);}
.card-img-title{position:absolute;bottom:16px;left:16px;right:16px;font-size:22px;font-weight:500;color:var(--branco);line-height:1.15;letter-spacing:-.01em;}

/* DROPDOWN */
.card-dropdown{
  background:var(--verde);
  border-radius:var(--r);
  margin-top:6px;
  overflow:hidden;
  max-height:0;
  transition:max-height .45s cubic-bezier(.4,0,.2,1);
}
.card-wrap.open .card-dropdown{max-height:400px;}
.dropdown-inner{padding:var(--pad);}
.drop-label{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(1,54,62,.5);margin-bottom:12px;}
.drop-bullets{display:flex;flex-direction:column;gap:8px;}
.drop-bullets li{font-size:14px;color:var(--preto);display:flex;align-items:flex-start;gap:8px;line-height:1.45;}
.drop-bullets li::before{content:'•';font-size:16px;line-height:.95;color:var(--preto);flex-shrink:0;}

/* ── SOBRE ── */
.section-sobre{background:var(--preto);padding:56px 0;text-align:center;}
.eyebrow-neon{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--neon);margin-bottom:14px;display:block;}
.eyebrow-verde{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--verde);margin-bottom:14px;display:block;}
.sobre-title{font-size:clamp(24px,5vw,38px);font-weight:400;line-height:1.15;letter-spacing:-.02em;color:var(--branco);margin-bottom:18px;}
.sobre-text{font-size:15px;color:rgba(255,255,255,.7);line-height:1.65;margin-bottom:12px;max-width:540px;margin-left:auto;margin-right:auto;}
.sobre-text:last-of-type{margin-bottom:28px;}

/* ── LOJA ── */
.section-loja{background:var(--preto);}
.loja-map{width:100%;height:220px;background-image:url('images/loja-mapa.jpg');background-size:cover;background-position:center;background-color:#1a2a1a;}
.loja-body{padding:40px 0 52px;text-align:center;}
.loja-title{font-size:clamp(26px,5.5vw,42px);font-weight:400;line-height:1.15;letter-spacing:-.02em;color:var(--branco);margin-bottom:12px;}
.loja-text{font-size:15px;color:rgba(255,255,255,.7);line-height:1.6;margin-bottom:28px;max-width:400px;margin-left:auto;margin-right:auto;}

/* ── SIMULAÇÃO ── */
.section-sim{background:var(--cinza);padding:56px 0 60px;}
/* títulos centrados */
.section-sim .container{text-align:center;}
.sim-title{font-size:clamp(30px,6.5vw,48px);font-weight:400;line-height:1.1;letter-spacing:-.025em;color:var(--preto);margin-bottom:8px;}
.sim-sub{font-size:15px;color:var(--cinza-t);line-height:1.55;margin-bottom:24px;max-width:440px;margin-left:auto;margin-right:auto;}
/* form card alinhado à esquerda internamente */
.form-card{background:var(--branco);border-radius:var(--r);padding:24px var(--pad);box-shadow:0 4px 24px rgba(0,0,0,.07);text-align:left;}
.group-label{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--verde);padding-bottom:8px;border-bottom:1.5px solid var(--verde);margin-bottom:14px;}
.f-field+.group-label,.f-row+.group-label,.radios-row+.group-label{margin-top:20px;}
.f-field{display:flex;flex-direction:column;gap:5px;margin-bottom:10px;}
.f-label{font-size:13px;font-weight:400;color:var(--ink);}
.req{color:var(--ink);}
.f-input{font-family:var(--font);font-size:15px;color:var(--preto);background:var(--branco);border:1.5px solid #d4d4d4;border-radius:var(--r-input);padding:12px 13px;outline:none;width:100%;transition:border-color .2s,box-shadow .2s;}
.f-input:focus{border-color:var(--verde);box-shadow:0 0 0 3px rgba(58,170,53,.11);}
.f-input::placeholder{color:rgba(0,0,0,.26);font-size:13px;}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.input-upper{text-transform:uppercase;}
/* CNH e Leilão na mesma linha */
.radios-row{margin:14px 0 4px;}
.radio-group{display:flex;flex-direction:column;gap:5px;}
.radio-q{font-size:13px;color:var(--ink);font-weight:500;}
.radio-opts{display:flex;gap:16px;margin-top:4px;}
.radio-opt{display:flex;align-items:center;gap:5px;cursor:pointer;font-size:13px;color:var(--ink);}
.radio-opt input{width:15px;height:15px;accent-color:var(--verde);cursor:pointer;}
.form-error{font-size:13px;color:#E30613;font-weight:600;min-height:16px;margin-top:4px;text-align:left;}
.success-card:not([hidden]){display:block;}
.success-inner{text-align:center;padding:20px 0;}
.s-emoji{font-size:52px;margin-bottom:12px;}
.s-title{font-size:30px;font-weight:700;letter-spacing:-.025em;color:var(--ink);margin-bottom:8px;}
.s-text{font-size:15px;color:var(--cinza-t);margin-bottom:22px;line-height:1.6;}

/* ── BANCOS — logos ── */
.section-banks{background:var(--cinza);padding:52px 0;overflow:hidden;}
.banks-head{text-align:center;margin-bottom:28px;}
.banks-title{font-size:clamp(26px,5vw,42px);font-weight:400;letter-spacing:-.025em;color:var(--preto);margin-bottom:8px;}
.banks-sub{font-size:15px;color:var(--cinza-t);}
.marquee-wrap{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);}
.marquee-track{display:flex;align-items:center;gap:48px;width:max-content;animation:scrollb 36s linear infinite;padding:12px 0;}
.marquee-wrap:hover .marquee-track{animation-play-state:paused;}
.b-logo{height:32px;width:auto;object-fit:contain;opacity:.5;transition:opacity .25s;
  /* monocromático na cor Preto-Libera #01363E */
  filter:brightness(0) saturate(100%) invert(14%) sepia(50%) saturate(800%) hue-rotate(152deg) brightness(60%);}
.b-logo:hover{opacity:.9;}
@keyframes scrollb{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ── LOJA MAPA ── */
.gmap-wrap{width:100%;height:260px;overflow:hidden;}
.gmap-wrap iframe{width:100%;height:260px;border:0;display:block;}

/* ── REVIEWS ── */
.section-reviews{background:var(--neon);padding:48px 0;}
.section-reviews .container{text-align:center;}
.reviews-title{font-size:clamp(30px,6vw,46px);font-weight:400;letter-spacing:-.025em;color:var(--preto);margin-bottom:28px;}
/* scroll com mesmo padding lateral que os cards de crédito */
.reviews-scroll{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  padding:0 var(--pad) 16px;
  scroll-padding-left:var(--pad);
  display:flex;
  gap:14px;
  scroll-snap-type:x mandatory;
}
.reviews-scroll::-webkit-scrollbar{display:none;}
.review-card{
  flex-shrink:0;
  width:min(78vw,290px);
  scroll-snap-align:start;
  background:var(--branco);
  border-radius:var(--r);
  padding:var(--pad);
  box-shadow:0 4px 16px rgba(0,0,0,.08);
  display:flex;flex-direction:column;gap:10px;
  text-align:left;
}
.r-stars{color:#FBBC05;font-size:18px;letter-spacing:2px;}
.r-text{font-size:14px;line-height:1.55;color:var(--ink);flex:1;}
.r-name{font-size:14px;font-weight:700;color:var(--ink);}
.r-date{font-size:12px;color:var(--cinza-t);margin-top:2px;}
.reviews-link{display:inline-flex;align-items:center;gap:5px;font-size:15px;font-weight:600;color:var(--preto);margin-top:8px;text-decoration:underline;text-underline-offset:3px;}

/* ── RODAPÉ ── */
.footer{background:var(--preto);color:rgba(255,255,255,.65);padding:48px 0 24px;}
.footer-logo{height:28px;margin-bottom:6px;}
.footer-tag{font-size:13px;color:rgba(255,255,255,.38);margin-bottom:28px;}
.footer-grid{display:grid;grid-template-columns:1fr 1fr auto;gap:24px;margin-bottom:24px;}
.footer-col h4{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.32);margin-bottom:10px;}
.footer-col ul li{margin-bottom:8px;}
.footer-col a{font-size:13px;color:rgba(255,255,255,.68);transition:color .2s;}
.footer-col a:hover{color:var(--branco);}

/* REDES — mobile: só ícones em linha | desktop: ícone + texto */
.footer-redes{display:flex;flex-direction:column;gap:10px;}
.footer-redes a{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.68);transition:color .2s;}
.footer-redes a:hover{color:var(--branco);}
.rede-icon{width:20px;height:20px;flex-shrink:0;}
.rede-label{font-size:13px;}

.footer-warning{border-left:3px solid var(--neon);padding:12px 16px;border-radius:0 12px 12px 0;background:rgba(173,249,0,.07);font-size:12px;color:rgba(255,255,255,.62);line-height:1.55;margin-bottom:18px;}
.footer-warning strong{color:var(--neon);}
.footer-legal{font-size:11px;color:rgba(255,255,255,.28);line-height:1.65;margin-bottom:16px;}
.footer-legal p{margin-bottom:5px;}
.footer-legal strong{color:rgba(255,255,255,.65);}
.footer-bottom{font-size:11px;color:rgba(255,255,255,.2);text-align:center;border-top:.5px solid rgba(255,255,255,.07);padding-top:14px;}

/* WA */
.floating-wa{position:fixed;bottom:20px;right:20px;z-index:90;width:50px;height:50px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 22px rgba(37,211,102,.38);animation:wap 2.4s ease-in-out infinite;transition:transform .25s;}
.floating-wa:hover{transform:scale(1.08);}
@keyframes wap{0%,100%{box-shadow:0 8px 22px rgba(37,211,102,.38),0 0 0 0 rgba(37,211,102,.35);}50%{box-shadow:0 8px 22px rgba(37,211,102,.38),0 0 0 11px rgba(37,211,102,0);}}

/* ── MOBILE: redes só ícones ── */
@media(max-width:767px){
  .rede-label{display:none;}
  .footer-redes{flex-direction:row;gap:16px;}
  .footer-grid{grid-template-columns:1fr 1fr;gap:20px;}
  .footer-grid .footer-col:last-child{grid-column:1/-1;}
}

/* ── DESKTOP ── */
@media(min-width:768px){
  .tb-nav{display:flex;}
  .tb-menu-btn{display:none;}

  /* cards em grid 3 colunas */
  .cards-scroll-wrap{overflow:visible;}
  .cards-scroll{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    grid-template-rows:auto 1fr;
    column-gap:16px;
    row-gap:0; /* sem espaço entre foto e dropdown */
    overflow-x:visible;
    padding:0 var(--pad);
    scroll-snap-type:none;
    max-width:960px;
    margin-left:auto;
    margin-right:auto;
    align-items:start;
  }
  .card-wrap{
    width:auto;
    scroll-snap-align:none;
    display:contents; /* cada filho do card-wrap entra directamente no grid */
  }

  /* imagem fica na primeira linha do grid */
  .card-img{
    cursor:default;
    grid-row:1;
    border-radius:var(--r) var(--r) 0 0;
    height:360px;
  }

  /* dropdown sempre aberto, ocupa a segunda linha — mesma altura nos 3 */
  .card-dropdown{
    grid-row:2;
    max-height:none !important;
    overflow:visible;
    transition:none;
    margin-top:0;
    border-radius:0 0 var(--r) var(--r);
    height:100%;
  }
  .dropdown-inner{
    height:100%;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
  }

  .footer-grid{grid-template-columns:repeat(3,1fr);}
  .form-card{padding:32px 36px;}
  .section-sim .container{text-align:center;}
}

@media(prefers-reduced-motion:reduce){
  .marquee-track,.floating-wa,.hero-bg{animation:none!important;}
  .reveal,.reveal-h{opacity:1!important;transform:none!important;}
  .card-dropdown{transition:none!important;}
}
