/* Standalone photos stay intrinsic; paired cards share frames without stretching. */
.context-image { width: 100%; margin: 0; }
.context-image picture { display: block; }
.context-image img { display: block; width: 100%; max-width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; filter: none; }
.context-image figcaption { padding-block: 16px; font-size: 0.95rem; line-height: 1.6; }
.visual-feature { position: relative; isolation: isolate; width: 100%; background: #153e35; color: #fff; }
.visual-feature__media { margin: 0; min-width: 0; }
.visual-feature picture, .visual-links picture { display: block; }
.visual-feature .visual-feature__media img, .visual-links .visual-links__image img { display: block; width: 100%; max-width: none; height: auto; aspect-ratio: auto; filter: none; transform: none; }
.visual-feature__copy { padding: clamp(28px, 4vw, 80px); min-width: 0; }
.visual-feature__copy h2 { color: #fff; font-size: clamp(28px, 3.1vw, 56px); line-height: 1.12; letter-spacing: -.025em; max-width: 20ch; margin: 16px 0 24px; }
.visual-feature__copy p { color: #fff; max-width: 52ch; line-height: 1.65; }
.visual-feature__eyebrow { font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.visual-feature__link { display: inline-flex; align-items: center; gap: 28px; color: #fff; border-bottom: 1px solid #ffffff80; padding: 16px 0 10px; font-weight: 600; }
.visual-feature__link span, .visual-links__action span { transition: transform .2s ease; }
.visual-feature__link:hover span, .visual-links__tile:hover .visual-links__action span { transform: translate(3px, -3px); }
.visual-feature a:focus-visible, .visual-links a:focus-visible { outline: 3px solid #d5e6ad; outline-offset: -4px; }
.visual-feature--overlay { display: grid; }
.visual-feature--overlay .visual-feature__media, .visual-feature--overlay .visual-feature__copy { grid-area: 1 / 1; }
.visual-feature--overlay .visual-feature__media { align-self: center; }
.visual-feature--overlay::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(7,25,21,.91), rgba(7,25,21,.76) 43%, rgba(7,25,21,.05) 78%); pointer-events: none; }
.visual-feature--overlay .visual-feature__copy { align-self: center; z-index: 1; width: 52%; padding-left: clamp(28px, 5vw, 120px); }
.visual-feature--split { display: grid; grid-template-columns: 55% 45%; align-items: center; }
.visual-links { padding-top: clamp(48px, 6vw, 96px); }
.visual-links__heading { padding-bottom: 32px; }
.visual-links__heading h2 { max-width: 24ch; font-size: clamp(28px, 3vw, 48px); }
.visual-links__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; }
.visual-links__tile { position: relative; display: flex; flex-direction: column; background: #153e35; color: #fff; min-width: 0; text-decoration: none; }
.visual-links__image { position: relative; aspect-ratio: 16 / 10; flex: none; overflow: hidden; }
.visual-links__image picture { position: absolute; inset: 0; width: 100%; height: 100%; }
.visual-links .visual-links__image img { height: 100%; object-fit: cover; object-position: center; }
.visual-links__caption { position: relative; display: flex; flex: 1; flex-direction: column; padding: clamp(24px, 3vw, 56px); }
.visual-links__caption > span:first-child { font-size: 12px; text-transform: uppercase; letter-spacing: .1em; }
.visual-links__caption h3 { color: #fff; font-size: clamp(24px, 2.4vw, 38px); max-width: 24ch; line-height: 1.2; margin: 16px 0 24px; }
.visual-links__action { display: flex; gap: 24px; align-items: center; font-weight: 600; margin-top: auto; }
@media (min-width: 1400px) {
  .visual-links__tile { display: grid; aspect-ratio: 16 / 10; }
  .visual-links__image { position: absolute; inset: 0; aspect-ratio: auto; }
  .visual-links__caption { align-self: end; padding-top: 100px; background: linear-gradient(transparent, rgba(7,25,21,.95)); }
}

/* The homepage's paired photo links follow the same frame rule. */
.home-pro-context__gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; }
.home-pro-context-card figure { position: relative; aspect-ratio: 16 / 10; }
.home-pro-context-card figure picture { position: absolute; inset: 0; width: 100%; height: 100%; }
.home-pro-context-card figure img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
@media (max-width: 1100px) {
  .visual-feature--overlay { display: block; }
  .visual-feature--overlay::after { display: none; }
  .visual-feature--overlay .visual-feature__copy { width: 100%; }
  .visual-feature__copy h2 { max-width: 26ch; }
}
@media (max-width: 900px) {
  .visual-feature--split, .visual-links__grid, .home-pro-context__gallery { grid-template-columns: 1fr; }
  .visual-feature__copy { padding: 32px 24px 40px; }
  .home-pro-context-card__caption { position: relative; inset: auto; padding: 24px; }
  .home-pro-context-card::after { display: none; }
  .home-pro-context-card + .home-pro-context-card { border-left: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .visual-feature__link span, .visual-links__action span { transition: none; transform: none !important; }
}

/* Uncaptioned editorial photographs have no empty copy column or text scrim. */
.visual-feature--media-only{display:block;background:transparent}.visual-feature--media-only::after{display:none}
