/* Shared header, loaded after the page styles. Navigation stays visible. */
.language-picker{position:relative;flex-shrink:0;font-family:'Source Sans 3',Arial,sans-serif}
.language-trigger{display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:9px 12px;border:1px solid #c69a4580;border-radius:9px;background:#ffffff08;color:#fff9e9;font-size:14px;line-height:1.3;cursor:pointer}
.language-trigger:hover,.language-trigger[aria-expanded="true"]{background:#ffffff12;border-color:#c69a45}
.language-trigger .icon{width:20px;height:20px;color:#e7bd67}
.language-chevron{color:#e7bd67;font-size:17px;line-height:1;transition:transform .15s}
.language-trigger[aria-expanded="true"] .language-chevron{transform:rotate(180deg)}
.language-menu{position:absolute;inset-inline-end:0;top:calc(100% + 10px);width:220px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 100px);overflow-y:auto;overscroll-behavior:contain;padding:7px;background:#f7f4eb;color:#123e3c;border:1px solid #c69a45;border-radius:12px;box-shadow:0 10px 28px #09274730;z-index:100}
.language-menu-heading{padding:7px 10px 9px;margin-bottom:4px;border-bottom:1px solid #c69a4538;font-size:12px;font-weight:600;color:#5b6d62}
.language-menu button{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;min-height:44px;padding:10px 12px;border:0;border-radius:7px;background:transparent;text-align:start;color:inherit;font-size:15px;line-height:1.4;cursor:pointer}
.language-menu button:hover,.language-menu button:focus-visible{background:#eadfc6;outline:2px solid #c69a45;outline-offset:-2px}
.language-menu button[aria-checked="true"]{background:#e2ebe4;color:#073f35;font-weight:600}
.language-check{color:#073f35;font-size:18px}
.language-trigger:focus-visible{outline:2px solid #e7bd67;outline-offset:4px}
@media(max-width:600px){.language-trigger{padding-inline:10px;gap:7px}.language-menu{width:210px}}
@media(prefers-reduced-motion:reduce){.language-chevron{transition:none}}
header.site-header {
 background-color:#F8F3E9;
 background-image:linear-gradient(100deg,#f8f3e9fa,#f8f3e9ef),url('assets/pattern.svg');
 display:grid;
 grid-template-columns:minmax(0,1fr) auto auto;
 grid-template-areas:"brand navigation tools";
 align-items:center;
 gap:24px;
 height:auto;
 min-height:84px;
 padding:14px clamp(16px,2.2vw,32px);
}
.site-header .brand {
 grid-area:brand;
 display:flex;
 align-items:center;
 gap:14px;
 min-width:0;
 max-width:none;
 margin:0;
 white-space:normal;
 font-size:clamp(22px,2.1vw,29px);
 line-height:1.2;
}
.site-header .brand > span:last-child { min-width:0; overflow-wrap:anywhere; }
.site-header .brand-artwork { display:block; min-width:0; }
.site-header .brand-logo { display:block; width:120px; max-width:100%; height:auto; direction:ltr; }
.site-header .brand-mark { width:52px; height:52px; flex-shrink:0; }
.site-header .brand small { font-size:9px; line-height:1.4; letter-spacing:2px; margin-top:5px; white-space:normal; }
.site-header .primary-navigation {
 grid-area:navigation;
 display:flex;
 align-items:stretch;
 justify-content:center;
 gap:6px;
 min-width:0;
 width:auto;
 margin:0;
 order:0;
 font:500 17px/1.35 'Source Serif 4',Georgia,serif;
}
.site-header .primary-navigation a {
 display:flex;
 align-items:center;
 justify-content:center;
 min-height:44px;
 padding:10px 12px;
 border-radius:7px;
 text-align:center;
 white-space:nowrap;
 color:#0F3D2E;
}
.site-header .primary-navigation a:hover { background:#0f3d2e0a; }
.site-header .primary-navigation a.active { background:#0f3d2e0a; color:#0F3D2E; }
.site-header .primary-navigation a.active::after { left:12px; right:12px; bottom:3px; background:#e7bd67; }
.site-header .header-tools { grid-area:tools; display:flex; gap:0; margin:0; min-width:0; }
.site-header .language { height:44px; padding:0 10px; gap:8px; border-color:#afb99a; }
.site-header .language select { width:48px; min-height:40px; cursor:pointer; }
.site-header a:focus-visible,.site-header select:focus-visible { outline:2px solid #ffe2a1; outline-offset:4px; }

@media(max-width:1100px) {
 header.site-header { grid-template-columns:minmax(0,1fr) auto; grid-template-areas:"brand tools" "navigation navigation"; gap:12px 20px; }
 .site-header .brand { font-size:25px; }
 .site-header .primary-navigation { width:100%; padding-top:9px; border-top:1px solid #c9a96a60; }
 .site-header .primary-navigation a { padding-inline:16px; }
}
@media(max-width:600px) {
 .site-header .brand-logo { width:96px; }
 header.site-header { padding:12px 16px 10px; gap:10px 12px; }
 .site-header .brand { font-size:19px; gap:9px; }
 .site-header .brand-mark { width:38px; height:38px; }
 .site-header .brand small { font-size:7px; letter-spacing:1px; }
 .site-header .primary-navigation { font-size:15px; gap:4px; padding-top:7px; }
 .site-header .primary-navigation a { padding:8px 10px; white-space:normal; }
 .site-header .language { padding-inline:8px; }
 .site-header .language .icon { width:19px; height:19px; }
}
@media(max-width:480px) {
 .site-header .primary-navigation { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
 .site-header .primary-navigation a { min-width:0; overflow-wrap:anywhere; }
}
/* The final green logo and header controls share a warm cream surface. */
.site-header .language-trigger{color:#0F3D2E;background:#0f3d2e05;border-color:#C9A96A}
.site-header .language-trigger:hover,.site-header .language-trigger[aria-expanded="true"]{background:#0f3d2e0c;border-color:#9b763b}
.site-header .language-trigger .icon,.site-header .language-chevron{color:#886429}
.site-header .language-trigger:focus-visible,.site-header a:focus-visible{outline-color:#0F3D2E}
