.gdpr-book-hero__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,300px);gap:var(--space-xl);align-items:start}.gdpr-book-hero__subtitle{font-family:var(--font-display);font-size:clamp(1.375rem,2.2vw,1.875rem);line-height:1.3;color:var(--color-navy);margin:0 0 var(--space-sm)}.gdpr-book-hero__edition{font-family:var(--font-mono);font-size:var(--fs-small);letter-spacing:var(--tracking-wide);color:var(--color-text-muted);margin:0 0 var(--space-md)}.gdpr-book-hero__intro{margin:0 0 var(--space-md);max-width:62ch}.gdpr-book-hero__cta{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.gdpr-book-hero__cover img{width:100%;height:auto;box-shadow:var(--shadow-strong)}.gdpr-toc{background:var(--color-bg-dim);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.gdpr-toc__title{font-size:var(--fs-h2);letter-spacing:var(--tracking-h2);margin:0 0 var(--space-lg)}.gdpr-toc__subtitle{font-size:var(--fs-h3);margin:var(--space-xl) 0 var(--space-md)}.gdpr-toc__chapters{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));gap:var(--space-lg) var(--space-xl)}.gdpr-toc__chapter-link{display:block;text-decoration:none;color:var(--color-ink);padding-bottom:var(--space-xs);border-bottom:1px solid var(--color-border-strong)}.gdpr-toc__chapter-link:hover .gdpr-toc__chapter-title{color:var(--color-gold)}.gdpr-toc__label{display:block;font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--color-gold);margin-bottom:var(--space-2xs)}.gdpr-toc__chapter-title{font-family:var(--font-display);font-size:1.5rem;line-height:1.2;transition:color var(--dur-fast) var(--ease-out)}.gdpr-toc__authors{font-size:var(--fs-small);color:var(--color-text-muted);margin:var(--space-xs) 0 var(--space-sm)}.gdpr-toc__sections,.gdpr-chapter__sections{list-style:none;margin:0;padding:0}.gdpr-toc__sections a,.gdpr-chapter__sections a{display:grid;grid-template-columns:3.25rem minmax(0,1fr) auto;gap:var(--space-xs);align-items:baseline;padding:.4rem 0;font-size:.975rem;line-height:1.45;color:var(--color-ink-soft);text-decoration:none}.gdpr-toc__sections a:hover,.gdpr-chapter__sections a:hover{color:var(--color-gold)}.gdpr-toc__updated{font-family:var(--font-mono);font-size:.65rem;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-navy);background:var(--color-gold-pale);padding:.1rem .4rem;white-space:nowrap}.gdpr-toc__extra{margin:var(--space-lg) 0 0}.gdpr-toc__extra a{color:var(--color-ink);border-bottom:1px solid var(--color-gold);text-decoration:none}.gdpr-front__inner{max-width:var(--container-narrow)}.gdpr-front__block+.gdpr-front__block{margin-top:var(--space-xl)}.gdpr-front__title{font-size:var(--fs-h3);margin:0 0 var(--space-md)}.gdpr-front__contributors p{margin:0 0 .25rem}.gdpr-front__isbn{margin-top:var(--space-xl);font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:var(--tracking-wide);color:var(--color-text-muted)}.gdpr-head{max-width:var(--container-narrow);margin:0 0 var(--space-lg)}.gdpr-head .article__meta a{color:inherit;text-decoration:none;border-bottom:1px solid var(--color-border-strong)}.gdpr-head .article__meta a:hover{color:var(--color-gold)}.gdpr-head__title{font-size:clamp(2rem,4.2vw,3.5rem);line-height:1.08}.gdpr-layout{display:grid;grid-template-columns:minmax(200px,260px) minmax(0,780px);gap:var(--space-xl);align-items:start}.gdpr-layout__aside{position:sticky;top:7rem;max-height:calc(100vh - 8rem);overflow-y:auto}.gdpr-onpage__title{font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--color-text-muted);margin:0 0 var(--space-xs)}.gdpr-prose .gdpr-heading{position:relative;scroll-margin-top:7rem}.gdpr-prose h4.gdpr-heading{font-size:1.0625rem;font-weight:700;font-family:var(--font-body);margin:var(--space-md) 0 var(--space-xs)}.gdpr-prose .gdpr-heading--minor{font-family:var(--font-body);font-size:1.0625rem;font-weight:700;margin:var(--space-md) 0 .75rem}.gdpr-heading__anchor{position:absolute;left:-1.25em;color:var(--color-border-strong);text-decoration:none;opacity:0;transition:opacity var(--dur-fast) var(--ease-out)}.gdpr-heading:hover .gdpr-heading__anchor,.gdpr-heading__anchor:focus{opacity:1}.gdpr-num{font-family:var(--font-mono);font-size:.8em;color:var(--color-gold);letter-spacing:0}.gdpr-heading .gdpr-num{font-family:inherit;font-size:1em;letter-spacing:inherit;font-variant-numeric:tabular-nums;margin-right:.15em}.gdpr-prose .gdpr-quote{margin:0 0 var(--space-sm);padding:var(--space-xs) 0 var(--space-xs) var(--space-md);border-left:2px solid var(--color-gold);font-family:var(--font-body);font-size:1.0625rem;line-height:1.7;color:var(--color-ink-soft);max-width:none}.gdpr-prose ol.gdpr-labeled,.gdpr-prose ul{list-style:none;padding-left:1.5rem}.gdpr-prose ol.gdpr-labeled>li,.gdpr-prose ul>li{position:relative}.gdpr-prose ol.gdpr-labeled>li{padding-left:2.25em}.gdpr-prose ul>li{padding-left:1.25em}.gdpr-prose ul>li:before{content:"";position:absolute;left:0;top:.72em;width:.32em;height:.32em;border-radius:50%;background:currentColor}.gdpr-labeled__label{position:absolute;left:0;font-variant-numeric:tabular-nums;color:var(--color-ink)}.gdpr-prose ol.gdpr-labeled>li.gdpr-labeled__cont{margin-top:.5rem}.gdpr-prose li>ol.gdpr-labeled,.gdpr-prose li>ul{padding-left:0;margin:.35rem 0 0}.gdpr-example{margin:var(--space-md) 0;padding:var(--space-md) var(--space-md) var(--space-sm);background:var(--color-bg-cream);border-left:3px solid var(--color-gold)}.gdpr-prose .gdpr-example__label{font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--color-gold);margin:0 0 var(--space-2xs)}.gdpr-prose .gdpr-example__title{font-family:var(--font-display);font-size:1.25rem;line-height:1.3;color:var(--color-navy);margin:0 0 var(--space-xs)}.gdpr-example--plain{border-left-color:var(--color-border-strong)}.gdpr-example__body p:last-child,.gdpr-example__body ul:last-child,.gdpr-example__body ol:last-child{margin-bottom:0}.gdpr-figure{margin:var(--space-md) 0}.gdpr-figure img{max-width:100%;height:auto}.gdpr-figure figcaption{font-size:var(--fs-small);color:var(--color-text-muted);margin-top:var(--space-xs)}.gdpr-table{overflow-x:auto;margin:var(--space-md) 0}.gdpr-table table{width:100%;border-collapse:collapse;font-size:.9375rem}.gdpr-table th,.gdpr-table td{border:1px solid var(--color-border);padding:var(--space-xs) var(--space-sm);vertical-align:top;text-align:left}.gdpr-table th{background:var(--color-bg-dim)}.gdpr-table td p,.gdpr-table th p{font-size:inherit;margin:0 0 .35rem}.gdpr-fn-ref a{color:var(--color-gold);text-decoration:none}.gdpr-footnotes{margin-top:var(--space-lg);padding-top:var(--space-sm);border-top:1px solid var(--color-border);font-size:var(--fs-small)}.gdpr-prose .gdpr-footnotes li{font-size:var(--fs-small)}.gdpr-edition{margin:0 0 var(--space-lg);padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);background:var(--color-bg-dim)}.gdpr-edition--updated{border-color:var(--color-gold-soft);background:var(--color-gold-pale)}.gdpr-edition__status,.gdpr-edition__note{margin:0;font-size:var(--fs-small);line-height:1.55;color:var(--color-text)}.gdpr-edition__note{margin-top:var(--space-xs)}.gdpr-cite{margin:var(--space-lg) 0 var(--space-md);padding:var(--space-sm) var(--space-md);border:1px dashed var(--color-border-strong)}.gdpr-cite__title{font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--color-text-muted);margin:0 0 var(--space-2xs)}.gdpr-cite__text{margin:0;font-size:var(--fs-small);line-height:1.55;color:var(--color-ink-soft);overflow-wrap:anywhere}.gdpr-advice{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-sm);margin:0 0 var(--space-lg);padding:var(--space-md);background:var(--color-navy);color:var(--color-white)}.gdpr-advice p{margin:0;max-width:52ch;font-size:.975rem;line-height:1.5}.gdpr-advice .button--ghost{color:var(--color-white);border-color:var(--color-gold)}.gdpr-pager{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);margin-top:var(--space-lg);padding:var(--space-md) 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.gdpr-pager__link{display:flex;flex-direction:column;gap:var(--space-2xs);text-decoration:none;color:var(--color-ink)}.gdpr-pager__link--next{text-align:right;grid-column:2}.gdpr-pager__dir{font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-gold)}.gdpr-pager__title{font-family:var(--font-display);font-size:1.125rem;line-height:1.3}.gdpr-pager__link:hover .gdpr-pager__title{color:var(--color-gold)}.gdpr-chapter{max-width:var(--container-narrow)}.gdpr-chapter__sections a{grid-template-columns:3.5rem minmax(0,1fr) auto;padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border);font-size:1.125rem}.gdpr-chapter__cta{margin-top:var(--space-lg)}@media(max-width:1024px){.gdpr-layout{grid-template-columns:minmax(0,1fr);gap:var(--space-md)}.gdpr-layout__aside{position:static;max-height:none;order:2}.gdpr-onpage{display:none}}@media(max-width:768px){.gdpr-book-hero__inner{grid-template-columns:minmax(0,1fr);gap:var(--space-lg)}.gdpr-book-hero__cover{max-width:220px}.gdpr-pager{grid-template-columns:minmax(0,1fr)}.gdpr-pager__link--next{grid-column:1}.gdpr-heading__anchor{display:none}}.gdpr-switch{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin:0 0 var(--space-md)}.gdpr-switch__menu{position:relative}.gdpr-switch__toggle{display:inline-flex;align-items:center;gap:.6em;padding:.45rem .75rem;border:1px solid var(--color-border-strong);font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--color-text);cursor:pointer;list-style:none;user-select:none;transition:border-color var(--dur-fast) var(--ease-out)}.gdpr-switch__toggle::-webkit-details-marker{display:none}.gdpr-switch__toggle:hover,.gdpr-switch__menu[open] .gdpr-switch__toggle{border-color:var(--color-gold)}.gdpr-switch__kind{color:var(--color-gold)}.gdpr-switch__current{max-width:28ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gdpr-switch__caret{width:.45em;height:.45em;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-25%) rotate(45deg);transition:transform var(--dur-fast) var(--ease-out)}.gdpr-switch__menu[open] .gdpr-switch__caret{transform:translateY(25%) rotate(-135deg)}.gdpr-switch__list{position:absolute;z-index:20;top:calc(100% + 4px);left:0;width:min(440px,calc(100vw - 2 * var(--gutter)));max-height:min(420px,60vh);overflow-y:auto;margin:0;padding:var(--space-xs) 0;list-style:none;background:var(--color-white);border:1px solid var(--color-border-strong);box-shadow:var(--shadow-soft)}.gdpr-switch__list a{display:grid;grid-template-columns:6.5rem minmax(0,1fr);gap:var(--space-xs);padding:.45rem var(--space-sm);font-size:var(--fs-small);line-height:1.35;color:var(--color-ink-soft);text-decoration:none}.gdpr-switch__list a:hover,.gdpr-switch__list a:focus-visible{background:var(--color-bg-dim);color:var(--color-ink)}.gdpr-switch__list a[aria-current=page]{background:var(--color-gold-pale);color:var(--color-navy)}.gdpr-switch__num{font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-gold);padding-top:.1em}@media(max-width:768px){.gdpr-switch__current{max-width:16ch}.gdpr-switch__list a{grid-template-columns:5.5rem minmax(0,1fr)}}.gdpr-switch__list--sections a{grid-template-columns:2.75rem minmax(0,1fr)}.gdpr-prose ul.gdpr-list-columns{columns:3 14rem;column-gap:var(--space-lg);margin:var(--space-sm) 0 var(--space-md)}.gdpr-prose ul.gdpr-list-columns li{break-inside:avoid;font-size:.975rem;line-height:1.45;margin-bottom:.4rem}.gdpr-prose .gdpr-heading{max-width:none}.gdpr-table table{min-width:560px}.gdpr-table th{font-family:var(--font-body);font-weight:700;color:var(--color-navy);vertical-align:bottom}.gdpr-prose .gdpr-table p,.gdpr-prose .gdpr-table li{font-size:.875rem;line-height:1.45;margin:0 0 .3rem}.gdpr-prose .gdpr-table ul{padding-left:0;margin:0}.gdpr-prose .gdpr-table ul>li{padding-left:1em}.gdpr-table td:first-child{white-space:nowrap}.gdpr-example--indented{font-size:1.0625rem;margin-left:calc(1.5rem + var(--gdpr-indent, 1) * 2.25em)}@media(max-width:768px){.gdpr-example--indented{margin-left:1.5rem}}.gdpr-prose .gdpr-heading,.gdpr-head__title{text-wrap:pretty}.gdpr-onpage__rail{position:relative;border-left:1px solid var(--color-border)}.gdpr-onpage__marker{position:absolute;top:0;left:-1px;width:2px;height:0;opacity:0;background:var(--color-gold);transition:transform var(--dur-med) var(--ease-out),height var(--dur-med) var(--ease-out)}@media(prefers-reduced-motion:reduce){.gdpr-onpage__marker{transition:none}}.gdpr-onpage ol{list-style:none;margin:0;padding:0}.gdpr-onpage li a{display:flex;gap:4px;padding:.3rem 0 .3rem 12px;font-size:var(--fs-small);line-height:1.35;color:var(--color-text);text-decoration:none;transition:color var(--dur-fast) var(--ease-out)}.gdpr-onpage .gdpr-onpage__l3>a{padding-top:.2rem;padding-bottom:.2rem;font-size:.8125rem;color:var(--color-text-muted)}.gdpr-onpage li a:hover{color:var(--color-gold)}.gdpr-onpage li a.is-active,.gdpr-onpage .gdpr-onpage__l3>a.is-active{color:var(--color-ink)}.gdpr-onpage__num{flex:none;font-variant-numeric:tabular-nums}.gdpr-onpage__text{min-width:0}.gdpr-onpage__l2>a .gdpr-onpage__num{width:var(--num-w2, auto)}.gdpr-onpage__l3>a .gdpr-onpage__num{width:var(--num-w3, auto)}.gdpr-onpage>.gdpr-onpage__rail>ol>li>ol{margin-left:var(--num-col2, 1.9rem)}.gdpr-head__title{line-height:1.14}.gdpr-prose h2.gdpr-heading{line-height:1.22}.gdpr-prose h3.gdpr-heading{line-height:1.3}.gdpr-prose h4.gdpr-heading,.gdpr-prose .gdpr-heading--minor{line-height:1.4}
