:root {
  color: #171b24;
  background: #fff;
  font: 16px/1.7 system-ui, -apple-system, sans-serif;
}
body { margin: 0; }
a { color: #174aa4; text-underline-offset: .2em; overflow-wrap: anywhere; }
a:focus-visible { outline: 2px solid #174aa4; outline-offset: 4px; }
.legal-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .75rem 1.5rem;
  max-width: 67rem;
  margin: auto;
  padding: 1.15rem clamp(1.25rem, 4vw, 3rem);
  border-bottom: 1px solid #e6e9ef;
}
.legal-brand { display: inline-flex; align-items: center; gap: .65rem; color: inherit; font-weight: 750; text-decoration: none; }
.legal-brand img { border-radius: .5rem; }
.legal-header nav, .legal-footer { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; font-size: .875rem; }
.legal-header [aria-current="page"], .meta { color: #535b69; }
.legal-page { max-width: 46rem; margin: auto; padding: clamp(2rem, 6vw, 5rem) clamp(1.25rem, 4vw, 3rem) 4rem; }
h1, h2, h3 { line-height: 1.25; }
h1 { margin: 0 0 .7rem; font-size: clamp(2.1rem, 6vw, 3.5rem); letter-spacing: -.035em; }
h2 { margin: 2.4rem 0 .7rem; font-size: clamp(1.25rem, 3vw, 1.6rem); scroll-margin-top: 1.25rem; }
h3 { margin: 1.6rem 0 .5rem; font-size: 1.05rem; }
p { margin: .6rem 0 1rem; }
li + li { margin-top: .55rem; }
.meta { font-size: .9rem; }
.legal-contents { margin: 1.75rem 0 2.5rem; padding: 1rem 1.25rem; border: 1px solid #e6e9ef; border-radius: .8rem; background: #f7f9fc; }
.legal-contents ul { margin: .55rem 0 0; padding-inline-start: 1.25rem; }
.legal-contents li + li { margin-top: .2rem; }
.legal-footer { margin-top: 2.5rem; padding-top: 1rem; border-top: 1px solid #e6e9ef; }
