/* Current BWWL header and footer, for the archived pages that still run on
   legacy/styles.css. Tokens are scoped to the chrome so the legacy page
   variables of the same names are untouched. Rules mirror styles.css. */
.skip-link, .site-header, .site-nav, .site-footer {
  --ink: #132238; --paper: #f7f3ed; --white: #fffdf9; --gold: #b78a3b;
  --navy-deep: #0d192a; --navy-muted: #b8c0cb; --max: 1180px;
  --display: "orpheus-pro", "orpheuspro", "Orpheus Pro", Georgia, "Times New Roman", serif;
  --ui: "acumin-pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
}
.skip-link { position: absolute; left: -9999px; top: auto; color: var(--ink); }
.skip-link:focus { left: 1rem; top: 1rem; z-index: 30; background: var(--white); padding: .5rem 1rem; }

.site-header {
  position: sticky; top: 0; z-index: 20; min-height: 92px;
  display: flex; align-items: center; justify-content: space-between; gap: 2rem;
  padding: 0 max(1.5rem, calc((100% - var(--max)) / 2));
  background: var(--navy-deep); color: var(--paper);
}
.company-logo { display: inline-flex; align-items: center; text-decoration: none; }
.company-logo img { width: 235px; height: auto; display: block; }
.site-nav {
  display: flex; align-items: center; gap: 1.65rem;
  font-family: var(--ui); font-weight: 500; font-size: .9rem; letter-spacing: .01em;
}
.site-nav a { text-decoration: none; color: var(--paper); }
.site-nav a:not(.nav-cta):hover { text-decoration: underline; text-decoration-color: var(--gold); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.site-nav a.nav-cta { background: var(--paper); color: var(--ink); padding: .55rem 1rem; }
.site-nav a.nav-cta:hover { background: var(--white); text-decoration: none; }
.menu-button {
  display: none; background: none; border: 1px solid var(--paper);
  padding: .4rem .7rem; color: var(--paper); font-family: var(--ui); font-size: .85rem; cursor: pointer;
}
.site-header a:focus-visible, .site-header button:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }

.site-footer {
  padding: 4rem max(1.5rem, calc((100% - var(--max)) / 2)) 3.5rem;
  background: var(--navy-deep); color: var(--paper);
  font-family: var(--ui); font-size: .95rem; line-height: 1.6;
}
.site-footer p { margin: .7rem 0; max-width: 560px; }
.footer-lockup { width: 260px; height: auto; display: block; margin-bottom: 1.4rem; }
.site-footer .legal { color: var(--navy-muted); font-size: .82rem; margin-top: 2.2rem; }
.site-footer a { color: var(--paper); text-decoration: underline; text-underline-offset: 4px; }

@media (max-width: 1023px) {
  .menu-button { display: block; }
  .site-nav {
    display: none; position: absolute; top: 100%; right: 0; left: 0; z-index: 19;
    padding: 1.4rem 1.5rem; background: var(--navy-deep); border-bottom: 1px solid var(--ink);
    flex-direction: column; align-items: flex-start; gap: 1.1rem;
  }
  .site-nav.open { display: flex; }
}
@media (max-width: 760px) {
  .site-header { min-height: 74px; }
  .company-logo img { width: 176px; }
  .footer-lockup { width: 220px; }
}
