/* Final typography and alignment polish, 2026-08-03. */

/* The three opening arguments share one visual rhythm on desktop. */
@media (min-width: 901px) {
  .theme-apple .offer__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Preserve whole words where possible; use only intentional soft hyphens. */
.theme-apple .active-card__title {
  font-size: 18px;
  line-height: 1.12;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: manual;
  text-wrap: wrap;
}

.hero-alt__subtitle-break {
  display: none;
}

@media (max-width: 1180px) and (min-width: 601px) {
  .theme-apple .active-card__title {
    font-size: 21px;
  }
}

@media (max-width: 600px) {
  /* Let the portrait carry the supporting facts instead of stacking them above it. */
  .theme-apple .hero-alt__inner {
    grid-template-areas:
      "strapline"
      "title"
      "subtitle"
      "portrait";
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto auto calc(clamp(400px, 115vw, 450px) + 20px);
    padding-top: 32px;
  }

  .theme-apple .hero-alt__copy {
    display: contents;
  }

  .theme-apple .hero-alt__strapline {
    grid-area: strapline;
    font-size: clamp(14px, 3.8vw, 15px);
    line-height: 1.4;
  }

  .theme-apple .hero-alt__title--product {
    grid-area: title;
    margin-top: 16px;
    font-size: clamp(32px, 8.8vw, 36px);
    line-height: 0.98;
  }

  .theme-apple .hero-alt__title--product span {
    white-space: normal;
  }

  .theme-apple .hero-alt__title--product span:last-child {
    white-space: nowrap;
  }

  .theme-apple .hero-alt__subtitle {
    grid-area: subtitle;
    margin-top: 14px;
    font-size: clamp(15px, 4.1vw, 16px);
    line-height: 1.4;
  }

  .theme-apple .hero-alt__visual {
    grid-area: portrait;
    height: clamp(400px, 115vw, 450px);
    margin-top: 20px;
  }

  .theme-apple .hero-alt__portrait {
    width: min(94vw, 366px);
  }

  .theme-apple .hero-alt__halo {
    width: min(96vw, 374px);
    height: min(96vw, 374px);
  }

  .theme-apple .hero-alt__stats {
    z-index: 4;
    grid-area: portrait;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-self: start;
    gap: clamp(28px, 8vw, 40px);
    margin-top: calc(clamp(225px, 61vw, 242px) + 51px);
    pointer-events: none;
  }

  .theme-apple .hero-alt-stat {
    min-height: 102px;
    align-content: center;
    justify-items: start;
    gap: 6px;
    padding: 13px 12px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 12px 30px rgba(63, 63, 63, 0.1);
    text-align: left;
  }

  .theme-apple .hero-alt-stat span {
    color: var(--apple-accent-dark);
    font-size: 10px;
    line-height: 14px;
  }

  .theme-apple .hero-alt-stat strong {
    font-size: clamp(14px, 3.9vw, 16px);
    line-height: 1.16;
    text-wrap: balance;
  }

  .hero-alt__subtitle-break {
    display: initial;
  }

  .biomimetic-term {
    white-space: normal;
  }

  /* Reserve a clean side gutter for controls instead of overlaying cards. */
  .mobile-carousel__slide,
  .theme-apple .actives-carousel__slide,
  .results-carousel__slide {
    padding-inline: clamp(40px, 10.5vw, 44px);
  }

  .theme-apple .actives-carousel .active-card__title {
    font-size: 20px;
    line-height: 1.12;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: manual;
    text-wrap: wrap;
  }
}

@media (max-width: 340px) {
  .theme-apple .hero-alt__title--product span:last-child {
    white-space: normal;
  }

  .theme-apple .hero-alt__stats {
    gap: 18px;
  }

  .theme-apple .hero-alt-stat {
    min-height: 98px;
    padding-inline: 10px;
  }
}
