/* Global brand shell: one header and footer treatment on every route. */
.site-header,
.site-footer {
  --shell-display: "Anybody", "Atkinson Hyperlegible Next", sans-serif;
  --shell-body: "Atkinson Hyperlegible Next", system-ui, sans-serif;
  --shell-mono: "Fragment Mono", "SFMono-Regular", Consolas, monospace;
}

.site-header {
  background: rgba(10, 9, 12, 0.76);
  border-color: transparent transparent rgba(255, 255, 255, 0.065);
  backdrop-filter: blur(18px) saturate(125%);
}

.site-header.is-scrolled {
  background: rgba(10, 9, 12, 0.92);
  border-color: transparent transparent rgba(255, 225, 188, 0.12);
  backdrop-filter: blur(22px) saturate(135%);
}

.site-header .brand-name,
.site-footer .brand-name {
  font-family: var(--shell-display);
  font-weight: 650;
  letter-spacing: -0.025em;
}

.site-header .brand-name { font-size: 21px; }
.site-footer .brand-name { font-size: 19px; }

.site-header .primary-nav a,
.site-header .text-link,
.site-header .button {
  font-family: var(--shell-body);
  font-size: 15px;
}

.site-header .button--small { font-size: 13px; }

.site-header .primary-nav a[aria-current="page"],
.site-header .primary-nav a[aria-current="location"],
.site-header .primary-nav :is(.current-menu-item, .current_page_item, .current-menu-parent, .current_page_parent, .current-post-parent, .current-menu-ancestor, .current_page_ancestor) > a {
  color: var(--ivory);
}

.site-footer {
  padding: 34px 0;
  color: var(--ivory);
  background: #0b0a0c;
  border-top: 1px solid rgba(255, 225, 188, 0.12);
  font-family: var(--shell-body);
}

.site-footer .footer-grid > p {
  color: #786f69;
  font-size: 12px;
  line-height: 1.5;
}

.site-footer .footer-grid nav a {
  color: #948b84;
  font-family: var(--shell-body);
  font-size: 11px;
  font-weight: 600;
}

.site-footer .footer-grid nav a:hover,
.site-footer .footer-grid nav a:focus-visible,
.site-footer .footer-grid nav a[aria-current="page"],
.site-footer :is(.current-menu-item, .current_page_item, .current-menu-parent, .current_page_parent, .current-post-parent, .current-menu-ancestor, .current_page_ancestor) > a {
  color: var(--amber-pale);
}

.site-footer .footer-status {
  color: #817872;
  font-family: var(--shell-mono);
  letter-spacing: 0.045em;
  white-space: nowrap;
}

@media (min-width: 901px) {
  .site-header .primary-nav a[aria-current="page"],
  .site-header .primary-nav a[aria-current="location"],
  .site-header .primary-nav :is(.current-menu-item, .current_page_item, .current-menu-parent, .current_page_parent, .current-post-parent, .current-menu-ancestor, .current_page_ancestor) > a {
    position: relative;
  }

  .site-header .primary-nav a[aria-current="page"]::after,
  .site-header .primary-nav a[aria-current="location"]::after,
  .site-header .primary-nav :is(.current-menu-item, .current_page_item, .current-menu-parent, .current_page_parent, .current-post-parent, .current-menu-ancestor, .current_page_ancestor) > a::after {
    position: absolute;
    right: 0;
    bottom: -9px;
    left: 0;
    height: 1px;
    content: "";
    background: linear-gradient(90deg, var(--amber), var(--coral));
    box-shadow: 0 0 8px rgba(255, 179, 71, 0.25);
  }
}

@media (max-width: 900px) {
  .site-header .primary-nav a { font-size: 15px; }

  .site-header .primary-nav a[aria-current="page"],
  .site-header .primary-nav a[aria-current="location"],
  .site-header .primary-nav :is(.current-menu-item, .current_page_item, .current-menu-parent, .current_page_parent, .current-post-parent, .current-menu-ancestor, .current_page_ancestor) > a {
    background: linear-gradient(90deg, rgba(255, 179, 71, 0.08), transparent 74%);
  }
}

@media (max-width: 620px) {
  .site-header {
    background: rgba(10, 9, 12, 0.88);
    backdrop-filter: blur(18px) saturate(125%);
  }

  .site-header .brand-name { font-size: 18px; }
  .site-footer .brand-name { font-size: 18px; }
  .site-footer .footer-grid { gap: 20px; }
  .site-footer .footer-grid nav { gap: 14px 17px; }
}
