@font-face {
        font-family: "Cardo";
        src: url("fonts/cardo-400-normal.ttf") format("truetype");
        font-style: normal;
        font-weight: 400;
        font-display: swap;
      }
      @font-face {
        font-family: "Cardo";
        src: url("fonts/cardo-700-normal.ttf") format("truetype");
        font-style: normal;
        font-weight: 700;
        font-display: swap;
      }
      @font-face {
        font-family: "Cardo";
        src: url("fonts/cardo-400-italic.ttf") format("truetype");
        font-style: italic;
        font-weight: 400;
        font-display: swap;
      }
      :root {
        color-scheme: light;
        --ink: #171717;
        --muted: #5e6266;
        --paper: #f0e9f8;
        --rule: #ded0ef;
        --serif: "Cardo", "Times New Roman", Times, serif;
        --mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
      }
      * { box-sizing: border-box; }
      html { scroll-padding-top: 28px; }
      body {
        margin: 0;
        background: #fff;
        color: var(--ink);
        font-family: var(--serif);
        font-size: 20px;
        line-height: 1.5;
        -webkit-font-smoothing: antialiased;
      }
      .page { max-width: 880px; margin: 0 auto; padding: 64px 40px 0; }
      .skip { position: absolute; top: 12px; left: 12px; transform: translateY(-200%); padding: 8px 12px; background: #fff; }
      .skip:focus { transform: none; }
      .masthead { text-align: center; }
      .wordmark {
        display: block;
        margin: 0 0 38px;
        font-family: Arial, Helvetica, sans-serif;
        font-size: clamp(76px, 12vw, 112px);
        font-weight: 700;
        letter-spacing: -0.075em;
        line-height: 0.9;
      }
      h1, h2, h3 { font-family: var(--serif); }
      h1 {
        max-width: 760px;
        margin: 0 auto 20px;
        font-size: clamp(32px, 4.5vw, 48px);
        font-weight: 400;
        line-height: 1.14;
        letter-spacing: -0.035em;
        text-wrap: balance;
      }
      h1 + p { margin: 0; color: var(--muted); font-size: 17px; }
      h1 + p strong { font-weight: 400; }
      .section-nav {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 12px;
        margin: 36px 0 60px;
      }
      .section-nav a, td a {
        display: inline-block;
        border-radius: 6px;
        background: var(--paper);
        padding: 6px 10px;
        color: #50555a;
        font-family: var(--mono);
        font-size: 13px;
        font-weight: 400;
        line-height: 1.5;
        text-decoration: none;
      }
      .section-nav a:hover, td a:hover { background: #e5d8f2; color: #111; }
      .article > h2 {
        margin: 64px 0 24px;
        font-size: 29px;
        font-weight: 400;
        line-height: 1.25;
        letter-spacing: -0.025em;
      }
      .article > h2:first-child { margin-top: 0; }
      h3 { margin: 36px 0 15px; font-size: 21px; font-weight: 700; line-height: 1.4; }
      p { margin: 0 0 24px; }
      .article > p { text-align: justify; }
      strong { font-weight: 700; }
      blockquote {
        margin: 24px 0 36px;
        padding: 4px 0 4px 26px;
        border: 0;
        border-left: 3px solid #57068c;
        font-size: 30px;
        font-style: italic;
        line-height: 1.35;
        text-align: left;
      }
      blockquote p { margin: 0; }
      img { display: block; width: 100%; max-width: 760px; height: auto; margin: 32px auto 20px; }
      p:has(> em:only-child) { color: var(--muted); font-size: 16px; line-height: 1.5; text-align: center; }
      a { color: inherit; text-decoration-thickness: 1px; text-decoration-color: #57068c; text-underline-offset: 3px; }
      a:hover { text-decoration-color: currentColor; }
      a:focus-visible { outline: 2px solid var(--ink); outline-offset: 4px; }
      table { width: 100%; margin: 0 0 34px; border-collapse: collapse; font-size: 18px; }
      thead { display: none; }
      td { padding: 13px 0; border-bottom: 1px solid var(--rule); vertical-align: middle; text-align: left; }
      td:first-child { width: 42%; padding-right: 20px; }
      td + td { color: var(--muted); font-size: 17px; }
      td a { font-size: 13px; }
      .site-footer {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 16px 24px;
        margin-top: 72px;
        padding: 24px 0 36px;
        border-top: 1px solid var(--rule);
        color: var(--muted);
        font-family: var(--mono);
        font-size: 11px;
        line-height: 1.6;
      }
      @media (max-width: 600px) {
        body { font-size: 18px; line-height: 1.5; }
        .page { padding: 40px 22px 0; }
        .wordmark { margin-bottom: 30px; }
        h1 { font-size: 34px; line-height: 1.1; }
        h1 + p { font-size: 15px; }
        .section-nav { gap: 8px; margin: 28px 0 42px; }
        .section-nav a { font-size: 12px; padding: 6px 9px; }
        .article > h2 { margin-top: 48px; font-size: 27px; }
        .article > p { text-align: left; }
        blockquote { padding: 2px 0 2px 20px; margin-bottom: 28px; font-size: 26px; }
        h3 { font-size: 20px; }
        td { padding: 12px 0; }
        td:first-child { width: 48%; padding-right: 12px; }
        td + td { font-size: 16px; }
        td a { font-size: 11px; padding: 6px; }
        .site-footer { margin-top: 52px; }
      }
      @media (max-width: 380px) {
        td:first-child { width: 49%; }
        td a { font-size: 10px; }
      }
      @media print {
        body { font-size: 11pt; }
        .page { max-width: none; padding: 0; }
        .wordmark { font-size: 48pt; }
        h1 { font-size: 28pt; }
        .skip, .section-nav, .site-footer { display: none; }
        h1 + p { margin-bottom: 28px; }
        h2, h3 { break-after: avoid; }
        blockquote, table, img { break-inside: avoid; }
      }
.cpam-only { display: none; }
