.legal-main { padding: clamp(3rem, 7vw, 6rem) 1.25rem; }
.legal-shell { width: min(100%, 56rem); margin: 0 auto; }
.legal-header { margin-bottom: 2.5rem; text-align: center; }
.legal-header p { margin-top: 1rem; color: var(--color-on-surface-secondary); }
.legal-card { padding: clamp(1.5rem, 4vw, 3.5rem); background: #fff; border: 1px solid var(--color-border); border-radius: var(--border-radius-lg); box-shadow: var(--shadow-level-1); }
.legal-card section { padding: 1.4rem 0; overflow: visible; }
.legal-card section + section { border-top: 1px solid var(--color-border); }
.legal-card h2 { margin-bottom: .75rem; font: 700 clamp(1.25rem, 3vw, 1.65rem)/1.3 var(--font-family-heading); }
.legal-card h3 { margin: 1rem 0 .5rem; font-size: 1.05rem; }
.legal-card p, .legal-card li { color: var(--color-on-surface-secondary); line-height: 1.75; }
.legal-card p + p, .legal-card ul + p, .legal-card p + ul { margin-top: .75rem; }
.legal-card ul { margin: .75rem 0 0; padding-left: 1.4rem; }
.legal-contact { padding: 1rem; background: var(--color-surface-elevated); border-radius: var(--border-radius-sm); }
.legal-back { display: flex; justify-content: center; margin-top: 2rem; }
@media (max-width: 767px) {
  .legal-main { padding: 2.5rem 1rem; }
  .legal-card { padding: 1.25rem; }
  .legal-card h1, .legal-card h2, .legal-card h3, .legal-header { text-align: center; }
}


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

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

