/* ============================================================
   Lava Jato Millenium — Modelo A (Noturno)
   MOBILE-FIRST. Base = artboard A-Noturno-Mobile (390px).
   Camadas min-width = Main.dc.html (desktop 1440px).
   ============================================================ */

/* ---------- Tokens ---------- */
:root{
  --bg:#0b0b0c;
  --surface:#131315;
  --y:#FECE1A;
  --y-hover:#ffe27a;
  --wa:#25D366;
  --text:#f4f2ec;
  --dim:#d6d3cb;
  --muted:#bdbab2;
  --muted-2:#a8a59d;
  --line:#222224;
  --line-2:#2c2c2f;
  --font-display:'Archivo', system-ui, sans-serif;
  --font-body:'Manrope', system-ui, sans-serif;
  --gutter:20px;            /* mobile */
  --sec-pad:56px;          /* mobile */
  --touch:44px;
}

/* ---------- Reset/base ---------- */
*,*::before,*::after{box-sizing:border-box}
/* overflow-x:clip (não :hidden) evita rolagem horizontal SEM quebrar position:sticky */
html{overflow-x:clip;-webkit-text-size-adjust:100%}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--font-body);
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
  overflow-x:clip;
}
img{max-width:100%;display:block}
section[id],main[id]{scroll-margin-top:72px}
a{color:var(--y);text-decoration:none}
a:hover{color:var(--y-hover)}
h1,h2,h3{margin:0}
:focus-visible{outline:3px solid var(--y);outline-offset:3px;border-radius:4px}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--y);color:#0b0b0c;padding:10px 16px;font-weight:700;z-index:100}
.skip-link:focus{left:8px;top:8px}

/* ---------- Tipografia utilitária ---------- */
.h-display{
  font-family:var(--font-display);
  font-stretch:112%;
  font-weight:700;
  letter-spacing:-0.015em;
  line-height:1.1;
  font-size:30px;
}
.lead{font-size:15px;color:var(--muted);margin:0}
.eyebrow{
  display:flex;align-items:center;gap:10px;
  font-size:12px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--y);font-weight:600;margin:0;
}
.eyebrow--plain{display:inline-block}
.eyebrow__line{width:24px;height:1px;background:var(--y)}
.hl-y{color:var(--y)}
.muted{color:var(--muted-2)}

/* ---------- Botões ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-weight:700;font-size:15px;border-radius:999px;
  padding:15px 22px;min-height:var(--touch);border:0;cursor:pointer;line-height:1;
  transition:transform .25s, background .25s, color .25s;
}
.btn .ico{width:18px;height:18px;flex-shrink:0}
.btn--wa{background:var(--y);color:#0b0b0c}
.btn--wa:hover{color:#0b0b0c;transform:translateY(-3px)}
.btn--lg{font-size:15px;padding:18px 28px;font-weight:800;font-style:italic;text-transform:uppercase;letter-spacing:.02em}
.btn--ghost{color:var(--text);border:1px solid #55555a;background:rgba(11,11,12,.55)}
.btn--ghost:hover{color:var(--text);border-color:var(--y);transform:translateY(-3px)}
.btn--dark{background:#0b0b0c;color:var(--y)}
.btn--dark:hover{color:var(--y-hover);transform:translateY(-3px)}
.btn--block{width:100%}
.ico{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linejoin:round}

/* ============================================================
   HEADER  (mobile: logo + hambúrguer redondo)
   ============================================================ */
.site-header{
  position:sticky;top:0;z-index:50;
  display:flex;align-items:center;gap:12px;
  padding:14px var(--gutter);
  background:rgba(11,11,12,.92);
  /* Sem backdrop-filter no mobile: ele tornaria o header o bloco de contenção do
     menu position:fixed, encolhendo o painel para a altura do header. */
  border-bottom:1px solid var(--line);
}
.brand{background:#fff;border-radius:6px;padding:8px 12px;display:flex;flex:0 0 auto}
.brand img{height:30px;width:auto}
.header-phone{display:none}
.site-header .btn--wa{display:none}                 /* mobile: sem botão Agendar no topo */

.nav-toggle{
  margin-left:auto;position:relative;z-index:51;
  width:var(--touch);height:var(--touch);flex:0 0 auto;
  display:inline-flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;
  background:transparent;border:1px solid #3a3a3d;border-radius:999px;cursor:pointer;padding:0;
}
.nav-toggle span{width:18px;height:2px;background:var(--text);border-radius:2px;transition:transform .3s,opacity .3s}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.nav{
  position:fixed;top:0;bottom:0;right:0;width:min(80vw,300px);
  background:#0b0b0c;border-left:1px solid var(--line);
  transform:translateX(100%);visibility:hidden;
  transition:transform .3s ease, visibility .3s;
  display:flex;flex-direction:column;gap:4px;padding:80px 24px 24px;z-index:49;
}
.nav.open{transform:none;visibility:visible}
.nav a{color:var(--dim);font-size:18px;font-weight:600;padding:12px 8px;border-bottom:1px solid var(--line)}

/* ============================================================
   HERO  (mobile: imagem 340px no topo + conteúdo abaixo)
   ============================================================ */
.hero{position:relative;overflow:hidden;background:var(--bg);display:flex;flex-direction:column}
.hero__dots{display:none}
.hero__media{position:relative;width:100%;height:340px;flex-shrink:0}
.hero__clip{position:absolute;inset:0;overflow:hidden;clip-path:polygon(0 0,100% 0,100% 78%,0 100%)}
.hero__clip img{width:100%;height:100%;object-fit:cover;object-position:50% 55%}
.hero__scrim{display:none}
.hero__badge{
  position:absolute;left:20px;top:20px;z-index:2;margin:0;
  border:2px solid var(--y);color:#fff;background:rgba(11,11,12,.55);
  padding:8px 12px;font-family:var(--font-display);font-style:italic;font-weight:800;
  font-size:13px;line-height:1.2;text-transform:uppercase;
}
.slash{display:none}                                 /* slashes desktop */
.hslash-m{position:absolute;bottom:0;background:var(--y);transform:skewX(-26deg);z-index:1}
.hslash-m1{right:56px;width:22px;height:130px}
.hslash-m2{right:30px;width:6px;height:84px}
.hero__content{position:relative;z-index:2;display:flex;flex-direction:column;gap:20px;padding:8px var(--gutter) 48px}
.hero__title{
  font-family:var(--font-display);font-stretch:112%;font-style:italic;font-weight:800;
  font-size:40px;line-height:1;letter-spacing:-.02em;text-transform:uppercase;margin:0;
}
.hero__lead{font-size:16px;color:var(--muted);margin:0}
.chev{display:inline-flex;gap:2px;font-weight:800;font-style:normal}
.hero__actions{display:flex;flex-direction:column;gap:14px}
.hero__actions .btn--ghost{display:none}             /* mobile: sem "Ver serviços" */
.hero__actions .btn--wa{width:100%}
.rail{display:none}

/* ============================================================
   CREDENCIAIS (2x2)
   ============================================================ */
.creds{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cred{padding:22px var(--gutter);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.cred:nth-child(2n){border-right:0}
.cred:nth-last-child(-n+2){border-bottom:0}
.cred__n{display:block;font-family:var(--font-display);font-weight:700;font-size:24px;color:var(--y)}
.cred__t{display:block;font-size:13px;color:var(--muted);padding-top:4px}

/* ============================================================
   MARQUEE (só desktop/tablet)
   ============================================================ */
.marquee{display:none;overflow:hidden;padding:20px 0;border-bottom:1px solid var(--line)}
.marquee__track{
  display:flex;width:max-content;white-space:nowrap;
  font-family:var(--font-display);font-stretch:118%;font-weight:800;
  font-size:60px;line-height:1;text-transform:uppercase;
  color:transparent;-webkit-text-stroke:1px #6a6a70;
  animation:mq 26s linear infinite;
}
.marquee__track>span{flex-shrink:0;margin-right:28px}
.marquee__track .sep{color:var(--y);-webkit-text-stroke:0}

/* ============================================================
   SERVIÇOS (mobile: lista numerada)
   ============================================================ */
.services{padding:var(--sec-pad) var(--gutter);display:flex;flex-direction:column;gap:28px}
.services__head{display:flex;flex-direction:column;gap:14px}
.services__head .lead{display:none}                  /* mobile: sem lead */
.svc-grid{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.svc{
  display:grid;grid-template-columns:auto 1fr;grid-template-areas:"num title" "num desc";
  column-gap:16px;row-gap:6px;padding:20px 0;border-bottom:1px solid var(--line);background:transparent;
}
.svc__n{grid-area:num;font-size:12px;color:var(--y);font-weight:700;letter-spacing:.1em;padding-top:4px}
.svc h3{grid-area:title;font-size:18px;font-weight:700}
.svc p{grid-area:desc;margin:0;font-size:14px;line-height:1.55;color:var(--muted-2)}

/* ============================================================
   VITRIFICAÇÃO (mobile: título → imagem → texto, sem passos)
   ============================================================ */
.vitri{background:var(--surface);padding:var(--sec-pad) var(--gutter);display:flex;flex-direction:column;gap:20px}
.vitri__head{display:flex;flex-direction:column;gap:20px}
.vitri__media{margin:0}
.vitri__media img{width:100%;height:210px;object-fit:cover;border-radius:4px}
.vitri__media figcaption{display:none}               /* mobile: sem legenda */
.vitri__body{display:flex;flex-direction:column;gap:20px}
.steps{display:none}                                 /* mobile: sem os 4 passos */
.steps{list-style:none;margin:0;padding:0;grid-template-columns:1fr 1fr;gap:16px}
.steps li{border-top:2px solid var(--y);padding-top:12px;font-size:14px;color:var(--dim)}
.steps b{display:block;color:#fff}
.link-underline{align-self:flex-start;font-weight:700;font-size:15px;padding:12px 0;border-bottom:2px solid var(--y)}

/* ============================================================
   LEVA E TRAZ
   ============================================================ */
.stripe{height:10px;background-image:repeating-linear-gradient(-45deg,var(--y) 0 14px,var(--bg) 14px 28px)}
.levatraz{background:var(--y);color:#0b0b0c;padding:40px var(--gutter);display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.levatraz__ico{display:none}                          /* mobile: sem ícone */
.levatraz__body{display:flex;flex-direction:column;gap:8px}
.levatraz__body h2{color:#0b0b0c;font-size:28px}
.levatraz__body p{margin:0;font-size:15px;line-height:1.55}

/* ============================================================
   HISTÓRIA (mobile: timeline com borda à esquerda)
   ============================================================ */
.history{padding:var(--sec-pad) var(--gutter);display:flex;flex-direction:column;gap:28px}
.section-head{display:flex;flex-direction:column;gap:14px}
.history .section-head .eyebrow{display:none}         /* mobile: sem "Nossa história" */
.timeline{list-style:none;margin:0;padding:0 0 0 20px;display:flex;flex-direction:column;gap:20px;border-left:1px solid #3a3a3d}
.timeline li{display:flex;flex-direction:column;gap:4px}
.tl__y{font-family:var(--font-display);font-weight:700;font-size:22px;color:var(--y)}
.timeline p{margin:0;font-size:14px;color:var(--muted)}
.mv-grid{display:flex;flex-direction:column;gap:20px}
.mv{background:var(--surface);padding:24px;display:flex;flex-direction:column;gap:8px}
.mv p{margin:0;font-size:15px;line-height:1.6;color:#e6e3db}

/* ============================================================
   COMPROVAÇÃO VISUAL (cards empilhados)
   ============================================================ */
.proof{background:var(--surface);padding:var(--sec-pad) var(--gutter);display:flex;flex-direction:column;gap:24px}
.badge-live{
  display:inline-flex;align-items:center;gap:8px;align-self:flex-start;
  padding:6px 14px;border-radius:999px;background:rgba(254,206,26,.1);
  border:1px solid rgba(254,206,26,.3);color:var(--y);
  font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
}
.badge-live .dot{width:8px;height:8px;border-radius:50%;background:var(--y)}
.proof-grid{display:flex;flex-direction:column;gap:20px}
.pcard{
  background:var(--bg);border:1px solid var(--line-2);border-radius:16px;overflow:hidden;
  display:flex;flex-direction:column;
  transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s,border-color .4s;
}
.pcard:hover{transform:translateY(-8px);border-color:var(--y);box-shadow:0 0 0 1px var(--y),0 24px 60px rgba(254,206,26,.16)}
.pcard__media{position:relative;height:220px;overflow:hidden;flex-shrink:0}
.pcard__media img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.pcard:hover .pcard__media img{transform:scale(1.07)}
.pcard__scrim{position:absolute;inset:0;background:linear-gradient(0deg,var(--bg) 0%,rgba(11,11,12,0) 55%)}
.pcard__tag{
  position:absolute;left:12px;top:12px;display:inline-flex;align-items:center;gap:6px;
  padding:6px 12px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  background:rgba(11,11,12,.8);border:1px solid rgba(254,206,26,.4);color:var(--y);border-radius:999px;
}
.pcard__tag svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pcard__body{padding:20px;display:flex;flex-direction:column;gap:10px;flex-grow:1}
.pcard__body h3{font-size:22px;font-weight:700;color:#fff}
.pcard__body p{margin:0;font-size:15px;color:var(--muted-2)}
.pcard__benefit{display:flex;align-items:center;gap:8px;margin-top:auto;font-size:14px;font-weight:700;color:var(--y)!important}
.pcard__benefit svg{width:18px;height:18px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ============================================================
   CONTATO
   ============================================================ */
.contact{padding:var(--sec-pad) var(--gutter) 120px;display:flex;flex-direction:column;gap:20px}
.contact__info{display:flex;flex-direction:column;gap:20px}
.contact__block b{display:block;color:var(--y);font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:4px}
.contact__block p{margin:0;font-size:15px;color:var(--dim)}
.contact .btn--wa{display:none}                       /* mobile: barra inferior cobre a ação */
.hours{border-collapse:collapse;font-size:15px;color:var(--dim)}
.hours td{padding:3px 20px 3px 0}
.hours td:last-child{color:var(--y);font-weight:700;padding-right:0}
.hours td.muted{color:var(--muted-2)!important;font-weight:400}
.map{
  position:relative;height:200px;border:1px solid var(--line-2);border-radius:4px;
  overflow:hidden;background:var(--bg);display:flex;flex-direction:column;justify-content:flex-end;padding:18px;
}
.map img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 32%;filter:invert(1) hue-rotate(180deg) grayscale(.7) brightness(.85)}
.map__pin{position:absolute;left:calc(50% - 13px);top:calc(32% - 13px);width:26px;height:26px;border-radius:50%;background:var(--y);border:5px solid var(--bg)}
.map__credit{position:absolute;right:8px;bottom:6px;font-size:12px;padding:2px 6px;background:var(--bg);color:var(--y)}
.map__cta{position:relative;align-self:flex-start;background:var(--bg);color:var(--y);padding:10px 14px;font-weight:700;font-size:15px}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer{display:flex;flex-direction:column;gap:8px;padding:24px var(--gutter) 90px;border-top:1px solid var(--line);font-size:13px;color:var(--muted-2)}
.site-footer span:last-child{display:none}            /* mobile: só a linha de copyright */

/* ============================================================
   COMPONENTES FLUTUANTES
   ============================================================ */
/* Barra de agendamento sticky — SÓ desktop (controlada por JS) */
.sticky-cta{
  position:fixed;top:76px;left:50%;transform:translateX(-50%) translateY(-16px);
  width:calc(100% - 40px);max-width:600px;z-index:70;
  display:none;align-items:center;justify-content:center;gap:10px;
  background:var(--y);color:#0b0b0c;font-weight:800;font-size:14px;letter-spacing:.02em;
  text-align:center;padding:14px 20px;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.45);
  opacity:0;transition:opacity .3s, transform .3s;
}
.sticky-cta .ico{width:18px;height:18px;stroke:#0b0b0c}
.sticky-cta:hover{color:#0b0b0c}
.sticky-cta.show{display:inline-flex;opacity:1;transform:translateX(-50%) translateY(0)}

/* Base de posição dos flutuantes no mobile (dirigida por estado de rolagem) */
body{--float-base:16px}                 /* posição baixa por padrão */
body.is-deep{--float-base:92px}         /* acima da barra inferior quando ela aparece */

/* WhatsApp flutuante — mobile e desktop */
.wa-float{
  position:fixed;right:16px;bottom:var(--float-base);z-index:60;
  width:56px;height:56px;border-radius:50%;
  background:var(--wa);display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 12px rgba(0,0,0,.3);transition:transform .2s, box-shadow .2s, bottom .3s ease;
}
.wa-float svg{width:32px;height:32px;fill:#fff}
.wa-float:hover{transform:scale(1.1);box-shadow:0 6px 18px rgba(0,0,0,.4)}
/* Mobile: o verde sobe (abrindo espaço p/ o voltar-ao-topo) só quando ele aparece */
body.is-scrolled .wa-float{bottom:calc(var(--float-base) + 58px)}

/* Voltar ao topo — mobile e desktop */
.to-top{
  position:fixed;right:16px;bottom:var(--float-base);z-index:60;
  width:46px;height:46px;border-radius:12px;border:0;cursor:pointer;
  background:var(--y);color:#0b0b0c;display:none;align-items:center;justify-content:center;
  box-shadow:0 4px 12px rgba(0,0,0,.35);transition:transform .2s, opacity .3s, bottom .3s ease;opacity:0;
}
.to-top svg{width:22px;height:22px;fill:none;stroke:#0b0b0c;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.to-top.show{display:inline-flex;opacity:1}
.to-top:hover{transform:translateY(-3px)}

/* Barra inferior fixa de WhatsApp (mobile) — escondida até a 2ª dobra */
.mobile-bar{
  position:fixed;left:0;right:0;bottom:0;z-index:65;
  padding:12px var(--gutter) calc(16px + env(safe-area-inset-bottom));
  background:var(--bg);border-top:1px solid var(--line);
  transform:translateY(130%);transition:transform .35s ease;
}
body.is-deep .mobile-bar{transform:none}
.mobile-bar .btn{width:100%;font-size:16px;padding:16px}

/* ============================================================
   TABLET  (>= 768px)
   ============================================================ */
@media (min-width:768px){
  :root{--gutter:40px}
  .site-header{backdrop-filter:blur(8px)}   /* nav é estático no desktop: sem conflito */
  .header-phone{display:inline;font-size:15px;color:var(--muted-2)}
  .nav-toggle{display:none}
  .site-header .btn--wa{display:inline-flex;margin-left:0}
  .nav{
    position:static;width:auto;transform:none;visibility:visible;background:transparent;border:0;
    flex-direction:row;gap:24px;padding:0;flex-grow:1;justify-content:center;z-index:auto;
  }
  .nav a{color:var(--dim);font-size:15px;font-weight:500;padding:10px 12px;border:0}

  .marquee{display:block}
  .services__head .lead{display:block;font-size:16px}
  .svc-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
  .svc{display:flex;flex-direction:column;gap:12px;background:var(--bg);padding:28px;border-bottom:0}
  .svc h3{font-size:20px}
  .proof-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
  .mv-grid{display:grid;grid-template-columns:1fr 1fr}
  .creds{grid-template-columns:1fr 1fr 1fr 1fr}
  .cred{border-bottom:0}
  .cred:nth-child(2n){border-right:1px solid var(--line)}
  .cred:last-child{border-right:0}

  .levatraz{flex-direction:row;align-items:center;gap:40px}
  .levatraz__ico{display:block;width:56px;height:56px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
  .levatraz__body{flex-grow:1}

  .contact{flex-direction:row;align-items:stretch;gap:40px;padding-bottom:var(--sec-pad)}
  .contact__info{flex:1}
  .contact .btn--wa{display:inline-flex;align-self:flex-start}
  .map{flex:0 0 46%;height:auto;min-height:420px}
  .site-footer{flex-direction:row;align-items:center;padding-bottom:24px}
  .site-footer__c{flex-grow:1}
  .site-footer span:last-child{display:inline}

  /* Componentes: desktop/tablet mostram float (bottom:80) + to-top (bottom:20); barra mobile some */
  .mobile-bar{display:none}
  .wa-float{bottom:80px;right:20px}
  body.is-scrolled .wa-float{bottom:80px}   /* no desktop o verde não "sobe" (posição fixa) */
  .to-top{bottom:20px;right:20px}
}

/* ============================================================
   DESKTOP  (>= 1200px) — fiel ao Main.dc.html
   ============================================================ */
@media (min-width:1200px){
  :root{--gutter:120px;--sec-pad:112px}
  .h-display{font-stretch:118%;font-size:48px;line-height:1.08}
  section[id],main[id]{scroll-margin-top:80px}

  /* Hero split */
  .hero{padding:0 var(--gutter);min-height:700px;flex-direction:row;align-items:center}
  .hero__dots{display:block;position:absolute;left:0;top:0;width:56%;height:100%;color:#1d1d20;background-image:radial-gradient(currentColor 2px,transparent 2.6px);background-size:16px 16px}
  .hero__media{position:absolute;right:0;top:0;width:66%;height:100%}
  .hero__clip{clip-path:polygon(36% 0,100% 0,100% 100%,0 100%)}
  .hero__clip img{object-position:60% 55%}
  .hero__scrim{display:block;position:absolute;inset:0;background:linear-gradient(100deg, rgba(11,11,12,.7) 18%, rgba(11,11,12,0) 60%)}
  .hslash-m{display:none}
  .hero__badge{left:auto;top:auto;right:96px;bottom:40px;padding:14px 20px;font-size:18px;line-height:1.15}
  .hero__content{max-width:640px;padding:0;gap:24px}
  .hero__title{font-stretch:118%;font-size:72px;line-height:.98}
  .hero__lead{font-size:19px;color:var(--dim);max-width:470px}
  .hero__actions{flex-direction:row;flex-wrap:wrap;align-items:center;gap:16px;padding-top:6px}
  .hero__actions .btn--ghost{display:inline-flex}
  .hero__actions .btn--wa{width:auto}
  .slash{display:block;position:absolute;background:var(--y);transform:skewX(-26deg);z-index:1}
  .slash--1{left:47.5%;top:0;width:26px;height:210px}
  .slash--2{left:51%;top:0;width:8px;height:130px}
  .slash--3{left:30.5%;bottom:0;width:34px;height:240px}
  .slash--4{left:27%;bottom:0;width:8px;height:150px}
  .slash--5{right:9%;bottom:0;width:40px;height:120px}
  .rail{display:flex;position:absolute;right:0;top:50%;margin-top:-92px;z-index:3;width:52px;background:var(--y);border-radius:10px 0 0 10px;flex-direction:column;align-items:center;padding:10px 0}
  .rail a{color:#0b0b0c;width:44px;height:44px;display:flex;align-items:center;justify-content:center;transition:transform .25s}
  .rail a:hover{transform:scale(1.2);color:#0b0b0c}
  .rail svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2}

  .cred__n{font-size:40px}
  .cred__t{font-size:15px}
  .cred{padding:40px var(--gutter)}
  .cred:nth-child(n){padding-left:40px;padding-right:40px}
  .cred:first-child{padding-left:var(--gutter)}
  .cred:last-child{padding-right:var(--gutter)}

  .services{gap:56px}
  .services__head{flex-direction:row;align-items:flex-end;gap:80px}
  .services__head .h-display{flex-grow:1}
  .services__head .lead{width:460px;flex-shrink:0;font-size:17px}
  .svc-grid{grid-template-columns:1fr 1fr 1fr}
  .svc{padding:36px;gap:14px}
  .svc h3{font-size:22px}
  .svc p{font-size:15px}

  /* Vitrificação: imagem à esquerda, cabeçalho/corpo à direita */
  .vitri{display:grid;grid-template-columns:minmax(0,480px) 1fr;grid-template-areas:"media head" "media body";align-items:center;gap:16px 56px}
  .vitri__head{grid-area:head;gap:24px}
  .vitri__media{grid-area:media}
  .vitri__media img{height:300px}
  .vitri__media figcaption{display:block;font-size:13px;color:var(--muted-2);margin-top:12px}
  .vitri__body{grid-area:body}
  .vitri .lead{font-size:17px}
  .steps{display:grid}

  .levatraz{padding:72px var(--gutter);gap:56px}
  .levatraz__body h2{font-size:40px}
  .levatraz__body p{font-size:18px}

  .history{gap:64px}
  .history .section-head .eyebrow{display:inline-flex}
  .timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;border-left:0;padding:0}
  .timeline li{border-top:1px solid #3a3a3d;padding-top:24px;gap:12px}
  .tl__y{font-size:32px}
  .timeline p{font-size:15px}
  .mv{padding:40px}
  .mv p{font-size:18px}

  .proof{gap:40px}
  .proof-grid{grid-template-columns:1fr 1fr 1fr}
  .pcard__media{height:264px}
  .pcard__body{padding:24px 24px 26px}

  .contact{gap:72px}
  .map{min-height:400px}   /* mantém flex:0 0 46% do breakpoint tablet (não colapsar) */
}

/* ============================================================
   ANIMAÇÕES (do modelo A)
   ============================================================ */
@keyframes up{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
@keyframes rev{from{transform:translateX(12%);opacity:0}to{transform:none;opacity:1}}
@keyframes kb{from{transform:scale(1)}to{transform:scale(1.12)}}
@keyframes mq{to{transform:translateX(-50%)}}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(254,206,26,.6)}100%{box-shadow:0 0 0 22px rgba(254,206,26,0)}}
@keyframes drive{0%,100%{transform:translateX(-6px)}50%{transform:translateX(8px)}}
@keyframes chev{0%,100%{opacity:.25}50%{opacity:1}}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.25}}
@keyframes sheen{0%,55%{left:-60%}100%{left:140%}}

.in{animation:up .9s cubic-bezier(.2,.7,.2,1) both}
.rev{animation:rev 1.2s cubic-bezier(.2,.7,.2,1) both}
.d1{animation-delay:.1s}.d2{animation-delay:.25s}.d3{animation-delay:.4s}
.d4{animation-delay:.55s}.d5{animation-delay:.7s}.d6{animation-delay:.85s}
.kb{animation:kb 14s ease-in-out infinite alternate}
.pulse{animation:pulse 1.8s ease-out infinite}
.drive{animation:drive 3.2s ease-in-out infinite}
.blink{animation:blink 1.6s ease-in-out infinite}
.c1{animation:chev 1.2s infinite}.c2{animation:chev 1.2s .2s infinite}.c3{animation:chev 1.2s .4s infinite}
.chev i{font-style:normal}
.lift{transition:transform .35s cubic-bezier(.2,.7,.2,1),background .35s,box-shadow .35s}
.lift:hover{transform:translateY(-8px);box-shadow:0 18px 40px rgba(0,0,0,.35)}
.sheen::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.3),transparent);transform:skewX(-18deg);animation:sheen 5s ease-in-out infinite;pointer-events:none;z-index:1}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .hero__content,.in,.rev{opacity:1!important;transform:none!important}
}
