/* Shared by every page: complete transparent lockup, never clipped or swapped. */
:root { --site-header-height: 88px; }
.header__in { height: var(--site-header-height); }
.header .brand--paired img {
  display: block;
  width: auto;
  height: 56px;
  max-width: none;
  object-fit: contain;
}

@media (max-width: 1180px) and (min-width: 901px) {
  .header .brand--paired img { height: 43px; }
}

@media (max-width: 1100px) {
  :root { --site-header-height: 72px; }
  .header__in { gap: 16px; }
  .header .brand--paired { min-width: 0; flex: 1; }
  .header .brand--paired img { width: min(100%, 320px); height: auto; max-width: 100%; }
  .header .nav, .header-actions { display: none; }
  .header .menu-toggle { display: block; flex: 0 0 45px; }
  .header .nav.is-open {
    position: absolute;
    display: flex;
    top: var(--site-header-height);
    left: 0;
    right: 0;
    max-height: calc(100dvh - var(--site-header-height));
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 20px var(--pad);
    background: #fff;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    margin: 0;
  }
  .header .nav.is-open a { width: 100%; padding: 15px 0; border-bottom: 1px solid var(--line); font-size: .92rem; }
  .header .nav-mobile-action { display: block; }
}
.nav-mobile-action { display: none; }
.partner-table-scroll { overflow-x: auto; overscroll-behavior-x: contain; }
.partner-table-scroll:focus-visible { outline-color: #00288f; }
@media (max-width: 620px) {
  .header .brand--paired img { width: min(100%, 265px); }
  .partner-table-scroll .partner-table { min-width: 600px; }
}

/* Dark-page buttons must inherit the same clear white treatment as the homepage. */
.page-hero .button--line,
.dark-panel .button--line,
.editorial-split--dark .button--line {
  color: #fff;
  border-color: rgba(255,255,255,.75);
  background: transparent;
}
.page-hero .button--line:hover,
.dark-panel .button--line:hover,
.editorial-split--dark .button--line:hover {
  color: #071e63;
  background: #fff;
}

/* Keep the date, location and language controls together in one calm row. */
.utility__event {
  min-width: 0;
  white-space: nowrap;
}

.utility .lang {
  flex: 0 0 auto;
}

@media (max-width: 1100px) {
  .utility__in {
    min-height: 44px;
    justify-content: space-between;
    gap: 12px;
  }

  .utility__in > span:last-of-type {
    display: none;
  }

  .utility .lang {
    gap: 2px;
  }

  .utility .lang button {
    display: grid;
    place-items: center;
    min-width: 36px;
    min-height: 36px;
    padding: 0 6px;
    line-height: 1;
  }
}

@media (max-width: 620px) {
  .utility__venue {
    display: none;
  }
}
