/* Public subpage header: dimensions and wordmark from the main navigation.
   Load after brand-card.css, the single source for the original logo contours. */
.brand-header { position: sticky; top: 0; z-index: 100; flex: 0 0 auto; color: #fff; background: #1d2421; font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif; font-feature-settings: 'cv11', 'ss01'; -webkit-font-smoothing: antialiased; }
.brand-header, .brand-header * { box-sizing: border-box; }
.brand-header__inner { width: min(calc(100% - 3rem), 1400px); min-height: 5.25rem; margin-inline: auto; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; }
.brand-header__home { display: block; font-size: 1rem; line-height: 1.5; flex-shrink: 0; text-decoration: none; color: inherit; }
.brand-header .site-logo { display: inline-flex; align-items: center; gap: 0; font-size: 2.5rem; line-height: 1; white-space: nowrap; }
.brand-header .site-logo__name { color: #fff; }
.brand-header .site-logo__suffix--svg { display: none; }
.brand-header__actions { display: flex; align-items: center; gap: 2rem; }
.brand-header__button { display: inline-flex; align-items: center; justify-content: center; gap: 1.5rem; flex-shrink: 0; min-height: 0; padding: .75rem 1.25rem; border: 1px solid rgba(255,255,255,.3); border-radius: 999px; color: inherit; background: transparent; font: 500 .6875rem/1.5 'DM Sans',ui-sans-serif,system-ui,sans-serif; letter-spacing: .11em; text-transform: uppercase; text-decoration: none; white-space: nowrap; transition: opacity .2s; }
.brand-header__button:hover { opacity: .55; }
.brand-header a:focus-visible { outline: 2px solid #a8c7b6; outline-offset: 4px; }
.brand-header__note { display: flex; align-items: center; gap: 10px; color: #ffffffa8; font-size: .75rem; line-height: 1.5; }
.brand-header__note i { width: 6px; height: 6px; border-radius: 50%; background: #78a18c; box-shadow: 0 0 0 5px #78a18c0a; }
body.maintenance-page { padding: 0; }
.maintenance-page > main, .maintenance-page > .site-footer { margin-inline: clamp(16px,3vw,48px); }
.maintenance-page .brand-header { background: transparent; }
.legal-page:has(> .brand-header) .legal-main { padding-top: 4rem; }
@media (min-width:1921px) {
  .brand-header__inner { width: min(calc(100% - 8rem),clamp(1400px,calc(43.75vw + 560px),1680px)); }
}
@media (min-width:2560px) and (min-aspect-ratio:21/10) {
  .brand-header__inner { width: min(calc(100% - 10rem),clamp(1680px,calc(9.091vw + 1447.3px),1760px)); }
}
@media (max-width:900px) {
  .brand-header__inner { width: calc(100% - 2rem); min-height: calc(4.75rem + env(safe-area-inset-top)); padding-top: env(safe-area-inset-top); gap: .75rem; }
  .brand-header .site-logo { font-size: clamp(1.85rem,7.4vw,3rem); }
  .brand-header__note { display: none; }
  .brand-header__actions:has(.brand-header__back) > .brand-header__button:not(.brand-header__back) { display: none; }
  .brand-header__actions { gap: .5rem; }
  .brand-header__button { gap: .75rem; padding: .75rem 1rem; }
}
@media (max-width:480px) {
  .brand-header__actions { gap: .4rem; }
  .brand-header__back { display: inline-flex; }
}
@media (max-width:360px) {
  .brand-header__inner { width: calc(100% - 1.5rem); gap: .5rem; }
  .brand-header__button { padding-inline: .65rem; gap: .5rem; font-size: .625rem; }
}

/* Live website previews share the overview toolbar during loading and display. */
.reference-header__back-label { display: none; }
@media (min-width: 901px) {
  body:is(.fullscreen-reference-open, .live-preview-open) > .reference-header .brand-header__inner {
    width: min(calc(100% - 3rem), 1400px);
    max-width: none;
  }
  body:is(.fullscreen-reference-open, .live-preview-open) > .reference-header .brand-header__back {
    width: auto;
    height: auto;
    padding: .75rem 1.25rem;
    border: 1px solid rgba(255,255,255,.3);
    border-radius: 999px;
    background: transparent;
    box-shadow: none;
  }
  body:is(.fullscreen-reference-open, .live-preview-open) .reference-header__close { display: none; }
  body:is(.fullscreen-reference-open, .live-preview-open) .reference-header__back-label {
    display: inline-flex;
    align-items: center;
    gap: 1.5rem;
  }
}
@media (min-width: 1921px) {
  body:is(.fullscreen-reference-open, .live-preview-open) > .reference-header .brand-header__inner {
    width: min(calc(100% - 8rem),clamp(1400px,calc(43.75vw + 560px),1680px));
  }
}
@media (min-width: 2560px) and (min-aspect-ratio: 21/10) {
  body:is(.fullscreen-reference-open, .live-preview-open) > .reference-header .brand-header__inner {
    width: min(calc(100% - 10rem),clamp(1680px,calc(9.091vw + 1447.3px),1760px));
  }
}
