/* Header and footer of the October 2026 editorial design. Loaded after brand/refinement/editorial on every page.
   Footer headings are scoped with #mb-footer because editorial.css lifts heading rules to id specificity. */
:root {
  --cx-navy:#082E5B; --cx-navy-deep:#06274D; --cx-blue:#154A86;
  --cx-gold:#C49A56; --cx-gold-light:#D2AC67; --cx-gold-text:#9A7034;
  --cx-ink:#102A4A; --cx-muted:#657385; --cx-line:rgba(16,42,74,.1);
  --cx-serif:'DM Serif Display','Fraunces',Georgia,serif;
}
.screen-reader-text {position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---------- header ---------- */
.mb-header,.mb-header.menu-open {background:#fff;border-bottom:1px solid transparent;box-shadow:none;transition:box-shadow .25s,border-color .25s}
.mb-header.is-scrolled {border-bottom-color:var(--cx-line);box-shadow:0 2px 14px rgba(8,46,91,.06)}
@media (min-width:1180px) {:root {--mb-h:60px}}
.mb-header-inner {width:min(100% - 64px,1130px); gap:18px}
.mb-header .mb-logo {gap:10px}
.mb-header .mb-mark {width:38px; height:38px}
.mb-header .mb-name {font-size:21px}
.mb-header .mb-tagline {font-size:7.5px; letter-spacing:.2em; margin-top:4px}
.mb-header .mb-mark {filter:none}
.mb-nav {margin-inline:auto}
.mb-nav>ul {gap:12px}
.mb-nav-link {height:44px; padding:0 8px; border-radius:0; font:500 12.5px/1 var(--font-sans); color:#33445c!important; background:none!important}
.mb-nav-link:after {content:"";position:absolute;left:8px; right:8px; bottom:6px; height:1.5px;background:var(--cx-gold);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.mb-nav-link:hover {color:var(--cx-navy)!important}
.mb-nav-link:hover:after {transform:scaleX(1)}
.mb-nav-link[aria-current="page"] {color:var(--cx-navy)!important;font-weight:600}
.mb-nav-link[aria-current="page"]:after {left:8px; right:8px; bottom:6px; width:auto;height:2px;border-radius:0;background:var(--cx-navy);transform:none}
.mb-actions {gap:8px}
.mb-icon-btn {border-radius:4px;border-color:transparent;background:transparent;color:var(--cx-navy)!important}
.mb-icon-btn:hover {background:#f3f6f9;border-color:transparent}
.mb-burger {border-color:var(--cx-line)}
.mb-cta {height:34px; padding:0 16px; gap:10px; border-radius:3px; background:var(--cx-navy); font:500 11.5px/1 var(--font-sans);letter-spacing:.005em;box-shadow:none}
.mb-cta:hover {background:var(--cx-blue);transform:none;box-shadow:none}
.mb-cta-arrow {width:13px; height:13px;transition:transform .2s}
.mb-cta:hover .mb-cta-arrow,.mb-footer-cta:hover .mb-cta-arrow {transform:translateX(3px)}
.mb-header :is(a,button,input):focus-visible {outline:2px solid var(--cx-blue);outline-offset:2px}

/* search panel */
.mb-search {position:absolute;left:0;right:0;top:100%;background:#fff;border-top:1px solid var(--cx-line);border-bottom:1px solid var(--cx-line);box-shadow:0 12px 24px rgba(8,46,91,.06)}
.mb-search[hidden] {display:none}
.mb-search form {width:min(100% - 64px,760px);margin:0 auto;padding:16px 0;display:flex;align-items:center;gap:12px;color:var(--cx-muted)}
.mb-search input {flex:1;min-width:0;height:46px;border:0;border-bottom:1px solid #c9d2dd;background:none;font:400 16px var(--font-sans);color:var(--cx-ink);padding:0 4px}
.mb-search input:focus {outline:none;border-bottom-color:var(--cx-navy)}
.mb-search button {height:44px;padding:0 20px;border:0;border-radius:4px;background:var(--cx-navy);color:#fff;font:600 13px var(--font-sans);cursor:pointer}
.mb-search button:hover {background:var(--cx-blue)}

/* mobile drawer */
.mb-menu-link[aria-current="page"] {color:var(--cx-navy)!important}
.mb-menu-link[aria-current="page"]:before {background:var(--cx-gold)}
.mb-menu .mb-cta-block {height:52px;font-size:15px}

@media (max-width:1279px) {
  .mb-header-inner {width:calc(100% - 48px);gap:12px}
  .mb-nav>ul {gap:0}
  .mb-nav-link {padding:0 8px;font-size:13px}
  .mb-nav-link:after,.mb-nav-link[aria-current="page"]:after {left:8px;right:8px}
}
@media (max-width:1179px) {
  .mb-nav {display:none}
  .mb-actions {margin-left:auto}
}
@media (max-width:600px) {
  .mb-header-inner {width:calc(100% - 32px)}
  .mb-actions .mb-cta {display:none}
  .mb-search form {width:calc(100% - 32px)}
  .mb-search button {padding:0 14px}
}


/* ---------- footer (compact, as in the approved design) ---------- */
#mb-footer {background:#0A2650; border-top:0; color:#c3cddb}
#mb-footer .mb-footer-art {position:absolute; left:calc(50% + 290px); bottom:52px; width:300px; height:auto; color:#9fb2cc; opacity:.32; pointer-events:none}
#mb-footer .mb-footer-inner {width:min(100% - 64px,1200px); padding-top:18px}
#mb-footer .mb-footer-top {position:relative; grid-template-columns:342px 147px 194px minmax(0,1fr); gap:0; padding-bottom:18px}
#mb-footer .mb-logo {gap:9px}
#mb-footer .mb-mark {width:34px; height:34px}
#mb-footer .mb-name {font-size:18px}
#mb-footer .mb-tagline {font-size:7px; margin-top:3px}
#mb-footer .mb-footer-brand p {margin-top:12px; font-size:11.5px; line-height:1.6; color:#c3cddb; max-width:250px}
#mb-footer .mb-social {margin-top:12px}
#mb-footer .mb-social a {width:30px; height:30px; border:0}
#mb-footer .mb-footer-col h2 {margin:0 0 8px; font:600 11.5px/1.4 var(--font-sans); letter-spacing:0; text-transform:none; color:#fff}
#mb-footer .mb-footer-col ul {gap:0}
#mb-footer .mb-footer-col a {min-height:0; font-size:11.5px; line-height:1.38; color:#c3cddb!important}
#mb-footer .mb-footer-col a:hover {color:#E4C78F!important}
#mb-footer .mb-footer-contact ul {display:grid; gap:9px}
#mb-footer .mb-footer-contact li {padding:0; gap:12px; font-size:11.5px; color:#c3cddb}
#mb-footer .mb-footer-contact li a {min-height:0}
#mb-footer .mb-f-icon {width:16px; height:16px; border:0; border-radius:0; background:none; color:#fff}
#mb-footer .mb-f-icon .mb-svg {width:15px; height:15px}
#mb-footer .mb-footer-col .mb-footer-cta {display:none}
#mb-footer .mb-footer-motto {position:absolute; right:-40px; top:10px; margin:0; font:400 19px/1.15 'Nothing You Could Do','Segoe Script',cursive; color:#dfe5ee; transform:rotate(-12deg)}
#mb-footer .mb-footer-bottom {border-top-color:rgba(255,255,255,.12); padding:10px 0 12px; font-size:10.5px; color:#b3bfcf}
#mb-footer .mb-footer-legal {display:flex; align-items:center; gap:18px; flex-wrap:wrap}
#mb-footer .mb-footer-legal a {display:inline-flex; align-items:center; min-height:24px; font-size:10.5px; color:#c3cddb!important; text-decoration:none!important}
#mb-footer .mb-footer-legal a:hover {color:#fff!important}
#mb-footer :is(a,button):focus-visible {outline:2px solid var(--cx-gold-light); outline-offset:2px}

@media (max-width:1360px) {
  #mb-footer .mb-footer-motto {right:0}
  #mb-footer .mb-footer-art {left:auto; right:110px}
}
@media (max-width:1180px) {
  #mb-footer .mb-footer-inner {padding-top:48px}
  #mb-footer .mb-footer-top {grid-template-columns:1.3fr .8fr 1fr 1.25fr; gap:32px; padding-bottom:40px}
  #mb-footer .mb-footer-brand p,#mb-footer .mb-footer-col a,#mb-footer .mb-footer-contact li {font-size:14px}
  #mb-footer .mb-footer-col h2 {font-size:14px; margin-bottom:12px}
  #mb-footer .mb-footer-col ul {gap:4px}
  #mb-footer .mb-footer-col a {min-height:32px}
  #mb-footer .mb-footer-motto {display:none}
  #mb-footer .mb-footer-art {right:24px; bottom:auto; top:24px; width:220px; opacity:.18}
  #mb-footer .mb-footer-col .mb-footer-cta {display:inline-flex; margin-top:16px; height:44px; padding:0 18px; border-radius:3px; background:var(--cx-gold); color:var(--cx-navy-deep)!important; font:600 13px var(--font-sans)}
  #mb-footer .mb-footer-bottom,#mb-footer .mb-footer-legal a {font-size:13px}
  #mb-footer .mb-footer-legal a {min-height:44px}
}
@media (max-width:1000px) {
  #mb-footer .mb-footer-top {grid-template-columns:1fr 1fr; gap:36px 28px}
  #mb-footer .mb-footer-brand {grid-column:1/-1}
}
@media (max-width:600px) {
  #mb-footer .mb-footer-inner {width:calc(100% - 40px); padding-top:44px}
  #mb-footer .mb-footer-top {gap:32px 16px; padding-bottom:32px}
  #mb-footer .mb-footer-contact {grid-column:1/-1}
  #mb-footer .mb-footer-col a {min-height:44px; font-size:15px}
  #mb-footer .mb-footer-contact ul {gap:4px}
  #mb-footer .mb-footer-contact li {font-size:15px; min-height:44px}
  #mb-footer .mb-footer-col .mb-footer-cta {width:100%; justify-content:center; height:50px}
  #mb-footer .mb-footer-art {width:140px; top:28px; opacity:.14}
  #mb-footer .mb-footer-bottom {flex-direction:column; align-items:flex-start; gap:4px}
}
@media (prefers-reduced-motion:reduce) {
  .mb-nav-link:after,.mb-cta-arrow {transition:none}
}
@media (min-width:1181px) {
  #mb-footer .mb-footer-col li {font-size:11.5px; line-height:1.38}
  #mb-footer .mb-footer-contact li {line-height:1.4}
}
@media (max-width:1179px) {
  .mb-actions .mb-cta {height:44px; font-size:13px}
  #mb-footer .mb-footer-col a,#mb-footer .mb-footer-contact li a {min-height:44px}
  #mb-footer .mb-footer-col ul {gap:0}
  #mb-footer .mb-footer-contact ul {gap:0}
}
@media (max-width:1179px) {
  /* address and hours are text, not links: give them the same 44px rows as the linked items */
  #mb-footer .mb-footer-contact li {min-height:44px}
}
