/* The PDF. A4 portrait, two pages: page one for the owner, page two for the lender. */
@page {
  size: A4 portrait;
  margin: 13mm 14mm 16mm;
  @bottom-left { content: "Illustrative figures, not a quote or an offer of finance."; font: 400 7.5pt "Bricolage Grotesque", sans-serif; color: #5C5C5C; }
  @bottom-right { content: "Page " counter(page) " of " counter(pages); font: 400 7.5pt "JetBrains Mono", monospace; color: #5C5C5C; }
}

* { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
html, body { background: #fff; font-size: 10pt; }
.page, .masthead { max-width: none; padding: 0; }

.panel-inputs, .site-footer, .test-bar, .no-print, .toast, .chart-tip, #live, .link-button, dialog,
.hero h1, .hero .eyebrow, .lede, .block > .eyebrow { display: none !important; }
.print-only { display: block; }

/* masthead and title */
.masthead { margin-bottom: 7mm; padding-bottom: 3.5mm; border-bottom: 1.5pt solid var(--amber); }
.logo img { width: 32mm; }
.print-date { font: 400 8.5pt var(--mono); color: var(--secondary); }
.hero { padding: 0 0 5mm; }
.print-title { font: 600 24pt/1.08 var(--display); letter-spacing: -0.012em; }
.deal-line { margin-top: 3mm; padding: 3mm 4mm; max-width: none; background: var(--paper); border-left: 2pt solid var(--amber); font-size: 10pt; line-height: 1.4; }

/* page order: the owner's summary, then the working from a fresh page */
.layout { display: block; }
#years-block { break-before: page; }

.block { margin: 0 0 4.5mm; break-inside: avoid; }
.block h2 { margin: 0 0 2.5mm; font: 600 14pt/1.15 var(--display); }
#h-tiles { font-size: 0; margin: 0; }
.block-lede, .stat-detail, .end-note { font-size: 8.5pt; }
.block-lede { margin-top: 0; max-width: none; }

/* the four headline numbers */
.tiles { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 3mm; margin-top: 0; }
.tile { min-height: 0; padding: 3mm 3.5mm; border-radius: 6pt; }
.tile-label { font-size: 8.5pt; }
.tile-strong { font-size: 7.5pt; }
.tile-icon { display: none; }
.tile-value { padding: 2mm 0 2.5mm; font-size: 21pt; }
.tile-foot { padding-top: 2mm; }
.tile-detail { font-size: 7.5pt; line-height: 1.3; }

/* lease against cloud */
.compare-grid { grid-template-columns: minmax(0, 1fr) 42mm; gap: 7mm; margin-top: 0; align-items: center; }
.compare-row + .compare-row { margin-top: 2.5mm; }
.compare-text { margin-bottom: 1mm; font-size: 9pt; }
.compare-text strong { font-size: 11.5pt; }
.compare-track { height: 6mm; }
.compare-bar { transition: none; }
.multiple { font-size: 27pt; }
.multiple-note { margin-top: 1.5mm; font-size: 8pt; }

/* tables */
.table-card, .table-scroll, .chart-card { margin-top: 0; }
.table-card { padding: 0; }
.table-scroll { margin-top: 2.5mm; overflow: visible; }
.data th, .data td { padding: 1.5mm 2.5mm; font-size: 9pt; }
.data thead th { font-size: 7.5pt; }
.data tbody th { font-size: 9.5pt; }
.row-cash td { font-size: 11pt; }
.by-year th, .by-year td { padding: 0.65mm 2mm; font-size: 8pt; }
.by-year tbody th { font-size: 8.5pt; }
.by-year .row-cash td { font-size: 9pt; }
.row-coverage td { min-width: 0; }
.coverage-word { font-size: 6pt; line-height: 1.15; }
.by-year th:first-child { position: static; background: none; }
.by-year thead th:first-child { background: var(--stone); }

/* closing line of page one */
.end { padding: 4mm 5mm; background: var(--paper); border: 0.75pt solid var(--amber); border-radius: 6pt; }
.end h2 { font-size: 11pt; }
.end-line { margin-top: 0; font-size: 12.5pt; line-height: 1.3; max-width: none; }
.end-note { margin-top: 1.5mm; max-width: none; }

/* page two */
.chart-card { width: 100%; padding: 2mm 3mm; border-radius: 6pt; }
.chart-wrap { min-height: 0; height: auto; }
.chart-key { font-size: 8pt; }
#chart { display: block; width: 100%; height: auto; max-height: none; min-height: 0; }
.table-note { font-size: 8pt; }
.stats { margin-top: 2mm; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.stat { padding: 1.5mm 2.5mm 0 0; }
.stat + .stat { padding-left: 2.5mm; }
.stat-label { min-height: 0; font-size: 7pt; letter-spacing: -0.01em; }
.stat-value { margin-top: 1mm; font-size: 15pt; }
.stat-detail { font-size: 7.5pt; }
.assumptions { margin-top: 0; columns: 2; column-gap: 8mm; }
.assumptions dt { padding: 0.45mm 0; font-size: 7.5pt; }
.assumptions dd { padding: 0.45mm 0; min-height: 0; font-size: 7pt; }
.print-next { break-inside: avoid; padding: 3mm 5mm; background: var(--paper); border-left: 2pt solid var(--amber); }
.print-next h2 { margin: 0 0 1mm; font: 600 12pt/1.2 var(--display); }
.print-next p { font-size: 9pt; }
.print-next a { color: var(--amber-text); }
