/* Headline alignment only: photos, printer and carousel keep their coordinates. */
.copy.print-copy h2 {
  width: 93.2cqw; /* Equal 3.4% gutters, independent of the narrower copy parent. */
  max-width: none;
  text-align: center;
}
.specs-section > .reveal { text-align: center; }

/* Category hooks stay in the DOM, but no timeline may re-show their labels. */
.masthead [hidden], .footer-label[hidden], .eyebrow[hidden], .section-topline[hidden] {
  display: none !important;
}
/* ROOM and READY share the same copy origin as the product opens. */
.copy.space, .copy.ready { left: 5%; top: 36%; width: 27.5%; }
.copy.space h2 { font-size: 5.15cqw; }
.copy.ready h2 { font-size: 4.8cqw; }
.copy.space > p, .copy.ready > p {
  max-width: 24cqw;
  margin-top: 2.1cqw;
  font-size: 1.55cqw;
  line-height: 1.55;
  text-wrap: pretty;
}
.faq-copy .headline { font-size: clamp(30px, 3.3vw, 52px); line-height: 1.15; text-wrap: balance; }
.specs-section .headline { font-size: clamp(32px, 4.8vw, 68px); text-wrap: balance; }

/* Japanese copy uses the same wrappers, assets and animation clock as English. */
html[lang="ja"] {
  --reveal-tracking: -0.025;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
}
html[lang="ja"] .headline,
html[lang="ja"] .copy h2 {
  letter-spacing: -.025em;
  line-height: 1.3;
  overflow-wrap: normal;
}
html[lang="ja"] .two-stage-hero .hero-story-title { font-size: 6.8cqw; line-height: 1.3; }
html[lang="ja"] .explore .last-line { font-size: .8em; }
html[lang="ja"] .space h2 { font-size: 4.8cqw; }
html[lang="ja"] .ready h2 { font-size: 4.3cqw; }
html[lang="ja"] .ready h2 span { font-size: .88em; }
html[lang="ja"] .print-copy h2 { font-size: 5.4cqw; white-space: nowrap; }
html[lang="ja"] .specs-section .headline { font-size: clamp(32px, 4.3vw, 64px); }
html[lang="ja"] .buy-copy .headline { font-size: clamp(25px, 2.8vw, 44px); }
html[lang="ja"] .buy-copy .line-text { white-space: nowrap; }
html[lang="ja"] .body-copy { line-height: 1.8; letter-spacing: 0; overflow-wrap: normal; }
html[lang="ja"] .gift-note em,
html[lang="ja"] .cut-paper em { font-style: normal; }
html[lang="ja"] .purchase-message h2 { font-size: clamp(17px, 4.6vw, 23px); letter-spacing: -.025em; line-height: 1.45; }
html[lang="ja"] .purchase-message p { line-height: 1.8; }

/* Japanese small labels need less tracking than English uppercase labels. */
html[lang="ja"] .hero-product .hero-category,
html[lang="ja"] .purchase-button,
html[lang="ja"] .brand-footer-nav,
html[lang="ja"] .footer-back,
html[lang="ja"] .measure-label,
html[lang="ja"] .measure p { letter-spacing: .04em; }
html[lang="ja"] .product-information,
html[lang="ja"] .spec-item dd { letter-spacing: .025em; }
html[lang="ja"] .brand-footer-tagline { letter-spacing: -.025em; }

/* Keep the number and its smaller unit together on one baseline. */
.hero-price, .final-details .price { white-space: nowrap; }
.hero-price { letter-spacing: 0; }
.hero-price .price-unit, .final-details .price .price-unit {
  font-size: .6em;
  letter-spacing: 0;
}
/* Space only the number/unit boundary, not every character in the price. */
html[lang="ja"] .hero-price .price-unit,
html[lang="ja"] .final-details .price .price-unit {
  display: inline-block;
  margin-inline-start: .35em;
}
#buy:not([data-cta]) .final-details .price {
  font-size: 24px;
  line-height: 1.2;
  letter-spacing: 0;
}

@media (max-width: 760px) {
  .copy.print-copy h2 { width: 90vw; }
  .copy.space, .copy.ready { left: 5%; top: 8%; width: 90%; display: block; }
  .copy.space h2, .copy.ready h2 { width: 100%; }
  .copy.space h2 { font-size: 8vw; }
  .copy.ready h2 { font-size: 7.4vw; }
  .copy.space > p, .copy.ready > p {
    max-width: 32em; margin-top: 12px; font-size: 12px; line-height: 1.5;
  }
  .faq-copy .headline { font-size: clamp(28px, 7.8vw, 40px); }
  .specs-section .headline { font-size: clamp(28px, 7vw, 42px); }
  html[lang="ja"] .hero-price { font-size: 21px; }
  html[lang="ja"] .product-information { gap: 12px; }
  html[lang="ja"] .final-details .price { padding-left: 12px; white-space: nowrap; }
  html[lang="ja"] .two-stage-hero .hero-story-title { font-size: 10.5vw; }
  html[lang="ja"] .space h2 { font-size: 7.5vw; }
  html[lang="ja"] .ready h2 { font-size: 7.2vw; }
  html[lang="ja"] .print-copy h2 { font-size: 8.8vw; white-space: normal; text-wrap: balance; }
  html[lang="ja"] .specs-section .headline { font-size: clamp(23px, 5.8vw, 38px); }
  html[lang="ja"] .buy-copy .headline { font-size: 6.1vw; }
  html[lang="ja"] .spec-item dd { font-size: 10px; word-break: keep-all; }
}
