/* Legal documents share the storefront brand, with comfortable long-form reading. */
.opp-site .opp-page-content.opp-legal-page { max-width:1280px;padding:46px 5% 80px; }
.opp-legal-back { display:inline-flex;font-size:12px;color:var(--opp-muted);margin-bottom:36px; }
.opp-legal-hero { max-width:890px;margin-bottom:36px; }
.opp-legal-hero h1 { font-size:clamp(36px,4.5vw,58px);font-weight:650;line-height:1.1;letter-spacing:-.055em;margin:15px 0 22px; }
.opp-legal-intro { max-width:690px;font-size:18px;line-height:1.75;color:var(--opp-muted); }
.opp-legal-meta { display:flex;align-items:center;flex-wrap:wrap;gap:12px 28px;margin-top:26px;font-size:12px;color:var(--opp-muted); }
.opp-legal-meta a,.opp-legal-sidebar-help a { display:inline-flex;align-items:center;gap:8px;color:var(--opp-blue); }
.opp-legal-meta svg,.opp-legal-sidebar-help svg { width:15px;height:15px; }
.opp-privacy-summary { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0 0 58px;border:1px solid #dce5f5;border-radius:12px;overflow:hidden;background:#dce5f5; }
.opp-privacy-summary>div { background:#f0f5ff;padding:26px; }
.opp-privacy-icon { display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin-bottom:17px;border-radius:9px;background:#fff;color:var(--opp-blue); }
.opp-privacy-icon svg { width:20px;height:20px; }
.opp-privacy-summary h2 { font-size:17px;font-weight:650;letter-spacing:-.025em;margin:0 0 10px; }
.opp-privacy-summary p { font-size:13px;line-height:1.8;color:#515e70;margin:0; }
.opp-privacy-summary a { color:#174bad;text-underline-offset:3px;text-decoration:underline;overflow-wrap:anywhere; }
.opp-legal-layout { display:grid;grid-template-columns:225px minmax(0,1fr);gap:66px;align-items:start; }
.opp-legal-sidebar { position:sticky;top:30px;max-height:calc(100dvh - 60px);overflow-y:auto;padding:0 6px 12px 0; }
.opp-legal-sidebar>.eyebrow { font-size:10px;margin-bottom:16px; }
.opp-legal-sidebar nav ol,.opp-legal-mobile-nav nav ol { list-style:none;padding:0;margin:0; }
.opp-legal-sidebar li { margin:0 0 4px; }
.opp-legal-sidebar nav a { display:block;padding:7px 0;font-size:12px;line-height:1.55;color:var(--opp-muted); }
.opp-legal-sidebar nav a:hover,.opp-legal-sidebar nav a:focus-visible { color:var(--opp-blue); }
.opp-legal-sidebar-help { border-top:1px solid var(--opp-line);margin-top:25px;padding-top:24px;font-size:12px;line-height:1.75; }
.opp-legal-sidebar-help strong { color:var(--opp-ink);font-weight:650; }
.opp-legal-sidebar-help p { color:var(--opp-muted);margin:7px 0 12px; }
.opp-legal-reading { min-width:0; }
.opp-legal-copy { max-width:760px;font-size:15px;line-height:1.9;color:#485360; }
.opp-policy-section { padding:0 0 34px;margin:0 0 34px;border-bottom:1px solid var(--opp-line); }
.opp-legal-copy h2 { margin:0 0 19px;font-size:25px;line-height:1.35;letter-spacing:-.035em;font-weight:650;color:var(--opp-ink);scroll-margin-top:32px; }
.opp-legal-copy h2:focus { outline:none; }
.opp-legal-copy h2:target { color:#154fbf; }
.opp-legal-copy h3 { font-size:18px;line-height:1.45;letter-spacing:-.02em;color:var(--opp-ink);margin:0 0 10px; }
.opp-legal-copy p { margin:0 0 17px; }
.opp-legal-copy ul { padding-left:21px;margin:0 0 20px; }
.opp-legal-copy li { padding-left:4px;margin-bottom:10px; }
.opp-legal-copy a { color:#174bad;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere; }
.opp-legal-copy a:hover { color:#003cb7; }
.opp-legal-copy strong { color:var(--opp-ink);font-weight:650; }
.opp-policy-data { padding:8px 0 0;margin:0 0 23px; }
.opp-policy-data dt { font-weight:650;color:var(--opp-ink);margin:0 0 4px; }
.opp-policy-data dd { margin:0 0 22px; }
.opp-policy-note { background:#edf3ff;border-left:3px solid var(--opp-blue);border-radius:0 8px 8px 0;padding:24px 26px;margin:25px 0; }
.opp-policy-note p:last-child { margin-bottom:0; }
.opp-legal-contact { padding:30px;border:1px solid var(--opp-line);border-radius:12px;background:white;margin-top:8px; }
.opp-legal-contact h2 { font-size:25px;line-height:1.3;letter-spacing:-.035em;margin:12px 0; }
.opp-legal-contact p:not(.eyebrow) { font-size:14px;line-height:1.8;color:var(--opp-muted);margin:0 0 21px; }
.opp-legal-contact .op-btn { font-size:13px; }
.opp-legal-top { display:inline-block;font-size:12px;margin-top:24px;color:var(--opp-muted); }
.opp-legal-mobile-nav { display:none; }
.opp-legal-page :where(a,summary):focus-visible { outline:3px solid var(--opp-blue);outline-offset:4px;border-radius:2px; }
@media(max-width:950px) {
 .opp-legal-layout { grid-template-columns:185px minmax(0,1fr);gap:32px; }
 .opp-privacy-summary>div { padding:22px; }
}
@media(max-width:760px) {
 .opp-site .opp-page-content.opp-legal-page { padding:28px 6% 55px; }
 .opp-legal-back { margin-bottom:28px; }
 .opp-legal-intro { font-size:16px; }
 .opp-legal-hero { margin-bottom:28px; }
 .opp-legal-hero h1 { margin:13px 0 17px; }
 .opp-privacy-summary { grid-template-columns:1fr;margin-bottom:30px; }
 .opp-privacy-summary>div { padding:22px 24px; }
 .opp-privacy-icon { float:left;margin:0 16px 30px 0; }
 .opp-privacy-summary h2 { margin-top:2px; }
 .opp-legal-layout { display:block; }
 .opp-legal-sidebar { display:none; }
 .opp-legal-mobile-nav { display:block;border:1px solid var(--opp-line);border-radius:8px;margin-bottom:34px;padding:16px 20px;background:white;font-size:14px; }
 .opp-legal-mobile-nav summary { cursor:pointer;font-weight:600; }
 .opp-legal-mobile-nav nav { padding-top:14px; }
 .opp-legal-mobile-nav nav a { display:block;padding:8px 0;color:var(--opp-muted);font-size:13px; }
 .opp-legal-copy { font-size:15px;line-height:1.85; }
 .opp-legal-copy h2 { font-size:23px; }
 .opp-policy-section { margin-bottom:27px;padding-bottom:27px; }
 .opp-policy-note { padding:21px; }
 .opp-legal-contact { padding:25px; }
}
@media print {
 .site-head,.site-footer,.opp-legal-sidebar,.opp-legal-mobile-nav,.opp-legal-back,.opp-legal-contact,.opp-legal-top,.pvpp-help { display:none!important; }
 .opp-site .opp-page-content.opp-legal-page { padding:0;max-width:none; }
 .opp-legal-layout { display:block; }
 .opp-legal-copy { max-width:none;color:#000;font-size:11pt; }
 .opp-legal-hero h1 { font-size:28pt; }
 .opp-privacy-summary { margin-bottom:24px; }
 .opp-policy-section { break-inside:auto; }
 .opp-legal-copy h2 { break-after:avoid; }
}
