/* =====================================================================
   CEEK — privacy (Datenschutz): an open hero with the language switch,
   then the policy twice, German first and English second, each on a
   white sheet with its contents list held beside the text.
   The Impressum (/impressum/) is built from the same parts, without
   the contents list.
   Everything here is prefixed .pv- so nothing leaks into the core.
   ===================================================================== */

/* ---------- hero: the title, a word on what follows, the two languages ---------- */
.pv-hero{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);row-gap:clamp(20px,2vw,32px);align-items:end;
  padding-top:calc(var(--icon) + var(--nav-pad) * 2 + clamp(48px,8vw,170px));padding-bottom:clamp(48px,5.5vw,110px)}
.pv-hero-main{grid-column:1/span 7}
.pv-kicker{margin-bottom:clamp(16px,1.6vw,28px);color:var(--text-3)}
.pv-title{margin-left:-.05em;font-size:clamp(46px,6.4vw,136px);line-height:1;letter-spacing:-.045em}
.pv-title em{color:var(--text-3)}
.pv-hero-side{grid-column:9/span 4;display:flex;flex-direction:column;align-items:flex-start;gap:1rem}
.pv-intro{font-size:clamp(18px,1.4vw,25px);line-height:1.35;letter-spacing:-.01em}
.pv-intro--en{font-size:clamp(15px,1vw,18px);line-height:1.5;letter-spacing:0;color:var(--text-2)}
.pv-langs{display:flex;flex-wrap:wrap;gap:8px;margin-top:.5rem}
.pv-lang{display:inline-flex;align-items:center;gap:.7em;height:3.1em;padding:0 1.15em 0 1.35em;border-radius:99px;box-shadow:inset 0 0 0 1px var(--line-strong);
  font-size:clamp(12px,.88vw,15px);font-weight:500;line-height:1;letter-spacing:.06em;text-transform:uppercase;transition:background-color .35s var(--e-swift),color .35s var(--e-swift),box-shadow .35s}
.pv-lang svg{width:1.15em;height:1.15em;transform:rotate(90deg);transition:transform .45s var(--e-swift)}
@media (hover:hover){
  .pv-lang:hover{background:var(--text);color:var(--white);box-shadow:inset 0 0 0 1px var(--text)}
  .pv-lang:hover svg{transform:rotate(90deg) translateX(2px)}
}
@media (max-width:812px){.pv-hero-main,.pv-hero-side{grid-column:1/-1}}

/* ---------- the policy: a white sheet, contents on the left, the text on the right ---------- */
.pv-doc+.pv-doc{margin-top:clamp(20px,2.4vw,40px)}
.pv-doc:last-of-type{padding-bottom:clamp(96px,10vw,200px)}
.pv-sheet{display:flex;gap:clamp(32px,5vw,110px);padding:clamp(28px,4.4vw,88px) clamp(22px,4vw,80px);border-radius:clamp(20px,3vw,48px);background:var(--white);
  box-shadow:0 1px 2px rgba(18,20,23,.04),0 40px 90px -60px rgba(40,56,70,.45)}
.pv-side{flex:none;width:clamp(230px,22vw,380px)}
.pv-side-in{position:sticky;top:calc(var(--icon) + var(--nav-pad) * 2 + 20px)}
.pv-lang-label{color:var(--text-3)}
.pv-doc-title{margin:.45em 0 .5em;font-size:clamp(30px,2.6vw,52px);line-height:1.04;letter-spacing:-.03em;hyphens:manual}
.pv-date{font-size:clamp(14px,.92vw,16px);color:var(--text-3)}

.pv-toc{margin-top:clamp(22px,2.2vw,36px);padding-top:clamp(14px,1.2vw,20px);border-top:1px solid var(--line)}
.pv-toc ol{display:flex;flex-direction:column}
.pv-toc a{display:flex;gap:.9em;padding:.34em 0;font-size:clamp(14px,.92vw,16px);line-height:1.3;color:var(--text-2);transition:color .25s}
.pv-toc a span{flex:none;width:1.5em;color:var(--text-3);font-variant-numeric:tabular-nums}
@media (hover:hover){.pv-toc a:hover{color:var(--text)}.pv-toc a:hover span{color:var(--mist)}}

.pv-body{flex:1;min-width:0;max-width:40em;font-size:clamp(16px,1.05vw,19px);overflow-wrap:break-word}

/* in short: four lines before the details */
.pv-short{margin-bottom:clamp(36px,3.6vw,64px);padding:clamp(20px,2.2vw,36px) clamp(22px,2.4vw,40px);border-radius:var(--r);background:var(--paper)}
.pv-short .t-label{margin-bottom:1em;color:var(--text-3)}
.pv-short li{position:relative;padding-left:1.35em;color:var(--text);line-height:1.5}
.pv-short li::before{content:"";position:absolute;left:0;top:.56em;width:.48em;height:.48em;border-radius:50%;background:var(--mist)}
.pv-short li+li{margin-top:.6em}

/* the numbered sections */
.pv-sec{padding-block:clamp(28px,2.8vw,48px);border-top:1px solid var(--line-soft)}
.pv-short+.pv-sec,.pv-sec:first-child{padding-top:0;border-top:0}
.pv-sec:last-child{padding-bottom:0}
.pv-h{display:flex;align-items:baseline;gap:.75em;margin-bottom:.75em;font-size:clamp(22px,1.75vw,34px);line-height:1.15;letter-spacing:-.022em;hyphens:manual}
.pv-n{flex:none;font-size:clamp(11px,.84vw,15px);font-weight:500;letter-spacing:.06em;color:var(--mist);font-variant-numeric:tabular-nums}
.pv-sec p,.pv-sec li,.pv-sec dd{color:var(--text-2);line-height:1.62}
.pv-sec strong{color:var(--text);font-weight:500}
.pv-sec :is(p,ul,dl,address)+:is(p,ul,dl,address){margin-top:1em}
.pv-list li{position:relative;padding-left:1.3em}
.pv-list li::before{content:"–";position:absolute;left:0;color:var(--text-3)}
.pv-list li+li{margin-top:.5em}
.pv-address{font-style:normal;color:var(--text);line-height:1.62}
.pv-basis{font-size:clamp(14px,.92vw,16px);color:var(--text-3)!important}
.pv-sec code{padding:.08em .36em;border-radius:5px;background:var(--paper);color:var(--text);font:500 .86em/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:nowrap}

/* what the site keeps in your browser */
.pv-store>div{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,2fr);gap:.4em var(--gap);padding:.9em 0;border-top:1px solid var(--line-soft)}
.pv-store>div:last-child{border-bottom:1px solid var(--line-soft)}
.pv-store dt{line-height:1.9}
.pv-store-meta{display:block;margin-top:.3em;font-size:clamp(13px,.86vw,15px);color:var(--text-3)}
@media (max-width:600px){.pv-store>div{grid-template-columns:minmax(0,1fr)}}

/* a fact we don't have yet: fill it in before this goes live */
.pv-todo{padding:.05em .3em;border-radius:4px;background:rgba(232,221,202,.85);box-shadow:inset 0 0 0 1px rgba(180,87,75,.55);color:#8A3B31;font-weight:500;-webkit-box-decoration-break:clone;box-decoration-break:clone}

@media (max-width:1023px){
  .pv-sheet{flex-direction:column;gap:clamp(28px,4vw,44px)}
  .pv-side{width:auto}
  .pv-side-in{position:static}
  .pv-toc ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--gap)}
}
@media (max-width:600px){
  .pv-sheet{padding-inline:18px}
  .pv-short{padding-inline:18px}
  .pv-toc ol{grid-template-columns:minmax(0,1fr)}
  .pv-body{hyphens:auto;-webkit-hyphens:auto;hyphenate-limit-chars:12 5 5}   /* only the long German words break */
}

/* printed, it's just the text */
@media print{
  .nav,.float-start,.footer,.pv-langs,.pv-toc,.preloader,.curtain,.skip{display:none!important}
  html.js [data-reveal],html.js [data-reveal-lines] .line>span{opacity:1!important;transform:none!important}
  .pv-hero{padding:0 0 24px}
  .pv-sheet{display:block;padding:0;border-radius:0;box-shadow:none}
  .pv-side-in{position:static}
  .pv-doc+.pv-doc{break-before:page}
}
