/* v270: isolated header sizing override; remove this stylesheet to roll back. */
body#site-typography .global-top-ribbon-v221 {
  min-height: 32px;
  padding-block: 4px !important;
  gap: 16px;
  font-size: .75rem !important;
  line-height: 1.3 !important;
}
body#site-typography .global-top-ribbon-v221 * {
  font-size: inherit !important;
  line-height: inherit !important;
}

body#site-typography .c-sticky-header > header:not(.c-header) {
  min-height: 72px;
  padding-block: 6px !important;
  gap: 18px;
}
body#site-typography header .c-brand.c-brand-compact {
  flex: 0 0 260px !important;
  width: 260px !important;
  max-width: 36vw !important;
}
body#site-typography .c-header.c-header-country {
  min-height: 72px !important;
  padding-block: 6px !important;
  gap: 16px !important;
}
body#site-typography .c-header .c-brand-full.c-brand-approved {
  flex: 0 0 260px !important;
  width: 260px !important;
  max-width: 36vw !important;
}
body#site-typography .c-subnav { padding-block: 0 !important; }
body#site-typography .c-subnav nav a { padding-block: 7px !important; }
body#site-typography .c-sticky-header > header .edition select {
  min-height: 36px;
  padding-block: 5px;
}

/* Standalone public pages share the same compact masthead. */
body#site-typography :is(.ad-header, .fv-header) {
  min-height: 72px;
  padding-block: 8px !important;
  align-items: center;
  gap: 18px;
}
body#site-typography :is(.ad-logo, .fv-logo) {
  width: 260px !important;
  max-width: 36vw !important;
}

@media (max-width: 720px) {
  body#site-typography .global-top-ribbon-v221 {
    min-height: 28px;
    padding-block: 3px !important;
    font-size: .6875rem !important;
  }
  body#site-typography .c-sticky-header > header:not(.c-header) {
    min-height: 56px;
    padding: 6px 12px !important;
    flex-wrap: nowrap !important;
    align-items: center;
    gap: 8px;
  }
  body#site-typography header .c-brand.c-brand-compact {
    flex: 0 1 auto !important;
    width: clamp(130px, 38vw, 180px) !important;
    max-width: 42vw !important;
  }
  body#site-typography .c-sticky-header > header:not(.c-header) > nav {
    display: none;
  }
  body#site-typography .c-sticky-header > header .mobile-menu {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 44px;
    min-width: 44px;
    min-height: 44px;
  }
  body#site-typography .c-sticky-header > header .edition {
    flex: 0 1 112px;
    width: 112px;
    min-width: 0;
    margin-left: auto;
  }
  body#site-typography .c-header.c-header-country {
    min-height: 0 !important;
    padding-block: 6px !important;
    gap: 8px !important;
  }
  body#site-typography .c-header .c-brand-full.c-brand-approved {
    flex: 0 1 160px !important;
    width: 160px !important;
    max-width: 48vw !important;
  }
  body#site-typography :is(.ad-header, .fv-header) {
    min-height: 0;
    padding-block: 8px !important;
    flex-wrap: wrap;
    gap: 8px;
  }
  body#site-typography :is(.ad-logo, .fv-logo) {
    width: 180px !important;
    max-width: 60vw !important;
  }
  body#site-typography :is(.ad-header, .fv-header) nav {
    flex-wrap: wrap;
    gap: 10px;
  }
}
