/* ST header proposal. Scope: the replacement header and its document offset only. */
body:has(#st-site-header) #page-container { padding-top: 0 !important; overflow: visible !important; }
.st-site-header { --st-ink:#173743; --st-surface:#fff; --st-line:#dce5e8; --st-hover:#eef4f5; position:sticky; top:0; z-index:99999; width:100%; background:var(--st-surface); color:var(--st-ink); box-shadow:0 1px 0 #17374320; font-family:Heebo,Helvetica,Arial,sans-serif; }
.st-site-header *, .st-site-header *::before, .st-site-header *::after { box-sizing:border-box; }
.st-site-header [hidden] { display:none !important; }
.st-utility { background:#173743; color:#fff; }
.st-utility-inner { max-width:1280px; margin:auto; padding:8px 32px; display:flex; justify-content:space-between; align-items:center; gap:4px 20px; font-size:14px; line-height:22px; }
.st-utility-inner a { color:#fff !important; font-size:16px; font-weight:700; text-decoration:none; }
.st-header-row { max-width:1280px; min-height:188px; padding:14px 32px; margin:auto; display:flex; align-items:center; gap:32px; }
.st-brand { display:flex; align-items:center; flex:none; }
.st-brand img { display:block; width:160px !important; height:160px !important; max-width:none; max-height:none; object-fit:contain; }
#st-navigation { flex:1; min-width:0; }
#st-primary-links { padding:0; margin:0; display:flex; align-items:center; justify-content:flex-end; gap:18px; list-style:none; }
.st-site-header .st-nav-item { position:relative; padding:0; margin:0; display:flex; align-items:center; flex-wrap:wrap; list-style:none; }
.st-site-header .st-nav-item > a { color:var(--st-ink); font-size:20px; line-height:1.35; font-weight:600; text-decoration:none; padding:12px 0; white-space:nowrap; }
.st-site-header button { appearance:none; border:0; border-radius:5px; background:transparent; color:var(--st-ink); font:600 18px/1.3 Heebo,Helvetica,Arial,sans-serif; cursor:pointer; }
.st-site-header a:focus-visible,.st-site-header button:focus-visible,.st-site-header input:focus-visible { outline:3px solid #1677ac; outline-offset:4px; }
.st-site-header .st-nav-item > a:hover { text-decoration:underline; text-underline-offset:5px; }
.st-submenu-toggle { width:26px; height:44px; display:grid; place-content:center; padding:0; margin:0 0 0 2px; }
.st-chevron { display:block; width:7px; height:7px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); margin-top:-4px; }
.st-submenu-toggle[aria-expanded=true] .st-chevron { transform:rotate(225deg); margin-top:4px; }
.st-site-header .st-submenu { position:absolute; top:100%; left:-18px; width:290px; padding:10px 18px; margin:0; list-style:none; background:var(--st-surface); border:1px solid var(--st-line); border-top:3px solid #507587; box-shadow:0 12px 28px #17374326; border-radius:0 0 8px 8px; }
.st-site-header .st-nav-item:last-child > .st-submenu { left:auto; right:0; }
.st-site-header .st-submenu .st-nav-item { display:block; }
.st-site-header .st-submenu .st-nav-item > a { display:block; white-space:normal; font-size:17px; line-height:1.4; padding:11px 2px; }
.st-header-actions { flex:none; display:flex; align-items:center; gap:8px; }
.st-site-header .st-search-toggle { font-size:18px; padding:12px 0; }
.st-site-header .st-menu-toggle { display:none; border:1px solid var(--st-line); padding:10px 14px; min-height:44px; }
.st-search-panel { position:absolute; top:100%; left:0; right:0; padding:22px max(24px,calc((100% - 1216px)/2)); background:var(--st-surface); border-top:1px solid var(--st-line); box-shadow:0 10px 24px #17374320; }
.st-search-panel label { display:block; font-size:18px; font-weight:600; margin-bottom:8px; }
.st-search-fields { display:flex; gap:10px; }
.st-search-fields input { width:100%; min-width:0; border:1px solid #80969f; border-radius:5px; font:18px/1.4 Heebo,Helvetica,Arial,sans-serif; padding:10px 12px; color:#173743; background:white; }
.st-search-fields button { background:#173743; color:white; padding:10px 20px; }
@media (min-width:1181px) and (max-width:1399px) {
  .st-header-row { gap:22px; padding-inline:24px; }
  #st-primary-links { gap:14px; }
  .st-site-header .st-nav-item > a { font-size:18px; }
  .st-submenu-toggle { width:24px; }
}
@media (max-width:1180px) {
  .st-header-row { min-height:152px; padding:12px 24px; justify-content:space-between; gap:20px; }
  .st-brand img { width:128px!important; height:128px!important; }
  .st-site-header .st-menu-toggle { display:block; }
  #st-navigation { position:absolute; top:100%; left:0; right:0; display:none; max-height:calc(100dvh - var(--st-header-height,164px) - 12px); overflow-y:auto; overscroll-behavior:contain; background:var(--st-surface); border-top:1px solid var(--st-line); box-shadow:0 12px 24px #17374326; padding:8px 24px 20px; }
  .st-site-header[data-menu-open=true] #st-navigation { display:block; }
  #st-primary-links { display:block; }
  .st-site-header .st-nav-item { border-bottom:1px solid var(--st-line); }
  .st-site-header .st-nav-item > a { flex:1; display:block; white-space:normal; font-size:20px; line-height:1.4; padding:14px 4px; }
  .st-site-header .st-submenu-toggle { width:48px; height:48px; margin:0; }
  .st-site-header .st-submenu { position:static; width:100%; flex-basis:100%; padding:0 10px 10px 20px; border:0; box-shadow:none; border-radius:0; background:var(--st-hover); }
  .st-site-header .st-submenu .st-nav-item { border:0; }
  .st-site-header .st-submenu .st-nav-item > a { font-size:18px; padding:12px 4px; }
}
@media (max-width:600px) {
  .st-utility-inner { padding:7px 20px; flex-wrap:wrap; justify-content:center; gap:0 16px; font-size:13px; line-height:21px; text-align:center; }
  .st-utility-inner a { font-size:15px; }
  .st-header-row { min-height:148px; padding:10px 20px; gap:12px; }
  .st-header-actions { gap:10px; }
  .st-site-header .st-search-toggle { font-size:16px; }
  .st-site-header .st-menu-toggle { font-size:17px; }
}
/* WP Dark Mode owns the page theme; these variables keep header contrast coherent. */
html[data-wp-dark-mode-active] .st-site-header { --st-ink:#e8f1f3; --st-surface:#19272e; --st-line:#40515a; --st-hover:#22343d; }
/* Prevent the site's generic dark-mode button rule from adding bright boxes. */
#st-site-header .st-submenu-toggle,
#st-site-header .st-search-toggle,
#st-site-header .st-menu-toggle { background:transparent!important; color:var(--st-ink)!important; }
#st-site-header .st-nav-item > a { color:var(--st-ink)!important; }
#st-site-header .st-submenu,
#st-site-header #st-navigation,
#st-site-header .st-search-panel { background-color:var(--st-surface)!important; }
#st-site-header.st-site-header { background-color:var(--st-surface)!important; }
/* Keep floating site/review controls from covering the bottom of an expanded menu. */
body:has(#st-site-header[data-menu-open="true"]) .wp-dark-mode-floating-switch { visibility:hidden!important; pointer-events:none!important; }

@media (max-width:359px) { .st-brand img { width:120px!important; height:120px!important; } .st-header-actions { gap:8px; } .st-site-header .st-menu-toggle { padding-inline:10px; } }

/* The old phone bar remains available on excluded pages and on render fallback. */
body:has(#st-site-header) > .sdt-topbar { display:none!important; }
body.admin-bar .st-site-header { top:32px; }
@media(max-width:782px) { body.admin-bar .st-site-header { top:46px; } }
