/* Warm brown header matched to the Discretion accent. */
:root { --brand-header: #796044; --brand-nav-hover: #fff; }
/* Footer proportions are the reference for both logo frames. */
.site-header .brand-logo, .site-footer .brand-logo { display: block; flex: none; width: var(--logo-width); height: auto; max-height: none; object-fit: contain; box-sizing: content-box; padding: calc(var(--logo-width) * 3 / 112); background: #fff; border: calc(var(--logo-width) / 112) solid #fff; filter: url("assets/logo-paper-tone.svg#paper-tone"); }
.site-header .brand-logo { --logo-width: 50px; }
.site-header .brand { gap: 12px; }
.site-header.scrolled,
.art-page .site-header,
.site-header:has(.primary-nav.is-open) { color: #fbf9f4; background: var(--brand-header); backdrop-filter: none; border-bottom: 1px solid rgba(23,23,19,.2); }
.site-header.scrolled :is(a,button):focus-visible,
.art-page .site-header :is(a,button):focus-visible { outline-color: var(--brand-nav-hover); }
.site-footer .brand-logo { --logo-width: 112px; }
@media (hover: hover) {
  .site-header.scrolled .primary-nav :is(a,button):not(.nav-cta):hover,
  .art-page .site-header .primary-nav :is(a,button):not(.nav-cta):hover,
  .site-header:has(.primary-nav.is-open) .primary-nav :is(a,button):not(.nav-cta):hover { color: var(--brand-nav-hover); }
  .site-header.scrolled .primary-nav .nav-cta:hover,
  .art-page .site-header .primary-nav .nav-cta:hover,
  .site-header:has(.primary-nav.is-open) .primary-nav .nav-cta:hover { background: var(--brand-nav-hover); border-color: var(--brand-nav-hover); color: #503315; }
}
@media (max-width: 1020px) {
  .site-header .brand-logo { --logo-width: 44px; }
  .site-header .primary-nav { color: #fbf9f4; background: var(--brand-header); }
}

.refocus-lead.refocus-without-image { grid-template-columns: 1fr; max-width: 850px; }

/* Paper-toned lettering remains visible over the hero; the gray field blends away. */
body:not(.gallery-page) .site-header:not(.scrolled):not(:has(.primary-nav.is-open)) .brand-logo {
  opacity: 1;
  background: transparent;
  border-color: transparent;
  filter: url("#hero-logo-transparency") drop-shadow(0 1px 2px rgba(0,0,0,.3));
}

/* A matching brown bookend, with readable paper-toned links. */
body .site-footer { background: var(--brand-header); color: var(--paper); border-top-color: rgba(244,240,232,.25); }
body .site-footer a, body .site-footer a:visited { color: var(--paper); }
body .site-footer a:hover, body .site-footer a:focus-visible { color: #fff; text-decoration: underline; text-underline-offset: 5px; }

/* Full-site navigation remains available at the end of every page. */
.site-footer { flex-wrap: wrap; }
.footer-primary-nav, .footer-secondary-nav { flex-basis: 100%; display: flex; flex-wrap: wrap; align-items: center; gap: 16px 26px; }
.footer-primary-nav { border-top: 1px solid rgba(244,240,232,.25); padding-top: 24px; }
.site-footer .footer-primary-nav a { font-size: 14px; line-height: 1.5; letter-spacing: .04em; text-transform: none; text-decoration: none; }
.site-footer .footer-secondary-nav a { font-size: 13px; line-height: 1.5; letter-spacing: .03em; text-transform: none; text-decoration: none; }
.primary-nav .nav-questions, .primary-nav a.nav-cta { color: inherit; text-decoration: none; }
.primary-nav .nav-questions { font-size: 12px; letter-spacing: .04em; padding: 10px 0; white-space: nowrap; }
@media(max-width:1020px) { .primary-nav .nav-questions { font-family: var(--serif); font-size: 21px; padding: 15px 0; } .primary-nav.is-open { max-height: calc(100dvh - 72px); overflow-y: auto; } .footer-primary-nav, .footer-secondary-nav { gap: 16px 22px; } }

/* A consistent, readable header from the first screen on phones and tablets. */
@media (max-width: 1020px) {
  body .site-header,
  body .site-header:not(.scrolled):has(.primary-nav.is-open) {
    color: #fbf9f4;
    background: var(--brand-header);
    backdrop-filter: none;
    border-bottom: 1px solid rgba(23,23,19,.2);
  }
  body .site-header :is(a,button):focus-visible { outline-color: #fff; }
  body:not(.gallery-page) .site-header:not(.scrolled):not(:has(.primary-nav.is-open)) .brand-logo {
    background: #fff;
    border-color: #fff;
    filter: url("assets/logo-paper-tone.svg#paper-tone");
  }
}
.primary-nav a[aria-current] { font-weight:700; }
