/* Civil hero cutout and clearer, tighter course-image framing. */

.ds-media {
  --ds-image-frame: var(--ds-program);
  border: 2px solid var(--ds-image-frame);
  box-shadow: 6px 6px 0 color-mix(in srgb, var(--ds-image-frame) 30%, transparent);
}

.ds-program-bce .ds-media {
  --ds-image-frame: #d94d3f;
}

[data-ds-theme="dark"] .ds-media {
  box-shadow: 6px 6px 0 color-mix(in srgb, var(--ds-image-frame) 42%, transparent);
}

.ds-hero-media picture {
  height: clamp(18rem, 62vw, 25rem);
}

.ds-chapter-media picture {
  height: clamp(21rem, 72vw, 28rem);
}

.ds-practice-media picture {
  min-height: 27rem;
}

.ds-career-media picture {
  height: clamp(22rem, 72vw, 28rem);
}

.ds-hero-cutout {
  display: none;
}

@media (min-width: 64rem) {
  .ds-hero-media picture {
    height: clamp(22rem, 37vh, 28rem);
  }

  .ds-chapter,
  .ds-chapter-media picture {
    min-height: 29rem;
  }

  .ds-chapter-media picture {
    height: 29rem;
  }

  .ds-practice {
    min-height: 32rem;
  }

  .ds-practice-media picture {
    min-height: 32rem;
  }

  .ds-career-media picture {
    height: clamp(25rem, 33vw, 30rem);
  }
}

@media (min-width: 72rem) {
  .ds-program-bce .ds-hero-copy {
    position: relative;
    min-height: clamp(34rem, 43vw, 39rem);
    overflow: hidden;
    isolation: isolate;
  }

  .ds-program-bce .ds-hero-copy > :not(.ds-hero-cutout) {
    position: relative;
    z-index: 2;
  }

  .ds-program-bce .ds-hero-deck {
    max-width: 36rem;
  }

  .ds-program-bce .ds-intake-note {
    grid-column: 1;
    grid-row: 6;
    align-self: start;
    max-width: 31rem;
    margin: .7rem 0 0;
  }

  .ds-program-bce .ds-hero-cutout {
    position: absolute;
    z-index: 1;
    top: 2.25rem;
    right: -1.25rem;
    bottom: 0;
    display: block;
    width: min(66%, 50rem);
    pointer-events: none;
  }

  .ds-program-bce .ds-hero-cutout::before {
    position: absolute;
    z-index: 0;
    right: 2.4rem;
    bottom: 1.75rem;
    width: 49%;
    height: 82%;
    border: 3px solid #d94d3f;
    background:
      linear-gradient(145deg, rgb(217 77 63 / 16%), transparent 48%),
      color-mix(in srgb, var(--ds-surface) 88%, transparent);
    content: "";
  }

  .ds-program-bce .ds-hero-cutout::after {
    position: absolute;
    z-index: 0;
    right: 1.5rem;
    bottom: 5.25rem;
    width: 3.5rem;
    height: 3.5rem;
    background: var(--ds-brand-lime);
    content: "";
  }

  .ds-program-bce .ds-hero-cutout img {
    position: absolute;
    z-index: 1;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: right bottom;
    filter: drop-shadow(0 18px 22px rgb(7 25 35 / 20%));
    transform: scale(1.48);
    transform-origin: 78% 100%;
  }

  .ds-program-bce .ds-hero-cutout-label {
    position: absolute;
    z-index: 2;
    right: 2.25rem;
    bottom: 1rem;
    padding: .48rem .7rem;
    background: #d94d3f;
    color: #fff;
    font-family: var(--ds-mono);
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
  }
}

@media (min-width: 72rem) and (max-width: 79.99rem) {
  .ds-program-bce .ds-hero-cutout {
    right: -4rem;
    width: 64%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ds-program-bce .ds-hero-cutout img {
    transform: scale(1.48);
  }
}
