/* Legal notice and privacy policy v582 (23.10.2026): two pages instead of one long one. A lamp-lit hero, a tab switch between the two,
   a sticky table of contents that follows the reader, numbered sections with a link to each, and a thin reading line at the top. */
.lg-progress{position:fixed;left:0;right:0;top:0;height:2px;z-index:80;pointer-events:none}
.lg-progress i{display:block;height:100%;width:100%;transform:scaleX(0);transform-origin:0 50%;background:linear-gradient(90deg,rgba(217,162,95,.2),var(--candle))}

.lg-hero{padding-block:clamp(90px,10vw,140px) clamp(80px,9vw,120px);text-align:center;background:var(--night)}
.lg-hero>.bg{object-position:30% 45%;filter:brightness(.62) saturate(.85)}
main>section.lg-hero>.shade{background:radial-gradient(ellipse 50% 70% at 50% 45%,rgba(6,4,4,.2),rgba(6,4,4,.75) 85%),linear-gradient(180deg,rgba(6,4,4,.5),transparent 30%,transparent 60%,var(--night) 100%)}
.lg-hero-in{display:flex;flex-direction:column;align-items:center;gap:16px;position:relative;z-index:1}
.lg-hero h1{font-size:clamp(34px,5.4vw,62px);letter-spacing:.14em;text-shadow:0 2px 30px rgba(0,0,0,.9),0 0 60px rgba(217,162,95,.12)}
.lg-lead{margin:0;max-width:30em;font-family:var(--f-sub);font-size:clamp(17px,1.9vw,21px);color:var(--ivory);text-shadow:0 1px 12px rgba(0,0,0,.9)}
.lg-tabs{margin-top:14px;display:inline-flex;padding:4px;border:1px solid rgba(217,162,95,.4);border-radius:999px;background:rgba(6,4,4,.6);backdrop-filter:blur(4px)}
.lg-tabs a{padding:9px 20px 8px;border-radius:999px;font-family:var(--f-label);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--ash);text-decoration:none;transition:background .3s,color .3s}
.lg-tabs a:hover,.lg-tabs a:focus-visible{color:var(--ivory)}
.lg-tabs a[aria-current="page"]{background:var(--candle);color:#1a110c}

.lg-body{position:relative;padding:clamp(10px,2vw,30px) 0 clamp(80px,9vw,130px);background:var(--night)}
.lg-grid{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:clamp(30px,5vw,80px);align-items:start}
.lg-toc{position:sticky;top:96px;max-height:calc(100vh - 120px);overflow:auto;scrollbar-width:none}
.lg-toc-h{margin:0 0 16px;font-family:var(--f-label);font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--rose)}
.lg-toc ol{list-style:none;margin:0;padding:0;border-left:1px solid var(--line)}
.lg-toc a{position:relative;display:grid;grid-template-columns:28px 1fr;gap:6px;padding:8px 0 8px 16px;color:var(--ash);text-decoration:none;font-size:15.5px;line-height:1.3;transition:color .3s}
.lg-toc a::before{content:"";position:absolute;left:-1px;top:20%;bottom:20%;width:1px;background:var(--candle);transform:scaleY(0);transition:transform .45s var(--ease-out)}
.lg-toc a .n{font-family:var(--f-display);font-size:12px;color:var(--candle);opacity:.75;padding-top:2px}
.lg-toc a:hover,.lg-toc a:focus-visible,.lg-toc a.on{color:var(--ivory)}
.lg-toc a.on::before{transform:scaleY(1)}

.lg-doc{position:relative;padding:clamp(28px,4.5vw,60px) clamp(22px,5vw,64px);background:linear-gradient(165deg,rgba(43,28,21,.72),rgba(18,12,9,.9));border:1px solid rgba(199,167,155,.2);box-shadow:0 40px 90px -40px #000,inset 0 0 0 6px rgba(6,4,4,.55),inset 0 0 0 7px rgba(199,167,155,.1);font-size:clamp(16.5px,1.6vw,18px);line-height:1.75;color:var(--ash)}
.lg-doc>p:first-child{margin-top:0}
.lg-doc p,.lg-doc ul,.lg-doc address{margin:0 0 1em}
.lg-doc address{font-style:normal;padding:16px 20px;border-left:2px solid var(--candle);background:rgba(6,4,4,.4);color:var(--ivory);line-height:1.6}
.lg-doc ul{padding-left:1.2em}
.lg-doc li{margin-bottom:.35em}
.lg-doc li::marker{color:var(--candle)}
.lg-doc a{color:var(--ivory);text-decoration-color:rgba(217,162,95,.6);text-underline-offset:3px}
.lg-doc a:hover{color:#F3C98B}
.lg-doc h3{position:relative;display:flex;align-items:center;gap:14px;margin:2.2em 0 .7em;padding-top:1.4em;border-top:1px solid rgba(199,167,155,.14);font-family:var(--f-display);font-weight:400;font-size:clamp(17px,1.8vw,20px);letter-spacing:.1em;text-transform:uppercase;color:var(--ivory);scroll-margin-top:96px}
.lg-doc h3:first-of-type{margin-top:1.2em}
.lg-doc h3 .lg-n{flex:none;display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(217,162,95,.5);border-radius:50%;font-size:12px;letter-spacing:.06em;color:var(--candle)}
.lg-doc h3 .lg-a{margin-left:auto;opacity:0;font-family:var(--f-label);font-size:10.5px;letter-spacing:.18em;color:var(--candle);text-decoration:none;transition:opacity .3s}
.lg-doc h3:hover .lg-a,.lg-doc h3 .lg-a:focus-visible{opacity:1}
.lg-doc h3.lit{animation:lg-lit 1.6s ease}
@keyframes lg-lit{0%,100%{text-shadow:none}30%{text-shadow:0 0 18px rgba(217,162,95,.55)}}
.lg-doc .stamp{display:inline-block;margin-bottom:1.4em;padding:5px 14px;border:1px solid rgba(217,162,95,.4);border-radius:999px;font-family:var(--f-label);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--candle)}
.lg-end{display:flex;gap:12px;justify-content:center;margin:3em 0 0!important;padding-top:1.6em;border-top:1px solid rgba(199,167,155,.14);font-family:var(--f-label);font-size:12px;letter-spacing:.18em;text-transform:uppercase}
.lg-end a{color:var(--candle);text-decoration:none}
.lg-end a:hover{color:#F3C98B}

@media (max-width:900px){
  .lg-grid{grid-template-columns:minmax(0,1fr);gap:20px}
  .lg-toc{position:sticky;top:64px;z-index:5;margin-inline:calc(var(--gut)*-1);padding:10px var(--gut);max-height:none;background:rgba(6,4,4,.92);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);overflow-x:auto;overflow-y:hidden}
  .lg-toc-h{display:none}
  .lg-toc ol{display:flex;gap:8px;border-left:0;width:max-content}
  .lg-toc a{display:flex;padding:7px 13px;border:1px solid var(--line);font-size:13px;white-space:nowrap}
  .lg-toc a::before{display:none}
  .lg-toc a.on{border-color:var(--candle)}
  .lg-doc h3 .lg-a{opacity:.7}
}
@media (max-width:520px){.lg-tabs a{padding:8px 13px 7px;font-size:11px;letter-spacing:.14em}.lg-doc{padding:24px 18px}}
@media (prefers-reduced-motion:reduce){.lg-doc h3.lit{animation:none}}
.toast{position:fixed;left:50%;bottom:28px;z-index:90;translate:-50% 0;padding:11px 20px;border:1px solid rgba(217,162,95,.5);background:#1a110c;color:var(--ivory);font-family:var(--f-label);font-size:12px;letter-spacing:.16em;text-transform:uppercase;box-shadow:0 20px 40px -12px #000;animation:lg-toast .35s ease both}
@keyframes lg-toast{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ===== v583 (23.10.2026) ===== */
/* hero without a photo: a fine engraved pattern like a certificate, lit from the middle */
.lg-hero>.bg{display:none}
.lg-pattern{position:absolute;inset:0;z-index:-2;background:
  radial-gradient(ellipse 45% 60% at 50% 46%,rgba(217,162,95,.14),transparent 70%),
  repeating-radial-gradient(circle at 50% 46%,rgba(217,162,95,.07) 0 1px,transparent 1px 9px),
  repeating-linear-gradient(45deg,rgba(217,162,95,.025) 0 1px,transparent 1px 14px),
  repeating-linear-gradient(-45deg,rgba(217,162,95,.025) 0 1px,transparent 1px 14px),
  linear-gradient(180deg,#0d0806,#120b08 60%,var(--night));
  -webkit-mask-image:radial-gradient(ellipse 80% 90% at 50% 45%,#000 30%,rgba(0,0,0,.35) 75%,transparent 100%);mask-image:radial-gradient(ellipse 80% 90% at 50% 45%,#000 30%,rgba(0,0,0,.35) 75%,transparent 100%)}
main>section.lg-hero>.shade{background:linear-gradient(180deg,transparent 60%,var(--night) 100%)}
/* places that still need content are marked yellow */
.lg-doc .todo-note{background:rgba(255,214,64,.22);color:#FFE27A;padding:1px 6px;border-radius:2px;box-shadow:0 0 0 1px rgba(255,214,64,.35)}
.lg-doc p.todo-note{display:block;padding:10px 14px}
.lg-doc .todo{color:#FFD640}

/* v598: tables in the privacy policy (cookies and storage); on phones each row becomes a small card */
.lg-doc .lg-table{margin:0 0 1.2em;border:1px solid rgba(199,167,155,.18);border-radius:4px;background:rgba(6,4,4,.35)}
.lg-doc table{width:100%;border-collapse:collapse;font-size:.92em;line-height:1.45}
.lg-doc th,.lg-doc td{padding:9px 12px;text-align:left;vertical-align:top;border-bottom:1px solid rgba(199,167,155,.12)}
.lg-doc tbody tr:last-child td{border-bottom:0}
.lg-doc th{font-family:var(--f-label);font-weight:400;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--candle);white-space:nowrap}
.lg-doc td:first-child{width:30%;color:var(--ivory);overflow-wrap:anywhere}
.lg-doc td:last-child{width:18%}
@media (max-width:640px){
  .lg-doc thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .lg-doc table,.lg-doc tbody,.lg-doc tr,.lg-doc td{display:block;width:auto}
  .lg-doc tr{padding:10px 14px;border-bottom:1px solid rgba(199,167,155,.12)}
  .lg-doc tbody tr:last-child{border-bottom:0}
  .lg-doc td{padding:2px 0;border:0}
  .lg-doc td:first-child{width:auto;font-family:var(--f-label);font-size:12px;letter-spacing:.08em;color:var(--candle);margin-bottom:2px}
  .lg-doc td:last-child{width:auto;font-size:.9em;opacity:.75}
}

/* v678: the "Last updated" pill always stays on one line; on phones it gets a little tighter */
.lg-doc .stamp{white-space:nowrap;max-width:100%}
@media (max-width:520px){.lg-doc .stamp{padding:5px 12px;font-size:10.5px;letter-spacing:.1em}}

/* v693: inline code (the ?ref= example) uses the text font of the page, not the browser's monospace font */
.lg-doc code{font:inherit;letter-spacing:.02em;color:var(--ivory);padding:.04em .4em .08em;border-radius:3px;background:rgba(217,162,95,.13);box-shadow:inset 0 0 0 1px rgba(217,162,95,.28);white-space:nowrap}

/* v706 (08.11.2026): justified body text (Impressum and privacy policy), with automatic hyphenation (the pages are lang="en") so the lines stay even */
.lg-doc>p,.lg-doc li{text-align:justify;text-justify:inter-word;hyphens:auto;-webkit-hyphens:auto;hyphenate-limit-chars:6 3 3}
.lg-doc address,.lg-doc td,.lg-doc th,.lg-doc .stamp,.lg-end{text-align:left;hyphens:manual}
