
/* Base reset for legal pages */
.legal-page, .legal-page * { box-sizing: border-box; }
.legal-page h1, .legal-page h2, .legal-page h3, .legal-page p, .legal-page ul, .legal-page li, .legal-page address { margin: 0; padding: 0; }
.legal-page { background: var(--color-surface); color: var(--color-on-surface); }
.legal-hero { position: relative; overflow: hidden; padding: clamp(4rem, 9vw, 7rem) var(--spacing-lg); background: linear-gradient(135deg, #073b31, #005c43); color: #fff; }
.legal-hero::after { content: ""; position: absolute; inset: auto -12% -45% auto; width: 28rem; height: 28rem; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; }
.legal-hero-inner, .legal-article { width: min(100%, 58rem); margin: 0 auto; }
.legal-kicker { display: inline-block; margin-bottom: .8rem; font-size: .82rem; letter-spacing: .14em; text-transform: uppercase; opacity: .9; }
.legal-title { color: #fff; font-family: var(--font-family-heading); font-size: clamp(2.2rem, 6vw, 4rem); line-height: 1.08; }
.legal-intro { max-width: 48rem; margin-top: 1.25rem; font-size: 1.05rem; line-height: 1.7; color: rgba(255,255,255,.9); }
.legal-meta { margin-top: 1.25rem; font-size: .9rem; color: rgba(255,255,255,.78); }
.legal-content { padding: clamp(3.5rem, 7vw, 6rem) var(--spacing-lg); }
.legal-article { display: flex; flex-direction: column; gap: 2rem; }
.legal-section { display: flex; flex-direction: column; gap: .9rem; padding: clamp(1.4rem, 3vw, 2rem); border: 1px solid color-mix(in srgb, var(--color-outline) 32%, transparent); border-radius: var(--border-radius-lg); background: #fff; box-shadow: var(--shadow-level-1); }
.legal-section h2 { font-family: var(--font-family-heading); font-size: clamp(1.35rem, 3vw, 1.85rem); line-height: 1.3; color: #073b31; }
.legal-section h3 { margin-top: .45rem; font-size: 1.05rem; color: #184f43; }
.legal-section p, .legal-section li, .legal-section address { font-style: normal; font-size: 1rem; line-height: 1.75; color: #222827; }
.legal-section ul { display: flex; flex-direction: column; gap: .5rem; padding-left: 1.3rem; }
.legal-note { padding: 1rem 1.1rem; border-left: 4px solid var(--color-accent); background: #eef8f4; }
.legal-actions { display: flex; flex-wrap: wrap; gap: .75rem; padding-top: .5rem; }
.legal-back { width: fit-content; }
@media (max-width: 767px) {
 .legal-hero { text-align: center; padding-left: 1rem; padding-right: 1rem; }
 .legal-content { padding-left: 1rem; padding-right: 1rem; }
 .legal-section { padding: 1.15rem; }
 .legal-section h2, .legal-section h3 { text-align: center; }
 .legal-actions { flex-direction: column; }
 .legal-actions .btn { width: 100%; }
}

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

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

