/* RatesLab legal disclosure pages; scoped to avoid simulator and advisor styling regressions. */
.legal-page{background:linear-gradient(180deg,#f2f6fd 0%,#f7f9fc 35%,#f7f9fc 100%);min-height:100vh}
.legal-main{max-width:1190px;margin:0 auto;padding:44px 24px 84px}
.legal-topline{font-weight:800;font-size:12px;letter-spacing:.15em;color:#3266aa;text-transform:uppercase}
.legal-hero{max-width:960px;margin:0 0 34px}
.legal-hero h1{font-size:clamp(38px,5vw,58px);line-height:1.08;letter-spacing:-2px;margin:14px 0}
.legal-hero p{font-size:18px;line-height:1.7;color:#586b83;margin:0 0 16px;max-width:830px}
.legal-meta{display:flex;flex-wrap:wrap;align-items:center;gap:9px;color:#4f6077;font-size:13px;margin-top:18px}
.legal-meta span{border:1px solid #dbe4f0;background:#fff;padding:7px 12px;border-radius:999px}
.legal-review{margin:25px 0 0;padding:15px 18px;background:#fff8e7;border:1px solid #f0d99b;border-radius:12px;color:#655328;line-height:1.6;font-size:14px}
.legal-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:24px;align-items:start}
.legal-aside{position:sticky;top:102px;background:#fff;border:1px solid #dfe6f1;border-radius:15px;padding:20px;box-shadow:0 8px 25px #192d5010}
.legal-aside h2{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#64758c;margin:0 0 14px}
.legal-aside a{display:block;font-size:13px;color:#304967;line-height:1.42;padding:8px 4px;border-radius:6px}
.legal-aside a:hover,.legal-aside a:focus-visible{background:#eef5ff;color:#1254ab}
.legal-article{background:#fff;border:1px solid #dfe6f1;border-radius:18px;padding:32px 38px;box-shadow:0 14px 34px #192d5010;min-width:0}
.legal-section{padding:0 0 23px;margin-bottom:28px;border-bottom:1px solid #e8edf5;scroll-margin-top:110px}
.legal-section:last-child{border:0;margin:0;padding:0}
.legal-section h2{font-size:23px;line-height:1.3;letter-spacing:-.5px;margin:0 0 12px}
.legal-section p,.legal-section li{font-size:15px;line-height:1.82;color:#46566b}
.legal-section p{margin:10px 0}
.legal-section ul{padding-left:24px}
.legal-section li{margin:8px 0}
.legal-section a{color:#0758c1;text-decoration:underline;text-underline-offset:2px}
.legal-article strong{color:#142f54}
.legal-table-wrap{overflow:auto;border:1px solid #dce5f0;border-radius:12px;margin:16px 0}
.legal-table{min-width:640px;border-collapse:collapse;width:100%}
.legal-table td,.legal-table th{font-size:13px;line-height:1.55;text-align:left;border-bottom:1px solid #e6edf6;padding:12px 14px;vertical-align:top}
.legal-table th{color:#35506e;background:#eff5fc}
.legal-table tr:last-child td{border-bottom:0}
.legal-crosslinks{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}
.legal-crosslinks a{border:1px solid #d9e5f6;background:#f5f8fe;border-radius:999px;padding:9px 12px;font-size:12px;font-weight:700;color:#2d578a}
.legal-links{display:flex;justify-content:center;flex-wrap:wrap;gap:9px 20px;border-top:1px solid #e8edf4;max-width:1240px;margin:0 auto;padding:15px 20px 24px;color:#445a76;font-size:12px}
.legal-links a:hover,.legal-links a:focus-visible{color:#0758c1;text-decoration:underline;text-underline-offset:3px}
.advisor-footer .legal-links{max-width:none;width:100%;justify-content:flex-start;padding:14px 0 0;border-top:1px solid #dce6f2}
.advisor-footer:has(.legal-links){flex-wrap:wrap}
@media(max-width:850px){.legal-layout{grid-template-columns:minmax(0,1fr)}.legal-aside{position:static;display:none}.legal-article{padding:24px}.legal-main{padding:32px 16px 56px}.legal-hero h1{letter-spacing:-1.25px}.legal-hero p{font-size:16px}}
@media print{.legal-page header,.legal-page footer,.legal-aside,.legal-review{display:none!important}.legal-main{padding:0}.legal-layout{display:block}.legal-article{border:0;box-shadow:none;padding:0}.legal-section{break-inside:avoid}}
