/* Each paragraph arrives once as it enters the reading area. */
body[data-page="main-theme"] .theme-story {
  max-width: 1080px;
  padding-top: clamp(34px, 5vw, 76px);
  padding-bottom: clamp(96px, 12vw, 180px);
}
.theme-story-opening {
  display: grid;
  justify-items: center;
  gap: clamp(28px, 4vw, 52px);
  margin-bottom: clamp(52px, 8vw, 112px);
}
.theme-story-definition,
.theme-story-copy {
  width: min(100%, 42em);
  margin: 0 auto;
  color: var(--ink);
  font: inherit;
  line-height: 2.7;
  text-align: center;
  line-break: strict;
  overflow-wrap: anywhere;
}
.theme-story-definition {
  width: min(100%, 32em);
  text-wrap: balance;
}
.theme-story-phrase {
  display: inline-block;
  white-space: nowrap;
}
.theme-story-logo {
  width: min(100%, 540px);
  margin: 0 auto clamp(32px, 5vw, 60px);
}
.theme-story-logo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 2.1;
  object-fit: cover;
}
.theme-story-heading {
  margin-bottom: clamp(32px, 5vw, 60px);
}
.theme-story-heading h2 {
  margin: 0;
  font-size: clamp(28px, 2.8vw, 42px);
  line-height: 1.5;
}
.theme-story-chapter {
  max-width: 810px;
  margin-inline: auto;
  padding-block: clamp(32px, 5vw, 64px);
}
.theme-story-chapter--statement { padding-top: 0; }
.theme-story-chapter--closing { padding-bottom: 0; }
.theme-reveal-ready [data-theme-state] {
  opacity: 1;
  transform: translateY(0);
  transition: opacity .45s ease, transform .45s ease-out;
}
.theme-reveal-ready [data-theme-state="waiting"] {
  opacity: 0;
  transform: translateY(12px);
}
.theme-reveal-ready .theme-reveal-instant {
  transition: none;
}
.motion-paused .theme-reveal-ready [data-theme-state] {
  opacity: 1;
  transform: none;
  transition: none;
}
@media (max-width: 760px) {
  .theme-story-heading h2 { font-size: 27px; }
  .theme-story-definition,
  .theme-story-copy { line-height: 2.55; }
}
@media (prefers-reduced-motion: reduce) {
  .theme-reveal-ready [data-theme-state] { opacity: 1; transform: none; transition: none; }
}
@media print {
  .theme-reveal-ready [data-theme-state] { opacity: 1; transform: none; transition: none; }
  .theme-story-chapter { break-inside: avoid; }
}
