.legal-body { margin: 0; color: #102c3a; background: #eef4f3; font-family: Arial, sans-serif; line-height: 1.55; }
.legal-header { --site-nav-background: #fff; --site-nav-foreground: #102c3a; --site-nav-border: #d5e0e2; display: flex; align-items: center; justify-content: space-between; gap: 2rem; min-height: 80px; padding: 0 clamp(1rem, 5vw, 5rem); background: #fff; border-bottom: 1px solid #d5e0e2; }
.legal-header .brand { display: inline-flex; align-items: center; gap: .55rem; color: #102c3a; font-size: 1.3rem; font-weight: 850; text-decoration: none; }
.legal-header .brand b { color: #bd5a16; }
.legal-header .mark { width: 31px; height: 31px; fill: none; stroke: currentColor; stroke-width: 2.8; }
.legal-main { width: min(960px, calc(100% - 2rem)); margin: 0 auto; padding: clamp(3rem, 8vw, 6rem) 0; }
.legal-main h1, .legal-main h2 { color: #102c3a; line-height: 1.05; }
.legal-main h1 { max-width: 760px; margin: 0; font-family: Georgia, serif; font-size: clamp(2.5rem, 6vw, 4.8rem); }
.legal-main h2 { margin: 0 0 1rem; font-size: clamp(1.4rem, 3vw, 2rem); }
.legal-intro { max-width: 700px; margin: 1.25rem 0 2.5rem; font-size: 1.12rem; color: #45606c; }
.legal-section { margin-top: 1.25rem; padding: clamp(1.35rem, 4vw, 2.4rem); background: #fff; border: 1px solid #d5e0e2; }
.legal-label { margin: 0 0 .7rem; color: #bd5a16; font-size: .76rem; font-weight: 850; letter-spacing: .18em; text-transform: uppercase; }
.legal-section p, .legal-section li { max-width: 760px; }
.legal-section a { color: #102c3a; font-weight: 750; text-underline-offset: 3px; }
.legal-notice { padding: 1rem 1.15rem; background: #edf4f2; border-left: 4px solid #1f8069; }
.legal-footer { display: flex; align-items: flex-start; justify-content: space-between; gap: 1.25rem; padding: 1.5rem clamp(1rem, 5vw, 5rem); color: rgba(255,255,255,.82); background: #102c3a; }
.footer-links { display: flex; flex-wrap: wrap; gap: .55rem 1rem; }
.footer-links a { color: #fff; font-weight: 750; text-decoration: none; }
.footer-links a:hover, .footer-links a:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
footer .footer-links { display: grid; align-content: start; gap: 7px; }
@media (max-width: 1024px) { .legal-header { min-height: 70px; } }
@media (max-width: 600px) { .legal-footer { flex-direction: column; } }
