/* Below-fold product pages — family, modules, specs, support, about. */

.body-copy {
  margin: 1.15rem 0 0;
  max-width: 40rem;
  color: var(--text-secondary);
  font-size: 1.02rem;
  line-height: 1.55;
}

.body-copy.muted,
.muted {
  color: var(--text-secondary);
  opacity: 0.88;
}

.coming-whisper {
  margin: 0 0 0.75rem;
  color: var(--text-secondary);
  font-size: 0.75rem;
  font-weight: 400;
  letter-spacing: 0.02em;
}

.family {
  padding-top: clamp(4rem, 10vh, 6.5rem);
}

.family-copy {
  max-width: 40rem;
}

.module-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  margin-top: clamp(1.5rem, 4vh, 2.5rem);
}

.module {
  padding: clamp(1.75rem, 4vh, 2.5rem) clamp(0, 2vw, 1.75rem) clamp(1.75rem, 4vh, 2.5rem) 0;
  border-top: 1px solid var(--divider);
}

.module-kicker {
  margin: 0 0 0.4rem;
  color: var(--text-secondary);
  font-size: 0.8125rem;
  font-weight: 400;
  letter-spacing: 0.01em;
}

.module-title {
  margin: 0 0 0.7rem;
  font-size: clamp(1.35rem, 2.4vw, 1.7rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.15;
}

.module-copy {
  margin: 0 0 0.75rem;
  max-width: 32rem;
  color: var(--text-secondary);
  font-size: 1.02rem;
  line-height: 1.55;
}

.module-copy:last-child {
  margin-bottom: 0;
}

.packaging {
  margin: clamp(1.75rem, 4vh, 2.5rem) 0 0;
  max-width: 40rem;
  color: var(--text-secondary);
  font-size: 0.92rem;
  line-height: 1.5;
}

.viewer-cols,
.spec-grid,
.support-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(1.5rem, 4vw, 2.5rem);
  margin-top: clamp(1.5rem, 4vh, 2.25rem);
}

.viewer-cols {
  grid-template-columns: 1fr 1fr 1fr;
}

.fact-heading {
  margin: 1.5rem 0 0.55rem;
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: -0.01em;
}

.reveal > .fact-heading:first-child,
.spec-card .fact-heading,
.viewer-cols .fact-heading {
  margin-top: 0;
}

.fact-list {
  margin: 0;
  padding-left: 1.1rem;
  color: var(--text-secondary);
  font-size: 0.95rem;
  line-height: 1.55;
}

.fact-list li + li {
  margin-top: 0.25rem;
}

.spec-card {
  padding: 1.25rem 0;
}

.spec-list {
  margin: 0;
}

.spec-row {
  display: grid;
  grid-template-columns: 7.5rem minmax(0, 1fr);
  gap: 0.75rem 1rem;
  padding: 0.7rem 0;
  border-top: 1px solid var(--divider);
}

.spec-row dt {
  margin: 0;
  color: var(--text);
  font-size: 0.82rem;
  font-weight: 600;
}

.spec-row dd {
  margin: 0;
  color: var(--text-secondary);
  font-size: 0.92rem;
}

.spec-notes {
  margin-top: clamp(1.5rem, 4vh, 2.5rem);
}

@media (max-width: 800px) {
  .module-list,
  .spec-grid,
  .support-grid,
  .viewer-cols {
    grid-template-columns: 1fr;
  }

  .spec-row {
    grid-template-columns: 1fr;
    gap: 0.2rem;
  }
}
