/* One consistent header, with native disclosure menus as a no-script fallback. */
.site-header{position:sticky;top:0;z-index:10000;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;flex-wrap:nowrap;padding:17px max(24px,calc((100% - 1240px)/2));background:#103b32;border-bottom:1px solid #d6b76c66;box-shadow:0 4px 20px #071d171a;color:#fff}
.site-header .site-brand{display:inline-flex;align-items:center;gap:10px;color:#fff;white-space:nowrap;text-decoration:none;font-size:27px;font-family:Georgia,serif;font-weight:700;letter-spacing:.2px;line-height:1.1}
.site-header .brand-mark{display:block;width:44px;height:30px;object-fit:contain;flex-shrink:0}
.site-brand span{color:#d6b76c}
.site-header .site-brand-name{color:#fff}
.site-header .primary-navigation{display:flex;flex-wrap:nowrap;justify-content:center;gap:5px}
.site-header .nav-group{position:relative;margin:0;border:0;padding:0}
.site-header summary{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:12px 11px;cursor:pointer;list-style:none;border-radius:6px;font-size:14px;font-weight:650;line-height:1.4;white-space:nowrap;user-select:none}
.site-header summary::-webkit-details-marker{display:none}
.site-header summary:hover,.site-header .nav-group[open]>summary{background:#ffffff12;color:#f1d591}
.site-header .nav-chevron{display:block;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin:-3px 2px 0 3px;transition:transform .15s}
.site-header .nav-group[open]>summary .nav-chevron{transform:rotate(225deg);margin-top:3px}
.site-header .nav-dropdown{position:absolute;top:calc(100% + 10px);left:0;min-width:260px;width:max-content;max-width:min(340px,calc(100vw - 32px));padding:8px;margin:0;list-style:none;background:#fffdf7;color:#103b32;border:1px solid #e3dcc8;border-top:3px solid #d6b76c;border-radius:0 0 10px 10px;box-shadow:0 16px 38px #071d1733}
.site-header .nav-dropdown::before{content:"";position:absolute;left:0;right:0;top:-13px;height:13px}
.site-header .nav-dropdown a{display:block;color:#173f32;text-decoration:none;white-space:normal;margin:0;padding:11px 13px;border-radius:5px;font-size:14px;font-weight:550;line-height:1.45}
.site-header .nav-dropdown a:hover,.site-header .nav-dropdown a:focus-visible{background:#edf2e9;color:#103b32}
.site-header .nav-login{justify-self:end}
.site-header summary.login-button{background:#d6b76c;color:#103b32;padding:12px 17px;font-weight:800;gap:9px}
.site-header summary.login-button:hover,.site-header .nav-login[open]>summary{background:#e7cb87;color:#103b32}
.site-header .login-dropdown{left:auto;right:0;min-width:285px}
.site-header .login-dropdown strong{display:block;letter-spacing:0;font-size:15px}
.site-header .login-dropdown a span{display:block;margin-top:3px;color:#607366;font-size:12px;font-weight:400}
.site-header svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.site-header .site-menu-toggle{display:none}
.site-header :focus-visible{outline:3px solid #d6b76c;outline-offset:4px}
@media(min-width:961px) and (max-width:1180px){.site-header{gap:15px;padding-inline:22px}.site-header .site-brand{font-size:24px}.site-header .brand-mark{width:40px;height:28px}.site-header summary{padding:12px 8px;font-size:13px}.site-header .primary-navigation{gap:1px}}
@media(max-width:960px){
 .site-header{grid-template-columns:1fr auto auto;gap:12px;padding:14px 20px}
 .site-header .site-brand{font-size:24px}
 .site-header[data-enhanced] .site-menu-toggle{display:flex;align-items:center;justify-content:center;gap:7px;padding:11px 9px;background:transparent;color:#fff;border:1px solid #ffffff4d;border-radius:6px;font:650 13px/1.4 system-ui;cursor:pointer}
 .site-header .primary-navigation{grid-column:1/-1;grid-row:2;display:flex;flex-direction:column;gap:0;align-items:stretch;border-top:1px solid #ffffff26;padding:10px 0 0;max-height:calc(100dvh - 180px);overflow-y:auto}
 .site-header[data-enhanced]:not([data-menu-open]) .primary-navigation{display:none}
 .site-header .primary-navigation summary{font-size:15px;padding:14px 10px;border-radius:5px}
 .site-header .primary-navigation .nav-dropdown{position:static;width:100%;max-width:none;min-width:0;margin:4px 0 10px;box-shadow:none;border-radius:6px;border-top-width:1px;padding:6px}
 .site-header .nav-dropdown::before{display:none}
 .site-header .nav-login{grid-column:3;grid-row:1}
 .site-header summary.login-button{padding:11px 13px;font-size:14px}
 .site-header .login-dropdown{top:calc(100% + 15px);max-width:calc(100vw - 32px)}
 .site-header:not([data-enhanced]) .nav-login{grid-column:3}
}
@media(max-width:420px){.site-header{gap:8px;padding:12px 14px}.site-header .site-brand{font-size:19px;gap:6px}.site-header .brand-mark{width:30px;height:22px}.site-header .login-button svg{display:none}.site-header summary.login-button{padding:11px 12px}.site-header[data-enhanced] .site-menu-toggle{padding:11px 8px;gap:5px}}
@media(max-width:350px){.site-header .site-menu-toggle span{display:none}.site-header .site-brand{font-size:17px;gap:5px}.site-header .brand-mark{width:26px;height:20px}.site-header[data-enhanced] .site-menu-toggle{padding:11px 8px}}
.footer-brand{display:inline-flex;align-items:center;justify-content:center;gap:14px;color:#fff;text-decoration:none}
.footer-brand img{object-fit:contain}
.footer-brand strong{font:700 29px Georgia,serif;letter-spacing:.2px}
.footer-brand span{color:#d6b76c}
@media(prefers-reduced-motion:reduce){.site-header .nav-chevron{transition:none}}

.session-label{padding:12px 16px;overflow-wrap:anywhere;font-size:13px}.session-label span{display:block}.session-label strong{display:block}
