* { box-sizing: border-box; }
html { background: #e5ded2; }
body { margin: 0; color: #30251c; font: 11.5pt/1.55 Arial, Helvetica, sans-serif; }
a { color: #765320; text-underline-offset: 3px; }
.reader-bar { position: sticky; top: 0; z-index: 10; background: #0d0f0c; color: #f9f4ee; padding: 14px 5vw; display: flex; flex-wrap: wrap; align-items: center; gap: 22px; font-size: 14px; }
.reader-bar a { color: #ead4ad; }
.reader-bar a:last-child { margin-left: auto; }
.sheet { width: 210mm; height: 297mm; margin: 22px auto; padding: 18mm 20mm 20mm; position: relative; background: #fcf9f3; overflow: visible; break-after: page; }
.sheet:last-child { break-after: auto; }
.running { display: flex; justify-content: space-between; align-items: center; padding-bottom: 5mm; border-bottom: 1px solid #c4a971; color: #775c33; font-size: 8pt; letter-spacing: .1em; text-transform: uppercase; }
.chapter-number { color: #aa854d; font: 44pt/1 Georgia, serif; margin: 7mm 0 3mm; }
h1, h2, h3 { font-family: Georgia, 'Times New Roman', serif; font-weight: normal; }
h1 { font-size: 39pt; line-height: 1.12; margin: 0 0 7mm; }
h2 { font-size: 25pt; line-height: 1.17; margin: 0 0 6mm; }
h3 { font-size: 15pt; line-height: 1.3; margin: 5mm 0 2mm; color: #6d502c; }
p { margin: 0 0 4mm; }
ul, ol { padding-left: 6mm; margin: 3mm 0 5mm; }
li { margin-bottom: 1.5mm; }
table { width: 100%; border-collapse: collapse; font-size: 10.5pt; margin: 4mm 0 6mm; }
td, th { text-align: left; padding: 2.5mm; border-bottom: 1px solid #ddcfb7; vertical-align: top; }
th { background: #eee3d0; color: #4d3820; }
.note { padding: 4mm 5mm; border-left: 3px solid #ad8b51; background: #efe5d4; margin-top: 6mm; font-size: 11pt; }
.page-footer { position: absolute; bottom: 10mm; left: 20mm; right: 20mm; display: flex; justify-content: space-between; border-top: 1px solid #dacdb7; padding-top: 3mm; font-size: 8pt; color: #776956; }
.cover { background: #15120f; color: #fcf9f3; padding-top: 16mm; }
.cover-image { position: absolute; left: 0; top: 0; width: 100%; height: 144mm; object-fit: cover; }
.cover::after { content: ''; position: absolute; top: 75mm; height: 75mm; left: 0; right: 0; background: linear-gradient(transparent,#15120f); }
.cover-logo { position: relative; z-index: 1; width: 58mm; background: rgba(13,15,12,.85); padding: 3mm; }
.cover-copy { position: absolute; z-index: 1; left: 20mm; right: 20mm; top: 150mm; }
.eyebrow { font-size: 9pt; text-transform: uppercase; letter-spacing: .19em; color: #c9a96e; margin-bottom: 5mm; }
.cover-subtitle { font-size: 15pt; line-height: 1.45; color: #e1d6c4; }
.edition { font-size: 10pt; margin-top: 9mm; color: #c9a96e; }
.cover .page-footer { color: #c9b796; border-color: #665239; }
.references { font-size: 11pt; }
.references li { margin-bottom: 5mm; }
.references small { display: block; color: #7b6c57; font-size: 9pt; }
.contents { display: grid; grid-template-columns: 1fr 1fr; gap: 2mm 6mm; font-size: 10pt; padding: 4mm 0; }
.checklist { list-style: square; }
@page { size: A4; margin: 0; }
@media print {
  html { background: white; }
  body { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .reader-bar { display: none; }
  .sheet { margin: 0; box-shadow: none; }
}
@media screen and (max-width: 820px) {
  body { font-size: 16px; }
  .sheet { width: 100%; height: auto; min-height: 0; padding: 28px 22px 70px; margin: 12px 0; }
  .cover { height: 850px; }
  .cover-image { height: 410px; }
  .cover::after { top: 260px; height: 155px; }
  .cover-copy { top: 435px; left: 22px; right: 22px; }
  h1 { font-size: 37px; }
  h2 { font-size: 30px; }
  .cover-subtitle { font-size: 20px; }
  .page-footer { left: 22px; right: 22px; }
  .contents { grid-template-columns: 1fr; }
}
