:root{
  --bg:#0a0a0c; --bg2:#101015; --fg:#f2f2f4; --dim:#8b8b95;
  --accent:#ff2d55; --accent2:#00e5ff; --line:#22222b;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  background:var(--bg); color:var(--fg);
  font-family:"Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;
  line-height:1.55; min-height:100vh;
  display:flex; flex-direction:column;
}
.wrap{width:100%;max-width:820px;margin:0 auto;padding:0 24px}
main{flex:1;display:flex;align-items:center;padding:64px 0}
.hero{width:100%}
/* Hero-Kopf: Namenszug links, Portraet rechts.
   Auf schmalen Displays kippt die Zeile, das Bild steht dann oben. */
.hero-head{
  display:flex; align-items:center; justify-content:space-between;
  gap:clamp(18px,5vw,44px); margin-bottom:0;
}
.hero-id{min-width:0}
.portrait{
  flex:none; width:clamp(96px,17vw,152px); height:auto; aspect-ratio:1;
  border-radius:50%; object-fit:cover; display:block;
  border:2px solid var(--line);
  box-shadow:0 0 0 5px var(--bg2), 0 0 38px rgba(255,45,85,.26);
}
@media (max-width:620px){
  .hero-head{gap:16px}
}

.kicker{
  font-size:12px;letter-spacing:.28em;text-transform:uppercase;
  color:var(--accent2);margin-bottom:20px;font-weight:700
}
h1{
  font-size:clamp(48px,13vw,132px); line-height:.86; font-weight:800;
  letter-spacing:-.03em; text-transform:uppercase; margin-bottom:8px;
}
h1 .b{display:block;color:var(--accent)}
/* Logo-Schriftzug (Wortmarke als Inline-SVG) */
.wordmark{margin-bottom:6px;line-height:0}
.wordmark .wm{display:block;width:clamp(140px,34vw,464px);height:auto}
.vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.genre{
  font-size:clamp(15px,2.6vw,20px); color:var(--fg); font-weight:600;
  letter-spacing:.02em; margin:22px 0 0;
}
.rule{height:2px;background:linear-gradient(90deg,var(--accent),var(--accent2));margin:34px 0;border-radius:2px}
.since{color:var(--dim);font-size:15px;max-width:56ch}
.since b{color:var(--fg);font-weight:600}
.links{margin-top:38px;display:flex;flex-wrap:wrap;gap:12px}
.btn{
  display:inline-flex;align-items:center;gap:9px;
  border:1px solid var(--line);border-radius:999px;
  padding:11px 20px;color:var(--fg);text-decoration:none;
  font-size:14px;font-weight:600;background:var(--bg2);
  transition:border-color .15s,transform .15s
}
.btn:hover{border-color:var(--accent);transform:translateY(-1px)}
.btn svg{width:16px;height:16px;flex:none}
.soon{margin-top:30px;font-size:13px;color:var(--dim);letter-spacing:.04em}
footer{border-top:1px solid var(--line);padding:22px 0;font-size:13px;color:var(--dim)}
footer a{color:var(--dim);text-decoration:none;border-bottom:1px solid var(--line)}
footer a:hover{color:var(--fg)}
footer .wrap{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center}
/* Unterseiten */
.page{padding:56px 0}
.page h1{font-size:clamp(30px,6vw,46px);margin-bottom:8px}
.page h2{font-size:17px;margin:30px 0 8px;color:var(--accent2);letter-spacing:.02em}
.page p,.page li{color:#c9c9d1;font-size:15px;margin-bottom:10px}
.page ul{padding-left:20px}
.back{display:inline-block;margin-bottom:26px;color:var(--dim);text-decoration:none;font-size:14px}
.back:hover{color:var(--fg)}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* Booking-Formular */
.booking{margin-top:64px;padding-top:34px;border-top:1px solid var(--line)}
.booking h2{
  font-size:12px;letter-spacing:.28em;text-transform:uppercase;
  color:var(--accent2);font-weight:700;margin-bottom:14px
}
.bk-intro{color:var(--dim);font-size:15px;max-width:56ch;margin-bottom:24px}
.bk-form{max-width:560px}
.bk-row{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.bk-row label{font-size:13px;font-weight:600;letter-spacing:.03em;color:var(--dim)}
.bk-row label span{color:var(--accent)}
.bk-row input,.bk-row textarea{
  background:var(--bg2);color:var(--fg);
  border:1px solid var(--line);border-radius:10px;
  padding:11px 13px;font:inherit;font-size:15px;width:100%;
  transition:border-color .15s
}
.bk-row textarea{resize:vertical;min-height:120px;line-height:1.5}
.bk-row input:focus,.bk-row textarea:focus{outline:none;border-color:var(--accent)}
.bk-row input::placeholder{color:#5a5a66}
.bk-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.bk-send{margin-top:6px;cursor:pointer;font:inherit;font-size:14px;font-weight:600}
.bk-note{margin-top:18px;font-size:12.5px;color:var(--dim);line-height:1.6;max-width:60ch}
.bk-note a{color:var(--dim);border-bottom:1px solid var(--line);text-decoration:none}
.bk-note a:hover{color:var(--fg)}
