
:root { color-scheme: dark; --light:#f6f5f2; --dim:rgba(246,245,242,.67); }
* { box-sizing:border-box; }
html,body {margin:0;min-height:100%;}
body { background:#191919; color:var(--light);font:16px/1.65 Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased; }
a { color:inherit; text-underline-offset:.22em; }
a:hover,a:focus-visible { color:white; }
a:focus-visible { outline:2px solid white; outline-offset:4px; }
.shell { margin:auto; max-width:1080px;padding:0 clamp(26px,7vw,64px); }
.sitehead { display:flex;align-items:center;justify-content:space-between;padding-top:36px;padding-bottom:18px;gap:18px; }
.sitehead a {font-size:18px;letter-spacing:.075em;font-weight:700;text-decoration:none;text-transform:uppercase;line-height:1.3;}
.locale { display:flex;gap:10px;align-items:center;font-size:12px;letter-spacing:.08em; white-space:nowrap; }
.locale span {color:var(--dim);}
.locale a {color:white;}
.legal { max-width:800px; padding:42px 0 90px; }
.legal h1 { font-size:clamp(42px,7.4vw,78px);line-height:1.06;letter-spacing:-.05em;font-weight:600;margin:12px 0 52px; }
.legal h2 {font-size:clamp(18px,2.5vw,23px);line-height:1.3;letter-spacing:-.025em;font-weight:600;margin:40px 0 12px; }
.legal p { color:#dad9d6; margin:0 0 17px;max-width:760px; }
.legal a {color:#fff;}
.bottom {border-top:1px solid #555;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0 33px;font-size:12px;letter-spacing:.035em;color:var(--dim);}
.bottom nav {display:flex;gap:18px;flex-wrap:wrap;}
.bottom a {text-decoration:none;}
.bottom a:hover {text-decoration:underline;}
@media(max-width:680px) { .sitehead {padding-top:30px;} .sitehead a {font-size:16px;} .legal {padding-top:40px;padding-bottom:70px;} .legal h1 {font-size:clamp(44px,10vw,64px);margin-bottom:35px;} .bottom{font-size:11px;gap:8px;} .bottom nav{gap:12px;} }

/* v6: permanent return link beside the language selector */
.locale {gap:12px}.locale .home-link{text-transform:uppercase;text-decoration:none;font-size:12px;font-weight:600;letter-spacing:.06em}
.locale .head-separator{color:rgba(255,255,255,.4);font-weight:400}
.contact-main{min-height:65vh;min-height:65svh}
.contact-main h1{margin-bottom:42px}
.contact-main h2{font-size:clamp(22px,3vw,30px);margin:0 0 20px}
.contact-email{font-size:clamp(20px,3vw,28px);overflow-wrap:anywhere}
@media(max-width:410px){.locale{gap:9px}.locale .home-link{font-size:11px}}

.locale span.active-language{color:#fff;font-weight:700}.locale a:not(.home-link){color:var(--dim);font-weight:400}.locale a.home-link{color:#fff}

/* v8 unified navigation used by home/contact/imprint/privacy (EN/DE) */
.shell{max-width:none;padding:0 clamp(26px,7vw,112px)}
.sitehead{position:relative;z-index:4;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:clamp(27px,4vw,56px) 0 18px}
.sitehead .brand{display:flex;flex-direction:column;gap:7px;line-height:1.15}
.sitehead .name{font-size:clamp(15px,1.4vw,21px);font-weight:700;letter-spacing:.075em;text-transform:uppercase;text-decoration:none;line-height:1.15;color:var(--light)}
.sitehead .place{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--dim)}
.menu-toggle{border:0;background:none;color:var(--light);padding:0;width:39px;height:32px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;gap:6px;align-items:flex-end}
.menu-toggle .line{height:2px;background:currentColor;width:31px;transform-origin:center;transition:transform .18s,opacity .18s}
.menu-open .menu-toggle .line:nth-child(1){transform:translateY(8px) rotate(45deg)}
.menu-open .menu-toggle .line:nth-child(2){opacity:0}
.menu-open .menu-toggle .line:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.menu-sheet{position:absolute;z-index:5;right:clamp(26px,7vw,112px);top:calc(clamp(27px,4vw,56px) + 48px);width:min(310px,calc(100vw - 52px));background:rgba(23,23,23,.97);border:1px solid rgba(255,255,255,.26);padding:22px 25px 18px;box-shadow:0 18px 40px rgba(0,0,0,.25)}
.menu-sheet[hidden]{display:none}
.menu-sheet nav{display:flex;flex-direction:column;gap:0}
.menu-sheet nav a{color:var(--light);font:400 17px/1.4 Arial,Helvetica,sans-serif;letter-spacing:.02em;text-decoration:none;text-transform:none;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.19)}
.menu-sheet nav a:hover{text-decoration:underline;text-underline-offset:5px}
.menu-locale{display:flex;align-items:center;gap:15px;padding-top:23px;font-size:13px;letter-spacing:.07em}
.menu-locale a{color:rgba(255,255,255,.72);text-decoration:none}
.menu-locale a[aria-current="page"]{font-weight:700;color:#fff}
.legal{max-width:800px}
@media(max-width:680px){
 .sitehead{padding-top:calc(27px + env(safe-area-inset-top));padding-bottom:16px}
 .sitehead .name{font-size:16px;letter-spacing:.055em}
 .sitehead .place{font-size:10px}
 .menu-sheet{top:calc(82px + env(safe-area-inset-top));right:26px}
}
@media(prefers-reduced-motion:reduce){.menu-toggle .line{transition:none}}
