/* Header compartilhado. As demais seções mantêm os estilos originais. */
.header {
  background: var(--navy);
  border-bottom: 1px solid rgba(201, 169, 110, .18);
}

.header.scrolled {
  box-shadow: 0 5px 24px rgba(7, 15, 26, .2);
}

.header > .container { min-height: 82px; gap: 16px; }

/* Assinatura horizontal oficial, preservada em suas proporções originais. */
.cz-logo {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  width: 245px;
  height: 66px;
}

.cz-logo > img.cz-logo__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: left center;
  border-radius: 0;
}

.footer-brand img.cz-footer-logo {
  width: 285px;
  max-width: 100%;
  height: auto;
  object-fit: contain;
  border-radius: 0;
  filter: none;
  margin-bottom: 20px;
}

.header .desktop-nav { gap: 1px; }
.header .desktop-nav a { padding: 8px 10px; color: rgba(255, 255, 255, .82); white-space: nowrap; }
.header .desktop-nav a:hover, .header .desktop-nav a.active { color: var(--gold-light); }
.header .desktop-nav .cta-btn {
  margin-left: 10px;
  padding: 11px 17px;
  background: var(--gold);
  color: var(--navy);
  border: 1px solid var(--gold);
}
.header .desktop-nav .cta-btn:hover { background: var(--gold-light); color: var(--navy); }
.header .hamburger { align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
.header .hamburger span { background: var(--gold-light); }
.header a:focus-visible, .header button:focus-visible,
.mobile-menu a:focus-visible, .mobile-menu button:focus-visible {
  outline: 2px solid var(--gold-light);
  outline-offset: 5px;
}

.mobile-menu { overflow-y: auto; overscroll-behavior: contain; }
.mobile-menu-header { flex-shrink: 0; min-height: 83px; }
.mobile-menu nav { padding: 16px 24px; }
.mobile-menu nav a { padding: 10px 0; }
.mobile-menu-footer { padding-top: 16px; }

@media (min-width: 1024px) {
  .header > .container { min-height: 90px; }
}

/* O menu compacto evita apertar a assinatura horizontal em tablets. */
@media (min-width: 1024px) and (max-width: 1199px) {
  .header .desktop-nav { display: none; }
  .header .hamburger { display: flex; }
}

@media (max-width: 1199px) {
  .cz-logo { width: 216px; height: 58px; }
}

@media (max-width: 479px) {
  .header > .container { gap: 8px; }
  .mobile-menu-header { padding-left: 20px; padding-right: 20px; }
}
