/* Reading surfaces share the site's modal shell and typography. */
.legal-dialog { width:min(860px,calc(100% - 48px)); height:min(820px,calc(100dvh - 48px)); }
.legal-layout { display:flex; flex-direction:column; height:100%; min-height:0; }
.legal-header { flex-shrink:0; padding:32px 48px 26px; border-bottom:1px solid var(--directory-line); background:radial-gradient(ellipse at 0 0,#eeeffb,transparent 75%),#fbfcfe; }
.legal-header .directory-eyebrow { padding-right:40px; }
.legal-header h2 { margin:18px 35px 0 0; color:#20283b; font-size:34px; font-weight:400; line-height:1.2; letter-spacing:-.04em; }
.legal-content { flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#d6deea transparent; padding:30px 48px 40px; color:#536176; font-size:15px; line-height:1.85; overflow-wrap:anywhere; }
.legal-content:focus { outline:none; }
.legal-content:focus-visible { outline:2px solid #555ae866; outline-offset:-4px; }
.legal-content p { margin:0 0 20px; }
.legal-content p:last-child { margin-bottom:0; }
.legal-content h3 { margin:34px 0 16px; padding-top:26px; border-top:1px solid #e1e7ef; color:#20283b; font-size:18px; line-height:1.5; font-weight:500; letter-spacing:-.015em; }
.legal-content strong { color:#20283b; font-weight:600; }
.legal-content a { color:#555ae8; text-decoration:underline; text-underline-offset:3px; }
.legal-footer { flex-shrink:0; display:flex; flex-wrap:wrap; gap:6px 16px; justify-content:space-between; padding:16px 48px; border-top:1px solid #e1e7ef; background:#fbfcfe; color:#657187; font-size:11px; line-height:1.6; }
@media(max-width:650px) {
 .legal-dialog { width:calc(100% - 24px); height:calc(100dvh - 24px); }
 .legal-header { padding:24px 22px 20px; }
 .legal-header h2 { font-size:28px; }
 .legal-content { padding:22px; font-size:14px; line-height:1.8; }
 .legal-content h3 { font-size:16px; margin-top:28px; padding-top:22px; }
 .legal-footer { padding:12px 22px; }
}
