/* ===== HEADER mega-menu (estilo Alice) — compartilhado: oficial + variantes =====
   Transparente sobre o hero escuro; vira sólido branco ao rolar (classe .scrolled via script.js). */
.ah-header{position:fixed;top:0;left:0;right:0;background:transparent;border-bottom:1px solid transparent;transition:background .28s,box-shadow .28s,border-color .28s;z-index:80}
.ah-header .bar{display:flex;align-items:center;gap:26px;height:112px}
.ah-header .brand-logo{height:98px;width:auto;filter:brightness(0) invert(1);transition:filter .28s,height .28s}
.ah-header.scrolled .bar{height:88px}
.ah-header.scrolled .brand-logo{height:76px}
@media(max-width:1000px){.ah-header .brand-logo,.ah-header.scrolled .brand-logo{height:58px}}
.ah-header .nav{margin:0 auto;display:flex;align-items:center;gap:30px}
.ah-header .nav>a,.ah-header .has-drop>a{font-family:var(--ff-body);font-weight:500;font-size:15.5px;color:#fff;display:inline-flex;align-items:center;gap:6px;padding:8px 0;position:relative;transition:color .2s}
.ah-header .nav>a:hover,.ah-header .has-drop>a:hover{color:#8ff3ff}
.ah-header .burger span{background:#fff}
/* estado rolado: sólido branco, texto navy, logo colorida */
.ah-header.scrolled{background:#fff;box-shadow:0 10px 30px rgba(21,38,63,.08);border-bottom-color:rgba(21,38,63,.07)}
.ah-header.scrolled .brand-logo{filter:none}
.ah-header.scrolled .nav>a,.ah-header.scrolled .has-drop>a{color:var(--navy)}
.ah-header.scrolled .nav>a:hover,.ah-header.scrolled .has-drop>a:hover{color:var(--brand)}
.ah-header.scrolled .burger span{background:var(--navy)}
.ah-header .has-drop>a .cx{font-style:normal;font-size:16px;transform:rotate(90deg);transition:.2s;opacity:.6}
.ah-header .has-drop:hover>a .cx{transform:rotate(-90deg)}
.ah-header .ah-quote{background:var(--brand);color:#fff;border-radius:999px;padding:12px 22px;font-family:var(--ff-body);font-weight:600;font-size:15px;box-shadow:none;transition:.2s;border:0}
.ah-header .ah-quote:hover{background:var(--brand-dark);transform:translateY(-1px)}
.ah-header .nav>a.mob-only{display:none}
.ah-header .header-cta{display:flex;align-items:center;gap:12px}

/* dropdowns */
.ah-header .has-drop{position:relative}
.ah-header .drop{position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(8px);background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 30px 70px rgba(21,38,63,.18);padding:14px;min-width:240px;opacity:0;visibility:hidden;transition:.22s;z-index:60}
.ah-header .has-drop:hover .drop{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.ah-header .drop:before{content:"";position:absolute;top:-18px;left:0;right:0;height:18px}
.ah-header .drop>a{display:block;padding:11px 14px;border-radius:12px;font-size:15px;color:var(--navy);font-weight:500}
.ah-header .drop>a:hover{background:var(--soft);color:var(--brand)}
/* mega dropdown de planos: 2 colunas + rodapé com CTA (limpo e equilibrado) */
.ah-header .mega-drop{display:block;width:560px;max-width:calc(100vw - 32px);left:0;transform:translateX(-30%) translateY(8px);padding:20px}
.ah-header .mega:hover .mega-drop{transform:translateX(-30%) translateY(0)}
.ah-header .mega-drop .mcols{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px}
/* telas médias (1001-1200): mega fixo a 16px da borda, nunca estoura */
@media(min-width:1001px) and (max-width:1200px){
  .ah-header .has-drop.mega .mega-drop{position:fixed;top:70px;left:16px;right:auto;width:min(560px,calc(100vw - 32px));transform:translateY(6px)}
  .ah-header .has-drop.mega:hover .mega-drop{transform:translateY(0)}
  .ah-header .mega-drop:before{top:-70px;height:70px}
}
.ah-header .mcol{padding:4px 2px}
.ah-header .mcap{display:block;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-dark);font-weight:700;margin-bottom:6px;padding:0 8px}
.ah-header .mcol>a{display:block;padding:9px 10px;border-radius:12px}
.ah-header .mcol>a b{display:block;font-family:var(--ff-head);font-weight:600;font-size:15px;color:var(--navy);line-height:1.2}
.ah-header .mcol>a span{font-size:12px;color:var(--muted)}
.ah-header .mcol>a:hover{background:var(--soft)}
.ah-header .mfoot{display:flex;align-items:center;gap:16px;margin-top:12px;padding:14px 16px;background:var(--soft);border-radius:14px}
.ah-header .mfoot-txt b{display:block;font-family:var(--ff-head);font-weight:700;font-size:14.5px;color:var(--navy)}
.ah-header .mfoot-txt span{font-size:12.5px;color:var(--muted);line-height:1.35}
.ah-header .mfoot .ah-quote{margin-left:auto;white-space:nowrap;flex:none}

/* mobile */
@media(max-width:1000px){
  .ah-header .bar{height:62px}
  /* no topo (transparente) a barra recebe um leve fundo pra não vazar sobre a foto */
  .ah-header{background:rgba(15,26,45,.28);-webkit-backdrop-filter:saturate(120%) blur(2px);backdrop-filter:saturate(120%) blur(2px)}
  .ah-header.scrolled{background:#fff}
  /* painel do menu: escondido por padrão, ocupa a tela e rola internamente */
  .ah-header .nav{display:none;position:fixed;top:62px;left:0;right:0;bottom:auto;margin:0;flex-direction:column;align-items:stretch;gap:0;background:#fff;padding:8px 20px 40px;height:calc(100vh - 62px);height:calc(100dvh - 62px);overflow-y:auto;-webkit-overflow-scrolling:touch;box-shadow:0 24px 40px rgba(21,38,63,.16)}
  .ah-header .nav.open{display:flex}
  .ah-header .nav>a,.ah-header .has-drop>a{font-size:16.5px;font-weight:600;padding:16px 2px;border-bottom:1px solid var(--line);width:100%;color:var(--navy)}
  .ah-header .has-drop>a{justify-content:space-between}
  .ah-header .has-drop>a .cx{margin-left:auto;transform:rotate(90deg);transition:transform .2s}
  .ah-header .has-drop.open>a .cx{transform:rotate(-90deg);color:var(--brand)}
  /* acordeão: dropdowns ficam ocultos até abrir a seção */
  .ah-header .has-drop .drop,.ah-header .has-drop .mega-drop{display:none;position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;min-width:0;padding:2px 0 10px;background:transparent}
  .ah-header .has-drop.open .drop,.ah-header .has-drop.open .mega-drop{display:block}
  .ah-header .mega-drop{width:auto;left:0;padding:2px 0 10px}
  .ah-header .mega-drop .mcols{grid-template-columns:1fr;gap:0}
  /* impede o transform do :hover "grudar" no toque e empurrar o conteúdo */
  .ah-header .mega:hover .mega-drop,.ah-header .has-drop.open .mega-drop,.ah-header .has-drop:hover .drop{transform:none}
  .ah-header .mcol{padding:6px 0}
  .ah-header .mcap{margin-top:10px}
  .ah-header .drop>a{padding:12px 10px;border-bottom:0}
  .ah-header .mfoot{margin-top:10px;flex-direction:column;align-items:stretch;gap:12px;text-align:center}
  .ah-header .mfoot .ah-quote{margin:0}
  .ah-header .nav>a.mob-only{display:block;background:var(--brand);color:#fff;text-align:center;border-radius:999px;padding:15px;margin-top:18px;font-weight:600;border:0}
  .ah-header .header-cta .ah-quote{display:none}
}

/* páginas internas (header fixo transparente sobre o page-hero escuro) */
.page-hero{padding-top:140px}
@media(max-width:1000px){.page-hero{padding-top:96px}}

/* trava o scroll do fundo enquanto o menu mobile está aberto */
body.nav-lock{overflow:hidden}

/* burger vira "X" quando o menu abre */
.ah-header .burger{position:relative;z-index:90}
.ah-header .burger span{transition:transform .25s ease,opacity .2s ease}
.ah-header .burger.is-x span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.ah-header .burger.is-x span:nth-child(2){opacity:0}
.ah-header .burger.is-x span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
.ah-header .burger.is-x span{background:var(--navy)}

/* âncoras: compensa o header fixo pra o TÍTULO da seção aparecer (não o 1º campo) */
#cotacao,#planos,#hospitais,#contato-form,#solucoes,#quem-somos{scroll-margin-top:132px}
/* como-trabalhamos usa âncora no próprio título (dentro do padding da seção), então compensa só o header */
#como-trabalhamos{scroll-margin-top:104px}
@media(max-width:1000px){#cotacao,#planos,#hospitais,#contato-form,#solucoes,#quem-somos{scroll-margin-top:80px}#como-trabalhamos{scroll-margin-top:74px}}

/* links de Soluções direto no mega-drop (novo nav) */
.ah-header .mega-drop .mcols>a{display:block;padding:10px 12px;border-radius:12px}
.ah-header .mega-drop .mcols>a b{display:block;font-family:var(--ff-head);font-weight:600;font-size:15px;color:var(--navy);line-height:1.2}
.ah-header .mega-drop .mcols>a span{font-size:12px;color:var(--muted)}
.ah-header .mega-drop .mcols>a:hover{background:var(--soft)}
