/* ===== LOKALE SCHRIFTEN (DSGVO-konform) ===== */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/cormorant-garamond-latin-400-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/cormorant-garamond-latin-ext-400-normal.woff2') format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/cormorant-garamond-latin-600-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/cormorant-garamond-latin-ext-600-normal.woff2') format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Special Elite';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/special-elite-latin-400-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Special Elite';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/special-elite-latin-ext-400-normal.woff2') format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#0a0908;
  --bg-elevated:#14110f;
  --text:#d4cfc0;
  --text-muted:#8a8275;
  --text-faint:#544e44;
  --accent:#8b1a1a;
  --accent-bright:#c83232;
  --border:rgba(212,207,192,0.12);
  --border-strong:rgba(212,207,192,0.28);
  --serif:'Cormorant Garamond',Georgia,serif;
  --mono:'Special Elite','Courier New',monospace;
}
html{scroll-behavior:smooth}
body{
  background:var(--bg);
  color:var(--text);
  font-family:var(--serif);
  font-size:19px;
  line-height:1.7;
  min-height:100vh;
  -webkit-font-smoothing:antialiased;
}
body::after{
  content:'';
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:99;
  background:radial-gradient(ellipse at center,transparent 45%,rgba(0,0,0,0.5) 100%);
}
.container{max-width:720px;margin:0 auto;padding:0 24px;position:relative;z-index:1}

.top-bar{padding:22px 0;border-bottom:1px solid var(--border);margin-bottom:56px}
.back-link{
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:0.2em;
  color:var(--text-muted);
  text-transform:uppercase;
  text-decoration:none;
  transition:color 0.25s;
}
.back-link:hover{color:var(--accent-bright)}
.back-link::before{content:'← '}

.page-kicker{font-family:var(--mono);font-size:11px;letter-spacing:0.28em;color:var(--accent);text-transform:uppercase;margin-bottom:14px}
.page-kicker::before{content:'§  '}
.page-title{font-family:var(--serif);font-size:clamp(40px,7vw,64px);font-weight:600;line-height:1.05;margin-bottom:48px;letter-spacing:-0.015em}

h2{font-family:var(--serif);font-size:28px;font-weight:600;margin:40px 0 12px;line-height:1.2}
h3{font-family:var(--serif);font-size:21px;font-weight:600;margin:28px 0 8px}
p{margin-bottom:16px}
strong{color:var(--text);font-weight:600}
a{color:var(--accent-bright);text-decoration:underline;text-underline-offset:3px}
.muted{color:var(--text-muted);font-size:16px}
.address-block{
  font-family:var(--mono);
  font-size:15px;
  line-height:1.9;
  background:var(--bg-elevated);
  border:1px solid var(--border);
  border-left:4px solid var(--accent);
  padding:22px 26px;
  margin:20px 0 28px;
}
ul{margin:0 0 16px 22px}
li{margin-bottom:6px}

/* KONTAKTFORMULAR */
.contact-form{
  background:var(--bg-elevated);
  border:1px solid var(--border);
  padding:28px;
  margin:24px 0;
}
.contact-form label{
  display:block;
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:0.18em;
  color:var(--text-muted);
  text-transform:uppercase;
  margin-bottom:6px;
  margin-top:18px;
}
.contact-form label:first-child{margin-top:0}
.contact-form input,
.contact-form textarea{
  width:100%;
  background:var(--bg);
  border:1px solid var(--border-strong);
  color:var(--text);
  font-family:var(--serif);
  font-size:17px;
  padding:12px 14px;
}
.contact-form input:focus,
.contact-form textarea:focus{outline:2px solid var(--accent-bright);outline-offset:1px;border-color:var(--accent)}
.contact-form textarea{min-height:120px;resize:vertical}
.contact-form button{
  margin-top:22px;
  background:var(--accent);
  border:none;
  color:var(--text);
  font-family:var(--mono);
  font-size:12px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  padding:14px 28px;
  cursor:pointer;
  transition:background 0.25s;
}
.contact-form button:hover{background:var(--accent-bright)}
.hp-field{position:absolute;left:-9999px}

footer{margin-top:64px;padding:32px 0 80px;border-top:1px solid var(--border)}
.footer-nav{display:flex;gap:24px;flex-wrap:wrap;font-family:var(--mono);font-size:11px;letter-spacing:0.18em;text-transform:uppercase}
.footer-nav a{color:var(--text-muted);text-decoration:none;transition:color 0.25s}
.footer-nav a:hover{color:var(--accent-bright)}
::selection{background:var(--accent);color:var(--text)}
