:root {
  --ink: #321b22;
  --espresso: #3a1720;
  --paper: #fffaf5;
  --cream: #f7ede6;
  --rose: #c64b3d;
  --muted: #745f63;
  --line: rgba(50, 27, 34, .15);
  --serif: "Italiana", "Times New Roman", serif;
  --sans: "Poppins", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); font-size: .9375rem; font-weight: 300; line-height: 1.8; }
a { color: inherit; }
.legal-shell { min-height: 100vh; }
.legal-header { position: sticky; top: 0; z-index: 10; display: flex; align-items: center; justify-content: space-between; min-height: 76px; padding: 0 clamp(24px, 7vw, 110px); color: #fff; background: rgba(58, 23, 32, .96); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
.legal-brand { font-weight: 600; letter-spacing: -.03em; text-decoration: none; }
.legal-back { display: inline-flex; gap: 9px; align-items: center; padding-bottom: 3px; border-bottom: 1px solid rgba(255,255,255,.45); font-size: .8125rem; text-decoration: none; }
.legal-hero { padding: clamp(80px, 10vw, 145px) clamp(24px, 7vw, 110px) clamp(60px, 8vw, 100px); background: var(--cream); }
.legal-kicker { margin: 0 0 14px; color: var(--rose); font-size: .72rem; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; }
.legal-hero h1 { max-width: 950px; margin: 0; font-family: var(--serif); font-size: clamp(3.7rem, 8vw, 7.5rem); font-weight: 400; letter-spacing: -.04em; line-height: .95; }
.legal-hero p:last-child { max-width: 700px; margin: 30px 0 0; color: var(--muted); }
.legal-layout { display: grid; grid-template-columns: minmax(190px, .36fr) minmax(0, 1fr); gap: clamp(45px, 8vw, 130px); align-items: start; padding: clamp(70px, 9vw, 120px) clamp(24px, 7vw, 110px); }
.legal-nav { position: sticky; top: 110px; display: grid; gap: 11px; padding-top: 10px; }
.legal-nav strong { margin-bottom: 8px; font-size: .72rem; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; }
.legal-nav a { width: fit-content; color: var(--muted); font-size: .8125rem; text-decoration: none; }
.legal-nav a:hover { color: var(--ink); }
.legal-content { max-width: 850px; }
.legal-content section { padding: 0 0 48px; margin: 0 0 48px; border-bottom: 1px solid var(--line); scroll-margin-top: 110px; }
.legal-content section:last-child { margin-bottom: 0; }
.legal-content h2 { margin: 0 0 20px; font-family: var(--serif); font-size: clamp(2rem, 4vw, 3rem); font-weight: 400; line-height: 1.15; }
.legal-content h3 { margin: 30px 0 10px; font-size: .95rem; font-weight: 500; }
.legal-content p { margin: 0 0 16px; color: var(--muted); }
.legal-content ul { display: grid; gap: 10px; margin: 16px 0; padding-left: 20px; color: var(--muted); }
.legal-content a { color: var(--ink); text-underline-offset: 3px; }
.legal-note { padding: 22px 25px; border-left: 3px solid var(--rose); background: var(--cream); }
.legal-contact { color: var(--ink) !important; font-style: normal; }
.legal-footer { display: flex; flex-direction: column; gap: 18px; padding: 35px clamp(24px, 7vw, 110px); color: #c6aaa5; background: #2b1118; font-size: .8rem; }
.legal-footer-main { display: flex; gap: 24px; align-items: center; justify-content: space-between; width: 100%; }
.legal-footer-main div { display: flex; gap: 22px; }
.legal-footer a { color: #f2dfda; text-decoration: none; }
.legal-footer a:hover { text-decoration: underline; }
.legal-credit { margin: 0; text-align: center; font-size: .75rem; color: #8c6c6a; }
.legal-credit a { color: #c6aaa5; }

@media (max-width: 760px) {
  .legal-header { min-height: 68px; }
  .legal-brand { max-width: 190px; font-size: .78rem; line-height: 1.3; }
  .legal-hero { padding-top: 72px; }
  .legal-layout { grid-template-columns: 1fr; }
  .legal-nav { position: static; padding: 0 0 35px; border-bottom: 1px solid var(--line); }
  .legal-content section { scroll-margin-top: 88px; }
  .legal-footer-main { align-items: flex-start; flex-direction: column; gap: 12px; }
  .legal-footer-main div { flex-wrap: wrap; }
  .legal-credit { text-align: left; }
}
