.legal-header{padding:150px 0 56px;background:var(--paper-2);border-bottom:1px solid var(--arena-200);}
.legal-header .eyebrow-row{display:flex;align-items:center;gap:10px;margin-bottom:18px;}
.legal-header .eyebrow-row .line{width:32px;height:1px;background:var(--granate-500);}
.legal-header h1{font-family:var(--display);font-weight:700;font-size:clamp(32px,4vw,46px);color:var(--granate-700);letter-spacing:-0.02em;margin:0 0 12px;line-height:1.08;}
.legal-header .legal-lede{font-size:15.5px;color:var(--ink);opacity:.75;max-width:640px;line-height:1.6;margin:0 0 14px;}
.legal-updated{font-size:13px;color:var(--granate-500);font-weight:700;letter-spacing:.02em;}
.legal-body{padding:56px 0 120px;}
.legal-grid{display:grid;grid-template-columns:240px 1fr;gap:64px;align-items:start;}
.legal-toc{position:sticky;top:110px;}
.legal-toc h4{font-family:var(--sans);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--granate-500);font-weight:700;margin:0 0 16px;}
.legal-toc ol{list-style:none;padding:0;margin:0;counter-reset:toc;}
.legal-toc li{counter-increment:toc;margin-bottom:10px;}
.legal-toc a{font-size:13.5px;color:var(--ink);opacity:.72;text-decoration:none;line-height:1.4;display:flex;gap:8px;}
.legal-toc a::before{content:counter(toc)".";color:var(--granate-500);font-weight:700;flex-shrink:0;}
.legal-toc a:hover{opacity:1;color:var(--granate-700);}
.legal-content{max-width:720px;}
.legal-content h2{font-family:var(--display);font-weight:700;font-size:23px;color:var(--granate-700);letter-spacing:-0.01em;margin:46px 0 14px;scroll-margin-top:110px;}
.legal-content h2:first-child{margin-top:0;}
.legal-content h3{font-family:var(--display);font-weight:700;font-size:16px;color:var(--granate-500);margin:24px 0 8px;}
.legal-content p{font-size:15px;line-height:1.75;color:var(--ink);opacity:.88;margin:0 0 14px;}
.legal-content ul,.legal-content ol{margin:0 0 16px;padding-left:20px;}
.legal-content li{font-size:15px;line-height:1.7;color:var(--ink);opacity:.88;margin-bottom:8px;}
.legal-content strong{color:var(--granate-700);}
.legal-content a{color:var(--granate-500);text-decoration:underline;text-underline-offset:2px;}
.legal-content a:hover{color:var(--granate-700);}
.legal-note{background:var(--paper-2);border-left:3px solid var(--granate-500);padding:16px 20px;border-radius:0 var(--r-sm) var(--r-sm) 0;margin:0 0 22px;}
.legal-note p{margin:0;opacity:1;}
.legal-table-wrap{overflow-x:auto;margin:0 0 24px;border-radius:var(--r-sm);}
table.legal-table{width:100%;border-collapse:collapse;font-size:13px;}
table.legal-table th{background:var(--granate-700);color:var(--paper);text-align:left;padding:10px 14px;font-weight:700;font-size:11px;letter-spacing:.04em;text-transform:uppercase;}
table.legal-table td{padding:10px 14px;border-bottom:1px solid var(--arena-200);color:var(--ink);opacity:.85;vertical-align:top;}
table.legal-table tr:nth-child(even) td{background:var(--paper-2);}
@media (max-width:860px){.legal-grid{grid-template-columns:1fr;}.legal-toc{position:static;}}
@media (max-width:560px){.legal-header{padding:130px 0 40px;}}

/* ---- Cookie consent banner (injected by cookie-consent.js) ---- */
.cookie-banner{position:fixed;left:20px;right:20px;bottom:20px;max-width:640px;margin:0 auto;background:var(--granate-900);color:var(--paper);border-radius:var(--r-md);box-shadow:var(--shadow-float);padding:24px 26px;z-index:9999;font-family:var(--sans);transform:translateY(140%);transition:transform .5s cubic-bezier(.22,1,.36,1);}
.cookie-banner.show{transform:translateY(0);}
.cookie-banner p{margin:0 0 16px;font-size:13.5px;line-height:1.6;color:rgba(251,246,234,.85);}
.cookie-banner a{color:var(--arena-300);text-decoration:underline;}
.cookie-banner-actions{display:flex;flex-wrap:wrap;gap:10px;}
.cookie-banner-actions button{font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:.01em;padding:11px 18px;border-radius:var(--r-pill);border:none;cursor:pointer;transition:background .2s,opacity .2s;}
.cb-accept{background:var(--arena-300);color:var(--granate-900);}
.cb-accept:hover{background:var(--arena-400);}
.cb-reject{background:transparent;color:var(--paper);box-shadow:inset 0 0 0 1.5px rgba(251,246,234,.4);}
.cb-reject:hover{box-shadow:inset 0 0 0 1.5px var(--paper);}
@media (max-width:560px){.cookie-banner{left:12px;right:12px;bottom:12px;padding:20px;}}
