/* simple text pages (privacy, terms, 404) — same type and colours as the main site */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:#0A0C0B;color:#F1F4F2;font-family:"Instrument Sans","Helvetica Neue",Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
a{color:#F1F4F2;text-underline-offset:3px}a:hover{color:#FFFFFF}
:focus-visible{outline:2px solid #FFFFFF;outline-offset:4px;border-radius:8px}
.serif{font-family:"Instrument Serif",Georgia,"Times New Roman",serif;font-weight:400}
.top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px clamp(20px,4vw,48px);border-bottom:1px solid rgba(255,255,255,.08)}
.top>a:first-child{display:inline-flex;align-items:center;min-height:44px}
.top svg{display:block;width:clamp(112px,10vw,150px);height:auto;color:#F1F4F2}
.back{display:inline-flex;align-items:center;min-height:44px;font-size:15px;font-weight:500;color:#B3BCB7;text-decoration:none}
.doc{max-width:760px;margin:0 auto;padding:clamp(48px,9vw,110px) clamp(20px,4vw,48px) 96px}
.doc h1{font-size:clamp(44px,8vw,88px);line-height:1;letter-spacing:-.02em;margin:0 0 18px}
.meta{color:#939D98;font-size:15px;margin:0 0 48px}
.doc h2{font-size:clamp(24px,3.4vw,32px);line-height:1.15;margin:48px 0 12px}
.doc p,.doc li{font-size:17px;line-height:1.7;color:#C4CBC7}
.doc ul{padding-left:22px}
.foot{padding:28px clamp(20px,4vw,48px) calc(28px + env(safe-area-inset-bottom,0px));border-top:1px solid rgba(255,255,255,.08);color:#939D98;font-size:15px;display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}
.foot a{color:#939D98;text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
.foot a:hover{color:#FFFFFF}
.nf{min-height:calc(100svh - 180px);display:flex;flex-direction:column;justify-content:center}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 26px;border-radius:999px;background:#F1F4F2;color:#0A0C0B;font-weight:600;text-decoration:none;width:max-content}
.btn:hover{background:#FFFFFF;color:#0A0C0B}

/* ═════════ LEGAL PAGES LAYOUT v1 (26.10.2026) — same edge tokens as the main site ═════════ */
:root{--gx:max(48px,3.2vw,calc((100vw - 1800px) / 2))}
@media (max-width:1100px){ :root{--gx:40px} }
@media (max-width:760px){ :root{--gx:22px} }
@media (max-width:400px){ :root{--gx:18px} }
.top{padding-left:var(--gx);padding-right:var(--gx)} /* logo and back link on the site edge */
.top svg{width:clamp(132px,10.6vw,160px)} /* same logo width as the main nav */
@media (max-width:1100px){ .top svg{width:140px} }
@media (max-width:560px){ .top svg{width:120px} }
@media (max-height:520px) and (orientation:landscape){ .top svg{width:112px} }
.doc{max-width:calc(540px + 2 * var(--gx));padding-left:var(--gx);padding-right:var(--gx)} /* about 70 characters a line (was 87) */
.foot{padding-left:var(--gx);padding-right:var(--gx);align-items:center} /* footer on the site edge; © line on the link line */
.foot>span:first-child{display:inline-flex;align-items:center;min-height:44px} /* © line as tall as the 44px links, so both sit on one centre line */

/* ═════════ LEGAL PAGES v3 (26.10.2026) — plain legal document, like Indian company sites (Mit: "meant to be boring") ═════════ */
.doc{max-width:calc(860px + 2 * var(--gx));padding-top:clamp(40px,6vw,72px)}
.doc h1{font-family:"Instrument Sans","Helvetica Neue",Helvetica,sans-serif;font-weight:600;font-size:clamp(28px,3.4vw,36px);line-height:1.2;letter-spacing:0;margin:0 0 8px}
.doc .meta{font-size:14px;margin:0 0 32px}
.doc h2{font-family:"Instrument Sans","Helvetica Neue",Helvetica,sans-serif;font-weight:600;font-size:15px;line-height:1.5;letter-spacing:.02em;color:#F1F4F2;margin:32px 0 10px}
.doc p,.doc li{font-size:15px;line-height:1.7;color:#B3BCB7;margin:0 0 10px}
@media (min-width:760px){ .doc p,.doc li{text-align:justify;hyphens:auto;-webkit-hyphens:auto} }
.doc strong{color:#D5DBD8;font-weight:600}
.doc a{color:#D5DBD8}
.cl{display:grid;grid-template-columns:40px 1fr}
.cl .no{color:#939D98}
.caps{letter-spacing:.01em}
.doc ol.sub{list-style:none;counter-reset:sub;margin:0 0 10px 40px;padding:0}
.doc ol.sub li{counter-increment:sub;position:relative;padding-left:34px}
.doc ol.sub li::before{content:"(" counter(sub,lower-alpha) ")";color:#939D98;position:absolute;left:0;top:0}
.addr{margin:4px 0 14px 40px!important;padding-left:14px;border-left:1px solid rgba(255,255,255,.14);text-align:left!important}
/* yellow = needs input or confirmation from Nexer Technology; must be gone before going live */
@media print{
  body{background:#fff;color:#000}
  .top .back{display:none}
  .doc h1,.doc h2,.doc p,.doc li,.doc strong,.doc a,.cl .no{color:#000}
}

/* language switch (DE / EN) in the header of the legal pages */
.top .back{margin-left:auto}
.lang-sw{display:flex;align-items:center;flex:none}
.lang-sw a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:0 6px;font-size:14px;font-weight:600;letter-spacing:.1em;color:#8A9590;text-decoration:none}
.lang-sw a+a::before{content:"";width:1px;height:12px;background:rgba(241,244,242,.24);margin-right:12px;margin-left:-6px}
.lang-sw a[aria-current="page"]{color:#F1F4F2}
.lang-sw a:not([aria-current]):hover{color:#FFFFFF}
@media print{ .lang-sw{display:none} }
/* 404: German + English action side by side */
.nf-actions{display:flex;flex-wrap:wrap;gap:12px;margin:8px 0 0}
.btn-ghost{background:transparent;color:#F1F4F2;box-shadow:inset 0 0 0 1.5px rgba(241,244,242,.5)}
.btn-ghost:hover{background:transparent;color:#FFFFFF;box-shadow:inset 0 0 0 1.5px #FFFFFF}
/* long German compounds (e.g. "Datenschutzaufsichtsbehörde") hyphenate by German rules instead of pushing the page sideways on 320 px phones */
.doc{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}
.doc h1,.doc h2{-webkit-hyphens:manual;hyphens:manual}
/* small phones: logo (links home) + language switch only — the back link does not fit beside them at 320 px */
@media (max-width:400px){ .top .back{display:none} .top .lang-sw{margin-left:auto} }

/* ═════════ QA FIXES (26.10.2026) ═════════ */
/* hyphenation only on German pages (long compounds); English text and web addresses never get a false hyphen */
.doc,.doc p,.doc li{-webkit-hyphens:manual;hyphens:manual}
html[lang="de"] .doc p,html[lang="de"] .doc li{-webkit-hyphens:auto;hyphens:auto}
.doc a{-webkit-hyphens:none;hyphens:none;overflow-wrap:anywhere}
/* buttons inside the page body keep their own colours (the .doc link colour made "Zur Startseite" unreadable) */
.doc a.btn{color:#0A0C0B}
.doc a.btn.btn-ghost{color:#F1F4F2}
/* DE / EN divider centred between two equal boxes */
.lang-sw a{position:relative;padding:0}
.lang-sw a+a::before{position:absolute;left:0;top:50%;margin:0;transform:translateY(-50%)}
/* small phones: the back link becomes an arrow button (logo + arrow + DE/EN fit at 320 px) */
@media (max-width:400px){
  .top .back{display:inline-flex;margin-left:auto;font-size:0;min-width:44px;justify-content:center}
  .top .back::after{content:"←";font-size:20px;line-height:1}
  .top .lang-sw{margin-left:0}
}
/* 404: headings balance their lines (no single word alone on a line) */
.nf h1,.nf .nf-en,.nf .meta{text-wrap:balance}
.nf .nf-en{font-size:clamp(26px,4vw,40px);line-height:1.1;margin:28px 0 8px;color:#C4CBC7}
/* tax ID, web addresses, e-mails: never broken or hyphenated */
.nobr{white-space:nowrap;-webkit-hyphens:none;hyphens:none}
/* legal text: left-aligned (no wide gaps in justified CAPS paragraphs); German hyphenation only where long
   compounds would not fit (small phones) — no false hyphens in English law names on larger screens */
.doc p,.doc li{text-align:left}
html[lang="de"] .doc p,html[lang="de"] .doc li{-webkit-hyphens:manual;hyphens:manual}
/* page titles fit on small phones ("Datenschutzerklärung" was split without a hyphen at 320 px) */
@media (max-width:560px){ .doc h1{font-size:clamp(30px,9.4vw,44px);overflow-wrap:normal} }
@media (max-width:560px){ .doc h1{font-size:clamp(24px,7.9vw,44px)} html[lang="de"] .doc h1{-webkit-hyphens:auto;hyphens:auto} }
/* 404: the page fits the screen exactly (it scrolled by 10 px) */
body:has(.nf){display:flex;flex-direction:column;min-height:100vh;min-height:100svh}
body:has(.nf) .nf{flex:1;min-height:0}

/* analytics switch on the privacy pages (assets/js/stats.js) — under the text column of 3.4 */
.optout{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;margin:4px 0 18px 40px;padding:14px 18px;border:1px solid rgba(255,255,255,.12);border-radius:14px}
.optout[hidden]{display:none}
.doc .optout p{margin:0;text-align:left;color:#D5DBD8}
.optout button{font:inherit;font-size:14px;font-weight:600;min-height:44px;padding:0 20px;border-radius:999px;border:0;background:#F1F4F2;color:#0A0C0B;cursor:pointer}
.optout button:hover{background:#FFFFFF}
@media (max-width:560px){ .optout{margin-left:0} }
@media print{ .optout{display:none} }
