.featured-projects__panel {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: 100svh;
  color: var(--color-alabaster);
  text-decoration: none;
  overflow: clip;
}
.featured-projects__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}
.featured-projects__img {
  position: absolute;
  top: -6%;
  left: 0;
  width: 100%;
  height: 112%;
  object-fit: cover;
  will-change: transform;
}
/* Background overlay — match the hero scrim. */
.featured-projects__panel::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0) 10%, rgba(0, 0, 0, 0.7) 74%),
    linear-gradient(90deg, rgba(0, 0, 0, 0.4) 0%, rgba(102, 102, 102, 0) 47%);
}
/* Fine technical grid (1px alabaster @ 8%) — match the hero. */
.featured-projects__panel::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  
}
/* No underline on hover (the whole panel is the link). */
.featured-projects__panel:hover,
.featured-projects__panel:focus-visible {
  text-decoration: none;
}
/* Text block sits in cols 1–7 of the 12-col grid; row-gap:0 keeps margin rhythm. */
.featured-projects__inner {
  position: relative;
  z-index: 3;
  padding-bottom: clamp(2rem, 5vw, 5rem);
  row-gap: 0;
}
.featured-projects__eyebrow {
  grid-column: 1 / span 7;
  font-size: var(--text-h7, 18px);
  margin: 0 0 var(--sp-sm);
}
.featured-projects__headline {
  grid-column: 1 / span 5;
  margin: 0 0 var(--sp-2xl);
  color: var(--color-alabaster);
}
.featured-projects__headline .grey-text {
  opacity: 0.65;
}
.featured-projects__caption {
  grid-column: 1 / span 7;
  font-size: var(--text-caption, 24px);
  margin: 0;
  opacity: 0.9;
}
@media (max-width: 768px) {
  .featured-projects__eyebrow,
  .featured-projects__headline,
  .featured-projects__caption {
    grid-column: 1 / -1;
  }
}
