  /* ── CONTENT ── */
    .page-body { flex: 1; padding: 72px 52px 104px; position: relative; }

  .legal-content-col { max-width: 720px; margin: 0 auto; }
  
  .legal-section { margin-bottom: 68px; scroll-margin-top: 108px; }
  .legal-section:last-child { margin-bottom: 0; }

  .section-num {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: var(--mono);
    font-size: 10px;
    font-weight: 400;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--ink-meta);
    margin-bottom: 16px;
  }
  .section-num::before {
    content: '';
    width: 4px; height: 4px;
    background: var(--green);
    display: inline-block;
  }

  .legal-section h2 {
    font-family: var(--sans);
    font-size: 28px;
    font-weight: 300;
    letter-spacing: -0.025em;
    color: var(--ink);
    line-height: 1.18;
    margin-bottom: 26px;
  }

  .legal-section p {
    font-size: 15px;
    line-height: 1.75;
    color: var(--ink-body);
    margin-bottom: 16px;
    font-weight: 300;
  }
  .legal-section p:last-child { margin-bottom: 0; }

  .legal-section p strong { color: var(--ink); font-weight: 500; }

  .legal-section .address { margin: 18px 0 22px; line-height: 1.9; }

  .legal-section a {
    color: var(--ink);
    text-decoration: none;
    border-bottom: 0.5px solid var(--green);
    transition: color 0.2s, border-color 0.2s;
    word-break: break-all;
  }
  .legal-section a:hover { color: var(--green-dk); border-bottom-color: var(--green); }

  .legal-section ul { list-style: none; padding: 0; margin: 16px 0 22px; }
  .legal-section ul li {
    font-size: 15px;
    line-height: 1.72;
    color: var(--ink-body);
    padding-left: 24px;
    position: relative;
    margin-bottom: 6px;
    font-weight: 300;
  }
  .legal-section ul li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.82em;
    width: 12px;
    height: 0.5px;
    background: var(--ink-meta);
  }
  .legal-section ul li strong { color: var(--ink); font-weight: 500; }
   /* ── DOCK — fixed, hidden by default, revealed on scroll ── */
  .dock {
    position: fixed;
    left: 36px;
    top: 50%;
    z-index: 25;
    display: none;
    padding: 16px 0;

    /* Hidden state */
    opacity: 0;
    transform: translateY(-50%) translateX(-8px);
    pointer-events: none;
    transition:
      opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1),
      transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  }

  @media (min-width: 992px) { .dock { display: block; } }

  /* Revealed state — triggered by JS when page-title leaves viewport */
  .dock.is-visible {
    opacity: 1;
    transform: translateY(-50%) translateX(0);
    pointer-events: auto;
  }

  .dock-items {
    display: flex;
    flex-direction: column;
    gap: 1px;
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .dock-items > li { display: block; }

  .dock-item {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 4px 0;
    text-decoration: none;
    transform-origin: left center;
    position: relative;
    will-change: transform;
    transition: transform 120ms cubic-bezier(0.34, 1.2, 0.64, 1);
  }

  .dock-num {
    font-family: var(--mono);
    font-size: 10px;
    font-weight: 400;
    color: var(--ink-meta);
    min-width: 20px;
    letter-spacing: 0.05em;
    transition: color 0.2s;
    line-height: 1;
  }

  .dock-label {
    font-family: var(--sans);
    font-size: 11px;
    font-weight: 300;
    color: var(--ink-body);
    white-space: nowrap;
    opacity: 0;
    transition: opacity 0.2s;
    pointer-events: none;
    line-height: 1;
  }

  .dock-item.active .dock-num { color: var(--ink); font-weight: 500; }
  .dock-item.active .dock-label { opacity: 1; }
  .dock-item.active::before {
    content: '';
    position: absolute;
    left: -14px;
    top: 50%;
    transform: translateY(-50%);
    width: 5px;
    height: 5px;
    background: var(--green);
    border-radius: 50%;
  }

  .dock-item:focus-visible { outline: none; }
  .dock-item:focus-visible .dock-label { opacity: 1; }
  .dock-item:focus-visible .dock-num { color: var(--ink); }

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .dock-item { transform: none !important; transition: none !important; }
    .dock { transition: opacity 0.25s linear !important; }
    * { animation: none !important; }
  }