/* Shared styling for the privacy, terms and 404 pages. Tokens match index.html. */
:root {
  --sc-canvas: #F7F6F2; --sc-surface: #FFFFFF; --sc-ink: #15171B; --sc-ink-soft: #5A5F69;
  --sc-accent: #1E4FD8; --sc-accent-ink: #FFFFFF;
  --sc-font-display: "Inter", system-ui, sans-serif; --sc-font-text: "Inter", system-ui, sans-serif;
  --sc-shadow-color: 40 12% 20%;
  --sc-e1: 0 1px 2px hsl(var(--sc-shadow-color) / 0.10), 0 2px 6px -1px hsl(var(--sc-shadow-color) / 0.08);
  --sc-e2: 0 2px 4px hsl(var(--sc-shadow-color) / 0.10), 0 10px 22px -6px hsl(var(--sc-shadow-color) / 0.16);
  --sc-edge: inset 0 1px 0 rgba(255,255,255,0.9);
  --plate-r: 18px; --ctl-r: 10px;
}
html { font-optical-sizing: auto; font-feature-settings: "cv11"; }
body { background: var(--sc-canvas); }
.sc-display { font-weight: 600; letter-spacing: -0.025em; }
.bar { position: sticky; top: 0; z-index: 10; display: flex; align-items: center; justify-content: space-between; gap: var(--sc-4); padding: var(--sc-4) var(--sc-gutter); background: color-mix(in oklab, var(--sc-canvas) 88%, transparent); backdrop-filter: blur(10px); }
.mark img { height: 3.4rem; width: auto; display: block; }
.bar__back { text-decoration: none; font-weight: 500; font-size: var(--sc-t-sm); display: inline-flex; align-items: center; gap: 0.5rem; }
.bar__back::before { content: ""; width: 0.5rem; height: 0.5rem; border-left: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); }
.bar__tel { text-decoration: none; font-weight: 500; }
.wrap { width: 100%; max-width: 52rem; margin-inline: auto; padding: var(--sc-6) var(--sc-gutter) var(--sc-9); }
.plate { background: var(--sc-surface); border-radius: var(--plate-r); box-shadow: var(--sc-e2), var(--sc-edge); padding: var(--sc-7); }
.legal__kicker { margin: 0 0 var(--sc-3); font-size: var(--sc-t-xs); letter-spacing: 0.04em; text-transform: uppercase; color: var(--sc-ink-soft); }
.legal h1 { margin: 0 0 var(--sc-4); }
.legal__lede { font-size: var(--sc-t-lg); line-height: 1.5; color: var(--sc-ink); margin: 0 0 var(--sc-6); text-wrap: pretty; }
.legal h2 { font-size: var(--sc-t-lg); font-weight: 600; letter-spacing: -0.015em; margin: var(--sc-6) 0 var(--sc-3); padding-top: var(--sc-5); border-top: 1px solid var(--sc-hairline); }
.legal p, .legal li { font-size: var(--sc-t-base); line-height: 1.65; color: var(--sc-ink); text-wrap: pretty; }
.legal p { margin: 0 0 var(--sc-4); }
.legal ul { margin: 0 0 var(--sc-4) 1.2rem; padding: 0; display: grid; gap: 0.6rem; }
.legal a { color: var(--sc-accent); }
.foot { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--sc-3) var(--sc-6); padding: var(--sc-5) var(--sc-gutter); font-size: var(--sc-t-xs); color: var(--sc-ink-soft); border-top: 1px solid var(--sc-hairline-strong); }
.foot a { text-decoration: none; color: inherit; } .foot a:hover { color: var(--sc-ink); }
@media (max-width: 860px) { .mark img { height: 2.5rem; } .bar__tel { display: none; } .plate { padding: var(--sc-5); } }
