/* Hallmark · shape: app screen · genre: modern-minimal (inferred) · theme: brand (spec 2026-10-25) · redesign: full
 * paper: oklch(97% 0.003 106) · accent: oklch(69.8% 0.098 65) · display: Inter · body: Inter
 * nav: none (legal page) · signature: the wordmark above one plain legal sheet · states: error, busy
 * axes: warm grey/Inter/copper · posture: restrained · contrast: pass · v2.0.0 */
@import url("./login.css");

.legal { min-height: 100dvh; display: grid; justify-items: center; align-content: start; gap: var(--space-lg); padding: var(--space-2xl, var(--space-xl)) var(--space-md); }
.legal-logo { justify-self: center; text-decoration: none; color: inherit; }
.legal-logo .logo-mark { width: 44px; height: 41px; }
.legal-logo .logo-name { font-size: var(--text-xl); }
.legal-logo .logo-sub { font-size: var(--text-sm); }
.legal-logo:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 4px; border-radius: var(--radius-input); }
.legal-card {
  width: min(42rem, 100%); display: grid; gap: var(--space-lg);
  padding: var(--space-xl); background: var(--color-paper-2);
  border: var(--rule-hair) solid var(--color-rule); border-radius: var(--radius-card);
}
.legal-card h1 { font-size: var(--text-xl); }
.legal-lead { margin: calc(-1 * var(--space-sm)) 0 0; color: var(--color-muted); font-size: var(--text-sm); }
.legal-card section { display: grid; gap: var(--space-xs); padding-top: var(--space-md); border-top: var(--rule-hair) solid var(--color-rule); }
.legal-card h2 { font-size: var(--text-md); max-width: none; }
.legal-card p, .legal-card address { margin: 0; font-style: normal; line-height: 1.6; max-width: 65ch; }
.legal-card dl { margin: 0; display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: var(--space-2xs) var(--space-md); }
.legal-card dt { color: var(--color-muted); }
.legal-card dd { margin: 0; overflow-wrap: anywhere; }
.legal-card a, .legal-foot a { color: var(--color-accent-text); }
.legal-card a:focus-visible, .legal-foot a:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 2px; }
.legal-foot { display: flex; gap: var(--space-lg); font-size: var(--text-sm); }
@media (max-width: 30rem) {
  .legal-card { padding: var(--space-lg) var(--space-md); }
  .legal-card dl { grid-template-columns: minmax(0, 1fr); }
  .legal-card dd { margin-bottom: var(--space-xs); }
}
