/* Privacy Policy + Terms pages — builds on site.css */
.legal-page { background: var(--paper); }
.legal-hero { background: var(--ink); color: #fff; padding: 150px 0 70px; position: relative; isolation: isolate; overflow: hidden; }
.legal-hero::before { content: ""; position: absolute; inset: 0; z-index: -1;
  background: radial-gradient(700px 380px at 12% 0%, rgba(47,140,255,.28), transparent 70%), radial-gradient(600px 360px at 95% 100%, rgba(106,240,216,.14), transparent 70%); }
.legal-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background-image: radial-gradient(rgba(255,255,255,.07) 1.1px, transparent 1.3px); background-size: 34px 34px;
  -webkit-mask-image: linear-gradient(180deg, #000, transparent 85%); mask-image: linear-gradient(180deg, #000, transparent 85%); }
.legal-eyebrow { font-family: var(--mono); font-size: 12.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--sky); margin-bottom: 18px; }
.legal-hero h1 { font-size: clamp(40px, 6vw, 76px); font-weight: 800; letter-spacing: -.05em; line-height: .98; }
.legal-updated { margin-top: 18px; color: rgba(255,255,255,.62); font-size: 15px; }

.legal-body { padding: 0 0 90px; margin-top: -34px; position: relative; z-index: 2; }
.legal-card { background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); padding: clamp(24px, 5vw, 64px); max-width: 900px; margin: 0 auto;
  box-shadow: 0 30px 70px -40px rgba(6,18,28,.35); }
.legal-card .lead { font-size: clamp(17px, 2vw, 19px); color: var(--ink-3); padding-bottom: 26px; margin-bottom: 8px; border-bottom: 1px solid var(--line); }
.legal-card h2 { font-size: clamp(22px, 2.6vw, 28px); margin: 40px 0 14px; letter-spacing: -.03em; line-height: 1.1; }
.legal-card h3 { font-size: 18px; margin: 22px 0 8px; letter-spacing: -.02em; }
.legal-card p { margin: 0 0 14px; color: #2a3b49; font-size: 16.5px; }
.legal-card ul { margin: 0 0 16px; padding-left: 22px; color: #2a3b49; font-size: 16.5px; }
.legal-card li { margin: 0 0 8px; padding-left: 4px; }
.legal-card li::marker { color: var(--blue); }
.legal-card a { color: var(--blue-d); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.legal-card a:hover { color: var(--blue); }
.legal-card strong { color: var(--ink); }
.legal-other { max-width: 900px; margin: 22px auto 0; text-align: center; color: var(--muted); font-size: 15px; }
.legal-other a { color: var(--blue-d); text-decoration: underline; text-underline-offset: 3px; }

/* footer links (also used on the main pages) */
.foot-bottom { gap: 12px 24px; flex-wrap: wrap; }
.legal-page .foot-col a, .legal-page .foot-col span { display: block; }

@media (max-width: 720px) {
  .legal-hero { padding: 120px 0 56px; }
  .legal-card { border-radius: 24px; }
}
