/* recint — legal pages (terms, privacy) */

@font-face {
  font-family: 'Publica Play';
  src: url('/assets/fonts/publicaplay-light.otf') format('opentype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

:root {
  color-scheme: light;
  --paper: #ffffff;
  --ink: #121110;
  --periwinkle: #b8c0ff;
}

* { box-sizing: border-box; }

html {
  background: var(--paper);
}

body {
  min-width: 320px;
  margin: 0;
  background:
    radial-gradient(circle at 50% 0%, rgba(184, 192, 255, 0.08), transparent 32rem),
    var(--paper);
  color: rgba(18, 17, 16, 0.86);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  -webkit-font-smoothing: antialiased;
}

::selection { background: var(--periwinkle); color: var(--ink); }

.legal-page {
  min-height: 100svh;
  padding: clamp(24px, 5vw, 48px);
  padding-bottom: clamp(48px, 10vh, 96px);
}

.legal-header {
  max-width: 680px;
  margin: 0 auto clamp(48px, 8vh, 80px);
}

.legal-home-link {
  display: inline-block;
  color: var(--ink);
  font-family: 'Publica Play', Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: clamp(24px, 3vw, 32px);
  font-weight: 300;
  line-height: 1;
  text-decoration: none;
  text-transform: lowercase;
  opacity: 0.9;
  transition: opacity 200ms ease;
}

.legal-home-link:hover { opacity: 1; }

.legal-back-arrow {
  display: inline-block;
  margin-right: 0.35em;
  opacity: 0.56;
  font-size: 0.78em;
  vertical-align: 0.06em;
  transition: transform 200ms ease, opacity 200ms ease;
}

.legal-home-link:hover .legal-back-arrow {
  transform: translateX(-4px);
  opacity: 0.9;
}

.legal-content {
  max-width: 680px;
  margin: 0 auto;
  font-size: clamp(15px, 1.1vw, 17px);
  line-height: 1.72;
}

.legal-title {
  margin: 0 0 8px;
  color: var(--ink);
  font-family: 'Publica Play', Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: clamp(32px, 4vw, 48px);
  font-weight: 300;
  line-height: 1.1;
  text-transform: lowercase;
}

.legal-updated {
  margin: 0 0 clamp(32px, 5vh, 48px);
  color: rgba(18, 17, 16, 0.5);
  font-size: clamp(13px, 0.9vw, 14px);
}

.legal-content h2 {
  margin: clamp(32px, 4vh, 44px) 0 16px;
  color: var(--ink);
  font-size: clamp(18px, 1.4vw, 22px);
  font-weight: 500;
  line-height: 1.3;
}

.legal-content h2:first-of-type { margin-top: 0; }

.legal-content p { margin: 0 0 16px; }

.legal-content ul {
  margin: 0 0 16px;
  padding-left: 20px;
}

.legal-content li { margin-bottom: 8px; }

.legal-content a {
  color: var(--ink);
  text-decoration: underline;
  text-decoration-color: var(--periwinkle);
  text-decoration-thickness: 1.5px;
  text-underline-offset: 3px;
  transition: text-decoration-color 200ms ease;
}

.legal-content a:hover {
  text-decoration-color: var(--ink);
}

@media (max-width: 720px) {
  .legal-page {
    padding: 20px;
    padding-bottom: 64px;
  }

  .legal-header {
    margin-bottom: clamp(36px, 6vh, 56px);
  }

  .legal-content { line-height: 1.68; }
}

@media (prefers-reduced-motion: reduce) {
  .legal-home-link,
  .legal-back-arrow,
  .legal-content a {
    transition: none;
  }
}
