:root {
      color-scheme: light;
      --paper: #f3f0e8;
      --ink: #0a0a09;
      --rule: rgba(10, 10, 9, 0.42);
      --serif: "Latin Modern Roman", "Computer Modern Serif", "CMU Serif", "STIX Two Text", "Times New Roman", serif;
    }

    * { box-sizing: border-box; }

    html {
      background: var(--paper);
      color: var(--ink);
      font-family: var(--serif);
      font-size: clamp(15px, 0.45vw + 13px, 20px);
      line-height: 1.28;
      text-rendering: optimizeLegibility;
    }

    body { margin: 0; }

    a {
      color: inherit;
      text-decoration-thickness: 0.055em;
      text-underline-offset: 0.16em;
    }

    a:hover, a:focus-visible { text-decoration-thickness: 0.1em; }

    .page {
      width: auto;
      max-width: 94rem;
      margin-left: 2.5rem;
      margin-right: 1.25rem;
      padding-block: clamp(1.25rem, 3vw, 3.5rem) 1.25rem;
    }

    header {
      min-height: 24vh;
      padding-bottom: clamp(4rem, 9vw, 8rem);
    }

    h1, h2, h3, p { margin: 0; }

    h1 {
      font-size: 1rem;
      font-weight: 400;
      line-height: 1.28;
    }

    section, footer { border-top: 1px solid var(--rule); }

    section {
      padding-block: 0.72rem clamp(3rem, 6vw, 5rem);
    }

    h2, h3 {
      font-size: 0.78rem;
      font-weight: 400;
      line-height: 1.2;
      text-transform: uppercase;
      letter-spacing: 0.055em;
    }

    h2 { margin-bottom: 2rem; }
    h3 { margin-top: 1.75rem; margin-bottom: 0.5rem; }
    p + p { margin-top: 0.75rem; }

    .text {
      max-width: 48rem;
    }

    address {
      font-style: normal;
    }

    .email {
      white-space: nowrap;
      user-select: text;
    }

    footer {
      display: flex;
      justify-content: space-between;
      gap: 1rem;
      padding-top: 0.72rem;
      font-size: 0.78rem;
    }

    @media (max-width: 760px) {
      .page {
        margin-left: 1.5rem;
        margin-right: 0.75rem;
      }

      header { min-height: auto; }
    }

    @media print {
      :root { --paper: #fff; }
      .page { margin-inline: 12mm; }
      section { break-inside: avoid; }
    }
