/**
 * /esg-hub/ WordPress landing: ESG topic bar (`#header-stack`) under main masthead.
 * Uses `sticky` like standalone `index.html` (stack is a sibling of `.hero`, not nested under `#main-content`).
 * When the theme masthead is `.sticky` (fixed), offset `top` so the hub bar sits below it.
 */
body.esg-hub-landing-wp #main-content.esg-hub-landing-root {
  margin-top: revert;
  /* Sticky fails on iOS when any ancestor clips overflow; theme/Bootstrap often sets hidden on main. */
  overflow-x: visible;
  overflow-y: visible;
}

body.esg-hub-landing-wp #header-stack.header-stack {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 400;
}

/*
 * Masthead sticky uses z-index ~999 (.header-area.style-1.sticky); if the hub orange bar is lower,
 * taps on the ESG .nav-toggle are lost to invisible hit-testing on the masthead layer.
 */
@media (max-width: 900px) {
  body.esg-hub-landing-wp #header-stack.header-stack {
    z-index: 1100;
  }
}

@media (max-width: 767px) {
  body.esg-hub-landing-wp header.style-1.sticky ~ #header-stack.header-stack {
    top: clamp(52px, 18vw, 88px);
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  body.esg-hub-landing-wp header.style-1.sticky ~ #header-stack.header-stack {
    top: clamp(72px, 11vw, 110px);
  }
}

@media (min-width: 1200px) {
  body.esg-hub-landing-wp header.style-1.sticky ~ #header-stack.header-stack {
    top: clamp(88px, 9vw, 132px);
  }
}

/* This landing page only (`esg-hub-landing-wp-shell.css` loads only here). */
body.esg-hub-landing-wp header.style-1 {
  background-color: white;
}

/* Topic headings: tighter gap above link lists (bundle uses 16px; landing shell wins until /esg-hub/styles.css synced). */
body.esg-hub-landing-wp .topic-cell h3 {
  margin: 0 0 1px;
}

/* Topic grid cells: tighter vertical padding on WordPress landing (bundle default is heavier). */
body.esg-hub-landing-wp .topic-cell {
  padding: clamp(8px, 4vw, 0px) clamp(20px, 3vw, 32px);
}

/* Tighter spacing for topic-column link lists vs standalone bundle `.topic-cell li { margin-bottom: 10px }`. */
body.esg-hub-landing-wp .topic-cell li {
  margin-bottom: 0;
}

/*
 * Hub has its own mobile chrome (#header-stack). Hide the heavy theme masthead below `lg`/992px — same
 * range as Bootstrap collapsing nav (`d-lg-none` search/hamburger cluster).
 */
@media (max-width: 991px) {
  body.esg-hub-landing-wp header.header-area.style-1 {
    display: none !important;
  }

  /* Offset rules assumed a visible sticky masthead; pin the orange topic bar flush to the viewport top */
  body.esg-hub-landing-wp #header-stack.header-stack,
  body.esg-hub-landing-wp header.style-1.sticky ~ #header-stack.header-stack {
    top: 0 !important;
  }
}

/* Landing only: shorten hero versus full-viewport `/esg-hub/styles.css` .hero */
body.esg-hub-landing-wp .hero {
  height: 76vh;
  max-height: 76vh;
  min-height: 76vh;
  z-index: 2;
  overflow: visible;
}

body.esg-hub-landing-wp.esg-hub-landing-has-hero-banner .hero,
body.esg-hub-landing-wp .hero.hero--wp-banner {
  background-size: cover;
  background-position: right center;
  background-repeat: no-repeat;
}

body.esg-hub-landing-wp .topics {
  position: relative;
  z-index: 1;
}

body.esg-hub-landing-wp .search-wrap--live {
  z-index: 450;
}

body.esg-hub-landing-wp #hub-search-results.search-results-popover {
  z-index: 451;
}

body.esg-hub-landing-wp #hub-search-results a.search-result-link:hover,
body.esg-hub-landing-wp #hub-search-results a.search-result-link:focus-visible,
body.esg-hub-landing-wp #hub-search-results a.search-result-link:visited:hover,
body.esg-hub-landing-wp #hub-search-results a.search-result-link:visited:focus-visible {
  color: #000;
  text-decoration: none;
}

/* Parent strip + topic bar: keep “ESG Hub” out of default link blue (visited / focus). */
body.esg-hub-landing-wp .parent-site-masthead__utility-list a.parent-site-masthead__esg,
body.esg-hub-landing-wp .parent-site-masthead__utility-list a.parent-site-masthead__esg:link,
body.esg-hub-landing-wp .parent-site-masthead__utility-list a.parent-site-masthead__esg:visited,
body.esg-hub-landing-wp .parent-site-masthead__utility-list a.parent-site-masthead__esg:hover,
body.esg-hub-landing-wp .parent-site-masthead__utility-list a.parent-site-masthead__esg:focus,
body.esg-hub-landing-wp .parent-site-masthead__utility-list a.parent-site-masthead__esg:focus-visible,
body.esg-hub-landing-wp .parent-site-masthead__utility-list a.parent-site-masthead__esg:active {
  color: #6e6e6e !important;
  text-decoration: none !important;
}

body.esg-hub-landing-wp .parent-site-masthead__utility-list a.parent-site-masthead__esg:hover {
  color: #333333 !important;
}

body.esg-hub-landing-wp #header-stack a.logo,
body.esg-hub-landing-wp #header-stack a.logo:link,
body.esg-hub-landing-wp #header-stack a.logo:visited,
body.esg-hub-landing-wp #header-stack a.logo:hover,
body.esg-hub-landing-wp #header-stack a.logo:focus,
body.esg-hub-landing-wp #header-stack a.logo:focus-visible,
body.esg-hub-landing-wp #header-stack a.logo:active {
  color: #ffffff !important;
  text-decoration: none !important;
}

@supports (height: 100svh) {
  body.esg-hub-landing-wp .hero {
    height: 76svh;
    max-height: 66svh;
    min-height: 66svh;
  }
}

body.esg-hub-landing-wp .our-client-area {
  background: white;
}

body.esg-hub-landing-wp .cta {
  min-height: 45vh;
  min-height: 45dvh;
  justify-content: flex-start;
}

body.esg-hub-landing-wp .cta-inner {
  padding-block: clamp(48px, 8vw, 48px);
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(22px, 3.5vw, 36px);
  align-items: start;
}

/* Match News block: copy spans first two columns, profiles sit in the third. */
body.esg-hub-landing-wp .cta-left {
  grid-column: 1 / span 2;
  margin-top: 38px;
}

body.esg-hub-landing-wp .cta-right {
  grid-column: 3;
}

@media (max-width: 900px) {
  body.esg-hub-landing-wp .cta-inner {
    grid-template-columns: 1fr;
  }

  body.esg-hub-landing-wp .cta-left,
  body.esg-hub-landing-wp .cta-right {
    grid-column: 1;
  }
}
