/* Only approved portrait headers; the underlying theme remains unchanged. */
.hero.hero--portraits {
  padding: 0 !important;
  overflow: hidden;
}
.hero--portraits > .shell {
  position: relative;
  isolation: isolate;
  height: min(600px, max(430px, calc(100svh - 210px)));
  padding-top: 45px;
}
.hero--portraits .hero__kicker {
  position: relative;
  z-index: 3;
  max-width: 31%;
  margin: 0;
}
.hero--portraits .hero__word {
  position: absolute !important;
  z-index: 1 !important;
  top: 24%;
  left: var(--gutter);
  right: var(--gutter);
  margin: 0;
  letter-spacing: 0;
  font-size: var(--portrait-word-size, 228px);
  line-height: .9;
  white-space: nowrap;
  overflow: visible;
  text-align: center;
}
.hero--portraits .shell > .hero-portrait {
  position: absolute;
  z-index: 2;
  left: 50%;
  right: auto;
  bottom: -6px;
  width: auto;
  height: calc(100% + 34px);
  aspect-ratio: 2 / 3;
  pointer-events: none;
  transform: translate3d(-50%, var(--portrait-drift, 0px), 0);
}
.hero--portraits .hero-portrait__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: grayscale(1);
  transform: translateX(var(--figure-offset, 0%));
}
.hero--portraits .shell > .hero-portrait-copy {
  position: absolute;
  z-index: 3;
  left: var(--gutter);
  bottom: 45px;
  width: 31%;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 26px;
}
.hero--portraits .hero-portrait-copy .hero__lead { margin: 0; font-size: 20px; }
.hero--portraits .hero-portrait-copy .btn { max-width: 100%; }
.hero--portraits .hero-portrait-copy .kicker { margin: 0 !important; }
.hero--portraits .hero-portrait-copy .h-block { margin: 0; }
.hero--practice-portrait > .shell { height: min(570px, max(460px, calc(100svh - 210px))); }
@media (max-width: 1199px) {
  .hero--portraits > .shell { height: min(560px, max(450px, calc(100svh - 210px))); }
  .hero--portraits .hero__word { font-size: var(--portrait-word-size, 188px); }
  .hero--portraits .shell > .hero-portrait-copy { bottom: 36px; gap: 24px; }
}
@media (max-width: 899px) {
  .hero--portraits > .shell { height: min(550px, max(450px, calc(100svh - 210px))); }
  .hero--portraits .hero__word { font-size: var(--portrait-word-size, 142px); }
  .hero--portraits .shell > .hero-portrait-copy { width: 30%; }
  .hero--portraits .hero-portrait-copy .btn { font-size: 11px; }
  .hero--portraits .hero__actions { gap: 18px; flex-wrap: wrap; }
}
@media (max-width: 599px) {
  .hero--portraits > .shell { height: 650px; padding-top: 28px; }
  .hero--portraits .hero__kicker { max-width: 100%; font-size: 10px; line-height: 1.6; }
  .hero--portraits .hero__word { top: 215px; font-size: var(--portrait-word-size, 78px); }
  .hero--portraits .shell > .hero-portrait { bottom: 155px; width: auto; height: 400px; }
  .hero--portraits .shell > .hero-portrait-copy { bottom: 27px; width: calc(100% - 2 * var(--gutter)); gap: 21px; }
  .hero--portraits .hero-portrait-copy .hero__lead { font-size: 18px; }
  .hero--portraits .hero__actions { flex-wrap: wrap; gap: 24px; }
  .hero--portraits .hero__actions .btn { padding-inline: 22px; }
  .hero--portraits .hero-portrait-copy .btn { font-size: 10px; }
  .hero--practice-portrait > .shell { height: 680px; }
  .hero--practice-portrait .shell > .hero-portrait { bottom: 185px; }
  body.category-news .hero--portraits > .shell { height: 540px; }
  body.category-news .hero--portraits .shell > .hero-portrait { bottom: 0; height: 440px; }
}
@media (prefers-reduced-motion: reduce) {
  .hero--portraits .shell > .hero-portrait { transform: translateX(-50%); }
}
