.site-header { border-bottom: 1px solid var(--color-border); }
.site-header__inner { min-height: 6.2rem; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; padding-block: 1rem; }
.site-header__nav { display: flex; align-items: center; gap: 1.8rem; flex-wrap: wrap; }
.site-header__link, .site-header__language { font-size: .9rem; text-decoration: none; }
.site-header__link:hover, .site-header__link[aria-current] { text-decoration: underline; }
.site-header__toggle { display: none; }
@media (max-width: 48rem) {
 .site-header__toggle { display: inline-flex; }
 .site-header__nav { width: 100%; align-items: stretch; flex-direction: column; gap: .35rem; }
 .site-header__nav a { padding: .8rem; }
 .site-header__nav--enhanced { display: none; }
 .site-header__toggle[aria-expanded="true"] + .site-header__nav { display: flex; }
}

/* Accessible native dialog: the browser traps focus and makes the page inert. */
.site-header__toggle { display:inline-flex; order:3; }
.site-header__nav { margin-left:auto; order:2; }
.site-header__dialog { box-sizing:border-box; width:min(38rem,calc(100% - 1.5rem)); max-height:calc(100dvh - 1.5rem); margin:auto; padding:clamp(1rem,3vw,2rem); border:1px solid #ffffffa6; border-radius:1.5rem; color:#12202e; background:#fff; box-shadow:0 24px 90px #00172355; overscroll-behavior:contain; scrollbar-width:thin; }
.site-header__dialog::backdrop { background:#10232bb5; backdrop-filter:blur(5px); }
.site-header__dialog-top { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-bottom:1.6rem; }
.site-header__dialog .brand { --brand-width:11rem; }

.site-header__close { display:grid; place-items:center; width:3rem; height:3rem; flex-shrink:0; padding:.7rem; border:0; border-radius:.85rem; background:#edf8ed; color:#103c2e; }
.site-header__close svg { width:1.5rem; height:1.5rem; stroke:currentColor; stroke-width:2; fill:none; }
.site-header__menu-items { display:grid; gap:.65rem; }
.site-header__menu-item { display:flex; align-items:center; gap:1rem; min-height:5rem; padding:.85rem; border-radius:.9rem; text-decoration:none; background:linear-gradient(120deg,#f6f8f8,#f9fafb); border:1px solid transparent; }
.site-header__menu-icon { display:grid; place-items:center; flex-shrink:0; width:3.4rem; height:3.4rem; border-radius:.8rem; background:#eaf6e9; color:#155437; }
.site-header__menu-icon svg { width:2rem; height:2rem; }
.site-header__menu-copy { min-width:0; }
.site-header__menu-copy strong { display:block; font-size:1.15rem; font-weight:750; line-height:1.25; }
.site-header__menu-copy > span { display:block; font-size:.9rem; line-height:1.4; color:#556173; margin-top:.2rem; }
.site-header__chevron { margin-left:auto; padding-left:.3rem; font-size:2rem; color:#526173; line-height:1; }
.site-header__menu-item:hover,.site-header__menu-item[aria-current="page"] { background:#f0f8f0; border-color:#d0e6d4; }
.site-header__menu-language { display:flex; align-items:center; gap:1rem; min-height:3.5rem; margin:1.2rem 0; padding:.7rem 1rem; border-block:1px solid #dde4e9; text-decoration:none; color:#4f5f6c; font-size:1rem; }
.site-header__menu-language svg { width:1.4rem; height:1.4rem; }
.site-header__menu-cta { position:relative; overflow:hidden; padding:1.5rem; border-radius:1rem; background:linear-gradient(90deg,#edf9ee,#edf9eee6 45%,#edf9ee33),url('/assets/images/journey/valley-flourishing.webp') center/cover; }
.site-header__menu-cta h2 { color:#104f37; font-size:clamp(1.8rem,5vw,2.4rem); margin:0 0 .6rem; }
.site-header__menu-cta p { max-width:20rem; color:#3a5260; font-size:1rem; line-height:1.45; margin-bottom:1rem; }
.site-header__menu-cta .button { width:min(100%,20rem); min-height:48px; background:#155b3d; border-color:#155b3d; border-radius:.75rem; }
@media(prefers-reduced-motion:no-preference) {
 .site-header__dialog[open] { animation:site-menu-in 180ms ease-out; }
 .site-header__menu-item { transition:background-color 160ms ease,border-color 160ms ease; }
}
@keyframes site-menu-in { from { opacity:.6; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:48rem) {
 .site-header__nav--enhanced { display:none!important; }
 .site-header__inner { flex-wrap:wrap; }
 .site-header__toggle { margin-left:auto; }
 .site-header__dialog { padding:1rem; border-radius:1.2rem; }
 .site-header__dialog-top { margin-bottom:1.1rem; }
 .site-header__dialog .brand { --brand-width:9rem; }
 .site-header__menu-item { gap:.7rem; padding:.7rem; min-height:4.7rem; }
 .site-header__menu-icon { width:2.7rem; height:2.9rem; }
 .site-header__menu-icon svg { width:1.65rem; height:1.65rem; }
 .site-header__menu-copy strong { font-size:1rem; }
 .site-header__menu-copy > span { font-size:.8rem; }
 .site-header__menu-cta { padding:1.2rem; }
}

/* Language remains available before opening the mobile menu, also without JS. */
.site-header__mobile-language { display: none; }
@media (max-width: 48rem) {
 .site-header__inner { column-gap: .5rem; }
 .site-header__mobile-language { display: inline-flex; align-items: center; justify-content: center; order: 2; margin-left: auto; min-width: 2.75rem; min-height: 2.75rem; padding: .5rem; border: 1px solid #d1e2d7; border-radius: .5rem; background: #f4f9f5; color: #205c40; font-size: .8rem; font-weight: 700; text-decoration: none; }
 .site-header__mobile-language:hover { background: #e5f1e7; border-color: #8cb99a; }
 .site-header__mobile-language:focus-visible { outline: 3px solid #23734e; outline-offset: 3px; }
 .site-header__toggle { margin-left: 0; }
 .site-header__nav { order: 4; }
}
@media (max-width: 23rem) {
 .site-header__inner > .brand { --brand-width:8rem; }
 
}
