  :root{
    /* Paleta oficial — BrandBook FASE 2 */
    --navy:#0D1B2A;
    --navy-2:#132A4A;
    --navy-3:#23384D;
    --gold:#D4AF37;
    --gold-deep:#B8860B;
    --ink:#2B2B2B;
    --line:#E6E6E6;
    --ice:#F8F9FA;
    --white:#FFFFFF;

    --ff-title:'Poppins', 'Segoe UI', system-ui, sans-serif;
    --ff-text:'Montserrat', 'Segoe UI', system-ui, sans-serif;

    --wrap:1180px;
    --radius:14px;
    --shadow:0 24px 60px -28px rgba(13,27,42,.28);
    --shadow-sm:0 12px 30px -18px rgba(13,27,42,.35);
  }

  *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
  body{
    font-family:var(--ff-text);
    color:var(--ink);
    background:var(--white);
    line-height:1.65;
    overflow-x:hidden;
  }
  img{max-width:100%;display:block}
  a{color:inherit;text-decoration:none}
  h1,h2,h3,h4{font-family:var(--ff-title);line-height:1.15;color:var(--navy);font-weight:700;overflow-wrap:break-word}
  /* evita "grid blowout" em telas estreitas */
  .hero .wrap>*,.why>*,.services-grid>*,.stats__grid>*,.cases-grid>*,.pillars>*,.footer-grid>*,.contact>*{min-width:0}
  ::selection{background:var(--gold);color:var(--navy)}

  .wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 24px;position:relative;z-index:2}
  .section{padding:96px 0;position:relative;overflow:hidden}
  .section--tight{padding:72px 0}

  /* ===== Ícones padronizados ===== */
  svg.ico{
    fill:none;stroke:currentColor;stroke-width:1.5;
    stroke-linecap:round;stroke-linejoin:round;
    width:1em;height:1em;display:block;
  }

  /* ===== Grafismos de apoio (engrenagem, pontos, faixa diagonal) ===== */
  .gfx{position:absolute;z-index:0;pointer-events:none;color:var(--gold)}
  /* engrenagem do grafismo (BrandBook 2.8) — contorno dourado geométrico, SEMPRE inteira nas seções claras */
  .gfx--gear,.wm-gear{color:var(--gold)}
  .gfx--gear{opacity:.34}
  .gfx--gear svg{width:100%;height:100%;display:block}
  .gfx--gear svg,.wm-gear{overflow:visible;stroke-width:2.6}
  .section--dark .gfx--gear{opacity:.13}
  .hero .gfx--gear{opacity:.12}
  .site-footer .gfx--gear{opacity:.08}
  /* grade de pontos — azul-marinho nas seções claras (como no BrandBook) */
  .gfx--dots{
    background-image:radial-gradient(currentColor 1.7px,transparent 1.9px);
    background-size:18px 18px;opacity:.5;color:var(--navy);
  }
  .section--dark .gfx--dots,.hero .gfx--dots{opacity:.16;color:var(--gold)}
  .gfx--slash{
    width:130px;height:135%;top:-17%;
    transform:skewX(-18deg);
    background:linear-gradient(180deg,rgba(212,175,55,.13),rgba(212,175,55,0));
  }
  @media (max-width:700px){ .gfx--gear{opacity:.10} .gfx--slash{display:none} .gfx--dots{opacity:.22} }
  @media (prefers-reduced-motion:reduce){ .gfx--dots,.gfx--slash{opacity:.05!important} }

  .eyebrow{
    font-family:var(--ff-title);
    font-weight:600;
    font-size:.78rem;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:var(--gold-deep);
    display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;
    max-width:100%;
  }
  .eyebrow::before{content:"";width:34px;height:2px;background:var(--gold);flex:0 0 auto}
  .section--dark .eyebrow{color:var(--gold)}

  .h-lead{font-size:clamp(1.9rem,4vw,2.7rem);margin:14px 0 18px;letter-spacing:-.01em}
  .section--dark .h-lead,.section--dark h2,.section--dark h3{color:#fff}
  .lead-p{font-size:1.05rem;max-width:60ch;color:#4a5763}
  .section--dark .lead-p{color:#c4cdd6}

  /* ---------- Buttons ---------- */
  .btn{
    --bg:var(--gold);--fg:var(--navy);--bd:var(--gold);
    display:inline-flex;align-items:center;justify-content:center;gap:10px;
    font-family:var(--ff-title);font-weight:600;font-size:.95rem;
    padding:15px 28px;border-radius:999px;border:2px solid var(--bd);
    background:var(--bg);color:var(--fg);cursor:pointer;
    transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
    box-shadow:0 14px 30px -14px rgba(212,175,55,.65);
  }
  .btn:hover{transform:translateY(-2px);box-shadow:0 20px 40px -14px rgba(212,175,55,.8)}
  .btn--ghost{--bg:transparent;--fg:var(--gold);--bd:var(--gold);box-shadow:none}
  .btn--ghost:hover{--bg:var(--gold);--fg:var(--navy)}
  .btn--navy{--bg:var(--navy);--fg:#fff;--bd:var(--navy);box-shadow:var(--shadow-sm)}
  .btn--navy:hover{--bg:var(--navy-2);--fg:#fff}

  /* ---------- Header ---------- */
  .site-header{
    position:sticky;top:0;z-index:60;
    background:rgba(13,27,42,.92);
    backdrop-filter:blur(10px);
    border-bottom:1px solid rgba(212,175,55,.16);
  }
  .site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:76px;gap:24px}
  .brand{display:flex;align-items:center;gap:12px}
  .brand__mark{width:40px;height:40px;flex:0 0 auto}
  .brand__txt{display:flex;flex-direction:column;line-height:1}
  .brand__name{font-family:var(--ff-title);font-weight:700;color:#fff;font-size:1.02rem;letter-spacing:.06em}
  .brand__sub{
    font-family:var(--ff-title);font-weight:500;color:var(--gold);
    font-size:.62rem;letter-spacing:.42em;margin-top:4px;
    display:flex;align-items:center;gap:6px;white-space:nowrap;
  }
  .brand__sub::before,.brand__sub::after{content:"";height:1px;width:14px;background:var(--gold);opacity:.7}

  .nav{display:flex;align-items:center;gap:30px}
  .nav a{
    font-family:var(--ff-title);font-weight:500;font-size:.9rem;color:#dfe5ec;
    padding:6px 0;position:relative;transition:color .16s;
  }
  .nav a::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--gold);transition:width .2s}
  .nav a:hover{color:#fff}
  .nav a:hover::after{width:100%}
  .header-cta{display:flex;align-items:center;gap:14px}
  .header-cta .btn{padding:11px 22px;font-size:.86rem}

  .nav-toggle{display:none;background:none;border:0;cursor:pointer;width:44px;height:44px;color:#fff}
  .nav-toggle svg{width:26px;height:26px}

  /* ---------- Hero ---------- */
  .hero{
    position:relative;isolation:isolate;
    background:radial-gradient(1100px 600px at 78% -10%, var(--navy-2), var(--navy) 60%);
    color:#fff;overflow:hidden;
    padding:110px 0 150px;
  }
  .hero::after{ /* corte diagonal dourado */
    content:"";position:absolute;left:0;right:0;bottom:-1px;height:120px;
    background:var(--white);
    clip-path:polygon(0 100%,100% 100%,100% 38%,0 100%);
  }
  .hero__diag{
    position:absolute;inset:0;z-index:-1;
    background:linear-gradient(115deg,transparent 58%, rgba(212,175,55,.10) 58.4%, rgba(212,175,55,.10) 60%, transparent 60.4%);
    pointer-events:none;
  }
  .hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;position:relative;z-index:2}
  .hero h1{
    color:#fff;font-size:clamp(2.3rem,5vw,3.5rem);font-weight:800;
    letter-spacing:-.015em;margin:20px 0 22px;
  }
  .hero h1 b{color:var(--gold);font-weight:800}
  .hero p{font-size:1.12rem;color:#cdd6df;max-width:52ch}
  .hero__actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:34px}
  .hero__note{margin-top:26px;font-size:.82rem;color:#8ea0b2;letter-spacing:.03em}

  /* Composição gráfica (engrenagem + escudo) */
  .hero__art{position:relative;display:grid;place-items:center;min-height:340px}
  .hero__art .ring{position:absolute;border-radius:50%;border:1px solid rgba(212,175,55,.28)}
  .hero__art .ring.r1{width:360px;height:360px}
  .hero__art .ring.r2{width:280px;height:280px;border-style:dashed;animation:spin 44s linear infinite}
  .hero__art .ring.r3{width:200px;height:200px;border-color:rgba(212,175,55,.5)}
  .hero__art .gear{position:absolute;width:340px;height:340px;color:rgba(212,175,55,.28);stroke-width:2.4;overflow:visible;animation:spin 60s linear infinite}
  .hero__art .sym{position:relative;width:150px;filter:drop-shadow(0 20px 40px rgba(0,0,0,.45))}
  @keyframes spin{to{transform:rotate(360deg)}}

  /* ---------- Stats ---------- */
  .stats{position:relative;z-index:5;margin-top:-84px}
  .stats__grid{
    background:#fff;border:1px solid var(--line);border-radius:var(--radius);
    box-shadow:var(--shadow);
    display:grid;grid-template-columns:repeat(3,1fr);
  }
  .stat{padding:32px 26px;text-align:center;border-right:1px solid var(--line)}
  .stat:last-child{border-right:0}
  .stat__label{
    display:block;margin-top:10px;
    font-size:.82rem;letter-spacing:.05em;color:#5b6773;text-transform:uppercase;
    font-family:var(--ff-title);font-weight:500;
  }
  /* Odômetro (giro de contagem) */
  .odo{
    display:flex;align-items:center;justify-content:center;
    font-family:var(--ff-title);font-weight:800;line-height:1;
    font-size:clamp(1.9rem,3.2vw,2.5rem);color:var(--navy);
  }
  .odo__prefix{color:var(--gold);margin-right:.04em}
  .odo__reel{height:1em;overflow:hidden;display:inline-block}
  .odo__reel > span{display:flex;flex-direction:column;transform:translateY(0)}
  .odo.is-spinning .odo__reel > span{transition:transform 1.9s cubic-bezier(.16,1,.3,1)}
  .odo__reel i{height:1em;display:flex;align-items:center;justify-content:center;font-style:normal}

  /* ---------- Serviços ---------- */
  .services-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px;
  }
  .svc{
    position:relative;
    background:#fff;border:1px solid var(--line);border-radius:var(--radius);
    padding:30px 26px;transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  }
  .svc:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm);border-color:rgba(212,175,55,.55)}
  .svc__more{
    position:absolute;top:36px;right:24px;
    font-family:var(--ff-title);font-weight:600;font-size:.72rem;letter-spacing:.03em;
    color:#2f7fd1;display:inline-flex;align-items:center;gap:3px;
    animation:egBlink 1.5s ease-in-out infinite;
  }
  .svc__more::after{content:"›";font-size:1.05em;line-height:1}
  .svc__more:hover{color:#1b5fa8;text-decoration:underline;animation:none}
  @keyframes egBlink{0%,100%{opacity:1}50%{opacity:.35}}
  @media (prefers-reduced-motion:reduce){ .svc__more{animation:none} }
  .svc__icon{
    width:54px;height:54px;border-radius:12px;display:grid;place-items:center;
    background:linear-gradient(160deg,var(--navy),var(--navy-2));color:var(--gold);
    margin-bottom:18px;font-size:26px;position:relative;overflow:hidden;
  }
  .svc__icon::after{ /* faixa diagonal sutil no badge */
    content:"";position:absolute;right:-14px;bottom:-14px;width:26px;height:60px;
    transform:skewX(-18deg);background:rgba(212,175,55,.18);
  }
  .svc__icon svg{width:26px;height:26px;position:relative;z-index:1}
  .svc h3{font-size:1.1rem;margin-bottom:8px}
  .svc p{font-size:.92rem;color:#57636e}
  .svc__tag-line{font-family:var(--ff-title);font-weight:500;font-style:italic;font-size:.86rem;color:var(--gold-deep);margin-bottom:10px}
  .svc__tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
  .svc__tags span{
    font-family:var(--ff-title);font-size:.72rem;font-weight:500;letter-spacing:.02em;
    color:var(--navy-3);background:var(--ice);border:1px solid var(--line);
    padding:4px 10px;border-radius:999px;
  }

  /* ---------- Diferenciais ---------- */
  .section--dark{background:linear-gradient(180deg,var(--navy),#0a1521);color:#fff;position:relative;overflow:hidden}
  .section--dark .wm-gear{position:absolute;right:-150px;top:50%;transform:translateY(-50%);width:460px;color:var(--gold);opacity:.12;z-index:0}
  .why{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;position:relative;z-index:2}
  .why__list{list-style:none;margin-top:26px;display:grid;gap:14px}
  .why__list li{display:flex;gap:14px;align-items:flex-start;font-size:.96rem;color:#d4dce4}
  .why__list li svg{width:22px;height:22px;color:var(--gold);flex:0 0 auto;margin-top:2px}
  .pillars{display:grid;grid-template-columns:1fr 1fr;gap:18px}
  .pillar{
    background:rgba(255,255,255,.04);border:1px solid rgba(212,175,55,.22);
    border-radius:var(--radius);padding:24px 22px;position:relative;overflow:hidden;
  }
  .pillar::after{
    content:"";position:absolute;right:-20px;top:-20px;width:70px;height:70px;border-radius:50%;
    border:1px solid rgba(212,175,55,.18);
  }
  .pillar svg{width:30px;height:30px;color:var(--gold);margin-bottom:12px;position:relative;z-index:1}
  .pillar h3{font-size:1rem;margin-bottom:6px;color:#fff}
  .pillar p{font-size:.86rem;color:#b9c3cd}

  /* ---------- Clientes ---------- */
  .clients{text-align:center}
  .clients__grid{
    list-style:none;margin:40px auto 0;max-width:960px;
    display:grid;grid-template-columns:repeat(5,1fr);gap:14px;
  }
  .clients__grid li{
    display:flex;align-items:center;justify-content:center;
    background:#fff;border:1px solid var(--line);border-radius:12px;
    padding:20px 18px;min-height:104px;transition:border-color .18s, box-shadow .18s, transform .18s;
  }
  .clients__grid li:hover{border-color:rgba(212,175,55,.5);box-shadow:var(--shadow-sm);transform:translateY(-3px)}
  .clients__grid li.is-lit{border-color:rgba(212,175,55,.5)}
  .clients__grid img{
    max-height:52px;width:auto;max-width:100%;object-fit:contain;
    filter:grayscale(1);opacity:.72;transition:filter .55s ease, opacity .55s ease;
  }
  .clients__grid li:hover img,
  .clients__grid li.is-lit img{filter:none;opacity:1}
  .clients__note{
    margin-top:22px;font-family:var(--ff-title);font-weight:500;font-size:.82rem;
    letter-spacing:.12em;text-transform:uppercase;color:#7a8792;
  }

  /* ---------- Presença / Atuação ---------- */
  .presenca-section{background:var(--ice)}
  .presenca{display:grid;grid-template-columns:1fr 1.02fr;gap:56px;align-items:center}

  /* Mapa do Brasil + pins 3D */
  .brmap{position:relative;width:100%;max-width:530px;margin-inline:auto;aspect-ratio:1157/1163}
  .brmap::after{ /* brilho suave atrás do mapa */
    content:"";position:absolute;inset:6% 4% 10% 4%;z-index:0;border-radius:50%;
    background:radial-gradient(closest-side, rgba(212,175,55,.14), transparent 78%);
  }
  .brmap__base{position:relative;z-index:1;width:100%;height:100%;filter:drop-shadow(0 26px 46px rgba(13,27,42,.22))}
  .brpin{position:absolute;left:var(--x);top:var(--y);width:0;height:0;z-index:2}
  .brpin::before{
    content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);
    width:27px;height:42px;
    background:url("/assets/img/pin-mapa.png") center/contain no-repeat;
    filter:drop-shadow(0 5px 6px rgba(13,27,42,.35));
    transition:transform .18s ease;
    transform-origin:50% 100%;
  }
  .brpin__uf{
    position:absolute;bottom:22px;left:15px;
    font-family:var(--ff-title);font-weight:700;font-size:10.5px;letter-spacing:.03em;
    color:#fff;padding:1px 5px;border-radius:5px;background:rgba(13,27,42,.78);
    white-space:nowrap;transition:background .18s ease, color .18s ease;
  }
  .brpin--left .brpin__uf{left:auto;right:15px}
  .brpin:hover{z-index:5}
  .brpin:hover::before{transform:translateX(-50%) scale(1.14) translateY(-2px)}
  .brpin:hover .brpin__uf{background:var(--gold);color:var(--navy)}

  /* entrada dos pins */
  .js .presenca__map .brpin{opacity:0;transform:translateY(-16px)}
  .js .presenca__map.in .brpin{
    opacity:1;transform:none;
    transition:opacity .45s ease, transform .5s cubic-bezier(.34,1.56,.64,1);
  }
  .presenca__map.in .brpin:nth-child(2){transition-delay:.05s}
  .presenca__map.in .brpin:nth-child(3){transition-delay:.10s}
  .presenca__map.in .brpin:nth-child(4){transition-delay:.15s}
  .presenca__map.in .brpin:nth-child(5){transition-delay:.20s}
  .presenca__map.in .brpin:nth-child(6){transition-delay:.25s}
  .presenca__map.in .brpin:nth-child(7){transition-delay:.30s}
  .presenca__map.in .brpin:nth-child(8){transition-delay:.35s}
  .presenca__map.in .brpin:nth-child(9){transition-delay:.40s}
  .presenca__map.in .brpin:nth-child(10){transition-delay:.45s}
  .presenca__map.in .brpin:nth-child(11){transition-delay:.50s}
  .presenca__map.in .brpin:nth-child(12){transition-delay:.55s}
  @media (prefers-reduced-motion:reduce){
    .js .presenca__map .brpin{opacity:1;transform:none}
  }
  @media (max-width:620px){
    /* no mobile os pins ficam sem rótulo (a lista de UFs acima já serve de legenda) */
    .brpin__uf{opacity:0;pointer-events:none}
    .brpin:active .brpin__uf,.brpin:hover .brpin__uf{opacity:1}
    .brpin::before{width:24px;height:37px}
    .presenca__ufs{font-size:.85rem;line-height:1.9}
  }
  .presenca__callout{
    display:flex;gap:16px;margin-top:26px;padding:22px 22px 20px;border-radius:var(--radius);
    background:linear-gradient(160deg,var(--navy),var(--navy-2));color:#fff;
  }
  .presenca__callout svg{width:30px;height:30px;color:var(--gold);flex:0 0 auto;margin-top:2px}
  .presenca__callout b{font-family:var(--ff-title);display:block;margin-bottom:4px;font-size:.98rem}
  .presenca__callout p{font-size:.9rem;color:#c8d0d9}
  .presenca__ufs{
    margin-top:18px;font-family:var(--ff-title);font-weight:600;letter-spacing:.06em;
    color:var(--navy-3);font-size:.9rem;
  }

  /* ---------- Cases ---------- */
  .cases-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px;position:relative;z-index:2}
  .case{
    background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);
    border-radius:var(--radius);padding:28px 24px;
  }
  .case__seg{font-family:var(--ff-title);font-weight:600;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
  .case h3{font-size:1.12rem;margin:8px 0 14px;color:#fff}
  .case ul{list-style:none;display:grid;gap:8px;margin-bottom:16px}
  .case li{position:relative;padding-left:20px;font-size:.9rem;color:#c4cdd6}
  .case li::before{content:"";position:absolute;left:0;top:9px;width:8px;height:8px;border-radius:2px;background:var(--gold);transform:rotate(45deg)}
  .case__result{
    font-family:var(--ff-title);font-weight:600;font-size:.86rem;color:#fff;
    border-top:1px solid rgba(212,175,55,.25);padding-top:14px;
  }
  .case__result b{color:var(--gold)}

  /* ---------- CTA band ---------- */
  .cta-band{
    background:
      linear-gradient(120deg, rgba(13,27,42,.94), rgba(19,42,74,.9)),
      radial-gradient(600px 300px at 90% 10%, rgba(212,175,55,.35), transparent 60%);
    color:#fff;text-align:center;padding:80px 0;position:relative;overflow:hidden;
  }
  .wm-gear{position:absolute;right:-150px;top:50%;transform:translateY(-50%);width:460px;color:var(--gold);opacity:.11;z-index:0;pointer-events:none}
  .cta-band h2{color:#fff;font-size:clamp(1.7rem,3.6vw,2.4rem);margin-bottom:14px}
  .cta-band p{max-width:56ch;margin:0 auto 30px;color:#d3dbe3}

  /* ---------- Contato ---------- */
  .contact{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
  .contact form{display:grid;gap:16px;margin-top:26px}
  .field{display:grid;gap:6px}
  .field label{font-family:var(--ff-title);font-weight:500;font-size:.82rem;color:var(--navy)}
  .field input,.field textarea{
    font-family:var(--ff-text);font-size:.95rem;padding:13px 15px;
    border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);
    transition:border-color .16s, box-shadow .16s;
  }
  .field input:focus,.field textarea:focus{outline:0;border-color:var(--gold);box-shadow:0 0 0 4px rgba(212,175,55,.15)}
  .field textarea{min-height:120px;resize:vertical}
  .contact__cards{display:grid;gap:16px;margin-top:26px;min-width:0}
  .cc{
    display:flex;gap:14px;align-items:center;padding:18px;border:1px solid var(--line);
    border-radius:var(--radius);background:var(--ice);min-width:0;
  }
  .cc svg{width:26px;height:26px;color:var(--gold-deep);flex:0 0 auto}
  .cc > span{min-width:0;flex:1}
  .cc b{display:block;font-family:var(--ff-title);font-size:.95rem;color:var(--navy)}
  .cc span{font-size:.9rem;color:#57636e;overflow-wrap:anywhere;word-break:break-word}
  .contact__states{margin-top:6px;font-size:.82rem;color:#7a8792;letter-spacing:.04em}

  .socials{display:flex;align-items:center;gap:14px;margin-top:22px}
  .socials__label{font-family:var(--ff-title);font-weight:500;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:#7a8792}
  .socials__ic{
    width:42px;height:42px;border-radius:10px;display:grid;place-items:center;
    border:1px solid var(--line);color:var(--navy);background:#fff;transition:transform .16s,border-color .16s,color .16s;
  }
  .socials__ic svg{width:20px;height:20px}
  .socials__ic[aria-disabled="true"]{opacity:.5;cursor:not-allowed;pointer-events:none}
  .socials__ic:not([aria-disabled="true"]):hover{transform:translateY(-2px);border-color:var(--gold);color:var(--gold-deep)}
  .socials--footer{margin-top:18px}
  .socials--footer .socials__ic{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12);color:#cdd6df}

  /* ---------- Footer ---------- */
  .site-footer{background:#0a1420;color:#aeb9c4;padding:64px 0 0;position:relative;overflow:hidden}
  .site-footer .gfx--gear{color:var(--gold)}
  .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px}
  .footer-brand .brand__name{font-size:1.05rem}
  .footer-brand p{margin-top:16px;font-size:.9rem;color:#93a0ac;max-width:34ch}
  .footer-promise{
    margin-top:16px;font-family:var(--ff-title);font-weight:500;font-size:.86rem;
    color:var(--gold);letter-spacing:.02em;
  }
  .site-footer h4{color:#fff;font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:16px}
  .site-footer ul{list-style:none;display:grid;gap:10px}
  .site-footer li a{font-size:.9rem;transition:color .16s}
  .site-footer li a:hover{color:var(--gold)}
  .footer-bottom{
    margin-top:52px;border-top:1px solid rgba(255,255,255,.08);
    padding:22px 0;font-size:.8rem;color:#7a8792;
    display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;
  }
  .footer-bottom a:hover{color:var(--gold)}

  /* WhatsApp float */
  .wa-float{
    position:fixed;right:20px;bottom:20px;z-index:70;
    width:56px;height:56px;border-radius:50%;background:#25D366;
    display:grid;place-items:center;box-shadow:0 14px 30px -8px rgba(37,211,102,.6);
    transition:transform .18s;
  }
  .wa-float:hover{transform:scale(1.08)}
  .wa-float svg{width:30px;height:30px;color:#fff}

  /* reveal (só esconde quando o JS está ativo) */
  .js .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease, transform .7s ease}
  .js .reveal.in{opacity:1;transform:none}

  /* ---------- Responsivo ---------- */
  @media (max-width:960px){
    .section{padding:72px 0}
    .hero{padding:84px 0 130px}
    .hero .wrap{grid-template-columns:1fr;gap:40px}
    .hero__art{min-height:280px;order:-1}
    .why{grid-template-columns:1fr;gap:36px}
    .presenca{grid-template-columns:1fr;gap:36px}
    .presenca__map{max-width:460px;margin:0 auto}
    .clients__grid{grid-template-columns:repeat(3,1fr)}
    .services-grid{grid-template-columns:repeat(2,1fr)}
    .cases-grid{grid-template-columns:1fr}
    .contact{grid-template-columns:1fr;gap:36px}
    .footer-grid{grid-template-columns:1fr 1fr;gap:32px}
    .nav,.header-cta .btn{display:none}
    .nav-toggle{display:grid;place-items:center}
    .nav.open{
      display:flex;flex-direction:column;align-items:flex-start;gap:4px;
      position:absolute;left:0;right:0;top:76px;background:var(--navy);
      padding:14px 24px 22px;border-bottom:1px solid rgba(212,175,55,.2);
    }
    .nav.open a{width:100%;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.06)}
  }
  @media (max-width:560px){
    .services-grid{grid-template-columns:1fr}
    .clients__grid{grid-template-columns:repeat(2,1fr)}
    .pillars{grid-template-columns:1fr}
    .footer-grid{grid-template-columns:1fr}
    .stats{margin-top:-60px}
    .hero{padding:64px 0 120px}
    .hero h1{font-size:2rem}
    .hero p{font-size:1rem}
    .hero__note{white-space:normal}
    .stats__grid{grid-template-columns:1fr}
    .stat{border-right:0;border-bottom:1px solid var(--line)}
    .stat:last-child{border-bottom:0}
    .hero__art{min-height:240px}
    .hero__art .ring.r1{width:260px;height:260px}
    .hero__art .ring.r2{width:210px;height:210px}
    .hero__art .ring.r3{width:150px;height:150px}
    .hero__art .gear{width:250px;height:250px}
    .hero__art .sym{width:120px}
    .section{padding:60px 0}
    .footer-bottom{flex-direction:column;gap:8px}
  }
  @media (prefers-reduced-motion:reduce){
    *{animation:none!important}
    .reveal{opacity:1;transform:none;transition:none}
    html{scroll-behavior:auto}
  }
