/* ════════════════════════════════════════════════════════
   Highstake Tear Sheet v3
   Matches M55 investor report design language
   Light theme · A4 · // numbered sections · pill badges
   ════════════════════════════════════════════════════════ */

@page { size: A4; margin: 0; }

:root {
  --bg:       #FAF9F6;
  --bg-1:     #F3F2EE;
  --fg:       #1A1A1A;
  --fg-2:     #555550;
  --fg-3:     #8A8A82;
  --line:     #E5E4E0;
  --line-hi:  #D5D4D0;
  --accent:   #1A7A52;
  --red:      #C0392B;
  --sans:     'Geist', -apple-system, BlinkMacSystemFont, sans-serif;
  --serif:    'Instrument Serif', 'Times New Roman', serif;
  --mono:     'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, monospace;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
body {
  background: #C8C7C2;
  color: var(--fg); font-family: var(--sans);
  font-size: 9pt; line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  font-feature-settings: 'tnum';
}
b, strong { font-weight: 600; }
em { font-family: var(--serif); font-style: italic; }
.accent { color: var(--accent); }
.neg { color: var(--red); }
.dim { color: var(--fg-3); }

/* ─── Page ─── */
.page {
  position: relative; width: 210mm; height: 297mm;
  padding: 12mm 14mm 16mm; page-break-after: always; overflow: hidden;
  background: var(--bg);
  margin: 6mm auto;
  box-shadow: 0 1px 8px rgba(0,0,0,0.08);
}
.page:last-child { page-break-after: auto; }
@media print {
  body { background: white; }
  .page { margin: 0; box-shadow: none; background: white; }
}

/* ─── Header ─── */
.hdr {
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: 6mm;
}
.hdr-wordmark { display: flex; align-items: baseline; }
.wm-high {
  font-family: var(--sans); font-weight: 600;
  font-size: 18pt; letter-spacing: -0.03em;
}
.wm-stake {
  font-family: var(--serif); font-style: italic;
  font-size: 18pt; letter-spacing: 0;
}
.hdr-pills { display: flex; gap: 2mm; }
.pill {
  display: inline-block;
  padding: 1.2mm 3mm;
  border: 0.5pt solid var(--line-hi);
  border-radius: 1.5px;
  font-size: 6.5pt; font-weight: 500;
  letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--fg-2);
}
.pill-inline {
  display: inline-block;
  padding: 0.5mm 2mm;
  border: 0.5pt solid var(--line-hi);
  border-radius: 1.5px;
  font-size: 6pt; font-weight: 500;
  letter-spacing: 0.08em; text-transform: uppercase;
}

/* ─── Title block ─── */
.title-row {
  display: flex; justify-content: space-between; align-items: flex-start;
  padding-bottom: 5mm; border-bottom: 1px solid var(--line);
  margin-bottom: 5mm;
}
.title-prefix {
  font-size: 7pt; letter-spacing: 0.1em;
  color: var(--fg-3); margin-bottom: 2.5mm;
}
.title-logo {
  display: flex; align-items: center; gap: 3mm;
  margin-bottom: 1.5mm;
}
.title-mark {
  height: 28px; width: auto; display: block;
  filter: brightness(0); opacity: 0.85;
}
.title-wordmark { display: flex; align-items: baseline; }
.title-wordmark .wm-high { font-size: 22pt; }
.title-wordmark .wm-stake { font-size: 22pt; }
.title-sub {
  font-size: 9pt; color: var(--fg-2);
}
.title-sub em { color: var(--fg-3); }
.meta-tbl {
  border-collapse: collapse; font-size: 7.5pt;
  margin-top: 1mm;
}
.meta-tbl td {
  padding: 1.2mm 0; border-bottom: 0.5pt solid var(--line);
  vertical-align: baseline;
}
.meta-tbl td:first-child {
  color: var(--fg-3); letter-spacing: 0.06em;
  font-size: 6.5pt; text-transform: uppercase;
  padding-right: 6mm; white-space: nowrap;
}
.meta-tbl td:last-child { text-align: right; }
.meta-tbl tr:last-child td { border-bottom: none; }

/* ─── KPI row ─── */
.kpi-row {
  display: grid; grid-template-columns: repeat(6, 1fr);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  margin-bottom: 4mm;
}
.kpi {
  padding: 2.5mm 2mm;
  border-right: 0.5pt solid var(--line);
}
.kpi:last-child { border-right: none; }
.kpi-dot {
  font-size: 5.5pt; letter-spacing: 0.06em;
  text-transform: uppercase; color: var(--fg-3);
  margin-bottom: 0.8mm;
}
.kpi-val {
  font-size: 13pt; font-weight: 600;
  letter-spacing: -0.02em; line-height: 1.1;
}
.kpi-dim { font-weight: 400; color: var(--fg-3); font-size: 10pt; }
.kpi-sub {
  font-size: 5.5pt; color: var(--fg-3);
  margin-top: 0.5mm;
}

/* ─── Strategy text ─── */
.strategy-text {
  font-size: 8pt; line-height: 1.6; color: var(--fg-2);
  margin-bottom: 4mm;
}

/* ─── Section headers (// 01 /→ NAME) ─── */
.sec-head {
  display: flex; align-items: baseline; gap: 2mm;
  font-size: 7.5pt; font-weight: 500;
  letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--fg);
  padding: 2mm 0; margin-bottom: 2mm;
  border-bottom: 1px solid var(--line);
}
.sec-num {
  color: var(--fg-3); font-weight: 400;
  letter-spacing: 0.04em;
}
.sec-note {
  margin-left: auto; font-weight: 400;
  font-size: 6.5pt; color: var(--fg-3);
  letter-spacing: 0.03em; text-transform: none;
}

/* ─── Returns table ─── */
.returns-tbl {
  width: 100%; border-collapse: collapse;
  font-size: 7.5pt; margin-bottom: 1mm;
}
.returns-tbl th, .returns-tbl td {
  padding: 1.8mm 1.5mm; text-align: right;
  border-bottom: 0.5pt solid var(--line);
}
.returns-tbl th {
  font-weight: 500; color: var(--fg-3);
  font-size: 6.5pt; text-transform: uppercase;
  letter-spacing: 0.06em;
  border-bottom: 1px solid var(--line-hi);
}
.returns-tbl td:first-child, .returns-tbl th:first-child {
  text-align: left; font-weight: 500;
}
.returns-tbl .ytd {
  color: var(--accent); font-weight: 600;
}
.returns-tbl .nodata { color: var(--fg-3); }
.returns-tbl tbody tr:last-child td { border-bottom: none; }

/* ─── Chart ─── */
.chart-wrap {
  padding: 2mm 0; margin-bottom: 3mm;
}
.chart-wrap svg { width: 100%; height: 42mm; display: block; }
.chart-legend {
  display: flex; gap: 6mm; margin-top: 1.5mm;
  font-size: 6.5pt; color: var(--fg-3);
}
.lg-item { display: inline-flex; align-items: center; gap: 3px; }
.lg-item i { display: inline-block; width: 10px; height: 2px; border-radius: 1px; }
.lg-hs { background: var(--accent); }
.lg-btc { background: #C4922A; }
.lg-sp { background: var(--fg-3); }

/* ─── Two column ─── */
.two-col {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 8mm; margin-bottom: 3mm;
}

/* ─── Data tables ─── */
.data-tbl { width: 100%; border-collapse: collapse; font-size: 8pt; }
.data-tbl .tbl-head td {
  font-weight: 500; font-size: 6.5pt; color: var(--fg-3);
  text-transform: uppercase; letter-spacing: 0.06em;
  padding-bottom: 1.5mm;
  border-bottom: 1px solid var(--line-hi);
}
.data-tbl td {
  padding: 1.6mm 0;
  border-bottom: 0.5pt solid var(--line);
  vertical-align: baseline;
}
.data-tbl td:first-child { color: var(--fg-2); padding-right: 3mm; }
.data-tbl td:not(:first-child) { text-align: right; font-feature-settings: 'tnum'; }
.data-tbl tr:last-child td { border-bottom: none; }

/* ─── Table notes (// style) ─── */
.tbl-note {
  font-size: 6.5pt; color: var(--fg-3); line-height: 1.5;
  margin-top: 1.5mm; font-style: italic;
}

/* ─── Drawdowns ─── */
.dd-tbl { margin-bottom: 1mm; }
.dd-tbl .tbl-head td { font-size: 6.5pt; }
.dd-tbl td { font-size: 7.5pt; }
.dd-tbl .dd-depth { color: var(--red); font-weight: 500; }

/* ─── Terms & fees ─── */
.terms-tbl td:last-child { color: var(--fg); }
.terms-tbl .hl { color: var(--accent); font-weight: 600; }
.tier-tbl td:last-child {
  color: var(--accent); font-weight: 600; font-size: 10pt;
}

/* ─── Contact ─── */
.contact-row {
  padding: 3mm 0; margin: 3mm 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  text-align: center;
}
.contact-info {
  font-size: 8.5pt; color: var(--fg-2);
}
.contact-info b { color: var(--fg); }

/* ─── Disclosures ─── */
.disclosures {
  margin-top: 2mm;
  padding: 3mm 0;
  background: var(--bg-1);
  padding: 3mm;
  border-radius: 2px;
}
.disc-head {
  font-size: 6pt; font-weight: 600;
  letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--fg-3); margin-bottom: 1.5mm;
}
.disclosures p {
  font-size: 5.5pt; line-height: 1.55; color: var(--fg-3);
  font-style: italic;
}

/* ─── Page footer ─── */
.pg-foot {
  position: absolute; bottom: 8mm; left: 14mm; right: 14mm;
  display: flex; justify-content: space-between; align-items: baseline;
  padding-top: 2.5mm; border-top: 1px solid var(--line);
  font-size: 6.5pt; color: var(--fg-3);
  letter-spacing: 0.08em; text-transform: uppercase;
}
