@font-face{font-family:"Inter";src:url("../fonts/InterVariable.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
:root{--bg:#06080f;--ink:#eef1f8;--mute:rgba(238,241,248,.56);--line:rgba(238,241,248,.14);--acc:#a9c4ff}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--bg);color:var(--ink);font-family:"Inter",-apple-system,"Helvetica Neue",Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{min-height:100vh;line-height:1.5;font-weight:350}
canvas#sky{position:fixed;inset:0;width:100%;height:100%;display:block;z-index:0;pointer-events:none}
.wrap{position:relative;z-index:1;max-width:1180px;margin:0 auto;padding:0 28px}
a{color:inherit}
:focus-visible{outline:1px solid var(--acc);outline-offset:4px}

header{display:flex;justify-content:space-between;align-items:center;height:88px;font-size:15px}
.brand{display:flex;align-items:center;gap:14px;white-space:nowrap;text-decoration:none}
.brand svg{width:34px;height:34px;flex:none;overflow:visible}
.brand span{font-weight:200;font-size:25px;letter-spacing:.05em;color:var(--ink);text-shadow:0 0 12px rgba(169,196,255,.45)}
nav a{color:var(--mute);text-decoration:none}
nav a:hover{color:var(--ink)}

.hero{min-height:74vh;display:flex;flex-direction:column;justify-content:center;max-width:880px}
.hero h1{font-size:clamp(38px,6.2vw,82px);font-weight:250;line-height:1.04;letter-spacing:-.025em}
.hero h1 b{font-weight:500}

.areas{border-top:1px solid var(--line)}
.area{display:grid;grid-template-columns:1fr 1.4fr;gap:24px;padding:40px 0;border-bottom:1px solid var(--line);align-items:center}
.area h2{font-size:clamp(22px,2.3vw,30px);font-weight:300;letter-spacing:-.01em;line-height:1.15}
.area p{color:var(--acc);font-size:17px;max-width:560px}

.contact{padding:16vh 0 12vh}
.contact h2{font-size:clamp(26px,3vw,40px);font-weight:250;line-height:1.12;max-width:660px}
.contact a.mail{display:inline-block;margin-top:22px;text-decoration:none;border-bottom:1px solid var(--acc);padding-bottom:3px;font-size:19px}

footer{border-top:1px solid var(--line);padding:26px 0 40px;display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--mute)}
footer a{color:var(--mute);text-decoration:none;margin-left:20px}
footer a:hover,footer a[aria-current]{color:var(--ink)}

/* Rechtsseiten */
.legal{max-width:760px;padding:8vh 0 10vh}
.legal h1{font-size:clamp(32px,4vw,48px);font-weight:250;letter-spacing:-.02em;margin-bottom:36px}
.legal h2{font-size:19px;font-weight:500;margin:38px 0 10px}
.legal p,.legal li{color:rgba(238,241,248,.78);font-size:16px;line-height:1.65}
.legal p+p{margin-top:12px}
.legal ul{margin:10px 0 0 20px}
.legal a{color:var(--acc);text-decoration:none;border-bottom:1px solid rgba(169,196,255,.4)}
.legal .name{display:inline-block;height:1.2em;width:auto;vertical-align:-.22em}
.legal small{display:block;margin-top:44px;color:var(--mute);font-size:13px}

@media(max-width:760px){
  header{height:76px}
  .brand span{font-size:20px}.brand svg{width:28px;height:28px}
  .area{grid-template-columns:1fr;gap:10px;padding:30px 0}
  .hero{min-height:66vh}
  footer{flex-direction:column}footer a{margin:0 20px 0 0}
}
@media(max-width:400px){.brand span{font-size:17px;letter-spacing:.03em}.brand{gap:10px}}
@media(prefers-reduced-motion:reduce){canvas#sky{opacity:.75}}
