/* News, updates and stories */
.homeNewsBand {
  display: grid;
  grid-template-columns: minmax(300px, 0.9fr) minmax(420px, 1.1fr);
  background: #151515;
  border-top: 1px solid #303030;
  border-bottom: 1px solid #303030;
}
.homeNewsImage { min-height: 560px; overflow: hidden; }
.homeNewsImage img { width: 100%; height: 100%; object-fit: cover; object-position: center 30%; }
.homeNewsCopy { padding: 90px clamp(28px, 7vw, 110px); align-self: center; }
.homeNewsCopy h2 { font-size: clamp(55px, 6vw, 92px); line-height: .88; margin: 24px 0 28px; }
.homeNewsCopy > p:last-of-type { max-width: 690px; color: #c8c8c5; font-size: 18px; line-height: 1.7; }
.homeNewsActions { display: flex; align-items: center; flex-wrap: wrap; gap: 28px; margin-top: 34px; }
.textLink { text-transform: uppercase; font-size: 12px; font-weight: 900; letter-spacing: .1em; border-bottom: 2px solid var(--red); padding-bottom: 6px; }
.newsArchiveHero { padding: 130px clamp(24px, 7vw, 110px) 100px; background: #0b0b0b; }
.newsArchiveHero > div { max-width: 980px; }
.newsArchiveHero h1 { font-size: clamp(72px, 10vw, 150px); line-height: .82; margin: 32px 0; }
.newsArchiveHero > div > p:last-child { max-width: 700px; color: #bbb; font-size: 20px; line-height: 1.65; }
.newsArchive { background: var(--paper); color: #111; padding: 100px clamp(24px, 7vw, 110px) 120px; }
.newsArchiveHead { margin-bottom: 50px; }
.newsArchiveHead h2 { font-size: clamp(52px, 6vw, 88px); line-height: .9; margin: 24px 0 0; }
.newsCard { display: grid; grid-template-columns: minmax(300px, .9fr) minmax(400px, 1.1fr); background: #111; color: #fff; overflow: hidden; }
.newsCardImage { min-height: 520px; overflow: hidden; }
.newsCardImage img { width: 100%; height: 100%; object-fit: cover; object-position: center 30%; transition: transform .35s ease; }
.newsCard:hover .newsCardImage img { transform: scale(1.025); }
.newsCardCopy { padding: clamp(35px, 6vw, 80px); align-self: center; }
.newsCardCopy span { color: var(--red); text-transform: uppercase; letter-spacing: .1em; font-size: 11px; font-weight: 900; }
.newsCardCopy h3 { font-size: clamp(38px, 4vw, 64px); line-height: .94; margin: 22px 0; }
.newsCardCopy p { color: #c2c2c0; line-height: 1.7; font-size: 17px; }
.newsCardCopy strong { display: inline-block; margin-top: 20px; text-transform: uppercase; font-size: 12px; letter-spacing: .1em; }
.storyPage { background: var(--paper); color: #111; }
.storyHeader { padding: 100px clamp(24px, 9vw, 145px) 70px; background: #0b0b0b; color: #fff; }
.storyHeader > a { display: inline-block; color: #bbb; text-transform: uppercase; font-size: 11px; font-weight: 900; letter-spacing: .1em; margin-bottom: 65px; }
.storyHeader h1 { font-size: clamp(70px, 10vw, 145px); line-height: .82; margin: 28px 0 34px; max-width: 1200px; }
.storyDeck { max-width: 820px; color: #c9c9c6; font-size: clamp(20px, 2.2vw, 30px); line-height: 1.45; }
.storyHeroImage { margin: 0; height: min(82vh, 920px); overflow: hidden; background: #111; }
.storyHeroImage img { width: 100%; height: 100%; object-fit: cover; object-position: center 28%; }
.storyBody { max-width: 900px; margin: 0 auto; padding: 90px 24px 120px; }
.storyBody p { color: #444; font-size: 19px; line-height: 1.85; margin: 0 0 28px; }
.storyBody .storyLead { color: #111; font-size: 28px; line-height: 1.55; font-weight: 800; }
.storyBody h2 { font-size: clamp(38px, 5vw, 62px); line-height: .95; margin: 70px 0 24px; }
.storyPoster { max-width: 620px; margin: 75px auto 55px; }
.storyPoster img { width: 100%; }
.storyPoster figcaption { color: #666; font-size: 12px; text-align: center; margin-top: 12px; }
@media (max-width: 800px) {
  .homeNewsBand, .newsCard { grid-template-columns: 1fr; }
  .homeNewsImage, .newsCardImage { min-height: 430px; }
  .homeNewsCopy { padding: 65px 24px 75px; }
  .newsArchiveHero { padding: 90px 24px 70px; }
  .newsArchiveHero h1 { font-size: 68px; }
  .newsArchive { padding: 70px 24px 90px; }
  .newsCardCopy { padding: 38px 24px 48px; }
  .storyHeader { padding: 70px 24px 55px; }
  .storyHeader > a { margin-bottom: 45px; }
  .storyHeader h1 { font-size: 65px; }
  .storyHeroImage { height: 600px; }
  .storyBody { padding: 65px 24px 90px; }
  .storyBody .storyLead { font-size: 23px; }
}

/* News visual system — matched to the Old School/GCU section treatment */
.homeNewsBand {
  height: 310px;
  display: block;
  position: relative;
  overflow: hidden;
  background: #111;
}
.homeNewsBackground {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 31%;
  filter: grayscale(1) contrast(1.05);
  opacity: 0.72;
}
.homeNewsBand:after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(0,0,0,.98) 0%, rgba(0,0,0,.82) 47%, rgba(0,0,0,.18) 100%),
    linear-gradient(0deg, rgba(0,0,0,.48), transparent 62%);
}
.homeNewsCopy {
  position: relative;
  z-index: 2;
  width: 60%;
  height: 100%;
  margin-left: 0;
  padding: 27px 6vw 25px clamp(28px, 7vw, 110px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.homeNewsCopy h2 {
  font-family: Impact, sans-serif;
  font-size: clamp(42px, 4.4vw, 70px);
  line-height: .88;
  margin: 11px 0 9px;
}
.homeNewsCopy > p:last-of-type {
  max-width: 650px;
  color: #d0cfcc;
  font-size: 14px;
  line-height: 1.5;
  margin: 0;
}
.homeNewsActions {
  gap: 24px;
  margin-top: 15px;
}
.homeNewsActions .primaryButton {
  padding: 13px 18px;
}
.newsArchiveHero {
  min-height: 650px;
  padding: 0;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  background: #0b0b0b;
}
.newsArchiveHero > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 28%;
  filter: grayscale(1) contrast(1.05);
}
.newsArchiveHeroShade {
  position: absolute;
  inset: 0;
  width: 100%;
  max-width: none;
  background:
    linear-gradient(90deg, rgba(0,0,0,.98) 0%, rgba(0,0,0,.79) 48%, rgba(0,0,0,.2) 100%),
    linear-gradient(0deg, rgba(0,0,0,.6), transparent 58%);
}
.newsArchiveHeroCopy {
  position: relative;
  z-index: 2;
  width: 65%;
  max-width: 1050px;
  margin-left: 0;
  padding: 85px 6vw 85px clamp(24px, 7vw, 110px);
}
.newsArchiveHero h1 {
  font-family: Impact, sans-serif;
  font-size: clamp(72px, 9vw, 132px);
  line-height: .82;
  margin: 28px 0;
}
.newsArchiveHeroCopy > p:last-child {
  max-width: 650px;
  color: #bbb;
  font-size: 18px;
  line-height: 1.65;
}
.newsArchiveHead h2,
.newsCardCopy h3,
.storyHeader h1,
.storyBody h2 {
  font-family: Impact, "Arial Narrow", sans-serif;
}
.homeNewsCopy h2 em,
.newsArchiveHero h1 em,
.newsArchiveHead h2 em,
.storyHeader h1 em,
.storyBody h2 em {
  color: var(--red);
  font-style: normal;
}
.newsCard {
  min-height: 390px;
  position: relative;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.newsCardImage {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  object-position: center 30%;
  filter: grayscale(1) contrast(1.04);
}
.newsCardShade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(0,0,0,.98) 0%, rgba(0,0,0,.8) 48%, rgba(0,0,0,.15) 100%),
    linear-gradient(0deg, rgba(0,0,0,.45), transparent 62%);
}
.newsCardCopy {
  position: relative;
  z-index: 2;
  width: 60%;
  margin-left: 0;
  padding: 44px 6vw 44px clamp(30px, 7vw, 95px);
}
.newsCardCopy h3 {
  font-size: clamp(40px, 4vw, 62px);
  line-height: .9;
  margin: 18px 0;
}
.newsCardCopy p {
  line-height: 1.6;
  font-size: 16px;
}
.storyPage {
  background: #0b0b0b;
}
.storyHeader {
  min-height: 700px;
  padding: 0;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
}
.storyHeader > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 28%;
  filter: grayscale(1) contrast(1.05);
}
.storyHeaderShade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(0,0,0,.98) 0%, rgba(0,0,0,.8) 48%, rgba(0,0,0,.18) 100%),
    linear-gradient(0deg, rgba(0,0,0,.62), transparent 58%);
}
.storyHeaderCopy {
  position: relative;
  z-index: 2;
  width: 66%;
  margin-left: 0;
  padding: 80px 6vw 80px clamp(24px, 7vw, 110px);
}
.storyHeaderCopy > a {
  display: inline-block;
  color: #bbb;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .1em;
  margin-bottom: 45px;
}
.storyHeader h1 {
  font-size: clamp(68px, 8vw, 118px);
  line-height: .82;
  margin: 26px 0 30px;
}
.storyBody {
  max-width: 1050px;
  padding: 100px 50px 120px;
  background: var(--paper);
}
.storyBody .storyLead {
  padding-left: 28px;
  border-left: 6px solid var(--red);
}
.storyClosing {
  display: grid;
  grid-template-columns: minmax(260px, .75fr) minmax(320px, 1.25fr);
  gap: 60px;
  align-items: center;
  margin-top: 80px;
  padding-top: 70px;
  border-top: 2px solid #191919;
}
.storyClosing h2 {
  margin-top: 24px;
}
.storyPoster {
  margin: 0;
}
@media (max-width: 800px) {
  .homeNewsBand {
    height: 510px;
  }
  .homeNewsBand:after {
    background: linear-gradient(0deg, rgba(0,0,0,.98), rgba(0,0,0,.62) 60%, rgba(0,0,0,.08));
  }
  .homeNewsBackground {
    object-position: center 25%;
  }
  .homeNewsCopy {
    width: 100%;
    height: auto;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 32px 24px 38px;
  }
  .homeNewsCopy h2 {
    font-size: 50px;
  }
  .homeNewsCopy > p:last-of-type {
    display: none;
  }
  .newsArchiveHero,
  .storyHeader {
    min-height: 650px;
  }
  .newsArchiveHeroShade,
  .storyHeaderShade,
  .newsCardShade {
    background: linear-gradient(0deg, rgba(0,0,0,.98), rgba(0,0,0,.12));
  }
  .newsArchiveHeroCopy,
  .storyHeaderCopy {
    width: 100%;
    padding: 60px 24px;
  }
  .newsCard {
    min-height: 520px;
    align-items: flex-end;
  }
  .newsCardCopy {
    width: 100%;
    padding: 42px 24px;
  }
  .storyBody {
    padding: 65px 24px 90px;
  }
  .storyClosing {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}
