/* v0.2.8 inner-page hierarchy, full-image results and contextual photography */

/* Long transformation titles must remain below the inner-page logo/header. */
.single-xa_success .xa-inner-hero--long-title {
  min-height: 650px;
}

.single-xa_success .xa-inner-hero--long-title .xa-inner-hero__content {
  max-width: 980px;
  padding-bottom: 64px;
}

.single-xa_success .xa-inner-hero--long-title .xa-display {
  font-size: clamp(3.25rem, 5vw, 5.25rem);
  line-height: .91;
}

/* Override the older, more specific fixed figure height. */
.xa-story__visual .xa-story__comparison--composite figure {
  height: auto;
  min-height: 0;
  aspect-ratio: auto;
}

.xa-story__visual .xa-story__comparison--composite img {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
}

.xa-story__visual .xa-story__comparison:not(.xa-story__comparison--composite) figure {
  height: auto;
  min-height: 0;
  aspect-ratio: 3 / 4;
}

.xa-story__visual .xa-story__comparison:not(.xa-story__comparison--composite) img {
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: contain;
}

/* Bring Kristi's face closer to the top edge while preserving a natural crop. */
.xa-coach-card .xa-coach-image--kristi {
  object-position: center 18%;
}

.xa-kristi-coach .xa-inner-hero__media img {
  object-position: center 18%;
}

/* Real archive photography adds history and personality without overwhelming the offers. */
.xa-personality-strip {
  padding: 0 0 88px;
  background: #edf1f3;
}

.xa-commerce .xa-personality-strip {
  margin: 80px calc(50% - 50vw) -65px;
  padding-top: 80px;
}

.xa-personality-strip__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr);
  min-height: 560px;
  gap: 0;
}

.xa-personality-strip figure {
  position: relative;
  min-height: 0;
  margin: 0;
  overflow: hidden;
  background: var(--xa-navy);
}

.xa-personality-strip img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  filter: saturate(.88) contrast(1.04);
  transition: transform .7s cubic-bezier(.2,.75,.25,1), filter .35s;
}

.xa-personality-strip__primary:hover img,
.xa-personality-strip__story figure:hover img {
  transform: scale(1.035);
  filter: saturate(1) contrast(1.03);
}

.xa-personality-strip__story {
  display: grid;
  grid-template-rows: 44% 56%;
  background: var(--xa-navy);
  color: #fff;
}

.xa-personality-strip__story > div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(34px, 4vw, 58px);
}

.xa-personality-strip__story span {
  color: var(--xa-red);
  font-family: var(--xa-head);
  font-style: italic;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.xa-personality-strip__story h2 {
  margin: 8px 0 17px;
  color: #fff;
  font-family: var(--xa-head);
  font-size: clamp(2.35rem, 3.5vw, 4rem);
  font-style: italic;
  line-height: .94;
  text-transform: uppercase;
}

.xa-personality-strip__story p {
  margin: 0;
  color: rgba(255,255,255,.78);
  line-height: 1.6;
}

@media (max-width: 780px) {
  .single-xa_success .xa-inner-hero--long-title {
    min-height: 590px;
  }

  .single-xa_success .xa-inner-hero--long-title .xa-inner-hero__content {
    padding-bottom: 50px;
  }

  .single-xa_success .xa-inner-hero--long-title .xa-display {
    font-size: clamp(2.8rem, 12vw, 4rem);
  }

  .xa-personality-strip {
    padding-bottom: 60px;
  }

  .xa-commerce .xa-personality-strip {
    margin-top: 60px;
    margin-bottom: -65px;
    padding-top: 60px;
  }

  .xa-personality-strip__grid {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .xa-personality-strip__primary {
    aspect-ratio: 4 / 3;
  }

  .xa-personality-strip__story {
    grid-template-rows: 280px auto;
  }
}
