.master-header { position: sticky; top: 0; z-index: 1000; background: var(--header-bg); backdrop-filter: blur(14px); border-bottom: 1px solid var(--border); }
.header-flex { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 12px 0; flex-wrap: wrap; }
.custom-logo-link img,.site-logo-text { display: block; }
.custom-logo-link img { max-height: 54px; width: auto; }
.site-logo-text { font-size: 1.35rem; font-weight: 900; letter-spacing: -.03em; }
.header-center { flex: 1 1 auto; }
.master-nav-list,.footer-menu { list-style: none; margin: 0; padding: 0; display: flex; gap: 22px; flex-wrap: wrap; }
.master-nav-list a,.footer-menu a { font-size: .84rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.master-nav-list a:hover,.master-nav-list a:focus-visible,.footer-menu a:hover,.footer-menu a:focus-visible,.social-link:hover,.social-link:focus-visible { color: var(--accent); }
.header-right { display: flex; align-items: center; gap: 14px; }
.social-link { display: inline-flex; opacity: .72; }
.site-footer { background: #fff; border-top: 1px solid var(--border); }
.footer-layout { display: flex; justify-content: space-between; gap: 20px; padding: 24px 0; flex-wrap: wrap; }
.footer-brand { margin: 0 0 6px; font-weight: 800; }
.footer-copy { margin: 0; }
@media (max-width: 1024px) {
  .header-center { width: 100%; order: 3; padding-top: 12px; border-top: 1px solid var(--border); overflow-x: auto; }
  .master-nav-list { min-width: max-content; flex-wrap: nowrap; }
}
