/* Shared responsive navigation — canonical across all public pages */
@media (max-width: 767px) {
  .site-header { position: sticky !important; top: 0 !important; z-index: 1000 !important; padding: 0 !important; background: rgba(253,252,249,.97) !important; border-bottom: 1px solid var(--line, #e4dfd5) !important; backdrop-filter: blur(14px); }
  .site-header .nav { min-height: 64px !important; height: 64px !important; padding-top: 0 !important; padding-bottom: 0 !important; }
  .site-header .brand { min-width: 0; white-space: nowrap; }
  .site-header .nav-links { display: none !important; }
  .hamburger { display: flex !important; align-items: center !important; justify-content: center !important; flex-direction: column !important; gap: 5px !important; width: 42px !important; height: 42px !important; padding: 0 !important; border: 1px solid var(--line, #e4dfd5) !important; border-radius: 8px !important; background: #fff !important; box-shadow: none !important; flex: 0 0 42px; position: relative; z-index: 1002; }
  .hamburger span { display:block !important; width:18px !important; height:2px !important; margin:0 !important; border-radius:2px; background:var(--navy,#0f1e35) !important; transition:transform .22s ease,opacity .22s ease,width .22s ease; }
  .hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg) !important; }
  .hamburger.open span:nth-child(2) { opacity:0 !important; width:0 !important; }
  .hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg) !important; }
  .mobile-drawer { display:block !important; position:fixed !important; inset:64px 0 0 auto !important; width:min(88vw,360px) !important; height:calc(100dvh - 64px) !important; padding:0 !important; background:var(--paper,#fdfcf9) !important; z-index:1001 !important; overflow-y:auto !important; transform:translateX(105%) !important; transition:transform .28s cubic-bezier(.4,0,.2,1) !important; box-shadow:-18px 0 50px rgba(15,30,53,.14); visibility:visible !important; }
  .mobile-drawer.open { transform:translateX(0) !important; }
  .drawer-backdrop { display:block !important; position:fixed !important; inset:64px 0 0 !important; z-index:1000 !important; background:rgba(15,30,53,.48) !important; opacity:0 !important; visibility:hidden !important; pointer-events:none !important; transition:opacity .28s ease,visibility .28s ease !important; }
  .drawer-backdrop.open { opacity:1 !important; visibility:visible !important; pointer-events:auto !important; }
  .drawer-nav { display:flex !important; flex-direction:column !important; gap:0 !important; padding:14px 20px 30px !important; }
  .drawer-link { display:flex !important; align-items:center !important; min-height:52px !important; padding:14px 4px !important; border-bottom:1px solid var(--line,#e4dfd5) !important; color:var(--ink,#1c2b3a) !important; font-size:15px !important; font-weight:600 !important; text-decoration:none !important; }
  .drawer-ctas { display:grid !important; gap:10px !important; margin-top:22px !important; }
  .drawer-btn { display:flex !important; align-items:center !important; justify-content:center !important; width:100% !important; min-height:50px !important; padding:14px 18px !important; border-radius:7px !important; font-size:15px !important; font-weight:700 !important; text-decoration:none !important; }
  .drawer-ctas .btn-gold,
  .drawer-ctas .button-green.btn-gold {
    background: var(--gold, #c9973a) !important;
    border-color: var(--gold, #c9973a) !important;
    color: #0f1e35 !important;
    box-shadow: none !important;
  }
  .drawer-ctas .btn-gold:hover,
  .drawer-ctas .button-green.btn-gold:hover {
    background: var(--gold2, #e8b95a) !important;
    border-color: var(--gold2, #e8b95a) !important;
  }
  body.menu-open { overflow:hidden !important; touch-action:none; }
}
@media (min-width: 768px) {
  .mobile-drawer,.drawer-backdrop { display:none !important; }
}


/* Canonical desktop header alignment */
@media (min-width: 768px) {
  .site-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
    padding: 0 !important;
    background: rgba(253,252,249,.96) !important;
    border-bottom: 1px solid var(--line,#e4dfd5) !important;
    backdrop-filter: blur(14px);
  }
  .site-header .nav {
    width: 100% !important;
    min-height: 72px !important;
    height: 72px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 28px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .site-header .brand {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    line-height: 1 !important;
    font-size: 20px !important;
  }
  .site-header .brand-seal {
    width: 36px !important;
    height: 36px !important;
    border-radius: 8px !important;
    flex: 0 0 36px !important;
  }
  .site-header .nav-links {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;
    gap: clamp(16px,2vw,28px) !important;
    margin-left: auto !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    font-size: 14px !important;
  }
  .site-header .nav-links a {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 40px !important;
  }
  .hamburger { display: none !important; }
}
@media (min-width: 768px) and (max-width: 980px) {
  .site-header .nav { gap: 18px !important; }
  .site-header .nav-links { gap: 13px !important; font-size: 12px !important; }
  .site-header .brand { font-size: 18px !important; }
}


/* MeuContrato brand assets v17 */
.brand-seal, .brand-mark {
  background: #fff url('/img/brand-mark.png') center/cover no-repeat !important;
  border: 1px solid rgba(15,30,53,.10) !important;
  box-shadow: 0 4px 14px rgba(15,30,53,.12) !important;
  overflow: hidden !important;
}
.brand-seal svg, .brand-mark svg { opacity: 0 !important; }

/* MeuContrato unified image logo */
.site-header .brand-logo {
  display: block !important;
  width: 188px !important;
  height: auto !important;
  max-height: 46px !important;
  object-fit: contain !important;
}
@media (max-width: 767px) {
  .site-header .brand-logo { width: 166px !important; max-height: 42px !important; }
}
@media (min-width: 768px) and (max-width: 980px) {
  .site-header .brand-logo { width: 156px !important; }
}
