.legal-footer { border-top:1px solid #ffffff30; padding:26px 0; margin-top:24px; }
.legal-links { display:flex;flex-wrap:wrap;gap:12px 28px;margin-bottom:18px; }
.legal-links a { color:#fff;font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:4px; }
.legal-footer p { color:#d7e2ed;font-size:13px;line-height:1.85;max-width:1100px;margin:0; }
.form-check-label a[data-policy] { color:#0e3458;font-weight:700;text-decoration:underline; }
.policy-page { background:#edf2f8; }
.policy-page .navbar { position:relative; }
.policy-header { padding:70px 0 38px; }
.policy-header h1 { font-size:clamp(2.3rem,5vw,3.5rem);letter-spacing:-.04em; }
.policy-content { background:#fff;padding:clamp(24px,5vw,56px);border-radius:26px;box-shadow:var(--shadow-soft);margin-bottom:70px;line-height:1.85; }
.policy-content h2 { font-size:1.4rem;margin:30px 0 12px; }
.policy-content h2:first-child { margin-top:0; }
.policy-content h3,.policy-content h4 { font-size:1.2rem;line-height:1.5;margin:28px 0 12px; }
.policy-content li { margin-bottom:10px; }
.policy-content li > p { margin-bottom:0; }
.policy-content { overflow-wrap:anywhere; }
.policy-content a { color:#0e3458;text-decoration:underline; }
.partner-list { columns:3 240px;column-gap:36px;padding-left:22px; }
.partner-list li { break-inside:avoid;padding:5px 0;overflow-wrap:anywhere; }
.partner-search { margin-bottom:24px;max-width:520px; }
