.marketing-site header { padding: 0; }
.marketing-site header > .container {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  padding: 0 16px;
}
.marketing-site header .navbar {
  padding: 0.45rem 0;
  gap: 16px;
  min-height: 60px;
}
.marketing-site header .brand { display: flex; align-items: center; gap: 8px; font-size: 1rem; }
.marketing-site header .brand-mark { width: 30px; height: 30px; margin-right: 0; flex-shrink: 0; }
.marketing-site header .brand small { font-size: 0.6rem; margin-top: 3px; }
.marketing-site header .nav-right { gap: 10px; flex-direction: row; }
.marketing-site header .nav-right .btn { padding: 8px 14px; font-size: 0.875rem; }
.marketing-site header .language-selector { padding: 6px 8px; font-size: 0.8rem; }
.header-menu-toggle { display: none; }
.header-menu-drawer {
  position: fixed; inset: 0; margin: 0; box-sizing: border-box;
  width: 100vw; height: 100dvh; max-height: 100dvh;
  max-width: 100vw; padding: 16px; border: 0;
  padding-bottom: max(16px, env(safe-area-inset-bottom));
  background: #f4f7f6; color: #2c3e50;
  box-shadow: -8px 0 32px rgba(0, 0, 0, 0.2);
}
.header-menu-drawer[open] { display: flex; flex-direction: column; gap: 24px; overflow-y: auto; overscroll-behavior: contain; }
.header-menu-drawer:focus { outline: none; }
html.header-menu-open, html.header-menu-open body { overflow: hidden; overscroll-behavior: none; }
.header-menu-top { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.header-menu-divider { height: 1px; width: 100%; background: #d9e1e6; flex-shrink: 0; }
.header-menu-top .brand { display: flex; align-items: center; gap: 8px; margin-right: auto; min-width: 0; color: #2c3e50; text-decoration: none; font-size: 0.9rem; }
.header-menu-top .brand-mark { width: 30px; height: 30px; margin: 0; flex-shrink: 0; }
.header-menu-top .brand strong { white-space: nowrap; }
.header-menu-top .brand small { display: block; font-size: 0.6rem; margin-top: 3px; }
.header-menu-drawer::backdrop { background: rgba(15, 23, 42, 0.55); }
.header-menu-close, .header-menu-toggle {
  border: 1px solid #b9c5cc; border-radius: 10px;
  background: #fff; color: #2c3e50; cursor: pointer; font: inherit;
}
.header-menu-close { width: 44px; height: 44px; padding: 0; flex-shrink: 0; border: 0; background: transparent; font-size: 30px; line-height: 1; }
.header-menu-drawer .marketing-nav { display: flex; flex-direction: column; gap: 16px; margin: 0 0 24px; }
.header-menu-drawer .marketing-nav a { color: #2c3e50; min-height: 44px; display: flex; align-items: center; }
.header-menu-drawer .nav-right { display: flex; flex-direction: column; align-items: stretch; gap: 16px; width: 100%; margin-top: auto; flex-shrink: 0; }
.header-menu-drawer .header-menu-top .language-selector { display: block; width: 80px; min-height: 44px; padding: 6px 2px; flex-shrink: 0; font-size: 0.8rem; background: #fff; color: #2c3e50; border-color: #b9c5cc; }
.header-menu-drawer .btn { display: flex; justify-content: center; min-height: 44px; padding: 10px 16px; }
.header-menu-toggle:focus-visible, .header-menu-close:focus-visible { outline: 2px solid #2c3e50; outline-offset: 3px; }
.header-menu-toggle:focus:not(:focus-visible), .header-menu-close:focus:not(:focus-visible) { outline: none; box-shadow: none; }
.header-menu-toggle, .header-menu-close { -webkit-tap-highlight-color: transparent; }
@media (max-width: 700px) {
  .marketing-site header .navbar { flex-wrap: nowrap; min-height: 56px; justify-content: space-between; }
  .marketing-site header .brand { font-size: 0.9rem; }
  .marketing-site header .marketing-nav { display: none; }
  .header-menu-toggle { display: grid; place-items: center; width: 44px; height: 44px; font-size: 24px; flex-shrink: 0; }
}
@media (max-width: 360px) {
  .header-menu-top { gap: 4px; }
  .header-menu-top .brand { font-size: 0.72rem; gap: 4px; }
  .header-menu-top .brand-mark { width: 26px; height: 26px; }
  .header-menu-drawer .header-menu-top .language-selector { width: 70px; }
}
.marketing-site header .brand, .header-menu-top .brand {
  text-decoration: none;
  color: #2c3e50;
}
.marketing-site header .brand strong, .header-menu-top .brand strong {
  color: #2c3e50;
  -webkit-text-fill-color: #2c3e50;
}
.portal-language-status { font-size: .8rem; max-width: 220px; margin: 0; color: #b42318; }
.portal-language-status:empty { display: none; }
.portal-language-bar { display: flex; justify-content: flex-end; padding: 12px 16px; gap: 12px; }
