.reading-hero { padding-bottom: 64px; }
.reading-note { padding: 48px; border: 1px solid #b4b0ff30; border-radius: 24px; background: radial-gradient(ellipse at top left, #b4b0ff16, transparent 80%); transform: rotate(2deg); }
.reading-note .eyebrow { color: #c4bce1; }
.reading-note .reading-note-title { margin: 28px 0; color: #eee9dc; font-family: Georgia, serif; font-size: clamp(32px, 4vw, 46px); line-height: 1.3; }
.reading-note > p:last-child { font-size: 13px; }
.reading-days { display: flex; gap: 12px; margin-bottom: 24px; }
.reading-days span { padding: 10px 16px; border: 1px solid #a4dfc850; border-radius: 50%; color: #a4dfc8; font-size: 14px; }
.reading-example-section { padding-block: 80px; background: #0c0e11; }
.reading-example-layout { display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 72px; }
.reading-example-layout .section-intro { margin: 0; }
.reading-example-layout .section-intro p + p { margin-top: 20px; }
.routine-card { padding: 36px; border: 1px solid #d5cdbb; border-radius: 4px; background: #f5f1e6; color: #302f29; box-shadow: 0 24px 64px #0003; }
.routine-card-top { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; align-items: center; font-size: 11px; color: #59594e; }
.routine-card .eyebrow { color: #4c6356; font-size: 10px; letter-spacing: 1.5px; }
.routine-card h3 { font-family: Georgia, serif; font-size: clamp(24px, 3vw, 32px); font-weight: 400; margin: 24px 0 8px; }
.routine-card .card-subtitle { font-size: 12px; color: #59594e; }
.routine-fields { display: grid; gap: 16px; margin: 24px 0 0; }
.routine-fields dt, .field-label { display: block; font-size: 11px; font-weight: 600; color: #59594e; }
.routine-fields dd { margin: 6px 0 0; font-size: 14px; line-height: 1.6; }
.session-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 24px; }
.session-grid > div { min-width: 0; padding: 14px 10px; border: 1px solid #bfb9a9; }
.session-grid span { display: block; font-size: 11px; }
.session-grid strong { display: block; margin-top: 12px; font-size: 14px; font-weight: 500; }
.printable-section > .section-intro { max-width: 720px; }
.print-note { max-width: 360px; color: #bab8c3; font-size: 13px; line-height: 1.6; }
.blank-card { max-width: 700px; margin-inline: auto; padding: 44px; }
.writing-line { min-height: 28px; border-bottom: 1px solid #aaa596; }
.blank-sessions .writing-line { margin-bottom: 18px; }
.session-grid .completion-box { width: 22px; height: 22px; border: 1px solid #817d70; }
.routine-card .card-footer { margin-top: 28px; font-size: 11px; line-height: 1.7; color: #59594e; }
.reading-product-layout { display: grid; grid-template-columns: 240px 1fr; gap: 80px; align-items: center; max-width: 1000px; }
.reading-product figure { margin: 0; }
.reading-product img { display: block; width: 100%; height: auto; border: 1px solid #ffffff18; border-radius: 16px; }
.reading-product h2 { margin: 20px 0; font-size: clamp(28px, 4vw, 40px); }
.reading-product p + p { margin-top: 16px; }
[data-print-routine][hidden] { display: none; }
@media (max-width: 740px) {
  .reading-note { padding: 32px; transform: none; }
  .reading-example-layout, .reading-product-layout { grid-template-columns: 1fr; gap: 36px; }
  .reading-example-section { padding-block: 56px; }
  .routine-card, .blank-card { padding: 24px 18px; }
  .session-grid { gap: 8px; }
  .session-grid > div { padding: 12px 8px; }
  .reading-product figure { max-width: 240px; margin-inline: auto; }
}
@page { size: auto; margin: 15mm; }
@media print {
  html, body.reading-page { background: white; color: black; margin: 0; padding: 0; }
  .site-header, .skip-link, .site-footer, main > section:not(.printable-section), .printable-section > .section-intro { display: none !important; }
  main, .printable-section.container { display: block; width: 100%; max-width: none; padding: 0; margin: 0; }
  .blank-card { width: 100%; max-width: none; margin: 0; padding: 8mm; box-sizing: border-box; background: white; color: black; border: 1px solid #555; border-radius: 0; box-shadow: none; break-inside: avoid; }
  .blank-card h3 { font-size: 24pt; margin-top: 6mm; }
  .blank-card .routine-card-top, .blank-card .eyebrow, .blank-card .card-subtitle, .blank-card .field-label, .blank-card .card-footer { color: black; }
  .blank-card .routine-fields { gap: 4mm; margin-top: 6mm; }
  .blank-card .writing-line { min-height: 7mm; border-color: #777; }
  .blank-card .session-grid { margin-top: 6mm; }
  .blank-card .card-footer { margin-top: 6mm; }
}
