/* Legal pages and consent controls share the public adcurate design tokens. */
.legal-heading .legal-wrap,.legal-content.legal-wrap { max-width:1040px; }
.legal-heading .legal-wrap { padding-bottom:40px; }
.legal-heading .legal-eyebrow { display:flex;align-items:center;gap:12px;margin:0 0 24px; }
.legal-eyebrow .brand-symbol { width:32px;height:32px;flex-shrink:0;background:var(--dark);border-radius:7px;padding:4px; }
.legal-heading h1 { max-width:18ch;hyphens:auto;overflow-wrap:break-word; }
.legal-heading .legal-intro { max-width:65ch;font-size:17px;line-height:1.8; }
.legal-heading .legal-version { margin:32px 0 0;font-size:12px;line-height:1.7;overflow-wrap:anywhere; }
.legal-version span { display:block;font-size:11px; }
.legal-toc { padding:32px;margin-bottom:40px;background:var(--dark);color:var(--light);border-radius:var(--radius); }
.legal-toc h2 { font-size:19px;letter-spacing:-.02em;color:var(--light); }
.legal-toc ol { display:grid;grid-template-columns:1fr 1fr;column-gap:32px;row-gap:4px;list-style:none;counter-reset:legal-section;margin:20px 0 0;padding:0; }
.legal-toc li { counter-increment:legal-section;min-width:0; }
.legal-toc a { display:flex;align-items:baseline;gap:12px;padding:10px 0;color:var(--light-muted);font-size:13px;line-height:1.6;text-decoration:none;border-bottom:1px solid var(--dark-line); }
.legal-toc a::before { content:counter(legal-section,decimal-leading-zero);color:var(--lime);font-size:11px;font-weight:600;flex:0 0 20px; }
.legal-toc a:hover { color:var(--lime); }
.legal-content .legal-row { scroll-margin-top:110px;grid-template-columns:220px minmax(0,1fr);gap:40px;padding-block:32px; }
.legal-content .legal-row>div { min-width:0; }
.legal-content .legal-row h2 { font-size:18px;line-height:1.6;hyphens:auto; }
.legal-content p,.legal-content li { overflow-wrap:anywhere; }
.legal-content .legal-row p { line-height:1.85; }
.legal-content .legal-row p+p { margin-top:1em; }
.legal-content .legal-row a:not(.button) { text-underline-offset:4px; }
.legal-settings { margin:24px 0 4px; }
.legal-storage-list article { margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--line); }
.legal-storage-list article:last-child { margin-bottom:0;padding-bottom:0;border-bottom:0; }
.legal-storage-list h3 { font-size:16px;margin-bottom:12px; }
.footer a[data-consent-open] { cursor:pointer; }

.privacy-banner,.privacy-dialog {
  box-sizing:border-box;font:400 14px/1.75 var(--body,Poppins,sans-serif);
  color:var(--text,#202A19);background:var(--surface,#fff);
  border:1px solid var(--line,#E0E2DD);border-radius:var(--radius,18px);
  box-shadow:0 24px 80px #0a10102b;padding:28px;
}
.privacy-banner { position:fixed;z-index:12000;bottom:24px;left:24px;right:24px;max-width:880px;margin:auto; }
.privacy-banner[hidden],.privacy-dialog [hidden] { display:none!important; }
.privacy-dialog { width:calc(100% - 40px);max-width:900px;max-height:calc(100dvh - 48px);margin:auto;padding:0;overflow:hidden; }
.privacy-dialog[open] { display:flex;flex-direction:column; }
.privacy-dialog .privacy-topline { flex-shrink:0;margin:0;padding:16px 28px; }
.privacy-scroll { min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:28px; }
.privacy-footer { flex-shrink:0;padding:16px 28px;border-top:1px solid var(--line,#E0E2DD);background:var(--surface,#fff); }
.privacy-footer .privacy-done { margin:0; }
.privacy-dialog::backdrop { background:#0a1010b8;backdrop-filter:blur(5px); }
.privacy-topline { display:flex;align-items:center;justify-content:space-between;gap:16px;margin:-28px -28px 24px;padding:18px 28px;background:var(--dark,#0A1010);color:var(--light,#fff);border-radius:17px 17px 0 0; }
.privacy-brand { display:flex;align-items:center;gap:12px;font-size:15px;font-weight:600;letter-spacing:-.04em; }
.privacy-brand svg { display:block;width:32px;height:32px;flex-shrink:0;color:var(--lime,#DFFF00); }
.privacy-kicker { color:var(--light-muted,#CDD6C6);font-size:11px;font-weight:500;letter-spacing:.04em; }
.privacy-banner h2,.privacy-dialog h2 { color:var(--text,#202A19);font-size:24px;font-weight:600;line-height:1.3;letter-spacing:-.04em;margin:0 0 16px; }
.privacy-banner p,.privacy-dialog p { color:var(--muted,#536048);margin:12px 0; }
.privacy-dialog h3 { font-size:16px;margin:20px 0 8px; }
.privacy-jumps { position:sticky;top:0;z-index:1;display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 24px;padding:12px 0;background:var(--surface,#fff); }
.privacy-scroll section { scroll-margin-top:92px; }
.privacy-jumps button { flex:1;min-height:44px;padding:10px 12px;border:1px solid var(--line,#E0E2DD);border-radius:var(--button-radius,11px);background:var(--surface,#fff);color:var(--text,#202A19);font:500 12px/1.5 var(--body,Poppins,sans-serif);cursor:pointer; }
.privacy-jumps button:hover { background:var(--soft,#F5F5F3);border-color:var(--link,#526600); }
.privacy-service { margin-top:16px;padding:24px;border:1px solid var(--line,#E0E2DD);border-radius:var(--radius,18px);background:var(--surface,#fff); }
.privacy-meta-service { margin-top:0;background:var(--soft,#F5F5F3); }
.privacy-service-heading { display:flex;align-items:center;justify-content:space-between;gap:16px; }
.privacy-dialog .privacy-service h3,.privacy-dialog .privacy-group>h3 { margin:0;font-size:18px;line-height:1.5;letter-spacing:-.03em; }
.privacy-service h4 { font-size:15px;line-height:1.6;overflow-wrap:anywhere;margin:0 0 10px; }
.privacy-badge { display:inline-block;max-width:100%;padding:5px 10px;border-radius:6px;background:var(--soft,#F5F5F3);color:var(--muted,#536048);font-size:11px;font-weight:500;line-height:1.6; }
.privacy-meta-service .privacy-badge { flex-shrink:0;background:var(--dark,#0A1010);color:var(--light,#fff); }
.privacy-badge-required { background:#dfff0029;color:var(--text,#202A19); }
.privacy-dialog .privacy-inactive { font-size:13px; }
.privacy-facts { margin:20px 0 0; }
.privacy-facts>div { display:grid;grid-template-columns:140px minmax(0,1fr);gap:20px;padding:14px 0;border-top:1px solid var(--line,#E0E2DD); }
.privacy-facts dt { font-size:11px;font-weight:600;line-height:1.8; }
.privacy-facts dd { margin:0;font-size:13px;color:var(--muted,#536048);line-height:1.85;overflow-wrap:anywhere; }
.privacy-provider-link { margin-top:12px;font-size:12px; }
.privacy-service-links { display:flex;flex-wrap:wrap;gap:10px 20px;font-size:11px;margin-top:20px; }
.privacy-group { margin-top:36px; }
.privacy-group>p,.privacy-service>p { font-size:13px;line-height:1.85; }
.privacy-actions { display:flex;gap:12px;flex-wrap:wrap;margin-top:24px; }
/* Reject and accept deliberately use the same brand button and dimensions. */
.privacy-actions .button,.privacy-done.button { cursor:pointer;min-height:52px;font:600 14px/1.5 var(--body,Poppins,sans-serif);border-radius:var(--button-radius,11px); }
.privacy-actions .button { flex:1 1 160px;padding:14px 18px; }
.privacy-dialog .privacy-actions { display:grid;grid-template-columns:1fr 1fr; }
.privacy-dialog [data-privacy-save] { grid-column:1/-1; }
.privacy-done { width:100%;margin-top:24px; }
.privacy-close { display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;cursor:pointer;color:var(--light,#fff);background:transparent;border:1px solid var(--dark-line,#35402D);border-radius:var(--button-radius,11px);transition:background 200ms,border-color 200ms; }
.privacy-close:hover { background:var(--dark-surface,#151D17);border-color:var(--lime,#DFFF00); }
.privacy-close svg { width:20px;height:20px; }
.privacy-option { display:flex;gap:14px;align-items:flex-start;margin-top:24px;padding:20px;border:1px solid var(--line,#E0E2DD);border-radius:var(--button-radius,11px);background:var(--soft,#F5F5F3); }
.privacy-option strong,.privacy-option label { font-size:14px;font-weight:600;line-height:1.6; }
.privacy-option small { display:block;color:var(--muted,#536048);font-size:12px;font-weight:400;line-height:1.8;margin-top:6px; }
.privacy-required { display:flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;border-radius:50%;background:var(--lime,#DFFF00);color:var(--text,#202A19); }
.privacy-required svg { width:16px;height:16px; }
.privacy-option input { width:22px;height:22px;flex-shrink:0;margin:2px 0 0;accent-color:var(--text,#202A19);cursor:pointer; }
.privacy-option label { cursor:pointer; }
.privacy-dialog details { margin-top:16px;border-bottom:1px solid var(--line,#E0E2DD);padding-bottom:16px; }
.privacy-dialog summary { cursor:pointer;font-size:12px;font-weight:500;line-height:1.7;padding:8px 0; }
.privacy-dialog [data-privacy-details] { font-size:12px;padding-top:8px; }
.privacy-banner a,.privacy-dialog a { color:var(--link,#526600);text-decoration:underline;text-underline-offset:4px; }
.privacy-links { display:flex;gap:12px 20px;flex-wrap:wrap;font-size:11px;margin-top:24px;padding-top:16px;border-top:1px solid var(--line,#E0E2DD); }
.privacy-banner .privacy-status,.privacy-dialog .privacy-status { font-size:11px;line-height:1.8;overflow-wrap:anywhere; }
.privacy-status:empty { display:none; }
.privacy-banner .privacy-error,.privacy-dialog .privacy-error { color:var(--error,#A52D2D); }
.privacy-dialog :focus-visible,.privacy-banner :focus-visible,.legal-heading :focus-visible,.legal-content :focus-visible { outline:3px solid var(--link,#526600);outline-offset:4px; }
.privacy-topline :focus-visible,.legal-toc :focus-visible { outline-color:var(--lime,#DFFF00); }
.office-legal-links { display:flex;gap:16px;flex-wrap:wrap;justify-content:center;padding:16px;font-size:12px;border-top:1px solid var(--line,#E0E2DD); }
.public-b2b-note { font-size:.78rem!important;margin-top:12px!important; }

@media(max-width:800px) {
  .legal-content .legal-row { grid-template-columns:1fr;gap:16px; }
  .legal-heading h1 { font-size:clamp(36px,6vw,56px); }
}
@media(max-width:540px) {
  .legal-heading .legal-wrap { padding-bottom:32px; }
  .legal-heading .legal-intro { font-size:15px; }
  .legal-heading .legal-eyebrow { font-size:10px;gap:10px; }
  .legal-settings { width:100%;gap:12px;padding-inline:16px;font-size:12px; }
  .legal-toc { padding:24px;margin-bottom:32px; }
  .legal-toc ol { grid-template-columns:1fr; }
  .legal-content .legal-row { padding-block:24px; }
  .privacy-banner { left:12px;right:12px;bottom:12px;max-height:calc(100dvh - 24px);overflow:auto; }
  .privacy-banner { padding:20px;font-size:13px; }
  .privacy-dialog { width:calc(100% - 24px);max-height:calc(100dvh - 24px); }
  .privacy-dialog .privacy-topline { padding:12px 20px; }
  .privacy-scroll { padding:20px;font-size:13px; }
  .privacy-footer { padding:12px 20px; }
  .privacy-service { padding:16px; }
  .privacy-service-heading { align-items:flex-start;flex-direction:column;gap:10px; }
  .privacy-facts>div { grid-template-columns:1fr;gap:6px; }
  .privacy-jumps { display:grid;grid-template-columns:repeat(3,minmax(0,1fr)); }
  .privacy-jumps button { padding-inline:4px;font-size:11px;min-width:0; }
  .privacy-scroll section { scroll-margin-top:140px; }
  .privacy-topline { margin:-20px -20px 20px;padding:12px 20px; }
  .privacy-kicker { font-size:10px; }
  .privacy-banner h2,.privacy-dialog h2 { font-size:22px; }
  .privacy-option { padding:16px;gap:12px; }
  .privacy-actions { gap:10px; }
  .privacy-actions .button { flex-basis:100%; }
  .privacy-dialog .privacy-actions { grid-template-columns:1fr; }
  .privacy-links { gap:12px 16px; }
}
@media(prefers-reduced-motion:reduce) {
  .privacy-banner button,.privacy-dialog button { transition:none; }
  .privacy-banner .button:hover,.privacy-dialog .button:hover { transform:none; }
}
@media print {
  .header,.footer,.spotlight,.privacy-banner,.privacy-dialog,.brand-loader,.skip { display:none!important; }
  .legal-heading { padding:0!important; }
  .legal-wrap { max-width:none!important;width:100%!important;padding-block:16px!important; }
  .legal-heading h1 { font-size:28pt!important;max-width:none; }
  .legal-heading .legal-intro { font-size:11pt!important; }
  .legal-heading .legal-eyebrow .brand-symbol { display:none; }
  .legal-content .legal-row { display:block!important;break-inside:auto;border-bottom:1px solid #bbb;padding:14px 0!important; }
  .legal-row h2 { break-after:avoid;font-size:14pt!important; }
  .legal-row p,.legal-row li { font-size:10pt!important;line-height:1.5!important; }
  .legal-toc { break-after:page;background:none;border:1px solid #bbb;padding:16px; }
  .legal-toc h2,.legal-toc a,.legal-toc a::before { color:black!important; }
  .legal-settings { display:none; }
  .site-legal { background:white!important;color:black!important; }
  a { color:inherit!important;text-decoration:underline; }
}
