/* A quiet entrance, and a signature that follows the reader. */
.hero-title-line {
  display: block;
  overflow: hidden;
  padding: .1em .12em .16em 0;
  margin: -.1em -.12em -.16em 0;
}

.hero-title-word {
  display: inline-block;
  animation: quiet-arrival 3.2s cubic-bezier(.22, .61, .36, 1) .45s both;
}

.hero-title-line + .hero-title-line .hero-title-word {
  animation-duration: 3.6s;
  animation-delay: 1.15s;
}

.hero-content > .eyebrow {
  animation: quiet-fade 1.8s ease .15s both;
}

.hero-content > .line-link {
  margin-top: 18px;
  font-size: 11px;
  letter-spacing: .12em;
  animation: quiet-fade 2s ease 2s both;
}

@keyframes quiet-arrival {
  from { opacity: 0; transform: translate3d(0, 108%, 0); filter: blur(8px); }
  to { opacity: 1; transform: translate3d(0, 0, 0); filter: blur(0); }
}

@keyframes quiet-fade {
  from { opacity: 0; }
  to { opacity: 1; }
}

.intro-copy,
.copy-text,
.detail-description {
  text-wrap: pretty;
}

.line-link,
.filled-link {
  font-size: 12px;
  letter-spacing: .08em;
}

.footer-tagline {
  font-size: 10px;
  letter-spacing: .16em;
  line-height: 1.9;
}

.thumb-label { font-size: 11px; letter-spacing: .1em; }
.gallery-counter { text-transform: uppercase; letter-spacing: .04em; }
.gallery-zoom-badge { font-size: 12px; }

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.signature-band {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 76px;
  padding: 16px 28px;
  overflow: hidden;
  color: #ece8df;
  background: #40443b;
}

.signature-track {
  display: flex;
  flex: 0 1 auto;
  max-width: 100%;
  transform: translate3d(var(--signature-x, 0px), 0, 0);
  will-change: transform;
}

.signature-unit {
  display: flex;
  flex: 0 1 auto;
  align-items: center;
  justify-content: center;
  min-width: 0;
  max-width: 100%;
  gap: 20px;
  text-align: center;
}

.signature-wordmark {
  font-family: var(--serif);
  flex-shrink: 0;
  font-size: 30px;
  font-weight: 400;
  letter-spacing: .12em;
  line-height: 1.1;
}

.signature-phrase {
  min-width: 0;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: .05em;
  word-break: keep-all;
}

.signature-separator { flex-shrink: 0; font-size: 16px; opacity: .48; }

@media (max-width: 760px) {
  .hero-content > .line-link { font-size: 10px; letter-spacing: .09em; margin-top: 15px; }
  .line-link, .filled-link { font-size: 11px; letter-spacing: .05em; }
  .gallery-caption { font-size: 11px; }
  .gallery-zoom-badge { font-size: 11px; }
  .lightbox-header h2 { font-size: 13px; max-width: 230px; }
  .product-specs div { grid-template-columns: 86px minmax(0, 1fr); }
  .footer-tagline { font-size: 9px; }
}

@media (max-width: 540px) {
  .signature-band { min-height: 68px; padding: 10px 20px; }
  .signature-unit { flex-direction: column; gap: 4px; }
  .signature-wordmark { font-size: 22px; }
  .signature-phrase { font-size: 12px; letter-spacing: .025em; }
  .signature-separator { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-title-word,
  .hero-content > .eyebrow,
  .hero-content > .line-link {
    animation: none;
    transform: none;
    opacity: 1;
    filter: none;
  }
  .signature-track { transform: none; will-change: auto; }
}
