    @page {
      size: A4;
      margin: 0.5cm;
    }
    @media print {
      a[href]:after { content: ""; }
      html, body {
        height: 100%;
        overflow: hidden;
      }
      body {
        display: grid !important;
        grid-template-columns: 260px 1fr !important;
        gap: 18px !important;
        max-width: 1100px !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        height: 100vh !important;
      }
      .sidebar, .main {
        break-inside: avoid !important;
        page-break-inside: avoid !important;
      }
      .sidebar {
        height: 100vh !important;
        max-height: 100vh !important;
        overflow: hidden !important;
        width: 260px !important;
        min-width: 260px !important;
        max-width: 260px !important;
        padding: 10px 8px 10px 10px !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        background: #f7f9fa !important;
        box-sizing: border-box !important;
      }
      .main {
        min-width: 0 !important;
        max-height: 100vh !important;
        overflow: hidden !important;
        padding: 0 6px 0 0 !important;
        box-sizing: border-box !important;
      }
      .section, .exp-item {
        page-break-inside: avoid !important;
        break-inside: avoid !important;
        margin-bottom: 8px !important;
      }
      .section h2 {
        margin-top: 8px !important;
        margin-bottom: 4px !important;
      }
      .rule {
        margin: 6px 0 4px !important;
      }
      p, li {
        margin-bottom: 4px !important;
        margin-top: 2px !important;
      }
    }
    :root {
      --text: #222;
      --muted: #666;
      --accent: #0b5fff;
      --rule: #e6e6e6;
      --sidebar-bg: #f7f9fa;
    }
    html, body {
      background: #fff;
      color: var(--text);
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Inter, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
      line-height: 1.2;
      font-size: 9pt;
    }
    body {
      margin: 0 auto;
      max-width: 1100px;
      padding: 32px 0;
      display: flex;
      gap: 36px;
    }
    .sidebar {
      background: var(--sidebar-bg);
      min-width: 260px;
      max-width: 300px;
      padding: 20px 20px 20px 20px;
      border-radius: 16px;
      box-shadow: 0 2px 12px #0001;
      display: flex;
      flex-direction: column;
      gap: 16px;
      height: fit-content;
    }
    .main {
      flex: 1;
      padding: 0 40px 0 0;
    }
    h1, h2, h3 {
      margin: 0 0 6px 0;
      line-height: 1.15;
    }
  h1 { font-size: 16pt; }
  h2 { font-size: 10pt; text-transform: uppercase; letter-spacing: .5px; color: var(--muted); margin-top: 12px; }
  h3 { font-size: 9pt; }
  p { margin: 4px 0 8px 0; text-align: justify; }
    ul { margin: 6px 0 8px 18px; padding: 0; }
  li { margin: 4px 0; text-align: justify; }
    .muted { color: var(--muted); }
    .rule { border-top: 1px solid var(--rule); margin: 18px 0 16px; }
    .section { page-break-inside: avoid; margin-bottom: 18px; }
    .exp-item { page-break-inside: avoid; margin: 10px 0 8px; }
    .row {
      display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap;
    }
  .role { font-weight: 600; margin-top: 10px; display: block; }
  .org, .org .where  { color: var(--muted); font-size: inherit; font-weight: inherit; }
  .when { color: #0b2a5f; font-size: 8pt; white-space: nowrap; font-weight: 600; }
  .where { color: var(--muted); font-size: 10.5pt; white-space: nowrap; }
    .tags { margin-top: 6px; font-size: 10.5pt; color: var(--muted); }
    .tight ul li { margin: 3px 0; }
    /* Sidebar details */
    .sidebar h1 {
      font-size: 14pt;
      margin-bottom: 2px;
    }
    .sidebar .title {
      font-size: 10pt;
      color: var(--muted);
      margin-bottom: 8px;
    }
    .sidebar .meta {
      font-size: 9pt;
      color: var(--muted);
      margin-bottom: 14px;
    }
    .sidebar-section {
      margin-bottom: 8px;
    }
    .sidebar-section h2 {
      font-size: 9pt;
      color: var(--accent);
      margin-top: 0;
      margin-bottom: 4px;
      text-transform: none;
      letter-spacing: 0;
    }
    .sidebar .tags {
      margin: 0;
      font-size: 9pt;
      color: var(--muted);
    }
    @media (max-width: 900px) {
      body { flex-direction: column; padding: 12px; }
      .sidebar { max-width: 100%; min-width: 0; padding: 18px 16px; border-radius: 10px; }
      .main { padding: 0; }
    }