/* GRdesign article layout and hero overrides. Keep article-only rules here. */

/* Article hero exact shared-section geometry 20260712 */
@media screen and (min-width: 781px) {
  html body.t-page #body.is-article-page #header {
    position: relative !important;
    top: 24px !important;
    height: 400px !important;
    min-height: 400px !important;
    max-height: 400px !important;
    overflow: visible !important;
    background:
      linear-gradient(180deg, rgba(0, 0, 0, .95) 0%, rgba(0, 0, 0, .65) 45%, rgba(0, 0, 0, 0) 100%),
      linear-gradient(0deg, #121212 0%, rgba(18, 18, 18, 0) 30%),
      linear-gradient(90deg, rgba(0, 0, 0, .75) 0%, rgba(0, 0, 0, .2) 20%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, .2) 80%, rgba(0, 0, 0, .75) 100%),
      var(--article-hero-image, var(--shared-hero-image, url(header.webp))) center center / cover no-repeat !important;
  }

  html body.t-page #body.is-article-page .article-hero-stage {
    position: relative !important;
    top: 0 !important;
    height: 400px !important;
    min-height: 400px !important;
    max-height: 400px !important;
    margin-top: -400px !important;
    overflow: visible !important;
    background: none !important;
    z-index: 20 !important;
  }

  html body.t-page #body.is-article-page .article-hero-copy {
    position: absolute !important;
    top: 210px !important;
    left: 50% !important;
    width: min(760px, calc(100% - 48px)) !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: translateX(-50%) !important;
    z-index: 21 !important;
  }
}
/* Article hero exact shared stacking contexts 20260712 */
@media screen and (min-width: 781px) {
  html body.t-page #body.is-article-page #header {
    position: relative !important;
    z-index: 20 !important;
    isolation: auto !important;
    overflow: visible !important;
  }

  html body.t-page #body.is-article-page #header #colOne {
    position: relative !important;
    z-index: 24 !important;
    overflow: visible !important;
  }

  html body.t-page #body.is-article-page #header #rame,
  html body.t-page #body.is-article-page #header #rame > header,
  html body.t-page #body.is-article-page #header .grdesign_menu {
    overflow: visible !important;
  }

  html body.t-page #body.is-article-page #header .grdesign_menu {
    position: relative !important;
    z-index: 9100 !important;
  }

  html body.t-page #body.is-article-page .article-hero-stage {
    position: relative !important;
    z-index: 20 !important;
  }

  html body.t-page #body.is-article-page .article-hero-copy {
    position: absolute !important;
    z-index: 21 !important;
  }

  html body.t-page #body.is-article-page .article-hero-title-slot,
  html body.t-page #body.is-article-page .article-hero-title-slot h1 {
    position: relative !important;
    z-index: 22 !important;
  }
}
/* Article hero visible chrome above article image 20260712 */
@media screen and (min-width: 781px) {
  html body.t-page #body.is-article-page #header {
    background: transparent !important;
    z-index: 21 !important;
  }

  html body.t-page #body.is-article-page #header::before,
  html body.t-page #body.is-article-page #header::after {
    content: none !important;
    display: none !important;
    background: none !important;
  }

  html body.t-page #body.is-article-page .article-hero-stage {
    z-index: 20 !important;
  }

  html body.t-page #body.is-article-page .article-hero-vignette,
  html body.t-page #body.is-article-page .article-hero-bg {
    z-index: 0 !important;
  }

  html body.t-page #body.is-article-page .article-hero-copy {
    z-index: 21 !important;
    pointer-events: none !important;
  }

  html body.t-page #body.is-article-page #header #colOne {
    z-index: 24 !important;
  }

  html body.t-page #body.is-article-page #header .grdesign_menu {
    z-index: 9100 !important;
    pointer-events: auto !important;
  }
}
/* Article hero final split-layer order 20260712 */
@media screen and (min-width: 781px) {
  html body.t-page #body.is-article-page .article-hero-stage {
    z-index: auto !important;
    isolation: auto !important;
    background: none !important;
  }

  html body.t-page #body.is-article-page .article-hero-vignette,
  html body.t-page #body.is-article-page .article-hero-bg {
    z-index: 19 !important;
  }

  html body.t-page #body.is-article-page #header {
    z-index: 20 !important;
    background: url(header.webp) center top / cover no-repeat !important;
  }

  html body.t-page #body.is-article-page #header::before,
  html body.t-page #body.is-article-page #header::after {
    content: none !important;
    display: none !important;
  }

  html body.t-page #body.is-article-page .article-hero-copy {
    z-index: 21 !important;
    pointer-events: none !important;
  }

  html body.t-page #body.is-article-page .article-hero-title-slot,
  html body.t-page #body.is-article-page .article-hero-title-slot h1 {
    position: relative !important;
    z-index: 22 !important;
  }

  html body.t-page #body.is-article-page #header #colOne {
    z-index: 24 !important;
  }

  html body.t-page #body.is-article-page #header .grdesign_menu {
    z-index: 9100 !important;
    pointer-events: auto !important;
  }
}
/* Article header.webp same scale as homepage 20260712 */
@media screen and (min-width: 781px) {
  html body.t-page #body.is-article-page #header {
    background-image: url(header.webp) !important;
    background-position: center top !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
  }
}
/* Article header.webp homepage desktop width cap 20260712 */
@media screen and (min-width: 1366px) {
  html body.t-page #body.is-article-page #header {
    background: none !important;
  }

  html body.t-page #body.is-article-page #header::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    left: 50% !important;
    width: min(90%, 1749px) !important;
    height: 352px !important;
    transform: translateX(-50%) !important;
    background-image: url(header.webp) !important;
    background-position: center top !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    pointer-events: none !important;
    z-index: 3 !important;
  }
}
/* Article hero dual vertical overlay 20260712 */
html body.t-page #body.is-article-page .article-hero-bg {
  z-index: 18 !important;
}

html body.t-page #body.is-article-page .article-hero-vignette {
  z-index: 19 !important;
  opacity: 1 !important;
  background:
    linear-gradient(to top, rgba(18, 18, 18, 1) 0%, rgba(18, 18, 18, 0) 100%),
    linear-gradient(to bottom, rgba(0, 0, 0, .80) 0%, rgba(0, 0, 0, 0) 100%) !important;
  pointer-events: none !important;
}
/* Article hero overlay edge coverage 20260712 */
html body.t-page #body.is-article-page .article-hero-vignette {
  top: -10px !important;
  right: -20px !important;
  bottom: -10px !important;
  left: -20px !important;
  width: auto !important;
  height: auto !important;
  background-image:
    linear-gradient(to bottom, rgba(0, 0, 0, .80) 0%, rgba(0, 0, 0, 0) 100%),
    linear-gradient(to top, rgba(18, 18, 18, 1) 0%, rgba(18, 18, 18, 0) 100%) !important;
  background-size: 100% 100%, 100% 100% !important;
  background-position: center, center !important;
  background-repeat: no-repeat, no-repeat !important;
}
/* Article hero 25 percent taller with visible top fade 20260712 */
@media screen and (min-width: 781px) {
  html body.t-page #body.is-article-page .article-hero-stage {
    height: 500px !important;
    min-height: 500px !important;
    max-height: 500px !important;
    margin-top: -400px !important;
  }

  html body.t-page #body.is-article-page .article-hero-vignette {
    background-image:
      linear-gradient(to bottom,
        rgba(0, 0, 0, .80) 0%,
        rgba(0, 0, 0, .62) 24%,
        rgba(0, 0, 0, .30) 48%,
        rgba(0, 0, 0, 0) 78%,
        rgba(0, 0, 0, 0) 100%),
      linear-gradient(to top,
        rgba(18, 18, 18, 1) 0%,
        rgba(18, 18, 18, .72) 28%,
        rgba(18, 18, 18, 0) 100%) !important;
  }
}
/* Article top black fade above header artwork 20260712 */
@media screen and (min-width: 781px) {
  html body.t-page #body.is-article-page .article-hero-vignette {
    background-image:
      linear-gradient(to top,
        rgba(18, 18, 18, 1) 0%,
        rgba(18, 18, 18, .72) 28%,
        rgba(18, 18, 18, 0) 100%) !important;
  }

  html body.t-page #body.is-article-page #header::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    left: 0 !important;
    width: 100% !important;
    height: 500px !important;
    background:
      linear-gradient(to bottom,
        rgba(0, 0, 0, .80) 0%,
        rgba(0, 0, 0, .62) 24%,
        rgba(0, 0, 0, .30) 48%,
        rgba(0, 0, 0, 0) 78%,
        rgba(0, 0, 0, 0) 100%) !important;
    pointer-events: none !important;
    z-index: 4 !important;
  }
}
/* Article gradients only on perex image layer 20260712 */
@media screen and (min-width: 781px) {
  html body.t-page #body.is-article-page #header::after {
    content: none !important;
    display: none !important;
    background: none !important;
  }

  html body.t-page #body.is-article-page .article-hero-vignette {
    z-index: 19 !important;
    background-image:
      linear-gradient(to bottom,
        rgba(0, 0, 0, .80) 0%,
        rgba(0, 0, 0, .62) 24%,
        rgba(0, 0, 0, .30) 48%,
        rgba(0, 0, 0, 0) 78%,
        rgba(0, 0, 0, 0) 100%),
      linear-gradient(to top,
        rgba(18, 18, 18, 1) 0%,
        rgba(18, 18, 18, .72) 28%,
        rgba(18, 18, 18, 0) 100%) !important;
  }
}
/* Article perex full black top fade 20260712 */
@media screen and (min-width: 781px) {
  html body.t-page #body.is-article-page .article-hero-vignette {
    background-image:
      linear-gradient(to bottom,
        rgba(0, 0, 0, 1) 0%,
        rgba(0, 0, 0, .82) 22%,
        rgba(0, 0, 0, .48) 45%,
        rgba(0, 0, 0, .18) 65%,
        rgba(0, 0, 0, 0) 85%,
        rgba(0, 0, 0, 0) 100%),
      linear-gradient(to top,
        rgba(18, 18, 18, 1) 0%,
        rgba(18, 18, 18, .72) 28%,
        rgba(18, 18, 18, 0) 100%) !important;
  }
}
/* Article hero copy offset 50 down 200 left 20260712 */
@media screen and (min-width: 781px) {
  html body.t-page #body.is-article-page .article-hero-copy {
    top: 260px !important;
    left: calc(50% - 200px) !important;
    transform: translateX(-50%) !important;
  }
}
/* Article hero copy additional 50 down 20260712 */
@media screen and (min-width: 781px) {
  html body.t-page #body.is-article-page .article-hero-copy {
    top: 310px !important;
  }
}
/* Article hero copy below visible header artwork 20260712 */
@media screen and (min-width: 781px) {
  html body.t-page #body.is-article-page .article-hero-copy {
    top: 340px !important;
  }
}
/* Mobile article hero unified layered geometry 20260712 */
@media screen and (max-width: 780px) {
  html body.t-page #body.is-article-page #header {
    position: relative !important;
    z-index: 20 !important;
    overflow: visible !important;
    background: none !important;
  }

  html body.t-page #body.is-article-page #header #colOne {
    position: relative !important;
    z-index: 24 !important;
    overflow: visible !important;
  }

  html body.t-page #body.is-article-page #header .grdesign_menu {
    position: relative !important;
    z-index: 9100 !important;
    overflow: visible !important;
  }

  html body.t-page #body.is-article-page .article-hero-stage {
    position: relative !important;
    z-index: auto !important;
    isolation: auto !important;
    height: 580px !important;
    min-height: 580px !important;
    max-height: 580px !important;
    margin-top: -160px !important;
    overflow: visible !important;
    background: none !important;
  }

  html body.t-page #body.is-article-page .article-hero-bg {
    z-index: 18 !important;
  }

  html body.t-page #body.is-article-page .article-hero-vignette {
    z-index: 19 !important;
  }

  html body.t-page #body.is-article-page .article-hero-copy {
    position: absolute !important;
    top: 320px !important;
    left: 18px !important;
    width: calc(100% - 36px) !important;
    height: auto !important;
    transform: none !important;
    z-index: 21 !important;
    pointer-events: none !important;
  }

  html body.t-page #body.is-article-page .article-hero-title-slot,
  html body.t-page #body.is-article-page .article-hero-title-slot h1 {
    position: relative !important;
    z-index: 22 !important;
  }
}
/* Mobile article fixed chrome like homepage 20260712 */
@media screen and (max-width: 780px) {
  html body.t-page #body.is-article-page #header {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 160px !important;
    min-height: 160px !important;
    max-height: 160px !important;
    z-index: 2000 !important;
  }

  html body.t-page #body.is-article-page .article-hero-stage {
    margin-top: 0 !important;
  }
}
/* Tablet article hero copy safe viewport position 20260712 */
@media screen and (min-width: 781px) and (max-width: 1365px) {
  html body.t-page #body.is-article-page .article-hero-copy {
    top: 340px !important;
    left: clamp(32px, 7vw, 88px) !important;
    width: min(760px, calc(100% - 64px)) !important;
    max-width: calc(100% - 64px) !important;
    transform: none !important;
    box-sizing: border-box !important;
  }

  html body.t-page #body.is-article-page .article-hero-title-slot,
  html body.t-page #body.is-article-page .article-hero-title-slot h1 {
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
  }
}

/* Article detail spacing and perex tone 20260712 */
html body.t-page #body.is-article-page .article-perex {
  color: #f2a65a !important;
  line-height: 1.72 !important;
}
html body.t-page #body.is-article-page .article-content {
  max-width: 1282px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: clamp(24px, 3.2vw, 52px) !important;
  padding-left: clamp(24px, 3.2vw, 52px) !important;
  box-sizing: border-box !important;
}
html body.t-page #body.is-article-page .article-content > h2,
html body.t-page #body.is-article-page .article-content > h3 {
  clear: both;
  margin-top: clamp(72px, 7vw, 112px) !important;
  margin-bottom: clamp(30px, 3vw, 48px) !important;
}
html body.t-page #body.is-article-page .article-content > p {
  margin-bottom: clamp(22px, 2.2vw, 34px) !important;
}
html body.t-page #body.is-article-page .article-content img[style*="float: right"] {
  margin: 8px 0 34px clamp(28px, 4vw, 58px) !important;
}
html body.t-page #body.is-article-page .article-content img[style*="float: left"] {
  margin: 8px clamp(28px, 4vw, 58px) 34px 0 !important;
}
@media screen and (min-width: 1366px) {
  html body.t-page #body.is-article-page .article-hero-copy {
    left: calc(50% - 300px) !important;
  }
  html body.t-page #body.is-article-page .article-perex {
    margin-top: 112px !important;
    margin-bottom: 104px !important;
  }
}
@media screen and (max-width: 780px) {
  html body.t-page #body.is-article-page .article-perex {
    margin-top: 44px !important;
    margin-bottom: 58px !important;
    padding-right: 20px !important;
    padding-left: 20px !important;
    font-size: 1.05rem !important;
  }
  html body.t-page #body.is-article-page .article-content {
    padding-right: 20px !important;
    padding-left: 20px !important;
  }
  html body.t-page #body.is-article-page .article-content > h2,
  html body.t-page #body.is-article-page .article-content > h3 {
    margin-top: 58px !important;
    margin-bottom: 28px !important;
  }
  html body.t-page #body.is-article-page .article-content img[style*="float"] {
    float: none !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 22px 0 34px !important;
  }
}
/* Article detail width and conditional perex 20260712 */
html body.t-page #body.is-article-page .article-perex {
  color: #e8dccb !important;
}
@media screen and (min-width: 781px) {
  html body.t-page #body.is-article-page .article-content {
    width: calc(100% - 64px) !important;
    max-width: none !important;
    margin-right: 32px !important;
    margin-left: 32px !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  html body.t-page.has-article-perex-image #body.is-article-page .article-perex {
    width: auto !important;
    max-width: 820px !important;
  }
  html body.t-page.no-article-perex-image #body.is-article-page .article-perex {
    width: calc(100% - 64px) !important;
    max-width: none !important;
    margin-right: 32px !important;
    margin-left: 32px !important;
  }
}
@media screen and (max-width: 780px) {
  html body.t-page #body.is-article-page .article-perex {
    margin-top: 8px !important;
    margin-bottom: 42px !important;
  }
}@media screen and (min-width: 781px) and (max-width: 1365px) {
  html body.t-page #body.is-article-page .article-content,
  html body.t-page.no-article-perex-image #body.is-article-page .article-perex {
    width: auto !important;
    margin-right: clamp(32px, 7vw, 88px) !important;
    margin-left: clamp(32px, 7vw, 88px) !important;
  }
}
@media screen and (min-width: 1366px) {
  html body.t-page #body.is-article-page .article-content,
  html body.t-page.no-article-perex-image #body.is-article-page .article-perex {
    width: auto !important;
    margin-right: max(32px, calc(50% - 680px)) !important;
    margin-left: max(32px, calc(50% - 680px)) !important;
  }
}
/* Mobile article hero gap correction 20260712 */
@media screen and (max-width: 780px) {
  html body.t-page #body.is-article-page .article-hero-stage {
    height: 490px !important;
    min-height: 490px !important;
    max-height: 490px !important;
  }
  html body.t-page #body.is-article-page .article-perex {
    margin-top: 8px !important;
  }
}

/* Desktop article content width 80vw capped at 1600px */
@media screen and (min-width: 781px) {
  html body.t-page #body.is-article-page .article-content,
  html body.t-page.no-article-perex-image #body.is-article-page .article-perex {
    width: 80vw !important;
    max-width: 1600px !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }
  html body.t-page.has-article-perex-image #body.is-article-page .article-perex {
    width: auto !important;
    max-width: 820px !important;
  }
}