.sleep-article .blog-prose a { overflow-wrap: anywhere; }
.sleep-figure { margin: 28px 0 32px; }
.sleep-cover { margin-top: 0; }
.sleep-article .sleep-figure img { display: block; width: 100%; height: auto; margin: 0; border: 1px solid var(--line); border-radius: 20px; background: var(--pale); }
.sleep-article figcaption { margin-top: 10px; color: var(--muted); font-size: 14px; line-height: 1.6; text-align: center; }
.sleep-article .sleep-meaning { margin-top: 14px; color: var(--forest); font-size: 20px; font-weight: 600; text-align: center; }
.sleep-study { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 28px 0 32px; }
.sleep-study-card { min-width: 0; padding: 24px; border: 1px solid #d5e5cc; border-radius: 20px; background: var(--pale); }
.sleep-study-card h3 { margin: 0; color: var(--forest); font-size: 22px; line-height: 1.35; letter-spacing: -.025em; }
.sleep-study-card ol { display: grid; gap: 12px; margin: 18px 0 0; padding-left: 22px; font-size: 17px; line-height: 1.65; }
.sleep-study-card li { padding-left: 3px; }
.sleep-card { margin: 28px 0 32px; padding: 28px; border: 1px solid #d5e5cc; border-radius: 22px; background: var(--pale); }
.sleep-eyebrow { display: block; margin-bottom: 10px; color: var(--forest); font-size: 12px; font-weight: 700; line-height: 1.5; letter-spacing: .07em; text-transform: uppercase; }
.sleep-card h3 { margin: 0; color: var(--forest); font-size: 26px; line-height: 1.35; letter-spacing: -.025em; }
.sleep-card > p { margin-top: 16px; }
.sleep-recall { margin-top: 22px; }
.sleep-recall[hidden] { display: none; }
.sleep-recall label { display: block; margin-bottom: 10px; color: var(--forest); font-size: 16px; font-weight: 700; }
.sleep-answer-row { display: flex; align-items: stretch; gap: 12px; }
.sleep-answer-row input { width: 100%; min-width: 0; min-height: 48px; padding: 12px 14px; border: 1px solid #b5cbb0; border-radius: 12px; background: var(--white); color: var(--ink); font: inherit; font-size: 18px; }
.sleep-answer-row .button { flex: 0 0 auto; min-height: 48px; padding: 12px 20px; font-size: 16px; cursor: pointer; }
.sleep-feedback { margin-top: 14px; color: var(--forest); font-size: 17px; line-height: 1.65; }
.sleep-feedback:empty { display: none; }
.sleep-answer, .sleep-sources { margin-top: 20px; color: var(--forest); font-size: 17px; line-height: 1.7; }
.sleep-answer summary, .sleep-sources summary { width: fit-content; cursor: pointer; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.sleep-answer p { margin-top: 14px; }
.sleep-calendar { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 28px 0 32px; padding: 0; list-style: none; }
.sleep-calendar li { min-width: 0; padding: 20px 16px; border: 1px solid #d5e5cc; border-radius: 16px; background: var(--pale); color: var(--forest); font-size: 16px; line-height: 1.6; }
.sleep-calendar strong, .sleep-calendar span, .sleep-calendar small { display: block; }
.sleep-calendar strong { margin-bottom: 10px; font-size: 18px; }
.sleep-calendar small { margin-top: 10px; color: var(--muted); font-size: 14px; }
.sleep-sources { margin-top: 36px; padding-top: 22px; border-top: 1px solid var(--line); }
.sleep-sources ul { margin: 16px 0 0; padding-left: 22px; }
.sleep-sources li + li { margin-top: 16px; }
@media (max-width: 600px) {
  .sleep-study { grid-template-columns: 1fr; }
  .sleep-study-card { padding: 22px; }
  .sleep-card { padding: 22px 18px; border-radius: 18px; }
  .sleep-card h3 { font-size: 23px; }
  .sleep-answer-row { flex-direction: column; }
  .sleep-answer-row .button { align-self: flex-start; }
  .sleep-calendar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 350px) {
  .sleep-calendar { grid-template-columns: 1fr; }
}
