/* NK Civic Hybrid 1.5.2 | Never crop transparent foreground portraits on mobile.
   Loaded last to neutralize legacy fixed-height and slide-overlay layout conflicts.
   The primary color is unchanged (#7D003D). */
@media (max-width: 900px) {
  .nk-mori-hero.nk-has-figure .nk-hero-layout,
  .nk-mori-hero.nk-has-figure.nk-figure-left .nk-hero-layout,
  .nk-mori-hero.nk-has-slideshow.nk-has-figure .nk-hero-layout,
  .nk-mori-hero.nk-has-slideshow.nk-has-figure.nk-figure-left .nk-hero-layout {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: clamp(14px, 3.8vw, 30px);
    min-height: 0;
    height: auto;
    padding-top: clamp(22px, 5vw, 46px);
    padding-bottom: 0;
  }
  .nk-mori-hero.nk-has-figure .nk-hero-layout .nk-hero-content,
  .nk-mori-hero.nk-has-figure.nk-figure-left .nk-hero-layout .nk-hero-content {
    position: relative;
    flex: 0 0 auto;
    order: 0;
    align-self: stretch;
    min-width: 0;
    width: 100%;
    max-width: 100%;
    min-height: 0;
    margin: 0;
    padding: 0;
    translate: none;
  }
  .nk-mori-hero.nk-has-figure .nk-hero-layout .nk-hero-figure,
  .nk-mori-hero.nk-has-figure.nk-figure-left .nk-hero-layout .nk-hero-figure {
    position: relative;
    inset: auto;
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    order: 1;
    align-self: center;
    z-index: 3;
    width: 100%;
    max-width: 100%;
    min-height: 0;
    height: auto;
    padding: 0;
    margin: 0;
    overflow: visible;
    opacity: var(--nk-figure-mobile-opacity, 1);
    pointer-events: none;
  }
  .nk-mori-hero.nk-has-figure .nk-hero-figure img.nk-hero-person {
    display: block;
    flex: 0 1 auto;
    width: auto;
    height: auto;
    max-width: min(100%, var(--nk-figure-mobile-width, 90%));
    max-height: min(var(--nk-cutout-mobile-max-height, 520px), 120vw);
    object-fit: contain;
    object-position: center center;
    margin-inline: auto;
    filter: drop-shadow(0 12px 22px rgb(31 0 18 / 20%));
  }
  /* Controls need visual breathing room when portraits are displayed over slides. */
  .nk-mori-hero.nk-has-slideshow.nk-has-figure .nk-hero-figure {
    padding-bottom: 68px;
  }
  .nk-mori-hero.nk-has-slideshow.nk-has-figure .nk-mori-slider-controls {
    bottom: 14px;
    right: 14px;
  }
  /* A cutout registered as a SLIDE (rather than the foreground person layer)
     needs a separate mobile image stage: do not overlay the face with the headline. */
  .nk-mori-hero.nk-mobile-slides-split {
    display: flex;
    flex-direction: column;
  }
  .nk-mori-hero.nk-mobile-slides-split .nk-hero-layout,
  .nk-mori-hero.nk-mobile-slides-split.nk-figure-left .nk-hero-layout {
    order: 0;
    display: block;
    min-height: 0;
    height: auto;
    padding-top: clamp(24px, 5vw, 42px);
    padding-bottom: clamp(16px, 3vw, 28px);
  }
  .nk-mori-hero.nk-mobile-slides-split .nk-hero-layout .nk-hero-content {
    width: 100%;
    max-width: 100%;
    min-height: 0;
    margin: 0;
    padding: 0;
  }
  .nk-mori-hero.nk-mobile-slides-split .nk-mori-slider {
    position: relative;
    inset: auto;
    order: 1;
    flex: 0 0 auto;
    width: 100%;
    height: clamp(340px, 105vw, 540px);
    min-height: 0;
    z-index: 1;
    background: #490026;
  }
  .nk-mori-hero.nk-mobile-slides-split .nk-mori-slider-controls { bottom: 12px; right: 12px; }
  .nk-mori-hero.nk-mobile-slides-split .nk-hero-bottom-rule { order: 2; position: relative; }
  /* Full-slide overlay tint is not needed when image stage is below copy. */
  .nk-mori-hero.nk-mobile-slides-split::before { display: none; }
  /* Slides registered as cutout-style assets are contained rather than cover-cropped. */
  .nk-mori-hero .nk-mori-slide.nk-mobile-slide-contain .nk-mori-slide-img {
    object-fit: contain;
    object-position: center center;
  }
}
@media (max-width: 600px) {
  .nk-mori-hero.nk-has-figure .nk-hero-layout .nk-hero-content { padding-bottom: 0; }
  .nk-mori-hero.nk-has-slideshow.nk-has-figure .nk-hero-figure { padding-bottom: 76px; }
}
@media (prefers-reduced-motion: reduce) {
  .nk-mori-hero .nk-hero-figure { animation: none !important; transform: none !important; }
}
