
.legal-page { background: var(--color-surface); color: var(--color-on-surface); min-height: 100vh; }
.legal-header { background: var(--color-primary); color: var(--color-surface); position: sticky; top: 0; z-index: 20; box-shadow: 0 2px 18px rgba(0,0,0,.16); }
.legal-header__inner { max-width: 1200px; margin: 0 auto; padding: 1rem 1.5rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.legal-brand { font-family: var(--font-family-heading); font-size: clamp(1.15rem,2vw,1.55rem); font-weight: 700; color: inherit; }
.legal-nav { display: flex; gap: 1rem; flex-wrap: wrap; justify-content: flex-end; }
.legal-nav a { color: inherit; opacity: .92; font-weight: 600; }
.legal-nav a:hover { opacity: 1; text-decoration: underline; }
.legal-main { max-width: 980px; margin: 0 auto; padding: clamp(2.5rem,6vw,5rem) 1.5rem; }
.legal-hero { background: linear-gradient(135deg, var(--color-primary), #1f2a44); color: #fff; border-radius: var(--border-radius-xl); padding: clamp(2rem,5vw,4rem); margin-bottom: 2.5rem; }
.legal-hero h1 { margin: 0 0 1rem; font-family: var(--font-family-heading); font-size: clamp(2rem,6vw,3.25rem); line-height: 1.1; }
.legal-hero p { max-width: 760px; opacity: .92; }
.legal-card { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--border-radius-lg); padding: clamp(1.35rem,3.5vw,2.25rem); margin: 0 0 1.5rem; box-shadow: 0 7px 24px rgba(15,23,42,.06); }
.legal-card h2 { font-family: var(--font-family-heading); margin: 0 0 1rem; font-size: clamp(1.45rem,3.5vw,2rem); color: var(--color-primary); }
.legal-card h3 { margin: 1.4rem 0 .6rem; font-size: 1.15rem; }
.legal-card p, .legal-card li { line-height: 1.75; }
.legal-card ul, .legal-card ol { padding-left: 1.25rem; }
.legal-card li + li { margin-top: .45rem; }
.legal-meta { font-size: .95rem; opacity: .8; margin-top: 1rem; }
.legal-back { margin: 2rem 0 0; display: flex; justify-content: center; }
.legal-footer { background: var(--color-primary); color: #fff; }
.legal-footer__inner { max-width: 1200px; margin: 0 auto; padding: 2rem 1.5rem; display: flex; flex-direction: column; gap: .8rem; text-align: center; }
.legal-footer__links { display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem 1.4rem; }
.legal-footer a { color: inherit; text-decoration: underline; }
@media (max-width: 767px) {
  .legal-header__inner { flex-direction: column; align-items: stretch; text-align: center; }
  .legal-nav { justify-content: center; }
  .legal-main { padding-left: 16px; padding-right: 16px; }
  .legal-hero, .legal-card { width: 100%; }
  .legal-hero h1, .legal-card h2, .legal-card h3 { text-align: center; }
  .legal-card ul, .legal-card ol { padding-left: 1.1rem; }
}
@media (max-width: 420px) {
  .legal-nav { flex-direction: column; gap: .55rem; }
}

*,
*::before,
*::after {
box-sizing: border-box;
}

body {
margin: 0;
font: 16px/1.25 Arial, serif;
position: relative;
appearance: none;
}

