    /* ── DESIGN SYSTEM TOKENS v2.0 ── */

    *,
    *::before,
    *::after {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }

    html {
      scroll-behavior: smooth;
    }

    /* Single font throughout — Jost. Clean, consistent, professional. */
    body {
      background: var(--lavender);
      font-family: 'Jost', sans-serif;
      font-size: 14px;
      font-weight: 400;
      color: var(--ink-mid);
      line-height: 1.6;
      overflow-x: hidden;
    }

    /* ── PAGE HEADER ── */
    .page-header {
      padding: 120px 52px 40px;
      max-width: 720px;
      margin: 0 auto;
    }

    .page-header-meta {
      font-size: 11px;
      font-weight: 500;
      letter-spacing: 2px;
      text-transform: uppercase;
      color: var(--ink-light);
      margin-bottom: 12px;
    }

    .page-header h1 {
      font-size: 28px;
      font-weight: 500;
      color: var(--ink);
      line-height: 1.2;
      margin-bottom: 8px;
    }

    .page-header-date {
      font-size: 12px;
      color: var(--ink-light);
    }

    /* ── DOCUMENT ── */
    .policy-wrap {
      max-width: 720px;
      margin: 0 auto;
      padding: 0 52px 80px;
    }

    /* TOC */
    .toc {
      background: rgba(255, 255, 255, 0.5);
      border: 1px solid rgba(196, 191, 223, 0.6);
      border-left: 3px solid var(--accent-rose);
      padding: 20px 24px;
      margin-bottom: 40px;
    }

    .toc-label {
      font-size: 10px;
      font-weight: 500;
      letter-spacing: 2px;
      text-transform: uppercase;
      color: var(--ink-light);
      margin-bottom: 12px;
    }

    .toc-list {
      list-style: none;
      columns: 2;
      column-gap: 32px;
    }

    .toc-list li {
      margin-bottom: 5px;
      break-inside: avoid;
    }

    .toc-list a {
      font-size: 13px;
      color: var(--ink-mid);
      text-decoration: none;
      transition: color var(--t-micro);
    }

    .toc-list a:hover {
      color: var(--accent-rose);
    }

    /* Intro note */
    .policy-intro {
      font-size: 13px;
      color: var(--ink-light);
      border-bottom: 1px solid rgba(196, 191, 223, 0.5);
      padding-bottom: 24px;
      margin-bottom: 32px;
      line-height: 1.6;
    }

    .policy-intro a {
      color: var(--accent-rose);
      text-decoration: none;
    }

    .policy-intro a:hover {
      color: var(--ink);
    }

    /* Sections */
    .policy-section {
      margin-bottom: 32px;
      scroll-margin-top: 100px;
    }

    .section-heading {
      display: flex;
      align-items: baseline;
      gap: 12px;
      margin-bottom: 10px;
      padding-bottom: 8px;
      border-bottom: 1px solid rgba(196, 191, 223, 0.5);
    }

    .section-num {
      font-size: 10px;
      font-weight: 500;
      letter-spacing: 2px;
      color: var(--ink-light);
      flex-shrink: 0;
      padding-top: 2px;
    }

    .section-title {
      font-size: 14px;
      font-weight: 500;
      color: var(--ink);
      line-height: 1.3;
    }

    /* Body text — single style, no mixing */
    .policy-body {
      font-size: 14px;
      color: var(--ink-mid);
      line-height: 1.6;
    }

    .policy-body p {
      margin-bottom: 10px;
    }

    .policy-body p:last-child {
      margin-bottom: 0;
    }

    /* Bold labels sit inline, same size as body */
    .policy-body strong {
      font-weight: 500;
      color: var(--ink);
    }

    .policy-body a {
      color: var(--accent-rose);
      text-decoration: none;
    }

    .policy-body a:hover {
      color: var(--ink);
    }

    /* Callout note */
    .policy-note {
      background: rgba(255, 255, 255, 0.5);
      border-left: 3px solid var(--accent-gold);
      padding: 12px 16px;
      margin: 12px 0;
      font-size: 13px;
      color: var(--ink-mid);
      line-height: 1.6;
    }

    .policy-note a {
      color: var(--accent-rose);
      text-decoration: none;
    }

    .policy-note a:hover {
      color: var(--ink);
    }

    /* Contact block */
    .contact-block {
      background: rgba(255, 255, 255, 0.5);
      border: 1px solid rgba(196, 191, 223, 0.6);
      padding: 16px 20px;
      margin-top: 12px;
      font-size: 13px;
      line-height: 1.7;
      color: var(--ink-mid);
    }

    .contact-block a {
      color: var(--accent-rose);
      text-decoration: none;
    }

    .contact-block a:hover {
      color: var(--ink);
    }

    /* ── FOOTER ── */

    @media (max-width: 900px) {
      nav {
        padding: 16px 24px;
      }

      .nav-links {
        display: none;
      }

      .nav-hamburger {
        display: flex;
      }

      .page-header {
        padding: 100px 24px 32px;
      }

      .policy-wrap {
        padding: 0 24px 64px;
      }

      .toc-list {
        columns: 1;
      }

      footer {
        padding: 48px 24px 24px;
      }

      .footer-top {
        flex-direction: column;
        gap: 28px;
      }

      .footer-right {
        align-items: flex-start;
      }

      .footer-bottom {
        flex-direction: column;
        gap: 14px;
        text-align: center;
      }
    }
