/* After Normal: guide styling. One stylesheet for the PDF (print) and for the free sample shown on the site (screen). */
:root { --red: #B3261E; --red-soft: #FFE3DE; --dark-red: #8E1A12; --amber: #F0B429; --amber-soft: #FFF0C7; --ink: #1B1B19; --muted: #4B4638; --rule: #CFC4AE; --cream: #FFF8E8;
  --head: "Bahnschrift", "Roboto Condensed", "Arial Narrow", "Avenir Next Condensed", "Helvetica Neue", Arial, sans-serif; --body: "Helvetica Neue", Helvetica, Arial, system-ui, sans-serif; }
.pack { font-family: var(--body); color: var(--ink); font-size: 12.5pt; line-height: 1.5; }
.pack.large { font-size: 16pt; line-height: 1.55; }
.pack * { box-sizing: border-box; }
.pack h1, .pack h2, .pack h3, .pack .brand { font-family: var(--head); font-stretch: condensed; text-transform: uppercase; letter-spacing: 0.01em; line-height: 1.08; margin: 0; }
.pack p { margin: 0.5em 0; }
.pack .src { font-size: 0.62em; color: var(--muted); font-weight: 600; margin-left: 0.3em; white-space: nowrap; vertical-align: 0.25em; letter-spacing: 0.02em; }

/* cover */
.pack .cover { height: 276mm; padding: 0 16mm 10mm; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; }
.pack .cover .band { height: 22mm; background: var(--red); margin: 0 -16mm; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.pack .cover .stripe { height: 7mm; margin: 0 -16mm; background: repeating-linear-gradient(90deg, #F0B429 0 18mm, #FFF8E6 18mm 36mm, #1B1B19 36mm 54mm, #E8574A 54mm 72mm); -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.pack .cover .brand { font-size: 20pt; font-weight: 800; margin-top: 12mm; }
.pack .cover .brand span { color: var(--red); }
.pack .cover h1 { font-size: 46pt; font-weight: 800; margin-top: 22mm; line-height: 1.0; }
.pack .cover .sub { font-size: 18pt; margin: 8mm 0 0; max-width: 150mm; }
.pack .cover .tag { font-family: var(--head); font-stretch: condensed; text-transform: uppercase; font-weight: 700; color: var(--red); font-size: 16pt; margin-top: 8mm; letter-spacing: 0.04em; }
.pack .cover .aud { font-size: 12pt; color: var(--muted); max-width: 140mm; margin-top: 12mm; }
.pack .cover .edition { font-size: 10.5pt; color: var(--muted); margin: 0 0 5mm; }

/* chapters */
.pack .chapter { break-before: page; }
.pack .chapter.flow { break-before: auto; }
.pack .ch-head { border-bottom: 7px solid var(--red); padding-bottom: 3mm; margin-bottom: 6mm; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.pack .ch-num { font-family: var(--head); font-stretch: condensed; text-transform: uppercase; font-weight: 700; color: var(--red); letter-spacing: 0.08em; font-size: 11pt; margin: 0; }
.pack h2 { font-size: 28pt; font-weight: 800; margin-top: 1mm; }
.pack .lead { font-size: 1.12em; margin: 3mm 0 0; color: var(--muted); }
.pack h3 { font-size: 15pt; font-weight: 800; margin: 7mm 0 2mm; break-after: avoid; }
.pack .note { color: var(--muted); font-size: 0.92em; margin: 0 0 2mm; }

.pack .block { margin: 5mm 0; }
.pack ul.checklist, .pack ol.steps { list-style: none; padding: 0; margin: 2mm 0; }
.pack ul.checklist li { position: relative; padding: 1.6mm 0 1.6mm 9mm; break-inside: avoid; border-bottom: 1px solid #E9E0CC; }
.pack ul.checklist li::before { content: ""; position: absolute; left: 0; top: 2.4mm; width: 5.2mm; height: 5.2mm; border: 1.6px solid var(--ink); border-radius: 1.2mm; background: #fff; }
.pack.large ul.checklist li::before { width: 6.6mm; height: 6.6mm; }
.pack.large ul.checklist li { padding-left: 11mm; }
.pack .detail { display: block; color: var(--muted); font-size: 0.9em; margin-top: 0.4mm; }
.pack ol.steps { counter-reset: st; }
.pack ol.steps li { counter-increment: st; position: relative; padding: 1.8mm 0 1.8mm 10mm; break-inside: avoid; }
.pack ol.steps li::before { content: counter(st); position: absolute; left: 0; top: 1.5mm; width: 7mm; height: 7mm; border-radius: 50%; background: var(--red); color: #fff; font-family: var(--head); font-weight: 800; font-size: 11pt; text-align: center; line-height: 7mm; -webkit-print-color-adjust: exact; print-color-adjust: exact; }

.pack table { width: 100%; border-collapse: collapse; margin: 2mm 0; font-size: 0.95em; }
.pack th { text-align: left; background: #EFE3C8; border: 1.2px solid var(--ink); padding: 1.6mm 2.4mm; font-family: var(--head); font-stretch: condensed; text-transform: uppercase; font-size: 0.95em; letter-spacing: 0.02em; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.pack td { border: 1px solid #8f866f; padding: 1.8mm 2.4mm; vertical-align: top; }
.pack tr { break-inside: avoid; }
.pack table.decision th:first-child, .pack table.decision td:first-child { width: 42%; font-weight: 700; }

.pack .callout { border-left: 2.4mm solid var(--amber); background: var(--amber-soft); padding: 2.6mm 4mm; margin: 4mm 0; break-inside: avoid; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.pack .callout .cl { display: block; font-family: var(--head); font-stretch: condensed; text-transform: uppercase; font-weight: 800; letter-spacing: 0.06em; font-size: 0.82em; margin-bottom: 0.6mm; }
.pack .callout.warning { border-left-color: var(--red); background: var(--red-soft); }
.pack .callout.warning .cl { color: var(--dark-red); }
.pack .callout.why { border-left-color: var(--ink); background: #EEE9DC; }
.pack .callout.uk { border-left-color: #2B2926; background: #E9E6DF; }

.pack .timeline { margin: 2mm 0; }
.pack .timeline .row { display: grid; grid-template-columns: 30mm 1fr; gap: 4mm; padding: 2mm 0; border-bottom: 1px solid #E2D8C2; break-inside: avoid; }
.pack .timeline .when { font-family: var(--head); font-stretch: condensed; text-transform: uppercase; font-weight: 800; color: var(--red); }

.pack .worksheet { border: 1.6px solid var(--ink); border-radius: 2mm; padding: 4mm 5mm 3mm; margin: 5mm 0; break-inside: avoid; background: #fff; }
.pack .worksheet h3 { margin: 0 0 1mm; }
.pack .field { margin: 4mm 0 0; }
.pack .field .flabel { font-weight: 700; }
.pack .field .hint { color: var(--muted); font-weight: 400; font-size: 0.88em; margin-left: 1.5mm; }
.pack .field .ln { height: 8.2mm; border-bottom: 1.4px solid #6f664f; }
.pack.large .field .ln { height: 10.5mm; }

/* front pages */
.pack .box-notice { border: 1.6px solid var(--ink); padding: 3.5mm 5mm; margin-top: 8mm; font-size: 0.92em; background: var(--cream); }
.pack .onepage ol { list-style: none; padding: 0; counter-reset: op; margin: 5mm 0 0; }
.pack .onepage li { counter-increment: op; position: relative; padding: 2.6mm 0 2.6mm 11mm; border-bottom: 1px solid #E2D8C2; break-inside: avoid; font-size: 1.04em; }
.pack .onepage li::before { content: counter(op); position: absolute; left: 0; top: 2.2mm; width: 7.4mm; height: 7.4mm; border-radius: 50%; border: 1.8px solid var(--red); color: var(--red); font-family: var(--head); font-weight: 800; text-align: center; line-height: 6.6mm; }
.pack .toc ol { list-style: none; padding: 0; margin: 5mm 0; counter-reset: toc; }
.pack .toc li { counter-increment: toc; padding: 2.4mm 0; border-bottom: 1px dotted var(--rule); font-size: 1.05em; }
.pack .toc li::before { content: counter(toc) ". "; font-family: var(--head); font-weight: 800; color: var(--red); }
.pack .sources ol { padding-left: 7mm; font-size: 0.82em; line-height: 1.35; }
.pack .sources li { margin: 1mm 0; break-inside: avoid; }
.pack .sources .u { color: var(--muted); word-break: break-all; }

@media screen { .pack { background: #fff; padding: 1.4rem 1.2rem; border: 2px solid var(--ink); border-radius: 12px; font-size: 1rem; }
  .pack .cover { height: auto; min-height: 30rem; padding: 0 1.2rem 1rem; } .pack .cover .band, .pack .cover .stripe { margin: 0 -1.2rem; }
  .pack h2 { font-size: 1.9rem; } .pack h3 { font-size: 1.2rem; } .pack .ch-num { font-size: 0.85rem; } }
.pack .field .ln { position: relative; }
.pack .field .ln .filled { position: absolute; left: 1mm; bottom: 0.6mm; font-weight: 700; }
@media screen { .pack.sample { overflow-x: auto; } .pack td, .pack th { overflow-wrap: anywhere; } }

/* Quick Pack: compact, flowing layout so the pages are few and each one is useful */
.pack.quick { font-size: 11pt; line-height: 1.36; }
.pack.quick .block { margin: 3mm 0; }
.pack.quick h2 { font-size: 21pt; }
.pack.quick h3 { margin: 4mm 0 1.5mm; font-size: 13.5pt; }
.pack.quick .ch-head { margin-bottom: 3mm; }
.pack.quick .field .ln { height: 7mm; }
.pack.quick ul.checklist li { padding: 1mm 0 1mm 8mm; }
.pack.quick ul.checklist li::before { top: 1.6mm; }
.pack.quick .cover { height: 276mm; }
.pack.large.quick { font-size: 14pt; line-height: 1.45; }
.pack.large.quick .field .ln { height: 9mm; }
.pack .ch-head { break-after: avoid; }
.pack .ch-head { break-inside: avoid; }

/* the one-page summary must fit one page */
.pack .onepage li { padding: 1.9mm 0 1.9mm 11mm; font-size: 1em; }
.pack .onepage li::before { top: 1.6mm; }
.pack .onepage ol { margin-top: 3mm; }
.pack.large .onepage li { padding: 1.4mm 0 1.4mm 11mm; font-size: 0.92em; }
.pack .onepage li { padding: 1.3mm 0 1.3mm 11mm; font-size: 0.95em; line-height: 1.38; }
.pack .onepage li::before { top: 1.2mm; }
.pack.large .onepage li { padding: 1mm 0 1mm 11mm; font-size: 0.85em; }

/* Quick Pack = essentials only: smaller type, no source tags, no explanations */
.pack.quick { font-size: 10.5pt; line-height: 1.32; }
.pack.quick .src { display: none; }
.pack.quick .detail { font-size: 0.88em; }
.pack.quick h2 { font-size: 18pt; }
.pack.quick h3 { font-size: 12pt; margin: 3mm 0 1mm; }
.pack.quick .block { margin: 2mm 0; }
.pack.quick .callout { padding: 1.6mm 3mm; margin: 2.5mm 0; }
.pack.quick ul.checklist li { padding: 0.7mm 0 0.7mm 7mm; }
.pack.quick ul.checklist li::before { width: 4.2mm; height: 4.2mm; top: 1.3mm; }
.pack.quick ol.steps li { padding: 1mm 0 1mm 9mm; }
.pack.quick td, .pack.quick th { padding: 1.1mm 2mm; }
.pack.quick .field { margin: 2.6mm 0 0; }
.pack.quick .field .ln { height: 6mm; }
.pack.quick .worksheet { padding: 3mm 4mm 2mm; margin: 3mm 0; }
.pack.quick .ch-head { padding-bottom: 2mm; margin-bottom: 2.5mm; border-bottom-width: 5px; }
.pack.large.quick { font-size: 13pt; line-height: 1.4; }
.pack.large.quick .field .ln { height: 8mm; }
.pack.quick .worksheet { break-inside: auto; } .pack.quick .field { break-inside: avoid; }

/* free guides: compact flowing layout (short on purpose), source tags kept */
.pack.compact { font-size: 11pt; line-height: 1.36; }
.pack.compact h2 { font-size: 20pt; }
.pack.compact h3 { font-size: 13pt; margin: 4mm 0 1.5mm; }
.pack.compact .block { margin: 3mm 0; }
.pack.compact .ch-head { padding-bottom: 2mm; margin-bottom: 3mm; border-bottom-width: 5px; }
.pack.compact .chapter.flow { margin-top: 7mm; }
.pack.compact ul.checklist li { padding: 1mm 0 1mm 8mm; }
.pack.compact ul.checklist li::before { width: 4.6mm; height: 4.6mm; top: 1.5mm; }
.pack.compact .callout { padding: 2mm 3.4mm; margin: 3mm 0; }
.pack.compact td, .pack.compact th { padding: 1.3mm 2.2mm; }
.pack.compact .field { margin: 3mm 0 0; }
.pack.compact .field .ln { height: 6.6mm; }
.pack.compact .worksheet { margin: 3mm 0; padding: 3.4mm 4.4mm 2.4mm; break-inside: auto; }
.pack.compact .field { break-inside: avoid; }
