:root{--terra:#d9836a;--terra-d:#b9654d;--sand:#f8efe9;--rose:#ecd3c8;--ink:#3f3a3a;--muted:#6b6262;--w:1120px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:17px/1.7 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:#fff}
img{max-width:100%;height:auto;display:block}a{color:var(--terra-d)}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem;z-index:99}
.wrap{max-width:var(--w);margin:auto;padding:0 1.25rem}
header{position:sticky;top:0;background:rgba(255,255,255,.95);backdrop-filter:blur(6px);border-bottom:1px solid var(--rose);z-index:10}
.bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 1.25rem;max-width:var(--w);margin:auto}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--ink);font-family:Georgia,serif;letter-spacing:.15em;font-weight:700}
.brand img{width:54px}
nav ul{display:flex;flex-wrap:wrap;gap:1.1rem;list-style:none;margin:0;padding:0}
nav a{text-decoration:none;color:var(--ink);font-size:.95rem}nav a:hover{color:var(--terra-d)}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.25;color:var(--ink)}
h2{font-size:clamp(1.7rem,3vw,2.3rem);margin-top:0}
.hero{background:var(--sand);padding:4rem 0}
.hero .wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:3rem;align-items:center}
.hero h1{font-size:clamp(2.2rem,5vw,3.4rem);margin:.2em 0}
.eyebrow{text-transform:uppercase;letter-spacing:.2em;color:var(--terra-d);font-size:.85rem;font-weight:600}
.hero img{border-radius:18px;box-shadow:0 20px 40px rgba(0,0,0,.12)}
.credit{font-size:.8rem;color:var(--muted)}
section{padding:4.5rem 0}.alt{background:var(--sand)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.btn{display:inline-block;background:var(--terra);color:#fff;text-decoration:none;padding:.8rem 1.5rem;border-radius:999px;font-weight:600;margin:.3rem .4rem .3rem 0}
.btn:hover{background:var(--terra-d)}.btn.ghost{background:transparent;color:var(--terra-d);border:2px solid var(--terra)}
.card{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 6px 24px rgba(0,0,0,.06)}
.lead{font-size:1.15rem;font-style:italic;font-family:Georgia,serif}
.img-r{border-radius:16px}
iframe{width:100%;min-height:700px;border:0;border-radius:12px;background:#fff}
footer{background:var(--ink);color:#eee;padding:3rem 0 1.5rem;font-size:.95rem}
footer a{color:#f3c3b3}footer .cols{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
footer ul{list-style:none;padding:0;margin:0}.copy{border-top:1px solid #555;margin-top:2rem;padding-top:1rem;font-size:.85rem;color:#bbb}
.legal{max-width:820px}.legal h1{font-size:2.2rem}.legal table{border-collapse:collapse;width:100%}.legal td,.legal th{border:1px solid var(--rose);padding:.4rem;vertical-align:top}
@media (max-width:820px){.hero .wrap,.two,footer .cols{grid-template-columns:1fr}nav ul{gap:.7rem}.bar{flex-direction:column}section{padding:3rem 0}}
/* Team-Karussell */
.team{margin-top:3rem}
.team-head{display:flex;justify-content:space-between;align-items:end;gap:1.5rem;margin-bottom:1rem}
.team-head h3{font-size:1.6rem;margin:0 0 .3rem}.team-intro{margin:0;color:var(--muted);max-width:760px}
.team-nav{display:flex;gap:.5rem;flex-shrink:0}
.team-nav button{width:46px;height:46px;border-radius:50%;border:2px solid var(--terra);background:#fff;color:var(--terra-d);font-size:1.2rem;cursor:pointer}
.team-nav button:hover,.team-nav button:focus-visible{background:var(--terra);color:#fff}
.team-nav button:disabled{opacity:.35;cursor:default;background:#fff;color:var(--terra-d)}
.track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 3rem)/3);gap:1.5rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;list-style:none;margin:0;padding:.5rem .25rem 1.25rem;scrollbar-width:thin;scrollbar-color:var(--terra) var(--rose)}
.track:focus-visible{outline:3px solid var(--terra);outline-offset:4px;border-radius:12px}
.tcard{scroll-snap-align:start;background:#fff;border-radius:18px;padding:1.75rem 1.5rem;box-shadow:0 6px 24px rgba(0,0,0,.07);border-top:5px solid var(--terra);font-size:.95rem;line-height:1.6}
.alt .tcard{background:#fff}section:not(.alt) .tcard{background:var(--sand)}
.tcard picture img{width:150px;height:150px;border-radius:50%;object-fit:cover;margin:0 auto 1rem;border:4px solid var(--rose)}
.tcard h4{font-family:Georgia,serif;font-size:1.3rem;text-align:center;margin:0;letter-spacing:.03em}
.tcard .role{text-align:center;color:var(--terra-d);font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;margin:.3rem 0 1rem}
.tcard blockquote{margin:0 0 1rem;padding:.8rem 1rem;background:var(--rose);border-radius:12px;font-family:Georgia,serif;font-style:italic;text-align:center}
.tcard p{margin:.5rem 0}
.dots{display:flex;justify-content:center;gap:.5rem;margin-top:.5rem}
.dots button{width:12px;height:12px;border-radius:50%;border:0;padding:0;background:var(--rose);cursor:pointer}
.dots button[aria-current="true"]{background:var(--terra);transform:scale(1.25)}
@media (max-width:980px){.track{grid-auto-columns:calc((100% - 1.5rem)/2)}}
@media (max-width:640px){.track{grid-auto-columns:86%}.team-head{flex-direction:column;align-items:start}}
@media (prefers-reduced-motion:reduce){.track{scroll-behavior:auto}}
.beratung-text{max-width:820px}
/* Raum mieten */
#raum{padding-top:0}
.raum-hero{background:linear-gradient(rgba(63,58,58,.55),rgba(63,58,58,.45)),url(assets/raum.jpg) center/cover;color:#fff;padding:7rem 0 6rem;margin-bottom:3rem;text-align:center}
.raum-hero h2{color:#fff;font-size:clamp(2rem,4.5vw,3rem);text-shadow:0 2px 12px rgba(0,0,0,.35)}
.raum-hero .eyebrow{color:#f6d3c6}
/* Kalender-Dialog */
.cal-dialog{width:min(1200px,96vw);height:92vh;max-height:none;padding:0;border:0;border-radius:16px;box-shadow:0 30px 80px rgba(0,0,0,.35);overflow:hidden}
.cal-dialog::backdrop{background:rgba(63,58,58,.6)}
.cal-dialog[open]{display:flex;flex-direction:column}
.cal-bar{display:flex;justify-content:space-between;align-items:center;padding:.6rem 1.2rem;background:var(--sand);border-bottom:1px solid var(--rose)}
.cal-bar h3{margin:0;font-size:1.2rem}
.cal-close{width:42px;height:42px;border-radius:50%;border:2px solid var(--terra);background:#fff;color:var(--terra-d);font-size:1.1rem;cursor:pointer}
.cal-dialog iframe{flex:1;width:100%;min-height:0;height:auto;border:0;border-radius:0}
@media (max-width:640px){.cal-dialog{width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;border-radius:0;margin:0}}
/* Aktions-Pop-up */
.promo{width:min(940px,94vw);max-height:92vh;padding:0;border:0;border-radius:24px;overflow:hidden;background:#f5e6f3;color:#5a3a32;box-shadow:0 0 0 2px #ff9ff0,0 0 40px rgba(255,120,230,.6),0 40px 100px rgba(0,0,0,.45)}
.promo::backdrop{background:radial-gradient(circle at 30% 30%,rgba(255,150,230,.35),rgba(40,20,40,.75));backdrop-filter:blur(4px)}
.promo[open]{animation:promoIn .7s cubic-bezier(.2,1.3,.4,1) both}
.promo[open]::backdrop{animation:fadeIn .5s both}
.promo-in{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);max-height:92vh}
.promo-visual{position:relative;overflow:hidden;background:#f3d9e6}
.promo-visual img{width:100%;height:100%;object-fit:cover;animation:kenburns 14s ease-in-out infinite alternate}
.promo-visual::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 20%,rgba(255,240,200,.55),transparent 45%);mix-blend-mode:screen;animation:flare 4s ease-in-out infinite alternate}
.promo-text{position:relative;padding:2.2rem 2.2rem 1.5rem;overflow-y:auto;text-align:center;font-size:1rem;line-height:1.55}
.promo-close{position:absolute;top:.8rem;right:.8rem;width:42px;height:42px;border-radius:50%;border:2px solid #e48b72;background:#fff;color:#b9654d;font-size:1.1rem;cursor:pointer}
.promo-close:hover,.promo-close:focus-visible{background:#e48b72;color:#fff}
.promo-kicker{text-transform:uppercase;letter-spacing:.25em;font-size:.75rem;color:#b9654d;margin:0}
.promo-deal{font-family:"Trebuchet MS",system-ui,sans-serif;font-size:clamp(2.6rem,6vw,3.8rem);letter-spacing:.08em;margin:.2rem 0 .6rem;color:#fff3ee;-webkit-text-stroke:2px #e48b72;text-shadow:0 0 6px #ffb39d,0 0 18px #ff8f73,0 0 36px #ff7fc8;animation:neon 2.6s ease-in-out infinite}
.promo-lead{font-weight:800;text-transform:uppercase;color:#e0785e;font-size:1.05rem;letter-spacing:.03em}
.promo-claim{font-weight:700;color:#e0785e;font-size:1.1rem}
.promo-cta{font-size:1.05rem;padding:1rem 1.8rem;background:linear-gradient(90deg,#e0785e,#ff7fc8,#e0785e);background-size:200% 100%;box-shadow:0 8px 24px rgba(224,120,94,.45);animation:shine 3s linear infinite,pulse 2s ease-in-out infinite}
.promo-cta:hover{filter:brightness(1.07)}
.promo-fn{font-size:.72rem;line-height:1.45;color:#6b5050;margin-top:1.2rem}
@keyframes promoIn{from{opacity:0;transform:translateY(40px) scale(.9) rotate(-1.5deg)}to{opacity:1;transform:none}}
@keyframes fadeIn{from{opacity:0}}
@keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.12) translate(-2%,2%)}}
@keyframes flare{from{opacity:.4}to{opacity:1}}
@keyframes neon{0%,100%{text-shadow:0 0 6px #ffb39d,0 0 18px #ff8f73,0 0 36px #ff7fc8}50%{text-shadow:0 0 3px #ffb39d,0 0 10px #ff8f73,0 0 18px #ff7fc8}}
@keyframes shine{to{background-position:-200% 0}}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
@media (max-width:700px){.promo{width:100vw;max-width:100vw;max-height:100dvh;height:100dvh;border-radius:0;margin:0}.promo-in{grid-template-columns:1fr;grid-template-rows:30vh 1fr;max-height:100dvh;height:100%}.promo-visual img{object-position:center 42%}.promo-text{padding:1.5rem 1.2rem 1.2rem}.promo-close{position:fixed;top:.7rem;right:.7rem;box-shadow:0 2px 10px rgba(0,0,0,.25)}}
@media (prefers-reduced-motion:reduce){.promo[open],.promo[open]::backdrop,.promo-visual img,.promo-visual::after,.promo-deal,.promo-cta{animation:none}}
