/* Sleep & Restoration — woman-first editorial page */

.sleep-page {
  --sleep-ink: #292421;
  --sleep-muted: #74665e;
  --sleep-paper: #fbf8f5;
  --sleep-sand: #f1e9e3;
  --sleep-blush: #ead7d1;
  --sleep-line: #d9cbc2;
  --sleep-plum: #76515e;
  --sleep-gold: #c5a277;
}

.sleep-page main { overflow: hidden; }
.sleep-page p { color: var(--sleep-muted); }
.sleep-page a { color: var(--sleep-plum); }
.sleep-page a:hover { color: var(--color-accent-dark); }

.sleep-hero {
  padding: clamp(128px, 15vw, 190px) 0 clamp(72px, 10vw, 126px);
  background:
    radial-gradient(circle at 88% 16%, rgba(234, 215, 209, 0.7), transparent 32%),
    var(--sleep-paper);
}

.sleep-hero-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(220px, 0.65fr);
  gap: clamp(48px, 9vw, 132px);
  align-items: end;
}

.sleep-hero-copy { max-width: 760px; }
.sleep-kicker, .sleep-label, .sleep-hero-aside-label {
  font-family: var(--font-sans);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--sleep-plum) !important;
}

.sleep-kicker { margin-bottom: 1.25rem; }
.sleep-hero h1 {
  max-width: 12ch;
  color: var(--sleep-ink);
  font-size: clamp(3rem, 7vw, 6.3rem);
  line-height: 0.99;
  letter-spacing: -0.035em;
}

.sleep-hero-lead {
  max-width: 620px;
  margin-top: 2rem;
  font-size: clamp(1.05rem, 1.6vw, 1.25rem);
  line-height: 1.8;
}

.sleep-hero-note {
  max-width: 480px;
  margin-top: 1.6rem;
  padding-top: 1rem;
  border-top: 1px solid var(--sleep-line);
  font-size: 0.9rem;
  font-style: italic;
}

.sleep-hero-aside {
  padding: 1.25rem 0 0 1.5rem;
  border-left: 1px solid var(--sleep-line);
}

.sleep-hero-aside-label { display: block; margin-bottom: 1rem; }
.sleep-hero-aside ol { list-style: none; counter-reset: sleep-guide; }
.sleep-hero-aside li {
  counter-increment: sleep-guide;
  border-top: 1px solid var(--sleep-line);
}
.sleep-hero-aside li::before {
  content: counter(sleep-guide, decimal-leading-zero);
  display: inline-block;
  width: 2.2rem;
  color: var(--sleep-gold);
  font-family: var(--font-serif);
  font-size: 0.9rem;
}
.sleep-hero-aside a {
  display: inline-block;
  padding: 0.72rem 0;
  color: var(--sleep-ink);
  font-size: 0.9rem;
}
.sleep-hero-aside a:hover { color: var(--sleep-plum); }

.sleep-section { padding: clamp(70px, 10vw, 130px) 0; }
.sleep-section--paper { background: var(--sleep-paper); }
.sleep-section--sand { background: var(--sleep-sand); }
.sleep-section--ink { background: var(--sleep-ink); }

.sleep-reading-grid, .sleep-recovery-layout, .sleep-closer-look {
  display: grid;
  grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.25fr);
  gap: clamp(40px, 10vw, 150px);
  align-items: start;
}

.sleep-section-intro h2, .sleep-recovery-layout h2, .sleep-closer-look h2,
.sleep-section-heading h2, .sleep-research-inner h2 {
  max-width: 15ch;
  margin-top: 0.65rem;
  color: var(--sleep-ink);
  font-size: clamp(2rem, 4vw, 3.5rem);
  line-height: 1.05;
  letter-spacing: -0.025em;
}

.sleep-prose { max-width: 650px; }
.sleep-prose p, .sleep-closer-content p {
  margin-bottom: 1.3rem;
  font-size: 1rem;
  line-height: 1.85;
}
.sleep-prose p:last-child, .sleep-closer-content p:last-child { margin-bottom: 0; }
.sleep-pullquote {
  margin-top: 2.2rem;
  padding: 1.3rem 0 0 1.25rem;
  border-top: 1px solid var(--sleep-line);
  border-left: 2px solid var(--sleep-gold);
  color: var(--sleep-ink) !important;
  font-family: var(--font-serif);
  font-size: 1.35rem !important;
  line-height: 1.45 !important;
}

.sleep-section-heading { max-width: 650px; margin-bottom: 3rem; }
.sleep-section-heading > p:last-child { margin-top: 1.2rem; line-height: 1.8; }
.sleep-section-heading--narrow { max-width: 680px; }

.sleep-pattern-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--sleep-line);
}
.sleep-pattern {
  display: grid;
  grid-template-columns: 2.8rem minmax(0, 1fr);
  gap: 0.8rem;
  padding: 1.6rem 1.2rem 1.7rem 0;
  border-bottom: 1px solid var(--sleep-line);
}
.sleep-pattern:nth-child(odd) { border-right: 1px solid var(--sleep-line); padding-right: 2rem; }
.sleep-pattern:nth-child(even) { padding-left: 2rem; }
.sleep-pattern-number, .sleep-option-mark {
  color: var(--sleep-plum);
  font-family: var(--font-serif);
  font-size: 1.25rem;
}
.sleep-pattern h3, .sleep-option h3 {
  margin-bottom: 0.45rem;
  color: var(--sleep-ink);
  font-size: 1.25rem;
}
.sleep-pattern p, .sleep-option p { font-size: 0.9rem; line-height: 1.7; }

.sleep-label--light { color: var(--sleep-blush) !important; }
.sleep-recovery-layout h2 { color: var(--sleep-paper); }
.sleep-prose--light p { color: rgba(251, 248, 245, 0.72); }

.sleep-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 3rem;
  border-top: 1px solid var(--sleep-line);
}
.sleep-option {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: 1rem;
  padding: 1.65rem 0;
  border-bottom: 1px solid var(--sleep-line);
}
.sleep-option-mark { color: var(--sleep-gold); }
.sleep-note {
  max-width: 720px;
  margin-top: 2.25rem;
  font-size: 0.88rem;
  font-style: italic;
  line-height: 1.75;
}

.sleep-closer-look { align-items: center; }
.sleep-closer-content {
  padding: clamp(1.5rem, 4vw, 3rem);
  background: rgba(251, 248, 245, 0.62);
  border: 1px solid var(--sleep-line);
  border-left: 3px solid var(--sleep-plum);
}

.sleep-research-bridge {
  padding: clamp(70px, 9vw, 112px) 0;
  background: var(--sleep-blush);
}
.sleep-research-inner { max-width: 700px; }
.sleep-research-inner h2 { max-width: 18ch; }
.sleep-research-inner > p:last-child { max-width: 600px; margin-top: 1.25rem; line-height: 1.8; }
.sleep-research-inner a { border-bottom: 1px solid currentColor; }

@media (max-width: 760px) {
  .sleep-hero { padding-top: 104px; }
  .sleep-hero-inner, .sleep-reading-grid, .sleep-recovery-layout, .sleep-closer-look {
    grid-template-columns: 1fr;
    gap: 42px;
  }
  .sleep-hero h1 { max-width: 11ch; font-size: clamp(3rem, 14vw, 5rem); }
  .sleep-hero-lead { margin-top: 1.5rem; }
  .sleep-hero-aside { padding: 1.25rem 0 0; border-top: 1px solid var(--sleep-line); border-left: 0; }
  .sleep-section-intro h2, .sleep-recovery-layout h2, .sleep-closer-look h2,
  .sleep-section-heading h2, .sleep-research-inner h2 { max-width: 18ch; }
  .sleep-pattern-list, .sleep-options { grid-template-columns: 1fr; }
  .sleep-pattern:nth-child(odd) { border-right: 0; padding-right: 0; }
  .sleep-pattern:nth-child(even) { padding-left: 0; }
  .sleep-pattern { padding: 1.35rem 0; }
  .sleep-options { gap: 0; }
}

@media (max-width: 375px) {
  .sleep-hero h1 { font-size: 2.85rem; }
  .sleep-section { padding: 62px 0; }
  .sleep-hero-aside a { font-size: 0.84rem; }
  .sleep-closer-content { padding: 1.25rem; }
}
