.site-header { border-bottom: 1px solid #eaecf0; background: #fff; }
.site-header__utility { border-bottom: 1px solid #f2f4f7; color: var(--color-muted); font-size: .72rem; }
.site-header__utility > div { display: flex; justify-content: space-between; padding-block: .45rem; }
.site-header__inner { min-height: 5rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.site-title { font-family: var(--font-heading); font-size: clamp(1.8rem, 4vw, 2.6rem); font-weight: 700; letter-spacing: -.04em; text-decoration: none; }
.custom-logo { display: block; max-height: 3rem; width: auto; }
.menu-toggle { display: none; }
.primary-navigation { display: none; }
.primary-navigation > ul { display: flex; justify-content: center; gap: 1.5rem; margin: 0; padding: .8rem 0; list-style: none; }
.primary-navigation li { position: relative; list-style: none; }
.primary-navigation a { font-size: .8rem; font-weight: 700; letter-spacing: .04em; text-decoration: none; text-transform: uppercase; }
.primary-navigation .sub-menu { position: absolute; z-index: 125; top: calc(100% + .8rem); left: 0; display: none; width: 15rem; margin: 0; padding: .55rem; border: 1px solid #e4e7ec; border-radius: .8rem; background: #fff; box-shadow: 0 14px 35px rgba(16,24,40,.16); }
.primary-navigation .sub-menu .sub-menu { top: -.55rem; left: calc(100% + .55rem); }
.primary-navigation .sub-menu a { display: block; padding: .7rem .8rem; border-radius: .5rem; text-transform: none; }
.primary-navigation .sub-menu a:hover, .primary-navigation .sub-menu a:focus-visible { background: #f2f4f7; }
.primary-navigation li:hover > .sub-menu, .primary-navigation li:focus-within > .sub-menu { display: block; }
.search-link { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; padding: 0; border: 0; border-radius: 50%; background: transparent; color: currentColor; cursor: pointer; }
.search-link:hover, .search-link:focus-visible, .search-link[aria-expanded="true"] { background: #f2f4f7; }
.search-link svg { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.header-search { position: relative; }
.header-search__panel { position: absolute; z-index: 150; top: calc(100% + .65rem); right: 0; width: min(32rem, calc(100vw - 2rem)); padding: .75rem; border: 1px solid #e4e7ec; border-radius: 1rem; background: #fff; box-shadow: 0 18px 50px rgba(16,24,40,.18); }
.header-search__panel[hidden] { display: none; }
.header-search__panel form { display: flex; gap: .55rem; }
.header-search__panel input { min-width: 0; flex: 1; padding: .8rem 1rem; border: 1px solid #d0d5dd; border-radius: .65rem; font: inherit; }
.header-search__panel button { padding: .8rem 1.15rem; border: 0; border-radius: .65rem; background: var(--color-primary); color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.site-header__actions { display: flex; align-items: center; gap: .75rem; }
.orbital-menu { position: static; }
.orbital-menu__toggle { position: fixed; z-index: 142; right: max(1.35rem, env(safe-area-inset-right)); bottom: max(1.35rem, env(safe-area-inset-bottom)); display: grid; place-items: center; width: 4.35rem; height: 4.35rem; padding: 0; border: 1px solid rgba(16,24,40,.06); border-radius: 50%; background: #fff; color: #101828; box-shadow: 0 10px 26px rgba(16,24,40,.28); cursor: pointer; transition: transform .2s ease, box-shadow .2s ease; }
.orbital-menu__toggle:hover, .orbital-menu__toggle:focus-visible { transform: translateY(-2px); box-shadow: 0 14px 32px rgba(16,24,40,.32); }
.orbital-icon--desktop { display: none; }
.orbital-menu__toggle > .orbital-icon--mobile { display: grid; grid-template-columns: repeat(2, .48rem); grid-template-rows: repeat(3, .48rem); gap: .28rem; transition: transform .2s ease; }
.orbital-menu__toggle i { width: .48rem; height: .48rem; border-radius: .13rem; background: currentColor; }
.orbital-menu__toggle[aria-expanded="true"] > .orbital-icon--mobile { transform: rotate(90deg); }
.orbital-menu__panel { position: fixed; z-index: 141; right: max(1.35rem, env(safe-area-inset-right)); bottom: calc(max(1.35rem, env(safe-area-inset-bottom)) + 5.15rem); width: min(23rem, calc(100vw - 2rem)); max-height: calc(100dvh - 8rem); overflow-y: auto; overscroll-behavior: contain; padding: 1rem; border: 1px solid rgba(16,24,40,.08); border-radius: 1.45rem; background: rgba(255,255,255,.98); box-shadow: 0 20px 55px rgba(16,24,40,.24); animation: orbital-in .18s ease-out both; }
.orbital-menu__panel[hidden] { display: none; }
.orbital-menu__title { display: block; padding: .2rem .35rem .9rem; font-family: var(--font-heading); font-size: 1.15rem; }
.orbital-menu__grid { display: flex; flex-direction: column; gap: .2rem; margin: 0; padding: 0; list-style: none; }
.orbital-menu__grid li { position: relative; min-width: 0; }
.orbital-menu__grid a { display: block; width: 100%; padding: .75rem 2.65rem .75rem .85rem; border-radius: .65rem; color: var(--color-text); font-size: .9rem; font-weight: 650; line-height: 1.25; text-align: left; text-decoration: none; }
.orbital-menu__grid a:hover, .orbital-menu__grid a:focus-visible { background: color-mix(in srgb, var(--color-primary) 9%, white); color: var(--color-primary); }
.orbital-submenu-toggle { position: absolute; top: .37rem; right: .35rem; display: grid; place-items: center; width: 2rem; height: 2rem; padding: 0; border: 0; border-radius: 50%; background: transparent; cursor: pointer; }
.orbital-submenu-toggle:hover, .orbital-submenu-toggle:focus-visible { background: #eaecf0; }
.orbital-submenu-toggle > span[aria-hidden="true"] { transition: transform .18s ease; }
.is-submenu-open > .orbital-submenu-toggle > span[aria-hidden="true"] { transform: rotate(180deg); }
.orbital-menu__grid .sub-menu { display: none; margin: 0 0 .2rem .8rem; padding: 0 0 0 .55rem; border-left: 1px solid #e4e7ec; list-style: none; }
.orbital-menu__grid .is-submenu-open > .sub-menu { display: block; }
.orbital-menu__grid .sub-menu a { padding-block: .58rem; font-size: .83rem; font-weight: 500; }
@keyframes orbital-in { from { opacity: 0; transform: translateY(.75rem) scale(.96); } to { opacity: 1; transform: none; } }
@media (min-width: 768px) {
	.orbital-menu { position: relative; }
	.orbital-menu__toggle { position: static; width: 2.9rem; height: 2.9rem; box-shadow: none; }
	.orbital-menu__toggle:hover, .orbital-menu__toggle:focus-visible { transform: none; box-shadow: none; background: #f2f4f7; }
	.orbital-menu__toggle > .orbital-icon--mobile { display: none; }
	.orbital-menu__toggle > .orbital-icon--desktop { display: flex; width: 1.45rem; flex-direction: column; gap: .25rem; }
	.orbital-menu__toggle > .orbital-icon--desktop i { width: 100%; height: .16rem; border-radius: 1rem; }
	.orbital-menu__panel { position: absolute; top: calc(100% + .65rem); right: 0; bottom: auto; width: 18rem; max-height: min(32rem, calc(100vh - 8rem)); }
}
.header-advertisement { padding-block: .75rem; border-top: 1px solid #f2f4f7; background: #fff; text-align: center; }
.header-advertisement__space { display: grid; width: min(calc(100% - 2rem), var(--ad-width)); min-height: var(--ad-height); margin-inline: auto; place-items: center; overflow: hidden; }
.header-advertisement--sticky { position: sticky; z-index: 90; top: 0; box-shadow: 0 8px 24px rgba(16,24,40,.06); }
.header-advertisement ins { margin-inline: auto; }
