.narrow-container { max-width: 54rem; }

.legal-page { padding: 9rem 0 var(--section-spacing); }
.legal-page h1 { max-width: none; margin-bottom: 1.5rem; font-size: clamp(3.2rem, 8vw, 6rem); }
.page-intro { max-width: 44rem; margin-bottom: 4rem; color: var(--color-muted); font-size: 1.12rem; }
.legal-page section { padding: 2.25rem 0; border-top: 1px solid var(--color-border); }
.legal-page section h2 { margin-bottom: 1rem; font-size: clamp(1.9rem, 4vw, 2.65rem); }
.legal-page section p { color: var(--color-muted); }
.legal-page section a { color: var(--color-primary-dark); font-weight: 600; }
.legal-note { margin-top: 2rem; padding: 1.5rem; border-left: 2px solid var(--color-accent); background: var(--color-surface-warm); color: var(--color-muted); font-size: .85rem; }
.compact-footer { padding-top: 1.5rem; }

.error-page { min-height: 100svh; }
.error-main { position: relative; display: grid; min-height: 100svh; place-items: center; overflow: hidden; padding: 3rem 0; }
.error-content { position: relative; z-index: 2; max-width: 48rem; text-align: center; }
.error-content h1 { max-width: 14ch; margin-inline: auto; }
.error-content > p:not(.eyebrow) { max-width: 38rem; margin: 0 auto 2rem; color: var(--color-muted); }
.error-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 1.5rem; }
.text-link { min-height: 2.75rem; display: inline-flex; align-items: center; color: var(--color-primary-dark); font-weight: 600; }
.error-decoration { position: absolute; color: rgba(207,168,160,.16); font-family: var(--font-display); font-size: min(95vw, 42rem); line-height: .7; pointer-events: none; }

@media (max-width: 30rem) {
  .legal-page .header-inner .button { width: auto; }
}
