/* =========================================================
   Global readability — bump on-screen text size
   (does not affect print / PDF export)
   ========================================================= */
@media screen {
  .page { zoom: 1.10; }
  /* Firefox doesn't honour `zoom`; fall back to transform */
  @supports (-moz-appearance: none) {
    .page {
      zoom: 1;
      transform: scale(1.10);
      transform-origin: top center;
      margin-bottom: 3rem;
    }
  }
}

/* =========================================================
   chapter-01.html  (body.page-chapter01)
   ========================================================= */

*,
body.page-chapter01 *::before,
body.page-chapter01 *::after { box-sizing: border-box; margin: 0; padding: 0; }:root {
    --navy:     #0B1628;
    --navy2:    #132040;
    --cyan:     #00D8C8;
    --white:    #FFFFFF;
    --offwhite: #F4F7FB;
    --border:   #E2E8F0;
    --text:     #1A2B3C;
    --muted:    #6B839A;
    --accent:   #FF5733;
    --danger-bg: #FFF3F0;
    --danger-border: #FFD4C8;
  }body.page-chapter01 {
    font-family: 'DM Sans', sans-serif;
    background: #1a1a2e;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 40px 20px;
    gap: 40px;
  }body.page-chapter01 .page {
    width: 210mm;
    height: 297mm;
    background: var(--white);
    color: var(--text);
    display: grid;
    grid-template-rows: auto 1fr auto;
    position: relative;
    overflow: hidden;
  }body.page-chapter01 /* ── Header ── */
  .doc-header {
    display: flex;
    align-items: stretch;
    border-bottom: 3px solid var(--navy);
  }body.page-chapter01 .header-brand {
    background: var(--navy);
    padding: 14px 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2px;
    min-width: 140px;
  }body.page-chapter01 .header-logo {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 900;
    font-size: 20px;
    color: var(--cyan);
    letter-spacing: 0.04em;
  }body.page-chapter01 .header-tagline {
    font-size: 9px;
    font-weight: 400;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.4);
  }body.page-chapter01 .header-meta {
    flex: 1;
    padding: 12px 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 3px;
  }body.page-chapter01 .doc-type {
    font-size: 9px;
    font-weight: 500;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--cyan);
  }body.page-chapter01 .doc-title {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 20px;
    color: var(--navy);
    line-height: 1;
    text-transform: uppercase;
  }body.page-chapter01 .header-right {
    padding: 12px 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
    gap: 3px;
    border-left: 1px solid var(--border);
    min-width: 100px;
  }body.page-chapter01 .header-chapter {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 28px;
    color: var(--navy);
    line-height: 1;
  }body.page-chapter01 .header-date {
    font-size: 9.5px;
    color: var(--muted);
  }body.page-chapter01 /* ── Body ── */
  .doc-body {
    padding: 22px 28px;
    display: flex;
    flex-direction: column;
    gap: 18px;
  }body.page-chapter01 .lead {
    font-size: 12.5px;
    font-weight: 300;
    line-height: 1.75;
    color: var(--text);
    border-left: 3px solid var(--cyan);
    padding-left: 14px;
  }body.page-chapter01 /* Section heading */
  .section-heading {
    display: flex;
    align-items: center;
    gap: 10px;
  }body.page-chapter01 .section-heading-num {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 11px;
    letter-spacing: 0.16em;
    color: var(--cyan);
    background: var(--navy);
    padding: 3px 9px;
    border-radius: 3px;
  }body.page-chapter01 .section-heading-label {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 17px;
    text-transform: uppercase;
    color: var(--navy);
    letter-spacing: 0.02em;
  }body.page-chapter01 .section-heading-line {
    flex: 1;
    height: 1px;
    background: var(--border);
  }body.page-chapter01 /* Device grid */
  .device-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }body.page-chapter01 .device-card {
    border: 1px solid var(--border);
    border-radius: 8px;
    overflow: hidden;
  }body.page-chapter01 .device-card-header {
    background: var(--navy);
    padding: 10px 14px;
    display: flex;
    align-items: center;
    gap: 10px;
  }body.page-chapter01 .device-icon {
    width: 26px;
    height: 26px;
    border-radius: 5px;
    background: rgba(0,216,200,0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }body.page-chapter01 .device-name {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 15px;
    text-transform: uppercase;
    color: var(--white);
    letter-spacing: 0.04em;
  }body.page-chapter01 .device-card-body {
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 8px;
  }body.page-chapter01 .device-section-label {
    font-size: 9px;
    font-weight: 500;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--muted);
    margin-bottom: 2px;
  }body.page-chapter01 .tag-row {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
  }body.page-chapter01 .tag {
    font-size: 10px;
    font-weight: 400;
    color: var(--navy);
    background: var(--offwhite);
    border: 1px solid var(--border);
    padding: 3px 8px;
    border-radius: 20px;
  }body.page-chapter01 .tag.danger {
    color: #8B2500;
    background: var(--danger-bg);
    border-color: var(--danger-border);
  }body.page-chapter01 .card-divider {
    height: 1px;
    background: var(--border);
    margin: 2px 0;
  }body.page-chapter01 /* Danger table */
  .danger-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 10.5px;
  }body.page-chapter01 .danger-table thead tr {
    background: var(--navy);
  }body.page-chapter01 .danger-table thead th {
    padding: 7px 12px;
    text-align: left;
    font-weight: 500;
    letter-spacing: 0.1em;
    font-size: 9px;
    text-transform: uppercase;
    color: var(--white);
  }body.page-chapter01 .danger-table thead th:first-child { border-radius: 6px 0 0 0; }body.page-chapter01 .danger-table thead th:last-child { border-radius: 0 6px 0 0; }body.page-chapter01 .danger-table tbody tr { border-bottom: 1px solid var(--border); }body.page-chapter01 .danger-table tbody tr:last-child { border-bottom: none; }body.page-chapter01 .danger-table tbody tr:nth-child(even) { background: var(--offwhite); }body.page-chapter01 .danger-table tbody td {
    padding: 7px 12px;
    color: var(--text);
    line-height: 1.5;
    vertical-align: top;
  }body.page-chapter01 .risk-pill {
    display: inline-block;
    font-size: 9px;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 2px 8px;
    border-radius: 20px;
  }body.page-chapter01 .risk-high { background: #FDEAEA; color: #9B1C1C; border: 1px solid #F5C6C6; }body.page-chapter01 .risk-medium { background: #FEF3E2; color: #8A4700; border: 1px solid #FDDCB5; }body.page-chapter01 .risk-low { background: #EAF7ED; color: #166534; border: 1px solid #BBF0CB; }body.page-chapter01 /* Callout */
  .callout {
    background: var(--navy);
    border-radius: 8px;
    padding: 14px 18px;
    display: flex;
    gap: 12px;
    align-items: flex-start;
  }body.page-chapter01 .callout-icon {
    width: 28px;
    height: 28px;
    border-radius: 5px;
    background: rgba(0,216,200,0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }body.page-chapter01 .callout-title {
    font-size: 10px;
    font-weight: 500;
    color: var(--cyan);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 4px;
  }body.page-chapter01 .callout-text {
    font-size: 10.5px;
    font-weight: 300;
    color: rgba(255,255,255,0.7);
    line-height: 1.6;
  }body.page-chapter01 /* ── Footer ── */
  .doc-footer {
    border-top: 2px solid var(--navy);
    padding: 9px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }body.page-chapter01 .footer-left { font-size: 9px; color: var(--muted); letter-spacing: 0.1em; }body.page-chapter01 .footer-center {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700; font-size: 13px;
    color: var(--navy); letter-spacing: 0.06em;
  }body.page-chapter01 .footer-right { font-size: 9px; color: var(--muted); letter-spacing: 0.1em; }@media print {body.page-chapter01 { background: none; padding: 0; gap: 0; }body.page-chapter01 .page { width: 210mm; height: 297mm; page-break-after: always; }body.page-chapter01 .page:last-child { page-break-after: auto; }@page { margin: 0; size: A4; }}body.page-chapter01 /* Age-band callout */
  .age-band { border:1px solid var(--border); border-radius:8px; overflow:hidden; }body.page-chapter01 .age-band-header { background:var(--navy); padding:7px 14px; }body.page-chapter01 .age-band-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:13px; text-transform:uppercase; color:var(--cyan); letter-spacing:0.06em; }body.page-chapter01 .age-band-rows { display:grid; grid-template-columns:1fr 1fr; }body.page-chapter01 .age-band-row { display:flex; gap:9px; padding:7px 14px; border-bottom:1px solid var(--border); align-items:flex-start; }body.page-chapter01 .age-band-row:nth-child(3),
body.page-chapter01 .age-band-row:nth-child(4) { border-bottom:none; }body.page-chapter01 .age-band-row:nth-child(odd) { border-right:1px solid var(--border); }body.page-chapter01 .age-badge2 { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:11px; background:var(--navy); color:var(--cyan); padding:2px 7px; border-radius:3px; white-space:nowrap; flex-shrink:0; margin-top:1px; }body.page-chapter01 .age-band-text { font-size:10px; font-weight:300; line-height:1.5; color:var(--text); }

/* =========================================================
   chapter-02.html  (body.page-chapter02)
   ========================================================= */

*,
body.page-chapter02 *::before,
body.page-chapter02 *::after { box-sizing: border-box; margin: 0; padding: 0; }:root {
    --navy:     #0B1628;
    --navy2:    #132040;
    --cyan:     #00D8C8;
    --white:    #FFFFFF;
    --offwhite: #F4F7FB;
    --border:   #E2E8F0;
    --text:     #1A2B3C;
    --muted:    #6B839A;
    --accent:   #FF5733;
  }body.page-chapter02 {
    font-family: 'DM Sans', sans-serif;
    background: #1a1a2e;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 40px 20px;
    gap: 40px;
  }body.page-chapter02 .page {
    width: 210mm;
    height: 297mm;
    background: var(--white);
    color: var(--text);
    display: grid;
    grid-template-rows: auto 1fr auto;
    position: relative;
    overflow: hidden;
  }body.page-chapter02 /* ── Header ── */
  .doc-header {
    display: flex;
    align-items: stretch;
    border-bottom: 3px solid var(--navy);
  }body.page-chapter02 .header-brand {
    background: var(--navy);
    padding: 14px 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2px;
    min-width: 140px;
  }body.page-chapter02 .header-logo {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 900;
    font-size: 20px;
    color: var(--cyan);
    letter-spacing: 0.04em;
  }body.page-chapter02 .header-tagline {
    font-size: 9px;
    font-weight: 400;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.4);
  }body.page-chapter02 .header-meta {
    flex: 1;
    padding: 12px 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 3px;
  }body.page-chapter02 .doc-type {
    font-size: 9px;
    font-weight: 500;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--cyan);
  }body.page-chapter02 .doc-title {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 20px;
    color: var(--navy);
    line-height: 1;
    text-transform: uppercase;
  }body.page-chapter02 .header-right {
    padding: 12px 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
    gap: 3px;
    border-left: 1px solid var(--border);
    min-width: 100px;
  }body.page-chapter02 .header-chapter {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 28px;
    color: var(--navy);
    line-height: 1;
  }body.page-chapter02 .header-date { font-size: 9.5px; color: var(--muted); }body.page-chapter02 /* ── Body ── */
  .doc-body {
    padding: 22px 28px;
    display: flex;
    flex-direction: column;
    gap: 16px;
  }body.page-chapter02 .lead {
    font-size: 12.5px;
    font-weight: 300;
    line-height: 1.75;
    color: var(--text);
    border-left: 3px solid var(--cyan);
    padding-left: 14px;
  }body.page-chapter02 .section-heading {
    display: flex;
    align-items: center;
    gap: 10px;
  }body.page-chapter02 .section-heading-num {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 11px;
    letter-spacing: 0.16em;
    color: var(--cyan);
    background: var(--navy);
    padding: 3px 9px;
    border-radius: 3px;
  }body.page-chapter02 .section-heading-label {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 17px;
    text-transform: uppercase;
    color: var(--navy);
  }body.page-chapter02 .section-heading-line {
    flex: 1;
    height: 1px;
    background: var(--border);
  }body.page-chapter02 .body-text {
    font-size: 11.5px;
    font-weight: 400;
    line-height: 1.75;
    color: var(--text);
  }body.page-chapter02 /* ── Tool comparison cards ── */
  .tool-cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }body.page-chapter02 .tool-card {
    border: 1px solid var(--border);
    border-radius: 8px;
    overflow: hidden;
  }body.page-chapter02 .tool-card-header {
    background: var(--navy);
    padding: 12px 16px;
    display: flex;
    align-items: center;
    gap: 10px;
  }body.page-chapter02 .tool-badge {
    width: 28px;
    height: 28px;
    border-radius: 6px;
    background: rgba(0,216,200,0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }body.page-chapter02 .tool-name {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--white);
  }body.page-chapter02 .tool-platform {
    font-size: 9px;
    font-weight: 400;
    color: var(--cyan);
    letter-spacing: 0.1em;
    margin-top: 1px;
  }body.page-chapter02 .tool-card-body {
    padding: 12px 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
  }body.page-chapter02 .tool-desc {
    font-size: 10.5px;
    font-weight: 300;
    line-height: 1.6;
    color: var(--text);
  }body.page-chapter02 .feature-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 5px;
  }body.page-chapter02 .feature-list li {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    font-size: 10.5px;
    line-height: 1.5;
    color: var(--text);
  }body.page-chapter02 .feature-list li::before {
    content: '';
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--cyan);
    flex-shrink: 0;
    margin-top: 5px;
  }body.page-chapter02 .tool-card-where {
    font-size: 9.5px;
    font-weight: 400;
    color: var(--muted);
    background: var(--offwhite);
    border-radius: 5px;
    padding: 5px 8px;
    display: flex;
    align-items: center;
    gap: 6px;
  }body.page-chapter02 .tool-card-where strong {
    color: var(--navy);
    font-weight: 500;
  }body.page-chapter02 /* ── Steps ── */
  .steps-block {
    display: flex;
    flex-direction: column;
    gap: 0;
    border: 1px solid var(--border);
    border-radius: 8px;
    overflow: hidden;
  }body.page-chapter02 .step-row {
    display: flex;
    gap: 0;
    border-bottom: 1px solid var(--border);
  }body.page-chapter02 .step-row:last-child { border-bottom: none; }body.page-chapter02 .step-num-col {
    background: var(--navy);
    width: 38px;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 12px;
    flex-shrink: 0;
  }body.page-chapter02 .step-circle {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: rgba(0,216,200,0.2);
    color: var(--cyan);
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
  }body.page-chapter02 .step-content {
    padding: 10px 14px;
    flex: 1;
  }body.page-chapter02 .step-title {
    font-size: 11.5px;
    font-weight: 500;
    color: var(--navy);
    margin-bottom: 3px;
  }body.page-chapter02 .step-desc {
    font-size: 10.5px;
    font-weight: 300;
    color: var(--muted);
    line-height: 1.6;
  }body.page-chapter02 .step-path {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 9.5px;
    font-weight: 500;
    color: var(--navy);
    background: var(--offwhite);
    border: 1px solid var(--border);
    border-radius: 4px;
    padding: 2px 7px;
    margin-top: 5px;
    font-family: monospace;
  }body.page-chapter02 .step-path span {
    color: var(--muted);
  }body.page-chapter02 /* ── Platform header banner ── */
  .platform-banner {
    background: var(--navy2);
    border-radius: 8px;
    padding: 12px 18px;
    display: flex;
    align-items: center;
    gap: 14px;
  }body.page-chapter02 .platform-banner-icon {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: rgba(0,216,200,0.12);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }body.page-chapter02 .platform-banner-title {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 20px;
    text-transform: uppercase;
    color: var(--white);
    letter-spacing: 0.03em;
  }body.page-chapter02 .platform-banner-sub {
    font-size: 10.5px;
    font-weight: 300;
    color: rgba(255,255,255,0.5);
    margin-top: 1px;
  }body.page-chapter02 .platform-banner-badge {
    margin-left: auto;
    font-size: 9px;
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--navy);
    background: var(--cyan);
    padding: 4px 10px;
    border-radius: 20px;
    white-space: nowrap;
    flex-shrink: 0;
  }body.page-chapter02 /* ── Two-col layout ── */
  .two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }body.page-chapter02 .three-col { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; }body.page-chapter02 /* ── Callouts ── */
  .callout {
    background: var(--navy);
    border-radius: 8px;
    padding: 13px 16px;
    display: flex;
    gap: 12px;
    align-items: flex-start;
  }body.page-chapter02 .callout-icon {
    width: 26px;
    height: 26px;
    border-radius: 5px;
    background: rgba(0,216,200,0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }body.page-chapter02 .callout-title {
    font-size: 10px;
    font-weight: 500;
    color: var(--cyan);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 3px;
  }body.page-chapter02 .callout-text {
    font-size: 10.5px;
    font-weight: 300;
    color: rgba(255,255,255,0.7);
    line-height: 1.6;
  }body.page-chapter02 .callout.warn {
    background: #FFF7F0;
    border: 1px solid #FFD4B8;
  }body.page-chapter02 .callout.warn .callout-title { color: var(--accent); }body.page-chapter02 .callout.warn .callout-text { color: #7A3A22; }body.page-chapter02 /* ── Capability table ── */
  .cap-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 10.5px;
  }body.page-chapter02 .cap-table thead tr { background: var(--navy); }body.page-chapter02 .cap-table thead th {
    padding: 7px 12px;
    text-align: left;
    font-weight: 500;
    letter-spacing: 0.1em;
    font-size: 9px;
    text-transform: uppercase;
    color: var(--white);
  }body.page-chapter02 .cap-table thead th:first-child { border-radius: 6px 0 0 0; }body.page-chapter02 .cap-table thead th:last-child { border-radius: 0 6px 0 0; }body.page-chapter02 .cap-table tbody tr { border-bottom: 1px solid var(--border); }body.page-chapter02 .cap-table tbody tr:last-child { border-bottom: none; }body.page-chapter02 .cap-table tbody tr:nth-child(even) { background: var(--offwhite); }body.page-chapter02 .cap-table tbody td {
    padding: 7px 12px;
    color: var(--text);
    line-height: 1.5;
    vertical-align: middle;
  }body.page-chapter02 .yes { color: #166534; font-weight: 500; }body.page-chapter02 .no { color: #9B1C1C; font-weight: 500; }body.page-chapter02 .partial { color: #8A4700; font-weight: 500; }body.page-chapter02 /* ── Checklist ── */
  .checklist {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 7px;
  }body.page-chapter02 .checklist li {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    font-size: 11px;
    line-height: 1.55;
    color: var(--text);
  }body.page-chapter02 .checklist li::before {
    content: '';
    width: 16px;
    height: 16px;
    border-radius: 4px;
    border: 1.5px solid var(--cyan);
    flex-shrink: 0;
    margin-top: 1px;
  }body.page-chapter02 /* ── Footer ── */
  .doc-footer {
    border-top: 2px solid var(--navy);
    padding: 9px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }body.page-chapter02 .footer-left { font-size: 9px; color: var(--muted); letter-spacing: 0.1em; }body.page-chapter02 .footer-center { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 13px; color: var(--navy); letter-spacing: 0.06em; }body.page-chapter02 .footer-right { font-size: 9px; color: var(--muted); letter-spacing: 0.1em; }@media print {body.page-chapter02 { background: none; padding: 0; gap: 0; }body.page-chapter02 .page { width: 210mm; height: 297mm; page-break-after: always; }body.page-chapter02 .page:last-child { page-break-after: auto; }@page { margin: 0; size: A4; }}body.page-chapter02 /* Age-band callout */
  .age-band { border:1px solid var(--border); border-radius:8px; overflow:hidden; }body.page-chapter02 .age-band-header { background:var(--navy); padding:7px 14px; }body.page-chapter02 .age-band-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:13px; text-transform:uppercase; color:var(--cyan); letter-spacing:0.06em; }body.page-chapter02 .age-band-rows { display:grid; grid-template-columns:1fr 1fr; }body.page-chapter02 .age-band-row { display:flex; gap:9px; padding:7px 14px; border-bottom:1px solid var(--border); align-items:flex-start; }body.page-chapter02 .age-band-row:nth-child(3),
body.page-chapter02 .age-band-row:nth-child(4) { border-bottom:none; }body.page-chapter02 .age-band-row:nth-child(odd) { border-right:1px solid var(--border); }body.page-chapter02 .age-badge2 { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:11px; background:var(--navy); color:var(--cyan); padding:2px 7px; border-radius:3px; white-space:nowrap; flex-shrink:0; margin-top:1px; }body.page-chapter02 .age-band-text { font-size:10px; font-weight:300; line-height:1.5; color:var(--text); }

/* =========================================================
   chapter-03.html  (body.page-chapter03)
   ========================================================= */

*,
body.page-chapter03 *::before,
body.page-chapter03 *::after { box-sizing: border-box; margin: 0; padding: 0; }:root {
    --navy:     #0B1628;
    --navy2:    #132040;
    --cyan:     #00D8C8;
    --white:    #FFFFFF;
    --offwhite: #F4F7FB;
    --border:   #E2E8F0;
    --text:     #1A2B3C;
    --muted:    #6B839A;
    --accent:   #FF5733;
  }body.page-chapter03 {
    font-family: 'DM Sans', sans-serif;
    background: #1a1a2e;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 40px 20px;
    gap: 40px;
  }body.page-chapter03 .page {
    width: 210mm;
    height: 297mm;
    background: var(--white);
    color: var(--text);
    display: grid;
    grid-template-rows: auto 1fr auto;
    position: relative;
    overflow: hidden;
  }body.page-chapter03 /* ── Header ── */
  .doc-header {
    display: flex;
    align-items: stretch;
    border-bottom: 3px solid var(--navy);
  }body.page-chapter03 .header-brand {
    background: var(--navy);
    padding: 14px 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2px;
    min-width: 140px;
  }body.page-chapter03 .header-logo {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 900;
    font-size: 20px;
    color: var(--cyan);
    letter-spacing: 0.04em;
  }body.page-chapter03 .header-tagline {
    font-size: 9px;
    font-weight: 400;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.4);
  }body.page-chapter03 .header-meta {
    flex: 1;
    padding: 12px 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 3px;
  }body.page-chapter03 .doc-type {
    font-size: 9px;
    font-weight: 500;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--cyan);
  }body.page-chapter03 .doc-title {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 20px;
    color: var(--navy);
    line-height: 1;
    text-transform: uppercase;
  }body.page-chapter03 .header-right {
    padding: 12px 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
    gap: 3px;
    border-left: 1px solid var(--border);
    min-width: 100px;
  }body.page-chapter03 .header-chapter {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 28px;
    color: var(--navy);
    line-height: 1;
  }body.page-chapter03 .header-date { font-size: 9.5px; color: var(--muted); }body.page-chapter03 /* ── Body ── */
  .doc-body {
    padding: 22px 28px;
    display: flex;
    flex-direction: column;
    gap: 16px;
  }body.page-chapter03 .lead {
    font-size: 12.5px;
    font-weight: 300;
    line-height: 1.75;
    color: var(--text);
    border-left: 3px solid var(--cyan);
    padding-left: 14px;
  }body.page-chapter03 .body-text {
    font-size: 11.5px;
    font-weight: 400;
    line-height: 1.75;
    color: var(--text);
  }body.page-chapter03 .section-heading {
    display: flex;
    align-items: center;
    gap: 10px;
  }body.page-chapter03 .section-heading-num {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 11px;
    letter-spacing: 0.16em;
    color: var(--cyan);
    background: var(--navy);
    padding: 3px 9px;
    border-radius: 3px;
  }body.page-chapter03 .section-heading-label {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 17px;
    text-transform: uppercase;
    color: var(--navy);
  }body.page-chapter03 .section-heading-line {
    flex: 1;
    height: 1px;
    background: var(--border);
  }body.page-chapter03 /* ── Age band cards ── */
  .age-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }body.page-chapter03 .age-card {
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid var(--border);
  }body.page-chapter03 .age-card-header {
    background: var(--navy);
    padding: 10px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }body.page-chapter03 .age-range {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 900;
    font-size: 26px;
    color: var(--cyan);
    line-height: 1;
  }body.page-chapter03 .age-label {
    font-size: 10px;
    font-weight: 400;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.45);
    text-align: right;
  }body.page-chapter03 .age-card-body {
    padding: 12px 16px;
    display: flex;
    flex-direction: column;
    gap: 9px;
  }body.page-chapter03 .age-limit-row {
    display: flex;
    align-items: baseline;
    gap: 8px;
  }body.page-chapter03 .age-limit-num {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 28px;
    color: var(--navy);
    line-height: 1;
  }body.page-chapter03 .age-limit-label {
    font-size: 10.5px;
    font-weight: 400;
    color: var(--muted);
  }body.page-chapter03 .age-rec-label {
    font-size: 9px;
    font-weight: 500;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--muted);
    margin-bottom: 2px;
  }body.page-chapter03 .age-card-divider {
    height: 1px;
    background: var(--border);
  }body.page-chapter03 .rec-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 5px;
  }body.page-chapter03 .rec-list li {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    font-size: 10.5px;
    line-height: 1.5;
    color: var(--text);
  }body.page-chapter03 .rec-list li::before {
    content: '';
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--cyan);
    flex-shrink: 0;
    margin-top: 5px;
  }body.page-chapter03 .who-says {
    font-size: 9px;
    font-weight: 400;
    color: var(--muted);
    font-style: italic;
    border-top: 1px solid var(--border);
    padding-top: 6px;
    margin-top: 2px;
  }body.page-chapter03 /* ── Warning signs ── */
  .warning-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 10px;
  }body.page-chapter03 .warning-card {
    background: #FFF3F0;
    border: 1px solid #FFD4C8;
    border-radius: 8px;
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 6px;
  }body.page-chapter03 .warning-icon-row {
    display: flex;
    align-items: center;
    gap: 8px;
  }body.page-chapter03 .warning-icon {
    width: 26px;
    height: 26px;
    border-radius: 5px;
    background: rgba(255,87,51,0.12);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }body.page-chapter03 .warning-title {
    font-size: 11px;
    font-weight: 500;
    color: #8B2500;
  }body.page-chapter03 .warning-desc {
    font-size: 10px;
    font-weight: 300;
    color: #7A3A22;
    line-height: 1.55;
  }body.page-chapter03 /* ── Rules table ── */
  .rules-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 10.5px;
  }body.page-chapter03 .rules-table thead tr { background: var(--navy); }body.page-chapter03 .rules-table thead th {
    padding: 7px 12px;
    text-align: left;
    font-weight: 500;
    letter-spacing: 0.1em;
    font-size: 9px;
    text-transform: uppercase;
    color: var(--white);
  }body.page-chapter03 .rules-table thead th:first-child { border-radius: 6px 0 0 0; }body.page-chapter03 .rules-table thead th:last-child { border-radius: 0 6px 0 0; }body.page-chapter03 .rules-table tbody tr { border-bottom: 1px solid var(--border); }body.page-chapter03 .rules-table tbody tr:last-child { border-bottom: none; }body.page-chapter03 .rules-table tbody tr:nth-child(even) { background: var(--offwhite); }body.page-chapter03 .rules-table tbody td {
    padding: 8px 12px;
    color: var(--text);
    line-height: 1.5;
    vertical-align: top;
  }body.page-chapter03 .rule-tag {
    display: inline-block;
    font-size: 9px;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 2px 7px;
    border-radius: 20px;
  }body.page-chapter03 .rule-tag.all { background: #E6F1FB; color: #185FA5; border: 1px solid #B5D4F4; }body.page-chapter03 .rule-tag.young { background: #EAF3DE; color: #3B6D11; border: 1px solid #C0DD97; }body.page-chapter03 .rule-tag.teen { background: #FAEEDA; color: #854F0B; border: 1px solid #FAC775; }body.page-chapter03 /* ── Callout ── */
  .callout {
    background: var(--navy);
    border-radius: 8px;
    padding: 13px 16px;
    display: flex;
    gap: 12px;
    align-items: flex-start;
  }body.page-chapter03 .callout-icon {
    width: 26px;
    height: 26px;
    border-radius: 5px;
    background: rgba(0,216,200,0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }body.page-chapter03 .callout-title {
    font-size: 10px;
    font-weight: 500;
    color: var(--cyan);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 3px;
  }body.page-chapter03 .callout-text {
    font-size: 10.5px;
    font-weight: 300;
    color: rgba(255,255,255,0.7);
    line-height: 1.6;
  }body.page-chapter03 /* ── Device-free zones ── */
  .zones-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
  }body.page-chapter03 .zone-card {
    background: var(--offwhite);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 14px 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-align: center;
    border-top: 3px solid var(--cyan);
  }body.page-chapter03 .zone-icon {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
  }body.page-chapter03 .zone-name {
    font-size: 11px;
    font-weight: 500;
    color: var(--navy);
  }body.page-chapter03 .zone-rule {
    font-size: 9.5px;
    font-weight: 300;
    color: var(--muted);
    line-height: 1.5;
  }body.page-chapter03 /* ── Checklist ── */
  .two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }body.page-chapter03 .checklist {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 7px;
  }body.page-chapter03 .checklist li {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    font-size: 11px;
    line-height: 1.55;
    color: var(--text);
  }body.page-chapter03 .checklist li::before {
    content: '';
    width: 16px;
    height: 16px;
    border-radius: 4px;
    border: 1.5px solid var(--cyan);
    flex-shrink: 0;
    margin-top: 1px;
  }body.page-chapter03 /* ── Footer ── */
  .doc-footer {
    border-top: 2px solid var(--navy);
    padding: 9px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }body.page-chapter03 .footer-left { font-size: 9px; color: var(--muted); letter-spacing: 0.1em; }body.page-chapter03 .footer-center { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 13px; color: var(--navy); letter-spacing: 0.06em; }body.page-chapter03 .footer-right { font-size: 9px; color: var(--muted); letter-spacing: 0.1em; }@media print {body.page-chapter03 { background: none; padding: 0; gap: 0; }body.page-chapter03 .page { width: 210mm; height: 297mm; page-break-after: always; }body.page-chapter03 .page:last-child { page-break-after: auto; }@page { margin: 0; size: A4; }}body.page-chapter03 /* Age-band callout */
  .age-band { border:1px solid var(--border); border-radius:8px; overflow:hidden; }body.page-chapter03 .age-band-header { background:var(--navy); padding:7px 14px; }body.page-chapter03 .age-band-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:13px; text-transform:uppercase; color:var(--cyan); letter-spacing:0.06em; }body.page-chapter03 .age-band-rows { display:grid; grid-template-columns:1fr 1fr; }body.page-chapter03 .age-band-row { display:flex; gap:9px; padding:7px 14px; border-bottom:1px solid var(--border); align-items:flex-start; }body.page-chapter03 .age-band-row:nth-child(3),
body.page-chapter03 .age-band-row:nth-child(4) { border-bottom:none; }body.page-chapter03 .age-band-row:nth-child(odd) { border-right:1px solid var(--border); }body.page-chapter03 .age-badge2 { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:11px; background:var(--navy); color:var(--cyan); padding:2px 7px; border-radius:3px; white-space:nowrap; flex-shrink:0; margin-top:1px; }body.page-chapter03 .age-band-text { font-size:10px; font-weight:300; line-height:1.5; color:var(--text); }

/* =========================================================
   chapter-04.html  (body.page-chapter04)
   ========================================================= */

*,
body.page-chapter04 *::before,
body.page-chapter04 *::after { box-sizing: border-box; margin: 0; padding: 0; }:root {
    --navy:     #0B1628;
    --navy2:    #132040;
    --cyan:     #00D8C8;
    --white:    #FFFFFF;
    --offwhite: #F4F7FB;
    --border:   #E2E8F0;
    --text:     #1A2B3C;
    --muted:    #6B839A;
    --accent:   #FF5733;
  }body.page-chapter04 {
    font-family: 'DM Sans', sans-serif;
    background: #1a1a2e;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 40px 20px;
    gap: 40px;
  }body.page-chapter04 .page {
    width: 210mm;
    height: 297mm;
    background: var(--white);
    color: var(--text);
    display: grid;
    grid-template-rows: auto 1fr auto;
    position: relative;
    overflow: hidden;
  }body.page-chapter04 .doc-header {
    display: flex;
    align-items: stretch;
    border-bottom: 3px solid var(--navy);
  }body.page-chapter04 .header-brand {
    background: var(--navy);
    padding: 14px 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2px;
    min-width: 140px;
  }body.page-chapter04 .header-logo {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 900;
    font-size: 20px;
    color: var(--cyan);
    letter-spacing: 0.04em;
  }body.page-chapter04 .header-tagline {
    font-size: 9px;
    font-weight: 400;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.4);
  }body.page-chapter04 .header-meta {
    flex: 1;
    padding: 12px 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 3px;
  }body.page-chapter04 .doc-type {
    font-size: 9px;
    font-weight: 500;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--cyan);
  }body.page-chapter04 .doc-title {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 20px;
    color: var(--navy);
    line-height: 1;
    text-transform: uppercase;
  }body.page-chapter04 .header-right {
    padding: 12px 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
    gap: 3px;
    border-left: 1px solid var(--border);
    min-width: 100px;
  }body.page-chapter04 .header-chapter {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 28px;
    color: var(--navy);
    line-height: 1;
  }body.page-chapter04 .header-date { font-size: 9.5px; color: var(--muted); }body.page-chapter04 .doc-body {
    padding: 22px 28px;
    display: flex;
    flex-direction: column;
    gap: 16px;
  }body.page-chapter04 .lead {
    font-size: 12.5px;
    font-weight: 300;
    line-height: 1.75;
    color: var(--text);
    border-left: 3px solid var(--cyan);
    padding-left: 14px;
  }body.page-chapter04 .body-text {
    font-size: 11.5px;
    font-weight: 400;
    line-height: 1.75;
    color: var(--text);
  }body.page-chapter04 .section-heading {
    display: flex;
    align-items: center;
    gap: 10px;
  }body.page-chapter04 .section-heading-num {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 11px;
    letter-spacing: 0.16em;
    color: var(--cyan);
    background: var(--navy);
    padding: 3px 9px;
    border-radius: 3px;
  }body.page-chapter04 .section-heading-label {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 17px;
    text-transform: uppercase;
    color: var(--navy);
  }body.page-chapter04 .section-heading-line {
    flex: 1;
    height: 1px;
    background: var(--border);
  }body.page-chapter04 /* Browser cards */
  .browser-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }body.page-chapter04 .browser-card {
    border: 1px solid var(--border);
    border-radius: 8px;
    overflow: hidden;
  }body.page-chapter04 .browser-card-header {
    background: var(--navy);
    padding: 10px 16px;
    display: flex;
    align-items: center;
    gap: 10px;
  }body.page-chapter04 .browser-badge {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 900;
    font-size: 18px;
    color: var(--cyan);
    min-width: 24px;
  }body.page-chapter04 .browser-name {
    font-size: 11px;
    font-weight: 500;
    color: var(--white);
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }body.page-chapter04 .browser-card-body {
    padding: 12px 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
  }body.page-chapter04 .step-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 7px;
  }body.page-chapter04 .step-list li {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 10.5px;
    line-height: 1.5;
    color: var(--text);
  }body.page-chapter04 .step-num {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 10px;
    color: var(--navy);
    background: var(--cyan);
    border-radius: 50%;
    width: 16px;
    height: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 1px;
  }body.page-chapter04 .path-tag {
    display: block;
    font-size: 9px;
    font-weight: 500;
    color: var(--muted);
    letter-spacing: 0.05em;
    font-style: italic;
    margin-top: 2px;
  }body.page-chapter04 /* DNS cards */
  .ss-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 10px;
  }body.page-chapter04 .ss-card {
    background: var(--offwhite);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    border-top: 3px solid var(--cyan);
  }body.page-chapter04 .ss-card-title {
    font-size: 11px;
    font-weight: 500;
    color: var(--navy);
  }body.page-chapter04 .ss-card-path {
    font-size: 9.5px;
    color: var(--muted);
    font-style: italic;
  }body.page-chapter04 .ss-card-desc {
    font-size: 10px;
    font-weight: 300;
    color: var(--text);
    line-height: 1.5;
  }body.page-chapter04 /* Threat table */
  .rules-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 10.5px;
  }body.page-chapter04 .rules-table thead tr { background: var(--navy); }body.page-chapter04 .rules-table thead th {
    padding: 7px 12px;
    text-align: left;
    font-weight: 500;
    letter-spacing: 0.1em;
    font-size: 9px;
    text-transform: uppercase;
    color: var(--white);
  }body.page-chapter04 .rules-table thead th:first-child { border-radius: 6px 0 0 0; }body.page-chapter04 .rules-table thead th:last-child { border-radius: 0 6px 0 0; }body.page-chapter04 .rules-table tbody tr { border-bottom: 1px solid var(--border); }body.page-chapter04 .rules-table tbody tr:last-child { border-bottom: none; }body.page-chapter04 .rules-table tbody tr:nth-child(even) { background: var(--offwhite); }body.page-chapter04 .rules-table tbody td {
    padding: 8px 12px;
    color: var(--text);
    line-height: 1.5;
    vertical-align: top;
  }body.page-chapter04 .risk-badge {
    display: inline-block;
    font-size: 9px;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 2px 7px;
    border-radius: 20px;
  }body.page-chapter04 .risk-badge.high { background: #FFEAEA; color: #8B0000; border: 1px solid #FFB3B3; }body.page-chapter04 .risk-badge.medium { background: #FFF3DA; color: #7A4500; border: 1px solid #FAC775; }body.page-chapter04 /* Callouts */
  .callout {
    background: var(--navy);
    border-radius: 8px;
    padding: 13px 16px;
    display: flex;
    gap: 12px;
    align-items: flex-start;
  }body.page-chapter04 .callout.warn {
    background: #FFF3F0;
    border: 1px solid #FFD4C8;
  }body.page-chapter04 .callout-icon {
    width: 26px;
    height: 26px;
    border-radius: 5px;
    background: rgba(0,216,200,0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }body.page-chapter04 .callout.warn .callout-icon { background: rgba(255,87,51,0.12); }body.page-chapter04 .callout-title {
    font-size: 10px;
    font-weight: 500;
    color: var(--cyan);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 3px;
  }body.page-chapter04 .callout.warn .callout-title { color: #8B2500; }body.page-chapter04 .callout-text {
    font-size: 10.5px;
    font-weight: 300;
    color: rgba(255,255,255,0.7);
    line-height: 1.6;
  }body.page-chapter04 .callout.warn .callout-text { color: #7A3A22; }body.page-chapter04 /* Checklist */
  .two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }body.page-chapter04 .checklist {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 7px;
  }body.page-chapter04 .checklist li {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    font-size: 11px;
    line-height: 1.55;
    color: var(--text);
  }body.page-chapter04 .checklist li::before {
    content: '';
    width: 16px;
    height: 16px;
    border-radius: 4px;
    border: 1.5px solid var(--cyan);
    flex-shrink: 0;
    margin-top: 1px;
  }body.page-chapter04 /* Footer */
  .doc-footer {
    border-top: 2px solid var(--navy);
    padding: 9px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }body.page-chapter04 .footer-left { font-size: 9px; color: var(--muted); letter-spacing: 0.1em; }body.page-chapter04 .footer-center { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 13px; color: var(--navy); letter-spacing: 0.06em; }body.page-chapter04 .footer-right { font-size: 9px; color: var(--muted); letter-spacing: 0.1em; }@media print {body.page-chapter04 { background: none; padding: 0; gap: 0; }body.page-chapter04 .page { width: 210mm; height: 297mm; page-break-after: always; }body.page-chapter04 .page:last-child { page-break-after: auto; }@page { margin: 0; size: A4; }}body.page-chapter04 /* Age-band callout */
  .age-band { border:1px solid var(--border); border-radius:8px; overflow:hidden; }body.page-chapter04 .age-band-header { background:var(--navy); padding:7px 14px; }body.page-chapter04 .age-band-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:13px; text-transform:uppercase; color:var(--cyan); letter-spacing:0.06em; }body.page-chapter04 .age-band-rows { display:grid; grid-template-columns:1fr 1fr; }body.page-chapter04 .age-band-row { display:flex; gap:9px; padding:7px 14px; border-bottom:1px solid var(--border); align-items:flex-start; }body.page-chapter04 .age-band-row:nth-child(3),
body.page-chapter04 .age-band-row:nth-child(4) { border-bottom:none; }body.page-chapter04 .age-band-row:nth-child(odd) { border-right:1px solid var(--border); }body.page-chapter04 .age-badge2 { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:11px; background:var(--navy); color:var(--cyan); padding:2px 7px; border-radius:3px; white-space:nowrap; flex-shrink:0; margin-top:1px; }body.page-chapter04 .age-band-text { font-size:10px; font-weight:300; line-height:1.5; color:var(--text); }

/* =========================================================
   chapter-05.html  (body.page-chapter05)
   ========================================================= */

*,
body.page-chapter05 *::before,
body.page-chapter05 *::after { box-sizing: border-box; margin: 0; padding: 0; }:root {
    --navy:     #0B1628;
    --navy2:    #132040;
    --cyan:     #00D8C8;
    --white:    #FFFFFF;
    --offwhite: #F4F7FB;
    --border:   #E2E8F0;
    --text:     #1A2B3C;
    --muted:    #6B839A;
    --accent:   #FF5733;
  }body.page-chapter05 {
    font-family: 'DM Sans', sans-serif;
    background: #1a1a2e;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 40px 20px;
    gap: 40px;
  }body.page-chapter05 .page {
    width: 210mm;
    height: 297mm;
    background: var(--white);
    color: var(--text);
    display: grid;
    grid-template-rows: auto 1fr auto;
    position: relative;
    overflow: hidden;
  }body.page-chapter05 .doc-header {
    display: flex;
    align-items: stretch;
    border-bottom: 3px solid var(--navy);
  }body.page-chapter05 .header-brand {
    background: var(--navy);
    padding: 14px 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2px;
    min-width: 140px;
  }body.page-chapter05 .header-logo {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 900;
    font-size: 20px;
    color: var(--cyan);
    letter-spacing: 0.04em;
  }body.page-chapter05 .header-tagline {
    font-size: 9px;
    font-weight: 400;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.4);
  }body.page-chapter05 .header-meta {
    flex: 1;
    padding: 12px 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 3px;
  }body.page-chapter05 .doc-type {
    font-size: 9px;
    font-weight: 500;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--cyan);
  }body.page-chapter05 .doc-title {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 20px;
    color: var(--navy);
    line-height: 1;
    text-transform: uppercase;
  }body.page-chapter05 .header-right {
    padding: 12px 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
    gap: 3px;
    border-left: 1px solid var(--border);
    min-width: 100px;
  }body.page-chapter05 .header-chapter {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 28px;
    color: var(--navy);
    line-height: 1;
  }body.page-chapter05 .header-date { font-size: 9.5px; color: var(--muted); }body.page-chapter05 .doc-body {
    padding: 22px 28px;
    display: flex;
    flex-direction: column;
    gap: 16px;
  }body.page-chapter05 .lead {
    font-size: 12.5px;
    font-weight: 300;
    line-height: 1.75;
    color: var(--text);
    border-left: 3px solid var(--cyan);
    padding-left: 14px;
  }body.page-chapter05 .body-text {
    font-size: 11.5px;
    font-weight: 400;
    line-height: 1.75;
    color: var(--text);
  }body.page-chapter05 .section-heading {
    display: flex;
    align-items: center;
    gap: 10px;
  }body.page-chapter05 .section-heading-num {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 11px;
    letter-spacing: 0.16em;
    color: var(--cyan);
    background: var(--navy);
    padding: 3px 9px;
    border-radius: 3px;
  }body.page-chapter05 .section-heading-label {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 17px;
    text-transform: uppercase;
    color: var(--navy);
  }body.page-chapter05 .section-heading-line {
    flex: 1;
    height: 1px;
    background: var(--border);
  }body.page-chapter05 /* Location risk table */
  .rules-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 10.5px;
  }body.page-chapter05 .rules-table thead tr { background: var(--navy); }body.page-chapter05 .rules-table thead th {
    padding: 7px 12px;
    text-align: left;
    font-weight: 500;
    letter-spacing: 0.1em;
    font-size: 9px;
    text-transform: uppercase;
    color: var(--white);
  }body.page-chapter05 .rules-table thead th:first-child { border-radius: 6px 0 0 0; }body.page-chapter05 .rules-table thead th:last-child { border-radius: 0 6px 0 0; }body.page-chapter05 .rules-table tbody tr { border-bottom: 1px solid var(--border); }body.page-chapter05 .rules-table tbody tr:last-child { border-bottom: none; }body.page-chapter05 .rules-table tbody tr:nth-child(even) { background: var(--offwhite); }body.page-chapter05 .rules-table tbody td {
    padding: 8px 12px;
    color: var(--text);
    line-height: 1.5;
    vertical-align: top;
  }body.page-chapter05 .risk-badge {
    display: inline-block;
    font-size: 9px;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 2px 7px;
    border-radius: 20px;
  }body.page-chapter05 .risk-badge.high { background: #FFEAEA; color: #8B0000; border: 1px solid #FFB3B3; }body.page-chapter05 .risk-badge.medium { background: #FFF3DA; color: #7A4500; border: 1px solid #FAC775; }body.page-chapter05 .risk-badge.low { background: #EAF3DE; color: #3B6D11; border: 1px solid #C0DD97; }body.page-chapter05 /* App action cards */
  .app-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }body.page-chapter05 .app-card {
    border: 1px solid var(--border);
    border-radius: 8px;
    overflow: hidden;
  }body.page-chapter05 .app-card-header {
    background: var(--navy);
    padding: 9px 16px;
    display: flex;
    align-items: center;
    gap: 10px;
  }body.page-chapter05 .app-badge {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 900;
    font-size: 16px;
    color: var(--cyan);
    min-width: 24px;
  }body.page-chapter05 .app-name {
    font-size: 11px;
    font-weight: 500;
    color: var(--white);
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }body.page-chapter05 .app-card-body {
    padding: 11px 16px;
    display: flex;
    flex-direction: column;
    gap: 5px;
  }body.page-chapter05 .action-row {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 10.5px;
    line-height: 1.5;
    color: var(--text);
  }body.page-chapter05 .action-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--cyan);
    flex-shrink: 0;
    margin-top: 5px;
  }body.page-chapter05 .path-note {
    font-size: 9px;
    color: var(--muted);
    font-style: italic;
    border-top: 1px solid var(--border);
    padding-top: 6px;
    margin-top: 3px;
  }body.page-chapter05 /* Callouts */
  .callout {
    background: var(--navy);
    border-radius: 8px;
    padding: 13px 16px;
    display: flex;
    gap: 12px;
    align-items: flex-start;
  }body.page-chapter05 .callout.warn {
    background: #FFF3F0;
    border: 1px solid #FFD4C8;
  }body.page-chapter05 .callout-icon {
    width: 26px;
    height: 26px;
    border-radius: 5px;
    background: rgba(0,216,200,0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }body.page-chapter05 .callout.warn .callout-icon { background: rgba(255,87,51,0.12); }body.page-chapter05 .callout-title {
    font-size: 10px;
    font-weight: 500;
    color: var(--cyan);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 3px;
  }body.page-chapter05 .callout.warn .callout-title { color: #8B2500; }body.page-chapter05 .callout-text {
    font-size: 10.5px;
    font-weight: 300;
    color: rgba(255,255,255,0.7);
    line-height: 1.6;
  }body.page-chapter05 .callout.warn .callout-text { color: #7A3A22; }body.page-chapter05 /* Privacy settings grid */
  .priv-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 10px;
  }body.page-chapter05 .priv-card {
    background: var(--offwhite);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    border-top: 3px solid var(--cyan);
  }body.page-chapter05 .priv-card-title {
    font-size: 11px;
    font-weight: 500;
    color: var(--navy);
  }body.page-chapter05 .priv-card-platform {
    font-size: 9px;
    color: var(--muted);
    font-style: italic;
  }body.page-chapter05 .priv-card-action {
    font-size: 10px;
    font-weight: 300;
    color: var(--text);
    line-height: 1.5;
  }body.page-chapter05 /* Checklist */
  .two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }body.page-chapter05 .checklist {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 7px;
  }body.page-chapter05 .checklist li {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    font-size: 11px;
    line-height: 1.55;
    color: var(--text);
  }body.page-chapter05 .checklist li::before {
    content: '';
    width: 16px;
    height: 16px;
    border-radius: 4px;
    border: 1.5px solid var(--cyan);
    flex-shrink: 0;
    margin-top: 1px;
  }body.page-chapter05 /* Footer */
  .doc-footer {
    border-top: 2px solid var(--navy);
    padding: 9px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }body.page-chapter05 .footer-left { font-size: 9px; color: var(--muted); letter-spacing: 0.1em; }body.page-chapter05 .footer-center { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 13px; color: var(--navy); letter-spacing: 0.06em; }body.page-chapter05 .footer-right { font-size: 9px; color: var(--muted); letter-spacing: 0.1em; }@media print {body.page-chapter05 { background: none; padding: 0; gap: 0; }body.page-chapter05 .page { width: 210mm; height: 297mm; page-break-after: always; }body.page-chapter05 .page:last-child { page-break-after: auto; }@page { margin: 0; size: A4; }}body.page-chapter05 /* Age-band callout */
  .age-band { border:1px solid var(--border); border-radius:8px; overflow:hidden; }body.page-chapter05 .age-band-header { background:var(--navy); padding:7px 14px; }body.page-chapter05 .age-band-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:13px; text-transform:uppercase; color:var(--cyan); letter-spacing:0.06em; }body.page-chapter05 .age-band-rows { display:grid; grid-template-columns:1fr 1fr; }body.page-chapter05 .age-band-row { display:flex; gap:9px; padding:7px 14px; border-bottom:1px solid var(--border); align-items:flex-start; }body.page-chapter05 .age-band-row:nth-child(3),
body.page-chapter05 .age-band-row:nth-child(4) { border-bottom:none; }body.page-chapter05 .age-band-row:nth-child(odd) { border-right:1px solid var(--border); }body.page-chapter05 .age-badge2 { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:11px; background:var(--navy); color:var(--cyan); padding:2px 7px; border-radius:3px; white-space:nowrap; flex-shrink:0; margin-top:1px; }body.page-chapter05 .age-band-text { font-size:10px; font-weight:300; line-height:1.5; color:var(--text); }

/* =========================================================
   chapter-06.html  (body.page-chapter06)
   ========================================================= */

*,
body.page-chapter06 *::before,
body.page-chapter06 *::after { box-sizing: border-box; margin: 0; padding: 0; }:root {
    --navy:     #0B1628;
    --navy2:    #132040;
    --cyan:     #00D8C8;
    --white:    #FFFFFF;
    --offwhite: #F4F7FB;
    --border:   #E2E8F0;
    --text:     #1A2B3C;
    --muted:    #6B839A;
    --accent:   #FF5733;
  }body.page-chapter06 {
    font-family: 'DM Sans', sans-serif;
    background: #1a1a2e;
    display: flex; flex-direction: column;
    align-items: center; padding: 40px 20px; gap: 40px;
  }body.page-chapter06 .page {
    width: 210mm; height: 297mm;
    background: var(--white); color: var(--text);
    display: grid; grid-template-rows: auto 1fr auto;
    position: relative; overflow: hidden;
  }body.page-chapter06 .doc-header { display: flex; align-items: stretch; border-bottom: 3px solid var(--navy); }body.page-chapter06 .header-brand {
    background: var(--navy); padding: 14px 24px;
    display: flex; flex-direction: column; justify-content: center; gap: 2px;
    min-width: 140px;
  }body.page-chapter06 .header-logo { font-family: 'Barlow Condensed', sans-serif; font-weight: 900; font-size: 20px; color: var(--cyan); letter-spacing: 0.04em; }body.page-chapter06 .header-tagline { font-size: 9px; font-weight: 400; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(255,255,255,0.4); }body.page-chapter06 .header-meta { flex: 1; padding: 12px 24px; display: flex; flex-direction: column; justify-content: center; gap: 3px; }body.page-chapter06 .doc-type { font-size: 9px; font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; color: var(--cyan); }body.page-chapter06 .doc-title { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 20px; color: var(--navy); line-height: 1; text-transform: uppercase; }body.page-chapter06 .header-right { padding: 12px 24px; display: flex; flex-direction: column; justify-content: center; align-items: flex-end; gap: 3px; border-left: 1px solid var(--border); min-width: 100px; }body.page-chapter06 .header-chapter { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 28px; color: var(--navy); line-height: 1; }body.page-chapter06 .header-date { font-size: 9.5px; color: var(--muted); }body.page-chapter06 .doc-body { padding: 22px 28px; display: flex; flex-direction: column; gap: 16px; }body.page-chapter06 .lead { font-size: 12.5px; font-weight: 300; line-height: 1.75; color: var(--text); border-left: 3px solid var(--cyan); padding-left: 14px; }body.page-chapter06 .body-text { font-size: 11.5px; font-weight: 400; line-height: 1.75; color: var(--text); }body.page-chapter06 .section-heading { display: flex; align-items: center; gap: 10px; }body.page-chapter06 .section-heading-num { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 11px; letter-spacing: 0.16em; color: var(--cyan); background: var(--navy); padding: 3px 9px; border-radius: 3px; }body.page-chapter06 .section-heading-label { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 17px; text-transform: uppercase; color: var(--navy); }body.page-chapter06 .section-heading-line { flex: 1; height: 1px; background: var(--border); }body.page-chapter06 .device-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }body.page-chapter06 .device-card { border: 1px solid var(--border); border-radius: 8px; overflow: hidden; }body.page-chapter06 .device-card-top { background: var(--navy); padding: 9px 14px; display: flex; align-items: center; gap: 9px; }body.page-chapter06 .device-icon { width: 28px; height: 28px; border-radius: 5px; background: rgba(0,216,200,0.15); display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 14px; }body.page-chapter06 .device-name { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 14px; text-transform: uppercase; color: var(--white); line-height: 1.1; }body.page-chapter06 .device-card-body { padding: 10px 14px; display: flex; flex-direction: column; gap: 5px; }body.page-chapter06 .device-risk { font-size: 9px; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; color: var(--accent); margin-bottom: 2px; }body.page-chapter06 .device-desc { font-size: 10.5px; font-weight: 300; line-height: 1.55; color: var(--text); }body.page-chapter06 .device-fix { font-size: 10px; font-weight: 500; color: var(--navy); background: var(--offwhite); border-radius: 4px; padding: 5px 8px; border-left: 2px solid var(--cyan); margin-top: 3px; }body.page-chapter06 .risk-table { width: 100%; border-collapse: collapse; font-size: 10.5px; }body.page-chapter06 .risk-table thead tr { background: var(--navy); }body.page-chapter06 .risk-table thead th { padding: 7px 12px; text-align: left; font-weight: 500; font-size: 9px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--white); }body.page-chapter06 .risk-table thead th:first-child { border-radius: 6px 0 0 0; }body.page-chapter06 .risk-table thead th:last-child { border-radius: 0 6px 0 0; }body.page-chapter06 .risk-table tbody tr:nth-child(odd) { background: var(--offwhite); }body.page-chapter06 .risk-table tbody tr:nth-child(even) { background: var(--white); }body.page-chapter06 .risk-table tbody td { padding: 7px 12px; border-bottom: 1px solid var(--border); line-height: 1.45; vertical-align: top; }body.page-chapter06 .risk-table tbody tr:last-child td { border-bottom: none; }body.page-chapter06 .risk-badge { display: inline-block; font-size: 8px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; padding: 2px 7px; border-radius: 3px; }body.page-chapter06 .risk-high { background: #FFEAEA; color: #A30000; }body.page-chapter06 .risk-medium { background: #FFF6E0; color: #7A5200; }body.page-chapter06 .risk-low { background: #EAF7ED; color: #166534; }body.page-chapter06 .callout { background: var(--navy); border-radius: 8px; padding: 14px 18px; color: var(--white); display: flex; flex-direction: column; gap: 6px; }body.page-chapter06 .callout.warn { background: #FFF3F0; border: 1px solid #FFCFC4; color: var(--text); }body.page-chapter06 .callout.info { background: #EDF7F5; border: 1px solid #A0DDD8; color: var(--text); }body.page-chapter06 .callout-title { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; }body.page-chapter06 .callout .callout-title { color: var(--cyan); }body.page-chapter06 .callout.warn .callout-title { color: var(--accent); }body.page-chapter06 .callout.info .callout-title { color: #0B7C6E; }body.page-chapter06 .callout-body { font-size: 10.5px; line-height: 1.6; }body.page-chapter06 .two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }body.page-chapter06 .checklist { list-style: none; display: flex; flex-direction: column; gap: 7px; }body.page-chapter06 .checklist li { font-size: 11px; line-height: 1.5; padding-left: 28px; position: relative; }body.page-chapter06 .checklist li::before { content: ''; position: absolute; left: 0; top: 2px; width: 16px; height: 16px; border: 2px solid var(--cyan); border-radius: 3px; background: var(--white); }body.page-chapter06 .checklist-title { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 16px; text-transform: uppercase; color: var(--navy); margin-bottom: 4px; }body.page-chapter06 .steps { display: flex; flex-direction: column; gap: 8px; }body.page-chapter06 .step { display: flex; align-items: flex-start; gap: 10px; font-size: 10.5px; line-height: 1.55; }body.page-chapter06 .step-num { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 13px; background: var(--cyan); color: var(--navy); border-radius: 50%; width: 22px; height: 22px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 1px; }body.page-chapter06 .step-text strong { font-weight: 500; color: var(--navy); }body.page-chapter06 .doc-footer { padding: 10px 28px; border-top: 1px solid var(--border); display: flex; justify-content: space-between; align-items: center; }body.page-chapter06 .footer-left,
body.page-chapter06 .footer-center,
body.page-chapter06 .footer-right { font-size: 8.5px; color: var(--muted); letter-spacing: 0.05em; }body.page-chapter06 .footer-center { text-align: center; }body.page-chapter06 .footer-right { text-align: right; }@media print {body.page-chapter06 { background: white; padding: 0; gap: 0; }body.page-chapter06 .page { page-break-after: always; height: 297mm; }}body.page-chapter06 /* Age-band callout */
  .age-band { border:1px solid var(--border); border-radius:8px; overflow:hidden; }body.page-chapter06 .age-band-header { background:var(--navy); padding:7px 14px; }body.page-chapter06 .age-band-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:13px; text-transform:uppercase; color:var(--cyan); letter-spacing:0.06em; }body.page-chapter06 .age-band-rows { display:grid; grid-template-columns:1fr 1fr; }body.page-chapter06 .age-band-row { display:flex; gap:9px; padding:7px 14px; border-bottom:1px solid var(--border); align-items:flex-start; }body.page-chapter06 .age-band-row:nth-child(3),
body.page-chapter06 .age-band-row:nth-child(4) { border-bottom:none; }body.page-chapter06 .age-band-row:nth-child(odd) { border-right:1px solid var(--border); }body.page-chapter06 .age-badge2 { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:11px; background:var(--navy); color:var(--cyan); padding:2px 7px; border-radius:3px; white-space:nowrap; flex-shrink:0; margin-top:1px; }body.page-chapter06 .age-band-text { font-size:10px; font-weight:300; line-height:1.5; color:var(--text); }

/* =========================================================
   chapter-07.html  (body.page-chapter07)
   ========================================================= */

*,
body.page-chapter07 *::before,
body.page-chapter07 *::after { box-sizing: border-box; margin: 0; padding: 0; }:root {
    --navy:     #0B1628;
    --navy2:    #132040;
    --cyan:     #00D8C8;
    --white:    #FFFFFF;
    --offwhite: #F4F7FB;
    --border:   #E2E8F0;
    --text:     #1A2B3C;
    --muted:    #6B839A;
    --accent:   #FF5733;
  }body.page-chapter07 {
    font-family: 'DM Sans', sans-serif;
    background: #1a1a2e;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 40px 20px;
    gap: 40px;
  }body.page-chapter07 .page {
    width: 210mm;
    height: 297mm;
    background: var(--white);
    color: var(--text);
    display: grid;
    grid-template-rows: auto 1fr auto;
    position: relative;
    overflow: hidden;
  }body.page-chapter07 /* ── Header ── */
  .doc-header {
    display: flex;
    align-items: stretch;
    border-bottom: 3px solid var(--navy);
  }body.page-chapter07 .header-brand {
    background: var(--navy);
    padding: 14px 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2px;
    min-width: 140px;
  }body.page-chapter07 .header-logo {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 900;
    font-size: 20px;
    color: var(--cyan);
    letter-spacing: 0.04em;
  }body.page-chapter07 .header-tagline {
    font-size: 9px;
    font-weight: 400;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.4);
  }body.page-chapter07 .header-meta {
    flex: 1;
    padding: 12px 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 3px;
  }body.page-chapter07 .doc-type {
    font-size: 9px;
    font-weight: 500;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--cyan);
  }body.page-chapter07 .doc-title {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 20px;
    color: var(--navy);
    line-height: 1;
    text-transform: uppercase;
  }body.page-chapter07 .header-right {
    padding: 12px 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
    gap: 3px;
    border-left: 1px solid var(--border);
    min-width: 100px;
  }body.page-chapter07 .header-chapter {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 28px;
    color: var(--navy);
    line-height: 1;
  }body.page-chapter07 .header-date { font-size: 9.5px; color: var(--muted); }body.page-chapter07 /* ── Body ── */
  .doc-body {
    padding: 22px 28px;
    display: flex;
    flex-direction: column;
    gap: 16px;
  }body.page-chapter07 .lead {
    font-size: 12.5px;
    font-weight: 300;
    line-height: 1.75;
    color: var(--text);
    border-left: 3px solid var(--cyan);
    padding-left: 14px;
  }body.page-chapter07 .body-text {
    font-size: 11.5px;
    font-weight: 400;
    line-height: 1.75;
    color: var(--text);
  }body.page-chapter07 .section-heading {
    display: flex;
    align-items: center;
    gap: 10px;
  }body.page-chapter07 .section-heading-num {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 11px;
    letter-spacing: 0.16em;
    color: var(--cyan);
    background: var(--navy);
    padding: 3px 9px;
    border-radius: 3px;
  }body.page-chapter07 .section-heading-label {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 17px;
    text-transform: uppercase;
    color: var(--navy);
  }body.page-chapter07 .section-heading-line {
    flex: 1;
    height: 1px;
    background: var(--border);
  }body.page-chapter07 /* ── Platform deep-dive card ── */
  .platform-card {
    border: 1px solid var(--border);
    border-radius: 8px;
    overflow: hidden;
  }body.page-chapter07 .platform-card-header {
    background: var(--navy);
    padding: 12px 18px;
    display: flex;
    align-items: center;
    gap: 14px;
  }body.page-chapter07 .platform-logo-box {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 900;
    font-size: 15px;
    letter-spacing: -0.02em;
  }body.page-chapter07 .tiktok-color { background: rgba(254,44,85,0.2);  color: #FE2C55; }body.page-chapter07 .insta-color { background: rgba(225,48,108,0.2); color: #E1306C; }body.page-chapter07 .snap-color { background: rgba(255,252,0,0.15); color: #FFFC00; }body.page-chapter07 .discord-color { background: rgba(88,101,242,0.2); color: #7289DA; }body.page-chapter07 .youtube-color { background: rgba(255,0,0,0.15);   color: #FF4444; }body.page-chapter07 .platform-header-text {}body.page-chapter07 .platform-name {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 900;
    font-size: 20px;
    text-transform: uppercase;
    color: var(--white);
    letter-spacing: 0.03em;
    line-height: 1;
  }body.page-chapter07 .platform-sub {
    font-size: 10px;
    font-weight: 300;
    color: rgba(255,255,255,0.45);
    margin-top: 2px;
  }body.page-chapter07 .platform-age-badge {
    margin-left: auto;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 3px;
    flex-shrink: 0;
  }body.page-chapter07 .min-age-label {
    font-size: 8.5px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.35);
  }body.page-chapter07 .min-age-num {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 900;
    font-size: 24px;
    line-height: 1;
    color: var(--cyan);
  }body.page-chapter07 .platform-card-body {
    padding: 14px 18px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
  }body.page-chapter07 .pcol {}body.page-chapter07 .pcol-label {
    font-size: 9px;
    font-weight: 500;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--muted);
    margin-bottom: 8px;
  }body.page-chapter07 .how-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 5px;
  }body.page-chapter07 .how-list li {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    font-size: 10.5px;
    line-height: 1.5;
    color: var(--text);
  }body.page-chapter07 .how-list li::before {
    content: '';
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--cyan);
    flex-shrink: 0;
    margin-top: 5px;
  }body.page-chapter07 .risk-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 5px;
  }body.page-chapter07 .risk-list li {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    font-size: 10.5px;
    line-height: 1.5;
    color: #7A3A22;
    background: #FFF3F0;
    border: 1px solid #FFD4C8;
    border-radius: 5px;
    padding: 5px 8px;
  }body.page-chapter07 .risk-list li::before {
    content: '!';
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: var(--accent);
    color: var(--white);
    font-size: 9px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 1px;
  }body.page-chapter07 .platform-card-footer {
    border-top: 1px solid var(--border);
    background: var(--offwhite);
    padding: 8px 18px;
    display: flex;
    align-items: center;
    gap: 8px;
  }body.page-chapter07 .action-label {
    font-size: 9px;
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--navy);
  }body.page-chapter07 .action-path {
    font-size: 9.5px;
    font-weight: 400;
    color: var(--muted);
    font-family: monospace;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: 4px;
    padding: 2px 7px;
  }body.page-chapter07 /* ── Algorithm explainer ── */
  .algo-row {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 0;
    border: 1px solid var(--border);
    border-radius: 8px;
    overflow: hidden;
  }body.page-chapter07 .algo-step {
    padding: 12px 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 6px;
    border-right: 1px solid var(--border);
    position: relative;
  }body.page-chapter07 .algo-step:last-child { border-right: none; }body.page-chapter07 .algo-step-num {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 11px;
    color: var(--cyan);
    background: var(--navy);
    width: 20px;
    height: 20px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
  }body.page-chapter07 .algo-step-title {
    font-size: 10px;
    font-weight: 500;
    color: var(--navy);
    line-height: 1.3;
  }body.page-chapter07 .algo-step-desc {
    font-size: 9px;
    font-weight: 300;
    color: var(--muted);
    line-height: 1.5;
  }body.page-chapter07 /* ── Risk summary table ── */
  .risk-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 10.5px;
  }body.page-chapter07 .risk-table thead tr { background: var(--navy); }body.page-chapter07 .risk-table thead th {
    padding: 7px 12px;
    text-align: left;
    font-weight: 500;
    letter-spacing: 0.1em;
    font-size: 9px;
    text-transform: uppercase;
    color: var(--white);
  }body.page-chapter07 .risk-table thead th:first-child { border-radius: 6px 0 0 0; }body.page-chapter07 .risk-table thead th:last-child { border-radius: 0 6px 0 0; }body.page-chapter07 .risk-table tbody tr { border-bottom: 1px solid var(--border); }body.page-chapter07 .risk-table tbody tr:last-child { border-bottom: none; }body.page-chapter07 .risk-table tbody tr:nth-child(even) { background: var(--offwhite); }body.page-chapter07 .risk-table tbody td {
    padding: 7px 12px;
    color: var(--text);
    line-height: 1.5;
    vertical-align: middle;
  }body.page-chapter07 .dot-yes { color: #166534; font-weight: 600; font-size: 13px; }body.page-chapter07 .dot-no { color: #c0c8d4; font-weight: 600; font-size: 13px; }body.page-chapter07 .dot-part { color: #8A4700; font-weight: 600; font-size: 13px; }body.page-chapter07 /* ── Callouts ── */
  .callout {
    background: var(--navy);
    border-radius: 8px;
    padding: 13px 16px;
    display: flex;
    gap: 12px;
    align-items: flex-start;
  }body.page-chapter07 .callout-icon {
    width: 26px;
    height: 26px;
    border-radius: 5px;
    background: rgba(0,216,200,0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }body.page-chapter07 .callout-title {
    font-size: 10px;
    font-weight: 500;
    color: var(--cyan);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 3px;
  }body.page-chapter07 .callout-text {
    font-size: 10.5px;
    font-weight: 300;
    color: rgba(255,255,255,0.7);
    line-height: 1.6;
  }body.page-chapter07 .callout.warn {
    background: #FFF7F0;
    border: 1px solid #FFD4B8;
  }body.page-chapter07 .callout.warn .callout-title { color: var(--accent); }body.page-chapter07 .callout.warn .callout-text { color: #7A3A22; }body.page-chapter07 /* ── Two-col ── */
  .two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }body.page-chapter07 /* ── Checklist ── */
  .checklist {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 7px;
  }body.page-chapter07 .checklist li {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    font-size: 11px;
    line-height: 1.55;
    color: var(--text);
  }body.page-chapter07 .checklist li::before {
    content: '';
    width: 16px;
    height: 16px;
    border-radius: 4px;
    border: 1.5px solid var(--cyan);
    flex-shrink: 0;
    margin-top: 1px;
  }body.page-chapter07 /* ── Footer ── */
  .doc-footer {
    border-top: 2px solid var(--navy);
    padding: 9px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }body.page-chapter07 .footer-left { font-size: 9px; color: var(--muted); letter-spacing: 0.1em; }body.page-chapter07 .footer-center { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 13px; color: var(--navy); letter-spacing: 0.06em; }body.page-chapter07 .footer-right { font-size: 9px; color: var(--muted); letter-spacing: 0.1em; }@media print {body.page-chapter07 { background: none; padding: 0; gap: 0; }body.page-chapter07 .page { width: 210mm; height: 297mm; page-break-after: always; }body.page-chapter07 .page:last-child { page-break-after: auto; }@page { margin: 0; size: A4; }}body.page-chapter07 /* Age-band callout */
  .age-band { border:1px solid var(--border); border-radius:8px; overflow:hidden; }body.page-chapter07 .age-band-header { background:var(--navy); padding:7px 14px; }body.page-chapter07 .age-band-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:13px; text-transform:uppercase; color:var(--cyan); letter-spacing:0.06em; }body.page-chapter07 .age-band-rows { display:grid; grid-template-columns:1fr 1fr; }body.page-chapter07 .age-band-row { display:flex; gap:9px; padding:7px 14px; border-bottom:1px solid var(--border); align-items:flex-start; }body.page-chapter07 .age-band-row:nth-child(3),
body.page-chapter07 .age-band-row:nth-child(4) { border-bottom:none; }body.page-chapter07 .age-band-row:nth-child(odd) { border-right:1px solid var(--border); }body.page-chapter07 .age-badge2 { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:11px; background:var(--navy); color:var(--cyan); padding:2px 7px; border-radius:3px; white-space:nowrap; flex-shrink:0; margin-top:1px; }body.page-chapter07 .age-band-text { font-size:10px; font-weight:300; line-height:1.5; color:var(--text); }

/* =========================================================
   chapter-08.html  (body.page-chapter08)
   ========================================================= */

*,
body.page-chapter08 *::before,
body.page-chapter08 *::after { box-sizing: border-box; margin: 0; padding: 0; }:root { --navy:#0B1628; --navy2:#132040; --cyan:#00D8C8; --white:#FFFFFF; --offwhite:#F4F7FB; --border:#E2E8F0; --text:#1A2B3C; --muted:#6B839A; --accent:#FF5733; }body.page-chapter08 { font-family:'DM Sans',sans-serif; background:#1a1a2e; display:flex; flex-direction:column; align-items:center; padding:40px 20px; gap:40px; }body.page-chapter08 .page { width:210mm; height:297mm; background:var(--white); color:var(--text); display:grid; grid-template-rows:auto 1fr auto; position:relative; overflow:hidden; }body.page-chapter08 .doc-header { display:flex; align-items:stretch; border-bottom:3px solid var(--navy); }body.page-chapter08 .header-brand { background:var(--navy); padding:14px 24px; display:flex; flex-direction:column; justify-content:center; gap:2px; min-width:140px; }body.page-chapter08 .header-logo { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:20px; color:var(--cyan); letter-spacing:0.04em; }body.page-chapter08 .header-tagline { font-size:9px; font-weight:400; letter-spacing:0.14em; text-transform:uppercase; color:rgba(255,255,255,0.4); }body.page-chapter08 .header-meta { flex:1; padding:12px 24px; display:flex; flex-direction:column; justify-content:center; gap:3px; }body.page-chapter08 .doc-type { font-size:9px; font-weight:500; letter-spacing:0.2em; text-transform:uppercase; color:var(--cyan); }body.page-chapter08 .doc-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:20px; color:var(--navy); line-height:1; text-transform:uppercase; }body.page-chapter08 .header-right { padding:12px 24px; display:flex; flex-direction:column; justify-content:center; align-items:flex-end; gap:3px; border-left:1px solid var(--border); min-width:100px; }body.page-chapter08 .header-chapter { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:28px; color:var(--navy); line-height:1; }body.page-chapter08 .header-date { font-size:9.5px; color:var(--muted); }body.page-chapter08 .doc-body { padding:22px 28px; display:flex; flex-direction:column; gap:16px; }body.page-chapter08 .lead { font-size:12.5px; font-weight:300; line-height:1.75; color:var(--text); border-left:3px solid var(--cyan); padding-left:14px; }body.page-chapter08 .body-text { font-size:11.5px; font-weight:400; line-height:1.75; color:var(--text); }body.page-chapter08 .section-heading { display:flex; align-items:center; gap:10px; }body.page-chapter08 .section-heading-num { font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:11px; letter-spacing:0.16em; color:var(--cyan); background:var(--navy); padding:3px 9px; border-radius:3px; }body.page-chapter08 .section-heading-label { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:17px; text-transform:uppercase; color:var(--navy); }body.page-chapter08 .section-heading-line { flex:1; height:1px; background:var(--border); }body.page-chapter08 /* Difference cards */
  .diff-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px; }body.page-chapter08 .diff-card { border:1px solid var(--border); border-radius:8px; overflow:hidden; }body.page-chapter08 .diff-card-top { background:var(--navy); padding:10px 14px; }body.page-chapter08 .diff-platform { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:13px; text-transform:uppercase; color:var(--cyan); letter-spacing:0.04em; }body.page-chapter08 .diff-subtitle { font-size:9px; color:rgba(255,255,255,0.5); margin-top:2px; }body.page-chapter08 .diff-card-body { padding:10px 14px; display:flex; flex-direction:column; gap:5px; }body.page-chapter08 .diff-risk { font-size:9px; font-weight:500; letter-spacing:0.12em; text-transform:uppercase; color:var(--accent); }body.page-chapter08 .diff-desc { font-size:10.5px; font-weight:300; line-height:1.55; color:var(--text); }body.page-chapter08 /* Contrast table */
  .contrast-table { width:100%; border-collapse:collapse; font-size:10.5px; }body.page-chapter08 .contrast-table thead tr { background:var(--navy); }body.page-chapter08 .contrast-table thead th { padding:7px 12px; text-align:left; font-weight:500; font-size:9px; letter-spacing:0.1em; text-transform:uppercase; color:var(--white); }body.page-chapter08 .contrast-table thead th:first-child { border-radius:6px 0 0 0; }body.page-chapter08 .contrast-table thead th:last-child { border-radius:0 6px 0 0; }body.page-chapter08 .contrast-table tbody tr:nth-child(odd) { background:var(--offwhite); }body.page-chapter08 .contrast-table tbody tr:nth-child(even) { background:var(--white); }body.page-chapter08 .contrast-table tbody td { padding:7px 12px; border-bottom:1px solid var(--border); line-height:1.45; vertical-align:top; }body.page-chapter08 .contrast-table tbody tr:last-child td { border-bottom:none; }body.page-chapter08 /* Two-col warning signs */
  .two-col { display:grid; grid-template-columns:1fr 1fr; gap:12px; }body.page-chapter08 .warn-box { border:1px solid var(--border); border-radius:8px; overflow:hidden; }body.page-chapter08 .warn-box-header { background:var(--navy); padding:8px 14px; }body.page-chapter08 .warn-box-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:13px; text-transform:uppercase; color:var(--cyan); }body.page-chapter08 .warn-box-body { padding:10px 14px; display:flex; flex-direction:column; gap:5px; }body.page-chapter08 .warn-item { font-size:10.5px; line-height:1.5; padding-left:14px; position:relative; color:var(--text); }body.page-chapter08 .warn-item::before { content:'▸'; position:absolute; left:0; color:var(--accent); font-size:9px; top:2px; }body.page-chapter08 /* Say/Avoid */
  .say-avoid { display:grid; grid-template-columns:1fr 1fr; gap:0; border:1px solid var(--border); border-radius:8px; overflow:hidden; }body.page-chapter08 .say-col {}body.page-chapter08 .say-header { padding:8px 14px; font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:13px; text-transform:uppercase; letter-spacing:0.04em; }body.page-chapter08 .say-header.say { background:#EDF7F5; color:#0B7C6E; border-bottom:2px solid #00D8C8; }body.page-chapter08 .say-header.avoid { background:#FFF3F0; color:#8B2500; border-bottom:2px solid var(--accent); border-left:1px solid var(--border); }body.page-chapter08 .say-body { padding:10px 14px; display:flex; flex-direction:column; gap:6px; border-right:1px solid var(--border); }body.page-chapter08 .say-col:last-child .say-body { border-right:none; }body.page-chapter08 .say-item { font-size:10px; font-style:italic; line-height:1.5; color:var(--text); background:var(--offwhite); border-radius:4px; padding:5px 8px; }body.page-chapter08 /* Callout */
  .callout { background:var(--navy); border-radius:8px; padding:14px 18px; color:var(--white); display:flex; flex-direction:column; gap:6px; }body.page-chapter08 .callout.warn { background:#FFF3F0; border:1px solid #FFCFC4; color:var(--text); }body.page-chapter08 .callout.info { background:#EDF7F5; border:1px solid #A0DDD8; color:var(--text); }body.page-chapter08 .callout-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:14px; text-transform:uppercase; letter-spacing:0.06em; }body.page-chapter08 .callout .callout-title { color:var(--cyan); }body.page-chapter08 .callout.warn .callout-title { color:var(--accent); }body.page-chapter08 .callout.info .callout-title { color:#0B7C6E; }body.page-chapter08 .callout-body { font-size:10.5px; line-height:1.6; }body.page-chapter08 /* Checklist */
  .checklist { list-style:none; display:flex; flex-direction:column; gap:7px; }body.page-chapter08 .checklist li { font-size:11px; line-height:1.5; padding-left:28px; position:relative; }body.page-chapter08 .checklist li::before { content:''; position:absolute; left:0; top:2px; width:16px; height:16px; border:2px solid var(--cyan); border-radius:3px; background:var(--white); }body.page-chapter08 .doc-footer { padding:10px 28px; border-top:1px solid var(--border); display:flex; justify-content:space-between; align-items:center; }body.page-chapter08 .footer-left,
body.page-chapter08 .footer-center,
body.page-chapter08 .footer-right { font-size:8.5px; color:var(--muted); letter-spacing:0.05em; }body.page-chapter08 .footer-center { text-align:center; }body.page-chapter08 .footer-right { text-align:right; }@media print {body.page-chapter08 { background:white; padding:0; gap:0; }body.page-chapter08 .page { page-break-after:always; height:297mm; }}body.page-chapter08 /* Age-band callout */
  .age-band { border:1px solid var(--border); border-radius:8px; overflow:hidden; }body.page-chapter08 .age-band-header { background:var(--navy); padding:7px 14px; }body.page-chapter08 .age-band-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:13px; text-transform:uppercase; color:var(--cyan); letter-spacing:0.06em; }body.page-chapter08 .age-band-rows { display:grid; grid-template-columns:1fr 1fr; }body.page-chapter08 .age-band-row { display:flex; gap:9px; padding:7px 14px; border-bottom:1px solid var(--border); align-items:flex-start; }body.page-chapter08 .age-band-row:nth-child(3),
body.page-chapter08 .age-band-row:nth-child(4) { border-bottom:none; }body.page-chapter08 .age-band-row:nth-child(odd) { border-right:1px solid var(--border); }body.page-chapter08 .age-badge2 { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:11px; background:var(--navy); color:var(--cyan); padding:2px 7px; border-radius:3px; white-space:nowrap; flex-shrink:0; margin-top:1px; }body.page-chapter08 .age-band-text { font-size:10px; font-weight:300; line-height:1.5; color:var(--text); }

/* =========================================================
   chapter-09.html  (body.page-chapter09)
   ========================================================= */

*,
body.page-chapter09 *::before,
body.page-chapter09 *::after { box-sizing: border-box; margin: 0; padding: 0; }:root {
    --navy:     #0B1628;
    --navy2:    #132040;
    --cyan:     #00D8C8;
    --white:    #FFFFFF;
    --offwhite: #F4F7FB;
    --border:   #E2E8F0;
    --text:     #1A2B3C;
    --muted:    #6B839A;
    --accent:   #FF5733;
    --green:    #166534;
    --green-bg: #EAF7ED;
    --green-br: #BBF0CB;
  }body.page-chapter09 {
    font-family: 'DM Sans', sans-serif;
    background: #1a1a2e;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 40px 20px;
    gap: 40px;
  }body.page-chapter09 .page {
    width: 210mm;
    height: 297mm;
    background: var(--white);
    color: var(--text);
    display: grid;
    grid-template-rows: auto 1fr auto;
    position: relative;
    overflow: hidden;
  }body.page-chapter09 /* ── Header ── */
  .doc-header { display: flex; align-items: stretch; border-bottom: 3px solid var(--navy); }body.page-chapter09 .header-brand {
    background: var(--navy);
    padding: 14px 24px;
    display: flex; flex-direction: column;
    justify-content: center; gap: 2px;
    min-width: 140px;
  }body.page-chapter09 .header-logo {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 900; font-size: 20px;
    color: var(--cyan); letter-spacing: 0.04em;
  }body.page-chapter09 .header-tagline {
    font-size: 9px; font-weight: 400;
    letter-spacing: 0.14em; text-transform: uppercase;
    color: rgba(255,255,255,0.4);
  }body.page-chapter09 .header-meta {
    flex: 1; padding: 12px 24px;
    display: flex; flex-direction: column;
    justify-content: center; gap: 3px;
  }body.page-chapter09 .doc-type {
    font-size: 9px; font-weight: 500;
    letter-spacing: 0.2em; text-transform: uppercase;
    color: var(--cyan);
  }body.page-chapter09 .doc-title {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800; font-size: 20px;
    color: var(--navy); line-height: 1;
    text-transform: uppercase;
  }body.page-chapter09 .header-right {
    padding: 12px 24px;
    display: flex; flex-direction: column;
    justify-content: center; align-items: flex-end;
    gap: 3px; border-left: 1px solid var(--border);
    min-width: 100px;
  }body.page-chapter09 .header-chapter {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800; font-size: 28px;
    color: var(--navy); line-height: 1;
  }body.page-chapter09 .header-date { font-size: 9.5px; color: var(--muted); }body.page-chapter09 /* ── Body ── */
  .doc-body { padding: 22px 28px; display: flex; flex-direction: column; gap: 16px; }body.page-chapter09 .lead {
    font-size: 12.5px; font-weight: 300;
    line-height: 1.75; color: var(--text);
    border-left: 3px solid var(--cyan);
    padding-left: 14px;
  }body.page-chapter09 .body-text { font-size: 11.5px; font-weight: 400; line-height: 1.75; color: var(--text); }body.page-chapter09 .section-heading { display: flex; align-items: center; gap: 10px; }body.page-chapter09 .section-heading-num {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700; font-size: 11px;
    letter-spacing: 0.16em; color: var(--cyan);
    background: var(--navy); padding: 3px 9px;
    border-radius: 3px;
  }body.page-chapter09 .section-heading-label {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800; font-size: 17px;
    text-transform: uppercase; color: var(--navy);
  }body.page-chapter09 .section-heading-line { flex: 1; height: 1px; background: var(--border); }body.page-chapter09 /* ── Healthy vs Addiction comparison ── */
  .versus-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    border: 1px solid var(--border);
    border-radius: 8px;
    overflow: hidden;
  }body.page-chapter09 .versus-col {}body.page-chapter09 .versus-header {
    padding: 10px 16px;
    display: flex;
    align-items: center;
    gap: 9px;
  }body.page-chapter09 .versus-header.healthy { background: var(--green-bg); border-bottom: 2px solid #4CAF7D; }body.page-chapter09 .versus-header.problem { background: #FFF3F0; border-bottom: 2px solid var(--accent); }body.page-chapter09 .versus-title {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
  }body.page-chapter09 .versus-title.healthy { color: var(--green); }body.page-chapter09 .versus-title.problem { color: #8B2500; }body.page-chapter09 .versus-body {
    padding: 12px 16px;
    display: flex;
    flex-direction: column;
    gap: 7px;
    border-right: 1px solid var(--border);
  }body.page-chapter09 .versus-col:last-child .versus-body { border-right: none; }body.page-chapter09 .versus-item {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 10.5px;
    line-height: 1.5;
  }body.page-chapter09 .versus-item.healthy { color: #1A3D2B; }body.page-chapter09 .versus-item.problem { color: #7A3A22; }body.page-chapter09 .v-dot {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 1px;
    font-size: 10px;
    font-weight: 700;
  }body.page-chapter09 .v-dot.healthy { background: var(--green-bg); color: var(--green); border: 1px solid var(--green-br); }body.page-chapter09 .v-dot.problem { background: #FFF3F0; color: var(--accent); border: 1px solid #FFD4C8; }body.page-chapter09 /* ── Mechanic cards (manipulation) ── */
  .mechanic-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 10px;
  }body.page-chapter09 .mechanic-card {
    border: 1px solid var(--border);
    border-radius: 8px;
    overflow: hidden;
  }body.page-chapter09 .mechanic-card-top {
    background: var(--navy);
    padding: 10px 14px;
    display: flex;
    align-items: center;
    gap: 9px;
  }body.page-chapter09 .mechanic-icon {
    width: 26px;
    height: 26px;
    border-radius: 5px;
    background: rgba(0,216,200,0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }body.page-chapter09 .mechanic-name {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--white);
    line-height: 1.1;
  }body.page-chapter09 .mechanic-card-body {
    padding: 10px 14px;
    display: flex;
    flex-direction: column;
    gap: 7px;
  }body.page-chapter09 .mechanic-what {
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--muted);
    margin-bottom: 1px;
  }body.page-chapter09 .mechanic-desc {
    font-size: 10.5px;
    font-weight: 300;
    line-height: 1.55;
    color: var(--text);
  }body.page-chapter09 .mechanic-example {
    font-size: 9.5px;
    font-weight: 400;
    font-style: italic;
    color: var(--muted);
    background: var(--offwhite);
    border-radius: 4px;
    padding: 5px 8px;
    border-left: 2px solid var(--accent);
  }body.page-chapter09 /* ── Game rating table ── */
  .rating-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 10.5px;
  }body.page-chapter09 .rating-table thead tr { background: var(--navy); }body.page-chapter09 .rating-table thead th {
    padding: 7px 12px;
    text-align: left;
    font-weight: 500;
    letter-spacing: 0.1em;
    font-size: 9px;
    text-transform: uppercase;
    color: var(--white);
  }body.page-chapter09 .rating-table thead th:first-child { border-radius: 6px 0 0 0; }body.page-chapter09 .rating-table thead th:last-child { border-radius: 0 6px 0 0; }body.page-chapter09 .rating-table tbody tr { border-bottom: 1px solid var(--border); }body.page-chapter09 .rating-table tbody tr:last-child { border-bottom: none; }body.page-chapter09 .rating-table tbody tr:nth-child(even) { background: var(--offwhite); }body.page-chapter09 .rating-table tbody td { padding: 7px 12px; color: var(--text); line-height: 1.5; vertical-align: middle; }body.page-chapter09 .pegi-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 5px;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 900;
    font-size: 14px;
    color: var(--white);
  }body.page-chapter09 .pegi-3 { background: #27AE60; }body.page-chapter09 .pegi-7 { background: #2980B9; }body.page-chapter09 .pegi-12 { background: #F39C12; }body.page-chapter09 .pegi-16 { background: #E67E22; }body.page-chapter09 .pegi-18 { background: #C0392B; }body.page-chapter09 /* ── Platform controls table ── */
  .ctrl-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 10.5px;
  }body.page-chapter09 .ctrl-table thead tr { background: var(--navy); }body.page-chapter09 .ctrl-table thead th {
    padding: 7px 12px;
    text-align: left;
    font-weight: 500;
    letter-spacing: 0.1em;
    font-size: 9px;
    text-transform: uppercase;
    color: var(--white);
  }body.page-chapter09 .ctrl-table thead th:first-child { border-radius: 6px 0 0 0; }body.page-chapter09 .ctrl-table thead th:last-child { border-radius: 0 6px 0 0; }body.page-chapter09 .ctrl-table tbody tr { border-bottom: 1px solid var(--border); }body.page-chapter09 .ctrl-table tbody tr:last-child { border-bottom: none; }body.page-chapter09 .ctrl-table tbody tr:nth-child(even) { background: var(--offwhite); }body.page-chapter09 .ctrl-table tbody td { padding: 7px 12px; color: var(--text); line-height: 1.5; vertical-align: top; }body.page-chapter09 /* ── Callouts ── */
  .callout {
    background: var(--navy);
    border-radius: 8px;
    padding: 13px 16px;
    display: flex; gap: 12px; align-items: flex-start;
  }body.page-chapter09 .callout-icon {
    width: 26px; height: 26px;
    border-radius: 5px;
    background: rgba(0,216,200,0.15);
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
  }body.page-chapter09 .callout-title { font-size: 10px; font-weight: 500; color: var(--cyan); letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 3px; }body.page-chapter09 .callout-text { font-size: 10.5px; font-weight: 300; color: rgba(255,255,255,0.7); line-height: 1.6; }body.page-chapter09 .callout.warn { background: #FFF7F0; border: 1px solid #FFD4B8; }body.page-chapter09 .callout.warn .callout-title { color: var(--accent); }body.page-chapter09 .callout.warn .callout-text { color: #7A3A22; }body.page-chapter09 /* ── Spectrum bar ── */
  .spectrum-wrap { display: flex; flex-direction: column; gap: 6px; }body.page-chapter09 .spectrum-bar {
    height: 14px;
    border-radius: 7px;
    background: linear-gradient(to right, #27AE60, #F39C12, #C0392B);
    position: relative;
  }body.page-chapter09 .spectrum-labels {
    display: flex;
    justify-content: space-between;
    font-size: 9px;
    color: var(--muted);
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }body.page-chapter09 /* ── Two/three col ── */
  .two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }body.page-chapter09 .three-col { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; }body.page-chapter09 /* ── Checklist ── */
  .checklist { list-style: none; display: flex; flex-direction: column; gap: 7px; }body.page-chapter09 .checklist li {
    display: flex; align-items: flex-start;
    gap: 9px; font-size: 11px;
    line-height: 1.55; color: var(--text);
  }body.page-chapter09 .checklist li::before {
    content: '';
    width: 16px; height: 16px;
    border-radius: 4px;
    border: 1.5px solid var(--cyan);
    flex-shrink: 0; margin-top: 1px;
  }body.page-chapter09 /* ── Footer ── */
  .doc-footer {
    border-top: 2px solid var(--navy);
    padding: 9px 24px;
    display: flex; align-items: center; justify-content: space-between;
  }body.page-chapter09 .footer-left { font-size: 9px; color: var(--muted); letter-spacing: 0.1em; }body.page-chapter09 .footer-center { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 13px; color: var(--navy); letter-spacing: 0.06em; }body.page-chapter09 .footer-right { font-size: 9px; color: var(--muted); letter-spacing: 0.1em; }@media print {body.page-chapter09 { background: none; padding: 0; gap: 0; }body.page-chapter09 .page { width: 210mm; height: 297mm; page-break-after: always; }body.page-chapter09 .page:last-child { page-break-after: auto; }@page { margin: 0; size: A4; }}body.page-chapter09 /* Age-band callout */
  .age-band { border:1px solid var(--border); border-radius:8px; overflow:hidden; }body.page-chapter09 .age-band-header { background:var(--navy); padding:7px 14px; }body.page-chapter09 .age-band-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:13px; text-transform:uppercase; color:var(--cyan); letter-spacing:0.06em; }body.page-chapter09 .age-band-rows { display:grid; grid-template-columns:1fr 1fr; }body.page-chapter09 .age-band-row { display:flex; gap:9px; padding:7px 14px; border-bottom:1px solid var(--border); align-items:flex-start; }body.page-chapter09 .age-band-row:nth-child(3),
body.page-chapter09 .age-band-row:nth-child(4) { border-bottom:none; }body.page-chapter09 .age-band-row:nth-child(odd) { border-right:1px solid var(--border); }body.page-chapter09 .age-badge2 { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:11px; background:var(--navy); color:var(--cyan); padding:2px 7px; border-radius:3px; white-space:nowrap; flex-shrink:0; margin-top:1px; }body.page-chapter09 .age-band-text { font-size:10px; font-weight:300; line-height:1.5; color:var(--text); }

/* =========================================================
   chapter-10.html  (body.page-chapter10)
   ========================================================= */

*,
body.page-chapter10 *::before,
body.page-chapter10 *::after { box-sizing: border-box; margin: 0; padding: 0; }:root { --navy:#0B1628; --navy2:#132040; --cyan:#00D8C8; --white:#FFFFFF; --offwhite:#F4F7FB; --border:#E2E8F0; --text:#1A2B3C; --muted:#6B839A; --accent:#FF5733; }body.page-chapter10 { font-family:'DM Sans',sans-serif; background:#1a1a2e; display:flex; flex-direction:column; align-items:center; padding:40px 20px; gap:40px; }body.page-chapter10 .page { width:210mm; height:297mm; background:var(--white); color:var(--text); display:grid; grid-template-rows:auto 1fr auto; position:relative; overflow:hidden; }body.page-chapter10 .doc-header { display:flex; align-items:stretch; border-bottom:3px solid var(--navy); }body.page-chapter10 .header-brand { background:var(--navy); padding:14px 24px; display:flex; flex-direction:column; justify-content:center; gap:2px; min-width:140px; }body.page-chapter10 .header-logo { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:20px; color:var(--cyan); letter-spacing:0.04em; }body.page-chapter10 .header-tagline { font-size:9px; font-weight:400; letter-spacing:0.14em; text-transform:uppercase; color:rgba(255,255,255,0.4); }body.page-chapter10 .header-meta { flex:1; padding:12px 24px; display:flex; flex-direction:column; justify-content:center; gap:3px; }body.page-chapter10 .doc-type { font-size:9px; font-weight:500; letter-spacing:0.2em; text-transform:uppercase; color:var(--cyan); }body.page-chapter10 .doc-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:20px; color:var(--navy); line-height:1; text-transform:uppercase; }body.page-chapter10 .header-right { padding:12px 24px; display:flex; flex-direction:column; justify-content:center; align-items:flex-end; gap:3px; border-left:1px solid var(--border); min-width:100px; }body.page-chapter10 .header-chapter { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:28px; color:var(--navy); line-height:1; }body.page-chapter10 .header-date { font-size:9.5px; color:var(--muted); }body.page-chapter10 .doc-body { padding:22px 28px; display:flex; flex-direction:column; gap:16px; }body.page-chapter10 .lead { font-size:12.5px; font-weight:300; line-height:1.75; color:var(--text); border-left:3px solid var(--cyan); padding-left:14px; }body.page-chapter10 .body-text { font-size:11.5px; font-weight:400; line-height:1.75; color:var(--text); }body.page-chapter10 .section-heading { display:flex; align-items:center; gap:10px; }body.page-chapter10 .section-heading-num { font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:11px; letter-spacing:0.16em; color:var(--cyan); background:var(--navy); padding:3px 9px; border-radius:3px; }body.page-chapter10 .section-heading-label { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:17px; text-transform:uppercase; color:var(--navy); }body.page-chapter10 .section-heading-line { flex:1; height:1px; background:var(--border); }body.page-chapter10 /* Mechanic cards */
  .mechanic-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px; }body.page-chapter10 .mechanic-card { border:1px solid var(--border); border-radius:8px; overflow:hidden; }body.page-chapter10 .mechanic-card-top { background:var(--navy); padding:10px 14px; display:flex; align-items:center; gap:9px; }body.page-chapter10 .mechanic-icon { width:26px; height:26px; border-radius:5px; background:rgba(0,216,200,0.15); display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:13px; }body.page-chapter10 .mechanic-name { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:13px; text-transform:uppercase; color:var(--white); line-height:1.1; letter-spacing:0.04em; }body.page-chapter10 .mechanic-card-body { padding:10px 14px; display:flex; flex-direction:column; gap:6px; }body.page-chapter10 .mechanic-what { font-size:9px; font-weight:500; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted); }body.page-chapter10 .mechanic-desc { font-size:10.5px; font-weight:300; line-height:1.55; color:var(--text); }body.page-chapter10 .mechanic-example { font-size:9.5px; font-style:italic; color:var(--muted); background:var(--offwhite); border-radius:4px; padding:5px 8px; border-left:2px solid var(--accent); }body.page-chapter10 /* Data table */
  .data-table { width:100%; border-collapse:collapse; font-size:10.5px; }body.page-chapter10 .data-table thead tr { background:var(--navy); }body.page-chapter10 .data-table thead th { padding:7px 12px; text-align:left; font-weight:500; font-size:9px; letter-spacing:0.1em; text-transform:uppercase; color:var(--white); }body.page-chapter10 .data-table thead th:first-child { border-radius:6px 0 0 0; }body.page-chapter10 .data-table thead th:last-child { border-radius:0 6px 0 0; }body.page-chapter10 .data-table tbody tr:nth-child(odd) { background:var(--offwhite); }body.page-chapter10 .data-table tbody tr:nth-child(even) { background:var(--white); }body.page-chapter10 .data-table tbody td { padding:7px 12px; border-bottom:1px solid var(--border); line-height:1.45; vertical-align:top; }body.page-chapter10 .data-table tbody tr:last-child td { border-bottom:none; }body.page-chapter10 /* Badges */
  .badge { display:inline-block; font-size:8px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; padding:2px 7px; border-radius:3px; }body.page-chapter10 .badge-red { background:#FFEAEA; color:#A30000; }body.page-chapter10 .badge-amber { background:#FFF6E0; color:#7A5200; }body.page-chapter10 .badge-green { background:#EAF7ED; color:#166534; }body.page-chapter10 /* Callouts */
  .callout { background:var(--navy); border-radius:8px; padding:14px 18px; color:var(--white); display:flex; flex-direction:column; gap:6px; }body.page-chapter10 .callout.warn { background:#FFF3F0; border:1px solid #FFCFC4; color:var(--text); }body.page-chapter10 .callout.info { background:#EDF7F5; border:1px solid #A0DDD8; color:var(--text); }body.page-chapter10 .callout-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:14px; text-transform:uppercase; letter-spacing:0.06em; }body.page-chapter10 .callout .callout-title { color:var(--cyan); }body.page-chapter10 .callout.warn .callout-title { color:var(--accent); }body.page-chapter10 .callout.info .callout-title { color:#0B7C6E; }body.page-chapter10 .callout-body { font-size:10.5px; line-height:1.6; }body.page-chapter10 /* Loot box explainer */
  .loot-explainer { display:grid; grid-template-columns:1fr 1fr; gap:10px; }body.page-chapter10 .loot-box { border:1px solid var(--border); border-radius:8px; padding:12px 14px; }body.page-chapter10 .loot-label { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:13px; text-transform:uppercase; color:var(--navy); margin-bottom:5px; }body.page-chapter10 .loot-text { font-size:10.5px; font-weight:300; line-height:1.6; color:var(--text); }body.page-chapter10 .two-col { display:grid; grid-template-columns:1fr 1fr; gap:12px; }body.page-chapter10 .checklist { list-style:none; display:flex; flex-direction:column; gap:7px; }body.page-chapter10 .checklist li { font-size:11px; line-height:1.5; padding-left:28px; position:relative; }body.page-chapter10 .checklist li::before { content:''; position:absolute; left:0; top:2px; width:16px; height:16px; border:2px solid var(--cyan); border-radius:3px; background:var(--white); }body.page-chapter10 .doc-footer { padding:10px 28px; border-top:1px solid var(--border); display:flex; justify-content:space-between; align-items:center; }body.page-chapter10 .footer-left,
body.page-chapter10 .footer-center,
body.page-chapter10 .footer-right { font-size:8.5px; color:var(--muted); letter-spacing:0.05em; }body.page-chapter10 .footer-center { text-align:center; }body.page-chapter10 .footer-right { text-align:right; }@media print {body.page-chapter10 { background:white; padding:0; gap:0; }body.page-chapter10 .page { page-break-after:always; height:297mm; }}body.page-chapter10 /* Age-band callout */
  .age-band { border:1px solid var(--border); border-radius:8px; overflow:hidden; }body.page-chapter10 .age-band-header { background:var(--navy); padding:7px 14px; }body.page-chapter10 .age-band-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:13px; text-transform:uppercase; color:var(--cyan); letter-spacing:0.06em; }body.page-chapter10 .age-band-rows { display:grid; grid-template-columns:1fr 1fr; }body.page-chapter10 .age-band-row { display:flex; gap:9px; padding:7px 14px; border-bottom:1px solid var(--border); align-items:flex-start; }body.page-chapter10 .age-band-row:nth-child(3),
body.page-chapter10 .age-band-row:nth-child(4) { border-bottom:none; }body.page-chapter10 .age-band-row:nth-child(odd) { border-right:1px solid var(--border); }body.page-chapter10 .age-badge2 { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:11px; background:var(--navy); color:var(--cyan); padding:2px 7px; border-radius:3px; white-space:nowrap; flex-shrink:0; margin-top:1px; }body.page-chapter10 .age-band-text { font-size:10px; font-weight:300; line-height:1.5; color:var(--text); }

/* =========================================================
   chapter-11.html  (body.page-chapter11)
   ========================================================= */

*,
body.page-chapter11 *::before,
body.page-chapter11 *::after { box-sizing: border-box; margin: 0; padding: 0; }:root {
    --navy:     #0B1628;
    --navy2:    #132040;
    --cyan:     #00D8C8;
    --white:    #FFFFFF;
    --offwhite: #F4F7FB;
    --border:   #E2E8F0;
    --text:     #1A2B3C;
    --muted:    #6B839A;
    --accent:   #FF5733;
  }body.page-chapter11 {
    font-family: 'DM Sans', sans-serif;
    background: #1a1a2e;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 40px 20px;
    gap: 40px;
  }body.page-chapter11 .page {
    width: 210mm;
    height: 297mm;
    background: var(--white);
    color: var(--text);
    display: grid;
    grid-template-rows: auto 1fr auto;
    position: relative;
    overflow: hidden;
  }body.page-chapter11 .doc-header {
    display: flex;
    align-items: stretch;
    border-bottom: 3px solid var(--navy);
  }body.page-chapter11 .header-brand {
    background: var(--navy);
    padding: 14px 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2px;
    min-width: 140px;
  }body.page-chapter11 .header-logo {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 900;
    font-size: 20px;
    color: var(--cyan);
    letter-spacing: 0.04em;
  }body.page-chapter11 .header-tagline {
    font-size: 9px;
    font-weight: 400;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.4);
  }body.page-chapter11 .header-meta {
    flex: 1;
    padding: 12px 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 3px;
  }body.page-chapter11 .doc-type {
    font-size: 9px;
    font-weight: 500;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--cyan);
  }body.page-chapter11 .doc-title {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 20px;
    color: var(--navy);
    line-height: 1;
    text-transform: uppercase;
  }body.page-chapter11 .header-right {
    padding: 12px 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
    gap: 3px;
    border-left: 1px solid var(--border);
    min-width: 100px;
  }body.page-chapter11 .header-chapter {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 28px;
    color: var(--navy);
    line-height: 1;
  }body.page-chapter11 .header-date { font-size: 9.5px; color: var(--muted); }body.page-chapter11 .doc-body {
    padding: 22px 28px;
    display: flex;
    flex-direction: column;
    gap: 16px;
  }body.page-chapter11 .lead {
    font-size: 12.5px;
    font-weight: 300;
    line-height: 1.75;
    color: var(--text);
    border-left: 3px solid var(--cyan);
    padding-left: 14px;
  }body.page-chapter11 .body-text {
    font-size: 11.5px;
    font-weight: 400;
    line-height: 1.75;
    color: var(--text);
  }body.page-chapter11 .section-heading {
    display: flex;
    align-items: center;
    gap: 10px;
  }body.page-chapter11 .section-heading-num {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 11px;
    letter-spacing: 0.16em;
    color: var(--cyan);
    background: var(--navy);
    padding: 3px 9px;
    border-radius: 3px;
  }body.page-chapter11 .section-heading-label {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 17px;
    text-transform: uppercase;
    color: var(--navy);
  }body.page-chapter11 .section-heading-line {
    flex: 1;
    height: 1px;
    background: var(--border);
  }body.page-chapter11 /* Differences callout blocks */
  .diff-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 10px;
  }body.page-chapter11 .diff-card {
    background: var(--offwhite);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    border-top: 3px solid var(--accent);
  }body.page-chapter11 .diff-card-title {
    font-size: 11px;
    font-weight: 500;
    color: #8B2500;
  }body.page-chapter11 .diff-card-desc {
    font-size: 10px;
    font-weight: 300;
    color: var(--text);
    line-height: 1.5;
  }body.page-chapter11 /* Forms of cyberbullying */
  .forms-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 10px;
  }body.page-chapter11 .form-card {
    background: #FFF3F0;
    border: 1px solid #FFD4C8;
    border-radius: 8px;
    padding: 11px 13px;
    display: flex;
    flex-direction: column;
    gap: 5px;
  }body.page-chapter11 .form-title {
    font-size: 11px;
    font-weight: 500;
    color: #8B2500;
  }body.page-chapter11 .form-example {
    font-size: 9.5px;
    font-weight: 300;
    color: #7A3A22;
    line-height: 1.5;
    font-style: italic;
    border-top: 1px solid #FFD4C8;
    padding-top: 4px;
    margin-top: 1px;
  }body.page-chapter11 .form-desc {
    font-size: 10px;
    font-weight: 300;
    color: var(--text);
    line-height: 1.5;
  }body.page-chapter11 /* Warning signs two-col */
  .sign-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }body.page-chapter11 .sign-block {
    border: 1px solid var(--border);
    border-radius: 8px;
    overflow: hidden;
  }body.page-chapter11 .sign-block-header {
    background: var(--navy);
    padding: 8px 14px;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 12px;
    color: var(--cyan);
    letter-spacing: 0.1em;
    text-transform: uppercase;
  }body.page-chapter11 .sign-block-body {
    padding: 10px 14px;
    display: flex;
    flex-direction: column;
    gap: 5px;
  }body.page-chapter11 .sign-item {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    font-size: 10.5px;
    line-height: 1.5;
    color: var(--text);
  }body.page-chapter11 .sign-dot {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--accent);
    flex-shrink: 0;
    margin-top: 5px;
  }body.page-chapter11 /* Protocol steps */
  .protocol-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 8px;
  }body.page-chapter11 .protocol-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
  }body.page-chapter11 .protocol-num {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 900;
    font-size: 22px;
    color: var(--cyan);
    background: var(--navy);
    width: 34px;
    height: 34px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    line-height: 1;
  }body.page-chapter11 .protocol-content {
    padding-top: 2px;
  }body.page-chapter11 .protocol-title {
    font-size: 11px;
    font-weight: 500;
    color: var(--navy);
    margin-bottom: 2px;
  }body.page-chapter11 .protocol-desc {
    font-size: 10.5px;
    font-weight: 300;
    color: var(--text);
    line-height: 1.55;
  }body.page-chapter11 .protocol-action {
    font-size: 9px;
    font-weight: 500;
    color: var(--muted);
    letter-spacing: 0.06em;
    font-style: italic;
    margin-top: 3px;
  }body.page-chapter11 /* Reporting table */
  .rules-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 10.5px;
  }body.page-chapter11 .rules-table thead tr { background: var(--navy); }body.page-chapter11 .rules-table thead th {
    padding: 7px 12px;
    text-align: left;
    font-weight: 500;
    letter-spacing: 0.1em;
    font-size: 9px;
    text-transform: uppercase;
    color: var(--white);
  }body.page-chapter11 .rules-table thead th:first-child { border-radius: 6px 0 0 0; }body.page-chapter11 .rules-table thead th:last-child { border-radius: 0 6px 0 0; }body.page-chapter11 .rules-table tbody tr { border-bottom: 1px solid var(--border); }body.page-chapter11 .rules-table tbody tr:last-child { border-bottom: none; }body.page-chapter11 .rules-table tbody tr:nth-child(even) { background: var(--offwhite); }body.page-chapter11 .rules-table tbody td {
    padding: 8px 12px;
    color: var(--text);
    line-height: 1.5;
    vertical-align: top;
  }body.page-chapter11 /* Say/avoid */
  .say-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }body.page-chapter11 .say-card {
    border-radius: 8px;
    padding: 10px 13px;
    font-size: 10.5px;
    line-height: 1.55;
  }body.page-chapter11 .say-card.say {
    background: #EDF7F5;
    border: 1px solid #B2E4DF;
  }body.page-chapter11 .say-card.avoid {
    background: #FFF3F0;
    border: 1px solid #FFD4C8;
  }body.page-chapter11 .say-label {
    font-size: 9px;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 4px;
  }body.page-chapter11 .say-card.say .say-label { color: #0E7367; }body.page-chapter11 .say-card.avoid .say-label { color: #8B2500; }body.page-chapter11 /* Checklist */
  .two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }body.page-chapter11 .checklist {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 7px;
  }body.page-chapter11 .checklist li {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    font-size: 11px;
    line-height: 1.55;
    color: var(--text);
  }body.page-chapter11 .checklist li::before {
    content: '';
    width: 16px;
    height: 16px;
    border-radius: 4px;
    border: 1.5px solid var(--cyan);
    flex-shrink: 0;
    margin-top: 1px;
  }body.page-chapter11 /* Footer */
  .doc-footer {
    border-top: 2px solid var(--navy);
    padding: 9px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }body.page-chapter11 .footer-left { font-size: 9px; color: var(--muted); letter-spacing: 0.1em; }body.page-chapter11 .footer-center { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 13px; color: var(--navy); letter-spacing: 0.06em; }body.page-chapter11 .footer-right { font-size: 9px; color: var(--muted); letter-spacing: 0.1em; }@media print {body.page-chapter11 { background: none; padding: 0; gap: 0; }body.page-chapter11 .page { width: 210mm; height: 297mm; page-break-after: always; }body.page-chapter11 .page:last-child { page-break-after: auto; }@page { margin: 0; size: A4; }}body.page-chapter11 /* Age-band callout */
  .age-band { border:1px solid var(--border); border-radius:8px; overflow:hidden; }body.page-chapter11 .age-band-header { background:var(--navy); padding:7px 14px; }body.page-chapter11 .age-band-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:13px; text-transform:uppercase; color:var(--cyan); letter-spacing:0.06em; }body.page-chapter11 .age-band-rows { display:grid; grid-template-columns:1fr 1fr; }body.page-chapter11 .age-band-row { display:flex; gap:9px; padding:7px 14px; border-bottom:1px solid var(--border); align-items:flex-start; }body.page-chapter11 .age-band-row:nth-child(3),
body.page-chapter11 .age-band-row:nth-child(4) { border-bottom:none; }body.page-chapter11 .age-band-row:nth-child(odd) { border-right:1px solid var(--border); }body.page-chapter11 .age-badge2 { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:11px; background:var(--navy); color:var(--cyan); padding:2px 7px; border-radius:3px; white-space:nowrap; flex-shrink:0; margin-top:1px; }body.page-chapter11 .age-band-text { font-size:10px; font-weight:300; line-height:1.5; color:var(--text); }

/* =========================================================
   chapter-12.html  (body.page-chapter12)
   ========================================================= */

*,
body.page-chapter12 *::before,
body.page-chapter12 *::after { box-sizing: border-box; margin: 0; padding: 0; }:root {
    --navy: #0B1628; --navy2: #132040; --cyan: #00D8C8; --white: #FFFFFF;
    --offwhite: #F4F7FB; --border: #E2E8F0; --text: #1A2B3C; --muted: #6B839A; --accent: #FF5733;
  }body.page-chapter12 { font-family: 'DM Sans', sans-serif; background: #1a1a2e; display: flex; flex-direction: column; align-items: center; padding: 40px 20px; gap: 40px; }body.page-chapter12 .page { width: 210mm; height: 297mm; background: var(--white); color: var(--text); display: grid; grid-template-rows: auto 1fr auto; position: relative; overflow: hidden; }body.page-chapter12 .doc-header { display: flex; align-items: stretch; border-bottom: 3px solid var(--navy); }body.page-chapter12 .header-brand { background: var(--navy); padding: 14px 24px; display: flex; flex-direction: column; justify-content: center; gap: 2px; min-width: 140px; }body.page-chapter12 .header-logo { font-family: 'Barlow Condensed', sans-serif; font-weight: 900; font-size: 20px; color: var(--cyan); letter-spacing: 0.04em; }body.page-chapter12 .header-tagline { font-size: 9px; font-weight: 400; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(255,255,255,0.4); }body.page-chapter12 .header-meta { flex: 1; padding: 12px 24px; display: flex; flex-direction: column; justify-content: center; gap: 3px; }body.page-chapter12 .doc-type { font-size: 9px; font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; color: var(--cyan); }body.page-chapter12 .doc-title { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 20px; color: var(--navy); line-height: 1; text-transform: uppercase; }body.page-chapter12 .header-right { padding: 12px 24px; display: flex; flex-direction: column; justify-content: center; align-items: flex-end; gap: 3px; border-left: 1px solid var(--border); min-width: 100px; }body.page-chapter12 .header-chapter { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 28px; color: var(--navy); line-height: 1; }body.page-chapter12 .header-date { font-size: 9.5px; color: var(--muted); }body.page-chapter12 .doc-body { padding: 22px 28px; display: flex; flex-direction: column; gap: 16px; }body.page-chapter12 .lead { font-size: 12.5px; font-weight: 300; line-height: 1.75; color: var(--text); border-left: 3px solid var(--cyan); padding-left: 14px; }body.page-chapter12 .body-text { font-size: 11.5px; font-weight: 400; line-height: 1.75; color: var(--text); }body.page-chapter12 .section-heading { display: flex; align-items: center; gap: 10px; }body.page-chapter12 .section-heading-num { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 11px; letter-spacing: 0.16em; color: var(--cyan); background: var(--navy); padding: 3px 9px; border-radius: 3px; }body.page-chapter12 .section-heading-label { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 17px; text-transform: uppercase; color: var(--navy); }body.page-chapter12 .section-heading-line { flex: 1; height: 1px; background: var(--border); }body.page-chapter12 /* Grooming stages timeline */
  .stages { display: flex; flex-direction: column; gap: 0; }body.page-chapter12 .stage-row { display: grid; grid-template-columns: 90px 1fr; gap: 0; }body.page-chapter12 .stage-num-col { display: flex; flex-direction: column; align-items: center; gap: 0; }body.page-chapter12 .stage-badge { font-family: 'Barlow Condensed', sans-serif; font-weight: 900; font-size: 13px; color: var(--navy); background: var(--cyan); width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; z-index: 1; }body.page-chapter12 .stage-line { width: 2px; flex: 1; background: var(--border); min-height: 8px; }body.page-chapter12 .stage-content { padding: 0 0 12px 12px; }body.page-chapter12 .stage-title { font-size: 11.5px; font-weight: 500; color: var(--navy); margin-bottom: 3px; line-height: 1.8; }body.page-chapter12 .stage-desc { font-size: 10.5px; font-weight: 300; color: var(--text); line-height: 1.55; }body.page-chapter12 .stage-example { font-size: 9.5px; color: var(--muted); font-style: italic; margin-top: 3px; }body.page-chapter12 /* Platforms used */
  .platform-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; }body.page-chapter12 .platform-card { background: var(--offwhite); border: 1px solid var(--border); border-radius: 8px; padding: 11px 13px; display: flex; flex-direction: column; gap: 5px; border-top: 3px solid var(--accent); }body.page-chapter12 .platform-name { font-size: 11px; font-weight: 500; color: #8B2500; }body.page-chapter12 .platform-desc { font-size: 10px; font-weight: 300; color: var(--text); line-height: 1.5; }body.page-chapter12 /* Warning signs two-col */
  .sign-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }body.page-chapter12 .sign-block { border: 1px solid var(--border); border-radius: 8px; overflow: hidden; }body.page-chapter12 .sign-block-header { background: var(--navy); padding: 8px 14px; font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 12px; color: var(--cyan); letter-spacing: 0.1em; text-transform: uppercase; }body.page-chapter12 .sign-block-body { padding: 10px 14px; display: flex; flex-direction: column; gap: 5px; }body.page-chapter12 .sign-item { display: flex; align-items: flex-start; gap: 7px; font-size: 10.5px; line-height: 1.5; color: var(--text); }body.page-chapter12 .sign-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--accent); flex-shrink: 0; margin-top: 5px; }body.page-chapter12 /* Callouts */
  .callout { background: var(--navy); border-radius: 8px; padding: 13px 16px; display: flex; gap: 12px; align-items: flex-start; }body.page-chapter12 .callout.warn { background: #FFF3F0; border: 1px solid #FFD4C8; }body.page-chapter12 .callout-icon { width: 26px; height: 26px; border-radius: 5px; background: rgba(0,216,200,0.15); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }body.page-chapter12 .callout.warn .callout-icon { background: rgba(255,87,51,0.12); }body.page-chapter12 .callout-title { font-size: 10px; font-weight: 500; color: var(--cyan); letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 3px; }body.page-chapter12 .callout.warn .callout-title { color: #8B2500; }body.page-chapter12 .callout-text { font-size: 10.5px; font-weight: 300; color: rgba(255,255,255,0.7); line-height: 1.6; }body.page-chapter12 .callout.warn .callout-text { color: #7A3A22; }body.page-chapter12 /* Say/avoid */
  .say-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }body.page-chapter12 .say-card { border-radius: 8px; padding: 10px 13px; font-size: 10.5px; line-height: 1.55; }body.page-chapter12 .say-card.say { background: #EDF7F5; border: 1px solid #B2E4DF; }body.page-chapter12 .say-card.avoid { background: #FFF3F0; border: 1px solid #FFD4C8; }body.page-chapter12 .say-label { font-size: 9px; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 4px; }body.page-chapter12 .say-card.say .say-label { color: #0E7367; }body.page-chapter12 .say-card.avoid .say-label { color: #8B2500; }body.page-chapter12 /* Checklist */
  .two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }body.page-chapter12 .checklist { list-style: none; display: flex; flex-direction: column; gap: 7px; }body.page-chapter12 .checklist li { display: flex; align-items: flex-start; gap: 9px; font-size: 11px; line-height: 1.55; color: var(--text); }body.page-chapter12 .checklist li::before { content: ''; width: 16px; height: 16px; border-radius: 4px; border: 1.5px solid var(--cyan); flex-shrink: 0; margin-top: 1px; }body.page-chapter12 /* Footer */
  .doc-footer { border-top: 2px solid var(--navy); padding: 9px 24px; display: flex; align-items: center; justify-content: space-between; }body.page-chapter12 .footer-left { font-size: 9px; color: var(--muted); letter-spacing: 0.1em; }body.page-chapter12 .footer-center { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 13px; color: var(--navy); letter-spacing: 0.06em; }body.page-chapter12 .footer-right { font-size: 9px; color: var(--muted); letter-spacing: 0.1em; }@media print {body.page-chapter12 { background: none; padding: 0; gap: 0; }body.page-chapter12 .page { width: 210mm; height: 297mm; page-break-after: always; }body.page-chapter12 .page:last-child { page-break-after: auto; }@page { margin: 0; size: A4; }}body.page-chapter12 /* Age-band callout */
  .age-band { border:1px solid var(--border); border-radius:8px; overflow:hidden; }body.page-chapter12 .age-band-header { background:var(--navy); padding:7px 14px; }body.page-chapter12 .age-band-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:13px; text-transform:uppercase; color:var(--cyan); letter-spacing:0.06em; }body.page-chapter12 .age-band-rows { display:grid; grid-template-columns:1fr 1fr; }body.page-chapter12 .age-band-row { display:flex; gap:9px; padding:7px 14px; border-bottom:1px solid var(--border); align-items:flex-start; }body.page-chapter12 .age-band-row:nth-child(3),
body.page-chapter12 .age-band-row:nth-child(4) { border-bottom:none; }body.page-chapter12 .age-band-row:nth-child(odd) { border-right:1px solid var(--border); }body.page-chapter12 .age-badge2 { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:11px; background:var(--navy); color:var(--cyan); padding:2px 7px; border-radius:3px; white-space:nowrap; flex-shrink:0; margin-top:1px; }body.page-chapter12 .age-band-text { font-size:10px; font-weight:300; line-height:1.5; color:var(--text); }

/* =========================================================
   chapter-13.html  (body.page-chapter13)
   ========================================================= */

*,
body.page-chapter13 *::before,
body.page-chapter13 *::after { box-sizing: border-box; margin: 0; padding: 0; }:root { --navy: #0B1628; --cyan: #00D8C8; --white: #FFFFFF; --offwhite: #F4F7FB; --border: #E2E8F0; --text: #1A2B3C; --muted: #6B839A; --accent: #FF5733; }body.page-chapter13 { font-family: 'DM Sans', sans-serif; background: #1a1a2e; display: flex; flex-direction: column; align-items: center; padding: 40px 20px; gap: 40px; }body.page-chapter13 .page { width: 210mm; height: 297mm; background: var(--white); color: var(--text); display: grid; grid-template-rows: auto 1fr auto; overflow: hidden; }body.page-chapter13 .doc-header { display: flex; align-items: stretch; border-bottom: 3px solid var(--navy); }body.page-chapter13 .header-brand { background: var(--navy); padding: 14px 24px; display: flex; flex-direction: column; justify-content: center; gap: 2px; min-width: 140px; }body.page-chapter13 .header-logo { font-family: 'Barlow Condensed', sans-serif; font-weight: 900; font-size: 20px; color: var(--cyan); letter-spacing: 0.04em; }body.page-chapter13 .header-tagline { font-size: 9px; font-weight: 400; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(255,255,255,0.4); }body.page-chapter13 .header-meta { flex: 1; padding: 12px 24px; display: flex; flex-direction: column; justify-content: center; gap: 3px; }body.page-chapter13 .doc-type { font-size: 9px; font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; color: var(--cyan); }body.page-chapter13 .doc-title { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 20px; color: var(--navy); line-height: 1; text-transform: uppercase; }body.page-chapter13 .header-right { padding: 12px 24px; display: flex; flex-direction: column; justify-content: center; align-items: flex-end; gap: 3px; border-left: 1px solid var(--border); min-width: 100px; }body.page-chapter13 .header-chapter { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 28px; color: var(--navy); line-height: 1; }body.page-chapter13 .header-date { font-size: 9.5px; color: var(--muted); }body.page-chapter13 .doc-body { padding: 22px 28px; display: flex; flex-direction: column; gap: 16px; }body.page-chapter13 .lead { font-size: 12.5px; font-weight: 300; line-height: 1.75; color: var(--text); border-left: 3px solid var(--cyan); padding-left: 14px; }body.page-chapter13 .body-text { font-size: 11.5px; font-weight: 400; line-height: 1.75; color: var(--text); }body.page-chapter13 .section-heading { display: flex; align-items: center; gap: 10px; }body.page-chapter13 .section-heading-num { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 11px; letter-spacing: 0.16em; color: var(--cyan); background: var(--navy); padding: 3px 9px; border-radius: 3px; }body.page-chapter13 .section-heading-label { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 17px; text-transform: uppercase; color: var(--navy); }body.page-chapter13 .section-heading-line { flex: 1; height: 1px; background: var(--border); }body.page-chapter13 /* How-they-encounter grid */
  .encounter-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }body.page-chapter13 .encounter-card { border: 1px solid var(--border); border-radius: 8px; overflow: hidden; }body.page-chapter13 .encounter-header { background: var(--navy); padding: 9px 14px; display: flex; align-items: center; gap: 8px; }body.page-chapter13 .encounter-badge { font-family: 'Barlow Condensed', sans-serif; font-weight: 900; font-size: 11px; color: var(--navy); background: var(--cyan); padding: 2px 7px; border-radius: 3px; }body.page-chapter13 .encounter-title { font-size: 11px; font-weight: 500; color: var(--white); letter-spacing: 0.06em; text-transform: uppercase; }body.page-chapter13 .encounter-body { padding: 10px 14px; font-size: 10.5px; font-weight: 300; color: var(--text); line-height: 1.55; }body.page-chapter13 /* Issue cards */
  .issue-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; }body.page-chapter13 .issue-card { background: #FFF3F0; border: 1px solid #FFD4C8; border-radius: 8px; padding: 11px 13px; display: flex; flex-direction: column; gap: 5px; }body.page-chapter13 .issue-title { font-size: 11px; font-weight: 500; color: #8B2500; }body.page-chapter13 .issue-desc { font-size: 10px; font-weight: 300; color: var(--text); line-height: 1.5; }body.page-chapter13 /* Legal callout */
  .callout { background: var(--navy); border-radius: 8px; padding: 13px 16px; display: flex; gap: 12px; align-items: flex-start; }body.page-chapter13 .callout.warn { background: #FFF3F0; border: 1px solid #FFD4C8; }body.page-chapter13 .callout.info { background: #EDF7F5; border: 1px solid #B2E4DF; }body.page-chapter13 .callout-icon { width: 26px; height: 26px; border-radius: 5px; background: rgba(0,216,200,0.15); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }body.page-chapter13 .callout.warn .callout-icon { background: rgba(255,87,51,0.12); }body.page-chapter13 .callout.info .callout-icon { background: rgba(0,180,150,0.15); }body.page-chapter13 .callout-title { font-size: 10px; font-weight: 500; color: var(--cyan); letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 3px; }body.page-chapter13 .callout.warn .callout-title { color: #8B2500; }body.page-chapter13 .callout.info .callout-title { color: #0E7367; }body.page-chapter13 .callout-text { font-size: 10.5px; font-weight: 300; color: rgba(255,255,255,0.7); line-height: 1.6; }body.page-chapter13 .callout.warn .callout-text { color: #7A3A22; }body.page-chapter13 .callout.info .callout-text { color: #1A4A42; }body.page-chapter13 /* Response table */
  .rules-table { width: 100%; border-collapse: collapse; font-size: 10.5px; }body.page-chapter13 .rules-table thead tr { background: var(--navy); }body.page-chapter13 .rules-table thead th { padding: 7px 12px; text-align: left; font-weight: 500; letter-spacing: 0.1em; font-size: 9px; text-transform: uppercase; color: var(--white); }body.page-chapter13 .rules-table thead th:first-child { border-radius: 6px 0 0 0; }body.page-chapter13 .rules-table thead th:last-child { border-radius: 0 6px 0 0; }body.page-chapter13 .rules-table tbody tr { border-bottom: 1px solid var(--border); }body.page-chapter13 .rules-table tbody tr:last-child { border-bottom: none; }body.page-chapter13 .rules-table tbody tr:nth-child(even) { background: var(--offwhite); }body.page-chapter13 .rules-table tbody td { padding: 8px 12px; color: var(--text); line-height: 1.5; vertical-align: top; }body.page-chapter13 /* Say/avoid */
  .say-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }body.page-chapter13 .say-card { border-radius: 8px; padding: 10px 13px; font-size: 10.5px; line-height: 1.55; }body.page-chapter13 .say-card.say { background: #EDF7F5; border: 1px solid #B2E4DF; }body.page-chapter13 .say-card.avoid { background: #FFF3F0; border: 1px solid #FFD4C8; }body.page-chapter13 .say-label { font-size: 9px; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 4px; }body.page-chapter13 .say-card.say .say-label { color: #0E7367; }body.page-chapter13 .say-card.avoid .say-label { color: #8B2500; }body.page-chapter13 /* Checklist */
  .two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }body.page-chapter13 .checklist { list-style: none; display: flex; flex-direction: column; gap: 7px; }body.page-chapter13 .checklist li { display: flex; align-items: flex-start; gap: 9px; font-size: 11px; line-height: 1.55; color: var(--text); }body.page-chapter13 .checklist li::before { content: ''; width: 16px; height: 16px; border-radius: 4px; border: 1.5px solid var(--cyan); flex-shrink: 0; margin-top: 1px; }body.page-chapter13 .doc-footer { border-top: 2px solid var(--navy); padding: 9px 24px; display: flex; align-items: center; justify-content: space-between; }body.page-chapter13 .footer-left { font-size: 9px; color: var(--muted); letter-spacing: 0.1em; }body.page-chapter13 .footer-center { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 13px; color: var(--navy); letter-spacing: 0.06em; }body.page-chapter13 .footer-right { font-size: 9px; color: var(--muted); letter-spacing: 0.1em; }@media print {body.page-chapter13 { background: none; padding: 0; gap: 0; }body.page-chapter13 .page { width: 210mm; height: 297mm; page-break-after: always; }body.page-chapter13 .page:last-child { page-break-after: auto; }@page { margin: 0; size: A4; }}body.page-chapter13 /* Age-band callout */
  .age-band { border:1px solid var(--border); border-radius:8px; overflow:hidden; }body.page-chapter13 .age-band-header { background:var(--navy); padding:7px 14px; }body.page-chapter13 .age-band-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:13px; text-transform:uppercase; color:var(--cyan); letter-spacing:0.06em; }body.page-chapter13 .age-band-rows { display:grid; grid-template-columns:1fr 1fr; }body.page-chapter13 .age-band-row { display:flex; gap:9px; padding:7px 14px; border-bottom:1px solid var(--border); align-items:flex-start; }body.page-chapter13 .age-band-row:nth-child(3),
body.page-chapter13 .age-band-row:nth-child(4) { border-bottom:none; }body.page-chapter13 .age-band-row:nth-child(odd) { border-right:1px solid var(--border); }body.page-chapter13 .age-badge2 { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:11px; background:var(--navy); color:var(--cyan); padding:2px 7px; border-radius:3px; white-space:nowrap; flex-shrink:0; margin-top:1px; }body.page-chapter13 .age-band-text { font-size:10px; font-weight:300; line-height:1.5; color:var(--text); }

/* =========================================================
   chapter-14.html  (body.page-chapter14)
   ========================================================= */

*,
body.page-chapter14 *::before,
body.page-chapter14 *::after { box-sizing: border-box; margin: 0; padding: 0; }:root { --navy:#0B1628; --navy2:#132040; --cyan:#00D8C8; --white:#FFFFFF; --offwhite:#F4F7FB; --border:#E2E8F0; --text:#1A2B3C; --muted:#6B839A; --accent:#FF5733; }body.page-chapter14 { font-family:'DM Sans',sans-serif; background:#1a1a2e; display:flex; flex-direction:column; align-items:center; padding:40px 20px; gap:40px; }body.page-chapter14 .page { width:210mm; height:297mm; background:var(--white); color:var(--text); display:grid; grid-template-rows:auto 1fr auto; position:relative; overflow:hidden; }body.page-chapter14 .doc-header { display:flex; align-items:stretch; border-bottom:3px solid var(--navy); }body.page-chapter14 .header-brand { background:var(--navy); padding:14px 24px; display:flex; flex-direction:column; justify-content:center; gap:2px; min-width:140px; }body.page-chapter14 .header-logo { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:20px; color:var(--cyan); letter-spacing:0.04em; }body.page-chapter14 .header-tagline { font-size:9px; font-weight:400; letter-spacing:0.14em; text-transform:uppercase; color:rgba(255,255,255,0.4); }body.page-chapter14 .header-meta { flex:1; padding:12px 24px; display:flex; flex-direction:column; justify-content:center; gap:3px; }body.page-chapter14 .doc-type { font-size:9px; font-weight:500; letter-spacing:0.2em; text-transform:uppercase; color:var(--cyan); }body.page-chapter14 .doc-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:20px; color:var(--navy); line-height:1; text-transform:uppercase; }body.page-chapter14 .header-right { padding:12px 24px; display:flex; flex-direction:column; justify-content:center; align-items:flex-end; gap:3px; border-left:1px solid var(--border); min-width:100px; }body.page-chapter14 .header-chapter { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:28px; color:var(--navy); line-height:1; }body.page-chapter14 .header-date { font-size:9.5px; color:var(--muted); }body.page-chapter14 .doc-body { padding:22px 28px; display:flex; flex-direction:column; gap:16px; }body.page-chapter14 .lead { font-size:12.5px; font-weight:300; line-height:1.75; color:var(--text); border-left:3px solid var(--cyan); padding-left:14px; }body.page-chapter14 .body-text { font-size:11.5px; font-weight:400; line-height:1.75; color:var(--text); }body.page-chapter14 .section-heading { display:flex; align-items:center; gap:10px; }body.page-chapter14 .section-heading-num { font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:11px; letter-spacing:0.16em; color:var(--cyan); background:var(--navy); padding:3px 9px; border-radius:3px; }body.page-chapter14 .section-heading-label { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:17px; text-transform:uppercase; color:var(--navy); }body.page-chapter14 .section-heading-line { flex:1; height:1px; background:var(--border); }body.page-chapter14 /* Stat cards */
  .stat-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px; }body.page-chapter14 .stat-card { border:1px solid var(--border); border-radius:8px; padding:12px 14px; text-align:center; }body.page-chapter14 .stat-number { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:28px; color:var(--accent); line-height:1; }body.page-chapter14 .stat-label { font-size:10px; font-weight:300; color:var(--text); line-height:1.4; margin-top:4px; }body.page-chapter14 /* App table */
  .app-table { width:100%; border-collapse:collapse; font-size:10.5px; }body.page-chapter14 .app-table thead tr { background:var(--navy); }body.page-chapter14 .app-table thead th { padding:7px 12px; text-align:left; font-weight:500; font-size:9px; letter-spacing:0.1em; text-transform:uppercase; color:var(--white); }body.page-chapter14 .app-table thead th:first-child { border-radius:6px 0 0 0; }body.page-chapter14 .app-table thead th:last-child { border-radius:0 6px 0 0; }body.page-chapter14 .app-table tbody tr:nth-child(odd) { background:var(--offwhite); }body.page-chapter14 .app-table tbody tr:nth-child(even) { background:var(--white); }body.page-chapter14 .app-table tbody td { padding:7px 12px; border-bottom:1px solid var(--border); line-height:1.45; vertical-align:top; }body.page-chapter14 .app-table tbody tr:last-child td { border-bottom:none; }body.page-chapter14 .risk-badge { display:inline-block; font-size:8px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; padding:2px 7px; border-radius:3px; }body.page-chapter14 .risk-high { background:#FFEAEA; color:#A30000; }body.page-chapter14 .risk-medium { background:#FFF6E0; color:#7A5200; }body.page-chapter14 /* Two-col warning */
  .two-col { display:grid; grid-template-columns:1fr 1fr; gap:12px; }body.page-chapter14 .warn-box { border:1px solid var(--border); border-radius:8px; overflow:hidden; }body.page-chapter14 .warn-box-header { background:var(--navy); padding:8px 14px; }body.page-chapter14 .warn-box-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:13px; text-transform:uppercase; color:var(--cyan); }body.page-chapter14 .warn-box-body { padding:10px 14px; display:flex; flex-direction:column; gap:5px; }body.page-chapter14 .warn-item { font-size:10.5px; line-height:1.5; padding-left:14px; position:relative; color:var(--text); }body.page-chapter14 .warn-item::before { content:'▸'; position:absolute; left:0; color:var(--accent); font-size:9px; top:2px; }body.page-chapter14 /* Say/Avoid */
  .say-avoid { display:grid; grid-template-columns:1fr 1fr; gap:0; border:1px solid var(--border); border-radius:8px; overflow:hidden; }body.page-chapter14 .say-col {}body.page-chapter14 .say-header { padding:8px 14px; font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:13px; text-transform:uppercase; letter-spacing:0.04em; }body.page-chapter14 .say-header.say { background:#EDF7F5; color:#0B7C6E; border-bottom:2px solid #00D8C8; }body.page-chapter14 .say-header.avoid { background:#FFF3F0; color:#8B2500; border-bottom:2px solid var(--accent); border-left:1px solid var(--border); }body.page-chapter14 .say-body { padding:10px 14px; display:flex; flex-direction:column; gap:6px; border-right:1px solid var(--border); }body.page-chapter14 .say-col:last-child .say-body { border-right:none; }body.page-chapter14 .say-item { font-size:10px; font-style:italic; line-height:1.5; color:var(--text); background:var(--offwhite); border-radius:4px; padding:5px 8px; }body.page-chapter14 /* Callout */
  .callout { background:var(--navy); border-radius:8px; padding:14px 18px; color:var(--white); display:flex; flex-direction:column; gap:6px; }body.page-chapter14 .callout.warn { background:#FFF3F0; border:1px solid #FFCFC4; color:var(--text); }body.page-chapter14 .callout.info { background:#EDF7F5; border:1px solid #A0DDD8; color:var(--text); }body.page-chapter14 .callout-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:14px; text-transform:uppercase; letter-spacing:0.06em; }body.page-chapter14 .callout .callout-title { color:var(--cyan); }body.page-chapter14 .callout.warn .callout-title { color:var(--accent); }body.page-chapter14 .callout.info .callout-title { color:#0B7C6E; }body.page-chapter14 .callout-body { font-size:10.5px; line-height:1.6; }body.page-chapter14 .checklist { list-style:none; display:flex; flex-direction:column; gap:7px; }body.page-chapter14 .checklist li { font-size:11px; line-height:1.5; padding-left:28px; position:relative; }body.page-chapter14 .checklist li::before { content:''; position:absolute; left:0; top:2px; width:16px; height:16px; border:2px solid var(--cyan); border-radius:3px; background:var(--white); }body.page-chapter14 .doc-footer { padding:10px 28px; border-top:1px solid var(--border); display:flex; justify-content:space-between; align-items:center; }body.page-chapter14 .footer-left,
body.page-chapter14 .footer-center,
body.page-chapter14 .footer-right { font-size:8.5px; color:var(--muted); letter-spacing:0.05em; }body.page-chapter14 .footer-center { text-align:center; }body.page-chapter14 .footer-right { text-align:right; }@media print {body.page-chapter14 { background:white; padding:0; gap:0; }body.page-chapter14 .page { page-break-after:always; height:297mm; }}body.page-chapter14 /* Age-band callout */
  .age-band { border:1px solid var(--border); border-radius:8px; overflow:hidden; }body.page-chapter14 .age-band-header { background:var(--navy); padding:7px 14px; }body.page-chapter14 .age-band-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:13px; text-transform:uppercase; color:var(--cyan); letter-spacing:0.06em; }body.page-chapter14 .age-band-rows { display:grid; grid-template-columns:1fr 1fr; }body.page-chapter14 .age-band-row { display:flex; gap:9px; padding:7px 14px; border-bottom:1px solid var(--border); align-items:flex-start; }body.page-chapter14 .age-band-row:nth-child(3),
body.page-chapter14 .age-band-row:nth-child(4) { border-bottom:none; }body.page-chapter14 .age-band-row:nth-child(odd) { border-right:1px solid var(--border); }body.page-chapter14 .age-badge2 { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:11px; background:var(--navy); color:var(--cyan); padding:2px 7px; border-radius:3px; white-space:nowrap; flex-shrink:0; margin-top:1px; }body.page-chapter14 .age-band-text { font-size:10px; font-weight:300; line-height:1.5; color:var(--text); }

/* =========================================================
   chapter-15.html  (body.page-chapter15)
   ========================================================= */

*,
body.page-chapter15 *::before,
body.page-chapter15 *::after { box-sizing: border-box; margin: 0; padding: 0; }:root { --navy: #0B1628; --cyan: #00D8C8; --white: #FFFFFF; --offwhite: #F4F7FB; --border: #E2E8F0; --text: #1A2B3C; --muted: #6B839A; --accent: #FF5733; }body.page-chapter15 { font-family: 'DM Sans', sans-serif; background: #1a1a2e; display: flex; flex-direction: column; align-items: center; padding: 40px 20px; gap: 40px; }body.page-chapter15 .page { width: 210mm; height: 297mm; background: var(--white); color: var(--text); display: grid; grid-template-rows: auto 1fr auto; overflow: hidden; }body.page-chapter15 .doc-header { display: flex; align-items: stretch; border-bottom: 3px solid var(--navy); }body.page-chapter15 .header-brand { background: var(--navy); padding: 14px 24px; display: flex; flex-direction: column; justify-content: center; gap: 2px; min-width: 140px; }body.page-chapter15 .header-logo { font-family: 'Barlow Condensed', sans-serif; font-weight: 900; font-size: 20px; color: var(--cyan); letter-spacing: 0.04em; }body.page-chapter15 .header-tagline { font-size: 9px; font-weight: 400; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(255,255,255,0.4); }body.page-chapter15 .header-meta { flex: 1; padding: 12px 24px; display: flex; flex-direction: column; justify-content: center; gap: 3px; }body.page-chapter15 .doc-type { font-size: 9px; font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; color: var(--cyan); }body.page-chapter15 .doc-title { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 20px; color: var(--navy); line-height: 1; text-transform: uppercase; }body.page-chapter15 .header-right { padding: 12px 24px; display: flex; flex-direction: column; justify-content: center; align-items: flex-end; gap: 3px; border-left: 1px solid var(--border); min-width: 100px; }body.page-chapter15 .header-chapter { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 28px; color: var(--navy); line-height: 1; }body.page-chapter15 .header-date { font-size: 9.5px; color: var(--muted); }body.page-chapter15 .doc-body { padding: 22px 28px; display: flex; flex-direction: column; gap: 16px; }body.page-chapter15 .lead { font-size: 12.5px; font-weight: 300; line-height: 1.75; color: var(--text); border-left: 3px solid var(--cyan); padding-left: 14px; }body.page-chapter15 .body-text { font-size: 11.5px; font-weight: 400; line-height: 1.75; color: var(--text); }body.page-chapter15 .section-heading { display: flex; align-items: center; gap: 10px; }body.page-chapter15 .section-heading-num { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 11px; letter-spacing: 0.16em; color: var(--cyan); background: var(--navy); padding: 3px 9px; border-radius: 3px; }body.page-chapter15 .section-heading-label { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 17px; text-transform: uppercase; color: var(--navy); }body.page-chapter15 .section-heading-line { flex: 1; height: 1px; background: var(--border); }body.page-chapter15 /* Research stat cards */
  .stat-grid { display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 10px; }body.page-chapter15 .stat-card { background: var(--navy); border-radius: 8px; padding: 14px 12px; text-align: center; display: flex; flex-direction: column; gap: 5px; align-items: center; }body.page-chapter15 .stat-num { font-family: 'Barlow Condensed', sans-serif; font-weight: 900; font-size: 32px; color: var(--cyan); line-height: 1; }body.page-chapter15 .stat-label { font-size: 9.5px; font-weight: 300; color: rgba(255,255,255,0.65); line-height: 1.5; text-align: center; }body.page-chapter15 .stat-source { font-size: 8px; color: rgba(255,255,255,0.3); font-style: italic; margin-top: 2px; }body.page-chapter15 /* Mechanism cards */
  .mech-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }body.page-chapter15 .mech-card { border: 1px solid var(--border); border-radius: 8px; padding: 13px 14px; display: flex; flex-direction: column; gap: 6px; border-left: 3px solid var(--cyan); }body.page-chapter15 .mech-title { font-size: 11.5px; font-weight: 500; color: var(--navy); }body.page-chapter15 .mech-desc { font-size: 10.5px; font-weight: 300; color: var(--text); line-height: 1.55; }body.page-chapter15 .mech-impact { font-size: 9px; font-weight: 500; color: var(--muted); font-style: italic; border-top: 1px solid var(--border); padding-top: 5px; margin-top: 2px; }body.page-chapter15 /* Age-band table */
  .rules-table { width: 100%; border-collapse: collapse; font-size: 10.5px; }body.page-chapter15 .rules-table thead tr { background: var(--navy); }body.page-chapter15 .rules-table thead th { padding: 7px 12px; text-align: left; font-weight: 500; letter-spacing: 0.1em; font-size: 9px; text-transform: uppercase; color: var(--white); }body.page-chapter15 .rules-table thead th:first-child { border-radius: 6px 0 0 0; }body.page-chapter15 .rules-table thead th:last-child { border-radius: 0 6px 0 0; }body.page-chapter15 .rules-table tbody tr { border-bottom: 1px solid var(--border); }body.page-chapter15 .rules-table tbody tr:last-child { border-bottom: none; }body.page-chapter15 .rules-table tbody tr:nth-child(even) { background: var(--offwhite); }body.page-chapter15 .rules-table tbody td { padding: 8px 12px; color: var(--text); line-height: 1.5; vertical-align: top; }body.page-chapter15 /* Warning signs grid */
  .warn-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; }body.page-chapter15 .warn-card { background: #FFF3F0; border: 1px solid #FFD4C8; border-radius: 8px; padding: 11px 13px; display: flex; flex-direction: column; gap: 5px; }body.page-chapter15 .warn-title { font-size: 11px; font-weight: 500; color: #8B2500; }body.page-chapter15 .warn-desc { font-size: 10px; font-weight: 300; color: var(--text); line-height: 1.5; }body.page-chapter15 /* When to seek help */
  .help-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; }body.page-chapter15 .help-card { border-radius: 8px; padding: 12px 14px; display: flex; flex-direction: column; gap: 5px; }body.page-chapter15 .help-card.monitor { background: #EAF3DE; border: 1px solid #C0DD97; }body.page-chapter15 .help-card.concern { background: #FFF3DA; border: 1px solid #FAC775; }body.page-chapter15 .help-card.urgent { background: #FFEAEA; border: 1px solid #FFB3B3; }body.page-chapter15 .help-card-level { font-size: 9px; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; }body.page-chapter15 .help-card.monitor .help-card-level { color: #3B6D11; }body.page-chapter15 .help-card.concern .help-card-level { color: #7A4500; }body.page-chapter15 .help-card.urgent  .help-card-level { color: #8B0000; }body.page-chapter15 .help-card-title { font-size: 11px; font-weight: 500; color: var(--navy); }body.page-chapter15 .help-card-desc { font-size: 10px; font-weight: 300; color: var(--text); line-height: 1.5; }body.page-chapter15 /* Callouts */
  .callout { background: var(--navy); border-radius: 8px; padding: 13px 16px; display: flex; gap: 12px; align-items: flex-start; }body.page-chapter15 .callout-icon { width: 26px; height: 26px; border-radius: 5px; background: rgba(0,216,200,0.15); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }body.page-chapter15 .callout-title { font-size: 10px; font-weight: 500; color: var(--cyan); letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 3px; }body.page-chapter15 .callout-text { font-size: 10.5px; font-weight: 300; color: rgba(255,255,255,0.7); line-height: 1.6; }body.page-chapter15 /* Checklist */
  .two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }body.page-chapter15 .checklist { list-style: none; display: flex; flex-direction: column; gap: 7px; }body.page-chapter15 .checklist li { display: flex; align-items: flex-start; gap: 9px; font-size: 11px; line-height: 1.55; color: var(--text); }body.page-chapter15 .checklist li::before { content: ''; width: 16px; height: 16px; border-radius: 4px; border: 1.5px solid var(--cyan); flex-shrink: 0; margin-top: 1px; }body.page-chapter15 .doc-footer { border-top: 2px solid var(--navy); padding: 9px 24px; display: flex; align-items: center; justify-content: space-between; }body.page-chapter15 .footer-left { font-size: 9px; color: var(--muted); letter-spacing: 0.1em; }body.page-chapter15 .footer-center { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 13px; color: var(--navy); letter-spacing: 0.06em; }body.page-chapter15 .footer-right { font-size: 9px; color: var(--muted); letter-spacing: 0.1em; }@media print {body.page-chapter15 { background: none; padding: 0; gap: 0; }body.page-chapter15 .page { width: 210mm; height: 297mm; page-break-after: always; }body.page-chapter15 .page:last-child { page-break-after: auto; }@page { margin: 0; size: A4; }}body.page-chapter15 /* Age-band callout */
  .age-band { border:1px solid var(--border); border-radius:8px; overflow:hidden; }body.page-chapter15 .age-band-header { background:var(--navy); padding:7px 14px; }body.page-chapter15 .age-band-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:13px; text-transform:uppercase; color:var(--cyan); letter-spacing:0.06em; }body.page-chapter15 .age-band-rows { display:grid; grid-template-columns:1fr 1fr; }body.page-chapter15 .age-band-row { display:flex; gap:9px; padding:7px 14px; border-bottom:1px solid var(--border); align-items:flex-start; }body.page-chapter15 .age-band-row:nth-child(3),
body.page-chapter15 .age-band-row:nth-child(4) { border-bottom:none; }body.page-chapter15 .age-band-row:nth-child(odd) { border-right:1px solid var(--border); }body.page-chapter15 .age-badge2 { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:11px; background:var(--navy); color:var(--cyan); padding:2px 7px; border-radius:3px; white-space:nowrap; flex-shrink:0; margin-top:1px; }body.page-chapter15 .age-band-text { font-size:10px; font-weight:300; line-height:1.5; color:var(--text); }

/* =========================================================
   chapter-16.html  (body.page-chapter16)
   ========================================================= */

*,
body.page-chapter16 *::before,
body.page-chapter16 *::after { box-sizing: border-box; margin: 0; padding: 0; }:root { --navy: #0B1628; --cyan: #00D8C8; --white: #FFFFFF; --offwhite: #F4F7FB; --border: #E2E8F0; --text: #1A2B3C; --muted: #6B839A; --accent: #FF5733; }body.page-chapter16 { font-family: 'DM Sans', sans-serif; background: #1a1a2e; display: flex; flex-direction: column; align-items: center; padding: 40px 20px; gap: 40px; }body.page-chapter16 .page { width: 210mm; height: 297mm; background: var(--white); color: var(--text); display: grid; grid-template-rows: auto 1fr auto; overflow: hidden; }body.page-chapter16 .doc-header { display: flex; align-items: stretch; border-bottom: 3px solid var(--navy); }body.page-chapter16 .header-brand { background: var(--navy); padding: 14px 24px; display: flex; flex-direction: column; justify-content: center; gap: 2px; min-width: 140px; }body.page-chapter16 .header-logo { font-family: 'Barlow Condensed', sans-serif; font-weight: 900; font-size: 20px; color: var(--cyan); letter-spacing: 0.04em; }body.page-chapter16 .header-tagline { font-size: 9px; font-weight: 400; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(255,255,255,0.4); }body.page-chapter16 .header-meta { flex: 1; padding: 12px 24px; display: flex; flex-direction: column; justify-content: center; gap: 3px; }body.page-chapter16 .doc-type { font-size: 9px; font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; color: var(--cyan); }body.page-chapter16 .doc-title { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 20px; color: var(--navy); line-height: 1; text-transform: uppercase; }body.page-chapter16 .header-right { padding: 12px 24px; display: flex; flex-direction: column; justify-content: center; align-items: flex-end; gap: 3px; border-left: 1px solid var(--border); min-width: 100px; }body.page-chapter16 .header-chapter { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 28px; color: var(--navy); line-height: 1; }body.page-chapter16 .header-date { font-size: 9.5px; color: var(--muted); }body.page-chapter16 .doc-body { padding: 22px 28px; display: flex; flex-direction: column; gap: 16px; }body.page-chapter16 .lead { font-size: 12.5px; font-weight: 300; line-height: 1.75; color: var(--text); border-left: 3px solid var(--cyan); padding-left: 14px; }body.page-chapter16 .body-text { font-size: 11.5px; font-weight: 400; line-height: 1.75; color: var(--text); }body.page-chapter16 .section-heading { display: flex; align-items: center; gap: 10px; }body.page-chapter16 .section-heading-num { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 11px; letter-spacing: 0.16em; color: var(--cyan); background: var(--navy); padding: 3px 9px; border-radius: 3px; }body.page-chapter16 .section-heading-label { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 17px; text-transform: uppercase; color: var(--navy); }body.page-chapter16 .section-heading-line { flex: 1; height: 1px; background: var(--border); }body.page-chapter16 /* Threat cards */
  .threat-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }body.page-chapter16 .threat-card { border: 1px solid var(--border); border-radius: 8px; overflow: hidden; }body.page-chapter16 .threat-header { background: var(--navy); padding: 9px 14px; display: flex; align-items: baseline; gap: 10px; }body.page-chapter16 .threat-badge { font-family: 'Barlow Condensed', sans-serif; font-weight: 900; font-size: 11px; color: var(--navy); background: var(--cyan); padding: 2px 8px; border-radius: 3px; white-space: nowrap; }body.page-chapter16 .threat-name { font-size: 11px; font-weight: 500; color: var(--white); letter-spacing: 0.05em; text-transform: uppercase; }body.page-chapter16 .threat-body { padding: 11px 14px; display: flex; flex-direction: column; gap: 6px; }body.page-chapter16 .threat-what { font-size: 10.5px; font-weight: 400; color: var(--text); line-height: 1.55; }body.page-chapter16 .threat-risk { font-size: 9.5px; font-weight: 300; color: var(--muted); line-height: 1.5; border-top: 1px solid var(--border); padding-top: 5px; margin-top: 2px; }body.page-chapter16 .threat-risk strong { color: var(--accent); }body.page-chapter16 /* Chatbot table */
  .rules-table { width: 100%; border-collapse: collapse; font-size: 10.5px; }body.page-chapter16 .rules-table thead tr { background: var(--navy); }body.page-chapter16 .rules-table thead th { padding: 7px 12px; text-align: left; font-weight: 500; letter-spacing: 0.1em; font-size: 9px; text-transform: uppercase; color: var(--white); }body.page-chapter16 .rules-table thead th:first-child { border-radius: 6px 0 0 0; }body.page-chapter16 .rules-table thead th:last-child { border-radius: 0 6px 0 0; }body.page-chapter16 .rules-table tbody tr { border-bottom: 1px solid var(--border); }body.page-chapter16 .rules-table tbody tr:last-child { border-bottom: none; }body.page-chapter16 .rules-table tbody tr:nth-child(even) { background: var(--offwhite); }body.page-chapter16 .rules-table tbody td { padding: 8px 12px; color: var(--text); line-height: 1.5; vertical-align: top; }body.page-chapter16 .risk-badge { display: inline-block; font-size: 9px; font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase; padding: 2px 7px; border-radius: 20px; }body.page-chapter16 .risk-badge.high { background: #FFEAEA; color: #8B0000; border: 1px solid #FFB3B3; }body.page-chapter16 .risk-badge.medium { background: #FFF3DA; color: #7A4500; border: 1px solid #FAC775; }body.page-chapter16 /* Callouts */
  .callout { background: var(--navy); border-radius: 8px; padding: 13px 16px; display: flex; gap: 12px; align-items: flex-start; }body.page-chapter16 .callout.warn { background: #FFF3F0; border: 1px solid #FFD4C8; }body.page-chapter16 .callout-icon { width: 26px; height: 26px; border-radius: 5px; background: rgba(0,216,200,0.15); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }body.page-chapter16 .callout.warn .callout-icon { background: rgba(255,87,51,0.12); }body.page-chapter16 .callout-title { font-size: 10px; font-weight: 500; color: var(--cyan); letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 3px; }body.page-chapter16 .callout.warn .callout-title { color: #8B2500; }body.page-chapter16 .callout-text { font-size: 10.5px; font-weight: 300; color: rgba(255,255,255,0.7); line-height: 1.6; }body.page-chapter16 .callout.warn .callout-text { color: #7A3A22; }body.page-chapter16 /* Action cards */
  .action-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; }body.page-chapter16 .action-card { background: var(--offwhite); border: 1px solid var(--border); border-radius: 8px; padding: 12px 13px; display: flex; flex-direction: column; gap: 5px; border-top: 3px solid var(--cyan); }body.page-chapter16 .action-title { font-size: 11px; font-weight: 500; color: var(--navy); }body.page-chapter16 .action-desc { font-size: 10px; font-weight: 300; color: var(--text); line-height: 1.5; }body.page-chapter16 /* Checklist */
  .two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }body.page-chapter16 .checklist { list-style: none; display: flex; flex-direction: column; gap: 7px; }body.page-chapter16 .checklist li { display: flex; align-items: flex-start; gap: 9px; font-size: 11px; line-height: 1.55; color: var(--text); }body.page-chapter16 .checklist li::before { content: ''; width: 16px; height: 16px; border-radius: 4px; border: 1.5px solid var(--cyan); flex-shrink: 0; margin-top: 1px; }body.page-chapter16 .doc-footer { border-top: 2px solid var(--navy); padding: 9px 24px; display: flex; align-items: center; justify-content: space-between; }body.page-chapter16 .footer-left { font-size: 9px; color: var(--muted); letter-spacing: 0.1em; }body.page-chapter16 .footer-center { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 13px; color: var(--navy); letter-spacing: 0.06em; }body.page-chapter16 .footer-right { font-size: 9px; color: var(--muted); letter-spacing: 0.1em; }@media print {body.page-chapter16 { background: none; padding: 0; gap: 0; }body.page-chapter16 .page { width: 210mm; height: 297mm; page-break-after: always; }body.page-chapter16 .page:last-child { page-break-after: auto; }@page { margin: 0; size: A4; }}body.page-chapter16 /* Age-band callout */
  .age-band { border:1px solid var(--border); border-radius:8px; overflow:hidden; }body.page-chapter16 .age-band-header { background:var(--navy); padding:7px 14px; }body.page-chapter16 .age-band-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:13px; text-transform:uppercase; color:var(--cyan); letter-spacing:0.06em; }body.page-chapter16 .age-band-rows { display:grid; grid-template-columns:1fr 1fr; }body.page-chapter16 .age-band-row { display:flex; gap:9px; padding:7px 14px; border-bottom:1px solid var(--border); align-items:flex-start; }body.page-chapter16 .age-band-row:nth-child(3),
body.page-chapter16 .age-band-row:nth-child(4) { border-bottom:none; }body.page-chapter16 .age-band-row:nth-child(odd) { border-right:1px solid var(--border); }body.page-chapter16 .age-badge2 { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:11px; background:var(--navy); color:var(--cyan); padding:2px 7px; border-radius:3px; white-space:nowrap; flex-shrink:0; margin-top:1px; }body.page-chapter16 .age-band-text { font-size:10px; font-weight:300; line-height:1.5; color:var(--text); }

/* =========================================================
   chapter-17.html  (body.page-chapter17)
   ========================================================= */

*,
body.page-chapter17 *::before,
body.page-chapter17 *::after { box-sizing: border-box; margin: 0; padding: 0; }:root { --navy: #0B1628; --cyan: #00D8C8; --white: #FFFFFF; --offwhite: #F4F7FB; --border: #E2E8F0; --text: #1A2B3C; --muted: #6B839A; --accent: #FF5733; }body.page-chapter17 { font-family: 'DM Sans', sans-serif; background: #1a1a2e; display: flex; flex-direction: column; align-items: center; padding: 40px 20px; gap: 40px; }body.page-chapter17 .page { width: 210mm; height: 297mm; background: var(--white); color: var(--text); display: grid; grid-template-rows: auto 1fr auto; overflow: hidden; }body.page-chapter17 .doc-header { display: flex; align-items: stretch; border-bottom: 3px solid var(--navy); }body.page-chapter17 .header-brand { background: var(--navy); padding: 14px 24px; display: flex; flex-direction: column; justify-content: center; gap: 2px; min-width: 140px; }body.page-chapter17 .header-logo { font-family: 'Barlow Condensed', sans-serif; font-weight: 900; font-size: 20px; color: var(--cyan); letter-spacing: 0.04em; }body.page-chapter17 .header-tagline { font-size: 9px; font-weight: 400; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(255,255,255,0.4); }body.page-chapter17 .header-meta { flex: 1; padding: 12px 24px; display: flex; flex-direction: column; justify-content: center; gap: 3px; }body.page-chapter17 .doc-type { font-size: 9px; font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; color: var(--cyan); }body.page-chapter17 .doc-title { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 20px; color: var(--navy); line-height: 1; text-transform: uppercase; }body.page-chapter17 .header-right { padding: 12px 24px; display: flex; flex-direction: column; justify-content: center; align-items: flex-end; gap: 3px; border-left: 1px solid var(--border); min-width: 100px; }body.page-chapter17 .header-chapter { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 28px; color: var(--navy); line-height: 1; }body.page-chapter17 .header-date { font-size: 9.5px; color: var(--muted); }body.page-chapter17 .doc-body { padding: 22px 28px; display: flex; flex-direction: column; gap: 16px; }body.page-chapter17 .lead { font-size: 12.5px; font-weight: 300; line-height: 1.75; color: var(--text); border-left: 3px solid var(--cyan); padding-left: 14px; }body.page-chapter17 .body-text { font-size: 11.5px; font-weight: 400; line-height: 1.75; color: var(--text); }body.page-chapter17 .section-heading { display: flex; align-items: center; gap: 10px; }body.page-chapter17 .section-heading-num { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 11px; letter-spacing: 0.16em; color: var(--cyan); background: var(--navy); padding: 3px 9px; border-radius: 3px; }body.page-chapter17 .section-heading-label { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 17px; text-transform: uppercase; color: var(--navy); }body.page-chapter17 .section-heading-line { flex: 1; height: 1px; background: var(--border); }body.page-chapter17 /* Mis-type cards */
  .mistype-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; }body.page-chapter17 .mistype-card { background: #FFF3F0; border: 1px solid #FFD4C8; border-radius: 8px; padding: 11px 13px; display: flex; flex-direction: column; gap: 5px; }body.page-chapter17 .mistype-title { font-size: 11px; font-weight: 500; color: #8B2500; }body.page-chapter17 .mistype-desc { font-size: 10px; font-weight: 300; color: var(--text); line-height: 1.5; }body.page-chapter17 .mistype-example { font-size: 9.5px; font-style: italic; color: var(--muted); border-top: 1px solid #FFD4C8; padding-top: 4px; margin-top: 2px; }body.page-chapter17 /* SIFT framework */
  .sift-grid { display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 10px; }body.page-chapter17 .sift-card { background: var(--navy); border-radius: 8px; padding: 14px 12px; display: flex; flex-direction: column; gap: 6px; align-items: center; text-align: center; }body.page-chapter17 .sift-letter { font-family: 'Barlow Condensed', sans-serif; font-weight: 900; font-size: 40px; color: var(--cyan); line-height: 1; }body.page-chapter17 .sift-word { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 13px; color: var(--white); letter-spacing: 0.08em; text-transform: uppercase; }body.page-chapter17 .sift-desc { font-size: 9.5px; font-weight: 300; color: rgba(255,255,255,0.65); line-height: 1.5; }body.page-chapter17 /* Scam recognition table */
  .rules-table { width: 100%; border-collapse: collapse; font-size: 10.5px; }body.page-chapter17 .rules-table thead tr { background: var(--navy); }body.page-chapter17 .rules-table thead th { padding: 7px 12px; text-align: left; font-weight: 500; letter-spacing: 0.1em; font-size: 9px; text-transform: uppercase; color: var(--white); }body.page-chapter17 .rules-table thead th:first-child { border-radius: 6px 0 0 0; }body.page-chapter17 .rules-table thead th:last-child { border-radius: 0 6px 0 0; }body.page-chapter17 .rules-table tbody tr { border-bottom: 1px solid var(--border); }body.page-chapter17 .rules-table tbody tr:last-child { border-bottom: none; }body.page-chapter17 .rules-table tbody tr:nth-child(even) { background: var(--offwhite); }body.page-chapter17 .rules-table tbody td { padding: 8px 12px; color: var(--text); line-height: 1.5; vertical-align: top; }body.page-chapter17 /* Teaching tools */
  .tool-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; }body.page-chapter17 .tool-card { background: var(--offwhite); border: 1px solid var(--border); border-radius: 8px; padding: 12px 13px; display: flex; flex-direction: column; gap: 5px; border-top: 3px solid var(--cyan); }body.page-chapter17 .tool-title { font-size: 11px; font-weight: 500; color: var(--navy); }body.page-chapter17 .tool-url { font-size: 9px; color: var(--muted); font-style: italic; }body.page-chapter17 .tool-desc { font-size: 10px; font-weight: 300; color: var(--text); line-height: 1.5; }body.page-chapter17 /* Callout */
  .callout { background: var(--navy); border-radius: 8px; padding: 13px 16px; display: flex; gap: 12px; align-items: flex-start; }body.page-chapter17 .callout-icon { width: 26px; height: 26px; border-radius: 5px; background: rgba(0,216,200,0.15); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }body.page-chapter17 .callout-title { font-size: 10px; font-weight: 500; color: var(--cyan); letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 3px; }body.page-chapter17 .callout-text { font-size: 10.5px; font-weight: 300; color: rgba(255,255,255,0.7); line-height: 1.6; }body.page-chapter17 /* Checklist */
  .two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }body.page-chapter17 .checklist { list-style: none; display: flex; flex-direction: column; gap: 7px; }body.page-chapter17 .checklist li { display: flex; align-items: flex-start; gap: 9px; font-size: 11px; line-height: 1.55; color: var(--text); }body.page-chapter17 .checklist li::before { content: ''; width: 16px; height: 16px; border-radius: 4px; border: 1.5px solid var(--cyan); flex-shrink: 0; margin-top: 1px; }body.page-chapter17 .doc-footer { border-top: 2px solid var(--navy); padding: 9px 24px; display: flex; align-items: center; justify-content: space-between; }body.page-chapter17 .footer-left { font-size: 9px; color: var(--muted); letter-spacing: 0.1em; }body.page-chapter17 .footer-center { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 13px; color: var(--navy); letter-spacing: 0.06em; }body.page-chapter17 .footer-right { font-size: 9px; color: var(--muted); letter-spacing: 0.1em; }@media print {body.page-chapter17 { background: none; padding: 0; gap: 0; }body.page-chapter17 .page { width: 210mm; height: 297mm; page-break-after: always; }body.page-chapter17 .page:last-child { page-break-after: auto; }@page { margin: 0; size: A4; }}body.page-chapter17 /* Age-band callout */
  .age-band { border:1px solid var(--border); border-radius:8px; overflow:hidden; }body.page-chapter17 .age-band-header { background:var(--navy); padding:7px 14px; }body.page-chapter17 .age-band-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:13px; text-transform:uppercase; color:var(--cyan); letter-spacing:0.06em; }body.page-chapter17 .age-band-rows { display:grid; grid-template-columns:1fr 1fr; }body.page-chapter17 .age-band-row { display:flex; gap:9px; padding:7px 14px; border-bottom:1px solid var(--border); align-items:flex-start; }body.page-chapter17 .age-band-row:nth-child(3),
body.page-chapter17 .age-band-row:nth-child(4) { border-bottom:none; }body.page-chapter17 .age-band-row:nth-child(odd) { border-right:1px solid var(--border); }body.page-chapter17 .age-badge2 { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:11px; background:var(--navy); color:var(--cyan); padding:2px 7px; border-radius:3px; white-space:nowrap; flex-shrink:0; margin-top:1px; }body.page-chapter17 .age-band-text { font-size:10px; font-weight:300; line-height:1.5; color:var(--text); }

/* =========================================================
   chapter-18.html  (body.page-chapter18)
   ========================================================= */

*,
body.page-chapter18 *::before,
body.page-chapter18 *::after { box-sizing: border-box; margin: 0; padding: 0; }:root {
    --navy:     #0B1628;
    --navy2:    #132040;
    --cyan:     #00D8C8;
    --white:    #FFFFFF;
    --offwhite: #F4F7FB;
    --border:   #E2E8F0;
    --text:     #1A2B3C;
    --muted:    #6B839A;
    --accent:   #FF5733;
  }body.page-chapter18 {
    font-family: 'DM Sans', sans-serif;
    background: #1a1a2e;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 40px 20px;
    gap: 40px;
  }body.page-chapter18 .page {
    width: 210mm;
    height: 297mm;
    background: var(--white);
    color: var(--text);
    display: grid;
    grid-template-rows: auto 1fr auto;
    position: relative;
    overflow: hidden;
  }body.page-chapter18 .doc-header {
    display: flex;
    align-items: stretch;
    border-bottom: 3px solid var(--navy);
  }body.page-chapter18 .header-brand {
    background: var(--navy);
    padding: 14px 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2px;
    min-width: 140px;
  }body.page-chapter18 .header-logo {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 900;
    font-size: 20px;
    color: var(--cyan);
    letter-spacing: 0.04em;
  }body.page-chapter18 .header-tagline {
    font-size: 9px;
    font-weight: 400;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.4);
  }body.page-chapter18 .header-meta {
    flex: 1;
    padding: 12px 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 3px;
  }body.page-chapter18 .doc-type {
    font-size: 9px;
    font-weight: 500;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--cyan);
  }body.page-chapter18 .doc-title {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 20px;
    color: var(--navy);
    line-height: 1;
    text-transform: uppercase;
  }body.page-chapter18 .header-right {
    padding: 12px 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
    gap: 3px;
    border-left: 1px solid var(--border);
    min-width: 100px;
  }body.page-chapter18 .header-chapter {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 28px;
    color: var(--navy);
    line-height: 1;
  }body.page-chapter18 .header-date { font-size: 9.5px; color: var(--muted); }body.page-chapter18 .doc-body {
    padding: 22px 28px;
    display: flex;
    flex-direction: column;
    gap: 16px;
  }body.page-chapter18 .lead {
    font-size: 12.5px;
    font-weight: 300;
    line-height: 1.75;
    color: var(--text);
    border-left: 3px solid var(--cyan);
    padding-left: 14px;
  }body.page-chapter18 .body-text {
    font-size: 11.5px;
    font-weight: 400;
    line-height: 1.75;
    color: var(--text);
  }body.page-chapter18 .section-heading {
    display: flex;
    align-items: center;
    gap: 10px;
  }body.page-chapter18 .section-heading-num {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 11px;
    letter-spacing: 0.16em;
    color: var(--cyan);
    background: var(--navy);
    padding: 3px 9px;
    border-radius: 3px;
  }body.page-chapter18 .section-heading-label {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 17px;
    text-transform: uppercase;
    color: var(--navy);
  }body.page-chapter18 .section-heading-line {
    flex: 1;
    height: 1px;
    background: var(--border);
  }body.page-chapter18 /* Why it works */
  .why-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 10px;
  }body.page-chapter18 .why-card {
    background: var(--navy);
    border-radius: 8px;
    padding: 13px 14px;
    display: flex;
    flex-direction: column;
    gap: 5px;
  }body.page-chapter18 .why-card-title {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 13px;
    color: var(--cyan);
    letter-spacing: 0.05em;
    text-transform: uppercase;
  }body.page-chapter18 .why-card-desc {
    font-size: 10px;
    font-weight: 300;
    color: rgba(255,255,255,0.7);
    line-height: 1.55;
  }body.page-chapter18 /* Agreement sections */
  .agreement-section {
    border: 1px solid var(--border);
    border-radius: 8px;
    overflow: hidden;
  }body.page-chapter18 .agreement-section-header {
    background: var(--navy);
    padding: 9px 16px;
    display: flex;
    align-items: center;
    gap: 10px;
  }body.page-chapter18 .agreement-section-label {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 13px;
    color: var(--cyan);
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }body.page-chapter18 .agreement-section-sub {
    font-size: 9px;
    color: rgba(255,255,255,0.4);
    letter-spacing: 0.06em;
  }body.page-chapter18 .agreement-section-body {
    padding: 10px 16px;
    display: flex;
    flex-direction: column;
    gap: 5px;
  }body.page-chapter18 .agree-row {
    display: grid;
    grid-template-columns: 20px 1fr;
    gap: 8px;
    align-items: flex-start;
    font-size: 10.5px;
    line-height: 1.5;
    color: var(--text);
    padding: 4px 0;
    border-bottom: 1px solid var(--offwhite);
  }body.page-chapter18 .agree-row:last-child { border-bottom: none; }body.page-chapter18 .agree-box {
    width: 14px;
    height: 14px;
    border: 1.5px solid var(--border);
    border-radius: 3px;
    flex-shrink: 0;
    margin-top: 2px;
  }body.page-chapter18 /* Callout */
  .callout {
    background: var(--navy);
    border-radius: 8px;
    padding: 13px 16px;
    display: flex;
    gap: 12px;
    align-items: flex-start;
  }body.page-chapter18 .callout-icon {
    width: 26px;
    height: 26px;
    border-radius: 5px;
    background: rgba(0,216,200,0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }body.page-chapter18 .callout-title {
    font-size: 10px;
    font-weight: 500;
    color: var(--cyan);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 3px;
  }body.page-chapter18 .callout-text {
    font-size: 10.5px;
    font-weight: 300;
    color: rgba(255,255,255,0.7);
    line-height: 1.6;
  }body.page-chapter18 /* ── Agreement document (page 2) ── */
  .agreement-doc {
    border: 2px solid var(--navy);
    border-radius: 10px;
    overflow: hidden;
  }body.page-chapter18 .agreement-doc-header {
    background: var(--navy);
    padding: 18px 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    text-align: center;
  }body.page-chapter18 .agreement-doc-logo {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 900;
    font-size: 22px;
    color: var(--cyan);
    letter-spacing: 0.04em;
  }body.page-chapter18 .agreement-doc-title {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 18px;
    color: var(--white);
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }body.page-chapter18 .agreement-doc-sub {
    font-size: 10px;
    font-weight: 300;
    color: rgba(255,255,255,0.5);
    letter-spacing: 0.1em;
  }body.page-chapter18 .agreement-doc-body {
    padding: 16px 22px;
    display: flex;
    flex-direction: column;
    gap: 12px;
  }body.page-chapter18 .doc-section-title {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 12px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--navy);
    padding-bottom: 4px;
    border-bottom: 2px solid var(--cyan);
    margin-bottom: 6px;
  }body.page-chapter18 .doc-rule {
    display: grid;
    grid-template-columns: 18px 1fr;
    gap: 8px;
    align-items: flex-start;
    font-size: 10px;
    line-height: 1.55;
    color: var(--text);
    padding: 3px 0;
  }body.page-chapter18 .doc-rule-num {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 12px;
    color: var(--cyan);
    line-height: 1.4;
  }body.page-chapter18 .doc-two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
  }body.page-chapter18 /* Consequences table */
  .cons-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 10px;
  }body.page-chapter18 .cons-table thead tr { background: var(--navy); }body.page-chapter18 .cons-table thead th {
    padding: 6px 10px;
    text-align: left;
    font-weight: 500;
    letter-spacing: 0.1em;
    font-size: 8.5px;
    text-transform: uppercase;
    color: var(--white);
  }body.page-chapter18 .cons-table thead th:first-child { border-radius: 5px 0 0 0; }body.page-chapter18 .cons-table thead th:last-child { border-radius: 0 5px 0 0; }body.page-chapter18 .cons-table tbody tr { border-bottom: 1px solid var(--border); }body.page-chapter18 .cons-table tbody tr:last-child { border-bottom: none; }body.page-chapter18 .cons-table tbody tr:nth-child(even) { background: var(--offwhite); }body.page-chapter18 .cons-table tbody td {
    padding: 6px 10px;
    color: var(--text);
    line-height: 1.45;
    vertical-align: top;
  }body.page-chapter18 /* Signature block */
  .sig-block {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 10px;
    margin-top: 4px;
  }body.page-chapter18 .sig-line-block {
    display: flex;
    flex-direction: column;
    gap: 4px;
  }body.page-chapter18 .sig-line {
    border-bottom: 1.5px solid var(--navy);
    height: 28px;
  }body.page-chapter18 .sig-label {
    font-size: 8.5px;
    font-weight: 400;
    color: var(--muted);
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }body.page-chapter18 .date-line-block {
    display: flex;
    flex-direction: column;
    gap: 4px;
  }body.page-chapter18 /* Checklist */
  .two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }body.page-chapter18 .checklist {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 7px;
  }body.page-chapter18 .checklist li {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    font-size: 11px;
    line-height: 1.55;
    color: var(--text);
  }body.page-chapter18 .checklist li::before {
    content: '';
    width: 16px;
    height: 16px;
    border-radius: 4px;
    border: 1.5px solid var(--cyan);
    flex-shrink: 0;
    margin-top: 1px;
  }body.page-chapter18 /* Footer */
  .doc-footer {
    border-top: 2px solid var(--navy);
    padding: 9px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }body.page-chapter18 .footer-left { font-size: 9px; color: var(--muted); letter-spacing: 0.1em; }body.page-chapter18 .footer-center { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 13px; color: var(--navy); letter-spacing: 0.06em; }body.page-chapter18 .footer-right { font-size: 9px; color: var(--muted); letter-spacing: 0.1em; }@media print {body.page-chapter18 { background: none; padding: 0; gap: 0; }body.page-chapter18 .page { width: 210mm; height: 297mm; page-break-after: always; }body.page-chapter18 .page:last-child { page-break-after: auto; }@page { margin: 0; size: A4; }}body.page-chapter18 /* Age-band callout */
  .age-band { border:1px solid var(--border); border-radius:8px; overflow:hidden; }body.page-chapter18 .age-band-header { background:var(--navy); padding:7px 14px; }body.page-chapter18 .age-band-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:13px; text-transform:uppercase; color:var(--cyan); letter-spacing:0.06em; }body.page-chapter18 .age-band-rows { display:grid; grid-template-columns:1fr 1fr; }body.page-chapter18 .age-band-row { display:flex; gap:9px; padding:7px 14px; border-bottom:1px solid var(--border); align-items:flex-start; }body.page-chapter18 .age-band-row:nth-child(3),
body.page-chapter18 .age-band-row:nth-child(4) { border-bottom:none; }body.page-chapter18 .age-band-row:nth-child(odd) { border-right:1px solid var(--border); }body.page-chapter18 .age-badge2 { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:11px; background:var(--navy); color:var(--cyan); padding:2px 7px; border-radius:3px; white-space:nowrap; flex-shrink:0; margin-top:1px; }body.page-chapter18 .age-band-text { font-size:10px; font-weight:300; line-height:1.5; color:var(--text); }

/* =========================================================
   chapter-19.html  (body.page-chapter19)
   ========================================================= */

*,
body.page-chapter19 *::before,
body.page-chapter19 *::after { box-sizing: border-box; margin: 0; padding: 0; }:root { --navy:#0B1628; --navy2:#132040; --cyan:#00D8C8; --white:#FFFFFF; --offwhite:#F4F7FB; --border:#E2E8F0; --text:#1A2B3C; --muted:#6B839A; --accent:#FF5733; }body.page-chapter19 { font-family:'DM Sans',sans-serif; background:#1a1a2e; display:flex; flex-direction:column; align-items:center; padding:40px 20px; gap:40px; }body.page-chapter19 .page { width:210mm; height:297mm; background:var(--white); color:var(--text); display:grid; grid-template-rows:auto 1fr auto; position:relative; overflow:hidden; }body.page-chapter19 .doc-header { display:flex; align-items:stretch; border-bottom:3px solid var(--navy); }body.page-chapter19 .header-brand { background:var(--navy); padding:14px 24px; display:flex; flex-direction:column; justify-content:center; gap:2px; min-width:140px; }body.page-chapter19 .header-logo { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:20px; color:var(--cyan); letter-spacing:0.04em; }body.page-chapter19 .header-tagline { font-size:9px; font-weight:400; letter-spacing:0.14em; text-transform:uppercase; color:rgba(255,255,255,0.4); }body.page-chapter19 .header-meta { flex:1; padding:12px 24px; display:flex; flex-direction:column; justify-content:center; gap:3px; }body.page-chapter19 .doc-type { font-size:9px; font-weight:500; letter-spacing:0.2em; text-transform:uppercase; color:var(--cyan); }body.page-chapter19 .doc-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:20px; color:var(--navy); line-height:1; text-transform:uppercase; }body.page-chapter19 .header-right { padding:12px 24px; display:flex; flex-direction:column; justify-content:center; align-items:flex-end; gap:3px; border-left:1px solid var(--border); min-width:100px; }body.page-chapter19 .header-chapter { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:28px; color:var(--navy); line-height:1; }body.page-chapter19 .header-date { font-size:9.5px; color:var(--muted); }body.page-chapter19 .doc-body { padding:22px 28px; display:flex; flex-direction:column; gap:16px; }body.page-chapter19 .lead { font-size:12.5px; font-weight:300; line-height:1.75; color:var(--text); border-left:3px solid var(--cyan); padding-left:14px; }body.page-chapter19 .body-text { font-size:11.5px; font-weight:400; line-height:1.75; color:var(--text); }body.page-chapter19 .section-heading { display:flex; align-items:center; gap:10px; }body.page-chapter19 .section-heading-num { font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:11px; letter-spacing:0.16em; color:var(--cyan); background:var(--navy); padding:3px 9px; border-radius:3px; }body.page-chapter19 .section-heading-label { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:17px; text-transform:uppercase; color:var(--navy); }body.page-chapter19 .section-heading-line { flex:1; height:1px; background:var(--border); }body.page-chapter19 /* Step cards */
  .step-grid { display:flex; flex-direction:column; gap:8px; }body.page-chapter19 .step-card { display:flex; gap:14px; align-items:flex-start; border:1px solid var(--border); border-radius:8px; padding:11px 14px; }body.page-chapter19 .step-num { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:22px; color:var(--cyan); background:var(--navy); padding:3px 10px; border-radius:5px; line-height:1.1; flex-shrink:0; }body.page-chapter19 .step-content {}body.page-chapter19 .step-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:14px; text-transform:uppercase; color:var(--navy); margin-bottom:3px; }body.page-chapter19 .step-desc { font-size:10.5px; line-height:1.55; color:var(--text); }body.page-chapter19 /* Threat table */
  .threat-table { width:100%; border-collapse:collapse; font-size:10.5px; }body.page-chapter19 .threat-table thead tr { background:var(--navy); }body.page-chapter19 .threat-table thead th { padding:7px 12px; text-align:left; font-weight:500; font-size:9px; letter-spacing:0.1em; text-transform:uppercase; color:var(--white); }body.page-chapter19 .threat-table thead th:first-child { border-radius:6px 0 0 0; }body.page-chapter19 .threat-table thead th:last-child { border-radius:0 6px 0 0; }body.page-chapter19 .threat-table tbody tr:nth-child(odd) { background:var(--offwhite); }body.page-chapter19 .threat-table tbody tr:nth-child(even) { background:var(--white); }body.page-chapter19 .threat-table tbody td { padding:7px 12px; border-bottom:1px solid var(--border); line-height:1.45; vertical-align:top; }body.page-chapter19 .threat-table tbody tr:last-child td { border-bottom:none; }body.page-chapter19 .risk-badge { display:inline-block; font-size:8px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; padding:2px 7px; border-radius:3px; }body.page-chapter19 .risk-high { background:#FFEAEA; color:#A30000; }body.page-chapter19 .risk-medium { background:#FFF6E0; color:#7A5200; }body.page-chapter19 .risk-low { background:#EDF7F5; color:#0B5E54; }body.page-chapter19 /* Two-col */
  .two-col { display:grid; grid-template-columns:1fr 1fr; gap:12px; }body.page-chapter19 .warn-box { border:1px solid var(--border); border-radius:8px; overflow:hidden; }body.page-chapter19 .warn-box-header { background:var(--navy); padding:8px 14px; }body.page-chapter19 .warn-box-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:13px; text-transform:uppercase; color:var(--cyan); }body.page-chapter19 .warn-box-body { padding:10px 14px; display:flex; flex-direction:column; gap:5px; }body.page-chapter19 .warn-item { font-size:10.5px; line-height:1.5; padding-left:14px; position:relative; color:var(--text); }body.page-chapter19 .warn-item::before { content:'▸'; position:absolute; left:0; color:var(--accent); font-size:9px; top:2px; }body.page-chapter19 /* Callout */
  .callout { background:var(--navy); border-radius:8px; padding:14px 18px; color:var(--white); display:flex; flex-direction:column; gap:6px; }body.page-chapter19 .callout.warn { background:#FFF3F0; border:1px solid #FFCFC4; color:var(--text); }body.page-chapter19 .callout.info { background:#EDF7F5; border:1px solid #A0DDD8; color:var(--text); }body.page-chapter19 .callout-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:14px; text-transform:uppercase; letter-spacing:0.06em; }body.page-chapter19 .callout .callout-title { color:var(--cyan); }body.page-chapter19 .callout.warn .callout-title { color:var(--accent); }body.page-chapter19 .callout.info .callout-title { color:#0B7C6E; }body.page-chapter19 .callout-body { font-size:10.5px; line-height:1.6; }body.page-chapter19 .checklist { list-style:none; display:flex; flex-direction:column; gap:7px; }body.page-chapter19 .checklist li { font-size:11px; line-height:1.5; padding-left:28px; position:relative; }body.page-chapter19 .checklist li::before { content:''; position:absolute; left:0; top:2px; width:16px; height:16px; border:2px solid var(--cyan); border-radius:3px; background:var(--white); }body.page-chapter19 .doc-footer { padding:10px 28px; border-top:1px solid var(--border); display:flex; justify-content:space-between; align-items:center; }body.page-chapter19 .footer-left,
body.page-chapter19 .footer-center,
body.page-chapter19 .footer-right { font-size:8.5px; color:var(--muted); letter-spacing:0.05em; }body.page-chapter19 .footer-center { text-align:center; }body.page-chapter19 .footer-right { text-align:right; }@media print {body.page-chapter19 { background:white; padding:0; gap:0; }body.page-chapter19 .page { page-break-after:always; height:297mm; }}body.page-chapter19 .age-band { border:1px solid var(--border); border-radius:8px; overflow:hidden; }body.page-chapter19 .age-band-header { background:var(--navy); padding:7px 14px; }body.page-chapter19 .age-band-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:13px; text-transform:uppercase; color:var(--cyan); letter-spacing:0.06em; }body.page-chapter19 .age-band-rows { display:grid; grid-template-columns:1fr 1fr; }body.page-chapter19 .age-band-row { display:flex; gap:9px; padding:7px 14px; border-bottom:1px solid var(--border); align-items:flex-start; }body.page-chapter19 .age-band-row:nth-child(3),
body.page-chapter19 .age-band-row:nth-child(4) { border-bottom:none; }body.page-chapter19 .age-band-row:nth-child(odd) { border-right:1px solid var(--border); }body.page-chapter19 .age-badge2 { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:11px; background:var(--navy); color:var(--cyan); padding:2px 7px; border-radius:3px; white-space:nowrap; flex-shrink:0; margin-top:1px; }body.page-chapter19 .age-band-text { font-size:10px; font-weight:300; line-height:1.5; color:var(--text); }

/* =========================================================
   chapter-20.html  (body.page-chapter20)
   ========================================================= */

*,
body.page-chapter20 *::before,
body.page-chapter20 *::after { box-sizing: border-box; margin: 0; padding: 0; }:root { --navy:#0B1628; --navy2:#132040; --cyan:#00D8C8; --white:#FFFFFF; --offwhite:#F4F7FB; --border:#E2E8F0; --text:#1A2B3C; --muted:#6B839A; --accent:#FF5733; }body.page-chapter20 { font-family:'DM Sans',sans-serif; background:#1a1a2e; display:flex; flex-direction:column; align-items:center; padding:40px 20px; gap:40px; }body.page-chapter20 .page { width:210mm; height:297mm; background:var(--white); color:var(--text); display:grid; grid-template-rows:auto 1fr auto; position:relative; overflow:hidden; }body.page-chapter20 .doc-header { display:flex; align-items:stretch; border-bottom:3px solid var(--navy); }body.page-chapter20 .header-brand { background:var(--navy); padding:14px 24px; display:flex; flex-direction:column; justify-content:center; gap:2px; min-width:140px; }body.page-chapter20 .header-logo { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:20px; color:var(--cyan); letter-spacing:0.04em; }body.page-chapter20 .header-tagline { font-size:9px; font-weight:400; letter-spacing:0.14em; text-transform:uppercase; color:rgba(255,255,255,0.4); }body.page-chapter20 .header-meta { flex:1; padding:12px 24px; display:flex; flex-direction:column; justify-content:center; gap:3px; }body.page-chapter20 .doc-type { font-size:9px; font-weight:500; letter-spacing:0.2em; text-transform:uppercase; color:var(--cyan); }body.page-chapter20 .doc-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:20px; color:var(--navy); line-height:1; text-transform:uppercase; }body.page-chapter20 .header-right { padding:12px 24px; display:flex; flex-direction:column; justify-content:center; align-items:flex-end; gap:3px; border-left:1px solid var(--border); min-width:100px; }body.page-chapter20 .header-chapter { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:28px; color:var(--navy); line-height:1; }body.page-chapter20 .header-date { font-size:9.5px; color:var(--muted); }body.page-chapter20 .doc-body { padding:22px 28px; display:flex; flex-direction:column; gap:16px; }body.page-chapter20 .lead { font-size:12.5px; font-weight:300; line-height:1.75; color:var(--text); border-left:3px solid var(--cyan); padding-left:14px; }body.page-chapter20 .body-text { font-size:11.5px; font-weight:400; line-height:1.75; color:var(--text); }body.page-chapter20 .section-heading { display:flex; align-items:center; gap:10px; }body.page-chapter20 .section-heading-num { font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:11px; letter-spacing:0.16em; color:var(--cyan); background:var(--navy); padding:3px 9px; border-radius:3px; }body.page-chapter20 .section-heading-label { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:17px; text-transform:uppercase; color:var(--navy); }body.page-chapter20 .section-heading-line { flex:1; height:1px; background:var(--border); }body.page-chapter20 /* Spectrum card */
  .spectrum { border:1px solid var(--border); border-radius:8px; overflow:hidden; }body.page-chapter20 .spectrum-header { background:var(--navy); padding:8px 14px; display:flex; justify-content:space-between; align-items:center; }body.page-chapter20 .spectrum-label { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:12px; text-transform:uppercase; color:var(--cyan); }body.page-chapter20 .spectrum-row { display:grid; grid-template-columns:1fr 1fr 1fr; }body.page-chapter20 .spectrum-cell { padding:10px 12px; border-right:1px solid var(--border); border-bottom:1px solid var(--border); font-size:10.5px; line-height:1.5; }body.page-chapter20 .spectrum-cell:last-child { border-right:none; }body.page-chapter20 .spectrum-cell.head { background:var(--offwhite); font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:11px; text-transform:uppercase; color:var(--navy); }body.page-chapter20 .spectrum-row:last-child .spectrum-cell { border-bottom:none; }body.page-chapter20 /* Diff cards */
  .diff-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }body.page-chapter20 .diff-card { border:1px solid var(--border); border-radius:8px; overflow:hidden; }body.page-chapter20 .diff-card-header { padding:8px 14px; }body.page-chapter20 .diff-card-header.healthy { background:#EDF7F5; border-bottom:2px solid #00D8C8; }body.page-chapter20 .diff-card-header.unhealthy { background:#FFF3F0; border-bottom:2px solid var(--accent); }body.page-chapter20 .diff-card-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:13px; text-transform:uppercase; }body.page-chapter20 .diff-card-header.healthy .diff-card-title { color:#0B7C6E; }body.page-chapter20 .diff-card-header.unhealthy .diff-card-title { color:#8B2500; }body.page-chapter20 .diff-card-body { padding:10px 14px; display:flex; flex-direction:column; gap:5px; }body.page-chapter20 .diff-item { font-size:10.5px; line-height:1.5; padding-left:14px; position:relative; color:var(--text); }body.page-chapter20 .diff-item::before { content:'▸'; position:absolute; left:0; font-size:9px; top:2px; }body.page-chapter20 .diff-card-header.healthy + .diff-card-body .diff-item::before { color:#00D8C8; }body.page-chapter20 .diff-card-header.unhealthy + .diff-card-body .diff-item::before { color:var(--accent); }body.page-chapter20 /* Two-col warn */
  .two-col { display:grid; grid-template-columns:1fr 1fr; gap:12px; }body.page-chapter20 .warn-box { border:1px solid var(--border); border-radius:8px; overflow:hidden; }body.page-chapter20 .warn-box-header { background:var(--navy); padding:8px 14px; }body.page-chapter20 .warn-box-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:13px; text-transform:uppercase; color:var(--cyan); }body.page-chapter20 .warn-box-body { padding:10px 14px; display:flex; flex-direction:column; gap:5px; }body.page-chapter20 .warn-item { font-size:10.5px; line-height:1.5; padding-left:14px; position:relative; color:var(--text); }body.page-chapter20 .warn-item::before { content:'▸'; position:absolute; left:0; color:var(--accent); font-size:9px; top:2px; }body.page-chapter20 .callout { background:var(--navy); border-radius:8px; padding:14px 18px; color:var(--white); display:flex; flex-direction:column; gap:6px; }body.page-chapter20 .callout.warn { background:#FFF3F0; border:1px solid #FFCFC4; color:var(--text); }body.page-chapter20 .callout.info { background:#EDF7F5; border:1px solid #A0DDD8; color:var(--text); }body.page-chapter20 .callout-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:14px; text-transform:uppercase; letter-spacing:0.06em; }body.page-chapter20 .callout .callout-title { color:var(--cyan); }body.page-chapter20 .callout.warn .callout-title { color:var(--accent); }body.page-chapter20 .callout.info .callout-title { color:#0B7C6E; }body.page-chapter20 .callout-body { font-size:10.5px; line-height:1.6; }body.page-chapter20 .checklist { list-style:none; display:flex; flex-direction:column; gap:7px; }body.page-chapter20 .checklist li { font-size:11px; line-height:1.5; padding-left:28px; position:relative; }body.page-chapter20 .checklist li::before { content:''; position:absolute; left:0; top:2px; width:16px; height:16px; border:2px solid var(--cyan); border-radius:3px; background:var(--white); }body.page-chapter20 .doc-footer { padding:10px 28px; border-top:1px solid var(--border); display:flex; justify-content:space-between; align-items:center; }body.page-chapter20 .footer-left,
body.page-chapter20 .footer-center,
body.page-chapter20 .footer-right { font-size:8.5px; color:var(--muted); letter-spacing:0.05em; }body.page-chapter20 .footer-center { text-align:center; }body.page-chapter20 .footer-right { text-align:right; }@media print {body.page-chapter20 { background:white; padding:0; gap:0; }body.page-chapter20 .page { page-break-after:always; height:297mm; }}body.page-chapter20 .age-band { border:1px solid var(--border); border-radius:8px; overflow:hidden; }body.page-chapter20 .age-band-header { background:var(--navy); padding:7px 14px; }body.page-chapter20 .age-band-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:13px; text-transform:uppercase; color:var(--cyan); letter-spacing:0.06em; }body.page-chapter20 .age-band-rows { display:grid; grid-template-columns:1fr 1fr; }body.page-chapter20 .age-band-row { display:flex; gap:9px; padding:7px 14px; border-bottom:1px solid var(--border); align-items:flex-start; }body.page-chapter20 .age-band-row:nth-child(3),
body.page-chapter20 .age-band-row:nth-child(4) { border-bottom:none; }body.page-chapter20 .age-band-row:nth-child(odd) { border-right:1px solid var(--border); }body.page-chapter20 .age-badge2 { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:11px; background:var(--navy); color:var(--cyan); padding:2px 7px; border-radius:3px; white-space:nowrap; flex-shrink:0; margin-top:1px; }body.page-chapter20 .age-band-text { font-size:10px; font-weight:300; line-height:1.5; color:var(--text); }

/* =========================================================
   chapter-21.html  (body.page-chapter21)
   ========================================================= */

*,
body.page-chapter21 *::before,
body.page-chapter21 *::after { box-sizing: border-box; margin: 0; padding: 0; }:root { --navy:#0B1628; --navy2:#132040; --cyan:#00D8C8; --white:#FFFFFF; --offwhite:#F4F7FB; --border:#E2E8F0; --text:#1A2B3C; --muted:#6B839A; --accent:#FF5733; }body.page-chapter21 { font-family:'DM Sans',sans-serif; background:#1a1a2e; display:flex; flex-direction:column; align-items:center; padding:40px 20px; gap:40px; }body.page-chapter21 .page { width:210mm; height:297mm; background:var(--white); color:var(--text); display:grid; grid-template-rows:auto 1fr auto; position:relative; overflow:hidden; }body.page-chapter21 .doc-header { display:flex; align-items:stretch; border-bottom:3px solid var(--navy); }body.page-chapter21 .header-brand { background:var(--navy); padding:14px 24px; display:flex; flex-direction:column; justify-content:center; gap:2px; min-width:140px; }body.page-chapter21 .header-logo { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:20px; color:var(--cyan); letter-spacing:0.04em; }body.page-chapter21 .header-tagline { font-size:9px; font-weight:400; letter-spacing:0.14em; text-transform:uppercase; color:rgba(255,255,255,0.4); }body.page-chapter21 .header-meta { flex:1; padding:12px 24px; display:flex; flex-direction:column; justify-content:center; gap:3px; }body.page-chapter21 .doc-type { font-size:9px; font-weight:500; letter-spacing:0.2em; text-transform:uppercase; color:var(--cyan); }body.page-chapter21 .doc-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:20px; color:var(--navy); line-height:1; text-transform:uppercase; }body.page-chapter21 .header-right { padding:12px 24px; display:flex; flex-direction:column; justify-content:center; align-items:flex-end; gap:3px; border-left:1px solid var(--border); min-width:100px; }body.page-chapter21 .header-chapter { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:28px; color:var(--navy); line-height:1; }body.page-chapter21 .header-date { font-size:9.5px; color:var(--muted); }body.page-chapter21 .doc-body { padding:22px 28px; display:flex; flex-direction:column; gap:16px; }body.page-chapter21 .lead { font-size:12.5px; font-weight:300; line-height:1.75; color:var(--text); border-left:3px solid var(--cyan); padding-left:14px; }body.page-chapter21 .body-text { font-size:11.5px; font-weight:400; line-height:1.75; color:var(--text); }body.page-chapter21 .section-heading { display:flex; align-items:center; gap:10px; }body.page-chapter21 .section-heading-num { font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:11px; letter-spacing:0.16em; color:var(--cyan); background:var(--navy); padding:3px 9px; border-radius:3px; }body.page-chapter21 .section-heading-label { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:17px; text-transform:uppercase; color:var(--navy); }body.page-chapter21 .section-heading-line { flex:1; height:1px; background:var(--border); }body.page-chapter21 /* Phase timeline */
  .timeline { display:flex; flex-direction:column; gap:0; border:1px solid var(--border); border-radius:8px; overflow:hidden; }body.page-chapter21 .timeline-item { display:flex; gap:0; border-bottom:1px solid var(--border); }body.page-chapter21 .timeline-item:last-child { border-bottom:none; }body.page-chapter21 .timeline-phase { background:var(--navy); padding:10px 14px; min-width:90px; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; gap:2px; }body.page-chapter21 .phase-label { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:10px; text-transform:uppercase; color:var(--cyan); letter-spacing:0.08em; }body.page-chapter21 .phase-time { font-size:9px; color:rgba(255,255,255,0.5); }body.page-chapter21 .timeline-content { padding:10px 14px; font-size:10.5px; line-height:1.55; color:var(--text); flex:1; }body.page-chapter21 .timeline-content strong { color:var(--navy); }body.page-chapter21 /* Two-col warn */
  .two-col { display:grid; grid-template-columns:1fr 1fr; gap:12px; }body.page-chapter21 .warn-box { border:1px solid var(--border); border-radius:8px; overflow:hidden; }body.page-chapter21 .warn-box-header { background:var(--navy); padding:8px 14px; }body.page-chapter21 .warn-box-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:13px; text-transform:uppercase; color:var(--cyan); }body.page-chapter21 .warn-box-body { padding:10px 14px; display:flex; flex-direction:column; gap:5px; }body.page-chapter21 .warn-item { font-size:10.5px; line-height:1.5; padding-left:14px; position:relative; color:var(--text); }body.page-chapter21 .warn-item::before { content:'▸'; position:absolute; left:0; color:var(--accent); font-size:9px; top:2px; }body.page-chapter21 .callout { background:var(--navy); border-radius:8px; padding:14px 18px; color:var(--white); display:flex; flex-direction:column; gap:6px; }body.page-chapter21 .callout.warn { background:#FFF3F0; border:1px solid #FFCFC4; color:var(--text); }body.page-chapter21 .callout.info { background:#EDF7F5; border:1px solid #A0DDD8; color:var(--text); }body.page-chapter21 .callout-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:14px; text-transform:uppercase; letter-spacing:0.06em; }body.page-chapter21 .callout .callout-title { color:var(--cyan); }body.page-chapter21 .callout.warn .callout-title { color:var(--accent); }body.page-chapter21 .callout.info .callout-title { color:#0B7C6E; }body.page-chapter21 .callout-body { font-size:10.5px; line-height:1.6; }body.page-chapter21 .checklist { list-style:none; display:flex; flex-direction:column; gap:7px; }body.page-chapter21 .checklist li { font-size:11px; line-height:1.5; padding-left:28px; position:relative; }body.page-chapter21 .checklist li::before { content:''; position:absolute; left:0; top:2px; width:16px; height:16px; border:2px solid var(--cyan); border-radius:3px; background:var(--white); }body.page-chapter21 .doc-footer { padding:10px 28px; border-top:1px solid var(--border); display:flex; justify-content:space-between; align-items:center; }body.page-chapter21 .footer-left,
body.page-chapter21 .footer-center,
body.page-chapter21 .footer-right { font-size:8.5px; color:var(--muted); letter-spacing:0.05em; }body.page-chapter21 .footer-center { text-align:center; }body.page-chapter21 .footer-right { text-align:right; }@media print {body.page-chapter21 { background:white; padding:0; gap:0; }body.page-chapter21 .page { page-break-after:always; height:297mm; }}body.page-chapter21 .age-band { border:1px solid var(--border); border-radius:8px; overflow:hidden; }body.page-chapter21 .age-band-header { background:var(--navy); padding:7px 14px; }body.page-chapter21 .age-band-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:13px; text-transform:uppercase; color:var(--cyan); letter-spacing:0.06em; }body.page-chapter21 .age-band-rows { display:grid; grid-template-columns:1fr 1fr; }body.page-chapter21 .age-band-row { display:flex; gap:9px; padding:7px 14px; border-bottom:1px solid var(--border); align-items:flex-start; }body.page-chapter21 .age-band-row:nth-child(3),
body.page-chapter21 .age-band-row:nth-child(4) { border-bottom:none; }body.page-chapter21 .age-band-row:nth-child(odd) { border-right:1px solid var(--border); }body.page-chapter21 .age-badge2 { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:11px; background:var(--navy); color:var(--cyan); padding:2px 7px; border-radius:3px; white-space:nowrap; flex-shrink:0; margin-top:1px; }body.page-chapter21 .age-band-text { font-size:10px; font-weight:300; line-height:1.5; color:var(--text); }

/* =========================================================
   chapter-22.html  (body.page-chapter22)
   ========================================================= */

*,
body.page-chapter22 *::before,
body.page-chapter22 *::after { box-sizing: border-box; margin: 0; padding: 0; }:root { --navy:#0B1628; --navy2:#132040; --cyan:#00D8C8; --white:#FFFFFF; --offwhite:#F4F7FB; --border:#E2E8F0; --text:#1A2B3C; --muted:#6B839A; --accent:#FF5733; }body.page-chapter22 { font-family:'DM Sans',sans-serif; background:#1a1a2e; display:flex; flex-direction:column; align-items:center; padding:40px 20px; gap:40px; }body.page-chapter22 .page { width:210mm; height:297mm; background:var(--white); color:var(--text); display:grid; grid-template-rows:auto 1fr auto; position:relative; overflow:hidden; }body.page-chapter22 .doc-header { display:flex; align-items:stretch; border-bottom:3px solid var(--navy); }body.page-chapter22 .header-brand { background:var(--navy); padding:14px 24px; display:flex; flex-direction:column; justify-content:center; gap:2px; min-width:140px; }body.page-chapter22 .header-logo { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:20px; color:var(--cyan); letter-spacing:0.04em; }body.page-chapter22 .header-tagline { font-size:9px; font-weight:400; letter-spacing:0.14em; text-transform:uppercase; color:rgba(255,255,255,0.4); }body.page-chapter22 .header-meta { flex:1; padding:12px 24px; display:flex; flex-direction:column; justify-content:center; gap:3px; }body.page-chapter22 .doc-type { font-size:9px; font-weight:500; letter-spacing:0.2em; text-transform:uppercase; color:var(--cyan); }body.page-chapter22 .doc-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:20px; color:var(--navy); line-height:1; text-transform:uppercase; }body.page-chapter22 .header-right { padding:12px 24px; display:flex; flex-direction:column; justify-content:center; align-items:flex-end; gap:3px; border-left:1px solid var(--border); min-width:100px; }body.page-chapter22 .header-chapter { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:28px; color:var(--navy); line-height:1; }body.page-chapter22 .header-date { font-size:9.5px; color:var(--muted); }body.page-chapter22 .doc-body { padding:22px 28px; display:flex; flex-direction:column; gap:16px; }body.page-chapter22 .lead { font-size:12.5px; font-weight:300; line-height:1.75; color:var(--text); border-left:3px solid var(--cyan); padding-left:14px; }body.page-chapter22 .body-text { font-size:11.5px; font-weight:400; line-height:1.75; color:var(--text); }body.page-chapter22 .section-heading { display:flex; align-items:center; gap:10px; }body.page-chapter22 .section-heading-num { font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:11px; letter-spacing:0.16em; color:var(--cyan); background:var(--navy); padding:3px 9px; border-radius:3px; }body.page-chapter22 .section-heading-label { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:17px; text-transform:uppercase; color:var(--navy); }body.page-chapter22 .section-heading-line { flex:1; height:1px; background:var(--border); }body.page-chapter22 /* Stat cards */
  .stat-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px; }body.page-chapter22 .stat-card { border:1px solid var(--border); border-radius:8px; padding:12px 14px; text-align:center; }body.page-chapter22 .stat-number { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:28px; color:var(--accent); line-height:1; }body.page-chapter22 .stat-label { font-size:10px; font-weight:300; color:var(--text); line-height:1.4; margin-top:4px; }body.page-chapter22 /* Protocol steps */
  .protocol { border:2px solid var(--accent); border-radius:8px; overflow:hidden; }body.page-chapter22 .protocol-header { background:var(--accent); padding:10px 18px; }body.page-chapter22 .protocol-title { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:16px; text-transform:uppercase; color:var(--white); letter-spacing:0.06em; }body.page-chapter22 .protocol-subtitle { font-size:10px; color:rgba(255,255,255,0.8); margin-top:2px; }body.page-chapter22 .protocol-steps { display:flex; flex-direction:column; gap:0; }body.page-chapter22 .protocol-step { display:flex; gap:0; border-bottom:1px solid var(--border); }body.page-chapter22 .protocol-step:last-child { border-bottom:none; }body.page-chapter22 .step-marker { background:var(--navy); padding:10px 14px; display:flex; flex-direction:column; align-items:center; justify-content:center; min-width:52px; gap:2px; }body.page-chapter22 .step-n { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:20px; color:var(--cyan); line-height:1; }body.page-chapter22 .step-word { font-size:8px; text-transform:uppercase; letter-spacing:0.1em; color:rgba(255,255,255,0.4); }body.page-chapter22 .step-text { padding:10px 14px; font-size:10.5px; line-height:1.55; color:var(--text); flex:1; }body.page-chapter22 .step-text strong { color:var(--navy); }body.page-chapter22 /* Two-col */
  .two-col { display:grid; grid-template-columns:1fr 1fr; gap:12px; }body.page-chapter22 .warn-box { border:1px solid var(--border); border-radius:8px; overflow:hidden; }body.page-chapter22 .warn-box-header { background:var(--navy); padding:8px 14px; }body.page-chapter22 .warn-box-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:13px; text-transform:uppercase; color:var(--cyan); }body.page-chapter22 .warn-box-body { padding:10px 14px; display:flex; flex-direction:column; gap:5px; }body.page-chapter22 .warn-item { font-size:10.5px; line-height:1.5; padding-left:14px; position:relative; color:var(--text); }body.page-chapter22 .warn-item::before { content:'▸'; position:absolute; left:0; color:var(--accent); font-size:9px; top:2px; }body.page-chapter22 .callout { background:var(--navy); border-radius:8px; padding:14px 18px; color:var(--white); display:flex; flex-direction:column; gap:6px; }body.page-chapter22 .callout.warn { background:#FFF3F0; border:1px solid #FFCFC4; color:var(--text); }body.page-chapter22 .callout.info { background:#EDF7F5; border:1px solid #A0DDD8; color:var(--text); }body.page-chapter22 .callout-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:14px; text-transform:uppercase; letter-spacing:0.06em; }body.page-chapter22 .callout .callout-title { color:var(--cyan); }body.page-chapter22 .callout.warn .callout-title { color:var(--accent); }body.page-chapter22 .callout.info .callout-title { color:#0B7C6E; }body.page-chapter22 .callout-body { font-size:10.5px; line-height:1.6; }body.page-chapter22 .checklist { list-style:none; display:flex; flex-direction:column; gap:7px; }body.page-chapter22 .checklist li { font-size:11px; line-height:1.5; padding-left:28px; position:relative; }body.page-chapter22 .checklist li::before { content:''; position:absolute; left:0; top:2px; width:16px; height:16px; border:2px solid var(--cyan); border-radius:3px; background:var(--white); }body.page-chapter22 .doc-footer { padding:10px 28px; border-top:1px solid var(--border); display:flex; justify-content:space-between; align-items:center; }body.page-chapter22 .footer-left,
body.page-chapter22 .footer-center,
body.page-chapter22 .footer-right { font-size:8.5px; color:var(--muted); letter-spacing:0.05em; }body.page-chapter22 .footer-center { text-align:center; }body.page-chapter22 .footer-right { text-align:right; }@media print {body.page-chapter22 { background:white; padding:0; gap:0; }body.page-chapter22 .page { page-break-after:always; height:297mm; }}body.page-chapter22 .age-band { border:1px solid var(--border); border-radius:8px; overflow:hidden; }body.page-chapter22 .age-band-header { background:var(--navy); padding:7px 14px; }body.page-chapter22 .age-band-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:13px; text-transform:uppercase; color:var(--cyan); letter-spacing:0.06em; }body.page-chapter22 .age-band-rows { display:grid; grid-template-columns:1fr 1fr; }body.page-chapter22 .age-band-row { display:flex; gap:9px; padding:7px 14px; border-bottom:1px solid var(--border); align-items:flex-start; }body.page-chapter22 .age-band-row:nth-child(3),
body.page-chapter22 .age-band-row:nth-child(4) { border-bottom:none; }body.page-chapter22 .age-band-row:nth-child(odd) { border-right:1px solid var(--border); }body.page-chapter22 .age-badge2 { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:11px; background:var(--navy); color:var(--cyan); padding:2px 7px; border-radius:3px; white-space:nowrap; flex-shrink:0; margin-top:1px; }body.page-chapter22 .age-band-text { font-size:10px; font-weight:300; line-height:1.5; color:var(--text); }

/* =========================================================
   chapter-23.html  (body.page-chapter23)
   ========================================================= */

*,
body.page-chapter23 *::before,
body.page-chapter23 *::after { box-sizing: border-box; margin: 0; padding: 0; }:root { --navy:#0B1628; --navy2:#132040; --cyan:#00D8C8; --white:#FFFFFF; --offwhite:#F4F7FB; --border:#E2E8F0; --text:#1A2B3C; --muted:#6B839A; --accent:#FF5733; }body.page-chapter23 { font-family:'DM Sans',sans-serif; background:#1a1a2e; display:flex; flex-direction:column; align-items:center; padding:40px 20px; gap:40px; }body.page-chapter23 .page { width:210mm; height:297mm; background:var(--white); color:var(--text); display:grid; grid-template-rows:auto 1fr auto; position:relative; overflow:hidden; }body.page-chapter23 .doc-header { display:flex; align-items:stretch; border-bottom:3px solid var(--navy); }body.page-chapter23 .header-brand { background:var(--navy); padding:14px 24px; display:flex; flex-direction:column; justify-content:center; gap:2px; min-width:140px; }body.page-chapter23 .header-logo { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:20px; color:var(--cyan); letter-spacing:0.04em; }body.page-chapter23 .header-tagline { font-size:9px; font-weight:400; letter-spacing:0.14em; text-transform:uppercase; color:rgba(255,255,255,0.4); }body.page-chapter23 .header-meta { flex:1; padding:12px 24px; display:flex; flex-direction:column; justify-content:center; gap:3px; }body.page-chapter23 .doc-type { font-size:9px; font-weight:500; letter-spacing:0.2em; text-transform:uppercase; color:var(--cyan); }body.page-chapter23 .doc-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:20px; color:var(--navy); line-height:1; text-transform:uppercase; }body.page-chapter23 .header-right { padding:12px 24px; display:flex; flex-direction:column; justify-content:center; align-items:flex-end; gap:3px; border-left:1px solid var(--border); min-width:100px; }body.page-chapter23 .header-chapter { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:28px; color:var(--navy); line-height:1; }body.page-chapter23 .header-date { font-size:9.5px; color:var(--muted); }body.page-chapter23 .doc-body { padding:22px 28px; display:flex; flex-direction:column; gap:16px; }body.page-chapter23 .lead { font-size:12.5px; font-weight:300; line-height:1.75; color:var(--text); border-left:3px solid var(--cyan); padding-left:14px; }body.page-chapter23 .body-text { font-size:11.5px; font-weight:400; line-height:1.75; color:var(--text); }body.page-chapter23 .section-heading { display:flex; align-items:center; gap:10px; }body.page-chapter23 .section-heading-num { font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:11px; letter-spacing:0.16em; color:var(--cyan); background:var(--navy); padding:3px 9px; border-radius:3px; }body.page-chapter23 .section-heading-label { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:17px; text-transform:uppercase; color:var(--navy); }body.page-chapter23 .section-heading-line { flex:1; height:1px; background:var(--border); }body.page-chapter23 /* Explainer cards */
  .explainer-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }body.page-chapter23 .explainer-card { border:1px solid var(--border); border-radius:8px; overflow:hidden; }body.page-chapter23 .explainer-card-header { background:var(--navy); padding:8px 14px; }body.page-chapter23 .explainer-card-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:13px; text-transform:uppercase; color:var(--cyan); }body.page-chapter23 .explainer-card-body { padding:10px 14px; font-size:10.5px; line-height:1.6; color:var(--text); }body.page-chapter23 /* Step cards */
  .step-grid { display:flex; flex-direction:column; gap:8px; }body.page-chapter23 .step-card { display:flex; gap:14px; align-items:flex-start; border:1px solid var(--border); border-radius:8px; padding:11px 14px; }body.page-chapter23 .step-num { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:22px; color:var(--cyan); background:var(--navy); padding:3px 10px; border-radius:5px; line-height:1.1; flex-shrink:0; }body.page-chapter23 .step-content {}body.page-chapter23 .step-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:14px; text-transform:uppercase; color:var(--navy); margin-bottom:3px; }body.page-chapter23 .step-desc { font-size:10.5px; line-height:1.55; color:var(--text); }body.page-chapter23 /* Two-col */
  .two-col { display:grid; grid-template-columns:1fr 1fr; gap:12px; }body.page-chapter23 .warn-box { border:1px solid var(--border); border-radius:8px; overflow:hidden; }body.page-chapter23 .warn-box-header { background:var(--navy); padding:8px 14px; }body.page-chapter23 .warn-box-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:13px; text-transform:uppercase; color:var(--cyan); }body.page-chapter23 .warn-box-body { padding:10px 14px; display:flex; flex-direction:column; gap:5px; }body.page-chapter23 .warn-item { font-size:10.5px; line-height:1.5; padding-left:14px; position:relative; color:var(--text); }body.page-chapter23 .warn-item::before { content:'▸'; position:absolute; left:0; color:var(--accent); font-size:9px; top:2px; }body.page-chapter23 .callout { background:var(--navy); border-radius:8px; padding:14px 18px; color:var(--white); display:flex; flex-direction:column; gap:6px; }body.page-chapter23 .callout.warn { background:#FFF3F0; border:1px solid #FFCFC4; color:var(--text); }body.page-chapter23 .callout.info { background:#EDF7F5; border:1px solid #A0DDD8; color:var(--text); }body.page-chapter23 .callout-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:14px; text-transform:uppercase; letter-spacing:0.06em; }body.page-chapter23 .callout .callout-title { color:var(--cyan); }body.page-chapter23 .callout.warn .callout-title { color:var(--accent); }body.page-chapter23 .callout.info .callout-title { color:#0B7C6E; }body.page-chapter23 .callout-body { font-size:10.5px; line-height:1.6; }body.page-chapter23 .checklist { list-style:none; display:flex; flex-direction:column; gap:7px; }body.page-chapter23 .checklist li { font-size:11px; line-height:1.5; padding-left:28px; position:relative; }body.page-chapter23 .checklist li::before { content:''; position:absolute; left:0; top:2px; width:16px; height:16px; border:2px solid var(--cyan); border-radius:3px; background:var(--white); }body.page-chapter23 .doc-footer { padding:10px 28px; border-top:1px solid var(--border); display:flex; justify-content:space-between; align-items:center; }body.page-chapter23 .footer-left,
body.page-chapter23 .footer-center,
body.page-chapter23 .footer-right { font-size:8.5px; color:var(--muted); letter-spacing:0.05em; }body.page-chapter23 .footer-center { text-align:center; }body.page-chapter23 .footer-right { text-align:right; }@media print {body.page-chapter23 { background:white; padding:0; gap:0; }body.page-chapter23 .page { page-break-after:always; height:297mm; }}body.page-chapter23 .age-band { border:1px solid var(--border); border-radius:8px; overflow:hidden; }body.page-chapter23 .age-band-header { background:var(--navy); padding:7px 14px; }body.page-chapter23 .age-band-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:13px; text-transform:uppercase; color:var(--cyan); letter-spacing:0.06em; }body.page-chapter23 .age-band-rows { display:grid; grid-template-columns:1fr 1fr; }body.page-chapter23 .age-band-row { display:flex; gap:9px; padding:7px 14px; border-bottom:1px solid var(--border); align-items:flex-start; }body.page-chapter23 .age-band-row:nth-child(3),
body.page-chapter23 .age-band-row:nth-child(4) { border-bottom:none; }body.page-chapter23 .age-band-row:nth-child(odd) { border-right:1px solid var(--border); }body.page-chapter23 .age-badge2 { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:11px; background:var(--navy); color:var(--cyan); padding:2px 7px; border-radius:3px; white-space:nowrap; flex-shrink:0; margin-top:1px; }body.page-chapter23 .age-band-text { font-size:10px; font-weight:300; line-height:1.5; color:var(--text); }

/* =========================================================
   chapter-24.html  (body.page-chapter24)
   ========================================================= */

*,
body.page-chapter24 *::before,
body.page-chapter24 *::after { box-sizing: border-box; margin: 0; padding: 0; }:root { --navy:#0B1628; --navy2:#132040; --cyan:#00D8C8; --white:#FFFFFF; --offwhite:#F4F7FB; --border:#E2E8F0; --text:#1A2B3C; --muted:#6B839A; --accent:#FF5733; }body.page-chapter24 { font-family:'DM Sans',sans-serif; background:#1a1a2e; display:flex; flex-direction:column; align-items:center; padding:40px 20px; gap:40px; }body.page-chapter24 .page { width:210mm; height:297mm; background:var(--white); color:var(--text); display:grid; grid-template-rows:auto 1fr auto; position:relative; overflow:hidden; }body.page-chapter24 .doc-header { display:flex; align-items:stretch; border-bottom:3px solid var(--navy); }body.page-chapter24 .header-brand { background:var(--navy); padding:14px 24px; display:flex; flex-direction:column; justify-content:center; gap:2px; min-width:140px; }body.page-chapter24 .header-logo { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:20px; color:var(--cyan); letter-spacing:0.04em; }body.page-chapter24 .header-tagline { font-size:9px; font-weight:400; letter-spacing:0.14em; text-transform:uppercase; color:rgba(255,255,255,0.4); }body.page-chapter24 .header-meta { flex:1; padding:12px 24px; display:flex; flex-direction:column; justify-content:center; gap:3px; }body.page-chapter24 .doc-type { font-size:9px; font-weight:500; letter-spacing:0.2em; text-transform:uppercase; color:var(--cyan); }body.page-chapter24 .doc-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:20px; color:var(--navy); line-height:1; text-transform:uppercase; }body.page-chapter24 .header-right { padding:12px 24px; display:flex; flex-direction:column; justify-content:center; align-items:flex-end; gap:3px; border-left:1px solid var(--border); min-width:100px; }body.page-chapter24 .header-chapter { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:28px; color:var(--navy); line-height:1; }body.page-chapter24 .header-date { font-size:9.5px; color:var(--muted); }body.page-chapter24 .doc-body { padding:22px 28px; display:flex; flex-direction:column; gap:16px; }body.page-chapter24 .lead { font-size:12.5px; font-weight:300; line-height:1.75; color:var(--text); border-left:3px solid var(--cyan); padding-left:14px; }body.page-chapter24 .body-text { font-size:11.5px; font-weight:400; line-height:1.75; color:var(--text); }body.page-chapter24 .section-heading { display:flex; align-items:center; gap:10px; }body.page-chapter24 .section-heading-num { font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:11px; letter-spacing:0.16em; color:var(--cyan); background:var(--navy); padding:3px 9px; border-radius:3px; }body.page-chapter24 .section-heading-label { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:17px; text-transform:uppercase; color:var(--navy); }body.page-chapter24 .section-heading-line { flex:1; height:1px; background:var(--border); }body.page-chapter24 /* Platform table */
  .platform-table { width:100%; border-collapse:collapse; font-size:10.5px; }body.page-chapter24 .platform-table thead tr { background:var(--navy); }body.page-chapter24 .platform-table thead th { padding:7px 12px; text-align:left; font-weight:500; font-size:9px; letter-spacing:0.1em; text-transform:uppercase; color:var(--white); }body.page-chapter24 .platform-table thead th:first-child { border-radius:6px 0 0 0; }body.page-chapter24 .platform-table thead th:last-child { border-radius:0 6px 0 0; }body.page-chapter24 .platform-table tbody tr:nth-child(odd) { background:var(--offwhite); }body.page-chapter24 .platform-table tbody tr:nth-child(even) { background:var(--white); }body.page-chapter24 .platform-table tbody td { padding:7px 12px; border-bottom:1px solid var(--border); line-height:1.45; vertical-align:top; }body.page-chapter24 .platform-table tbody tr:last-child td { border-bottom:none; }body.page-chapter24 .badge { display:inline-block; font-size:8px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; padding:2px 7px; border-radius:3px; }body.page-chapter24 .badge-green { background:#EDF7F5; color:#0B5E54; }body.page-chapter24 .badge-amber { background:#FFF6E0; color:#7A5200; }body.page-chapter24 .badge-red { background:#FFEAEA; color:#A30000; }body.page-chapter24 /* Password manager cards */
  .pm-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px; }body.page-chapter24 .pm-card { border:1px solid var(--border); border-radius:8px; padding:12px 14px; }body.page-chapter24 .pm-name { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:14px; text-transform:uppercase; color:var(--navy); margin-bottom:4px; }body.page-chapter24 .pm-desc { font-size:10px; line-height:1.5; color:var(--text); }body.page-chapter24 .pm-tag { display:inline-block; font-size:8px; font-weight:700; padding:2px 7px; border-radius:3px; margin-top:5px; }body.page-chapter24 .pm-free { background:#EDF7F5; color:#0B5E54; }body.page-chapter24 .pm-paid { background:#F4F7FB; color:var(--muted); }body.page-chapter24 /* Two-col */
  .two-col { display:grid; grid-template-columns:1fr 1fr; gap:12px; }body.page-chapter24 .warn-box { border:1px solid var(--border); border-radius:8px; overflow:hidden; }body.page-chapter24 .warn-box-header { background:var(--navy); padding:8px 14px; }body.page-chapter24 .warn-box-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:13px; text-transform:uppercase; color:var(--cyan); }body.page-chapter24 .warn-box-body { padding:10px 14px; display:flex; flex-direction:column; gap:5px; }body.page-chapter24 .warn-item { font-size:10.5px; line-height:1.5; padding-left:14px; position:relative; color:var(--text); }body.page-chapter24 .warn-item::before { content:'▸'; position:absolute; left:0; color:var(--accent); font-size:9px; top:2px; }body.page-chapter24 .callout { background:var(--navy); border-radius:8px; padding:14px 18px; color:var(--white); display:flex; flex-direction:column; gap:6px; }body.page-chapter24 .callout.warn { background:#FFF3F0; border:1px solid #FFCFC4; color:var(--text); }body.page-chapter24 .callout.info { background:#EDF7F5; border:1px solid #A0DDD8; color:var(--text); }body.page-chapter24 .callout-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:14px; text-transform:uppercase; letter-spacing:0.06em; }body.page-chapter24 .callout .callout-title { color:var(--cyan); }body.page-chapter24 .callout.warn .callout-title { color:var(--accent); }body.page-chapter24 .callout.info .callout-title { color:#0B7C6E; }body.page-chapter24 .callout-body { font-size:10.5px; line-height:1.6; }body.page-chapter24 .checklist { list-style:none; display:flex; flex-direction:column; gap:7px; }body.page-chapter24 .checklist li { font-size:11px; line-height:1.5; padding-left:28px; position:relative; }body.page-chapter24 .checklist li::before { content:''; position:absolute; left:0; top:2px; width:16px; height:16px; border:2px solid var(--cyan); border-radius:3px; background:var(--white); }body.page-chapter24 .doc-footer { padding:10px 28px; border-top:1px solid var(--border); display:flex; justify-content:space-between; align-items:center; }body.page-chapter24 .footer-left,
body.page-chapter24 .footer-center,
body.page-chapter24 .footer-right { font-size:8.5px; color:var(--muted); letter-spacing:0.05em; }body.page-chapter24 .footer-center { text-align:center; }body.page-chapter24 .footer-right { text-align:right; }@media print {body.page-chapter24 { background:white; padding:0; gap:0; }body.page-chapter24 .page { page-break-after:always; height:297mm; }}body.page-chapter24 .age-band { border:1px solid var(--border); border-radius:8px; overflow:hidden; }body.page-chapter24 .age-band-header { background:var(--navy); padding:7px 14px; }body.page-chapter24 .age-band-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:13px; text-transform:uppercase; color:var(--cyan); letter-spacing:0.06em; }body.page-chapter24 .age-band-rows { display:grid; grid-template-columns:1fr 1fr; }body.page-chapter24 .age-band-row { display:flex; gap:9px; padding:7px 14px; border-bottom:1px solid var(--border); align-items:flex-start; }body.page-chapter24 .age-band-row:nth-child(3),
body.page-chapter24 .age-band-row:nth-child(4) { border-bottom:none; }body.page-chapter24 .age-band-row:nth-child(odd) { border-right:1px solid var(--border); }body.page-chapter24 .age-badge2 { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:11px; background:var(--navy); color:var(--cyan); padding:2px 7px; border-radius:3px; white-space:nowrap; flex-shrink:0; margin-top:1px; }body.page-chapter24 .age-band-text { font-size:10px; font-weight:300; line-height:1.5; color:var(--text); }

/* =========================================================
   course-brochure.html  (body.page-coursebrochure)
   ========================================================= */

*,
body.page-coursebrochure *::before,
body.page-coursebrochure *::after { box-sizing: border-box; margin: 0; padding: 0; }:root {
    --navy:   #0B1628;
    --navy2:  #132040;
    --cyan:   #00D8C8;
    --cyan2:  #00F0DD;
    --white:  #FFFFFF;
    --offwhite: #EDF1F7;
    --muted:  #8FA3BF;
    --accent: #FF5733;
    --page-w: 210mm;
    --page-h: 297mm;
  }body.page-coursebrochure {
    font-family: 'DM Sans', sans-serif;
    background: #1a1a2e;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 40px 20px;
    gap: 40px;
  }body.page-coursebrochure .page {
    width: var(--page-w);
    height: var(--page-h);
    background: var(--navy);
    color: var(--white);
    position: relative;
    overflow: hidden;
  }body.page-coursebrochure /* ───── PAGE 1 ───── */

  .p1-grid {
    display: grid;
    grid-template-rows: auto 1fr auto;
    height: var(--page-h);
  }body.page-coursebrochure .p1-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 22px 32px 0;
  }body.page-coursebrochure .logo {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 900;
    font-size: 22px;
    letter-spacing: 0.04em;
    color: var(--cyan);
  }body.page-coursebrochure .badge {
    font-family: 'DM Sans', sans-serif;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--navy);
    background: var(--cyan);
    padding: 5px 12px;
    border-radius: 20px;
  }body.page-coursebrochure .p1-hero {
    padding: 40px 32px 0;
    position: relative;
  }body.page-coursebrochure .eyebrow {
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--cyan);
    margin-bottom: 18px;
    display: flex;
    align-items: center;
    gap: 10px;
  }body.page-coursebrochure .eyebrow::before {
    content: '';
    display: inline-block;
    width: 28px;
    height: 2px;
    background: var(--cyan);
  }body.page-coursebrochure .hero-title {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 900;
    font-size: 76px;
    line-height: 0.92;
    letter-spacing: -0.01em;
    text-transform: uppercase;
    color: var(--white);
    margin-bottom: 28px;
  }body.page-coursebrochure .hero-title span {
    color: var(--cyan);
  }body.page-coursebrochure .hero-desc {
    font-size: 14px;
    font-weight: 300;
    line-height: 1.7;
    color: var(--offwhite);
    max-width: 340px;
    margin-bottom: 36px;
  }body.page-coursebrochure .shield-bg {
    position: absolute;
    right: -20px;
    top: -10px;
    opacity: 0.06;
  }body.page-coursebrochure .stat-row {
    display: flex;
    gap: 0;
    border-top: 1px solid rgba(255,255,255,0.08);
    border-bottom: 1px solid rgba(255,255,255,0.08);
    margin: 0 32px;
  }body.page-coursebrochure .stat {
    flex: 1;
    padding: 18px 20px;
    border-right: 1px solid rgba(255,255,255,0.08);
  }body.page-coursebrochure .stat:last-child { border-right: none; }body.page-coursebrochure .stat-num {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 36px;
    color: var(--cyan);
    line-height: 1;
  }body.page-coursebrochure .stat-label {
    font-size: 10px;
    font-weight: 400;
    color: var(--muted);
    letter-spacing: 0.06em;
    margin-top: 4px;
    text-transform: uppercase;
  }body.page-coursebrochure .modules-section {
    padding: 32px 32px 0;
  }body.page-coursebrochure .section-label {
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--muted);
    margin-bottom: 16px;
  }body.page-coursebrochure .module-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }body.page-coursebrochure .module-card {
    background: var(--navy2);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 8px;
    padding: 16px;
    position: relative;
    overflow: hidden;
  }body.page-coursebrochure .module-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 3px;
    height: 100%;
    background: var(--cyan);
    border-radius: 8px 0 0 8px;
  }body.page-coursebrochure .module-num {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 11px;
    letter-spacing: 0.16em;
    color: var(--cyan);
    margin-bottom: 6px;
  }body.page-coursebrochure .module-title {
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
    color: var(--white);
    margin-bottom: 6px;
  }body.page-coursebrochure .module-desc {
    font-size: 10.5px;
    font-weight: 300;
    line-height: 1.55;
    color: var(--muted);
  }body.page-coursebrochure .p1-footer {
    margin: 28px 32px 24px;
    padding-top: 20px;
    border-top: 1px solid rgba(255,255,255,0.08);
    display: flex;
    align-items: center;
    justify-content: space-between;
  }body.page-coursebrochure .cta-block {}body.page-coursebrochure .cta-label {
    font-size: 10px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--muted);
    margin-bottom: 4px;
  }body.page-coursebrochure .cta-url {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 20px;
    color: var(--cyan);
    letter-spacing: 0.04em;
  }body.page-coursebrochure .page-num {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 11px;
    letter-spacing: 0.2em;
    color: var(--muted);
  }body.page-coursebrochure /* ───── PAGE 2 ───── */

  .p2 {
    background: var(--white);
    color: var(--navy);
  }body.page-coursebrochure .p2-top {
    background: var(--navy2);
    padding: 28px 32px 32px;
  }body.page-coursebrochure .p2-section-title {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 900;
    font-size: 48px;
    line-height: 0.95;
    text-transform: uppercase;
    color: var(--white);
    margin-bottom: 6px;
  }body.page-coursebrochure .p2-section-title span { color: var(--cyan); }body.page-coursebrochure .p2-sub {
    font-size: 12px;
    font-weight: 300;
    color: var(--muted);
    margin-top: 10px;
    max-width: 380px;
    line-height: 1.6;
  }body.page-coursebrochure .outcomes-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1px;
    background: rgba(255,255,255,0.06);
    margin-top: 24px;
  }body.page-coursebrochure .outcome {
    background: var(--navy);
    padding: 18px 20px;
    display: flex;
    gap: 14px;
    align-items: flex-start;
  }body.page-coursebrochure .outcome-icon {
    width: 32px;
    height: 32px;
    border-radius: 6px;
    background: rgba(0,216,200,0.12);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }body.page-coursebrochure .outcome-text {}body.page-coursebrochure .outcome-title {
    font-size: 12px;
    font-weight: 500;
    color: var(--white);
    margin-bottom: 3px;
  }body.page-coursebrochure .outcome-desc {
    font-size: 10.5px;
    font-weight: 300;
    color: var(--muted);
    line-height: 1.5;
  }body.page-coursebrochure /* Instructor */
  .instructor-section {
    padding: 28px 32px;
    display: flex;
    gap: 24px;
    align-items: flex-start;
    border-bottom: 1px solid #E8EDF3;
  }body.page-coursebrochure .avatar {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: linear-gradient(135deg, #132040 0%, #0B1628 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 3px solid var(--cyan);
    overflow: hidden;
  }body.page-coursebrochure .avatar-initials {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 24px;
    color: var(--cyan);
  }body.page-coursebrochure .instructor-info {}body.page-coursebrochure .instructor-kicker {
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--cyan);
    margin-bottom: 4px;
  }body.page-coursebrochure .instructor-name {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 26px;
    color: var(--navy);
    line-height: 1;
    margin-bottom: 8px;
  }body.page-coursebrochure .instructor-bio {
    font-size: 11.5px;
    font-weight: 300;
    color: #4A5D78;
    line-height: 1.65;
  }body.page-coursebrochure /* Reviews */
  .reviews-section {
    padding: 24px 32px;
    border-bottom: 1px solid #E8EDF3;
  }body.page-coursebrochure .section-label-dark {
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #8FA3BF;
    margin-bottom: 16px;
  }body.page-coursebrochure .reviews-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }body.page-coursebrochure .review-card {
    background: #F4F7FB;
    border-radius: 8px;
    padding: 14px 16px;
  }body.page-coursebrochure .review-stars {
    color: var(--accent);
    font-size: 11px;
    letter-spacing: 2px;
    margin-bottom: 7px;
  }body.page-coursebrochure .review-text {
    font-size: 11px;
    font-weight: 400;
    line-height: 1.6;
    color: #2D3E55;
    margin-bottom: 10px;
    font-style: italic;
  }body.page-coursebrochure .review-author {
    font-size: 10px;
    font-weight: 500;
    color: #8FA3BF;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }body.page-coursebrochure /* CTA block p2 */
  .cta-full {
    margin: 24px 32px;
    background: var(--navy);
    border-radius: 12px;
    padding: 24px 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
  }body.page-coursebrochure .cta-left {}body.page-coursebrochure .cta-headline {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 900;
    font-size: 28px;
    text-transform: uppercase;
    color: var(--white);
    line-height: 1;
    margin-bottom: 6px;
  }body.page-coursebrochure .cta-headline span { color: var(--cyan); }body.page-coursebrochure .cta-sub {
    font-size: 11px;
    font-weight: 300;
    color: var(--muted);
  }body.page-coursebrochure .cta-price {
    text-align: right;
    flex-shrink: 0;
  }body.page-coursebrochure .price-orig {
    font-size: 11px;
    color: var(--muted);
    text-decoration: line-through;
    margin-bottom: 2px;
  }body.page-coursebrochure .price-now {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 42px;
    line-height: 1;
    color: var(--cyan);
  }body.page-coursebrochure .price-label {
    font-size: 10px;
    color: var(--muted);
    margin-top: 2px;
  }body.page-coursebrochure .p2-footer {
    margin: 0 32px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }body.page-coursebrochure .footer-logos {
    display: flex;
    gap: 16px;
    align-items: center;
  }body.page-coursebrochure .trust-badge {
    font-size: 10px;
    color: #8FA3BF;
    display: flex;
    align-items: center;
    gap: 5px;
  }body.page-coursebrochure .dot {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--cyan);
    display: inline-block;
    flex-shrink: 0;
  }@media print {body.page-coursebrochure { background: none; padding: 0; gap: 0; }body.page-coursebrochure .page { width: 210mm; height: 297mm; page-break-after: always; }body.page-coursebrochure .page:last-child { page-break-after: auto; }@page { margin: 0; size: A4; }}

/* =========================================================
   document-template.html  (body.page-documenttemplate)
   ========================================================= */

*,
body.page-documenttemplate *::before,
body.page-documenttemplate *::after { box-sizing: border-box; margin: 0; padding: 0; }:root {
    --navy:      #0B1628;
    --navy2:     #132040;
    --cyan:      #00D8C8;
    --white:     #FFFFFF;
    --offwhite:  #F4F7FB;
    --border:    #E2E8F0;
    --text:      #1A2B3C;
    --muted:     #6B839A;
    --accent:    #FF5733;
    --page-w:    210mm;
    --page-h:    297mm;
  }body.page-documenttemplate /* ── Preview shell (remove for pure PDF use) ── */
  body {
    font-family: 'DM Sans', sans-serif;
    background: #1a1a2e;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 40px 20px;
    gap: 40px;
  }body.page-documenttemplate /* ── Page ── */
  .page {
    width: var(--page-w);
    height: var(--page-h);
    background: var(--white);
    color: var(--text);
    display: grid;
    grid-template-rows: auto 1fr auto;
    position: relative;
  }body.page-documenttemplate /* ══════════════════════════════
     HEADER  - edit logo & doc info
     ══════════════════════════════ */
  .doc-header {
    display: flex;
    align-items: stretch;
    border-bottom: 3px solid var(--navy);
  }body.page-documenttemplate .header-brand {
    background: var(--navy);
    padding: 14px 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2px;
    min-width: 140px;
  }body.page-documenttemplate .header-logo {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 900;
    font-size: 20px;
    color: var(--cyan);
    letter-spacing: 0.04em;
  }body.page-documenttemplate .header-tagline {
    font-size: 9px;
    font-weight: 400;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.45);
  }body.page-documenttemplate .header-meta {
    flex: 1;
    padding: 12px 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 3px;
    border-left: 1px solid var(--border);
  }body.page-documenttemplate /* ✏️ EDIT: document type label */
  .doc-type {
    font-size: 9px;
    font-weight: 500;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--cyan);
  }body.page-documenttemplate /* ✏️ EDIT: document title */
  .doc-title {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 22px;
    color: var(--navy);
    line-height: 1;
    text-transform: uppercase;
  }body.page-documenttemplate .header-right {
    padding: 12px 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
    gap: 3px;
    border-left: 1px solid var(--border);
    min-width: 120px;
  }body.page-documenttemplate /* ✏️ EDIT: module number / date */
  .header-module {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 28px;
    color: var(--navy);
    line-height: 1;
  }body.page-documenttemplate .header-date {
    font-size: 9.5px;
    color: var(--muted);
  }body.page-documenttemplate /* ══════════════════════════════
     BODY CONTENT
     ══════════════════════════════ */
  .doc-body {
    padding: 28px 32px;
    display: flex;
    flex-direction: column;
    gap: 22px;
  }body.page-documenttemplate /* ── Intro / lead paragraph ── */
  .lead {
    font-size: 13.5px;
    font-weight: 300;
    line-height: 1.75;
    color: var(--text);
    border-left: 3px solid var(--cyan);
    padding-left: 16px;
  }body.page-documenttemplate /* ── Section heading ── */
  .section-heading {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: -10px; /* tighten gap to next element */
  }body.page-documenttemplate .section-heading-label {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 18px;
    text-transform: uppercase;
    color: var(--navy);
    letter-spacing: 0.02em;
  }body.page-documenttemplate .section-heading-line {
    flex: 1;
    height: 1px;
    background: var(--border);
  }body.page-documenttemplate .section-heading-num {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 11px;
    letter-spacing: 0.16em;
    color: var(--cyan);
    background: var(--navy);
    padding: 3px 9px;
    border-radius: 3px;
  }body.page-documenttemplate /* ── Body paragraph ── */
  .body-text {
    font-size: 11.5px;
    font-weight: 400;
    line-height: 1.75;
    color: var(--text);
  }body.page-documenttemplate /* ── Two-column layout ── */
  .two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }body.page-documenttemplate /* ── Info / callout box ── */
  .callout {
    background: var(--navy);
    border-radius: 8px;
    padding: 18px 20px;
    display: flex;
    gap: 14px;
    align-items: flex-start;
  }body.page-documenttemplate .callout-icon {
    width: 30px;
    height: 30px;
    border-radius: 6px;
    background: rgba(0,216,200,0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 1px;
  }body.page-documenttemplate .callout-body {}body.page-documenttemplate .callout-title {
    font-size: 11px;
    font-weight: 500;
    color: var(--cyan);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin-bottom: 5px;
  }body.page-documenttemplate .callout-text {
    font-size: 11px;
    font-weight: 300;
    color: rgba(255,255,255,0.75);
    line-height: 1.65;
  }body.page-documenttemplate /* ── Warning callout variant ── */
  .callout.warn {
    background: #FFF7F0;
    border: 1px solid #FFD4B8;
  }body.page-documenttemplate .callout.warn .callout-icon {
    background: rgba(255,87,51,0.12);
  }body.page-documenttemplate .callout.warn .callout-title { color: var(--accent); }body.page-documenttemplate .callout.warn .callout-text { color: #7A3A22; }body.page-documenttemplate /* ── Checklist ── */
  .checklist {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 8px;
  }body.page-documenttemplate .checklist li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 11.5px;
    line-height: 1.55;
    color: var(--text);
  }body.page-documenttemplate .checklist li::before {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    border-radius: 4px;
    border: 1.5px solid var(--cyan);
    flex-shrink: 0;
    margin-top: 1px;
  }body.page-documenttemplate /* ── Numbered steps ── */
  .steps {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 10px;
  }body.page-documenttemplate .steps li {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    font-size: 11.5px;
    line-height: 1.6;
    color: var(--text);
  }body.page-documenttemplate .step-num {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--navy);
    color: var(--cyan);
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 0px;
  }body.page-documenttemplate /* ── Key term / definition ── */
  .definition-grid {
    display: flex;
    flex-direction: column;
    gap: 0;
    border: 1px solid var(--border);
    border-radius: 8px;
    overflow: hidden;
  }body.page-documenttemplate .definition-row {
    display: grid;
    grid-template-columns: 140px 1fr;
    border-bottom: 1px solid var(--border);
  }body.page-documenttemplate .definition-row:last-child { border-bottom: none; }body.page-documenttemplate .def-term {
    background: var(--offwhite);
    padding: 10px 14px;
    font-size: 11px;
    font-weight: 500;
    color: var(--navy);
    border-right: 1px solid var(--border);
    display: flex;
    align-items: center;
  }body.page-documenttemplate .def-meaning {
    padding: 10px 14px;
    font-size: 11px;
    font-weight: 300;
    color: var(--text);
    line-height: 1.6;
    display: flex;
    align-items: center;
  }body.page-documenttemplate /* ── Stat / highlight cards ── */
  .stat-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
  }body.page-documenttemplate .stat-card {
    background: var(--offwhite);
    border-radius: 8px;
    padding: 14px 16px;
    border-left: 3px solid var(--cyan);
  }body.page-documenttemplate .stat-card-num {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 30px;
    color: var(--navy);
    line-height: 1;
    margin-bottom: 3px;
  }body.page-documenttemplate .stat-card-label {
    font-size: 10px;
    font-weight: 400;
    color: var(--muted);
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }body.page-documenttemplate /* ── Image / media placeholder ── */
  .media-placeholder {
    background: var(--offwhite);
    border: 1.5px dashed var(--border);
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 24px;
    text-align: center;
  }body.page-documenttemplate .media-placeholder-label {
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--muted);
  }body.page-documenttemplate .media-placeholder-sub {
    font-size: 10px;
    color: var(--border);
  }body.page-documenttemplate /* ── Table ── */
  .doc-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 11px;
  }body.page-documenttemplate .doc-table thead tr {
    background: var(--navy);
    color: var(--white);
  }body.page-documenttemplate .doc-table thead th {
    padding: 9px 14px;
    text-align: left;
    font-weight: 500;
    letter-spacing: 0.08em;
    font-size: 10px;
    text-transform: uppercase;
  }body.page-documenttemplate .doc-table thead th:first-child { border-radius: 6px 0 0 0; }body.page-documenttemplate .doc-table thead th:last-child { border-radius: 0 6px 0 0; }body.page-documenttemplate .doc-table tbody tr { border-bottom: 1px solid var(--border); }body.page-documenttemplate .doc-table tbody tr:last-child { border-bottom: none; }body.page-documenttemplate .doc-table tbody tr:nth-child(even) { background: var(--offwhite); }body.page-documenttemplate .doc-table tbody td {
    padding: 9px 14px;
    color: var(--text);
    font-weight: 400;
    line-height: 1.5;
  }body.page-documenttemplate /* ── Divider ── */
  .divider {
    height: 1px;
    background: var(--border);
    margin: 0;
  }body.page-documenttemplate /* ══════════════════════════════
     FOOTER
     ══════════════════════════════ */
  .doc-footer {
    border-top: 2px solid var(--navy);
    padding: 10px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }body.page-documenttemplate .footer-left {
    font-size: 9px;
    color: var(--muted);
    letter-spacing: 0.1em;
  }body.page-documenttemplate .footer-center {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 13px;
    color: var(--navy);
    letter-spacing: 0.06em;
  }body.page-documenttemplate /* ✏️ EDIT: page number */
  .footer-right {
    font-size: 9px;
    color: var(--muted);
    letter-spacing: 0.1em;
  }@media print {body.page-documenttemplate { background: none; padding: 0; gap: 0; }body.page-documenttemplate .page { width: 210mm; height: 297mm; page-break-after: always; }body.page-documenttemplate .page:last-child { page-break-after: auto; }@page { margin: 0; size: A4; }}

/* =========================================================
   emergency.html  (body.page-emergency)
   ========================================================= */

*,
body.page-emergency *::before,
body.page-emergency *::after { box-sizing: border-box; margin: 0; padding: 0; }:root { --navy:#0B1628; --cyan:#00D8C8; --white:#FFFFFF; --offwhite:#F4F7FB; --border:#E2E8F0; --text:#1A2B3C; --muted:#6B839A; --accent:#FF5733; }body.page-emergency { font-family:'DM Sans',sans-serif; background:#1a1a2e; display:flex; flex-direction:column; align-items:center; padding:40px 20px; gap:40px; }body.page-emergency .page { width:210mm; height:297mm; background:var(--white); color:var(--text); display:grid; grid-template-rows:auto 1fr auto; position:relative; overflow:hidden; }body.page-emergency .doc-header { background:var(--accent); padding:16px 28px; display:flex; align-items:center; justify-content:space-between; }body.page-emergency .header-left {}body.page-emergency .header-logo { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:18px; color:var(--white); letter-spacing:0.04em; }body.page-emergency .header-tagline { font-size:8.5px; font-weight:400; letter-spacing:0.14em; text-transform:uppercase; color:rgba(255,255,255,0.6); }body.page-emergency .header-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:26px; color:var(--white); text-transform:uppercase; line-height:1; }body.page-emergency .header-badge { background:var(--white); color:var(--accent); font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:11px; letter-spacing:0.12em; text-transform:uppercase; padding:5px 12px; border-radius:4px; }body.page-emergency .doc-body { padding:18px 24px; display:flex; flex-direction:column; gap:12px; }body.page-emergency /* Scenario cards */
  .scenario { border:1px solid var(--border); border-radius:8px; overflow:hidden; }body.page-emergency .scenario-header { background:var(--navy); padding:9px 14px; display:flex; align-items:center; gap:10px; }body.page-emergency .scenario-icon { font-size:16px; }body.page-emergency .scenario-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:14px; text-transform:uppercase; color:var(--white); letter-spacing:0.04em; }body.page-emergency .scenario-body { padding:10px 14px; display:grid; grid-template-columns:1fr 1fr; gap:10px; }body.page-emergency .scenario-col-title { font-size:8.5px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:var(--muted); margin-bottom:5px; }body.page-emergency .steps { display:flex; flex-direction:column; gap:5px; }body.page-emergency .step { display:flex; gap:8px; align-items:flex-start; font-size:10px; line-height:1.5; }body.page-emergency .step-num { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:11px; background:var(--cyan); color:var(--navy); border-radius:50%; width:18px; height:18px; display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:1px; }body.page-emergency .contact-box { background:var(--offwhite); border-radius:4px; padding:7px 10px; font-size:10px; line-height:1.55; }body.page-emergency .contact-name { font-weight:500; color:var(--navy); }body.page-emergency .contact-detail { color:var(--text); }body.page-emergency .print-note { text-align:center; font-size:9px; color:var(--muted); font-style:italic; padding:6px 0 0; }body.page-emergency .doc-footer { padding:8px 24px; border-top:2px solid var(--accent); display:flex; justify-content:space-between; align-items:center; }body.page-emergency .footer-left,
body.page-emergency .footer-center,
body.page-emergency .footer-right { font-size:8.5px; color:var(--muted); letter-spacing:0.05em; }body.page-emergency .footer-center { text-align:center; }body.page-emergency .footer-right { text-align:right; }@media print {body.page-emergency { background:white; padding:0; gap:0; }body.page-emergency .page { height:297mm; }}

/* =========================================================
   first-last-page-template.html  (body.page-firstlastpagetemplate)
   ========================================================= */

*,
body.page-firstlastpagetemplate *::before,
body.page-firstlastpagetemplate *::after { box-sizing: border-box; margin: 0; padding: 0; }:root {
    --navy:     #0B1628;
    --navy2:    #132040;
    --cyan:     #00D8C8;
    --white:    #FFFFFF;
    --offwhite: #F4F7FB;
    --border:   #E2E8F0;
    --text:     #1A2B3C;
    --muted:    #6B839A;
    --accent:   #FF5733;
  }body.page-firstlastpagetemplate {
    font-family: 'DM Sans', sans-serif;
    background: #1a1a2e;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 40px 20px;
    gap: 40px;
  }body.page-firstlastpagetemplate .page {
    width: 210mm;
    height: 297mm;
    position: relative;
    overflow: hidden;
  }body.page-firstlastpagetemplate /* ═══════════════════════════════════════
     FIRST PAGE - COVER
     ═══════════════════════════════════════ */

  .cover {
    background: var(--navy);
    color: var(--white);
    display: grid;
    grid-template-rows: auto 1fr auto;
    height: 297mm;
  }body.page-firstlastpagetemplate /* Top bar */
  .cover-topbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 32px;
    border-bottom: 1px solid rgba(255,255,255,0.07);
  }body.page-firstlastpagetemplate .cover-logo {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 900;
    font-size: 22px;
    color: var(--cyan);
    letter-spacing: 0.05em;
  }body.page-firstlastpagetemplate .cover-badge {
    font-size: 9px;
    font-weight: 500;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--navy);
    background: var(--cyan);
    padding: 5px 13px;
    border-radius: 20px;
  }body.page-firstlastpagetemplate /* Hero area */
  .cover-hero {
    padding: 48px 32px 0;
    position: relative;
  }body.page-firstlastpagetemplate /* Big decorative shield */
  .deco-shield {
    position: absolute;
    right: -40px;
    top: -30px;
    opacity: 0.04;
    pointer-events: none;
  }body.page-firstlastpagetemplate /* Decorative grid pattern */
  .deco-grid {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    opacity: 0.04;
    pointer-events: none;
  }body.page-firstlastpagetemplate .cover-eyebrow {
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: var(--cyan);
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
  }body.page-firstlastpagetemplate .cover-eyebrow::before {
    content: '';
    width: 30px;
    height: 2px;
    background: var(--cyan);
    display: inline-block;
  }body.page-firstlastpagetemplate /* ✏️ EDIT: main document title */
  .cover-title {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 900;
    font-size: 82px;
    line-height: 0.9;
    text-transform: uppercase;
    color: var(--white);
    letter-spacing: -0.01em;
    margin-bottom: 10px;
  }body.page-firstlastpagetemplate .cover-title span { color: var(--cyan); }body.page-firstlastpagetemplate /* ✏️ EDIT: subtitle / document type */
  .cover-subtitle {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 26px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: rgba(255,255,255,0.35);
    margin-bottom: 36px;
  }body.page-firstlastpagetemplate .cover-divider {
    width: 60px;
    height: 3px;
    background: var(--cyan);
    border-radius: 2px;
    margin-bottom: 28px;
  }body.page-firstlastpagetemplate /* ✏️ EDIT: description paragraph */
  .cover-desc {
    font-size: 13px;
    font-weight: 300;
    line-height: 1.75;
    color: rgba(255,255,255,0.6);
    max-width: 360px;
    margin-bottom: 48px;
  }body.page-firstlastpagetemplate /* Module / chapter list on cover */
  .cover-contents {
    background: var(--navy2);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 10px;
    padding: 20px 22px;
    max-width: 380px;
  }body.page-firstlastpagetemplate .cover-contents-label {
    font-size: 9px;
    font-weight: 500;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--muted);
    margin-bottom: 14px;
  }body.page-firstlastpagetemplate .cover-toc {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 10px;
  }body.page-firstlastpagetemplate .cover-toc li {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 11.5px;
    font-weight: 400;
    color: rgba(255,255,255,0.75);
  }body.page-firstlastpagetemplate .toc-num {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 10px;
    letter-spacing: 0.14em;
    color: var(--cyan);
    background: rgba(0,216,200,0.1);
    padding: 2px 7px;
    border-radius: 3px;
    min-width: 36px;
    text-align: center;
  }body.page-firstlastpagetemplate .toc-line {
    flex: 1;
    height: 1px;
    background: rgba(255,255,255,0.06);
  }body.page-firstlastpagetemplate .toc-page {
    font-size: 10px;
    color: var(--muted);
  }body.page-firstlastpagetemplate /* Author row */
  .cover-author-row {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 0 32px;
  }body.page-firstlastpagetemplate .author-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--navy2);
    border: 2px solid var(--cyan);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 16px;
    color: var(--cyan);
    flex-shrink: 0;
  }body.page-firstlastpagetemplate .author-info {}body.page-firstlastpagetemplate /* ✏️ EDIT: author name */
  .author-name {
    font-size: 12px;
    font-weight: 500;
    color: var(--white);
  }body.page-firstlastpagetemplate /* ✏️ EDIT: author role */
  .author-role {
    font-size: 10px;
    font-weight: 300;
    color: var(--muted);
  }body.page-firstlastpagetemplate /* Cover bottom bar */
  .cover-bottom {
    border-top: 1px solid rgba(255,255,255,0.07);
    padding: 14px 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 28px;
  }body.page-firstlastpagetemplate .cover-bottom-meta {
    font-size: 9px;
    letter-spacing: 0.12em;
    color: rgba(255,255,255,0.25);
    text-transform: uppercase;
  }body.page-firstlastpagetemplate .cover-bottom-url {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 0.08em;
    color: var(--cyan);
  }body.page-firstlastpagetemplate /* Cyan accent strip on cover right edge */
  .cover::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 5px;
    height: 100%;
    background: var(--cyan);
  }body.page-firstlastpagetemplate /* ═══════════════════════════════════════
     LAST PAGE - BACK COVER
     ═══════════════════════════════════════ */

  .backcover {
    background: var(--white);
    color: var(--text);
    display: grid;
    grid-template-rows: 1fr auto;
    height: 297mm;
  }body.page-firstlastpagetemplate .backcover-body {
    display: flex;
    flex-direction: column;
  }body.page-firstlastpagetemplate /* Top dark band */
  .bc-band {
    background: var(--navy2);
    padding: 36px 32px 40px;
    position: relative;
    overflow: hidden;
  }body.page-firstlastpagetemplate .bc-band::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 32px;
    right: 32px;
    height: 3px;
    background: var(--cyan);
  }body.page-firstlastpagetemplate .bc-band-eyebrow {
    font-size: 9px;
    font-weight: 500;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--cyan);
    margin-bottom: 12px;
  }body.page-firstlastpagetemplate /* ✏️ EDIT: closing headline */
  .bc-headline {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 900;
    font-size: 54px;
    line-height: 0.92;
    text-transform: uppercase;
    color: var(--white);
    margin-bottom: 18px;
  }body.page-firstlastpagetemplate .bc-headline span { color: var(--cyan); }body.page-firstlastpagetemplate /* ✏️ EDIT: closing paragraph */
  .bc-closing {
    font-size: 12.5px;
    font-weight: 300;
    line-height: 1.75;
    color: rgba(255,255,255,0.55);
    max-width: 420px;
  }body.page-firstlastpagetemplate /* Next steps */
  .bc-steps {
    padding: 32px 32px 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
  }body.page-firstlastpagetemplate .bc-steps-label {
    font-size: 9px;
    font-weight: 500;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--muted);
  }body.page-firstlastpagetemplate .bc-step-row {
    display: flex;
    gap: 14px;
    align-items: flex-start;
  }body.page-firstlastpagetemplate .bc-step-num {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--navy);
    color: var(--cyan);
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }body.page-firstlastpagetemplate .bc-step-text {}body.page-firstlastpagetemplate .bc-step-title {
    font-size: 12px;
    font-weight: 500;
    color: var(--navy);
    margin-bottom: 2px;
  }body.page-firstlastpagetemplate /* ✏️ EDIT: next step descriptions */
  .bc-step-desc {
    font-size: 11px;
    font-weight: 300;
    color: var(--muted);
    line-height: 1.6;
  }body.page-firstlastpagetemplate /* Resources row */
  .bc-resources {
    margin: 28px 32px 0;
    background: var(--offwhite);
    border-radius: 10px;
    padding: 20px 24px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0;
  }body.page-firstlastpagetemplate .bc-resource {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 0 16px;
    border-right: 1px solid var(--border);
  }body.page-firstlastpagetemplate .bc-resource:first-child { padding-left: 0; }body.page-firstlastpagetemplate .bc-resource:last-child { border-right: none; }body.page-firstlastpagetemplate .bc-resource-icon {
    width: 28px;
    height: 28px;
    border-radius: 6px;
    background: var(--navy);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 4px;
  }body.page-firstlastpagetemplate /* ✏️ EDIT: resource labels */
  .bc-resource-label {
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--navy);
  }body.page-firstlastpagetemplate .bc-resource-url {
    font-size: 10px;
    font-weight: 300;
    color: var(--muted);
  }body.page-firstlastpagetemplate /* Review quote */
  .bc-quote {
    margin: 28px 32px 0;
    padding: 22px 26px;
    border: 1px solid var(--border);
    border-radius: 10px;
    border-left: 4px solid var(--cyan);
    position: relative;
  }body.page-firstlastpagetemplate .bc-quote-mark {
    position: absolute;
    top: 16px;
    right: 20px;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 900;
    font-size: 64px;
    line-height: 1;
    color: var(--offwhite);
  }body.page-firstlastpagetemplate /* ✏️ EDIT: closing testimonial */
  .bc-quote-text {
    font-size: 13px;
    font-weight: 300;
    font-style: italic;
    line-height: 1.7;
    color: var(--text);
    margin-bottom: 12px;
    max-width: 420px;
  }body.page-firstlastpagetemplate .bc-quote-author {
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--muted);
  }body.page-firstlastpagetemplate /* CTA strip */
  .bc-cta-strip {
    margin: 28px 32px 0;
    background: var(--navy);
    border-radius: 10px;
    padding: 20px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
  }body.page-firstlastpagetemplate /* ✏️ EDIT: CTA headline */
  .bc-cta-headline {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 900;
    font-size: 24px;
    text-transform: uppercase;
    color: var(--white);
    line-height: 1;
  }body.page-firstlastpagetemplate .bc-cta-headline span { color: var(--cyan); }body.page-firstlastpagetemplate .bc-cta-sub {
    font-size: 10.5px;
    font-weight: 300;
    color: rgba(255,255,255,0.45);
    margin-top: 4px;
  }body.page-firstlastpagetemplate /* ✏️ EDIT: CTA URL */
  .bc-cta-url {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 22px;
    color: var(--cyan);
    letter-spacing: 0.04em;
    white-space: nowrap;
    flex-shrink: 0;
  }body.page-firstlastpagetemplate /* Back cover footer */
  .backcover-footer {
    border-top: 3px solid var(--navy);
    padding: 14px 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--white);
  }body.page-firstlastpagetemplate .bc-footer-logo {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 900;
    font-size: 18px;
    color: var(--navy);
    letter-spacing: 0.05em;
  }body.page-firstlastpagetemplate .bc-footer-meta {
    font-size: 9px;
    color: var(--muted);
    letter-spacing: 0.1em;
    text-transform: uppercase;
  }body.page-firstlastpagetemplate .bc-footer-copy {
    font-size: 9px;
    color: var(--muted);
  }body.page-firstlastpagetemplate /* Cyan left strip on back cover */
  .backcover::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 5px;
    height: 100%;
    background: var(--cyan);
  }@media print {body.page-firstlastpagetemplate { background: none; padding: 0; gap: 0; }body.page-firstlastpagetemplate .page { width: 210mm; height: 297mm; page-break-after: always; }body.page-firstlastpagetemplate .page:last-child { page-break-after: auto; }@page { margin: 0; size: A4; }}

/* =========================================================
   glossary.html  (body.page-glossary)
   ========================================================= */

*,
body.page-glossary *::before,
body.page-glossary *::after { box-sizing: border-box; margin: 0; padding: 0; }:root { --navy:#0B1628; --cyan:#00D8C8; --white:#FFFFFF; --offwhite:#F4F7FB; --border:#E2E8F0; --text:#1A2B3C; --muted:#6B839A; --accent:#FF5733; }body.page-glossary { font-family:'DM Sans',sans-serif; background:#1a1a2e; display:flex; flex-direction:column; align-items:center; padding:40px 20px; gap:40px; }body.page-glossary .page { width:210mm; height:297mm; background:var(--white); color:var(--text); display:grid; grid-template-rows:auto 1fr auto; position:relative; overflow:hidden; }body.page-glossary .doc-header { display:flex; align-items:stretch; border-bottom:3px solid var(--navy); }body.page-glossary .header-brand { background:var(--navy); padding:14px 24px; display:flex; flex-direction:column; justify-content:center; gap:2px; min-width:140px; }body.page-glossary .header-logo { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:20px; color:var(--cyan); letter-spacing:0.04em; }body.page-glossary .header-tagline { font-size:9px; font-weight:400; letter-spacing:0.14em; text-transform:uppercase; color:rgba(255,255,255,0.4); }body.page-glossary .header-meta { flex:1; padding:12px 24px; display:flex; flex-direction:column; justify-content:center; gap:3px; }body.page-glossary .doc-type { font-size:9px; font-weight:500; letter-spacing:0.2em; text-transform:uppercase; color:var(--cyan); }body.page-glossary .doc-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:20px; color:var(--navy); line-height:1; text-transform:uppercase; }body.page-glossary .header-right { padding:12px 24px; display:flex; flex-direction:column; justify-content:center; align-items:flex-end; gap:3px; border-left:1px solid var(--border); min-width:100px; }body.page-glossary .header-chapter { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:18px; color:var(--navy); line-height:1; }body.page-glossary .header-date { font-size:9.5px; color:var(--muted); }body.page-glossary .doc-body { padding:18px 28px; display:flex; flex-direction:column; gap:12px; }body.page-glossary /* Alphabet section */
  .alpha-section { display:flex; flex-direction:column; gap:0; }body.page-glossary .alpha-letter { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:22px; color:var(--navy); background:var(--offwhite); padding:4px 12px; border-left:3px solid var(--cyan); margin-bottom:4px; margin-top:8px; }body.page-glossary .alpha-letter:first-child { margin-top:0; }body.page-glossary /* Term rows */
  .term-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 20px; }body.page-glossary .term-row { display:flex; flex-direction:column; padding:5px 0; border-bottom:1px solid var(--border); }body.page-glossary .term-row:last-child { border-bottom:none; }body.page-glossary .term-word { font-weight:500; font-size:10.5px; color:var(--navy); }body.page-glossary .term-def { font-size:10px; font-weight:300; line-height:1.55; color:var(--text); margin-top:1px; }body.page-glossary .term-chapter { font-size:8.5px; color:var(--muted); margin-top:2px; }body.page-glossary .doc-footer { padding:10px 28px; border-top:1px solid var(--border); display:flex; justify-content:space-between; align-items:center; }body.page-glossary .footer-left,
body.page-glossary .footer-center,
body.page-glossary .footer-right { font-size:8.5px; color:var(--muted); letter-spacing:0.05em; }body.page-glossary .footer-center { text-align:center; }body.page-glossary .footer-right { text-align:right; }@media print {body.page-glossary { background:white; padding:0; gap:0; }body.page-glossary .page { page-break-after:always; height:297mm; }}

/* =========================================================
   index.html  (body.page-index)
   ========================================================= */

*,
body.page-index *::before,
body.page-index *::after { box-sizing: border-box; margin: 0; padding: 0; }:root { --navy:#0B1628; --navy2:#132040; --cyan:#00D8C8; --white:#FFFFFF; --offwhite:#F4F7FB; --border:#E2E8F0; --text:#1A2B3C; --muted:#6B839A; --accent:#FF5733; }body.page-index {
    font-family: 'DM Sans', sans-serif;
    background: #0d1220;
    color: var(--text);
    min-height: 100vh;
  }body.page-index /* Hero */
  .hero {
    background: var(--navy);
    padding: 48px 60px 40px;
    position: relative;
    overflow: hidden;
  }body.page-index .hero::before {
    content: '';
    position: absolute;
    right: -60px; top: -60px;
    width: 320px; height: 320px;
    border-radius: 50%;
    background: rgba(0,216,200,0.05);
  }body.page-index .hero-logo {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 900; font-size: 28px;
    color: var(--cyan); letter-spacing: 0.06em;
    margin-bottom: 4px;
  }body.page-index .hero-tagline {
    font-size: 10px; font-weight: 400;
    letter-spacing: 0.22em; text-transform: uppercase;
    color: rgba(255,255,255,0.35);
    margin-bottom: 28px;
  }body.page-index .hero-title {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800; font-size: 46px;
    color: var(--white); line-height: 1;
    text-transform: uppercase;
    max-width: 700px;
  }body.page-index .hero-title span { color: var(--cyan); }body.page-index .hero-sub {
    font-size: 14px; font-weight: 300;
    color: rgba(255,255,255,0.6);
    margin-top: 14px; max-width: 580px;
    line-height: 1.65;
  }body.page-index /* Stats bar */
  .stats-bar {
    background: var(--navy2);
    border-top: 1px solid rgba(255,255,255,0.06);
    padding: 16px 60px;
    display: flex; gap: 48px;
  }body.page-index .stat { display: flex; flex-direction: column; gap: 2px; }body.page-index .stat-num {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 900; font-size: 24px; color: var(--cyan);
  }body.page-index .stat-label { font-size: 9.5px; color: rgba(255,255,255,0.4); letter-spacing: 0.12em; text-transform: uppercase; }body.page-index /* Main content */
  .main { padding: 40px 60px; max-width: 1100px; }body.page-index /* Supplementary resources */
  .supp-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-bottom: 36px;
  }body.page-index .supp-card {
    background: var(--navy);
    border-radius: 10px;
    padding: 18px 20px;
    text-decoration: none;
    display: flex; flex-direction: column; gap: 6px;
    border: 1px solid rgba(255,255,255,0.06);
    transition: border-color 0.15s;
  }body.page-index .supp-card:hover { border-color: var(--cyan); }body.page-index .supp-card-icon { font-size: 22px; }body.page-index .supp-card-title {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800; font-size: 15px;
    text-transform: uppercase; color: var(--white);
    letter-spacing: 0.04em;
  }body.page-index .supp-card-desc { font-size: 10.5px; font-weight: 300; color: rgba(255,255,255,0.5); line-height: 1.5; }body.page-index .supp-card.red { border-top: 3px solid var(--accent); }body.page-index .supp-card.cyan { border-top: 3px solid var(--cyan); }body.page-index /* Section label */
  .section-label {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800; font-size: 13px;
    text-transform: uppercase; letter-spacing: 0.18em;
    color: var(--cyan);
    margin-bottom: 14px;
  }body.page-index /* Chapter grid */
  .chapter-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
  }body.page-index .chapter-card {
    background: var(--white);
    border-radius: 10px;
    overflow: hidden;
    text-decoration: none;
    display: flex; flex-direction: column;
    border: 1px solid var(--border);
    transition: box-shadow 0.15s, transform 0.1s;
  }body.page-index .chapter-card:hover {
    box-shadow: 0 4px 24px rgba(0,0,0,0.18);
    transform: translateY(-2px);
  }body.page-index .chapter-card-top {
    background: var(--navy);
    padding: 12px 16px;
    display: flex; align-items: center; justify-content: space-between;
  }body.page-index .chapter-badge {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 900; font-size: 22px;
    color: var(--cyan); line-height: 1;
  }body.page-index .chapter-num-label {
    font-size: 8.5px; font-weight: 500;
    letter-spacing: 0.16em; text-transform: uppercase;
    color: rgba(255,255,255,0.35);
  }body.page-index .new-badge {
    background: var(--accent);
    color: var(--white);
    font-size: 8px; font-weight: 700;
    letter-spacing: 0.12em; text-transform: uppercase;
    padding: 2px 7px; border-radius: 3px;
  }body.page-index .chapter-card-body {
    padding: 12px 16px;
    flex: 1;
    display: flex; flex-direction: column; gap: 4px;
  }body.page-index .chapter-title {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800; font-size: 15px;
    text-transform: uppercase; color: var(--navy);
    line-height: 1.1;
  }body.page-index .chapter-desc {
    font-size: 10px; font-weight: 300;
    line-height: 1.55; color: var(--muted);
  }body.page-index .chapter-card-foot {
    padding: 8px 16px;
    border-top: 1px solid var(--border);
    font-size: 9px; color: var(--muted);
    letter-spacing: 0.06em;
    display: flex; align-items: center; gap: 6px;
  }body.page-index .pages-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--cyan); }body.page-index footer {
    padding: 24px 60px;
    border-top: 1px solid rgba(255,255,255,0.06);
    display: flex; justify-content: space-between; align-items: center;
  }body.page-index .footer-copy { font-size: 9.5px; color: rgba(255,255,255,0.25); letter-spacing: 0.08em; }

/* =========================================================
   intro.html  (body.page-intro)
   ========================================================= */

*,
body.page-intro *::before,
body.page-intro *::after { box-sizing: border-box; margin: 0; padding: 0; }:root { --navy:#0B1628; --navy2:#132040; --cyan:#00D8C8; --white:#FFFFFF; --offwhite:#F4F7FB; --border:#E2E8F0; --text:#1A2B3C; --muted:#6B839A; --accent:#FF5733; }body.page-intro { font-family:'DM Sans',sans-serif; background:#1a1a2e; display:flex; flex-direction:column; align-items:center; padding:40px 20px; gap:40px; }body.page-intro .page { width:210mm; height:297mm; background:var(--white); color:var(--text); display:grid; grid-template-rows:auto 1fr auto; position:relative; overflow:hidden; }body.page-intro /* Hero header */
  .hero-header { background:var(--navy); padding:40px 36px 32px; position:relative; overflow:hidden; }body.page-intro .hero-header::after { content:''; position:absolute; right:-20px; top:-20px; width:180px; height:180px; border-radius:50%; background:rgba(0,216,200,0.06); }body.page-intro .hero-logo { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:32px; color:var(--cyan); letter-spacing:0.06em; margin-bottom:4px; }body.page-intro .hero-subtitle { font-size:10px; font-weight:400; letter-spacing:0.2em; text-transform:uppercase; color:rgba(255,255,255,0.45); margin-bottom:20px; }body.page-intro .hero-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:36px; color:var(--white); text-transform:uppercase; line-height:1.05; }body.page-intro .hero-title span { color:var(--cyan); }body.page-intro .doc-body { padding:28px 36px; display:flex; flex-direction:column; gap:18px; }body.page-intro .lead { font-size:12.5px; font-weight:300; line-height:1.75; color:var(--text); border-left:3px solid var(--cyan); padding-left:14px; }body.page-intro .body-text { font-size:11.5px; font-weight:400; line-height:1.75; color:var(--text); }body.page-intro .section-heading { display:flex; align-items:center; gap:10px; }body.page-intro .section-heading-num { font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:11px; letter-spacing:0.16em; color:var(--cyan); background:var(--navy); padding:3px 9px; border-radius:3px; }body.page-intro .section-heading-label { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:17px; text-transform:uppercase; color:var(--navy); }body.page-intro .section-heading-line { flex:1; height:1px; background:var(--border); }body.page-intro /* How-to cards */
  .how-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }body.page-intro .how-card { border:1px solid var(--border); border-radius:8px; padding:12px 16px; display:flex; flex-direction:column; gap:6px; }body.page-intro .how-num { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:26px; color:var(--cyan); line-height:1; }body.page-intro .how-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:14px; text-transform:uppercase; color:var(--navy); }body.page-intro .how-text { font-size:10.5px; font-weight:300; line-height:1.55; color:var(--text); }body.page-intro /* Age band table */
  .age-table { width:100%; border-collapse:collapse; font-size:10.5px; }body.page-intro .age-table thead tr { background:var(--navy); }body.page-intro .age-table thead th { padding:7px 12px; text-align:left; font-weight:500; font-size:9px; letter-spacing:0.1em; text-transform:uppercase; color:var(--white); }body.page-intro .age-table thead th:first-child { border-radius:6px 0 0 0; }body.page-intro .age-table thead th:last-child { border-radius:0 6px 0 0; }body.page-intro .age-table tbody tr:nth-child(odd) { background:var(--offwhite); }body.page-intro .age-table tbody tr:nth-child(even) { background:var(--white); }body.page-intro .age-table tbody td { padding:7px 12px; border-bottom:1px solid var(--border); line-height:1.45; vertical-align:top; }body.page-intro .age-table tbody tr:last-child td { border-bottom:none; }body.page-intro .age-badge { display:inline-block; font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:11px; padding:2px 9px; border-radius:4px; background:var(--navy); color:var(--cyan); white-space:nowrap; }body.page-intro .callout { background:var(--navy); border-radius:8px; padding:14px 18px; color:var(--white); display:flex; flex-direction:column; gap:6px; }body.page-intro .callout.info { background:#EDF7F5; border:1px solid #A0DDD8; color:var(--text); }body.page-intro .callout-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:14px; text-transform:uppercase; letter-spacing:0.06em; }body.page-intro .callout .callout-title { color:var(--cyan); }body.page-intro .callout.info .callout-title { color:#0B7C6E; }body.page-intro .callout-body { font-size:10.5px; line-height:1.6; }body.page-intro .doc-footer { padding:10px 28px; border-top:1px solid var(--border); display:flex; justify-content:space-between; align-items:center; }body.page-intro .footer-left,
body.page-intro .footer-center,
body.page-intro .footer-right { font-size:8.5px; color:var(--muted); letter-spacing:0.05em; }body.page-intro .footer-center { text-align:center; }body.page-intro .footer-right { text-align:right; }@media print {body.page-intro { background:white; padding:0; gap:0; }body.page-intro .page { page-break-after:always; height:297mm; }}

/* =========================================================
   quickstart.html  (body.page-quickstart)
   ========================================================= */

*,
body.page-quickstart *::before,
body.page-quickstart *::after { box-sizing: border-box; margin: 0; padding: 0; }:root { --navy:#0B1628; --cyan:#00D8C8; --white:#FFFFFF; --offwhite:#F4F7FB; --border:#E2E8F0; --text:#1A2B3C; --muted:#6B839A; --accent:#FF5733; }body.page-quickstart { font-family:'DM Sans',sans-serif; background:#1a1a2e; display:flex; flex-direction:column; align-items:center; padding:40px 20px; gap:40px; }body.page-quickstart .page { width:210mm; height:297mm; background:var(--white); color:var(--text); display:grid; grid-template-rows:auto 1fr auto; overflow:hidden; }body.page-quickstart /* Hero */
  .hero { background:var(--navy); padding:28px 28px 20px; display:flex; flex-direction:column; gap:6px; }body.page-quickstart .hero-eyebrow { font-size:9px; letter-spacing:0.22em; text-transform:uppercase; color:var(--cyan); font-weight:500; }body.page-quickstart .hero-title { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:36px; color:var(--white); text-transform:uppercase; line-height:1; }body.page-quickstart .hero-sub { font-size:11.5px; font-weight:300; color:rgba(255,255,255,0.65); line-height:1.6; margin-top:4px; }body.page-quickstart .hero-time { display:inline-block; background:rgba(0,216,200,0.15); border:1px solid rgba(0,216,200,0.3); color:var(--cyan); font-size:10px; font-weight:500; padding:4px 12px; border-radius:20px; margin-top:4px; }body.page-quickstart .doc-body { padding:22px 28px; display:flex; flex-direction:column; gap:14px; }body.page-quickstart /* Big action cards */
  .action-list { display:flex; flex-direction:column; gap:10px; }body.page-quickstart .action-item { display:flex; gap:0; border:1px solid var(--border); border-radius:10px; overflow:hidden; }body.page-quickstart .action-num { background:var(--navy); padding:0 18px; display:flex; align-items:center; justify-content:center; min-width:64px; }body.page-quickstart .action-num-text { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:32px; color:var(--cyan); line-height:1; }body.page-quickstart .action-content { padding:13px 16px; flex:1; display:flex; flex-direction:column; gap:4px; }body.page-quickstart .action-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:16px; text-transform:uppercase; color:var(--navy); line-height:1.1; }body.page-quickstart .action-desc { font-size:10.5px; line-height:1.6; color:var(--text); }body.page-quickstart .action-chapter { font-size:9px; font-weight:500; letter-spacing:0.1em; text-transform:uppercase; color:var(--cyan); margin-top:2px; }body.page-quickstart /* Bottom callout */
  .callout { background:var(--navy); border-radius:8px; padding:14px 18px; color:var(--white); display:flex; flex-direction:column; gap:6px; }body.page-quickstart .callout-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:14px; text-transform:uppercase; letter-spacing:0.06em; color:var(--cyan); }body.page-quickstart .callout-body { font-size:10.5px; line-height:1.6; color:rgba(255,255,255,0.75); }body.page-quickstart .doc-footer { padding:10px 28px; border-top:1px solid var(--border); display:flex; justify-content:space-between; align-items:center; }body.page-quickstart .footer-left,
body.page-quickstart .footer-center,
body.page-quickstart .footer-right { font-size:8.5px; color:var(--muted); letter-spacing:0.05em; }body.page-quickstart .footer-center { text-align:center; }body.page-quickstart .footer-right { text-align:right; }@media print {body.page-quickstart { background:white; padding:0; gap:0; }body.page-quickstart .page { page-break-after:always; height:297mm; }}

/* =========================================================
   resources.html  (body.page-resources)
   ========================================================= */

*,
body.page-resources *::before,
body.page-resources *::after { box-sizing: border-box; margin: 0; padding: 0; }:root { --navy:#0B1628; --cyan:#00D8C8; --white:#FFFFFF; --offwhite:#F4F7FB; --border:#E2E8F0; --text:#1A2B3C; --muted:#6B839A; --accent:#FF5733; }body.page-resources { font-family:'DM Sans',sans-serif; background:#1a1a2e; display:flex; flex-direction:column; align-items:center; padding:40px 20px; gap:40px; }body.page-resources .page { width:210mm; height:297mm; background:var(--white); color:var(--text); display:grid; grid-template-rows:auto 1fr auto; overflow:hidden; }body.page-resources .doc-header { display:flex; align-items:stretch; border-bottom:3px solid var(--navy); }body.page-resources .header-brand { background:var(--navy); padding:14px 24px; display:flex; flex-direction:column; justify-content:center; gap:2px; min-width:140px; }body.page-resources .header-logo { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:20px; color:var(--cyan); letter-spacing:0.04em; }body.page-resources .header-tagline { font-size:9px; font-weight:400; letter-spacing:0.14em; text-transform:uppercase; color:rgba(255,255,255,0.4); }body.page-resources .header-meta { flex:1; padding:12px 24px; display:flex; flex-direction:column; justify-content:center; gap:3px; }body.page-resources .doc-type { font-size:9px; font-weight:500; letter-spacing:0.2em; text-transform:uppercase; color:var(--cyan); }body.page-resources .doc-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:20px; color:var(--navy); line-height:1; text-transform:uppercase; }body.page-resources .header-right { padding:12px 24px; display:flex; flex-direction:column; justify-content:center; align-items:flex-end; gap:3px; border-left:1px solid var(--border); min-width:100px; }body.page-resources .header-chapter { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:16px; color:var(--navy); line-height:1; }body.page-resources .header-date { font-size:9.5px; color:var(--muted); }body.page-resources .doc-body { padding:20px 28px; display:flex; flex-direction:column; gap:14px; }body.page-resources .section-heading { display:flex; align-items:center; gap:10px; }body.page-resources .section-heading-label { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:15px; text-transform:uppercase; color:var(--navy); }body.page-resources .section-heading-line { flex:1; height:1px; background:var(--border); }body.page-resources .section-heading-tag { font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:9px; letter-spacing:0.16em; color:var(--cyan); background:var(--navy); padding:2px 7px; border-radius:3px; }body.page-resources /* Resource entry */
  .resource-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }body.page-resources .resource-card { border:1px solid var(--border); border-radius:6px; padding:9px 12px; display:flex; flex-direction:column; gap:3px; }body.page-resources .resource-name { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:13px; text-transform:uppercase; color:var(--navy); }body.page-resources .resource-url { font-family:monospace; font-size:9.5px; color:var(--cyan); }body.page-resources .resource-desc { font-size:9.5px; font-weight:300; color:var(--text); line-height:1.5; }body.page-resources .resource-phone { font-size:10px; font-weight:500; color:var(--accent); }body.page-resources .resource-chapter { font-size:8.5px; font-weight:400; color:var(--muted); }body.page-resources .doc-footer { padding:10px 28px; border-top:1px solid var(--border); display:flex; justify-content:space-between; align-items:center; }body.page-resources .footer-left,
body.page-resources .footer-center,
body.page-resources .footer-right { font-size:8.5px; color:var(--muted); letter-spacing:0.05em; }body.page-resources .footer-center { text-align:center; }body.page-resources .footer-right { text-align:right; }@media print {body.page-resources { background:white; padding:0; gap:0; }body.page-resources .page { page-break-after:always; height:297mm; }}

/* =========================================================
   toolkit.html  (body.page-toolkit)
   ========================================================= */

*,
body.page-toolkit *::before,
body.page-toolkit *::after { box-sizing: border-box; margin: 0; padding: 0; }:root { --navy:#0B1628; --cyan:#00D8C8; --white:#FFFFFF; --offwhite:#F4F7FB; --border:#E2E8F0; --text:#1A2B3C; --muted:#6B839A; --accent:#FF5733; }body.page-toolkit { font-family:'DM Sans',sans-serif; background:#1a1a2e; display:flex; flex-direction:column; align-items:center; padding:40px 20px; gap:40px; }body.page-toolkit .page { width:210mm; height:297mm; background:var(--white); color:var(--text); display:grid; grid-template-rows:auto 1fr auto; position:relative; overflow:hidden; }body.page-toolkit /* Hero header */
  .hero { background:var(--navy); padding:24px 28px; display:flex; flex-direction:column; gap:8px; }body.page-toolkit .hero-eyebrow { font-size:9px; font-weight:500; letter-spacing:0.22em; text-transform:uppercase; color:var(--cyan); }body.page-toolkit .hero-title { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:30px; color:var(--white); text-transform:uppercase; line-height:1; }body.page-toolkit .hero-subtitle { font-size:11px; font-weight:300; color:rgba(255,255,255,0.6); line-height:1.6; max-width:70%; }body.page-toolkit .print-badge { display:inline-block; background:var(--accent); color:var(--white); font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:10px; text-transform:uppercase; letter-spacing:0.1em; padding:3px 10px; border-radius:3px; }body.page-toolkit .doc-body { padding:20px 28px; display:flex; flex-direction:column; gap:18px; }body.page-toolkit .section-heading { display:flex; align-items:center; gap:10px; }body.page-toolkit .section-heading-num { font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:11px; letter-spacing:0.16em; color:var(--cyan); background:var(--navy); padding:3px 9px; border-radius:3px; }body.page-toolkit .section-heading-label { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:17px; text-transform:uppercase; color:var(--navy); }body.page-toolkit .section-heading-line { flex:1; height:1px; background:var(--border); }body.page-toolkit /* Panic button grid */
  .panic-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }body.page-toolkit .panic-card { border:1px solid var(--border); border-radius:8px; overflow:hidden; }body.page-toolkit .panic-card-header { background:var(--navy); padding:8px 12px; display:flex; justify-content:space-between; align-items:center; }body.page-toolkit .panic-card-scenario { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:12px; text-transform:uppercase; color:var(--white); }body.page-toolkit .panic-card-body { padding:9px 12px; display:flex; flex-direction:column; gap:4px; }body.page-toolkit .panic-link { font-size:10px; font-weight:500; color:var(--navy); line-height:1.5; }body.page-toolkit .panic-link span { color:var(--muted); font-weight:300; }body.page-toolkit .panic-url { font-size:9.5px; color:var(--cyan); font-weight:500; font-family:monospace; }body.page-toolkit .panic-phone { font-size:10px; font-weight:500; color:var(--accent); }body.page-toolkit /* 24-hour rule template */
  .rule-box { border:2px solid var(--navy); border-radius:8px; overflow:hidden; }body.page-toolkit .rule-box-header { background:var(--navy); padding:10px 18px; display:flex; justify-content:space-between; align-items:center; }body.page-toolkit .rule-box-title { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:16px; text-transform:uppercase; color:var(--cyan); }body.page-toolkit .rule-box-subtitle { font-size:10px; color:rgba(255,255,255,0.6); }body.page-toolkit .rule-box-body { padding:12px 18px; display:flex; flex-direction:column; gap:8px; }body.page-toolkit .rule-step { display:flex; gap:12px; align-items:flex-start; }body.page-toolkit .rule-step-num { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:18px; color:var(--cyan); background:var(--navy); padding:2px 8px; border-radius:4px; line-height:1.1; flex-shrink:0; }body.page-toolkit .rule-step-text { font-size:10.5px; line-height:1.55; color:var(--text); }body.page-toolkit .rule-step-text strong { color:var(--navy); }body.page-toolkit /* Platform report links table */
  .report-table { width:100%; border-collapse:collapse; font-size:10.5px; }body.page-toolkit .report-table thead tr { background:var(--navy); }body.page-toolkit .report-table thead th { padding:6px 10px; text-align:left; font-weight:500; font-size:9px; letter-spacing:0.1em; text-transform:uppercase; color:var(--white); }body.page-toolkit .report-table thead th:first-child { border-radius:6px 0 0 0; }body.page-toolkit .report-table thead th:last-child { border-radius:0 6px 0 0; }body.page-toolkit .report-table tbody tr:nth-child(odd) { background:var(--offwhite); }body.page-toolkit .report-table tbody tr:nth-child(even) { background:var(--white); }body.page-toolkit .report-table tbody td { padding:6px 10px; border-bottom:1px solid var(--border); line-height:1.45; vertical-align:top; }body.page-toolkit .report-table tbody tr:last-child td { border-bottom:none; }body.page-toolkit .url { font-family:monospace; font-size:9.5px; color:var(--cyan); }body.page-toolkit .doc-footer { padding:10px 28px; border-top:1px solid var(--border); display:flex; justify-content:space-between; align-items:center; }body.page-toolkit .footer-left,
body.page-toolkit .footer-center,
body.page-toolkit .footer-right { font-size:8.5px; color:var(--muted); letter-spacing:0.05em; }body.page-toolkit .footer-center { text-align:center; }body.page-toolkit .footer-right { text-align:right; }@media print {body.page-toolkit { background:white; padding:0; gap:0; }body.page-toolkit .page { page-break-after:always; height:297mm; }}


/* =========================================================
   Shared filler blocks — Kid's Corner & Scenario Challenge
   Used on every chapter page; not chapter-scoped.
   ========================================================= */
.kids-corner { border:2px solid var(--navy); border-radius:10px; overflow:hidden; background:#FFFBEB; }
.kids-corner-header { background:var(--navy); padding:10px 16px; display:flex; justify-content:space-between; align-items:center; gap:10px; }
.kids-corner-tag { font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:9px; letter-spacing:0.18em; color:var(--cyan); text-transform:uppercase; }
.kids-corner-title { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:15px; color:var(--white); text-transform:uppercase; letter-spacing:0.04em; text-align:right; }
.kids-corner-steps { padding:12px 16px; display:flex; gap:12px; }
.kids-corner-step { flex:1; display:flex; gap:8px; align-items:flex-start; }
.kc-num { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:20px; color:var(--cyan); background:var(--navy); padding:1px 9px; border-radius:4px; line-height:1.1; flex-shrink:0; }
.kc-text { font-size:10.5px; line-height:1.5; color:var(--text); font-weight:500; }
.kc-text strong { color:var(--navy); font-weight:700; }
.kids-corner-foot { padding:7px 16px 10px; font-size:9.5px; color:var(--muted); font-style:italic; border-top:1px dashed var(--border); }

.scenario { border:1px solid var(--border); border-radius:10px; overflow:hidden; background:var(--white); }
.scenario-header { background:var(--offwhite); padding:9px 16px; border-bottom:1px solid var(--border); display:flex; flex-direction:column; gap:2px; }
.scenario-tag { font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:9px; letter-spacing:0.18em; color:var(--accent); text-transform:uppercase; }
.scenario-title { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:14px; color:var(--navy); text-transform:uppercase; letter-spacing:0.03em; }
.scenario-chat { padding:12px 16px; display:flex; flex-direction:column; gap:6px; background:#F9FBFD; }
.chat-bubble { font-size:10.5px; line-height:1.5; padding:7px 11px; border-radius:10px; max-width:82%; }
.chat-them { background:#ECEFF4; color:var(--text); align-self:flex-start; border-bottom-left-radius:2px; }
.chat-me { background:var(--navy); color:var(--white); align-self:flex-end; border-bottom-right-radius:2px; }
.chat-name { font-weight:700; margin-right:4px; }
.chat-them .chat-name { color:var(--accent); }
.chat-me .chat-name { color:var(--cyan); }
.scenario-question { padding:8px 16px; font-size:10.5px; font-weight:600; color:var(--navy); background:var(--offwhite); border-top:1px solid var(--border); }
.scenario-answer { padding:8px 16px 10px; font-size:10px; line-height:1.55; color:var(--text); border-top:1px solid var(--border); background:#FFFDF5; }
.scenario-answer strong { color:var(--accent); }
