/* Social by Vana – legal pages (generated by vana-build/legal.py, do not edit) */
@font-face{font-family:"Clash Grotesk";src:url(/assets/fonts/clash-grotesk-medium.woff2) format("woff2"),url(/assets/fonts/clash-grotesk-medium.woff) format("woff");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Clash Grotesk";src:url(/assets/fonts/clash-grotesk-bold.woff2) format("woff2"),url(/assets/fonts/clash-grotesk-bold.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Beni;src:url(/assets/fonts/beni-black.woff2) format("woff2"),url(/assets/fonts/beni-black.woff) format("woff");font-weight:900;font-style:normal;font-display:swap}
:root{--green:#00522d;--pink:#003d22;--pink2:#bca495;--pink3:#d3cac5;--cream:#e3d9d8;
  --sys:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;
  --clash:"Clash Grotesk",var(--sys);--beni:Beni,Georgia,"Times New Roman",serif;
  --gutter:clamp(16px,5vw,64px);--measure:46rem;color-scheme:light}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:1.5rem}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--cream);color:var(--green);
  font:400 clamp(1rem,.96rem + .2vw,1.125rem)/1.65 var(--sys);overflow-wrap:break-word;hyphens:auto;-webkit-font-smoothing:antialiased}
::selection{background:var(--green);color:var(--cream)}
a{color:inherit;text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.18em}
a:hover{color:var(--pink)}
:focus-visible{outline:2px solid var(--pink);outline-offset:3px;border-radius:2px}
.legal-vh{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.legal-skip{position:absolute;left:var(--gutter);top:-4rem;z-index:10;padding:.6rem 1rem;border-radius:999px;background:var(--green);color:var(--cream);
  font:700 1rem/1.2 var(--clash);text-decoration:none}
.legal-skip:focus{top:.75rem}

/* header: VK logo (link home) + back button */
.legal-header{padding:clamp(1rem,2.5vw,2rem) var(--gutter) 0}
.legal-header_in,.legal-main,.legal-footer_in{width:100%;max-width:calc(var(--measure) + 14rem);margin:0 auto}
.legal-header_in{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.legal-logo{display:block;width:calc(clamp(4.25rem,9vw,6.5rem) * .959);color:var(--green);line-height:0}
.legal-logo:hover{color:var(--pink)}
.legal-logo_svg{display:block;width:100%;height:auto;overflow:visible}
.legal-back{display:inline-flex;align-items:center;gap:.45em;min-height:2.75rem;padding:.7em 1.15em;border-radius:1rem;background:var(--pink3);color:var(--green);
  font:700 clamp(.95rem,.9rem + .25vw,1.125rem)/1 var(--clash);text-decoration:none;white-space:nowrap;transition:background-color .2s,color .2s}
.legal-back:hover{background:var(--green);color:var(--cream)}
.legal-back_icon{display:block;flex:none;width:1em;height:1em;overflow:visible}

/* content */
.legal-main{flex:1 0 auto;width:calc(100% - 2 * var(--gutter));padding:clamp(2rem,6vw,5rem) 0 clamp(3rem,8vw,6rem)}
.legal-main>*{max-width:var(--measure)}
.legal-main:focus{outline:none}
h1,h2,h3,h4{margin:0;color:var(--green);text-wrap:balance}
h1{font:900 clamp(2.8rem,17vw,8.5rem)/.95 var(--beni);letter-spacing:-.01em;margin-bottom:clamp(1.5rem,4vw,3rem);max-width:none}
h2{font:700 clamp(1.45rem,1.2rem + 1.1vw,2.1rem)/1.15 var(--clash);margin:2.6em 0 .7em;padding-top:.9em;border-top:2px solid var(--pink2)}
h3{font:700 clamp(1.15rem,1.05rem + .45vw,1.4rem)/1.25 var(--clash);margin:2em 0 .5em}
h4{font:700 clamp(1.02rem,1rem + .2vw,1.15rem)/1.3 var(--clash);margin:1.6em 0 .4em}
h1+h2,h1+.legal-toc+h2{margin-top:0}
h1.-sys,h2.-sys,h3.-sys,h4.-sys{font-family:var(--sys);letter-spacing:0}
p,ul,ol{margin:0 0 1em}
ul,ol{padding-left:1.25em}
li{margin:.3em 0}
li::marker{color:var(--pink)}
strong{font-weight:700}
.legal-source{margin-top:3em;font-size:.9em}

/* Datenschutz: table of contents */
.legal-toc{margin:0 0 clamp(2rem,5vw,3.5rem);padding:clamp(1rem,3vw,1.5rem) clamp(1.1rem,3vw,1.75rem);border-radius:1.25rem;background:var(--pink3)}
.legal-toc_title{margin:0 0 .4em;font:700 1.05rem/1.2 var(--clash)}
.legal-toc ol{margin:0;padding-left:1.4em}
.legal-toc li{margin:.2em 0}

/* footer: same legal row as the main page */
.legal-footer{background:var(--green);color:var(--cream);padding:clamp(1.75rem,4vw,3rem) var(--gutter)}
.legal-footer_in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 2rem;font:500 1rem/1.4 var(--clash)}
.legal-footer_copy{margin:0}
.legal-footer_links{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin:0;padding:0;list-style:none}
.legal-footer_links li{margin:0}
.legal-footer a{color:var(--cream);text-decoration:none;text-transform:uppercase;letter-spacing:.02em;font-weight:700}
.legal-footer a:hover,.legal-footer a[aria-current="page"]{color:var(--pink3);text-decoration:underline;text-underline-offset:.25em}
.legal-footer :focus-visible{outline-color:var(--pink2)}

/* tap targets on phones / tablets (and any touch screen): every TOC entry and footer link is a row of at least
   44 px; the rows grow by padding, the lists take the extra height back with negative margins, so the boxes
   around them (TOC card, footer bar) keep their spacing */
@media (max-width:960px),(pointer:coarse){
  .legal-toc ol{margin:-.55rem 0}
  .legal-toc li{margin:0}
  .legal-toc a{display:inline-flex;align-items:center;min-height:2.75rem;padding:.3rem 0}
  .legal-footer_links{gap:0 1.5rem;margin:-.675rem 0}
  .legal-footer a{display:inline-flex;align-items:center;min-height:2.75rem}
}

@media (min-width:1600px){:root{--measure:52rem}}
@media (min-width:2200px){body{font-size:1.25rem}:root{--measure:58rem}.legal-footer_in{font-size:1.15rem}}
@media print{.legal-skip,.legal-back,.legal-toc{display:none}body{background:#fff;color:#000}.legal-footer{background:none;color:#000}.legal-footer a{color:#000}}
