/* Readable documents. Every rule is scoped to legal pages; shared navigation stays native. */
body.legal-page { margin:0; background:#f3f4f8; color:#183044; }
body.legal-page .legal-shell,body.legal-page .legal-shell * { box-sizing:border-box; min-width:0; }
body.legal-page .legal-shell { width:min(100% - 40px,1180px); margin:0 auto; padding:22px 0 56px; font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
body.legal-page .legal-shell [hidden] { display:none!important; }
body.legal-page .legal-topbar { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:18px; }
body.legal-page .legal-back { color:#53677b; font-size:14px; line-height:1.5; text-decoration:none; }
body.legal-page .legal-document-picker { position:relative; flex:0 0 auto; z-index:2; }
body.legal-page .legal-document-picker>summary,body.legal-page .legal-mobile-toc>summary { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:44px; padding:10px 14px; border:1px solid #d1d9e4; border-radius:10px; background:#fff; color:#334860; font-size:14px; font-weight:650; list-style:none; cursor:pointer; }
body.legal-page :is(.legal-document-picker,.legal-mobile-toc)>summary::-webkit-details-marker { display:none; }
body.legal-page :is(.legal-document-picker,.legal-mobile-toc)[open]>summary { border-color:#b89cdd; background:#f3edfc; color:#6330a6; }
body.legal-page .legal-document-picker>nav { position:absolute; right:0; top:calc(100% + 6px); width:min(280px,calc(100vw - 32px)); display:grid; padding:6px; border:1px solid #d7cde6; border-radius:12px; background:#fff; box-shadow:0 12px 28px #182a421c; }
body.legal-page .legal-document-picker>nav>a { padding:11px 12px; border-radius:7px; color:#273d52; font-size:14px; line-height:1.5; text-decoration:none; }
body.legal-page .legal-document-picker>nav>a:is(:hover,[aria-current]) { background:#f0e9fb; color:#6433ad; }
body.legal-page .tfpl-document-heading { display:block; position:static; min-height:0!important; height:auto; margin:0 0 18px!important; padding:0!important; border:0!important; border-radius:0!important; background:none!important; box-shadow:none!important; color:#152e41; }
body.legal-page .tfpl-document-heading>h1 { max-width:30ch; margin:0 0 11px; color:#112c40!important; font-size:clamp(26px,3.4vw,36px)!important; font-weight:750!important; line-height:1.25!important; letter-spacing:-.025em; overflow-wrap:normal; }

body.legal-page .legal-meta { display:flex; flex-wrap:wrap; align-items:center; gap:9px 14px; margin-top:14px; font-size:13px; color:#607186; }
body.legal-page .legal-meta>span { margin-right:auto; }
body.legal-page :is(.legal-print,.legal-cookie-reset) { min-height:42px; margin:0; padding:9px 14px; border:1px solid #c7b1e3; border-radius:9px; background:#fff; color:#6733ac; font-family:inherit; font-size:14px; font-weight:650; line-height:1.5; box-shadow:none; cursor:pointer; }
body.legal-page .legal-cookie-reset { background:#7333ce; border-color:#7333ce; color:#fff; }
body.legal-page .legal-layout { display:grid; grid-template-columns:220px minmax(0,1fr); align-items:start; gap:28px; }
body.legal-page .legal-sidebar { position:sticky; top:120px; max-height:calc(100dvh - 144px); overflow:auto; scrollbar-width:thin; }
body.legal-page .legal-sidebar nav>strong { display:block; margin:0 0 13px; color:#163246; font-size:14px; font-weight:700; }
body.legal-page .legal-sidebar ol,body.legal-page .legal-mobile-toc ol { list-style:none; margin:0; padding:0; display:grid; gap:3px; }
body.legal-page :is(.legal-sidebar,.legal-mobile-toc) li>a { display:block; padding:8px 10px; border-radius:7px; color:#52667b; font-size:13px; line-height:1.5; text-decoration:none; }
body.legal-page :is(.legal-sidebar,.legal-mobile-toc) li>a:hover { background:#e9e1f5; color:#5d2d9e; }
body.legal-page .legal-sidebar-help { display:block; margin-top:14px; padding:14px 10px; border-top:1px solid #d6dce6; color:#6634a7; font-size:13px; font-weight:650; text-decoration:none; }
body.legal-page .legal-mobile-toc { display:none; }
body.legal-page .legal-card { margin:0; padding:28px 32px; border:1px solid #d8dfe8; border-radius:16px; background:#fff; box-shadow:0 3px 12px #21334a04; color:#314c61; }
body.legal-page .legal-card>h2 { margin:27px 0 12px; padding:22px 0 0; border-top:1px solid #e3e7ee; color:#173246!important; font-size:22px!important; font-weight:700!important; line-height:1.35!important; letter-spacing:-.02em; scroll-margin-top:130px; }
body.legal-page .legal-card>h2:first-child,body.legal-page .legal-card>.legal-note+h2 { padding-top:0; margin-top:0; border-top:0; }
body.legal-page .legal-card :is(p,li) { color:#40576a!important; font-size:16px!important; line-height:1.75!important; font-weight:400; }
body.legal-page .legal-card p { margin:10px 0; }
body.legal-page .legal-card :is(ul,ol) { margin:12px 0; padding-left:22px; }
body.legal-page .legal-card li+li { margin-top:7px; }
body.legal-page .legal-card strong { color:#183347; font-weight:700; }
body.legal-page .legal-card a { color:#6834ad; font-weight:550; text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
body.legal-page .legal-card .legal-note { margin:0 0 23px!important; padding:15px 17px; border:1px solid #dfd6ed; border-left:3px solid #8c61c5; border-radius:10px; background:#f7f4fc; color:#43536a!important; font-size:14px!important; line-height:1.7!important; }
body.legal-page .legal-note a { font-weight:600; }
body.legal-page .legal-table { width:100%; border-collapse:separate; border-spacing:0; table-layout:fixed; margin:16px 0; border:1px solid #d9dfe9; border-radius:10px; overflow:hidden; }
body.legal-page .legal-table :is(th,td) { padding:12px; border:0; border-bottom:1px solid #e1e6ee; vertical-align:top; color:#40566b; font-size:14px; line-height:1.65; text-align:left; overflow-wrap:anywhere; }
body.legal-page .legal-table th { background:#102d41; color:#fff; font-weight:650; }
body.legal-page .legal-table tbody tr:nth-child(even) { background:#f7f8fc; }
body.legal-page .legal-table tr:last-child td { border-bottom:0; }
body.legal-page .legal-table code { font-size:.9em; overflow-wrap:anywhere; }
body.legal-page .legal-contact-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:0 0 22px; }
body.legal-page .legal-contact-actions>a { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:7px; min-height:54px; padding:14px 16px; border:1px solid #cdbce6; border-radius:11px; background:#fff; color:#6334a0; font-size:15px; font-weight:650; line-height:1.5; text-decoration:none; }
body.legal-page .legal-contact-actions>a:first-child { background:#7333ce; border-color:#7333ce; color:#fff; }
body.legal-page .legal-contact-actions>a>span { font-size:13px; font-weight:500; }
body.legal-page .legal-shell :is(a,button,summary):focus-visible { outline:3px solid #a17bd8; outline-offset:3px; }
body.legal-page .legal-skip { position:fixed; left:12px; top:8px; transform:translateY(-180%); z-index:10000; padding:12px; border-radius:8px; background:#7333ce; color:#fff; font-size:15px; }
body.legal-page .legal-skip:focus { transform:translateY(0); }
@media(max-width:850px) {
 body.legal-page .legal-layout { grid-template-columns:minmax(0,1fr); gap:0; }
 body.legal-page .legal-sidebar { display:none; }
 body.legal-page .legal-mobile-toc { display:block; margin:0 0 16px; border:1px solid #d2d9e5; border-radius:11px; background:#fff; }
 body.legal-page .legal-mobile-toc>summary { border:0; border-radius:10px; }
 body.legal-page .legal-mobile-toc>nav { padding:6px 9px 10px; max-height:min(55dvh,420px); overflow:auto; }
 body.legal-page .legal-mobile-toc li>a { padding:10px; font-size:14px; }
 body.legal-page .legal-card { padding:24px; }
}
@media(max-width:600px) {
 body.legal-page .legal-shell { width:calc(100% - 28px); padding:14px 0 36px; }
 body.legal-page .legal-topbar { gap:10px; margin-bottom:16px; }
 body.legal-page .legal-back { font-size:13px; }
 body.legal-page .tfpl-document-heading { margin-bottom:16px!important; }

 body.legal-page .legal-meta { gap:9px; font-size:12px; }
 body.legal-page .legal-card { padding:20px 18px; border-radius:13px; }
 body.legal-page .legal-card>h2 { font-size:20px!important; line-height:1.35!important; }
 body.legal-page .legal-card :is(p,li) { font-size:16px!important; line-height:1.75!important; }
 body.legal-page .legal-card .legal-note { padding:12px 13px; font-size:14px!important; }
 body.legal-page .legal-contact-actions { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 body.legal-page .legal-contact-actions>a { font-size:14px; padding:12px; }
 body.legal-page .legal-contact-actions>a:first-child { grid-column:1/-1; }
 body.legal-page .legal-table { display:block; table-layout:auto; border:0; overflow:visible; }
 body.legal-page .legal-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
 body.legal-page .legal-table tbody { display:grid; gap:12px; }
 body.legal-page .legal-table tr { display:block; width:100%; padding:12px; border:1px solid #d7dfea; border-radius:9px; background:#f8f9fc; }
 body.legal-page .legal-table td { display:block; width:100%; margin:0; padding:7px 0; border:0; font-size:14px; }
 body.legal-page .legal-table td::before { display:block; margin-bottom:3px; content:attr(data-label); color:#19384d; font-size:12px; font-weight:700; }
}
@media print {
 body.legal-page { background:#fff!important; }
 body.legal-page :is(#header,#footer,.legal-skip,.legal-topbar,.legal-sidebar,.legal-mobile-toc,.legal-print,.legal-cookie-reset,.legal-contact-actions,.tfp-cookie,.tfp-cookie-backdrop) { display:none!important; }
 body.legal-page .legal-shell { width:100%; padding:0; margin:0; }
 body.legal-page .legal-layout { display:block; }
 body.legal-page .legal-card { padding:0; border:0; border-radius:0; box-shadow:none; }
 body.legal-page .tfpl-document-heading { padding:0 0 12px; margin:0 0 16px; }
 body.legal-page .legal-card :is(p,li) { font-size:11pt!important; line-height:1.5!important; }
 body.legal-page .legal-card>h2 { break-after:avoid; font-size:15pt!important; }
 body.legal-page .legal-table { display:table; table-layout:fixed; }
 body.legal-page .legal-table thead { display:table-header-group; position:static; width:auto; height:auto; clip-path:none; }
 body.legal-page .legal-table tbody { display:table-row-group; }
 body.legal-page .legal-table tr { display:table-row; break-inside:avoid; }
 body.legal-page .legal-table :is(th,td) { display:table-cell; width:auto; font-size:9pt; }
 body.legal-page .legal-table td::before { display:none; }
 body.legal-page .legal-table th { background:#eee!important; color:#111!important; }
}

/* Older cached legal markup must not pick up the site's shared blue page banner. */
body.legal-page .legal-shell > .legal-hero {
 display:block!important; position:static!important; overflow:visible!important;
 min-height:0!important; height:auto!important; margin:0 0 18px!important; padding:0!important;
 border:0!important; border-radius:0!important; background:none!important; box-shadow:none!important;
 color:#152e41!important;
}
body.legal-page .tfpl-document-heading::before,
body.legal-page .tfpl-document-heading::after,
body.legal-page .legal-shell > .legal-hero::before,
body.legal-page .legal-shell > .legal-hero::after { content:none!important; display:none!important; }
body.legal-page .legal-shell > .legal-hero > :is(span,p) { display:none!important; }
body.legal-page .legal-shell > .legal-hero > h1 { margin:0 0 11px!important; color:#112c40!important; font-size:clamp(26px,3.4vw,36px)!important; font-weight:750!important; line-height:1.25!important; letter-spacing:-.025em!important; }
