/* Project landing refinements: CMS 105-110 only. */

/* Light cards inside dark sections must keep their own readable color context. */
.iad-project__content-section--tone-4 .iad-project__topic-card {
  background-color: #fff;
  color: var(--project-ink);
}

.iad-project__content-section--tone-4 .iad-project__topic-card h3,
.iad-project__content-section--tone-4 .iad-project__topic-card strong,
.iad-project__content-section--tone-4 .iad-project__topic-card b {
  color: var(--project-ink) !important;
}

.iad-project__content-section--tone-4 .iad-project__topic-card p,
.iad-project__content-section--tone-4 .iad-project__topic-card li {
  color: #3f4b43 !important;
}

.iad-project__content-section--tone-4 .iad-project__topic-card a {
  color: #275f3d !important;
}

.iad-project__content-section--tone-4 .iad-project__faq-list details {
  color: var(--project-ink);
}

.iad-project__content-section--tone-4 .iad-project__faq-list details p,
.iad-project__content-section--tone-4 .iad-project__faq-list details li {
  color: #3f4b43 !important;
}

/* Full-bleed green photographic hero, aligned with the technical-service family. */
.iad-project__hero {
  min-height: clamp(540px, 56vw, 680px);
  isolation: isolate;
  overflow: hidden;
  background: #092d1c;
}

.iad-project__hero::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(3, 24, 13, .97) 0%, rgba(5, 49, 26, .93) 42%, rgba(16, 105, 49, .67) 70%, rgba(31, 150, 67, .36) 100%),
    linear-gradient(rgba(157, 221, 93, .07) 1px, transparent 1px) 0 0 / 64px 64px,
    linear-gradient(90deg, rgba(157, 221, 93, .07) 1px, transparent 1px) 0 0 / 64px 64px,
    linear-gradient(180deg, rgba(14, 108, 43, .16), rgba(2, 18, 10, .58));
  pointer-events: none;
}

.iad-project__hero::after {
  z-index: 4;
}

.iad-project__hero-grid {
  position: static;
  display: block;
  padding-block: clamp(58px, 7vw, 88px);
}

.iad-project__hero-copy {
  position: relative;
  z-index: 3;
  max-width: 790px;
}

.iad-project__hero h1 {
  max-width: 780px;
  text-shadow: 0 3px 24px rgba(0, 0, 0, .32);
}

.iad-project__hero .iad-project__eyebrow {
  color: #a7e86d !important;
}

.iad-project__lead {
  color: rgba(255, 255, 255, .86) !important;
}

.iad-project__visual--media {
  position: absolute;
  z-index: 0;
  inset: 0;
  min-height: 100%;
  border-radius: 0;
  background: #092d1c;
  box-shadow: none;
}

.iad-project__visual--media::before,
.iad-project__visual--media::after {
  display: none;
}

.iad-project__media-picture {
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  border-radius: 0;
}

.iad-project__media-picture img {
  object-position: center;
  filter: saturate(.78) contrast(1.07);
}

.iad-project__media-grid {
  border-radius: 0;
  opacity: .42;
}

.iad-project__media-scan {
  opacity: .34;
}

@media (max-width: 768px) {
  .iad-project__hero {
    min-height: auto;
  }

  .iad-project__hero::before {
    background:
      linear-gradient(180deg, rgba(3, 25, 14, .96) 0%, rgba(5, 52, 28, .9) 60%, rgba(13, 92, 42, .8) 100%),
      linear-gradient(rgba(157, 221, 93, .06) 1px, transparent 1px) 0 0 / 48px 48px,
      linear-gradient(90deg, rgba(157, 221, 93, .06) 1px, transparent 1px) 0 0 / 48px 48px;
  }

  .iad-project__hero-grid {
    padding-block: 48px 38px;
  }

  .iad-project__hero-copy {
    max-width: 680px;
  }

  .iad-project__media-picture {
    aspect-ratio: auto;
  }
}

@media (max-width: 520px) {
  .iad-project__hero-grid {
    padding-block: 40px 30px;
  }

  .iad-project__visual--media {
    min-height: 100%;
    border-radius: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .iad-project__media-picture img,
  .iad-project__media-scan {
    animation: none !important;
  }
}
