:root {
  font-family: "Avenir Next", Avenir, "Segoe UI", Helvetica, Arial, sans-serif;
  color: #01062d;
  background: #f7f2e8;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  --navy: #01062d;
  --orange: #ffaa3d;
  --cream: #f7f2e8;
  --mint: #45e6d0;
  --pink: #ff5cc8;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; }
a { color: inherit; }
.legal-header { display: flex; align-items: center; justify-content: space-between; padding: 1.25rem clamp(1.25rem, 5vw, 4.5rem); color: white; background: var(--navy); }
.brand { display: inline-flex; align-items: center; gap: .7rem; color: white; text-decoration: none; font-weight: 900; line-height: .9; }
.brand i { display: inline-flex; width: 2.5rem; height: 2.5rem; align-items: center; justify-content: center; gap: .23rem; border-radius: 45% 55% 54% 46%; background: var(--orange); transform: rotate(-7deg); }
.brand i::before, .brand i::after { content: ""; width: .25rem; height: .82rem; border-radius: 999px; background: var(--navy); }
.brand small { display: block; margin-top: .25rem; font-size: .55rem; letter-spacing: .2em; text-transform: uppercase; opacity: .65; }
.legal-header nav { display: flex; gap: 1.25rem; font-size: .85rem; font-weight: 800; }
.legal-header nav a { color: rgb(255 255 255 / .75); text-decoration: none; }
.legal-header nav a:hover { color: white; }
.legal-hero { padding: clamp(4rem, 10vw, 8rem) clamp(1.25rem, 8vw, 9rem); color: white; background: var(--navy); }
.legal-hero p { margin: 0 0 1rem; color: var(--mint); font-size: .78rem; font-weight: 900; letter-spacing: .18em; text-transform: uppercase; }
.legal-hero h1 { max-width: 75rem; margin: 0; font-size: clamp(3.8rem, 10vw, 9rem); font-weight: 950; letter-spacing: -.08em; line-height: .82; }
.legal-hero h1 span { color: var(--orange); }
.legal-shell { display: grid; max-width: 88rem; grid-template-columns: 15rem minmax(0, 1fr); gap: clamp(2rem, 7vw, 7rem); margin: 0 auto; padding: clamp(3rem, 8vw, 7rem) clamp(1.25rem, 5vw, 4rem); }
.legal-toc { position: sticky; top: 1.5rem; align-self: start; padding: 1.25rem; border: 2px solid var(--navy); border-radius: 1.25rem; background: white; box-shadow: .45rem .5rem 0 var(--mint); }
.legal-toc strong { display: block; margin-bottom: .8rem; font-size: .72rem; letter-spacing: .15em; text-transform: uppercase; }
.legal-toc a { display: block; margin: .55rem 0; color: rgb(1 6 45 / .66); font-size: .88rem; text-decoration: none; }
.legal-toc a:hover { color: var(--navy); }
.legal-content { max-width: 52rem; }
.legal-content section { padding: 0 0 3rem; scroll-margin-top: 2rem; }
.legal-content h2 { margin: 0 0 1rem; font-size: clamp(2rem, 4vw, 3.3rem); letter-spacing: -.055em; line-height: 1; }
.legal-content h3 { margin: 1.8rem 0 .7rem; font-size: 1.2rem; }
.legal-content p, .legal-content li { color: rgb(1 6 45 / .74); font-size: 1rem; line-height: 1.75; }
.legal-content ul { padding-left: 1.2rem; }
.legal-content a { font-weight: 750; text-decoration-thickness: 2px; text-underline-offset: .2em; }
.legal-content .summary { margin-bottom: 3rem; padding: clamp(1.3rem, 4vw, 2.2rem); border-radius: 1.5rem; background: var(--orange); box-shadow: .6rem .65rem 0 var(--navy); }
.legal-content .summary p { margin: 0; color: var(--navy); font-size: 1.12rem; font-weight: 700; }
.meta { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.5rem; }
.meta span, .language-link { display: inline-block; padding: .55rem .8rem; border: 1.5px solid currentColor; border-radius: 999px; font-size: .72rem; font-weight: 850; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; }
.language-link { margin: 0 .4rem .8rem 0; }
.support-card { margin-bottom: 1rem; padding: 1.5rem; border: 2px solid var(--navy); border-radius: 1.35rem; background: white; }
.support-card h3 { margin-top: 0; }
.support-card p:last-child { margin-bottom: 0; }
.contact-button { display: inline-flex; margin-top: .8rem; padding: .85rem 1rem; border-radius: .9rem; color: var(--navy); background: var(--orange); box-shadow: .3rem .34rem 0 var(--mint); font-weight: 900; text-decoration: none; }
.legal-footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; padding: 2rem clamp(1.25rem, 5vw, 4.5rem); color: rgb(255 255 255 / .6); background: var(--navy); font-size: .82rem; }
.legal-footer div { display: flex; gap: 1rem; }
.legal-footer a { color: white; }
@media (max-width: 800px) {
  .legal-header nav a:first-child { display: none; }
  .legal-shell { grid-template-columns: 1fr; }
  .legal-toc { position: static; }
}
@media (max-width: 520px) {
  .legal-header nav { gap: .75rem; font-size: .75rem; }
  .legal-hero h1 { font-size: 3.5rem; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
