/* ==========================================================================
   AURON ADVISORY — INSIGHT PRINT STYLESHEET
   auron-print.css · v1.0 · October 2026
   --------------------------------------------------------------------------
   Scope      every article page under /insights/
   Mechanism  pure CSS print styling. No JavaScript, no library, no external
              call. The existing Export PDF button (window.print) and the
              Full article / Summary toggle (class "summary" on <article>)
              drive it unchanged.
   Budget     full article 4 A4 pages · summary 1 A4 page
   Install    load LAST in <head>, after the page's own <style> blocks:
              <link rel="stylesheet" href="/css/auron-print.css" media="print">
   Layout     page 1 opens with masthead, hero exhibit and the summary panel;
              the article then runs in two columns, with exhibits, tables,
              callouts and sources spanning both.
   Covers     three page skeletons in use:
              A  article > div.full-only            (decks, three-returns, 9-trillion)
              B  article > div.article-body         (ai-adoption-framework)
              C  article > div.wrap                 (case-for-sovereignty)
   ========================================================================== */

@page { size: A4; margin: 14mm 15mm 15mm; }

/* Margin boxes. Chrome 156 honours these (verified in a real export), as do
   paged engines such as Prince and WeasyPrint. The empty @top-* boxes blank
   the browser's own date/title header. */
@page {
  @top-left   { content: ""; }
  @top-center { content: ""; }
  @top-right  { content: ""; }
  @bottom-left  { content: "Auron Advisory · auronadvisory.ch";
                  font-family: "Instrument Sans", sans-serif;
                  font-size: 6.5pt; letter-spacing: .08em; color: #8A8A80; }
  @bottom-right { content: "Page " counter(page) " of " counter(pages);
                  font-family: "Instrument Sans", sans-serif;
                  font-size: 6.5pt; letter-spacing: .08em; color: #8A8A80; }
}

@media print {

  /* ---- 1. Tokens, light surfaces only ---------------------------------- */
  :root {
    --gold: #7A5E1F; --gold-dark: #7A5E1F;
    --navy: #0D1B2A; --ink: #1A1A18; --ink-mid: #4A4A45; --ink-light: #8A8A80;
    --cream: #FAFAF7; --cream-mid: #F0EFE8;
    --band: #F2F0E8; --note-bg: #F6F2E6; --note-br: #7A5E1F;
    --border: rgba(26,26,24,.14);
    --rule: rgba(26,26,24,.18); --rule-soft: rgba(26,26,24,.10);
  }
  html, body {
    background: #FFFFFF !important; color: var(--ink) !important;
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
  }
  /* any dark panel becomes a light panel */
  .dark, [class*="dark"] { background: var(--cream-mid) !important; color: var(--ink) !important; }
  .dark *, [class*="dark"] * { color: var(--ink) !important; }

  /* ---- 2. Screen chrome off -------------------------------------------- */
  .site-header, .nav-wrap, .site-menu, .nav-toggle, .nav-cta-mobile,
  nav.site-nav, footer, .site-footer,
  .controls, .toggle, .export-btn, .view-hint,
  .toc, #toc, .toc-side, .toc-back, .read-progress, .consent,
  .article-cta, .cta-block, .cta-inline, .btn-cta, .acta-btn,
  .back-link, .article-nav, .related, .share,
  .diag, .diag-panel, .diag-reset, .dq-opts, .diag-tally {
    display: none !important;
  }

  /* ---- 3. Page frame ---------------------------------------------------- */
  article, article.has-toc-side, article.article-wrap,
  article > .wrap, .article-body, .full-only {
    width: 100% !important; max-width: none !important;
    margin: 0 !important; padding: 0 !important;
  }
  article { font-size: 8.9pt; line-height: 1.38; }
  article > * { max-width: none !important; }

  article::after {
    content: "Auron Advisory · AI Strategy & Delivery · Zug, Switzerland · auronadvisory.ch";
    display: block; column-span: all;
    margin-top: 3mm; padding-top: 1.6mm;
    border-top: .5pt solid var(--rule);
    font-family: "Instrument Sans", sans-serif;
    font-size: 6.4pt; letter-spacing: .09em; text-transform: uppercase;
    color: var(--ink-light) !important;
  }

  /* ---- 4. Masthead ------------------------------------------------------ */
  .article-tag, .eyebrow {
    column-span: all;
    font-size: 6.6pt !important; letter-spacing: .17em; text-transform: uppercase;
    color: var(--gold) !important; margin: 0 0 2.2mm !important; padding: 0 !important;
  }
  .article-tag { margin-bottom: 1.4mm !important; }

  h1 {
    column-span: all;
    font-size: 23pt !important; line-height: 1.03 !important; letter-spacing: -.004em;
    color: var(--navy) !important; margin: 0 0 2.4mm !important; padding: 0 !important;
    break-after: avoid;
  }
  h1 em { color: var(--gold) !important; font-style: italic; }

  .standfirst, .lede {
    column-span: all;
    font-size: 10.4pt !important; line-height: 1.32 !important;
    color: var(--ink-mid) !important; margin: 0 0 3mm !important; max-width: 150mm;
  }

  .byline, .article-meta {
    column-span: all; display: block !important;
    border-top: .5pt solid var(--rule); border-bottom: .5pt solid var(--rule);
    padding: 1mm 0 !important; margin: 0 0 3mm !important;
    font-size: 7pt !important; line-height: 1.35 !important; letter-spacing: .02em;
    color: var(--ink-mid) !important;
  }
  .byline-mark, .author-initials { display: none !important; }
  .byline-text strong, .author-name { color: var(--navy) !important; font-weight: 600; }

  /* ---- 5. Hero exhibit --------------------------------------------------- */
  .article-hero {
    column-span: all;
    margin: 0 0 3.2mm !important; padding: 0 !important;
    border: .5pt solid var(--rule); background: #FFFFFF !important;
    break-inside: avoid; break-after: avoid;
  }
  .article-hero img, .article-hero picture {
    display: block; width: 100%; height: auto;
    max-height: 38mm; object-fit: contain; margin: 0 auto; padding: 1.2mm 0;
  }
  .article-hero figcaption {
    font-size: 6.6pt !important; color: var(--ink-light) !important;
    padding: 0 3mm 1.2mm !important; margin: 0 !important;
  }

  /* ---- 6. Summary panel, first on page one, in both views ---------------- */
  article:not(.summary) .summary-only { display: block !important; }

  .summary-points {
    column-span: all;
    background: var(--cream-mid) !important;
    border: 0 !important; border-left: 2.4pt solid var(--gold) !important;
    padding: 2.4mm 3.2mm 1.8mm !important; margin: 0 0 3.2mm !important;
    break-inside: avoid;
  }
  .summary-points h4 {
    font-size: 10.4pt !important; line-height: 1.1 !important;
    color: var(--navy) !important; margin: 0 0 1.8mm !important;
  }
  .summary-points ul { columns: 2; column-gap: 7mm; margin: 0 !important; }
  .summary-points li {
    font-size: 7.6pt !important; line-height: 1.32 !important; color: var(--ink) !important;
    margin: 0 0 1.4mm !important; padding-left: 3.4mm !important; break-inside: avoid;
  }
  .summary-points li::before { width: 3.2px !important; height: 3.2px !important; top: .55em !important; }

  /* ---- 7. Body, two columns --------------------------------------------- */
  article > div.full-only,
  article > .article-body,
  article > .wrap {
    columns: 2; column-gap: 7.5mm;
    column-rule: .4pt solid var(--rule-soft);
    orphans: 3; widows: 3;
  }

  article p {
    font-size: 8.9pt !important; line-height: 1.38 !important;
    margin: 0 0 1.8mm !important; text-align: justify; hyphens: auto; -webkit-hyphens: auto;
    color: var(--ink) !important;
  }
  article > div.full-only > p:first-of-type,
  article > .article-body > p:first-of-type,
  .lead-p { font-size: 9.4pt !important; color: var(--navy) !important; }

  h2 {
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 12pt !important; line-height: 1.12 !important; color: var(--navy) !important;
    margin: 2.5mm 0 1.2mm !important; padding: 0 !important;
    break-after: avoid; break-inside: avoid;
  }
  h2:first-child { margin-top: 0 !important; }
  h2 .num {
    font-family: "Instrument Sans", sans-serif; font-size: 7.4pt !important;
    letter-spacing: .08em; color: var(--gold) !important;
    display: inline-block; margin-right: 1.5mm; vertical-align: .22em;
  }
  h3, h4 {
    font-size: 9.4pt !important; line-height: 1.2 !important; color: var(--navy) !important;
    margin: 2.2mm 0 1mm !important; break-after: avoid;
  }

  article ol, article ul {
    margin: 0 0 2mm !important; padding-left: 4.4mm !important;
  }
  /* the pages declare `ul li`/`ol li { font-size:17px }` directly on the item,
     so the size must be set on the LI, not only on the list container */
  article ol, article ul, article li {
    font-size: 8.4pt !important; line-height: 1.34 !important;
  }
  article li { margin: 0 0 .9mm !important; break-inside: avoid; }

  blockquote, .pullquote, .pull {
    break-inside: avoid;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 10.5pt !important; line-height: 1.26 !important; color: var(--navy) !important;
    border-left: 2pt solid var(--gold) !important;
    padding: 0 0 0 3.4mm !important; margin: 1.8mm 0 2.2mm !important;
    background: none !important;
  }
  .pullquote p, .pull p { font-size: inherit !important; text-align: left; color: inherit !important; }

  /* ---- 8. Exhibits and panels span both columns ------------------------- */
  .exhibit, .axis-diagram, .prompt-grid, .steps, .snapshot, .band, .note,
  .timeline, .tbl-scroll, .table-wrap, .bigstat, .srcnote {
    column-span: all; break-inside: avoid;
  }
  .posture { column-span: auto; break-inside: avoid; }
  .exhibit, .snapshot, .band, .note, .bigstat, .posture, .axis-diagram, .prompt-grid {
    background: var(--cream) !important;
    border: .5pt solid var(--rule) !important;
    padding: 2mm 2.4mm 1.6mm !important;
    margin: 1.6mm 0 2.2mm !important;
  }
  .note { border-left: 2pt solid var(--note-br) !important; background: var(--note-bg) !important; }
  .ex-label, .case-label, .diag-label {
    font-size: 6.4pt !important; letter-spacing: .15em; text-transform: uppercase;
    color: var(--gold) !important; margin: 0 0 1mm !important;
  }
  .ex-title, .p-title {
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 10pt !important; line-height: 1.18 !important;
    color: var(--navy) !important; margin: 0 0 1.4mm !important;
  }
  .case {
    column-span: all; break-inside: avoid;
    font-family: "Instrument Sans", sans-serif !important;
    font-size: 8.4pt !important; line-height: 1.34 !important;
    background: var(--cream) !important; border: .5pt solid var(--rule) !important;
    padding: 2mm 2.4mm 1.6mm !important; margin: 1.6mm 0 2.2mm !important;
  }
  .case p, .case li { font-size: 8.2pt !important; line-height: 1.32 !important; margin: 0 0 1.2mm !important; }
  .case h3, .case h4, .case .p-title {
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 9.6pt !important; margin: 0 0 1.2mm !important;
  }

  .exhibit h4, .snapshot h4, .band h4 {
    font-size: 7.4pt !important; letter-spacing: .08em; text-transform: uppercase;
    color: var(--ink-mid) !important; margin: 1.4mm 0 1mm !important;
  }
  .ex-src, .srcnote, .case-src, .src, .note p:last-child, .linkedin-note {
    font-size: 6.4pt !important; line-height: 1.32 !important;
    color: var(--ink-light) !important; margin: 1.2mm 0 0 !important;
  }

  /* bar rows and stat rows */
  .bar-row, .dt-row { margin: 0 0 1.2mm !important; break-inside: avoid; }
  .bar-lab, .dt-name { font-size: 7pt !important; line-height: 1.25 !important; }
  .bar-lab b, .dt-n, .val, .n { font-size: 7.4pt !important; color: var(--navy) !important; }
  .bar, .dt-bar { height: 2.6mm !important; }  /* track keeps its own colour; .bar i is the fill */
  .lbl { font-size: 6.4pt !important; letter-spacing: .1em; color: var(--ink-light) !important; }
  .bigstat .n, .bigstat .num { font-size: 15pt !important; color: var(--gold) !important; }

  /* ---- 9. Tables --------------------------------------------------------- */
  .table-wrap, .tbl-scroll { overflow: visible !important; margin: 0 !important; }
  table, table.score-table {
    width: 100%; border-collapse: collapse;
    font-size: 6.8pt !important; line-height: 1.24 !important; break-inside: avoid;
  }
  thead { display: table-header-group; }
  th {
    text-align: left; font-size: 6.1pt !important; letter-spacing: .1em;
    text-transform: uppercase; font-weight: 600;
    color: var(--gold) !important; background: none !important;
    border-bottom: .7pt solid var(--gold) !important;
    padding: .8mm 1.8mm .8mm 0 !important;
  }
  td {
    vertical-align: top; color: var(--ink) !important;
    border-bottom: .4pt solid var(--rule) !important;
    padding: .85mm 1.8mm .85mm 0 !important;
  }
  tr:last-child td { border-bottom: 0 !important; }
  figure, img, svg { break-inside: avoid; max-width: 100% !important; }

  /* ---- 10. Close: question, mission, sources ---------------------------- */
  .closing-q, .engage,
  article p.closing-q, article p.engage {
    column-span: all;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 12pt !important; line-height: 1.2 !important; color: var(--navy) !important;
    border-top: .5pt solid var(--rule);
    padding-top: 2.2mm !important; margin: 2.4mm 0 1.3mm !important;
    text-align: left !important; break-inside: avoid;
  }
  .mission, .article-footer, article p.mission {
    column-span: all;
    font-size: 8pt !important; line-height: 1.38 !important;
    color: var(--ink-mid) !important; margin: 0 0 2.4mm !important; break-inside: avoid;
    border: 0 !important; padding: 0 !important; background: none !important;
  }
  .mission p, .article-footer p { font-size: 8pt !important; text-align: left; }

  .sources {
    column-span: all; columns: 3; column-gap: 5.5mm;
    margin: 0 !important; padding: 0 !important; border: 0 !important;
    background: none !important;
  }
  .sources p, .sources li, .sources div {
    font-size: 6.4pt !important; line-height: 1.3 !important;
    color: var(--ink-light) !important; margin: 0 0 1mm !important;
    text-align: left !important; break-inside: avoid;
  }
  .sources strong { color: var(--ink-mid) !important; }

  a, a:link, a:visited { color: var(--gold-dark) !important; text-decoration: none; }
  a[href]::after { content: "" !important; }

  /* ---- 11. Summary view, one page --------------------------------------- */
  article.summary .article-hero img,
  article.summary .article-hero picture { max-height: 62mm; }
  article.summary .summary-points { margin-bottom: 3mm !important; }
  article.summary .summary-points ul { columns: 1; }
  article.summary .summary-points li {
    font-size: 8.8pt !important; line-height: 1.42 !important; margin-bottom: 2.1mm !important;
  }
  article.summary .standfirst, article.summary .lede { margin-bottom: 3.2mm !important; }
  article.summary > div.full-only,
  article.summary > .article-body { columns: 1; column-rule: 0; }
  /* case-for-sovereignty keeps body copy in its summary view, so it stays in two columns */
  article.summary > .wrap { columns: 2; column-gap: 7.5mm; }

  /* ---- 12. Pagination guards -------------------------------------------- */
  p, li, blockquote, td { orphans: 3; widows: 3; }
  .exhibit, .summary-points, .article-hero, blockquote, table, figure,
  .closing-q, .mission, .snapshot, .band, .note, .bigstat, .pullquote,
  .steps, .axis-diagram, .prompt-grid { break-inside: avoid; }
  .step, .item, .posture { break-inside: avoid; }

  /* ---- 13. Density modifier for long articles --------------------------
     Add class "print-dense" to <article> on any insight longer than roughly
     16,000 characters, so it still lands inside the 4 page budget.
     Needed today by: three-returns-one-ruler, ai-agent-roi-9-trillion-signal.
     --------------------------------------------------------------------- */
  article.print-dense p,
  article.print-dense .case p, article.print-dense .case li,
  article.print-dense .exhibit p {
    font-size: 8.1pt !important; line-height: 1.30 !important; margin: 0 0 1.4mm !important;
  }
  article.print-dense ol, article.print-dense ul, article.print-dense li {
    font-size: 7.9pt !important; line-height: 1.28 !important;
  }
  article.print-dense h1 { font-size: 20pt !important; margin: 0 0 2mm !important; }
  article.print-dense .standfirst, article.print-dense .lede {
    font-size: 9.2pt !important; line-height: 1.28 !important; margin: 0 0 2.2mm !important;
  }
  article.print-dense .byline, article.print-dense .article-meta { margin: 0 0 2.4mm !important; }
  article.print-dense .article-hero { margin: 0 0 2.6mm !important; }
  article.print-dense .article-hero img,
  article.print-dense .article-hero picture { max-height: 26mm; }
  article.print-dense .summary-points { padding: 2mm 2.6mm 1.4mm !important; margin: 0 0 2.6mm !important; }
  article.print-dense .summary-points li {
    font-size: 7.1pt !important; line-height: 1.26 !important; margin: 0 0 1mm !important;
  }
  article.print-dense > div.full-only,
  article.print-dense > .article-body,
  article.print-dense > .wrap { column-gap: 6.5mm; }
  article.print-dense h2 { font-size: 10.8pt !important; margin: 1.8mm 0 .9mm !important; }
  article.print-dense .ex-title { font-size: 9.4pt !important; }
  article.print-dense .case { font-size: 8.1pt !important; padding: 1.6mm 2mm 1.2mm !important; margin: 1.2mm 0 1.8mm !important; }
  article.print-dense .exhibit { padding: 1.6mm 2mm 1.2mm !important; margin: 1.2mm 0 1.8mm !important; }
  article.print-dense table { font-size: 6.3pt !important; line-height: 1.2 !important; }
  article.print-dense td { padding: .7mm 1.5mm .7mm 0 !important; }
  article.print-dense .closing-q, article.print-dense .engage {
    font-size: 11pt !important; margin: 2mm 0 1mm !important; padding-top: 1.8mm !important;
  }
  article.print-dense .mission, article.print-dense .mission p { font-size: 7.4pt !important; }
  article.print-dense .sources p,
  article.print-dense .sources li,
  article.print-dense .sources div {
    font-size: 6pt !important; line-height: 1.24 !important; margin: 0 0 .8mm !important;
  }
}
