@charset "UTF-8";
/* Featured News Grid replacement.
   IMPORTANT: keep this linked after style_home.css. */

/* Section shell */
.featured-news-grid {
  background-color: #000;
  color: #fff;
}

.featured-news-grid__heading {
  padding-bottom: 80px;
}

.featured-news-grid__title {
  margin: 0;
  padding-top: 17px;
  color: #fff;
  font-family: var(--font_regular);
  font-size: 50px;
  font-weight: normal;
  line-height: 54px;
}

@media only screen and (max-width: 991px) {
  .featured-news-grid__title {
    font-size: 40px;
  }
}

@media only screen and (max-width: 767px) {
  .featured-news-grid__heading {
    padding-bottom: 50px;
  }

  .featured-news-grid__title {
    font-size: 30px;
    line-height: 36px;
  }
}

/* Original news-grid/card sizing from the News page */
/* === works-section-12 News Grid === */
.works-section-12__wrapper {
	--news-grid-line: rgba(17, 17, 17, 0.12);
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	column-gap: 0;
	row-gap: 56px;
	align-items: start;
	padding-top: 0;
	background-image: none;
	background-repeat: no-repeat;
	background-size: 100% 100%;
}

.works-section-12__wrapper.has-1-grid-divider {
	background-image:
		linear-gradient(to right, transparent calc(25% - 0.5px), var(--news-grid-line) calc(25% - 0.5px), var(--news-grid-line) calc(25% + 0.5px), transparent calc(25% + 0.5px));
}

.works-section-12__wrapper.has-2-grid-dividers {
	background-image:
		linear-gradient(to right, transparent calc(25% - 0.5px), var(--news-grid-line) calc(25% - 0.5px), var(--news-grid-line) calc(25% + 0.5px), transparent calc(25% + 0.5px)),
		linear-gradient(to right, transparent calc(50% - 0.5px), var(--news-grid-line) calc(50% - 0.5px), var(--news-grid-line) calc(50% + 0.5px), transparent calc(50% + 0.5px));
}

.works-section-12__wrapper.has-3-grid-dividers {
	background-image:
		linear-gradient(to right, transparent calc(25% - 0.5px), var(--news-grid-line) calc(25% - 0.5px), var(--news-grid-line) calc(25% + 0.5px), transparent calc(25% + 0.5px)),
		linear-gradient(to right, transparent calc(50% - 0.5px), var(--news-grid-line) calc(50% - 0.5px), var(--news-grid-line) calc(50% + 0.5px), transparent calc(50% + 0.5px)),
		linear-gradient(to right, transparent calc(75% - 0.5px), var(--news-grid-line) calc(75% - 0.5px), var(--news-grid-line) calc(75% + 0.5px), transparent calc(75% + 0.5px));
}

@media only screen and (max-width: 1199px) {
	.works-section-12__wrapper.has-1-grid-divider {
		background-image:
			linear-gradient(to right, transparent calc(33.333% - 0.5px), var(--news-grid-line) calc(33.333% - 0.5px), var(--news-grid-line) calc(33.333% + 0.5px), transparent calc(33.333% + 0.5px));
	}

	.works-section-12__wrapper.has-2-grid-dividers,
	.works-section-12__wrapper.has-3-grid-dividers {
		background-image:
			linear-gradient(to right, transparent calc(33.333% - 0.5px), var(--news-grid-line) calc(33.333% - 0.5px), var(--news-grid-line) calc(33.333% + 0.5px), transparent calc(33.333% + 0.5px)),
			linear-gradient(to right, transparent calc(66.666% - 0.5px), var(--news-grid-line) calc(66.666% - 0.5px), var(--news-grid-line) calc(66.666% + 0.5px), transparent calc(66.666% + 0.5px));
	}
}

@media only screen and (max-width: 991px) {
	.works-section-12__wrapper.has-1-grid-divider,
	.works-section-12__wrapper.has-2-grid-dividers,
	.works-section-12__wrapper.has-3-grid-dividers {
		background-image:
			linear-gradient(to right, transparent calc(50% - 0.5px), var(--news-grid-line) calc(50% - 0.5px), var(--news-grid-line) calc(50% + 0.5px), transparent calc(50% + 0.5px));
	}
}

@media only screen and (max-width: 575px) {
	.works-section-12__wrapper.has-1-grid-divider,
	.works-section-12__wrapper.has-2-grid-dividers,
	.works-section-12__wrapper.has-3-grid-dividers {
		background-image: none;
	}
}

.works-section-12__item {
	min-width: 0;
	padding-right: 14px;
	padding-left: 14px;
}

.works-section-12__item.is-grid-col-1 {
	padding-left: 0;
}

.works-section-12__item.is-grid-last-col {
	padding-right: 0;
}

.news-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	color: var(--primary);
	text-decoration: none;
}

.news-card:hover,
.news-card:focus,
.news-card:focus-visible {
	color: var(--primary);
	text-decoration: none;
}

.news-card__media {
	position: relative;
	display: block;
	width: 100%;
	height: 280px;
	aspect-ratio: auto;
	margin: 0 0 22px;
	overflow: hidden;
	background-color: #f4f4f4;
}

.works-section-12__item.is-short .news-card__media,
.news-card.is-short .news-card__media,
.news-card--short .news-card__media {
	height: 260px;
	aspect-ratio: auto;
}

.works-section-12__item.is-medium .news-card__media,
.news-card.is-medium .news-card__media,
.news-card--medium .news-card__media {
	height: auto;
	aspect-ratio: 1 / 1;
}

.works-section-12__item.is-tall .news-card__media,
.news-card.is-tall .news-card__media,
.news-card--tall .news-card__media {
	height: 520px;
	aspect-ratio: auto;
}

.news-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1);
	transform-origin: center center;
	transition: transform 0.65s cubic-bezier(0.19, 1, 0.22, 1);
	will-change: transform;
}

.news-card:hover .news-card__media img,
.news-card:focus-visible .news-card__media img {
	transform: scale(1.07);
}

.news-card__content {
	max-width: 92%;
	padding-bottom: 6px;
}

.news-card__category {
	display: inline-block;
	width: fit-content;
	padding: 5px 10px;
	margin-bottom: 14px;
	border: 1px solid rgba(17, 17, 17, 0.12);
	border-radius: 0;
	color: var(--black);
	font-size: 12px;
	font-weight: normal;
	line-height: 1;
	letter-spacing: normal;
	text-transform: uppercase;
	font-family: var(--font_light);
}

/* Keep category text clean on hover */
.news-card:hover .news-card__category {
	color: var(--black);
	text-decoration: none;
}

.news-card__title {
	margin: 0;
	color: var(--primary);
	font-family: var(--font_regular);
	font-size: 19px;
	font-weight: normal;
	line-height: 1.18;
	letter-spacing: normal;
	text-decoration: none;
	transition: none;
}

.news-card:hover .news-card__category,
.news-card:hover .news-card__title,
.news-card:focus-visible .news-card__category,
.news-card:focus-visible .news-card__title,
.news-card:focus-visible .news-card__date {
	color: inherit;
	text-decoration: none;
}

.news-card__date {
	display: block;
	margin-top: 11px;
	color: rgba(17, 17, 17, 0.48);
	font-family: var(--font_light);
	font-size: 14px;
	font-weight: normal;
	line-height: 1.2;
	letter-spacing: normal;
}

@media only screen and (max-width: 1199px) {
	.works-section-12__wrapper {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		row-gap: 50px;
		background-image:
			linear-gradient(to right, transparent calc(33.333% - 0.5px), var(--news-grid-line) calc(33.333% - 0.5px), var(--news-grid-line) calc(33.333% + 0.5px), transparent calc(33.333% + 0.5px)),
			linear-gradient(to right, transparent calc(66.666% - 0.5px), var(--news-grid-line) calc(66.666% - 0.5px), var(--news-grid-line) calc(66.666% + 0.5px), transparent calc(66.666% + 0.5px));
	}

	.news-card__title {
		font-size: 18px;
	}

	.works-section-12__item.is-short .news-card__media,
	.news-card.is-short .news-card__media,
	.news-card--short .news-card__media {
		height: 230px;
		aspect-ratio: auto;
	}

	.works-section-12__item.is-medium .news-card__media,
	.news-card.is-medium .news-card__media,
	.news-card--medium .news-card__media {
		height: auto;
		aspect-ratio: 1 / 1;
	}

	.works-section-12__item.is-tall .news-card__media,
	.news-card.is-tall .news-card__media,
	.news-card--tall .news-card__media {
		height: 430px;
		aspect-ratio: auto;
	}
}

@media only screen and (max-width: 991px) {
	.works-section-12__wrapper {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		row-gap: 44px;
		background-image:
			linear-gradient(to right, transparent calc(50% - 0.5px), var(--news-grid-line) calc(50% - 0.5px), var(--news-grid-line) calc(50% + 0.5px), transparent calc(50% + 0.5px));
	}

	.news-card__content {
		max-width: 100%;
	}

	.news-card__title {
		font-size: 18px;
		line-height: 1.22;
	}

	.works-section-12__item.is-short .news-card__media,
	.news-card.is-short .news-card__media,
	.news-card--short .news-card__media {
		height: 220px;
		aspect-ratio: auto;
	}

	.works-section-12__item.is-medium .news-card__media,
	.news-card.is-medium .news-card__media,
	.news-card--medium .news-card__media {
		height: auto;
		aspect-ratio: 1 / 1;
	}

	.works-section-12__item.is-tall .news-card__media,
	.news-card.is-tall .news-card__media,
	.news-card--tall .news-card__media {
		height: 400px;
		aspect-ratio: auto;
	}
}

@media only screen and (max-width: 575px) {
	.works-section-12__wrapper {
		grid-template-columns: 1fr;
		row-gap: 0;
		background-image: none;
	}

	.works-section-12__item,
	.works-section-12__item.is-grid-col-1,
	.works-section-12__item.is-grid-last-col {
		padding-right: 0;
		padding-left: 0;
		padding-bottom: 34px;
		margin-bottom: 34px;
		border-bottom: 1px solid rgba(17, 17, 17, 0.12);
	}

	.works-section-12__item:last-child {
		padding-bottom: 0;
		margin-bottom: 0;
		border-bottom: 0;
	}

	.news-card__media {
		margin-bottom: 18px;
	}

	/* Mobile thumb proportions stay consistent by class */
	.works-section-12__item.is-short .news-card__media,
	.news-card.is-short .news-card__media,
	.news-card--short .news-card__media {
		height: auto;
		aspect-ratio: 1.45 / 1;
	}

	.works-section-12__item.is-medium .news-card__media,
	.news-card.is-medium .news-card__media,
	.news-card--medium .news-card__media {
		height: auto;
		aspect-ratio: 1 / 1;
	}

	.works-section-12__item.is-tall .news-card__media,
	.news-card.is-tall .news-card__media,
	.news-card--tall .news-card__media {
		height: auto;
		aspect-ratio: 0.76 / 1;
	}

	.news-card__title {
		font-size: 17px;
	}
}

/* Dark color overrides */
.featured-news-grid .works-section-12__wrapper {
  --news-grid-line: rgba(255, 255, 255, 0.18);
}

.featured-news-grid .news-card,
.featured-news-grid .news-card:hover,
.featured-news-grid .news-card:focus,
.featured-news-grid .news-card:focus-visible {
  color: #fff;
}

.featured-news-grid .news-card__media {
  background-color: #111;
}

.featured-news-grid .news-card__category {
  color: rgba(255, 255, 255, 0.72);
  border-color: rgba(255, 255, 255, 0.28);
}

.featured-news-grid .news-card:hover .news-card__category,
.featured-news-grid .news-card:focus-visible .news-card__category {
  color: rgba(255, 255, 255, 0.72);
}

.featured-news-grid .news-card__title,
.featured-news-grid .news-card:hover .news-card__title,
.featured-news-grid .news-card:focus-visible .news-card__title {
  color: #fff;
}

.featured-news-grid .news-card__date,
.featured-news-grid .news-card:hover .news-card__date,
.featured-news-grid .news-card:focus-visible .news-card__date {
  color: rgba(255, 255, 255, 0.55);
}

@media only screen and (max-width: 767px) {
  /* Overrides the home stylesheet mobile rule that sets .works-section-12 background to white */
  main .featured-news-grid.works-section-12 {
    background-color: #000;
  }

  .featured-news-grid .works-section-12__item,
  .featured-news-grid .works-section-12__item.is-grid-col-1,
  .featured-news-grid .works-section-12__item.is-grid-last-col {
    border-bottom-color: rgba(255, 255, 255, 0.18);
  }
}

/* ============================================================
   Home featured grid: responsive fixes (scoped, News page safe)
   The section holds exactly 4 curated cards, so below desktop it
   keeps an even 2x2 instead of the news-page 3-column flow that
   strands the 4th card in an orphan row.
============================================================ */
@media only screen and (max-width: 1199px) {
  .featured-news-grid .works-section-12__wrapper {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    /* Desktop shows no vertical dividers here, so tablet doesn't either */
    background-image: none;
  }

  /* The hard-coded first/last column classes only match the 4-column
     desktop grid; in a 2-column grid, align gutters by position. */
  .featured-news-grid .works-section-12__item:nth-child(odd),
  .featured-news-grid .works-section-12__item.is-grid-col-1 {
    padding-left: 0;
    padding-right: 14px;
  }

  .featured-news-grid .works-section-12__item:nth-child(even),
  .featured-news-grid .works-section-12__item.is-grid-last-col {
    padding-left: 14px;
    padding-right: 0;
  }

  /* Proportional thumb heights so the short < medium < tall hierarchy
     holds at every 2-column width (fixed heights let the 1:1 "medium"
     card outgrow the fixed-height "tall" card). */
  .featured-news-grid .works-section-12__item.is-short .news-card__media {
    height: auto;
    aspect-ratio: 1.45 / 1;
  }

  .featured-news-grid .works-section-12__item.is-tall .news-card__media {
    height: auto;
    aspect-ratio: 0.82 / 1;
  }
}

@media only screen and (max-width: 575px) {
  .featured-news-grid .works-section-12__wrapper {
    grid-template-columns: 1fr;
    background-image: none;
  }

  /* Re-zero the tablet gutter rules above (equal-or-higher specificity
     than the generic single-column reset). */
  .featured-news-grid .works-section-12__item:nth-child(odd),
  .featured-news-grid .works-section-12__item:nth-child(even),
  .featured-news-grid .works-section-12__item.is-grid-col-1,
  .featured-news-grid .works-section-12__item.is-grid-last-col {
    padding-left: 0;
    padding-right: 0;
  }

  /* Single column: match the generic mobile ratios by class */
  .featured-news-grid .works-section-12__item.is-short .news-card__media {
    aspect-ratio: 1.45 / 1;
  }

  .featured-news-grid .works-section-12__item.is-tall .news-card__media {
    aspect-ratio: 0.76 / 1;
  }
}