/* /models — Sheet M-001, "Six Companies After Near Zero". Same drawing-set world as the homepage. */

.m-head {
  display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 0 24px;
  padding: clamp(48px, 7vw, 88px) var(--gutter) 0;
  border-bottom: 1px solid var(--line);
  background-color: var(--paper);
  background-image:
    linear-gradient(var(--grid-major) 1px, transparent 1px),
    linear-gradient(90deg, var(--grid-major) 1px, transparent 1px),
    linear-gradient(var(--grid) 1px, transparent 1px),
    linear-gradient(90deg, var(--grid) 1px, transparent 1px);
  background-size: 120px 120px, 120px 120px, 24px 24px, 24px 24px;
  background-position: -1px -1px;
}
.m-sheet { display: grid; align-self: start; margin-top: 10px; border: 1px solid var(--ink); background: var(--sheet); text-align: center; min-width: 72px; }
.m-sheet span { font: 500 11px/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--ink-3); padding: 7px 8px 6px; border-bottom: 1px solid var(--ink); }
.m-sheet b { font: 600 18px/1 var(--mono); padding: 10px 8px; }
.m-head h1 { font-size: clamp(2.6rem, 5.6vw, 5rem); line-height: 1; letter-spacing: -0.035em; max-width: 16ch; }
.m-thesis { margin: 18px 0 36px; font-size: clamp(1.1rem, 1.6vw, 1.35rem); line-height: 1.45; color: var(--ink-2); max-width: 44ch; }
.m-meta { grid-column: 1 / -1; display: flex; flex-wrap: wrap; margin: 0 calc(-1 * var(--gutter)); border-top: 1px solid var(--ink); font: 400 12px/1.4 var(--mono); letter-spacing: .04em; text-transform: uppercase; color: var(--ink-3); }
.m-meta span { padding: 11px var(--gutter); }
.m-meta span + span { border-left: 1px solid var(--line); }
.m-meta span:last-child { margin-left: auto; color: var(--red-ink); }

.m-body { max-width: 58rem; margin: 0 auto; padding: clamp(48px, 6vw, 72px) var(--gutter) 24px; }
.m-body .prose { font-size: 1.05rem; line-height: 1.7; }
.m-body .prose p { margin: 0 0 1.2rem; max-width: 70ch; }
.m-body .prose strong { font-weight: 650; }
.lede-big { font-size: clamp(1.15rem, 1.6vw, 1.32rem) !important; line-height: 1.55 !important; color: var(--ink-2); max-width: 60ch !important; margin-bottom: 1.6rem !important; }
h2.sec { font-size: clamp(1.6rem, 2.8vw, 2.25rem); letter-spacing: -0.03em; line-height: 1.1; margin: 4rem 0 1rem; padding-top: 1.4rem; border-top: 1px solid var(--ink); max-width: 26ch; }
h3.ind { font-size: clamp(1.4rem, 2.2vw, 1.8rem); letter-spacing: -0.025em; margin: 0 0 8px; }
.ind-meta { font: 400 12px/1.7 var(--mono); color: var(--ink-3); margin-bottom: 1.3rem; }
.profile { border-top: 1px solid var(--ink); padding-top: 1.6rem; margin-top: 4.5rem; }
.exposure { font: 600 11px/1 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--red-ink); border: 1px solid var(--red); padding: 4px 7px; white-space: nowrap; display: inline-block; }

table.org, table.bench { width: 100%; border-collapse: collapse; font-size: .92rem; background: var(--sheet); border: 1px solid var(--ink); margin: 1rem 0 .4rem; }
table.org th, table.bench th { text-align: left; font: 500 11px/1.25 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); padding: 10px 12px; border-bottom: 1px solid var(--ink); vertical-align: bottom; }
table.org td, table.bench td { padding: 9px 12px; border-bottom: 1px solid var(--line); vertical-align: top; line-height: 1.45; font-variant-numeric: tabular-nums; }
table.bench tr:last-child td { border-bottom: 0; }
table.org td.n { text-align: right; width: 3.4rem; white-space: nowrap; font-family: var(--mono); font-size: .85rem; }
table.org tr.band td { background: var(--paper-2); font: 600 11px/1.2 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-2); padding-top: 9px; padding-bottom: 8px; border-bottom: 1px solid var(--ink); }
table.org tr.tot td { font-weight: 650; border-top: 1px solid var(--ink); border-bottom: 0; }
table.bench td.hi { color: var(--red-ink); font-weight: 650; }
.cut { color: var(--red-ink); font-weight: 600; text-decoration: line-through; text-decoration-thickness: 1.5px; }
.keep { color: var(--ink-3); }
.cols { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; margin-top: 1.2rem; }
.col-h { font: 600 11px/1.2 var(--mono); letter-spacing: .1em; text-transform: uppercase; margin-bottom: 8px; padding-bottom: 8px; border-bottom: 1px solid var(--ink); }
ul.tight { margin: 0; padding: 0; list-style: none; font-size: .95rem; line-height: 1.55; }
ul.tight li { position: relative; padding-left: 20px; margin-bottom: .65rem; }
ul.tight li::before { content: ""; position: absolute; left: 0; top: .78em; width: 10px; height: 1px; background: var(--ink); }
.scoreboard { display: grid; grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--ink); margin: 1.6rem 0; }
.sc { background: var(--sheet); padding: 14px 16px; }
.sc .lab { font: 500 11px/1.3 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--ink-3); margin-bottom: 4px; }
.sc .val { font: 650 1.6rem/1.1 var(--sans); letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.sc .val em { font-style: normal; color: var(--red-ink); }
.sc .sub { font: 400 12px/1.4 var(--mono); color: var(--ink-3); margin-top: 4px; }
.sphere-line { margin: 1.6rem 0; padding: 1rem 1.3rem; font-size: 1.05rem; line-height: 1.5; color: var(--ink); background: var(--sheet); border: 1px solid var(--red); border-radius: 16px; }
.src { font: 400 12px/1.5 var(--mono); color: var(--ink-3); margin-top: 8px; }

.m-cta { max-width: 58rem; margin: 48px auto 0; padding: 40px var(--gutter) 88px; border-top: 1px solid var(--ink); display: grid; gap: 14px; justify-items: start; }
.m-cta h2 { font-size: clamp(1.8rem, 3.4vw, 2.8rem); letter-spacing: -0.03em; }
.m-cta p { color: var(--ink-2); font-size: 1.05rem; max-width: 52ch; }
.m-cta .btn { font-size: 14px; padding: 13px 18px; margin-top: 6px; }

.nav-links a[aria-current="page"] { color: var(--ink); }
.nav-links a[aria-current="page"]::after { right: 0; }

@media (max-width: 720px) {
  .m-head { grid-template-columns: 1fr; }
  .m-sheet { grid-template-columns: auto auto; justify-self: start; margin: 0 0 16px; }
  .m-sheet span { border-bottom: 0; border-right: 1px solid var(--ink); display: grid; place-items: center; }
  .m-sheet b { font-size: 15px; }
  .m-meta { flex-direction: column; }
  .m-meta span + span { border-left: 0; border-top: 1px solid var(--line); }
  .m-meta span:last-child { margin-left: 0; }
  .cols { grid-template-columns: 1fr; gap: 1.4rem; }
  table.bench { display: block; overflow-x: auto; }
  table.org, table.bench { font-size: .86rem; }
}

/* Chapter page: the manuscript in the drawing-set world */
.ch-body { max-width: 46rem; }
.ch-body .prose { font-size: 1.12rem; line-height: 1.75; }
.ch-body .prose h2 { font-size: clamp(1.45rem, 2.4vw, 1.8rem); letter-spacing: -0.025em; margin: 3.4rem 0 1rem; padding-top: 1.2rem; border-top: 1px solid var(--ink); }
.ch-body .prose em { font-style: italic; }
.ch-body .prose .pull { margin: 2.4rem 0; padding: 1.2rem 1.5rem; font-size: 1.3rem; line-height: 1.4; font-weight: 550; letter-spacing: -0.015em; background: var(--sheet); border: 1px solid var(--red); border-radius: 16px; }
.ch-body .prose ol.score { margin: 1.8rem 0; padding: 0; list-style: none; counter-reset: sc; border: 1px solid var(--ink); background: var(--sheet); }
.ch-body .prose ol.score li { counter-increment: sc; position: relative; padding: 12px 16px 12px 54px; border-bottom: 1px solid var(--line); font-size: 1rem; line-height: 1.5; }
.ch-body .prose ol.score li:last-child { border-bottom: 0; }
.ch-body .prose ol.score li::before { content: counter(sc, decimal-leading-zero); position: absolute; left: 16px; top: 14px; font: 600 12px var(--mono); color: var(--red-ink); }
.chapter-page .book-ctas { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; }
.chapter-page .book-note { font: 400 12.5px/1.5 var(--mono); color: var(--ink-3); }

/* Chapter page: the book itself sits in the title block, beside the chapter title */
.chapter-page .m-head { grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 0 48px; }
.ch-title { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 0 24px; }
.chapter-page .m-head .book-stage { --bw: clamp(200px, 17vw, 250px); width: calc(var(--bw) + 260px); padding: 40px 56px 72px; margin-bottom: 28px; }
@media (max-width: 960px) {
  .chapter-page .m-head { grid-template-columns: 1fr; }
  .chapter-page .m-head .book-stage { --bw: 190px; justify-self: center; width: 100%; max-width: 480px; padding: 24px 48px 88px; margin-bottom: 24px; }
  .chapter-page .m-head .book-dim-h { bottom: 46px; }
}
@media (max-width: 720px) {
  .ch-title { grid-template-columns: 1fr; }
}
