/* Readable editorial copy and supporting text across the portfolio. */
body {
  font-size: 16px;
  line-height: 1.7;
}

.scene-description,
.scene-reverse .scene-description {
  font-size: 18px;
  line-height: 1.7;
  font-weight: 450;
  letter-spacing: 0;
  color: #edf0f6;
}

[data-theme="light"] .scene-description {
  color: #1e2c3e;
}

.opening-baseline > p,
.about-description {
  font-size: 18px;
  line-height: 1.75;
  letter-spacing: 0;
}

.opening-baseline > p {
  color: #e6ebf4;
}

.choice-description,
.choice-instruction p,
.choice-heading > p,
.index-heading > p:not(.eyebrow):not(.sort-note) {
  font-size: 16px;
  line-height: 1.7;
  letter-spacing: 0;
}

.choice-description {
  color: #edf0f8;
}

/* Let the readable card copy determine its height instead of sharing fixed
   absolute coordinates with the metadata and action strip. */
.collection-choice {
  display: flex;
  flex-direction: column;
  min-height: clamp(430px, 51vh, 570px);
  height: 100%;
  padding: 0;
}

.choice-topline {
  position: relative;
  inset: auto;
  flex-shrink: 0;
  margin: 25px 28px 0;
}

.choice-copy {
  position: relative;
  inset: auto;
  flex-shrink: 0;
  margin: auto 28px 0;
  padding-block: 40px 34px;
}

.choice-bottomline {
  position: relative;
  inset: auto;
  flex-shrink: 0;
  width: 100%;
  height: 72px;
}

.desktop-nav {
  font-size: 14px;
  font-weight: 500;
}

.mobile-nav {
  font-size: 17px;
}

.identity-name {
  font-size: 11px;
  letter-spacing: .08em;
  line-height: 1.5;
}

.desktop-nav a > span,
.eyebrow,
.window-caption > .eyebrow,
.choice-heading .eyebrow,
.opening-topline,
.explore-cue,
.opening-edition,
.scene-topline,
.scene-kicker,
.scene-kicker > span,
.release-stamp,
.poster-caption,
.scene-bottomline,
.choice-topline,
.choice-count,
.choice-selection,
.choice-category,
.choice-footnote,
.about-stamp > span:last-child,
.about-facts div > span,
.contact-top > span {
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: .065em;
}

.scene-kicker,
.scene-kicker > span,
.poster-caption {
  letter-spacing: .025em;
}

.step-dot {
  font-size: 12px;
}

.text-link,
.world-intro-links .text-link,
.index-change-world,
.round-link,
.project-link,
.enter-world,
.enter-world:disabled,
.motion-toggle {
  font-size: 13px;
  line-height: 1.5;
  font-weight: 600;
  letter-spacing: .045em;
}

.choice-action {
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: .045em;
}

.choice-status {
  font-size: 14px;
  line-height: 1.65;
  letter-spacing: 0;
}

/* Earlier styles mark this utility as important; keep its readable size. */
.sort-note {
  font-size: 12px !important;
  line-height: 1.6;
  letter-spacing: .07em;
}

.index-world {
  font-size: clamp(17px, 1.3vw, 22px);
  line-height: 1.4;
}

.index-row > span:first-child,
.index-year,
.index-category,
.index-external,
.artwork-note {
  font-size: 12px;
  line-height: 1.6;
}

.contact-bottom {
  font-size: 16px;
  line-height: 1.7;
}

.site-footer {
  font-size: 14px;
  line-height: 1.6;
}

.footer-name > span,
.footer-bottom {
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: .035em;
}

@media (max-width: 1000px) {
  .choice-topline {
    margin-inline: 24px;
  }

  .choice-copy {
    margin-inline: 24px;
  }

  .choice-selection,
  .choice-count {
    font-size: 11px;
    letter-spacing: .035em;
  }
}

@media (max-width: 760px) {
  .collection-choice {
    min-height: 425px;
  }

  .choice-topline {
    margin-top: 22px;
  }

  .choice-copy {
    padding-block: 36px 30px;
  }

  .choice-bottomline {
    height: 63px;
  }

  .scene-description,
  .scene-reverse .scene-description,
  .opening-baseline > p,
  .about-description,
  .choice-description,
  .choice-instruction p,
  .choice-heading > p,
  .index-heading > p:not(.eyebrow):not(.sort-note) {
    font-size: 16px;
    line-height: 1.7;
  }

  .identity-name,
  .eyebrow,
  .window-caption > .eyebrow,
  .choice-heading .eyebrow,
  .opening-topline,
  .explore-cue,
  .opening-edition,
  .scene-topline,
  .scene-kicker,
  .scene-kicker > span,
  .release-stamp,
  .poster-caption,
  .scene-bottomline,
  .choice-topline,
  .choice-count,
  .choice-selection,
  .choice-category,
  .choice-footnote,
  .about-facts div > span {
    font-size: 11px;
    letter-spacing: .045em;
  }

  .text-link,
  .world-intro-links .text-link,
  .index-change-world,
  .round-link,
  .project-link,
  .enter-world,
  .enter-world:disabled,
  .motion-toggle,
  .choice-action {
    font-size: 12px;
    letter-spacing: .035em;
  }

  .choice-status,
  .site-footer {
    font-size: 13px;
  }

  .index-world {
    font-size: 17px;
  }

  .index-row > span:first-child,
  .index-year,
  .index-category,
  .index-external,
  .artwork-note,
  .footer-name > span,
  .footer-bottom {
    font-size: 11px;
  }

  .sort-note {
    font-size: 11px !important;
  }

  .footer-links {
    flex-wrap: wrap;
    gap: 14px 22px;
  }

  .contact-bottom a {
    overflow-wrap: anywhere;
  }
}
