/* Legal reading pages, using the site's approved CommentGrid-family tokens. */
.legal-page{padding:40px 0 80px;background:#fff}
.legal-switch{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:32px;padding:5px;border:1px solid var(--border-soft);border-radius:999px;background:var(--cream-2);width:fit-content}
.legal-switch a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 20px;border-radius:999px;font-family:var(--brand-ui);font-size:var(--font-size-label);font-weight:600;color:var(--text-2)}
.legal-switch a:hover{background:#fff}
.legal-switch a[aria-current="page"]{background:var(--brand-cta);color:#fff;box-shadow:none}
.legal-layout{display:grid;grid-template-columns:248px minmax(0,1fr);gap:56px;align-items:start}
.legal-sidebar{position:sticky;top:96px;max-height:calc(100dvh - 128px);overflow-y:auto;overscroll-behavior:contain;padding:22px 16px;border:1px solid var(--border-soft);border-radius:20px;background:#f8fafc;scrollbar-width:thin}
.toc-title{padding:0 10px;margin-bottom:12px;font-family:var(--brand-display);font-size:var(--font-size-label);font-weight:700;color:var(--text)}
.legal-sidebar ol,.legal-mobile-toc ol{list-style:none;margin:0;padding:0}
.legal-sidebar li+li,.legal-mobile-toc li+li{margin-top:2px}
.legal-sidebar a,.legal-mobile-toc nav a{display:block;padding:8px 10px;border-radius:8px;font-size:var(--font-size-label);line-height:20px;color:var(--text-2);overflow-wrap:anywhere}
.legal-sidebar a:hover,.legal-mobile-toc nav a:hover{background:#fff;color:var(--orange)}
.legal-sidebar a[aria-current="location"],.legal-mobile-toc nav a[aria-current="location"]{background:var(--peach);color:var(--orange-deep);font-weight:600}
.legal-reading{min-width:0}
.legal-hero{padding-bottom:30px;margin-bottom:34px;border-bottom:1px solid var(--border-soft)}
.legal-hero h1{font-family:var(--brand-display);font-size:var(--font-size-title);font-weight:700;line-height:1.25;letter-spacing:-.025em;color:var(--text);margin:0 0 18px;scroll-margin-top:96px}
.legal-hero .effective-date{display:inline-block;border:1px solid var(--border-soft);border-radius:999px;background:#f8fafc;color:var(--text-2);padding:7px 12px;font-size:var(--font-size-label);line-height:20px;margin:0 0 22px}
.legal-hero .effective-date strong{font-weight:600}
.legal-document{color:var(--text-2);font-size:var(--font-size-body);line-height:1.8;overflow-wrap:anywhere}
.legal-document .legal-intro{font-size:var(--font-size-body);line-height:1.8;margin:0}
.legal-section{margin-bottom:36px;scroll-margin-top:96px}
.legal-section h2{font-family:var(--brand-display);font-size:var(--font-size-legal);line-height:1.4;letter-spacing:-.01em;color:var(--text);margin:0 0 14px;font-weight:700;scroll-margin-top:96px}
.legal-section h3{font-family:var(--brand-display);font-size:var(--font-size-brand);line-height:1.5;color:var(--text);font-weight:600;margin:24px 0 10px}
.legal-section p{margin:0 0 16px}
.legal-section p:last-child{margin-bottom:0}
.legal-section ul,.legal-section ol{padding-left:24px;margin:0 0 18px}
.legal-section li{padding-left:3px;margin-bottom:8px}
.legal-section li:last-child{margin-bottom:0}
.legal-section li::marker{color:var(--text-3)}
.legal-document a{color:var(--orange);text-decoration:underline;text-underline-offset:3px}
.legal-document a:hover{color:var(--orange-deep)}
.legal-document code{font-family:var(--mono);font-size:var(--font-size-label);padding:2px 5px;border-radius:5px;background:#f1f4f7;color:var(--text-2);white-space:normal;overflow-wrap:anywhere}
.legal-end{border-top:1px solid var(--border-soft);padding-top:24px;margin-top:8px}
.legal-mobile-toc{display:none}
@media(max-width:960px){
 .legal-layout{grid-template-columns:minmax(0,1fr);gap:0}
 .legal-sidebar{display:none}
 .legal-reading{max-width:760px;margin:0 auto;width:100%}
 .legal-switch{margin-inline:auto}
 .legal-mobile-toc{display:block;border:1px solid var(--border-soft);border-radius:16px;background:#f8fafc;margin-bottom:28px}
 .legal-mobile-toc summary{min-height:48px;padding:12px 16px;font-weight:600;font-size:var(--font-size-label);cursor:pointer;color:var(--text)}
 .legal-mobile-toc nav{padding:0 6px 10px;max-height:50dvh;overflow-y:auto;overscroll-behavior:contain}
 .legal-mobile-toc nav a{min-height:44px;padding:12px 10px;font-size:var(--font-size-label)}
}
@media(max-width:600px){
 .legal-page{padding:24px 0 56px}
 .legal-switch{margin-bottom:24px;flex-wrap:nowrap;max-width:100%}
 .legal-switch a{padding:9px 13px;font-size:var(--font-size-label)}
 .legal-hero h1{font-size:var(--font-size-title);line-height:1.25;letter-spacing:-.01em;scroll-margin-top:80px}
 .legal-hero{padding-bottom:24px;margin-bottom:28px}
 .legal-document,.legal-document .legal-intro{font-size:var(--font-size-body);line-height:1.8}
 .legal-section{margin-bottom:30px}
 .legal-section h2{font-size:var(--font-size-legal);scroll-margin-top:80px}
 .legal-section h3{font-size:var(--font-size-body)}
}
@media print{
 body>header,body>footer,.skip-link,.legal-switch,.legal-sidebar,.legal-mobile-toc,.legal-end{display:none!important}
 .legal-page{padding:0}
 .legal-layout{display:block}
 .legal-reading,.legal-page .wrap{max-width:none;padding:0}
 .legal-document{font-size:11pt;color:#000}
 .legal-section h2,.legal-section h3{break-after:avoid}
 .legal-hero h1{font-size:24pt}
 .legal-section{break-inside:auto}
}
