/* Desktop primary navigation: visible ≥1024px; hamburger reserved for smaller viewports.
   header.site-header matches index .header band: 80px height, 40px horizontal inset. */
:root {
--site-nav-desktop-bp: 1024px;
--site-nav-link-pad-y: 8px;
--site-nav-link-pad-x: 12px;
--site-header-band-height: 80px;
--site-header-inline-pad: 40px;
}

.site-nav-desktop {
display: none;
}

@media (min-width: 1024px) {
.site-nav-desktop {
display: flex;
flex-direction: row;
flex-wrap: wrap;
align-items: center;
justify-content: flex-end;
gap: 2px;
list-style: none;
margin: 0;
padding: 0;
pointer-events: auto;
}

.site-nav-desktop a {
font-family: 'Inter', system-ui, sans-serif;
font-size: 15px;
font-weight: 600;
letter-spacing: 0.02em;
text-decoration: none;
color: #ffffff;
padding: var(--site-nav-link-pad-y) var(--site-nav-link-pad-x);
border-radius: 8px;
line-height: 1.2;
-webkit-tap-highlight-color: transparent;
transition: background-color 0.15s ease, color 0.15s ease, opacity 0.15s ease;
}

.site-nav-desktop a:hover {
background-color: rgba(255, 255, 255, 0.12);
}

.site-nav-desktop a:focus-visible {
outline: 2px solid rgba(33, 201, 238, 0.85);
outline-offset: 2px;
}

.site-nav-desktop a[aria-current="page"] {
text-decoration: underline;
text-underline-offset: 6px;
text-decoration-thickness: 2px;
}

body.nav-dark .site-nav-desktop a {
color: #0d3b66;
}

body.nav-dark .site-nav-desktop a:hover {
background-color: rgba(13, 59, 102, 0.08);
}

body.nav-dark .site-nav-desktop a:focus-visible {
outline-color: #0d3b66;
}

header.site-header .site-nav-desktop {
position: fixed;
top: 0;
right: 0;
z-index: 30000;
height: var(--site-header-band-height);
max-height: var(--site-header-band-height);
padding-right: calc(var(--site-header-inline-pad) + env(safe-area-inset-right, 0px));
padding-left: 12px;
box-sizing: border-box;
align-items: center;
justify-content: flex-end;
max-width: min(72vw, 560px);
}

header.site-header .back-button {
top: calc((var(--site-header-band-height) - 32px) / 2);
left: calc(var(--site-header-inline-pad) + env(safe-area-inset-left, 0px));
}

.header .site-nav-desktop {
position: relative;
flex: 1 1 auto;
justify-content: flex-end;
min-width: 0;
max-width: none;
top: auto;
right: auto;
z-index: auto;
}

header.site-header .hamburger-menu,
.header .hamburger-menu {
display: none;
}

/* Property pages ship large bundles (e.g. xyz-optimized.css); pin metrics so global nav does not reflow. */
header.site-header nav.site-nav-desktop a {
font-size: 15px;
font-weight: 600;
line-height: 1.2;
letter-spacing: 0.02em;
}

header.site-header nav.site-nav-desktop a[aria-current="page"] {
font-weight: 600;
}
}
