.policy-links { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px; font-size:12px; line-height:1.6; }
.policy-links a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.auth-policy-links { margin-top:24px; color:#536577; }
.legal-agreement { display:flex; align-items:flex-start; gap:10px; margin:20px 0 6px; }
.legal-agreement input[type="checkbox"] { flex:0 0 18px; width:18px; height:18px; min-height:18px; padding:0; margin:2px 0 0; accent-color:#123b60; cursor:pointer; }
.legal-agreement label { margin:0; color:#33485e; font-size:12px; line-height:1.7; cursor:pointer; }
.legal-agreement a { color:#123b60; font-weight:700; text-decoration:underline; text-underline-offset:2px; }
.legal-agreement input:focus-visible { outline:3px solid #68b3dc; outline-offset:3px; }
.legal-agreement input[aria-invalid="true"] { outline:2px solid #a13a3a; outline-offset:2px; }
.legal-agreement-hint { margin:0 0 20px 28px; color:#536577; font-size:12px; line-height:1.6; }
.legal-page { margin:0; background:#f5f8fa; color:#20364b; font-family:Manrope,system-ui,-apple-system,sans-serif; line-height:1.75; }
.legal-page * { box-sizing:border-box; }
.legal-page a { color:#175a83; text-underline-offset:3px; }
.legal-page a:focus-visible, .legal-page button:focus-visible { outline:3px solid #68b3dc; outline-offset:4px; }
.legal-skip { position:absolute; left:16px; top:-80px; padding:10px 16px; background:white; z-index:5; }
.legal-skip:focus { top:12px; }
.legal-header { background:#fff; border-bottom:1px solid #dce5ec; }
.legal-header-inner { max-width:1160px; margin:auto; padding:22px 32px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.legal-logo img { display:block; width:155px; height:auto; }
.legal-header nav { display:flex; flex-wrap:wrap; gap:20px; font-size:13px; font-weight:700; }
.legal-header nav a { text-decoration:none; }
.legal-header nav a[aria-current="page"] { text-decoration:underline; }
.legal-hero { max-width:1160px; margin:auto; padding:64px 32px 42px; }
.legal-eyebrow { margin:0 0 12px; color:#536c80; text-transform:uppercase; letter-spacing:.15em; font-size:12px; font-weight:800; }
.legal-hero h1 { margin:0; color:#0b2340; font-size:clamp(34px,5vw,52px); line-height:1.15; letter-spacing:-.04em; }
.legal-intro { max-width:700px; margin:20px 0; color:#536577; font-size:16px; }
.legal-meta { display:flex; flex-wrap:wrap; gap:8px 24px; color:#536577; font-size:12px; }
.legal-meta strong { color:#20364b; }
.legal-grid { display:grid; grid-template-columns:230px minmax(0,1fr); align-items:start; gap:40px; max-width:1160px; margin:auto; padding:0 32px 64px; }
.legal-toc { position:sticky; top:24px; max-height:calc(100vh - 48px); overflow:auto; padding:20px 18px; border:1px solid #dce5ec; border-radius:14px; background:#fff; font-size:12px; }
.legal-toc h2 { margin:0 0 12px; font-size:12px; color:#0b2340; }
.legal-toc ol { margin:0; padding-left:20px; }
.legal-toc li { margin:0 0 8px; padding-left:3px; }
.legal-toc a { color:#536577; text-decoration:none; }
.legal-toc a:hover { color:#123b60; text-decoration:underline; }
.legal-document { min-width:0; background:white; border:1px solid #dce5ec; border-radius:18px; padding:36px 44px; font-size:14px; }
.legal-document section { scroll-margin-top:28px; margin-top:36px; }
.legal-document section:first-child { margin-top:0; }
.legal-document h2 { margin:0 0 14px; color:#0b2340; font-size:20px; line-height:1.4; letter-spacing:-.02em; }
.legal-document h3 { margin:20px 0 8px; color:#123b60; font-size:15px; }
.legal-document p { margin:0 0 14px; }
.legal-document ul { margin:0 0 18px; padding-left:23px; }
.legal-document li { margin-bottom:8px; }
.legal-callout { padding:18px 20px; border-left:3px solid #2485b4; border-radius:0 8px 8px 0; background:#eef6fa; }
.legal-document .legal-callout p:last-child { margin-bottom:0; }
.legal-contact { background:#f5f8fa; border:1px solid #dce5ec; border-radius:12px; padding:20px; overflow-wrap:anywhere; }
.legal-footer { border-top:1px solid #dce5ec; max-width:1096px; margin:auto; padding:28px 24px 40px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px; color:#536577; font-size:12px; }
.legal-print { border:1px solid #c5d5e0; border-radius:8px; background:white; color:#123b60; padding:8px 14px; font:inherit; cursor:pointer; }
@media (max-width:850px) { .legal-grid { grid-template-columns:1fr; gap:24px; }.legal-toc { position:static; max-height:none; }.legal-toc ol { columns:2; column-gap:28px; }.legal-toc li { break-inside:avoid; }.legal-hero { padding-top:40px; } }
@media (max-width:520px) { .legal-header-inner { padding:18px 20px; flex-wrap:wrap; gap:16px; }.legal-header nav { gap:16px; font-size:12px; }.legal-logo img { width:135px; }.legal-hero { padding:32px 20px; }.legal-grid { padding:0 16px 36px; }.legal-document { padding:26px 22px; border-radius:12px; }.legal-toc ol { columns:1; }.legal-document h2 { font-size:18px; }.legal-meta { gap:6px 14px; } }
@media print { .legal-page { background:#fff; font-size:11pt; color:#000; }.legal-header,.legal-toc,.legal-footer,.legal-skip { display:none; }.legal-hero { padding:0 0 24px; }.legal-grid { display:block; padding:0; }.legal-document { padding:0; border:0; font-size:11pt; }.legal-document section { margin-top:24px; }.legal-document h2,.legal-document h3 { break-after:avoid; }.legal-callout,.legal-contact { background:white; }.legal-page a { color:#000; } }
