body::before { opacity: .09; }
.legal-page { position: relative; z-index: 1; width: min(100% - 32px, 820px); margin: 0 auto; padding: 42px 0 34px; }
.back-link { display: inline-block; color: rgba(255,248,223,.72); text-decoration: none; font-size: .86rem; }
.back-link:hover { color: #fff1c9; }
.legal-header { padding: 48px 0 30px; text-align: center; }
.legal-mark { margin: 0 0 14px; padding-left: .25em; color: #fff1c9; font-size: 1.15rem; font-weight: 300; letter-spacing: .25em; }
.legal-header h1 { margin: 0; color: #fff1c9; font-family: Georgia, serif; font-size: clamp(2rem, 6vw, 3.35rem); font-weight: 400; line-height: 1.12; }
.legal-header > p:last-child { margin: 17px 0 0; color: rgba(255,248,223,.58); font-size: .78rem; }
.legal-card { padding: clamp(25px, 6vw, 56px); color: #15315b; background: linear-gradient(145deg, rgba(255,250,229,.98), rgba(255,229,180,.97)); border-radius: 30px; box-shadow: 0 24px 56px rgba(0,12,42,.3); text-align: left; }
.legal-card section + section { margin-top: 30px; padding-top: 27px; border-top: 1px solid rgba(19,79,107,.17); }
.legal-card h2 { margin: 0 0 11px; color: #176b82; font-family: Georgia, serif; font-size: clamp(1.15rem, 3vw, 1.4rem); font-weight: 400; }
.legal-card p { margin: 9px 0 0; font-size: .96rem; line-height: 1.68; }
.legal-card a { color: #087894; text-underline-offset: 3px; }
.legal-footer { display: flex; justify-content: space-between; gap: 20px; margin-top: 25px; color: rgba(255,255,255,.38); font-size: .75rem; }
.legal-footer a { color: rgba(255,255,255,.62); }
@media (max-width: 520px) { .legal-page { padding-top: 25px; } .legal-header { padding-top: 37px; } .legal-card { border-radius: 22px; } .legal-card p { font-size: .9rem; } .legal-footer { flex-direction: column; align-items: center; } }
