
.cc-legal {
    --cc-navy: #0F172A;
    --cc-blue: #007EAD;
    --cc-blue-dark: #00668C;
    --cc-orange: #BC5B20;
    --cc-slate: #64748B;
    --cc-ink: #334155;
    --cc-line: #E2E8F0;
    --cc-bg: #F8FAFC;
    font-family: 'Plus Jakarta Sans', sans-serif;
    color: var(--cc-navy);
}
.cc-legal *, .cc-legal *::before, .cc-legal *::after { box-sizing: border-box; }
.cc-legal section { scroll-margin-top: 90px; }

.legal-breadcrumbs { font-size: 11px; font-weight: 700; color: var(--cc-slate); letter-spacing: 0.6px; margin-bottom: 22px; display: inline-flex; align-items: center; gap: 8px; }
.legal-breadcrumbs a { color: var(--cc-slate); text-decoration: none; }
.legal-breadcrumbs a:hover { color: var(--cc-blue); }
.legal-breadcrumbs .sep { color: #CBD5E1; }
.legal-breadcrumbs [aria-current="page"] { color: var(--cc-blue); font-weight: 800; }

.legal-hero { background: linear-gradient(180deg, #FFFFFF 0%, var(--cc-bg) 100%); padding: 52px 24px 44px 24px; border-bottom: 1px solid var(--cc-line); }
.legal-hero-inner { max-width: 860px; margin: 0 auto; }
.legal-hero h1 { font-size: clamp(30px, 3.4vw + 10px, 42px); font-weight: 800; color: var(--cc-navy); line-height: 1.12; letter-spacing: -1px; margin: 0 0 14px 0; }
.legal-updated { font-family: 'DM Sans', sans-serif; font-size: 13.5px; color: var(--cc-slate); margin: 0; }
.legal-updated strong { color: var(--cc-navy); font-weight: 700; }

.legal-body { padding: 56px 24px 76px 24px; background: #FFFFFF; }
.legal-body-inner { max-width: 860px; margin: 0 auto; }
.legal-toc { background: var(--cc-bg); border: 1px solid var(--cc-line); border-radius: 14px; padding: 24px 28px; margin-bottom: 44px; }
.legal-toc h2 { font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: 1px; color: var(--cc-slate); margin: 0 0 14px 0; }
.legal-toc ol { margin: 0; padding-left: 20px; }
.legal-toc li { font-family: 'DM Sans', sans-serif; font-size: 14px; margin-bottom: 7px; }
.legal-toc a { color: var(--cc-blue); text-decoration: none; font-weight: 600; }
.legal-toc a:hover { text-decoration: underline; }

.cc-legal h2.legal-h2 { font-size: clamp(20px, 1.6vw + 10px, 25px); font-weight: 800; color: var(--cc-navy); letter-spacing: -0.4px; margin: 40px 0 14px 0; padding-top: 6px; }
.cc-legal h3.legal-h3 { font-size: 16px; font-weight: 800; color: var(--cc-navy); margin: 26px 0 10px 0; }
.cc-legal p, .cc-legal li { font-family: 'DM Sans', sans-serif; font-size: 15px; line-height: 1.7; color: var(--cc-ink); }
.cc-legal p { margin: 0 0 16px 0; }
.cc-legal ul { margin: 0 0 18px 0; padding-left: 22px; }
.cc-legal li { margin-bottom: 9px; }
.cc-legal a { color: var(--cc-blue); }
.legal-table-wrap { overflow-x: auto; margin: 0 0 22px 0; }
.legal-table { width: 100%; min-width: 480px; border-collapse: collapse; border: 1px solid var(--cc-line); border-radius: 12px; overflow: hidden; }
.legal-table th { background: var(--cc-bg); padding: 13px 18px; text-align: left; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.8px; color: var(--cc-slate); border-bottom: 1px solid var(--cc-line); }
.legal-table td { padding: 13px 18px; font-family: 'DM Sans', sans-serif; font-size: 14px; color: var(--cc-ink); border-bottom: 1px solid var(--cc-line); vertical-align: top; }
.legal-table tr:last-child td { border-bottom: none; }
.legal-callout { background: #FFF7ED; border: 1px solid #FED7AA; border-left: 4px solid var(--cc-orange); border-radius: 10px; padding: 18px 22px; margin: 0 0 26px 0; }
.legal-callout p { margin: 0; font-size: 14.5px; }
.legal-contact-box { background: var(--cc-bg); border: 1px solid var(--cc-line); border-radius: 14px; padding: 26px 28px; margin-top: 36px; }
.legal-contact-box h3 { margin-top: 0; }
.legal-contact-box p { margin-bottom: 8px; }

@media (max-width: 768px) {
  .legal-hero { padding: 38px 16px 34px 16px; }
  .legal-body { padding: 40px 16px 56px 16px; }
  .legal-toc { padding: 20px; }
}
