/* Beyond Seven Figures — 6x9in KDP book interior. 7FA design system. */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,400;0,500;0,600;0,700;1,400;1,600&display=swap');

@font-face { font-family:'Barlow'; src:url('assets/fonts/Barlow-Regular.ttf') format('truetype'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'Barlow'; src:url('assets/fonts/Barlow-Bold.ttf') format('truetype'); font-weight:700; font-style:normal; font-display:swap; }
@font-face { font-family:'Barlow'; src:url('assets/fonts/Barlow-Black.ttf') format('truetype'); font-weight:900; font-style:normal; font-display:swap; }
@font-face { font-family:'Barlow'; src:url('assets/fonts/Barlow-BlackItalic.ttf') format('truetype'); font-weight:900; font-style:italic; font-display:swap; }

:root {
  --red: #CF1F36;
  --ink: #0A0A0A;
  --charcoal: #32373C;
  --gray: #6B7177;
  --gray-light: #B9B9B4;
  --paper: #FFFFFF;
  --off-white: #EDEDEA;
  --hairline: rgba(10,10,10,.12);
}

/* ---------- Print geometry: KDP 6x9 paperback, 0.125in bleed, mirrored gutter ----------
   Page box = trim (6x9) + bleed on outer/top/bottom = 6.125 x 9.25.
   Inside (spine) margin 0.875in per KDP for 300-500pp; outside 0.65in + 0.125in bleed. */
@page {
  size: 6.125in 9.25in;
  margin: 0.875in 0.775in 0.925in 0.875in;
  @top-center {
    content: "THE CLIENT RETENTION HANDBOOK";
    font-family: 'Montserrat', sans-serif;
    font-size: 7pt;
    font-weight: 600;
    letter-spacing: 0.22em;
    color: #6B7177;
  }
  @bottom-center {
    content: counter(page);
    font-family: 'Montserrat', sans-serif;
    font-size: 8pt;
    font-weight: 500;
    color: #6B7177;
  }
}
/* Recto (odd, right-hand): gutter on the left, bleed on the right */
@page :right {
  margin: 0.875in 0.775in 0.925in 0.875in;
}
/* Verso (even, left-hand): gutter on the right, bleed on the left */
@page :left {
  margin: 0.875in 0.875in 0.925in 0.775in;
}
@page plain {
  margin: 0;
  @top-center { content: none; }
  @bottom-center { content: none; }
}
@page plain:left { margin: 0; }
@page plain:right { margin: 0; }

/* ---------- Base ---------- */
* { box-sizing: border-box; }
html { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
body {
  margin: 0;
  background: #fff;
  font-family: 'Montserrat', sans-serif;
  color: var(--ink);
}
a { color: var(--red); text-decoration: none; }
a:hover { color: #A81729; text-decoration: underline; }

/* Screen: one continuous 6in-wide sheet on a desk */
.sheet {
  width: 6in;
  margin: 40px auto;
  background: var(--paper);
  box-shadow: 0 2px 6px rgba(0,0,0,.28), 0 18px 48px rgba(0,0,0,.32);
}
.body-block { padding: 0.55in 0.65in; }

@media print {
  html, body { background: #fff !important; }
  .sheet { width: auto; margin: 0; box-shadow: none; background: #fff; }
  .body-block { padding: 0; }
  /* Plates fill the bleed page box; extra inset keeps content optically inside trim */
  .plate { width: 6.125in; height: 9.25in; }
  .plate.cover-art { width: 6.125in; height: 9.25in; }
  .chapter-plate, .part-plate, .title-page, .copyright-page, .cover-page, .half-title {
    padding-top: calc(0.9in + 0.125in);
    padding-bottom: calc(0.8in + 0.125in);
    padding-left: calc(0.65in + 0.0625in);
    padding-right: calc(0.65in + 0.0625in);
  }
}

/* ---------- Full-page plates (title, parts, chapter openers) ---------- */
.plate {
  page: plain;
  break-before: page;
  break-after: page;
  width: 6in;
  height: 9in;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  position: relative;
}
.plate.light {
  background: var(--paper);
}
.plate.dark {
  background: var(--paper);
  color: var(--ink);
}

/* Signature red accent bar */
.bar { width: 56px; height: 6px; background: var(--red); flex: none; }

/* ---------- Typography ---------- */
p {
  font-size: 10.5pt;
  line-height: 1.68;
  margin: 0 0 0.85em 0;
  text-wrap: pretty;
  orphans: 3; widows: 3;
}
p.standalone { font-weight: 600; }
ul {
  margin: 0.2em 0 1em 0;
  padding-left: 1.35em;
}
li {
  font-size: 10.5pt;
  line-height: 1.6;
  margin-bottom: 0.45em;
  text-wrap: pretty;
  orphans: 3; widows: 3;
}
li::marker { color: var(--red); }
strong { font-weight: 700; }

h3 {
  font-family: 'Barlow', sans-serif;
  font-weight: 900;
  font-size: 12pt;
  line-height: 1.15;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--ink);
  margin: 1.9em 0 0.65em 0;
  break-after: avoid;
  text-wrap: balance;
}
h3 + h3 { margin-top: 0.9em; }

/* Fill-in worksheet lines */
.fill { color: var(--charcoal); letter-spacing: 0.5px; }

/* ---------- Front matter ---------- */
.half-title { align-items: center; justify-content: center; text-align: center; }
.half-title .ht-word {
  font-family: 'Barlow', sans-serif; font-weight: 900; text-transform: uppercase;
  font-size: 22pt; line-height: 1.05; letter-spacing: 0.04em; color: var(--charcoal);
}

.title-page { padding: 0.9in 0.65in 0.7in; }
.title-page .tp-eyebrow {
  font-size: 8pt; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--gray); margin-bottom: 26px;
}
.title-page .tp-title {
  font-family: 'Barlow', sans-serif; font-weight: 900; text-transform: uppercase;
  font-size: 44pt; line-height: 0.98; color: var(--ink); margin: 18px 0 0;
}
.title-page .tp-title .red { color: var(--red); }
.title-page .tp-sub {
  font-size: 11pt; font-weight: 500; line-height: 1.5; color: var(--charcoal);
  margin-top: 22px; max-width: 4.1in;
}
.title-page .tp-authors {
  margin-top: auto;
  font-family: 'Barlow', sans-serif; font-weight: 900; text-transform: uppercase;
  font-size: 15pt; letter-spacing: 0.03em; color: var(--ink);
}
.title-page .tp-pub { margin-top: 16px; border-top: 1px solid var(--hairline); padding-top: 14px; }
.title-page .tp-pub img { height: 24px; display: block; }

.copyright-page { padding: 0 0.65in 0.7in; justify-content: flex-end; }
.copyright-page p { font-size: 8pt; line-height: 1.7; color: var(--charcoal); margin-bottom: 0.9em; }

/* ---------- Contents ---------- */
.toc-title {
  font-family: 'Barlow', sans-serif; font-weight: 900; text-transform: uppercase;
  font-size: 24pt; margin: 0 0 6px;
}
.toc { margin-top: 26px; }
.toc .toc-part {
  font-size: 8pt; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--red); margin: 20px 0 8px;
}
.toc .toc-row {
  display: flex; gap: 12px; align-items: baseline;
  padding: 5px 0; border-bottom: 1px solid var(--hairline);
}
.toc .toc-num {
  font-family: 'Barlow', sans-serif; font-weight: 900; font-size: 10.5pt;
  color: var(--red); min-width: 18px; text-align: right;
}
.toc .toc-label { font-size: 10pt; font-weight: 500; color: var(--ink); }
.toc .toc-row.minor .toc-label { color: var(--charcoal); }

/* ---------- Part plates ---------- */
.part-plate { padding: 0.9in 0.65in; }
.part-plate .part-eyebrow {
  font-size: 9pt; font-weight: 600; letter-spacing: 0.26em; text-transform: uppercase;
  color: var(--gray);
}
.part-plate .part-num {
  font-family: 'Barlow', sans-serif; font-weight: 900;
  font-size: 130pt; line-height: 0.9; color: var(--red);
  margin: 30px 0 26px;
}
.part-plate .part-title {
  font-family: 'Barlow', sans-serif; font-weight: 900; text-transform: uppercase;
  font-size: 30pt; line-height: 1.0; color: var(--ink); margin: 26px 0 0;
}
.part-plate .part-chapters { margin-top: auto; }
.part-plate .part-chapters .pc-row {
  display: flex; gap: 10px; align-items: baseline; padding: 4px 0;
  font-size: 9pt; font-weight: 500; color: var(--charcoal);
}
.part-plate .part-chapters .pc-num {
  font-family: 'Barlow', sans-serif; font-weight: 900; color: var(--red); min-width: 14px;
}

/* ---------- Chapter openers ---------- */
.chapter-plate { padding: 0.9in 0.65in 0.8in; }
.chapter-plate .ch-eyebrow {
  font-size: 9pt; font-weight: 600; letter-spacing: 0.26em; text-transform: uppercase;
  color: var(--gray);
}
.chapter-plate .ch-num {
  font-family: 'Barlow', sans-serif; font-weight: 900;
  font-size: 150pt; line-height: 0.88; color: var(--red);
  margin: 26px 0 0;
}
.chapter-plate .ch-title {
  font-family: 'Barlow', sans-serif; font-weight: 900; text-transform: uppercase;
  font-size: 29pt; line-height: 1.0; color: var(--ink);
  margin: 30px 0 0;
}
.chapter-plate .bar { margin-top: 24px; }
.chapter-plate .ch-foot {
  margin-top: auto;
  font-size: 8pt; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--gray-light);
}
/* Unnumbered openers (foreword, introduction, closing) */
.chapter-plate.unnumbered .ch-title { margin-top: 26px; font-size: 33pt; }

/* ---------- Appendix openers (compact, same-page content) ---------- */
.appendix-start { break-before: page; }
.appendix-start .ap-eyebrow {
  font-size: 8.5pt; font-weight: 600; letter-spacing: 0.24em; text-transform: uppercase;
  color: var(--red);
}
.appendix-start .ap-title {
  font-family: 'Barlow', sans-serif; font-weight: 900; text-transform: uppercase;
  font-size: 20pt; line-height: 1.02; margin: 10px 0 0;
}
.appendix-start .bar { margin: 16px 0 26px; }

/* First paragraph after a chapter opener: no indent, slight lead-in */
.chapter-body > p:first-of-type { margin-top: 0; }

/* Keep worksheet blocks tidy in print */
.chapter-body { }


/* ---------- Dynamic interior devices ---------- */
/* Drop cap on chapter-opening paragraph */
p.opening::first-letter {
  font-family: 'Barlow', sans-serif;
  font-weight: 900;
  font-size: 43pt;
  line-height: 0.78;
  color: var(--red);
  float: left;
  padding: 6px 8px 0 0;
}

/* Key concept pull-quote (styled in place) */
.keyline {
  break-inside: avoid;
  margin: 1.7em 0.15in;
}
.keyline .bar { margin-bottom: 12px; }
.keyline p {
  font-family: 'Barlow', sans-serif;
  font-weight: 900;
  font-style: italic;
  font-size: 14.5pt;
  line-height: 1.25;
  color: var(--ink);
  margin: 0;
}

/* End-of-chapter action section */
.action {
  margin-top: 2.2em;
  border-top: 1px solid var(--hairline);
  padding-top: 1.4em;
}
.action .action-label {
  font-family: 'Barlow', sans-serif;
  font-weight: 900;
  text-transform: uppercase;
  font-size: 13pt;
  letter-spacing: 0.02em;
  color: var(--red);
  margin-bottom: 0.7em;
  break-after: avoid;
}

/* Case-study subheads */
h3.case { margin-top: 2.2em; }
h3.case .case-eyebrow {
  display: block;
  font-family: 'Montserrat', sans-serif;
  font-size: 7.5pt;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--red);
  margin-bottom: 5px;
}

/* Numbered subheads: red numeral */
h3 .hnum { color: var(--red); }


/* ---------- Figures / diagrams ---------- */
.diagram {
  break-inside: avoid;
  margin: 1.7em 0;
  border: 1px solid var(--hairline);
  padding: 16px 16px 14px;
  background: #fff;
}
.fig-head { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.fig-bar { width: 28px; height: 5px; background: var(--red); flex: none; }
.fig-label {
  font-family: 'Barlow', sans-serif; font-weight: 900; text-transform: uppercase;
  font-size: 10.5pt; letter-spacing: 0.03em; color: var(--ink);
}
.diagram figcaption {
  font-size: 7.5pt; line-height: 1.5; color: var(--gray);
  margin-top: 12px; border-top: 1px solid var(--hairline); padding-top: 8px;
}
/* numbered step list */
.fig-steps { display: grid; gap: 6px; }
.fs-row {
  display: flex; align-items: baseline; gap: 10px;
  border: 1px solid var(--hairline); padding: 7px 10px;
}
.fs-num {
  font-family: 'Barlow', sans-serif; font-weight: 900; font-size: 12pt;
  color: var(--red); min-width: 16px; flex: none;
}
.fs-text { font-family: 'Barlow', sans-serif; font-weight: 700; font-size: 9.5pt; text-transform: uppercase; letter-spacing: 0.02em; }
.fig-loop {
  margin-top: 8px; font-size: 8pt; font-weight: 600; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--red); text-align: center;
}
/* hub-and-spokes */
.fig-hub { display: flex; align-items: center; gap: 12px; }
.hub-chips { display: grid; gap: 6px; flex: 1; }
.hub-chip {
  border: 1px solid var(--hairline); padding: 6px 10px;
  font-family: 'Barlow', sans-serif; font-weight: 700; font-size: 9pt;
  text-transform: uppercase; letter-spacing: 0.02em;
}
.hub-arrows { color: var(--red); font-size: 12pt; line-height: 2.05; flex: none; }
.hub-center {
  flex: none; width: 1.05in; height: 1.05in; background: var(--ink); color: #fff;
  display: flex; align-items: center; justify-content: center; text-align: center;
  font-family: 'Barlow', sans-serif; font-weight: 900; font-size: 11pt;
  text-transform: uppercase; line-height: 1.1;
}
/* stack */
.fig-stack { display: grid; gap: 5px; }
.stack-row {
  display: flex; align-items: baseline; gap: 10px;
  background: var(--off-white); padding: 8px 12px;
  font-family: 'Barlow', sans-serif; font-weight: 700; font-size: 9.5pt;
  text-transform: uppercase; letter-spacing: 0.02em;
}
.stack-row:nth-child(1) { background: var(--ink); color: #fff; }
.stack-row:nth-child(1) .fs-num { color: var(--red); }
/* formula */
.fig-formula { display: grid; gap: 12px; }
.ff-row { display: flex; align-items: center; gap: 10px; font-size: 9.5pt; font-weight: 500; flex-wrap: wrap; }
.ff-term { font-family: 'Barlow', sans-serif; font-weight: 900; font-size: 10.5pt; text-transform: uppercase; }
.ff-op { font-family: 'Barlow', sans-serif; font-weight: 900; color: var(--red); font-size: 12pt; }
.ff-frac { display: inline-flex; flex-direction: column; align-items: center; gap: 3px; font-size: 8.5pt; }
.ff-line { width: 100%; height: 1.5px; background: var(--ink); }
.ff-example {
  border-top: 1px solid var(--hairline); padding-top: 10px;
  font-size: 9.5pt; font-weight: 500; color: var(--charcoal);
}
.ff-example strong { color: var(--red); font-weight: 700; }
/* 2x3 metric grid */
.fig-grid6 { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.g6 {
  border: 1px solid var(--hairline); padding: 9px 10px;
  font-family: 'Barlow', sans-serif; font-weight: 700; font-size: 9pt;
  text-transform: uppercase; letter-spacing: 0.02em; line-height: 1.25;
}
.g6 span {
  display: block; font-weight: 900; color: var(--red); font-size: 11pt; margin-bottom: 3px;
}
/* profit gauge */
.fig-gauge { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; }
.gz {
  padding: 9px 8px; text-align: center;
  font-size: 7.5pt; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase;
}
.gz b { display: block; font-family: 'Barlow', sans-serif; font-weight: 900; font-size: 11pt; letter-spacing: 0; margin-bottom: 2px; }
.z-red { background: var(--red); color: #fff; }
.z-caution { background: #B9B9B4; color: var(--ink); }
.z-stable { background: #6B7177; color: #fff; }
.z-healthy { background: var(--ink); color: #fff; }

/* ---------- Resource callout ---------- */
.resource {
  break-inside: avoid;
  margin: 1.8em 0 0.4em;
  border: 1px solid var(--hairline);
  border-top: 4px solid var(--red);
  padding: 14px 16px;
}
.res-label {
  font-family: 'Barlow', sans-serif; font-weight: 900; text-transform: uppercase;
  font-size: 10pt; letter-spacing: 0.03em; color: var(--red); margin-bottom: 6px;
}
.res-text { font-size: 9.5pt; line-height: 1.55; margin: 0; }
.res-text strong { color: var(--ink); }


/* ---------- Deck-derived devices ---------- */
/* CEO Question opener */
.ceoq {
  break-inside: avoid;
  margin: 0 0 1.6em 0;
  border: 1px solid var(--hairline);
  border-left: 4px solid var(--red);
  padding: 12px 14px;
}
.ceoq-label {
  display: block;
  font-family: 'Montserrat', sans-serif;
  font-size: 7.5pt; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--red); margin-bottom: 4px;
}
.ceoq-q {
  font-family: 'Barlow', sans-serif; font-weight: 900; font-style: italic;
  font-size: 12.5pt; line-height: 1.2; color: var(--ink);
}
/* Plateau chart */
.fig-plateau { width: 100%; height: auto; display: block; }
/* Hero vs Architect comparison */
.fig-vs { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.vs-col { border: 1px solid var(--hairline); padding: 10px 12px; }
.vs-col.accent { border-top: 4px solid var(--red); }
.vs-head {
  font-family: 'Barlow', sans-serif; font-weight: 900; text-transform: uppercase;
  font-size: 10pt; line-height: 1.1; margin-bottom: 8px;
}
.vs-head span {
  display: block; font-family: 'Montserrat', sans-serif; font-weight: 600;
  font-size: 6.5pt; letter-spacing: 0.16em; color: var(--gray); margin-top: 3px;
}
.vs-list { margin: 0; padding-left: 1.05em; }
.vs-list li { font-size: 8pt; line-height: 1.45; margin-bottom: 4px; }
/* Architect week */
.fig-week { display: grid; grid-template-columns: repeat(5, 1fr); gap: 4px; }
.wk {
  border: 1px solid var(--hairline); padding: 8px 6px; text-align: center;
  font-family: 'Barlow', sans-serif; font-weight: 700; font-size: 7.5pt;
  text-transform: uppercase; letter-spacing: 0.02em; line-height: 1.25;
}
.wk b {
  display: block; font-weight: 900; color: var(--red);
  font-size: 9.5pt; margin-bottom: 4px;
}
/* Agency A vs B */
.fig-ab { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.ab-col { border: 1px solid var(--hairline); padding: 10px 12px; }
.ab-col.accent { border-top: 4px solid var(--red); }
.ab-name {
  font-family: 'Barlow', sans-serif; font-weight: 900; text-transform: uppercase;
  font-size: 10.5pt; margin-bottom: 8px;
}
.ab-row {
  display: flex; justify-content: space-between; align-items: baseline;
  border-top: 1px solid var(--hairline); padding: 6px 0;
  font-size: 8pt; font-weight: 500; color: var(--charcoal);
}
.ab-row b { font-family: 'Barlow', sans-serif; font-weight: 900; font-size: 12pt; color: var(--ink); }
.ab-row b.red { color: var(--red); }
/* Leaking bucket */
.fig-leaks { text-align: center; }
.leak-cap, .leak-out {
  font-family: 'Barlow', sans-serif; font-weight: 900; text-transform: uppercase;
  font-size: 9.5pt; letter-spacing: 0.04em; padding: 6px 0;
}
.leak-cap { color: var(--ink); }
.leak-out { color: var(--red); }
.leak-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; margin: 4px 0; }
.leak {
  background: var(--off-white); border: 1px solid var(--hairline); padding: 7px 5px;
  font-family: 'Montserrat', sans-serif; font-size: 7pt; font-weight: 600;
  letter-spacing: 0.06em; text-transform: uppercase; color: var(--charcoal);
}


/* ---------- BOOK TYPESETTING refinements ---------- */
/* Block-style paragraphs: flush left, ragged right, consistent small
   paragraph spacing. Suits this manuscript's short declarative paragraphs
   far better than indent-style setting (which reads as broken tabbing). */
.chapter-body:not(.appendix-start) p {
  text-align: left;
  hyphens: manual;
  margin: 0 0 0.7em 0;
  text-indent: 0;
}
/* keep breathing room around display elements */
.chapter-body:not(.appendix-start) ul { margin-top: 0.2em; }
.chapter-body:not(.appendix-start) h3 { margin-top: 1.9em; }
.chapter-body:not(.appendix-start) p.fill { text-indent: 0; margin: 0.5em 0; }
.chapter-body:not(.appendix-start) p.standalone { text-indent: 0; margin: 1em 0; }

/* Small-caps lead-in on the opening line of each chapter */
.lead-in {
  font-variant-caps: all-small-caps;
  letter-spacing: 0.07em;
  font-weight: 600;
}

/* Clickable Contents entries (PDF navigation) */
a.toc-row { color: inherit; text-decoration: none; }
a.toc-row:hover { color: var(--red); text-decoration: none; }
a.toc-row:hover .toc-label { color: var(--red); }


/* ---------- Front-matter break-up devices ---------- */
.mantra {
  break-inside: avoid;
  margin: 1.8em 0;
  padding: 1.2em 0;
  border-top: 1px solid var(--hairline);
  border-bottom: 1px solid var(--hairline);
  text-align: center;
}
.mantra span {
  display: block;
  font-family: 'Barlow', sans-serif;
  font-weight: 900;
  text-transform: uppercase;
  font-size: 13pt;
  line-height: 1.45;
  color: var(--ink);
  letter-spacing: 0.02em;
}
.mantra span.red { color: var(--red); }
.mantra.small span { font-size: 11pt; }

.for-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 7px; }
.for-list li {
  position: relative;
  padding-left: 20px;
  font-size: 8.5pt;
  line-height: 1.5;
  font-weight: 500;
  color: var(--charcoal);
}
.for-list li::before {
  content: "";
  position: absolute; left: 0; top: 5px;
  width: 10px; height: 4px; background: var(--red);
}

.fig-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 6px; }
.fig-stats .stat:first-child { grid-column: 1 / -1; }
.stat {
  border: 1px solid var(--hairline);
  padding: 8px 10px;
  font-family: 'Montserrat', sans-serif;
  font-size: 7pt; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--gray);
}
.stat b {
  display: block;
  font-family: 'Barlow', sans-serif; font-weight: 900;
  font-size: 16pt; letter-spacing: 0; color: var(--red);
  margin-bottom: 2px;
}

.fig-cascade { display: grid; gap: 5px; }
.cas {
  display: flex; align-items: baseline; gap: 8px;
  border-bottom: 1px solid var(--hairline);
  padding: 5px 2px;
  font-family: 'Barlow', sans-serif; font-weight: 700;
  font-size: 9.5pt; text-transform: uppercase; letter-spacing: 0.02em;
}
.cas span:last-child { font-weight: 400; text-transform: none; font-family: 'Montserrat', sans-serif; font-size: 9pt; color: var(--charcoal); letter-spacing: 0; }
.cas i { font-style: normal; color: var(--red); font-weight: 900; }


/* ---------- Cover / title page ---------- */
.plate.dark.cover-page {
  background: #0E0F10;
  color: #fff;
  padding: 0.65in 0.6in 0.6in;
  position: relative;
  overflow: hidden;
}
.cover-page .cv-seven {
  position: absolute;
  right: -0.42in;
  top: 1.15in;
  font-family: 'Barlow', sans-serif;
  font-weight: 900;
  font-size: 340pt;
  line-height: 0.8;
  color: transparent;
  -webkit-text-stroke: 1.5px rgba(207,31,54,0.4);
  pointer-events: none;
}
.cover-page .cv-top { position: relative; }
.cover-page .cv-logo { height: 22px; display: block; }
.cover-page .cv-main { position: relative; margin-top: auto; }
.cover-page .cv-eyebrow {
  font-family: 'Montserrat', sans-serif;
  font-size: 8.5pt; font-weight: 600; letter-spacing: 0.26em; text-transform: uppercase;
  color: #B9B9B4; margin-bottom: 18px;
}
.cover-page .bar { margin-bottom: 22px; }
.cover-page .cv-title {
  font-family: 'Barlow', sans-serif; font-weight: 900; text-transform: uppercase;
  font-size: 55pt; line-height: 0.94; letter-spacing: 0.005em;
  color: #fff; margin: 0;
}
.cover-page .cv-title .red { color: var(--red); }
.cover-page .cv-sub {
  font-family: 'Montserrat', sans-serif;
  font-size: 10.5pt; font-weight: 400; line-height: 1.55;
  color: #B9B9B4; margin: 24px 0 0; max-width: 3.9in;
  text-indent: 0;
}
.cover-page .cv-sub strong { color: #fff; font-weight: 600; }
.cover-page .cv-foot {
  position: relative;
  margin-top: 0.55in;
  border-top: 1px solid rgba(255,255,255,0.18);
  padding-top: 16px;
}
.cover-page .cv-authors {
  font-family: 'Barlow', sans-serif; font-weight: 900; text-transform: uppercase;
  font-size: 15pt; letter-spacing: 0.03em; color: #fff;
}
.cover-page .cv-authors .amp { color: var(--red); }
.cover-page .cv-tag {
  font-family: 'Montserrat', sans-serif;
  font-size: 7.5pt; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase;
  color: #6B7177; margin-top: 6px;
}


/* ---------- WORKSHEET SYSTEM (appendices) ---------- */
.worksheet p { font-size: 9.5pt; }
.wk-step {
  font-family: 'Barlow', sans-serif; font-weight: 900; text-transform: uppercase;
  font-size: 11.5pt; color: var(--ink);
  border-top: 2px solid var(--ink);
  padding-top: 8px; margin: 1.8em 0 0.6em;
  break-after: avoid;
}
.wk-sub {
  font-family: 'Barlow', sans-serif; font-weight: 900; text-transform: uppercase;
  font-size: 10pt; color: var(--red);
  margin: 1.5em 0 0.5em;
  break-after: avoid;
}
/* checklist */
.cklist { display: grid; gap: 6px; margin: 0.6em 0 1em; }
.ck { display: flex; gap: 9px; align-items: flex-start; font-size: 9pt; line-height: 1.45; break-inside: avoid; }
.ck .ckbox {
  flex: none; width: 11px; height: 11px; margin-top: 2px;
  border: 1.5px solid var(--charcoal); background: #fff;
}
/* fill-in field rows */
.field {
  display: flex; align-items: baseline; gap: 8px;
  margin: 0.55em 0; font-size: 9pt; break-inside: avoid;
}
.field .f-label { flex: none; font-weight: 600; color: var(--charcoal); }
.field .f-suffix { flex: none; font-weight: 600; color: var(--gray); }
.wline {
  display: inline-block; flex: 1; min-width: 40px; height: 13px;
  border-bottom: 1px solid var(--charcoal);
  background: var(--off-white);
}
.wline.short { flex: 0 0 90px; }
.field.subtotal { margin-top: 1em; padding-top: 8px; border-top: 1px solid var(--hairline); }
.field.subtotal .f-label { font-family: 'Barlow', sans-serif; font-weight: 900; text-transform: uppercase; color: var(--ink); }
.field.subtotal.total { border-top: 2px solid var(--ink); }
.field.subtotal.total .f-label { color: var(--red); font-size: 11pt; }
/* assessment score rows */
.score-row {
  display: flex; align-items: flex-start; gap: 8px;
  padding: 6px 0; border-bottom: 1px solid var(--hairline);
  font-size: 8.5pt; line-height: 1.4; break-inside: avoid;
}
.score-row .sr-num { flex: none; min-width: 16px; font-family: 'Barlow', sans-serif; font-weight: 900; color: var(--red); font-size: 9.5pt; }
.score-row .sr-text { flex: 1; }
.score-row .sr-boxes { flex: none; display: flex; gap: 4px; }
.sbox {
  width: 15px; height: 15px; border: 1.5px solid var(--charcoal);
  display: flex; align-items: center; justify-content: center;
  font-size: 6.5pt; font-weight: 600; color: var(--gray-light);
}
/* worksheet tables */
.wtable-wrap { margin: 0.8em 0 1.2em; break-inside: auto; }
.wtable { width: 100%; border-collapse: collapse; font-size: 7.5pt; }
.wtable th {
  font-family: 'Barlow', sans-serif; font-weight: 900; text-transform: uppercase;
  font-size: 7pt; letter-spacing: 0.04em; text-align: left;
  background: var(--ink); color: #fff; padding: 5px 6px;
}
.wtable td {
  border: 1px solid var(--hairline);
  padding: 5px 6px; line-height: 1.3; color: var(--charcoal);
  min-width: 24px;
}
.wtable td b { color: var(--ink); font-weight: 700; }
.wtable tr { break-inside: avoid; }
.wtable-cap { font-size: 7.5pt; color: var(--gray); margin-top: 5px; }
/* seat / definition cards */
.seat-card {
  border: 1px solid var(--hairline);
  border-top: 4px solid var(--red);
  padding: 14px 16px 10px;
  margin: 1.2em 0;
  break-inside: avoid;
}
.seat-card .sc-label {
  font-family: 'Barlow', sans-serif; font-weight: 900; text-transform: uppercase;
  font-size: 10.5pt; color: var(--ink); margin-bottom: 2px;
}
.seat-card .sc-note { font-size: 7.5pt; color: var(--gray); margin-bottom: 10px; }
.fs-text2 { font-size: 9pt; font-weight: 500; }
/* Tools & Templates contents page */
.toc-note { font-size: 8.5pt; color: var(--charcoal); margin: 14px 0 6px; }
.tool-row {
  display: flex; gap: 12px; align-items: flex-start;
  padding: 9px 0; border-bottom: 1px solid var(--hairline);
  color: inherit; text-decoration: none;
}
.tool-row:hover { text-decoration: none; }
.tool-row:hover .tool-title { color: var(--red); }
.tool-letter {
  flex: none; width: 24px; height: 24px;
  background: var(--ink); color: #fff;
  font-family: 'Barlow', sans-serif; font-weight: 900; font-size: 11pt;
  display: flex; align-items: center; justify-content: center;
}
.tool-body { display: block; }
.tool-title { display: block; font-size: 10pt; font-weight: 600; color: var(--ink); }
.tool-desc { display: block; font-size: 8pt; color: var(--gray); margin-top: 2px; }
/* Your Next Action write-in */
.res-write { margin-top: 10px; }
.res-write .field { margin: 0.45em 0; }


/* org chart + example values */
.field .f-val { font-weight: 600; color: var(--ink); }
.field .f-val b { color: var(--ink); }
.field .f-val .red-val, .field .f-val b.red-val { color: var(--red); }
.org { display: grid; gap: 6px; margin: 0.8em 0 1.2em; }
.org-seat {
  border: 1px solid var(--hairline);
  padding: 8px 10px;
  font-size: 7.5pt; line-height: 1.4; color: var(--charcoal);
  break-inside: avoid;
}
.org-seat b {
  display: block;
  font-family: 'Barlow', sans-serif; font-weight: 900; text-transform: uppercase;
  font-size: 8.5pt; color: var(--ink); margin-bottom: 3px;
}
.org-seat.top { border-top: 4px solid var(--red); }
.org-seat.top b, .org-seat.top2 b { color: var(--ink); }
.org-seat.top2 { border-top: 4px solid var(--charcoal); }
.org-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.org-seat.wide { grid-column: 1 / -1; }


.wk-formula {
  font-family: 'Barlow', sans-serif; font-weight: 700;
  font-size: 9.5pt; letter-spacing: 0.01em;
  border: 1px solid var(--hairline); border-left: 4px solid var(--red);
  padding: 8px 12px; margin: 0.5em 0 0.9em;
  break-inside: avoid;
}


/* Deliberate closing statement (prevents stranded-sentence pages) */
.chapter-close {
  break-inside: avoid;
  margin: 2.2em 0 1.2em;
  text-align: center;
}
.chapter-close .bar { margin: 0 auto 16px; }
.chapter-close p,
.chapter-body:not(.appendix-start) .chapter-close p {
  font-family: 'Barlow', sans-serif;
  font-weight: 900;
  font-style: italic;
  font-size: 14pt;
  line-height: 1.3;
  color: var(--ink);
  text-align: center;
  text-indent: 0;
  max-width: 4in;
  margin: 0 auto;
}

/* Fuller Your Next Action treatment */
.resource { padding: 18px 18px 14px; }
.resource .res-label { font-size: 13pt; letter-spacing: 0.02em; }
.resource .res-text { font-size: 10pt; line-height: 1.6; }
.res-write { margin-top: 14px; border-top: 1px solid var(--hairline); padding-top: 10px; }
.res-write .field { margin: 0.7em 0; }
.qblock { break-inside: avoid; }


/* TOC page numbers */
.toc-row, .tool-row { position: relative; }
.toc-page {
  margin-left: auto;
  flex: none;
  align-self: baseline;
  font-family: 'Montserrat', sans-serif;
  font-size: 9pt;
  font-weight: 500;
  color: var(--gray);
  font-variant-numeric: tabular-nums;
}
.tool-row .toc-page { align-self: center; }


/* ---------- Cover artwork plate ---------- */
.plate.cover-art { padding: 0; background: #fff; }
.plate.cover-art img { width: 100%; height: 100%; object-fit: cover; display: block; }
