/* Final FigureAsia header and homepage authority layer. */
.site-header,
.site-header.is-condensed {
  position: sticky;
  top: 0;
  z-index: 100;
  background: #fff;
  color: #111;
  border-bottom: 1px solid #d9d9d9;
  box-shadow: 0 8px 24px rgba(17, 17, 17, 0.055);
  transition: none;
}

.site-header .brand-row,
.site-header .nav-row {
  background: #fff;
  border-color: #e2e2e2;
}

.site-header .brand-inner,
.site-header.is-condensed .brand-inner {
  position: relative;
  min-height: 88px;
  grid-template-columns: minmax(180px, 1fr) auto minmax(180px, 1fr);
  transition: none;
}

.site-header .brand,
.site-header.is-condensed .brand {
  grid-column: 2;
  justify-self: center;
  font-size: 1rem;
  transition: none;
}

.site-header .brand img,
.site-header.is-condensed .brand img {
  width: auto;
  height: 62px;
  max-width: min(48vw, 430px);
}

.site-header .local-time,
.site-header.is-condensed .local-time {
  color: #737373;
  font-size: 0.76rem;
  letter-spacing: 0.02em;
  transition: none;
}

.site-header .brand-actions {
  grid-column: 3;
  justify-self: end;
}

.site-header .issue-link,
.site-header.is-condensed .issue-link {
  min-height: 38px;
  border: 1px solid var(--red);
  background: var(--red);
  color: #fff;
  padding: 8px 17px;
  font-family: "FA Sans", "Helvetica Neue", Arial, sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.045em;
  text-transform: uppercase;
  transition: background-color 160ms ease, border-color 160ms ease;
}

.site-header .issue-link:hover,
.site-header .issue-link:focus-visible {
  border-color: #111;
  background: #111;
}

.site-header .main-nav,
.site-header.is-condensed .main-nav {
  min-height: 48px;
  justify-content: center;
  gap: 0;
  transition: none;
}

.site-header .nav-item,
.site-header .nav-item > a,
.site-header.is-condensed .nav-item,
.site-header.is-condensed .nav-item > a {
  min-height: 48px;
  transition: none;
}

.site-header .nav-item > a,
.site-header.is-condensed .nav-item > a {
  padding: 0 13px;
  color: #222;
  font-family: "FA Sans", "Helvetica Neue", Arial, sans-serif;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.025em;
  text-transform: uppercase;
}

.site-header .nav-item > a::after {
  left: 13px;
  right: 13px;
  bottom: 0;
  height: 3px;
}

.site-header .nav-item:hover > a,
.site-header .nav-item:focus-within > a {
  color: var(--hover-color, var(--red));
}

.site-header .nav-mega {
  background: #fff;
  border-top: 3px solid var(--hover-color, var(--red));
  border-bottom: 1px solid #d9d9d9;
  box-shadow: 0 22px 42px rgba(17, 17, 17, 0.16);
}

.site-header .nav-mega-title span,
.site-header .nav-mega-grid strong {
  color: #111;
}

.site-header .nav-mega-title a,
.site-header .nav-mega-grid small {
  color: #777;
}

.site-header .nav-mega-grid img {
  background: #f2f2f2;
}

.site-header .mobile-menu-toggle {
  color: #111;
}

.site-header .mobile-menu-panel:not([hidden]) {
  display: block;
  background: #fff;
  border-top: 1px solid #e1e1e1;
  border-bottom: 3px solid var(--red);
  box-shadow: 0 18px 30px rgba(17, 17, 17, 0.12);
}

.site-header .mobile-menu-panel a {
  border-bottom-color: #e9e9e9;
  color: #111;
  font-family: "FA Sans", "Helvetica Neue", Arial, sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
}

.home-front {
  background: #fff;
}

.home-front .section-line {
  margin-bottom: 30px;
  padding-bottom: 18px;
  border-bottom: 1px solid #111;
}

.home-front .section-line h1 {
  margin-top: 7px;
  font-size: clamp(2.7rem, 4.8vw, 5.4rem);
  letter-spacing: -0.025em;
}

.home-front .front-grid.front-grid-wealth {
  display: grid;
  grid-template-columns: minmax(0, 2.15fr) minmax(310px, 0.85fr);
  grid-template-areas: "wealth popular";
  gap: 34px;
  align-items: stretch;
}

@media (max-width: 1180px) {
  .site-header .nav-item > a,
  .site-header.is-condensed .nav-item > a {
    padding-inline: 9px;
    font-size: 0.68rem;
  }
}

@media (max-width: 1060px) {
  .site-header .brand-inner,
  .site-header.is-condensed .brand-inner {
    min-height: 72px;
    grid-template-columns: 1fr auto 1fr;
  }

  .site-header .local-time {
    visibility: hidden;
  }

  .site-header .brand,
  .site-header.is-condensed .brand {
    position: absolute;
    left: 50%;
    grid-column: auto;
    transform: translateX(-50%);
  }

  .site-header .brand img,
  .site-header.is-condensed .brand img {
    height: 46px;
    max-width: 58vw;
  }

  .site-header .brand-actions {
    grid-column: 3;
  }

  .site-header .issue-link,
  .site-header .nav-row {
    display: none;
  }

  .site-header .mobile-menu-toggle {
    display: grid;
  }

  .site-header .mobile-menu-inner {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 24px;
    padding: 12px 0 20px;
  }

  .home-front .front-grid.front-grid-wealth {
    grid-template-columns: 1fr;
    grid-template-areas:
      "wealth"
      "popular";
  }
}

@media (max-width: 760px) {
  .site-header .brand-inner,
  .site-header.is-condensed .brand-inner {
    min-height: 64px;
  }

  .site-header .brand img,
  .site-header.is-condensed .brand img {
    height: 39px;
    max-width: 62vw;
  }

  .site-header .mobile-menu-inner {
    grid-template-columns: 1fr;
  }

  .home-front .section-line h1 {
    font-size: 3.15rem;
  }
}

/* Stable condensed header and mobile navigation drawer — 2026-07-14. */
.site-header,
.site-header.is-condensed {
  transition: box-shadow 280ms ease, border-color 280ms ease;
}

.site-header .brand-inner,
.site-header.is-condensed .brand-inner,
.site-header .brand img,
.site-header.is-condensed .brand img,
.site-header .issue-link,
.site-header.is-condensed .issue-link,
.site-header .main-nav,
.site-header.is-condensed .main-nav,
.site-header .nav-item,
.site-header.is-condensed .nav-item,
.site-header .nav-item > a,
.site-header.is-condensed .nav-item > a {
  transition:
    min-height 320ms cubic-bezier(0.22, 1, 0.36, 1),
    height 320ms cubic-bezier(0.22, 1, 0.36, 1),
    padding 320ms cubic-bezier(0.22, 1, 0.36, 1),
    color 180ms ease,
    background-color 180ms ease,
    border-color 180ms ease;
}

.site-header .local-time,
.site-header.is-condensed .local-time {
  transition: opacity 220ms ease, font-size 320ms cubic-bezier(0.22, 1, 0.36, 1);
}

.site-header.is-condensed {
  box-shadow: 0 10px 26px rgba(17, 17, 17, 0.1);
}

.site-header.is-condensed .brand-inner {
  min-height: 60px;
}

.site-header.is-condensed .brand img {
  height: 42px;
}

.site-header.is-condensed .local-time {
  opacity: 0.72;
  font-size: 0.69rem;
}

.site-header.is-condensed .issue-link {
  min-height: 32px;
  padding: 6px 14px;
}

.site-header.is-condensed .main-nav,
.site-header.is-condensed .nav-item,
.site-header.is-condensed .nav-item > a {
  min-height: 42px;
}

.mobile-menu-panel[hidden] {
  display: none !important;
}

@media (max-width: 1060px) {
  body.mobile-menu-open {
    overflow: hidden;
    overscroll-behavior: none;
  }

  .site-header {
    --mobile-header-height: 73px;
    isolation: isolate;
  }

  .site-header.is-condensed {
    --mobile-header-height: 55px;
  }

  .site-header .brand-actions {
    display: flex;
    align-items: center;
  }

  .site-header.is-condensed .brand-inner {
    min-height: 54px;
  }

  .site-header.is-condensed .brand img {
    height: 34px;
  }

  .site-header .mobile-menu-toggle {
    position: relative;
    z-index: 4;
    width: 44px;
    height: 44px;
    margin: 0;
    border-radius: 50%;
    transition: background-color 180ms ease;
  }

  .site-header .mobile-menu-toggle:hover,
  .site-header .mobile-menu-toggle:focus-visible,
  .site-header .mobile-menu-toggle[aria-expanded="true"] {
    background: #f2f2f2;
  }

  .site-header .mobile-menu-toggle span {
    width: 23px;
    height: 1.5px;
  }

  .site-header .mobile-menu-panel:not([hidden]) {
    display: block;
  }

  .site-header .mobile-menu-panel {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    z-index: 3;
    height: calc(100dvh - var(--mobile-header-height));
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    border: 0;
    border-top: 1px solid #dedede;
    background: #fff;
    box-shadow: 0 24px 54px rgba(17, 17, 17, 0.15);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-10px);
    transition:
      opacity 220ms ease,
      transform 300ms cubic-bezier(0.22, 1, 0.36, 1),
      visibility 0s linear 300ms;
  }

  .site-header .mobile-menu-panel.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
    transition-delay: 0s;
  }

  .site-header .mobile-menu-shell {
    display: flex;
    min-height: 100%;
    flex-direction: column;
    background: #fff;
  }

  .site-header .mobile-menu-heading {
    display: flex;
    width: min(var(--max), calc(100% - 40px));
    margin: 0 auto;
    padding: 30px 0 20px;
    align-items: baseline;
    justify-content: space-between;
    border-bottom: 1px solid #111;
  }

  .site-header .mobile-menu-heading span {
    color: var(--red);
    font-family: "FA Sans", "Helvetica Neue", Arial, sans-serif;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .site-header .mobile-menu-heading strong {
    color: #111;
    font-family: "FA Serif", Georgia, serif;
    font-size: 1.55rem;
    font-weight: 400;
  }

  .site-header .mobile-menu-inner {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 24px;
    padding: 6px 0 22px;
  }

  .site-header .mobile-menu-panel .mobile-menu-inner a {
    position: relative;
    display: grid;
    min-height: 58px;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    padding: 10px 13px 10px 16px;
    border-bottom: 1px solid #e6e6e6;
    color: #111;
    font-family: "FA Sans", "Helvetica Neue", Arial, sans-serif;
    font-size: 0.94rem;
    font-weight: 700;
    line-height: 1.2;
  }

  .site-header .mobile-menu-panel .mobile-menu-inner a::before {
    content: "";
    position: absolute;
    top: 17px;
    bottom: 17px;
    left: 0;
    width: 3px;
    background: var(--hover-color, var(--red));
  }

  .site-header .mobile-menu-panel .mobile-menu-inner a::after {
    display: none;
  }

  .site-header .mobile-menu-panel .mobile-menu-inner a:hover,
  .site-header .mobile-menu-panel .mobile-menu-inner a:focus-visible {
    background: #f6f6f6;
    color: var(--hover-color, var(--red));
  }

  .site-header .mobile-menu-panel .mobile-menu-inner i {
    color: #777;
    font-family: "FA Sans", "Helvetica Neue", Arial, sans-serif;
    font-size: 0.76rem;
    font-style: normal;
    font-weight: 400;
  }

  .site-header .mobile-menu-footer {
    display: flex;
    margin-top: auto;
    padding: 18px 0 26px;
    flex-wrap: wrap;
    gap: 10px 22px;
    border-top: 1px solid #dedede;
  }

  .site-header .mobile-menu-footer a {
    min-height: auto;
    padding: 0;
    border: 0;
    color: #606060;
    font-family: "FA Sans", "Helvetica Neue", Arial, sans-serif;
    font-size: 0.72rem;
    font-weight: 700;
  }

  .site-header .mobile-menu-footer a::after {
    display: none;
  }
}

@media (max-width: 760px) {
  .site-header {
    --mobile-header-height: 65px;
  }

  .site-header.is-condensed {
    --mobile-header-height: 51px;
  }

  .site-header.is-condensed .brand-inner {
    min-height: 50px;
  }

  .site-header.is-condensed .brand img {
    height: 31px;
  }

  .site-header .mobile-menu-heading {
    width: calc(100% - 32px);
    padding-top: 24px;
  }

  .site-header .mobile-menu-inner {
    grid-template-columns: 1fr;
    gap: 0;
    padding-top: 4px;
  }

  .site-header .mobile-menu-panel .mobile-menu-inner a {
    min-height: 52px;
    font-size: 0.9rem;
  }

  .site-header .mobile-menu-panel .mobile-menu-inner a::before {
    top: 15px;
    bottom: 15px;
  }

  .site-header .mobile-menu-footer {
    padding-bottom: max(22px, env(safe-area-inset-bottom));
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-header,
  .site-header *,
  .site-header *::before,
  .site-header *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

/* Unified FigureAsia serif navigation with a slightly stronger editorial weight. */
.site-header .nav-item > a,
.site-header.is-condensed .nav-item > a,
.site-header .mobile-menu-panel a {
  font-family: "FA Serif", Georgia, serif;
  font-weight: 500;
}

@media (max-width: 1080px) and (min-width: 1061px) {
  .site-header .nav-item > a,
  .site-header.is-condensed .nav-item > a {
    padding-inline: 6px;
  }

  .site-header .nav-item > a::after,
  .site-header.is-condensed .nav-item > a::after {
    left: 6px;
    right: 6px;
  }
}

@media (max-width: 1060px) {
  .site-header .mobile-menu-panel .mobile-menu-inner a,
  .site-header .mobile-menu-footer a {
    font-family: "FA Serif", Georgia, serif;
    font-weight: 500;
  }
}

/* Secondary recognition CTA beside the primary nomination action. */
.site-header .brand-actions,
.site-header.is-condensed .brand-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.site-header .awards-winner-link,
.site-header.is-condensed .awards-winner-link {
  border-color: #111;
  background: #111;
}

.site-header .awards-winner-link:hover,
.site-header .awards-winner-link:focus-visible {
  border-color: var(--red);
  background: var(--red);
}

@media (max-width: 1060px) {
  .site-header .brand-actions,
  .site-header.is-condensed .brand-actions {
    display: grid;
  }

  .site-header .awards-winner-link,
  .site-header.is-condensed .awards-winner-link {
    display: none;
  }

  .site-header .mobile-menu-panel .mobile-menu-inner .awards-winner-mobile-link {
    color: #fff;
    background: #111;
  }

  .site-header .mobile-menu-panel .mobile-menu-inner .awards-winner-mobile-link:hover,
  .site-header .mobile-menu-panel .mobile-menu-inner .awards-winner-mobile-link:focus-visible {
    color: #fff;
    background: var(--red);
  }
}

/* Nomination campaign placement follows the legacy FigureAsia hierarchy:
   above the sticky masthead on desktop, then after the news strip on mobile home. */
.header-nomination-promo,
.mobile-nomination-promo {
  display: none;
}

@media (min-width: 1061px) {
  /* Header height changes should not make the browser push the scroll position
     back in the opposite direction while the masthead is condensing. */
  body {
    overflow-anchor: none;
  }

  .header-nomination-promo {
    display: grid;
    place-items: start center;
    background: #fff;
  }

  .header-nomination-promo a {
    display: block;
    width: clamp(520px, 43.75vw, 760px);
  }

  .header-nomination-promo img {
    display: block;
    width: 100%;
    height: auto;
  }

  .site-header:not(.is-condensed) .brand-inner {
    min-height: 132px;
  }

  .site-header:not(.is-condensed) .brand img {
    height: 92px;
    max-width: min(52vw, 520px);
  }

}

@media (max-width: 1060px) {
  .mobile-nomination-promo {
    display: block;
    padding: 44px 20px 26px;
    background: #fff;
  }

  .mobile-nomination-promo a {
    display: block;
    width: min(100%, 720px);
    margin: 0 auto;
  }

  .mobile-nomination-promo img {
    display: block;
    width: 100%;
    height: auto;
  }
}

@media (max-width: 430px) {
  .mobile-nomination-promo {
    padding: 42px 20px 22px;
  }
}

/* Scroll-linked header motion — 2026-07-16.
   The wordmark is scaled on the compositor instead of animating its intrinsic
   height. Header geometry follows the current scroll frame directly, avoiding
   delayed easing and repeated image re-rasterisation. */
.site-header,
.site-header.is-condensed {
  --fa-brand-height: 132px;
  --fa-logo-box-height: 92px;
  --fa-logo-box-width: 436.15px;
  --fa-logo-scale: 1;
  --fa-action-scale: 1;
  --fa-meta-opacity: 1;
  --fa-nav-height: 48px;
  transition: box-shadow 140ms ease-out, border-color 140ms ease-out;
}

.site-header .brand-row {
  overflow: clip;
  contain: layout paint;
}

.site-header .brand-inner,
.site-header.is-condensed .brand-inner {
  min-height: var(--fa-brand-height);
  transition: none;
}

.site-header .brand,
.site-header.is-condensed .brand {
  display: grid;
  place-items: center;
  position: relative;
  width: var(--fa-logo-box-width);
  height: var(--fa-logo-box-height);
  min-height: 0;
  line-height: 0;
  transition: none;
}

.site-header .brand img,
.site-header.is-condensed .brand img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(var(--fa-logo-scale));
  transform-origin: center;
  will-change: transform;
  transition: none;
}

.site-header .issue-link,
.site-header.is-condensed .issue-link {
  min-height: 38px;
  padding: 8px 17px;
  transform: scale(var(--fa-action-scale));
  transform-origin: right center;
  will-change: transform;
  transition: background-color 140ms ease-out, border-color 140ms ease-out;
}

.site-header .local-time,
.site-header.is-condensed .local-time {
  opacity: var(--fa-meta-opacity);
  font-size: 0.76rem;
  transition: none;
}

.site-header .main-nav,
.site-header.is-condensed .main-nav,
.site-header .nav-item,
.site-header.is-condensed .nav-item,
.site-header .nav-item > a,
.site-header.is-condensed .nav-item > a {
  min-height: var(--fa-nav-height);
  transition: color 140ms ease-out, background-color 140ms ease-out, border-color 140ms ease-out;
}

@media (min-width: 1061px) {
  .site-header .brand img,
  .site-header.is-condensed .brand img {
    height: 92px;
    max-width: min(52vw, 520px);
  }
}

@media (max-width: 1060px) {
  .site-header,
  .site-header.is-condensed {
    --mobile-header-height: var(--fa-brand-height);
  }

  .site-header .brand,
  .site-header.is-condensed .brand {
    transform: translateX(-50%);
  }

  .site-header .brand-inner,
  .site-header.is-condensed .brand-inner {
    min-height: var(--fa-brand-height);
  }

  .site-header .brand img,
  .site-header.is-condensed .brand img {
    height: 46px;
  }
}

@media (max-width: 760px) {
  .site-header .brand img,
  .site-header.is-condensed .brand img {
    height: 39px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-header .brand img,
  .site-header.is-condensed .brand img,
  .site-header .issue-link,
  .site-header.is-condensed .issue-link {
    will-change: auto;
  }
}

/* Generic face-safe crop for every Asia Leaders surface.
   Existing card dimensions, ratios and layouts remain unchanged. Anchoring
   the crop to the upper centre preserves heads and faces across typical
   portrait, square and landscape editorial photography, including future
   articles, without person-specific rules. */
.site-header .nav-item-leadership .nav-mega-grid img.leadership-face-image,
.home-page img.leadership-face-image,
.leadership-archive img.leadership-face-image,
.site-header .nav-mega-grid img.person-face-image,
.home-page img.person-face-image,
.leadership-archive img.person-face-image,
.category-archive img.person-face-image {
  object-fit: cover;
  object-position: var(--face-x, 50%) var(--face-y, 24%) !important;
}

/* Mobile masthead and compact navigation sheet — 2026-07-16.
   This final layer is deliberately limited to the hamburger breakpoint. */
.mobile-menu-magazine-wrap {
  display: none;
}

@media (max-width: 1060px) {
  .site-header,
  .site-header.is-condensed {
    --mobile-header-height: var(--fa-brand-height);
  }

  .site-header .brand-inner,
  .site-header.is-condensed .brand-inner {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) 48px;
    align-items: center;
    min-height: var(--fa-brand-height);
    padding-inline: max(16px, env(safe-area-inset-left));
  }

  .site-header .brand,
  .site-header.is-condensed .brand {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    grid-column: auto;
    justify-self: auto;
    transform: translate(-50%, -50%);
  }

  .site-header .brand-actions,
  .site-header.is-condensed .brand-actions {
    display: flex;
    grid-column: 3;
    justify-self: end;
    margin: 0;
  }

  .site-header .mobile-menu-toggle {
    display: grid;
    width: 42px;
    height: 42px;
    padding: 9px;
    place-content: center;
    gap: 5px;
    border: 1px solid transparent;
    border-radius: 50%;
    background: transparent;
    transition:
      background-color 180ms ease,
      border-color 180ms ease,
      transform 240ms cubic-bezier(0.22, 1, 0.36, 1);
  }

  .site-header .mobile-menu-toggle:hover,
  .site-header .mobile-menu-toggle:focus-visible,
  .site-header .mobile-menu-toggle[aria-expanded="true"] {
    border-color: #e4e4e4;
    background: #f5f5f5;
  }

  .site-header .mobile-menu-toggle:active {
    transform: scale(0.94);
  }

  .site-header .mobile-menu-toggle span {
    width: 21px;
    height: 1.5px;
    transform-origin: center;
    transition:
      transform 260ms cubic-bezier(0.22, 1, 0.36, 1),
      opacity 150ms ease;
  }

  .site-header .mobile-menu-panel {
    height: auto;
    max-height: calc(100dvh - var(--mobile-header-height) - 10px);
    border: 0;
    border-top: 1px solid #e5e5e5;
    border-radius: 0 0 18px 18px;
    background: rgba(255, 255, 255, 0.985);
    box-shadow: 0 28px 64px rgba(17, 17, 17, 0.18);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    transform: translateY(-8px) scale(0.992);
    transform-origin: top center;
    transition:
      opacity 180ms ease,
      transform 300ms cubic-bezier(0.22, 1, 0.36, 1),
      visibility 0s linear 300ms;
  }

  .site-header .mobile-menu-panel.is-open {
    transform: translateY(0) scale(1);
  }

  .site-header .mobile-menu-shell {
    min-height: 0;
    padding-bottom: max(14px, env(safe-area-inset-bottom));
  }

  .site-header .mobile-menu-heading {
    width: min(var(--max), calc(100% - 32px));
    padding: 16px 0 11px;
    border-bottom: 0;
  }

  .site-header .mobile-menu-heading span {
    font-size: 0.62rem;
    letter-spacing: 0.12em;
  }

  .site-header .mobile-menu-heading strong {
    font-size: 1.22rem;
  }

  .site-header .mobile-menu-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding-top: 0;
    padding-bottom: 10px;
  }

  .site-header .mobile-menu-actions .mobile-menu-action {
    display: flex;
    min-height: 46px;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 11px 13px;
    border: 0;
    border-radius: 10px;
    color: #fff;
    font-family: "FA Sans", "Helvetica Neue", Arial, sans-serif;
    font-size: 0.73rem;
    font-weight: 800;
    letter-spacing: 0.055em;
    line-height: 1.1;
    text-transform: uppercase;
    opacity: 0;
    transform: translateY(-4px);
    transition:
      transform 200ms cubic-bezier(0.22, 1, 0.36, 1),
      filter 160ms ease,
      opacity 180ms ease;
  }

  .site-header .mobile-menu-actions .mobile-menu-action::before,
  .site-header .mobile-menu-actions .mobile-menu-action::after {
    display: none;
  }

  .site-header .mobile-menu-actions .mobile-menu-action:hover,
  .site-header .mobile-menu-actions .mobile-menu-action:focus-visible {
    color: #fff;
    filter: brightness(0.93);
    transform: translateY(-1px);
  }

  .site-header .mobile-menu-actions .mobile-menu-action i {
    color: inherit;
    font-size: 0.78rem;
    font-style: normal;
  }

  .site-header .mobile-menu-action-nomination {
    background: var(--red);
  }

  .site-header .mobile-menu-action-awards {
    background: #111;
  }

  .site-header .mobile-menu-panel.is-open .mobile-menu-action {
    opacity: 1;
    transform: translateY(0);
  }

  .site-header .mobile-menu-panel.is-open .mobile-menu-action:nth-child(1) {
    transition-delay: 45ms;
  }

  .site-header .mobile-menu-panel.is-open .mobile-menu-action:nth-child(2) {
    transition-delay: 70ms;
  }

  .site-header .mobile-menu-inner {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    padding: 0 0 12px;
  }

  .site-header .mobile-menu-panel .mobile-menu-inner .mobile-menu-link {
    position: relative;
    min-height: 44px;
    overflow: hidden;
    padding: 8px 10px 8px 15px;
    border: 1px solid #e7e7e7;
    border-radius: 9px;
    background: #fafafa;
    font-family: "FA Serif", Georgia, serif;
    font-size: 0.78rem;
    font-weight: 500;
    line-height: 1.12;
    opacity: 0;
    transform: translateY(-3px);
    transition:
      color 160ms ease,
      background-color 160ms ease,
      border-color 160ms ease,
      transform 220ms cubic-bezier(0.22, 1, 0.36, 1),
      opacity 180ms ease;
  }

  .site-header .mobile-menu-panel .mobile-menu-inner .mobile-menu-link::before {
    position: absolute;
    top: 9px;
    bottom: 9px;
    left: 0;
    display: block;
    width: 2px;
    border-radius: 0 2px 2px 0;
    background: var(--hover-color, var(--red));
    content: "";
    opacity: 0.92;
  }

  .site-header .mobile-menu-panel .mobile-menu-inner .mobile-menu-link::after {
    display: none;
  }

  .site-header .mobile-menu-panel .mobile-menu-inner .mobile-menu-link:hover,
  .site-header .mobile-menu-panel .mobile-menu-inner .mobile-menu-link:focus-visible {
    border-color: color-mix(in srgb, var(--hover-color, var(--red)) 36%, #e7e7e7);
    background: #fff;
    color: var(--hover-color, var(--red));
    transform: translateY(-1px);
  }

  .site-header .mobile-menu-panel .mobile-menu-inner .mobile-menu-link i {
    color: #999;
    font-size: 0.65rem;
  }

  .site-header .mobile-menu-panel.is-open .mobile-menu-inner .mobile-menu-link {
    opacity: 1;
    transform: translateY(0);
  }

  .site-header .mobile-menu-panel.is-open .mobile-menu-inner .mobile-menu-link:nth-child(-n + 4) {
    transition-delay: 75ms;
  }

  .site-header .mobile-menu-panel.is-open .mobile-menu-inner .mobile-menu-link:nth-child(n + 5):nth-child(-n + 8) {
    transition-delay: 100ms;
  }

  .site-header .mobile-menu-panel.is-open .mobile-menu-inner .mobile-menu-link:nth-child(n + 9) {
    transition-delay: 125ms;
  }

  .site-header .mobile-menu-magazine-wrap {
    display: block;
    padding: 0 0 9px;
  }

  .site-header .mobile-menu-magazine-feature {
    position: relative;
    display: grid;
    min-height: 82px;
    grid-template-columns: minmax(0, 1fr) 42px;
    grid-template-rows: auto auto auto;
    gap: 0 14px;
    align-items: center;
    overflow: hidden;
    padding: 13px 15px 13px 17px;
    border: 1px solid #d9d2c8;
    border-radius: 12px;
    background:
      radial-gradient(circle at 84% 18%, rgba(185, 40, 45, 0.09), transparent 28%),
      linear-gradient(108deg, #fbf8f2 0%, #f1ece3 100%);
    box-shadow: 0 8px 20px rgba(17, 17, 17, 0.08);
    color: #151515;
    opacity: 0;
    transform: translateY(-3px);
    transition:
      border-color 160ms ease,
      box-shadow 180ms ease,
      transform 240ms cubic-bezier(0.22, 1, 0.36, 1),
      opacity 180ms ease;
  }

  .site-header .mobile-menu-magazine-feature::before {
    position: absolute;
    top: 0;
    left: 17px;
    width: 54px;
    height: 3px;
    background: #b9282d;
    content: "";
  }

  .site-header .mobile-menu-magazine-feature::after {
    display: none;
  }

  .site-header .mobile-menu-magazine-feature:hover,
  .site-header .mobile-menu-magazine-feature:focus-visible {
    border-color: #b9282d;
    box-shadow: 0 11px 24px rgba(17, 17, 17, 0.12);
    color: #151515;
    transform: translateY(-1px);
  }

  .site-header .mobile-menu-magazine-feature:focus-visible {
    outline: 2px solid #b9282d;
    outline-offset: 2px;
  }

  .site-header .mobile-menu-magazine-kicker,
  .site-header .mobile-menu-magazine-feature > strong,
  .site-header .mobile-menu-magazine-feature > small {
    grid-column: 1;
  }

  .site-header .mobile-menu-magazine-kicker {
    color: #b9282d;
    font-family: "FA Sans", "Helvetica Neue", Arial, sans-serif;
    font-size: 0.56rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    line-height: 1;
    text-transform: uppercase;
  }

  .site-header .mobile-menu-magazine-feature > strong {
    margin-top: 3px;
    color: #151515;
    font-family: "FA Serif", Georgia, serif;
    font-size: 1.08rem;
    font-weight: 600;
    line-height: 1.05;
  }

  .site-header .mobile-menu-magazine-feature > small {
    margin-top: 4px;
    color: #6f6962;
    font-family: "FA Sans", "Helvetica Neue", Arial, sans-serif;
    font-size: 0.6rem;
    font-weight: 600;
    line-height: 1.15;
  }

  .site-header .mobile-menu-magazine-folio {
    display: flex;
    width: 40px;
    height: 52px;
    grid-column: 2;
    grid-row: 1 / 4;
    padding: 6px 6px 5px 8px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    border-left: 3px solid #b9282d;
    background: #171717;
    box-shadow: 3px 4px 0 rgba(185, 40, 45, 0.11);
    color: #fff;
    transition: transform 200ms cubic-bezier(0.22, 1, 0.36, 1);
  }

  .site-header .mobile-menu-magazine-folio b {
    color: #fff;
    font-family: "FA Serif", Georgia, serif;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: -0.02em;
    line-height: 1;
  }

  .site-header .mobile-menu-magazine-folio i {
    align-self: flex-end;
    color: #fff;
    font-family: "FA Sans", "Helvetica Neue", Arial, sans-serif;
    font-size: 0.76rem;
    font-style: normal;
    line-height: 1;
  }

  .site-header .mobile-menu-magazine-feature:hover .mobile-menu-magazine-folio,
  .site-header .mobile-menu-magazine-feature:focus-visible .mobile-menu-magazine-folio {
    transform: translateX(2px);
  }

  .site-header .mobile-menu-panel.is-open .mobile-menu-magazine-feature {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 135ms;
  }

  .site-header .mobile-menu-lists-wrap {
    padding: 0 0 11px;
  }

  .site-header .mobile-menu-lists-feature {
    position: relative;
    display: grid;
    min-height: 82px;
    grid-template-columns: minmax(0, 1fr) 34px;
    grid-template-rows: auto auto auto;
    align-items: center;
    overflow: hidden;
    padding: 13px 14px 13px 17px;
    border: 1px solid #222;
    border-radius: 12px;
    background:
      radial-gradient(circle at 82% 20%, rgba(236, 53, 53, 0.22), transparent 31%),
      linear-gradient(135deg, #0d0d0d 0%, #191919 100%);
    box-shadow: 0 10px 24px rgba(17, 17, 17, 0.12);
    color: #fff;
    opacity: 0;
    transform: translateY(-3px);
    transition:
      border-color 160ms ease,
      box-shadow 180ms ease,
      transform 240ms cubic-bezier(0.22, 1, 0.36, 1),
      opacity 180ms ease;
  }

  .site-header .mobile-menu-lists-feature::before {
    position: absolute;
    top: 13px;
    bottom: 13px;
    left: 0;
    width: 3px;
    border-radius: 0 3px 3px 0;
    background: var(--red);
    content: "";
  }

  .site-header .mobile-menu-lists-feature::after {
    display: none;
  }

  .site-header .mobile-menu-lists-feature:hover,
  .site-header .mobile-menu-lists-feature:focus-visible {
    border-color: var(--red);
    box-shadow: 0 12px 28px rgba(17, 17, 17, 0.18);
    color: #fff;
    transform: translateY(-1px);
  }

  .site-header .mobile-menu-lists-kicker,
  .site-header .mobile-menu-lists-feature strong,
  .site-header .mobile-menu-lists-feature small {
    grid-column: 1;
  }

  .site-header .mobile-menu-lists-kicker {
    color: var(--red);
    font-family: "FA Sans", "Helvetica Neue", Arial, sans-serif;
    font-size: 0.56rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    line-height: 1;
    text-transform: uppercase;
  }

  .site-header .mobile-menu-lists-feature strong {
    margin-top: 3px;
    color: #fff;
    font-family: "FA Serif", Georgia, serif;
    font-size: 1.08rem;
    font-weight: 600;
    line-height: 1.05;
  }

  .site-header .mobile-menu-lists-feature small {
    margin-top: 4px;
    color: rgba(255, 255, 255, 0.64);
    font-family: "FA Sans", "Helvetica Neue", Arial, sans-serif;
    font-size: 0.6rem;
    font-weight: 600;
    line-height: 1.15;
  }

  .site-header .mobile-menu-lists-feature i {
    display: grid;
    width: 30px;
    height: 30px;
    grid-column: 2;
    grid-row: 1 / 4;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 50%;
    color: #fff;
    font-family: "FA Sans", "Helvetica Neue", Arial, sans-serif;
    font-size: 0.9rem;
    font-style: normal;
    transition:
      background-color 160ms ease,
      border-color 160ms ease,
      transform 200ms cubic-bezier(0.22, 1, 0.36, 1);
  }

  .site-header .mobile-menu-lists-feature:hover i,
  .site-header .mobile-menu-lists-feature:focus-visible i {
    border-color: var(--red);
    background: var(--red);
    transform: translateX(2px);
  }

  .site-header .mobile-menu-panel.is-open .mobile-menu-lists-feature {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 145ms;
  }

  .site-header .mobile-menu-footer {
    display: flex;
    margin-top: 0;
    padding: 10px 0 0;
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: 10px;
    border-top: 1px solid #e4e4e4;
  }

  .site-header .mobile-menu-footer a {
    color: #777;
    font-family: "FA Sans", "Helvetica Neue", Arial, sans-serif;
    font-size: 0.62rem;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
  }
}

@media (max-width: 430px) {
  .site-header .brand-inner,
  .site-header.is-condensed .brand-inner {
    grid-template-columns: 44px minmax(0, 1fr) 44px;
    padding-inline: 14px;
  }

  .site-header .mobile-menu-heading {
    width: calc(100% - 28px);
    padding-top: 13px;
    padding-bottom: 9px;
  }

  .site-header .mobile-menu-actions,
  .site-header .mobile-menu-inner,
  .site-header .mobile-menu-magazine-wrap,
  .site-header .mobile-menu-lists-wrap,
  .site-header .mobile-menu-footer {
    width: calc(100% - 28px);
  }

  .site-header .mobile-menu-panel .mobile-menu-inner .mobile-menu-link {
    min-height: 42px;
    padding: 8px 10px 8px 14px;
    font-size: 0.74rem;
  }

  .site-header .mobile-menu-lists-feature {
    min-height: 76px;
    padding-top: 11px;
    padding-bottom: 11px;
  }

  .site-header .mobile-menu-magazine-feature {
    min-height: 76px;
    padding-top: 11px;
    padding-bottom: 11px;
  }

  .site-header .mobile-menu-magazine-folio {
    height: 48px;
  }

  .site-header .mobile-menu-footer a {
    font-size: 0.58rem;
  }

  .site-header .mobile-menu-footer {
    display: none;
  }
}

/*
 * Leadership reported features use complete media-library photographs on
 * article pages. Archive cards retain a high focal crop for complete heads.
 * This override lives in the final shared stylesheet so it remains effective
 * if the main compiled stylesheet is refreshed.
 */
.article-page:not(.non-leadership-article) .article-hero img {
  height: auto;
  aspect-ratio: auto;
  object-fit: contain;
  object-position: center;
}
