/* OUT Store: preserve its Barlow / Display faces and let real copy set the rhythm. */
.purchase-access{max-width:74ch;margin:24px 0;padding:20px 24px;background:#eae7f6;text-wrap:pretty}
.purchase-access strong{font-size:19px;line-height:1.3;text-wrap:balance}
.purchase-access p{margin:8px 0 0;font-size:15px;line-height:1.6}
.hero-copy,
.collection-heading > div,
.letters-grid > div,
.universe-heading > div,
.detail-copy {
  min-width: 0;
}

.hero h1,
.collection-heading h2,
.letters h2,
.store-support h2,
.universe-heading h2,
.universe-copy h2,
.detail-copy h2,
.empty h3,
.product-card h3,
.title-button,
.store-paths strong,
.universe-project strong,
.pamphlet-shortcut strong {
  text-wrap: balance;
  word-break: normal;
  hyphens: none;
}

.hero-intro,
.hero-note,
.collection-heading p,
.catalog-note,
.letters-copy > p,
.letters-copy small,
.store-support > p,
.store-paths span,
.support-logic,
.universe-heading p,
.universe-copy p,
.detail-copy > p,
.product-card > p,
.seller-note {
  text-wrap: pretty;
  word-break: normal;
  hyphens: none;
}

.hero h1 {
  font-size: clamp(46px, 4.8vw, 66px);
  line-height: 1.05;
  letter-spacing: -.02em;
  margin-bottom: 20px;
}

.hero-intro {
  max-width: 43ch;
  line-height: 1.55;
}

.collection-heading h2 {
  font-size: clamp(34px, 3.2vw, 42px);
  line-height: 1.1;
}

.collection-heading p {
  max-width: 52ch;
}

.letters h2 {
  font-size: clamp(36px, 3.5vw, 46px);
  line-height: 1.1;
  letter-spacing: -.015em;
}

.letters-copy > p {
  max-width: 49ch;
}

.store-support h2 {
  max-width: 28ch;
  font-size: clamp(29px, 3.3vw, 40px);
  line-height: 1.15;
}

.store-support > p,
.support-logic,
.catalog-note {
  max-width: 74ch;
  line-height: 1.6;
}

.store-paths strong {
  font-size: 19px;
  line-height: 1.3;
}

.store-paths span {
  line-height: 1.5;
}

.universe-heading h2 {
  font-size: clamp(32px, 3.3vw, 42px);
  line-height: 1.15;
  letter-spacing: -.02em;
}

.universe-heading p {
  max-width: 54ch;
}

.universe-project strong {
  max-width: 100%;
  font-size: 22px;
  line-height: 1.25;
}

.universe-project span {
  font-size: 12px;
  line-height: 1.45;
}

.universe-copy h2 {
  font-size: clamp(27px, 3vw, 32px);
  line-height: 1.2;
}

.pamphlet-shortcut > span {
  min-width: 0;
}

.pamphlet-shortcut strong {
  line-height: 1.25;
}

.product-card h3 {
  line-height: 1.35;
}

.title-button {
  max-width: 100%;
}

.product-card > p:not(.card-price) {
  font-size: 13px;
  line-height: 1.5;
}

.detail-copy h2 {
  font-size: clamp(29px, 3vw, 35px);
  line-height: 1.15;
  letter-spacing: -.015em;
  overflow-wrap: break-word;
  margin-bottom: 16px;
}

.detail-copy > p:not(.detail-category) {
  line-height: 1.6;
}

html[lang="ja"] .hero h1,
html[lang="ja"] .collection-heading h2,
html[lang="ja"] .letters h2,
html[lang="ja"] .store-support h2,
html[lang="ja"] .universe-heading h2,
html[lang="ja"] .detail-copy h2 {
  letter-spacing: 0;
  line-height: 1.3;
}

html[lang="ja"] .hero-copy,
html[lang="ja"] .collection-heading,
html[lang="ja"] .product-card,
html[lang="ja"] .store-support,
html[lang="ja"] .universe-heading,
html[lang="ja"] .universe-copy,
html[lang="ja"] .letters-copy,
html[lang="ja"] .detail-copy {
  line-break: strict;
}

@media (max-width: 700px) {
  .hero h1 {
    font-size: clamp(40px, 10.5vw, 50px);
    line-height: 1.08;
    margin-bottom: 16px;
  }

  .hero-intro {
    max-width: 43ch;
    font-size: 16px;
  }

  .hero-note {
    font-size: 12px;
    line-height: 1.6;
  }

  .header nav {
    font-size: 13px;
  }

  .collection-heading {
    align-items: start;
    gap: 14px;
  }

  .collection-heading h2 {
    font-size: 33px;
    margin-bottom: 8px;
  }

  .collection-count {
    margin-top: 8px;
  }

  .letters h2 {
    font-size: 36px;
  }

  .store-support h2 {
    font-size: 29px;
  }

  .universe-heading h2 {
    font-size: 32px;
  }

  .universe-project strong {
    font-size: 22px;
  }

  .product-card h3 {
    font-size: 15px;
    line-height: 1.4;
  }

  .product-card > p:not(.card-price) {
    font-size: 12px;
    line-height: 1.5;
  }

  .detail-copy h2 {
    font-size: 29px;
  }

  .detail-copy > p:not(.detail-category) {
    font-size: 14px;
  }

  .pamphlet-shortcut strong {
    font-size: 19px;
  }

  .pamphlet-shortcut span span {
    font-size: 12px;
    line-height: 1.5;
  }
}
