:root {
  --legal-ink: #17131b;
  --legal-plum: #171020;
  --legal-ivory: #fcf9f4;
  --legal-cream: #f5f0e8;
  --legal-gold: #e4d2ad;
  --legal-muted: #655e69;
  --legal-display: "Bodoni Moda", Didot, "Times New Roman", serif;
  --legal-body: "Manrope", system-ui, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; color: var(--legal-ink); background: var(--legal-cream); font-family: var(--legal-body); line-height: 1.7; }
a { color: inherit; }
:focus-visible { outline: 3px solid #c7a86b; outline-offset: 4px; }
.legal-skip { position: fixed; z-index: 100; top: 10px; left: 10px; padding: 8px 14px; color: var(--legal-ink); background: var(--legal-ivory); border-radius: 999px; transform: translateY(-160%); }
.legal-skip:focus { transform: translateY(0); }
.legal-nav { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 15px max(20px, calc((100% - 1120px) / 2)); color: var(--legal-ivory); background: #0e0914; border-bottom: 1px solid rgba(252,249,244,.1); }
.legal-nav img { width: 148px; height: auto; }
.legal-nav a:last-child { font-size: .72rem; font-weight: 800; text-decoration: none; }
.legal-hero { padding: 120px max(22px, calc((100% - 1120px) / 2)) 72px; color: var(--legal-ivory); background: radial-gradient(circle at 78% 30%, rgba(107,74,121,.35), transparent 28%), var(--legal-plum); }
.legal-label { margin: 0 0 14px; color: var(--legal-gold); font-size: .67rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.legal-hero h1 { max-width: 930px; margin: 0; font-family: var(--legal-display); font-size: clamp(3rem, 9vw, 6rem); font-weight: 500; letter-spacing: -.055em; line-height: .93; }
.legal-hero > p:last-child { max-width: 720px; margin: 24px 0 0; color: rgba(252,249,244,.66); }
.legal-layout { display: grid; gap: 36px; max-width: 1120px; margin-inline: auto; padding: 68px 22px 100px; }
.legal-index { align-self: start; padding: 22px; background: var(--legal-ivory); border: 1px solid rgba(23,19,27,.12); border-radius: 18px; }
.legal-index strong { display: block; margin-bottom: 12px; color: #806d48; font-size: .66rem; letter-spacing: .12em; text-transform: uppercase; }
.legal-index a { display: block; padding: 7px 0; color: var(--legal-muted); font-size: .75rem; }
.legal-content { min-width: 0; }
.legal-content section { padding: 0 0 34px; border-bottom: 1px solid rgba(23,19,27,.13); }
.legal-content section + section { padding-top: 34px; }
.legal-content h2 { margin: 0 0 15px; font-family: var(--legal-display); font-size: clamp(2rem, 6vw, 3rem); font-weight: 500; letter-spacing: -.035em; line-height: 1; }
.legal-content h3 { margin: 24px 0 8px; font-size: .9rem; }
.legal-content p, .legal-content li { color: var(--legal-muted); font-size: .86rem; }
.legal-content ul, .legal-content ol { display: grid; gap: 9px; padding-left: 20px; }
.legal-callout { padding: 20px; background: #e8dfeb; border-radius: 16px; }
.legal-table-wrap { overflow-x: auto; }
.legal-table { width: 100%; border-collapse: collapse; font-size: .76rem; }
.legal-table th, .legal-table td { padding: 13px 12px; border-bottom: 1px solid rgba(23,19,27,.13); text-align: left; vertical-align: top; }
.legal-table th { color: #806d48; font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; }
.legal-updated { margin: 35px 0 0; color: #806d48; font-size: .7rem; font-weight: 700; }
.legal-footer { display: grid; gap: 18px; padding: 38px max(22px, calc((100% - 1120px) / 2)); color: rgba(252,249,244,.58); background: #09060d; font-size: .7rem; }
.legal-footer__links { display: flex; flex-wrap: wrap; gap: 10px 18px; }
.legal-footer a, .legal-footer button { padding: 0; color: inherit; background: none; border: 0; font: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }

.not-found { min-height: 100dvh; display: grid; align-content: center; gap: 64px; padding: clamp(28px, 7vw, 90px); color: #fcf9f4; background: radial-gradient(circle at 80% 20%, rgba(107,74,121,.45), transparent 34%), #171020; }
.not-found__brand img { display: block; width: 182px; height: auto; }
.not-found > div { max-width: 750px; }
.not-found h1 { max-width: 650px; margin: 12px 0 20px; font: 500 clamp(3.2rem, 10vw, 7.5rem)/.88 "Bodoni Moda", Didot, serif; letter-spacing: -.055em; }
.not-found > div > p:not(.legal-label) { max-width: 560px; color: rgba(252,249,244,.72); font-size: clamp(.95rem, 1.6vw, 1.12rem); line-height: 1.7; }
.not-found__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; margin-top: 30px; }
.legal-button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; padding: 12px 22px; color: #171020; background: #d9bc80; border-radius: 999px; font-size: .75rem; font-weight: 800; text-decoration: none; }
.legal-link { color: #fcf9f4; font-size: .75rem; font-weight: 800; text-underline-offset: 5px; }

@media (min-width: 860px) {
  .legal-layout { grid-template-columns: 250px minmax(0,1fr); gap: 70px; }
  .legal-index { position: sticky; top: 24px; }
  .legal-footer { grid-template-columns: 1fr auto; align-items: center; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
