.accordion {
      margin: 0.5em 0;
      border: none;
      background: none;
      box-shadow: none;
      padding: 0;
      width: 100%;
      max-width: 500px;
      margin-left: auto;
      margin-right: auto;
    }
    .accordion summary {
      cursor: pointer;
      font-weight: normal;
      padding: 0.75em 0;
      background: none;
      color: var(--nav-link, #b57edc);
      border-bottom: 1px solid var(--card-border, #e7875b);
      outline: none;
      transition: color 0.2s;
      font-size: 1.1em;
      letter-spacing: 0.02em;
    }
    .accordion[open] summary {
      color: var(--nav-active, #e7875b);
      background: none;
    }
    .accordion ul {
      margin: 0;
      padding: 0.5em 1em;
      list-style: none;
      background: none;
    }
    .accordion ul li a {
      color: var(--sitemap-link, #b57edc);
      text-decoration: none;
      border-bottom: 1px dotted var(--sitemap-link, #b57edc);
      transition: color 0.2s, border-bottom 0.2s;
      display: block;
      margin-bottom: 0.3em;
      font-size: 1em;
      padding: 0.5em 0;
      word-break: break-word;
    }
    .accordion ul li a:hover {
      color: var(--nav-active, #e7875b);
      border-bottom: 1px solid var(--nav-active, #e7875b);
    }
    /* Indent nested accordions */
    .accordion .accordion {
      max-width: 95%;
      margin-left: 1em;
      border: none;
      box-shadow: none;
      padding: 0;
    }
    .accordion .accordion summary {
      font-size: 1em;
      padding: 0.5em 0;
      border-bottom: 1px dotted var(--card-border, #e7875b);
    }
    @media (max-width: 600px) {
      .accordion {
        max-width: 98vw;
        font-size: 1em;
      }
      .accordion summary {
        font-size: 1em;
        padding: 1em 0.2em;
      }
      .accordion ul {
        padding: 0.5em 0.5em;
      }
      .accordion ul li a {
        font-size: 1em;
        padding: 0.7em 0;
      }
      main > header h1 {
        font-size: 1.3em;
        padding: 0.5em 0.2em;
      }
    }
    main {
      padding: 0 1vw;
    }
    /* Main headers (top-level .accordion summary) */
    .accordion > summary {
      font-size: 1.3em;
      font-weight: 500;
    }
    /* Subheaders (nested .accordion summary) */
    .accordion .accordion > summary {
      font-size: 1em;
      font-weight: 400;
    }