@font-face{font-family:"Space Grotesk";font-weight:400;font-style:normal;font-display:swap;src:url(/s/f/grotesk-400.woff2) format("woff2")}
@font-face{font-family:"Space Grotesk";font-weight:700;font-style:normal;font-display:swap;src:url(/s/f/grotesk-700.woff2) format("woff2")}

:root{--bg:#121418;--panel:#1b1e24;--panel2:#22262e;--ink:#ebe8e2;--mut:#9da0a8;--acc:#e0a526;--acc2:#f0c35c;--line:#2c3039;--bad:#ef7d6c;color-scheme:dark}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.6 "Space Grotesk",system-ui,"Segoe UI",Helvetica,Arial,sans-serif}
img{display:block;max-width:100%;height:auto}
a{color:var(--acc);text-underline-offset:.2em}
a:hover{color:var(--acc2)}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
.w{max-width:960px;margin:0 auto;padding:0 22px}

.top{background:rgba(27,30,36,.92);backdrop-filter:blur(6px);border-bottom:3px solid var(--acc);position:sticky;top:0;z-index:4}
.top .w{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;justify-content:space-between;padding:14px 22px}
.logo{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);text-decoration:none}
.logo img{width:28px;height:28px}
.logo b{color:var(--acc)}
.top nav{display:flex;flex-wrap:wrap;gap:4px 18px}
.top nav a{text-decoration:none;color:var(--ink);font-size:.95rem;padding:2px 0;border-bottom:2px solid transparent}
.top nav a:hover{color:var(--acc)}
.top nav a.cur{color:var(--acc);border-bottom-color:var(--acc)}

.hero{position:relative;background:#000}
.hero img{width:100%;height:clamp(240px,40vw,420px);object-fit:cover;opacity:.75}
.hero .w{position:absolute;left:0;right:0;bottom:0;padding-bottom:34px}
.hero h1{margin:0;font-size:clamp(2.2rem,1.4rem + 3.4vw,3.6rem);text-shadow:0 2px 18px rgba(0,0,0,.6)}
.hero p{margin:.3em 0 0;max-width:34em;color:#d9d6cf;font-size:1.15rem;text-shadow:0 1px 10px rgba(0,0,0,.7)}

h1{font-size:clamp(2rem,1.5rem + 2vw,2.7rem);margin:1.3em 0 .3em;line-height:1.12;letter-spacing:-.01em}
h2{margin-top:2em;color:var(--acc);font-size:1.05rem;text-transform:uppercase;letter-spacing:.08em}
h3{line-height:1.25}
.sub{color:var(--mut);font-size:1.12rem;max-width:40em}

.rooms{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin:24px 0}
.room{background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:18px}
.room h3{margin:0 0 6px}
.room p{margin:.3em 0 0}
.tag{display:inline-block;background:var(--acc);color:#16181d;font-size:.72rem;font-weight:700;padding:1px 8px;border-radius:3px;vertical-align:middle}

.split{display:grid;gap:24px;align-items:center;margin:34px 0}
@media(min-width:760px){.split{grid-template-columns:1fr 1fr}.split.flip>img{order:2}}
.split img,.bild{border-radius:4px;border:1px solid var(--line)}
.bild{margin:26px 0}

table{width:100%;border-collapse:collapse;background:var(--panel);border-radius:4px;overflow:hidden}
td,th{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left}
th{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--mut)}
tr:last-child td{border-bottom:0}
ul{padding-left:1.2em}
li{margin:.25em 0}

.news{list-style:none;padding:0;margin:20px 0}
.news li{border-left:3px solid var(--line);padding:4px 0 4px 16px;margin:0 0 20px}
.news li:hover{border-left-color:var(--acc)}
.news a{color:var(--ink);text-decoration:none;font-weight:700;font-size:1.12rem}
.news a:hover{color:var(--acc)}
.news p{margin:.2em 0 0;color:var(--mut)}
.dat{display:block;font-size:.8rem;color:var(--acc);letter-spacing:.06em;text-transform:uppercase}
.post{max-width:680px}
.post .dat{margin-top:2.4em}
.post h1{margin-top:.2em}
.weiter{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:40px;padding-top:18px;border-top:1px solid var(--line);font-size:.95rem}

details{background:var(--panel);border:1px solid var(--line);border-radius:4px;margin:0 0 10px;padding:0 16px}
summary{cursor:pointer;padding:13px 0;font-weight:700}
details[open] summary{color:var(--acc)}
details p{margin:0 0 14px}

.foot{margin-top:64px;border-top:1px solid var(--line);padding:24px 0;color:var(--mut);font-size:.88rem;display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:space-between}
.foot a{color:var(--mut)}

.einlass{max-width:400px;margin:24px 0}
.einlass label{display:block;margin:0 0 4px;color:var(--mut);font-size:.9rem}
.einlass input{display:block;width:100%;padding:10px 11px;margin:0 0 14px;background:var(--bg);border:1px solid var(--line);border-radius:3px;color:var(--ink);font:inherit}
.einlass input:focus{border-color:var(--acc);outline:none}
.einlass button{background:var(--acc);color:#16181d;border:0;border-radius:3px;padding:10px 20px;font:inherit;font-weight:700;cursor:pointer}
.einlass button:hover{background:var(--acc2)}
.einlass button[disabled]{opacity:.6;cursor:default}
.absage{color:var(--bad);margin:12px 0 0}
.feld-fehler{display:block;margin:-10px 0 12px;color:var(--bad);font-size:.88rem}
.einlass input[aria-invalid=true]{border-color:var(--bad)}

@media(max-width:600px){.top{position:static}}
