/* Shared public-site navigation; content and route contracts stay independent. */
.site-header,
.site-header.is-scrolled {
  background: rgba(255, 255, 255, 0.97);
  border-bottom: 1px solid var(--border);
  box-shadow: none;
}
.site-header .brand { color: var(--ink-950); }
.site-header .brand__text small { color: var(--text-secondary); }
.site-nav { color: var(--text-secondary); gap: 24px; }
.site-nav > a:not(.button):hover,
.site-nav > a:not(.button):focus-visible,
.site-nav > a:not(.button)[aria-current="page"] { color: var(--ink-950); }
.site-nav .button--ghost { color: var(--brand-primary); border-color: var(--border); background: #fff; }
.site-nav .button--ghost:hover { background: var(--brand-soft); }
.button--primary { box-shadow: none; }
.menu-toggle { border-color: var(--border); }
.menu-toggle span { background: var(--ink-950); }
a:focus-visible,
button:focus-visible,
.button:focus-visible,
.site-nav a:focus-visible,
.brand:focus-visible { outline: 3px solid var(--brand-primary); outline-offset: 4px; }
.site-footer { padding-block: 28px 20px; background: #fff; color: var(--text-secondary); border-top: 1px solid var(--border); }
.site-footer .brand { color: var(--ink-950); }
.site-footer .brand__text small { color: var(--text-secondary); }
.site-footer__main nav a:hover, .site-footer__main nav a:focus-visible { color: var(--brand-primary); }
.site-footer__legal { margin-top: 22px; padding-top: 16px; border-color: var(--border); }
@media (max-width: 1050px) and (min-width: 821px) {
  .site-header__inner { gap: 16px; }
  .site-nav { gap: 14px; }
  .site-nav > a:not(.button) { font-size: 13px; }
}
@media (max-width: 820px) {
  .site-nav {
    background: #fff;
    border-color: var(--border);
    max-height: calc(100dvh - var(--header-height));
    overflow-y: auto;
    visibility: hidden;
  }
  .site-nav.is-open { visibility: visible; }
  .site-nav > a:not(.button) { border-color: var(--border); }
}
/* Carry the selected light visual language through existing public routes. */
body .public-page-hero,
body .content-page-hero,
body .news-page-hero { background: #f7f8fc; color: var(--ink-950); border-bottom: 1px solid var(--border); }
body .public-page-hero__breadcrumb,
body .content-page-hero__breadcrumb,
body .news-page-hero__breadcrumb,
body .public-page-hero__lead,
body .content-page-hero__lead,
body .news-page-hero__lead { color: var(--text-secondary); }
body .public-page-hero .eyebrow,
body .content-page-hero .eyebrow,
body .news-page-hero .eyebrow { color: #13815e; }
body .public-page-hero__breadcrumb a:hover,
body .public-page-hero__breadcrumb a:focus-visible,
body .content-page-hero__breadcrumb a:hover,
body .content-page-hero__breadcrumb a:focus-visible,
body .news-page-hero__breadcrumb a:hover,
body .news-page-hero__breadcrumb a:focus-visible { color: var(--brand-primary); }
body .public-page-hero .button--ghost { color: var(--brand-primary); border-color: #c5bbfa; background: #fff; }
body .geo-service-hero__notice { color: var(--text-secondary); background: var(--growth-soft); }
body .geo-service-hero__notice strong { color: var(--ink-950); }
body .brand-facts-hero__meta { color: var(--text-secondary); background: #fff; border-color: var(--border); }
