/* =============================================================================
   LEGAL — long-form reading. Wider line height, narrower measure, same glass.
   ========================================================================== */
.legal { padding: calc(var(--nav-h) + 56px) 0 0; }
.legal .wrap { max-width: 860px; }

.legal-head { margin-bottom: 28px; }
.legal-head h1 { font-size: clamp(28px, 3.4vw, 40px); margin-top: 12px; letter-spacing: -.028em; }   /* the `headline` step */
.legal-head p { color: var(--muted); margin-top: 14px; font-size: 15px; }

.legal-nav { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 28px; }
.legal-nav a {
  height: 36px; display: inline-flex; align-items: center; padding: 0 16px;
  border-radius: 999px; border: 1px solid var(--glass-line); background: var(--glass);
  backdrop-filter: var(--blur-soft); -webkit-backdrop-filter: var(--blur-soft);
  font-size: 13px; color: var(--muted); transition: all .15s;
}
.legal-nav a:hover { color: var(--text); background: var(--glass-hi); border-color: var(--glass-line-2); }

.legal-card {
  border: 1px solid var(--glass-line); border-radius: var(--radius-xl);
  background: var(--glass); backdrop-filter: var(--blur); -webkit-backdrop-filter: var(--blur);
  padding: 34px 36px; margin-bottom: 18px; scroll-margin-top: calc(var(--nav-h) + 20px);
}
.legal-card h2 { font-size: 21px; letter-spacing: -.02em; }   /* the `title` step */
.legal-card h3 {
  font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--accent);
  margin: 30px 0 10px; font-weight: 600;
}
.legal-card h2 + h3 { margin-top: 24px; }
.legal-card p { color: var(--muted); font-size: 15px; line-height: 1.75; margin-bottom: 12px; }
.legal-card p:last-child { margin-bottom: 0; }
.legal-card b { color: var(--text); font-weight: 550; }

.legal-list { margin: 0 0 14px; padding: 0; list-style: none; }
.legal-list li {
  color: var(--muted); font-size: 15px; line-height: 1.7;
  padding: 10px 0 10px 22px; position: relative; border-bottom: 1px solid var(--glass-line);
}
.legal-list li:last-child { border-bottom: 0; }
.legal-list li::before {
  content: ''; position: absolute; left: 4px; top: 20px;
  width: 5px; height: 5px; border-radius: 50%; background: var(--accent); opacity: .75;
}
.legal-card code {
  font-family: var(--mono); font-size: 13px; color: var(--text);
  background: rgba(255,255,255,.05); border: 1px solid var(--glass-line);
  border-radius: 6px; padding: 1px 6px;
}

.legal-foot { color: var(--dim); font-size: 13.5px; margin-top: 26px; }

@media (max-width: 700px) {
  .legal { padding-top: calc(var(--nav-h) + 30px); }
  .legal-card { padding: 24px 20px; }
  .legal-card p, .legal-list li { font-size: 14.5px; }
}
