body.sg-legal { background-color: #e6e6e6; color: #17212b; line-height: 1.7; }
.sg-skip-link { position: absolute; left: 12px; top: -64px; z-index: 2000; padding: 10px 16px; border-radius: 8px; background: #fff; color: #17212b; font-weight: 600; transition: top 140ms cubic-bezier(.23, 1, .32, 1); }
.sg-skip-link:focus { top: 12px; }
.sg-public-header { min-height: 74px; }
.sg-public-header .sg-brand img { background: transparent; }
.sg-account-avatar { width: 30px; height: 30px; background: #fff; color: #17212b; overflow: hidden; font-size: 14px; flex: none; }
.sg-account-avatar img { width: 100%; height: 100%; object-fit: cover; }
.sg-public-header .btn:focus-visible, .sg-public-header .sg-brand:focus-visible, .sg-skip-link:focus-visible, .legal-layout a:focus-visible, .legal-layout main:focus-visible { outline: 3px solid #0d6efd; outline-offset: 3px; }
.sg-public-header .btn:focus-visible, .sg-public-header .sg-brand:focus-visible { outline-color: #fff; }
.legal-layout { max-width: 1220px; margin: 32px auto 48px; padding: 0 24px; display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 32px; align-items: start; }
.legal-layout > aside { position: sticky; top: 98px; }
.legal-layout nav { display: grid; gap: 8px; }
.legal-layout nav a { display: flex; align-items: center; min-height: 44px; padding: 10px 14px; background: #fff; border: 1px solid #e1e7ee; border-radius: 12px; color: #17212b; text-decoration: none; font-size: 14px; font-weight: 600; box-shadow: 0 4px 14px rgba(30, 50, 70, .06); transition: border-color 140ms ease, background-color 140ms ease; }
.legal-layout nav a[aria-current=page] { background: #eaf2ff; border-color: #0d6efd; color: #0a58ca; }
.legal-eyebrow { font-size: 11px; font-weight: 700; letter-spacing: .1em; color: #526070; text-transform: uppercase; margin: 0 0 8px; }
.legal-small { margin-top: 24px; font-size: 13px; color: #526070; }
.legal-layout > main { min-width: 0; display: flex; flex-direction: column; gap: 24px; }
.legal-hero { position: relative; overflow: hidden; padding: 32px; border-radius: 20px; background: linear-gradient(135deg, #17212b 0%, #24394d 58%, #1267d6 100%); color: #fff; box-shadow: 0 18px 45px rgba(20, 35, 50, .18); }
.legal-hero::after { position: absolute; top: -95px; right: -65px; width: 280px; height: 280px; border: 45px solid rgba(255, 255, 255, .08); border-radius: 50%; content: ""; pointer-events: none; }
.legal-hero > * { position: relative; z-index: 1; }
.legal-hero .legal-eyebrow { color: rgba(255, 255, 255, .78); }
.legal-hero h1 { font-size: clamp(28px, 4vw, 40px); font-weight: 700; line-height: 1.15; letter-spacing: -.03em; margin: 0 0 12px; color: #fff; }
.legal-hero .legal-lead { margin: 0; max-width: 62ch; color: rgba(255, 255, 255, .86); }
.legal-card { padding: clamp(24px, 4vw, 44px); background: #fff; border: 1px solid #e1e7ee; border-radius: 20px; box-shadow: 0 8px 24px rgba(30, 50, 70, .07); }
.legal-card h2 { font-size: 1.25rem; font-weight: 650; line-height: 1.4; margin: 36px 0 12px; padding-top: 24px; border-top: 1px solid #e1e7ee; }
.legal-card h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.legal-card p, .legal-card li { color: #3d4a58; }
.legal-card strong { color: #17212b; }
.legal-card a { color: #0a58ca; text-underline-offset: 4px; overflow-wrap: anywhere; }
.legal-lead { font-size: 18px; }
.legal-review { font-size: 13px; padding: 12px 16px; background: #fff9e9; border: 1px solid #f0d290; border-left: 4px solid #d99a1f; color: #705216; border-radius: 12px; }
@media (hover: hover) and (pointer: fine) { .legal-layout nav a:hover { border-color: #0d6efd; } }
@media (max-width: 800px) {
	.legal-layout { grid-template-columns: 1fr; gap: 24px; margin: 20px auto 32px; padding: 0 16px; }
	.legal-layout > aside { position: static; }
	.legal-small { display: none; }
	.legal-layout nav { grid-template-columns: 1fr; }
	.legal-hero { padding: 24px 20px; border-radius: 16px; }
	.legal-card { border-radius: 16px; }
}
@media (prefers-reduced-motion: reduce) { .sg-skip-link, .legal-layout nav a { transition: none; } }
