/* ============================================================
   TEMPLATE AIX — shell compartilhado (base + header + idioma + rodapé + reveal)
   Padrão oficial de landing do grupo AIX. Reutilizável por TODAS as
   páginas/seções/empresas do grupo. NÃO edite por empresa — só troque
   assets, cópia e dados (site-data.js). Ver README.md e TEMPLATE-SPEC.md.
   ============================================================ */
:root{
  --blue:#203A72; --blue2:#03598C; --cyan:#2CACE2;
  --ink:#46536b; --soft:#6b7a93; --line:#e7edf5; --bg-soft:#eef3f8;
  --wrap:1180px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:96px;}
html,body{margin:0;padding:0;}
body{font-family:'Montserrat',system-ui,-apple-system,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
a{text-decoration:none;color:inherit;}
::selection{background:var(--cyan);color:#fff;}
img{display:block;max-width:100%;}
h1,h2,h3,h4{margin:0;}
.container{max-width:var(--wrap);margin:0 auto;padding:0 36px;}

/* buttons */
.btn{position:relative;overflow:hidden;display:inline-block;background:var(--blue2);color:#fff;font-weight:700;font-size:14px;padding:16px 32px;border-radius:3px;
     text-transform:uppercase;letter-spacing:.6px;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s;}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(3,89,140,.35);}
.btn.cy{background:var(--cyan);}
.btn.cy:hover{box-shadow:0 12px 26px rgba(44,172,226,.45);}
.btn:focus-visible{outline:3px solid #fff;outline-offset:2px;}
.btn::before{content:"";position:absolute;top:0;left:-130%;width:55%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.38),transparent);transform:skewX(-18deg);transition:left .6s ease;pointer-events:none;}
.btn:hover::before{left:150%;}
@media (prefers-reduced-motion:reduce){.btn::before{display:none;}}

/* header — transparente, embedado sobre o hero/faixa */
header{position:fixed;top:0;left:0;right:0;z-index:60;background:linear-gradient(rgba(10,20,40,.34),rgba(10,20,40,0));transition:background .35s ease,box-shadow .35s ease,backdrop-filter .35s ease;}
header.scrolled{background:rgba(9,19,38,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 6px 24px rgba(0,0,0,.26);}
header .bar{display:flex;align-items:center;justify-content:space-between;padding-top:34px;padding-bottom:18px;gap:18px;transition:padding .35s ease;}
header.scrolled .bar{padding-top:14px;padding-bottom:14px;}
header .logo{display:inline-flex;align-items:center;transition:opacity .2s,transform .2s;flex:0 0 auto;}
header .logo:hover{opacity:.85;transform:scale(1.03);}
header .logo img{height:104px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.35));transition:height .35s ease;}
header.scrolled .logo img{height:52px!important;}
header .actions{display:flex;align-items:center;gap:26px;}
header nav{display:flex;align-items:center;gap:28px;}
header nav a{color:#fff;font-size:14px;font-weight:600;transition:color .2s;text-shadow:0 1px 6px rgba(0,0,0,.4);white-space:nowrap;}
header nav a:hover,header nav a.active{color:var(--cyan);}
header .navtoggle{display:none;background:none;border:0;color:#fff;font-size:26px;line-height:1;cursor:pointer;padding:2px 6px;filter:drop-shadow(0 1px 6px rgba(0,0,0,.4));}

/* language dropdown */
.lang{position:relative;}
.lang .toggle{display:flex;align-items:center;gap:7px;cursor:pointer;padding:6px 8px;border-radius:6px;transition:background .2s;}
.lang .toggle:hover{background:rgba(255,255,255,.12);}
.lang .toggle img{width:26px;border-radius:2px;box-shadow:0 1px 4px rgba(0,0,0,.3);}
.lang .toggle .car{border:solid #fff;border-width:0 2px 2px 0;display:inline-block;padding:3px;transform:rotate(45deg);transition:transform .2s;}
.lang.open .toggle .car{transform:rotate(-135deg);}
.lang .menu{position:absolute;top:calc(100% + 10px);right:0;min-width:196px;background:rgba(20,30,48,.97);backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,.12);border-radius:10px;box-shadow:0 16px 40px rgba(0,0,0,.4);overflow:hidden;padding:6px;
  opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-6px);transition:.2s;}
.lang.open .menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);}
.lang .menu a{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:7px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;}
.lang .menu a:hover{background:rgba(255,255,255,.12);}
.lang .menu a img{width:24px;border-radius:2px;}
.lang .menu a.cur{color:var(--cyan);font-weight:700;}

/* nav dropdowns (Soluções, Conheça Também) */
.nd{position:relative;}
.nd-t{display:inline-flex;align-items:center;gap:6px;cursor:pointer;color:#fff;font-size:14px;font-weight:600;transition:color .2s;text-shadow:0 1px 6px rgba(0,0,0,.4);white-space:nowrap;}
.nd-t:hover,.nd.open .nd-t{color:var(--cyan);}
.nd-t .car{border:solid currentColor;border-width:0 2px 2px 0;display:inline-block;padding:2.5px;transform:rotate(45deg);transition:transform .2s;margin-bottom:2px;}
.nd.open .nd-t .car{transform:rotate(-135deg);margin-bottom:-2px;}
.nd-m{position:absolute;top:calc(100% + 12px);left:0;min-width:240px;background:rgba(20,30,48,.97);backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,.12);border-radius:10px;box-shadow:0 16px 40px rgba(0,0,0,.4);overflow:hidden;padding:6px;
  opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-6px);transition:.2s;z-index:70;}
.nd.open .nd-m{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);}
.nd-m a{display:block;padding:11px 12px;border-radius:7px;color:#fff;font-size:14px;font-weight:500;white-space:nowrap;}
.nd-m a:hover{background:rgba(255,255,255,.12);color:var(--cyan);}
.nd-m .nd-h{font-size:10px;letter-spacing:1.5px;color:#8fa3bd;font-weight:800;text-transform:uppercase;padding:6px 12px 8px;}
.nd-m a.ext{display:flex;align-items:center;justify-content:space-between;gap:14px;}
.nd-m a.ext::after{content:"\2197";color:var(--cyan);font-weight:800;font-size:13px;opacity:.85;}
.nd-m a.ext .em{white-space:normal;}
.nd-m a.soon,.nd-m a.soon:hover{opacity:.55;background:none;color:#fff;cursor:default;}
.nd-m a .em{display:block;font-size:11px;color:#8fa3bd;font-weight:500;margin-top:2px;}

/* footer */
footer{background:var(--blue2);color:#fff;padding:70px 0;}
footer .row{display:flex;justify-content:space-between;align-items:flex-start;gap:36px;flex-wrap:wrap;}
footer h4{font-size:22px;margin-bottom:16px;letter-spacing:.5px;}
footer .ln{font-size:14px;color:#cfe6f6;margin:8px 0;display:block;transition:color .2s;}
footer a.ln:hover{color:#fff;}
footer .fu .lbl{font-weight:700;margin-bottom:14px;font-size:15px;}
footer .socials{display:flex;gap:14px;}
footer .socials a{width:48px;height:48px;border-radius:10px;background:rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;color:#fff;transition:.2s;}
footer .socials a:hover{background:var(--cyan);transform:translateY(-2px);}
footer .socials svg{width:25px;height:25px;}

/* scroll reveal */
.reveal{opacity:0;transform:translateY(28px) scale(.99);filter:blur(3px);transition:opacity .6s ease,transform .7s cubic-bezier(.2,.7,.3,1),filter .6s ease;will-change:opacity,transform,filter;}
.reveal.in{opacity:1;transform:none;filter:none;}
/* hero (primeira dobra) sempre visivel de imediato — nao espera o JS (melhora FCP/LCP) */
.hero .reveal{opacity:1;transform:none;filter:none;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .reveal{opacity:1!important;transform:none!important;filter:none!important;transition:none!important;}
}

/* scroll progress bar (topo) */
.scrollprog{position:fixed;top:0;left:0;height:3px;width:0;z-index:80;background:linear-gradient(90deg,var(--blue2),var(--cyan));box-shadow:0 0 10px rgba(44,172,226,.6);transition:width .08s linear;}

/* cursor spotlight nos cards (premium) */
.sol .card,.indcard,.diff .adv,.card,.featured{position:relative;}
.sol .card::after,.indcard::after,.diff .adv::after,.card::after,.featured::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s ease;z-index:1;
  background:radial-gradient(340px circle at var(--mx,50%) var(--my,50%),rgba(44,172,226,.16),transparent 60%);}
.sol .card:hover::after,.indcard:hover::after,.diff .adv:hover::after,.card:hover::after,.featured:hover::after{opacity:1;}

/* ---------- responsive header (mobile-first) ---------- */
@media (max-width:860px){
  .container{padding:0 22px;}
  header .bar{padding-top:22px;padding-bottom:16px;}
  header .logo img{height:70px;}
  header .navtoggle{display:block;}
  header nav{position:absolute;top:calc(100% + 6px);right:22px;flex-direction:column;align-items:stretch;gap:2px;
    background:rgba(20,30,48,.98);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.12);border-radius:12px;
    box-shadow:0 18px 44px rgba(0,0,0,.45);padding:8px;min-width:230px;
    opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px);transition:.2s;}
  header.navopen nav{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);}
  header nav a{padding:13px 14px;border-radius:8px;text-shadow:none;}
  header nav a:hover{background:rgba(255,255,255,.1);}
  /* dropdowns viram sublistas expandidas no menu mobile */
  header nav .nd{width:100%;}
  header nav .nd-t{padding:13px 14px;justify-content:space-between;width:100%;text-shadow:none;}
  header nav .nd-t .car{display:none;}
  /* visibility/pointer-events herdam do nav: menu fechado = invisível E inclicável
     (visibility:visible aqui furava o hidden do pai e criava links fantasma clicáveis) */
  header nav .nd-m,header nav .nd.open .nd-m{position:static;opacity:1;visibility:inherit;pointer-events:inherit;transform:none;background:none;border:0;box-shadow:none;padding:0 0 6px 12px;min-width:0;backdrop-filter:none;}
  header nav .nd-m a{padding:10px 14px;font-size:13.5px;}
}

/* ---------- mobile interaction (thumb-first) ---------- */
@media (max-width:760px){
  header .logo img{height:54px!important;}
  header .bar{padding-top:14px;padding-bottom:12px;}
  header .navtoggle{padding:8px 10px;}
}
/* CTA flutuante de WhatsApp na zona do polegar — só mobile (sem ícone, tom suave) */
.wafab{display:none;}
@media (max-width:760px){
  .wafab{display:inline-flex;align-items:center;justify-content:center;position:fixed;right:14px;bottom:14px;z-index:90;
    background:#1FAE54;color:#fff;font-weight:700;font-size:13.5px;line-height:1;padding:12px 18px;border-radius:30px;
    box-shadow:0 6px 18px rgba(0,0,0,.22);transition:transform .2s,box-shadow .2s;}
  .wafab:active{transform:scale(.97);}
}
/* mobile "soft" — reduz a escala dos títulos p/ a leitura não ficar gritando */
@media (max-width:760px){
  h1{font-size:clamp(24px,7vw,32px)!important;line-height:1.2!important;}
  h2{font-size:clamp(20px,5.6vw,26px)!important;line-height:1.25!important;}
  h3{font-size:clamp(16px,4.6vw,20px)!important;line-height:1.3!important;}
  p{line-height:1.7;}
}

/* aviso de cookies / consentimento (LGPD) — cartão discreto no canto inferior esquerdo */
.cookiebar{position:fixed;left:16px;bottom:16px;z-index:95;display:none;max-width:min(390px,calc(100vw - 96px));
  background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:14px;padding:18px 20px;
  box-shadow:0 18px 50px rgba(10,30,70,.22);font-size:13.5px;line-height:1.55;}
.cookiebar.show{display:block;}
.cookiebar #ck-text{display:block;margin-bottom:14px;}
.cookiebar .ck-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.cookiebar .ck-more{color:var(--blue2);font-weight:700;font-size:12.5px;text-decoration:underline;margin-right:auto;}
.cookiebar .ck-more:hover{color:var(--cyan);}
.cookiebar .ck-btn{background:var(--cyan);color:#fff;border:0;border-radius:7px;font-weight:800;font-size:12.5px;padding:9px 18px;cursor:pointer;font-family:inherit;transition:transform .15s,box-shadow .15s;}
.cookiebar .ck-btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(44,172,226,.4);}
.cookiebar .ck-btn.ghost{background:#eef3f8;color:var(--soft);}
.cookiebar .ck-btn.ghost:hover{background:#e2e9f2;color:var(--ink);box-shadow:none;}
@media (max-width:600px){.cookiebar{left:12px;bottom:12px;padding:15px 16px;max-width:calc(100vw - 84px);}}

/* link da Política de Privacidade no rodapé */
.fbot{margin-top:30px;padding-top:20px;border-top:1px solid rgba(255,255,255,.14);text-align:center;}
.fbot .fpriv{font-size:13px;color:#cfe6f6;transition:color .2s;}
.fbot .fpriv:hover{color:#fff;}

/* formulário "Fale com um especialista" (Netlify Forms) */
.ctt{background:var(--bg-soft);padding:96px 0;}
.ctt .row{display:grid;grid-template-columns:1fr 1.15fr;gap:56px;align-items:start;max-width:1080px;margin:0 auto;}
.ctt h2{color:var(--blue2);font-size:36px;font-weight:800;line-height:1.18;}
.ctt .acc{height:5px;width:72px;background:var(--cyan);margin:20px 0 22px;border-radius:3px;}
.ctt .sub{color:var(--soft);font-size:16px;line-height:1.75;margin:0 0 26px;}
.ctt .alt{color:var(--soft);font-size:14px;line-height:1.7;font-weight:700;}
/* botões de canal alternativo (WhatsApp / e-mail), claramente clicáveis */
.ctt .altbtns{display:flex;flex-direction:column;gap:12px;margin-top:14px;align-items:flex-start;}
.ctt .abtn{display:inline-flex;align-items:center;gap:12px;color:#fff;font-weight:800;font-size:14.5px;
  padding:14px 24px;border-radius:10px;transition:transform .2s,box-shadow .2s,filter .2s;}
.ctt .abtn svg{width:21px;height:21px;flex:0 0 auto;}
.ctt .abtn:hover{transform:translateY(-2px);filter:brightness(1.06);}
.ctt .abtn.wa{background:#1FAE54;box-shadow:0 10px 24px rgba(31,174,84,.35);}
.ctt .abtn.wa:hover{box-shadow:0 14px 30px rgba(31,174,84,.45);}
.ctt .abtn.mail{background:var(--blue2);box-shadow:0 10px 24px rgba(3,89,140,.3);}
.ctt .abtn.mail:hover{box-shadow:0 14px 30px rgba(3,89,140,.42);}
@media (max-width:860px){.ctt .abtn{width:100%;box-sizing:border-box;justify-content:center;}}
.ctt form{background:#fff;border:1px solid var(--line);border-radius:16px;padding:34px 34px 30px;box-shadow:0 18px 44px rgba(10,30,70,.1);}
.ctt label{display:block;color:var(--blue);font-size:13px;font-weight:800;letter-spacing:.3px;margin:0 0 7px;}
.ctt input,.ctt textarea{width:100%;box-sizing:border-box;background:#f8fafc;border:1px solid var(--line);border-radius:9px;
  padding:13px 15px;font-family:inherit;font-size:14.5px;color:var(--ink);margin-bottom:18px;transition:border-color .2s,box-shadow .2s;}
.ctt input:focus,.ctt textarea:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px rgba(44,172,226,.18);}
.ctt textarea{min-height:120px;resize:vertical;}
.ctt .btn{width:100%;border:0;font-family:inherit;font-size:15px;}
@media (max-width:860px){.ctt{padding:64px 0;} .ctt .row{grid-template-columns:1fr;gap:30px;} .ctt h2{font-size:27px;} .ctt form{padding:24px 20px;}}
