/* Shared restraint: content is visible immediately; motion belongs to the images. */
.has-js .reveal,.has-js .reveal.is-visible,.has-js .reveal[id] { opacity:1;transform:none;transition:none; }
.site-header { background:rgba(3,7,13,.85);backdrop-filter:blur(18px);border-color:#bacfff1a; }
.site-header .primary-nav a { font-size:.64rem;letter-spacing:.08em; }
.site-brand strong { font-family:"Open Sans",Arial,sans-serif;font-size:1.04rem;font-weight:800;letter-spacing:-.025em;line-height:1.4; }
.site-brand span { font-size:.53rem;letter-spacing:.15em; }
.header-season strong { font-family:"Open Sans",Arial,sans-serif;font-size:.8rem;font-weight:600; }
.site-footer { position:relative;border-top:1px solid #a6c8f01f;background:#03060b; }
.site-footer::before { content:"";position:absolute;top:-1px;left:var(--gutter);width:5rem;height:1px;background:var(--ice);box-shadow:0 0 18px #73ddff70; }
.site-footer .footer-mark strong { font-family:"Open Sans",Arial,sans-serif;letter-spacing:-.07em;font-size:clamp(3rem,6vw,6rem);font-weight:800; }
.site-footer .footer-mark span { text-transform:none;letter-spacing:.07em; }
@media (max-width:1000px) and (min-width:761px) {
  .site-header { padding-inline:1.5rem; }
  .site-header .primary-nav { gap:.9rem; }
  .site-header .primary-nav a { font-size:.56rem;letter-spacing:.04em; }
}
@media (max-width:760px) {
  .site-header .primary-nav a { font-size:1.9rem;letter-spacing:-.015em;font-family:"Open Sans",Arial,sans-serif;line-height:1.2;text-transform:none; }
  .site-header .primary-nav { gap:.45rem; }
  .menu-open .site-header { backdrop-filter:none; }

  /* Keep all routes reachable when the shared menu script is unavailable. */
  html:not(.has-js) .site-header {
    position:relative;
    grid-template-columns:minmax(0,1fr);
    gap:.75rem;
    min-height:0;
    padding-block:1rem;
    background:#03070d;
  }
  html:not(.has-js) .menu-toggle { display:none; }
  html:not(.has-js) .site-header .primary-nav {
    position:static;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-content:start;
    justify-items:stretch;
    width:100%;
    height:auto;
    padding:0;
    overflow:visible;
    visibility:visible;
    opacity:1;
    transform:none;
    background:transparent;
  }
  html:not(.has-js) .site-header .primary-nav a {
    justify-content:start;
    min-height:2.75rem;
    font-size:.82rem;
    line-height:1.25;
  }
}

.site-footer .footer-credit {
  grid-column: 1 / -1;
  margin: 0;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(166, 200, 240, .14);
  color: #9eacb8;
  font-family: "Open Sans", Arial, sans-serif;
  font-size: .75rem;
  line-height: 1.7;
}
.site-footer .footer-credit span { color: #e4e9ed; font-weight: 600; white-space: nowrap; }
