/* OPRIVON V59: header branding 150% on desktop, responsive containment.
   Scoped to headers only. Footer, text content, navigation and SEO remain unchanged. */
/* Original desktop: 34px icon / 15px wordmark / 8px subline. */
.site-header { height: 96px; }
.site-header .header-inner { gap: clamp(16px, 2.3vw, 34px); }
.site-header .brand {
  gap: 16.5px;
  min-width: 0;
  flex-shrink: 0;
}
.site-header .brand-mark,
.site-header .brand-symbol {
  width: 51px;
  height: 51px;
}
.site-header .brand-copy { line-height: 1.05; }
.site-header .brand-copy strong {
  font-size: 22.5px;
  letter-spacing: .19em;
  white-space: nowrap;
}
.site-header .brand-copy small {
  font-size: 12px;
  letter-spacing: .25em;
  margin-top: 8px;
  white-space: nowrap;
}
.site-header .mobile-menu {
  inset: 96px 0 auto;
  height: calc(100vh - 96px);
  height: calc(100dvh - 96px);
}
/* V58 localized header: original 37px icon and 16px text. */
.head .headin { min-height: 96px; column-gap: 22px; }
.head .logo {
  font-size: 24px;
  gap: 18px;
  line-height: 1.08;
  white-space: nowrap;
}
.head .logo img { width: 55.5px; height: 55.5px; flex-shrink: 0; }
.head .logo .tag { font-size: .9rem; letter-spacing: .22em; }
.head nav { min-width: 0; }
@media (max-width: 1120px) {
  .site-header .header-inner { gap: 16px; }
  .site-header .header-actions { margin-left: auto; flex-shrink: 0; }
}
@media (max-width: 780px) {
  .head .headin { padding-block: 17px; row-gap: 16px; }
  .head nav { width: 100%; }
}
@media (max-width: 680px) {
  /* Original mobile: 31px mark / 13px wordmark / 7px subline. */
  .site-header { height: 86px; }
  .site-header .brand { gap: 12px; }
  .site-header .brand-mark,
  .site-header .brand-symbol { width: 46.5px; height: 46.5px; }
  .site-header .brand-copy strong { font-size: 19.5px; letter-spacing: .15em; }
  .site-header .brand-copy small { font-size: 10.5px; margin-top: 6px; letter-spacing: .20em; }
  .site-header .mobile-menu {
    inset: 86px 0 auto;
    height: calc(100vh - 86px);
    height: calc(100dvh - 86px);
  }
  .head .logo { font-size: 21px; gap: 13px; }
  .head .logo img { width: 48px; height: 48px; }
  .head .logo .tag { font-size: .79rem; }
}
@media (max-width: 360px) {
  /* Avoid collisions with hamburger menu on extra-narrow devices. */
  .site-header .brand { gap: 9px; }
  .site-header .brand-mark,
  .site-header .brand-symbol { width: 42px; height: 42px; }
  .site-header .brand-copy strong { font-size: 18px; letter-spacing: .12em; }
  .site-header .brand-copy small { font-size: 9.5px; letter-spacing: .15em; }
  .site-header .header-inner { gap: 10px; }
  .head .logo { font-size: 19px; gap: 10px; }
  .head .logo img { width: 43px; height: 43px; }
  .head .logo .tag { font-size: .72rem; }
}
