/* ============================================================
   AIX group — shared shell (base + header + lang + footer + reveal)
   Reutilizável por todas as páginas/seções do grupo AIX.
   ============================================================ */
: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 — transparent, embedded over hero/band */
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;transform:translateY(-6px);transition:.2s;}
.lang.open .menu{opacity:1;visibility:visible;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;transform:translateY(-6px);transition:.2s;z-index:70;}
.nd.open .nd-m{opacity:1;visibility:visible;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 a .em{display:block;font-size:11px;color:#8fa3bd;font-weight:500;margin-top:2px;white-space:normal;}
.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;}

/* 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;}
@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 care) ---------- */
@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;transform:translateY(-8px);transition:.2s;}
  header.navopen nav{opacity:1;visibility:visible;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;}
  header nav .nd-m{position:static;opacity:1;visibility:visible;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;}
}
