/* Shared header: editorial logo, restrained sans-serif navigation. */
.site-header,
.home-page .site-header,
.partnership-page .site-header,
.contact-page .site-header,
.project-page .site-header {
 height:74px;
 padding:0 clamp(24px,2.4vw,48px);
 gap:24px;
 background:#03111b;
 border-bottom:1px solid #ffffff14;
}
.site-header .brand { width:220px; min-width:0; flex:0 0 220px; padding:0; }
.site-header .primary-nav {
 display:flex;
 flex:1;
 justify-content:center;
 gap:40px;
}
.site-header .primary-nav a,
.site-header .favorite-link,
.site-header .header-actions>.btn {
 font:500 14px/20px 'Manrope',Arial,sans-serif;
 letter-spacing:0;
}
.site-header .primary-nav a { color:#e8e6e1; }
.site-header .primary-nav a:hover,
.site-header .primary-nav a.active { color:#fff; }
.site-header .primary-nav a.active::after {
 width:28px;
 height:2px;
 left:50%;
 right:auto;
 bottom:16px;
 transform:translateX(-50%);
 background:#d9bd8b;
 border-radius:0;
 box-shadow:none;
}
.site-header .header-actions { gap:12px; margin-left:0; }
.site-header .search-link { width:28px; margin:0; color:#e8e6e1; }
.site-header .favorite-link {
 height:44px;
 min-width:0;
 padding:0 12px;
 color:#e8e6e1;
 border:1px solid #ffffff2b;
 border-radius:2px;
}
.site-header .favorite-link:hover { color:#fff; border-color:#ffffff66; }
.site-header .favorite-link .icon { color:#d9bd8b; width:18px; height:18px; }
.site-header .header-actions>.btn {
 height:44px;
 min-height:44px;
 min-width:146px;
 padding:0 20px;
 gap:10px;
 color:#111820;
 background:#d9bd8b;
 border:1px solid #d9bd8b;
 border-radius:2px;
 box-shadow:none;
}
.site-header .header-actions>.btn:hover { background:#e4c99a; border-color:#e4c99a; filter:none; }
.site-header .header-actions>.btn>.icon { display:block; width:18px; height:18px; }
.site-header .mobile-menu { display:none; }
.anchor-nav { top:74px; }
@media(min-width:1200px) and (max-width:1399px) {
 .site-header .brand { width:190px; flex-basis:190px; }
 .site-header .brand>span { font-size:23px; }
}
@media(min-width:1200px) and (max-width:1359px) {
 .site-header .favorite-link { width:44px; justify-content:center; padding:0; }
 .site-header .favorite-link span,.site-header .favorite-link small { display:none; }
}
@media(max-width:1199px) {
 .site-header,.home-page .site-header,.partnership-page .site-header,
 .contact-page .site-header,.project-page .site-header { height:68px; gap:12px; }
 .site-header .brand { width:auto; flex:1; }
 .site-header .brand>span { font-size:22px; }
 .site-header .brand>small { font-size:6px; }
 .site-header .mobile-menu { display:flex; width:36px; min-height:44px; }
 .site-header .favorite-link,.site-header .search-link { display:none; }
 .site-header .header-actions>.btn { display:inline-flex; min-width:146px; }
 .site-header .primary-nav {
  position:absolute;
  top:100%;
  left:0;
  right:0;
  height:auto;
  max-height:calc(100dvh - 68px);
  overflow-y:auto;
  display:none;
  flex-direction:column;
  align-items:stretch;
  gap:40px;
  padding:20px 24px;
  background:#03111b;
  border-bottom:1px solid #ffffff20;
 }
 .site-header .primary-nav.open { display:flex; }
 .site-header .primary-nav a { padding:10px 0; min-height:44px; flex-shrink:0; }
 .site-header .primary-nav a.active::after { left:0; bottom:0; transform:none; }
 .site-header .primary-nav a.mobile-partner-login { display:flex; color:#e8e6e1; margin:0; border:0; }
 .site-header .primary-nav a.mobile-partner-login:hover { color:#fff; }
 .anchor-nav { top:68px; }
}
@media(max-width:480px) {
 .site-header,.home-page .site-header,.partnership-page .site-header,
 .contact-page .site-header,.project-page .site-header { padding:0 16px; gap:8px; }
 .site-header .brand>span { font-size:20px; }
 .site-header .brand>small { font-size:5px; }
 .site-header .header-actions>.btn { min-width:128px; padding:0 12px; }
}
