@font-face{font-family:'Geist Mono';src:url('/assets/fonts/GeistMono-300.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:'Geist Mono';src:url('/assets/fonts/GeistMono-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Geist Mono';src:url('/assets/fonts/GeistMono-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
/* Temporary Chapter – gemeinsame Struktur (Design A und C). Farben/Schriften/Formen kommen aus theme_*.css */
@font-face{font-family:'BN Extended';src:url('/assets/fonts/BN_Medium_Extended.woff2') format('woff2');font-display:swap}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
img,video{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3{margin:0;font-weight:400}
.wrap{max-width:1360px;margin:0 auto;padding:0 32px}
.testbar{background:var(--test-bg);color:var(--test-ink);font:500 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;text-align:center;padding:7px 12px}
/* Kopf */
.hd{position:sticky;top:0;z-index:50;background:var(--hd-bg);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:var(--hd-line)}
.hd-in{max-width:1360px;margin:0 auto;padding:14px 32px;display:flex;align-items:center;gap:32px}
.logo{font-family:'BN Extended',sans-serif;font-size:19px;letter-spacing:.01em;text-decoration:none;white-space:nowrap}
.nav{display:flex;gap:28px;margin-left:auto}
.nav a{text-decoration:none;font-size:var(--nav-fs);letter-spacing:var(--nav-ls);text-transform:var(--nav-tt);font-family:var(--nav-ff);opacity:.82}
.nav a:hover,.nav a.on{opacity:1}
.nav a.on{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.burger{display:none}
.btn{display:inline-flex;align-items:center;gap:10px;text-decoration:none;cursor:pointer;border:0;white-space:nowrap}
.ar{width:1em;height:1em;flex:none;transition:transform .2s}
a:hover>.ar{transform:translateX(3px)}
/* CTA */
.cta{display:inline-flex;align-items:center;gap:14px;text-decoration:none;cursor:pointer}
.cta-sub{font-family:var(--mono);font-size:.72em;letter-spacing:.06em;text-transform:uppercase;opacity:.65}
.cta-full{display:flex;justify-content:space-between;width:100%}
.cta-full .cta-sub{margin-left:auto}
.lnk{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-family:var(--mono);font-size:13px;letter-spacing:.05em;text-transform:uppercase}
.lnk:hover{text-decoration:underline;text-underline-offset:5px}
/* Hero */
.hero{position:relative;min-height:min(86vh,880px);display:flex;align-items:flex-end;overflow:hidden;color:#fff}
.hero-v{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:var(--hero-shade)}
.hero-in{position:relative;z-index:1;max-width:1360px;width:100%;margin:0 auto;padding:0 32px 56px}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin:0 0 18px;opacity:.85}
.hero-h{font-family:var(--display);font-size:clamp(46px,8.4vw,132px);line-height:.92;letter-spacing:var(--display-ls);text-transform:var(--display-tt);margin:0 0 34px}
.hero-act{display:flex;flex-wrap:wrap;align-items:center;gap:22px}
.hero .lnk{color:#fff}
/* Intro + Proof */
.intro{padding-top:64px;padding-bottom:12px}
.intro-t{font-size:clamp(20px,2.2vw,30px);line-height:1.35;max-width:980px;margin:0 0 44px;font-family:var(--lead-ff)}
.proof{display:flex;flex-wrap:wrap;gap:12px 40px;align-items:center;padding:20px 0;border-top:var(--rule);border-bottom:var(--rule);font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--mut)}
.proof-l{color:var(--ink);margin-right:auto}
/* Abschnitte */
.sec{padding-top:72px}
.sec-hd{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 20px;margin-bottom:24px}
.h1{font-family:var(--display);font-size:clamp(44px,7vw,104px);line-height:.95;letter-spacing:var(--display-ls);text-transform:var(--display-tt)}
.h2{font-family:var(--display);font-size:clamp(28px,3.4vw,46px);line-height:1;letter-spacing:var(--display-ls);text-transform:var(--display-tt)}
.h3{font-family:var(--display);font-size:22px;line-height:1.1;letter-spacing:var(--display-ls);text-transform:var(--display-tt);margin:40px 0 14px}
.count{font-family:var(--mono);font-size:13px;color:var(--mut)}
.phd{padding-top:64px}
.lead{font-size:clamp(17px,1.6vw,21px);line-height:1.5;color:var(--ink2);max-width:760px;margin:22px 0 0}
.note{font-family:var(--mono);font-size:12px;color:var(--mut);margin-top:18px}
/* Kacheln */
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}
.tile{display:flex;flex-direction:column;text-decoration:none;background:var(--tile-bg);border-radius:var(--r);overflow:hidden;border:var(--tile-line);transition:transform .25s,box-shadow .25s}
.tile:hover{transform:var(--tile-hover);box-shadow:var(--tile-sh)}
.tile-img{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--line)}
.tile-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.tile:hover .tile-img img{transform:scale(1.04)}
.tile-off{opacity:.62}
.tile-off .tile-img img{filter:grayscale(1)}
.tile-cap{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:var(--cap-pad)}
.tile-name{font-family:var(--display);font-size:17px;letter-spacing:var(--display-ls);text-transform:var(--display-tt)}
.tile-meta{font-family:var(--mono);font-size:12px;color:var(--mut);text-align:right}
.badge{position:absolute;top:12px;left:12px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;padding:5px 9px;border-radius:var(--r-s);background:var(--badge-bg);color:var(--badge-ink)}
.b-coming-soon{background:var(--acc);color:var(--acc-ink)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}
.chip{font:inherit;font-family:var(--mono);font-size:13px;letter-spacing:.04em;cursor:pointer;padding:10px 16px;border:var(--chip-line);border-radius:var(--r-pill);background:transparent;color:var(--ink);min-height:44px}
.chip.on{background:var(--ink);color:var(--bg)}
/* Anlässe */
.occs{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--gap)}
.occ{position:relative;aspect-ratio:3/4;overflow:hidden;border-radius:var(--r);text-decoration:none;color:#fff}
.occ img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.occ:hover img{transform:scale(1.06)}
.occ::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.7))}
.occ span{position:absolute;left:12px;right:12px;bottom:12px;z-index:1;font-family:var(--display);font-size:13px;line-height:1.15;letter-spacing:var(--display-ls);text-transform:var(--display-tt)}
/* Leistungen */
.svcs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}
.svc{padding:var(--card-pad);background:var(--card);border:var(--card-line);border-radius:var(--r)}
.svc h3{font-family:var(--display);font-size:20px;letter-spacing:var(--display-ls);text-transform:var(--display-tt);margin:6px 0 10px}
.svc p{margin:0;color:var(--ink2);font-size:15px}
.svc-n{font-family:var(--mono);font-size:12px;color:var(--acc-text)}
.sv-hd{max-width:880px;margin-bottom:28px}.sv-hd .h2{margin-top:8px}.sv-hd .lnk{margin-top:18px}
/* Ablauf */
.stp{list-style:none;padding:0;margin:28px 0 36px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);counter-reset:s}
.stp li{counter-increment:s;padding:var(--card-pad);background:var(--card);border:var(--card-line);border-radius:var(--r)}
.stp li::before{content:"0" counter(s);display:block;font-family:var(--mono);font-size:12px;color:var(--acc-text);margin-bottom:22px}
.stp b{display:block;font-family:var(--display);font-weight:400;font-size:20px;letter-spacing:var(--display-ls);text-transform:var(--display-tt);margin-bottom:8px}
.stp span{color:var(--ink2);font-size:15px}
/* Location-Detail */
.lhero{position:relative;height:min(72vh,720px);overflow:hidden;color:#fff}
.lhero-s{height:min(56vh,560px)}
.lhero>img{width:100%;height:100%;object-fit:cover}
.lhero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 40%,rgba(0,0,0,.6))}
.lhero-cap{position:absolute;left:0;right:0;bottom:40px;z-index:1}
.lh-h{color:#fff}
.ldet{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:64px;padding-top:56px;align-items:start}
.tagline{font-family:var(--display);font-size:clamp(22px,2.3vw,32px);line-height:1.15;letter-spacing:var(--display-ls);text-transform:var(--display-tt);margin:0 0 26px}
.prose p{margin:0 0 16px;font-size:17px;color:var(--ink2);max-width:720px}
.prose-l p{font-size:20px}
.kvs{margin:0;border-top:var(--rule)}
.kv{display:grid;grid-template-columns:200px minmax(0,1fr);gap:20px;padding:13px 0;border-bottom:var(--rule-soft)}
.kv dt{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--mut);padding-top:3px}
.kv dd{margin:0;font-size:15px;overflow-wrap:anywhere}
.kvs-c .kv dd{font-size:18px}
.lside{position:sticky;top:96px}
.card{background:var(--card);border:var(--card-line);border-radius:var(--r);padding:var(--card-pad);box-shadow:var(--card-sh)}
.card-k{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--mut);margin:0 0 8px}
.card-t{margin:0 0 20px;font-size:15px;color:var(--ink2)}
.card-sep{height:1px;background:var(--line);margin:26px 0 22px}
.addr{margin:0 0 18px;font-size:15px}
.dls{display:flex;flex-wrap:wrap;gap:8px}
.dl{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-family:var(--mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase;padding:9px 12px;border:var(--chip-line);border-radius:var(--r-s);min-height:40px}
.dl:hover{background:var(--ink);color:var(--bg)}
.gal{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap)}
.g{margin:0;aspect-ratio:4/3;overflow:hidden;border-radius:var(--r)}
.g img{width:100%;height:100%;object-fit:cover}
.g:nth-child(5n+1){grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
.abs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px}
.ab p{color:var(--ink2);font-size:15px}
.ab .h3{margin-top:0}
.legal{white-space:pre-line;font-family:var(--mono);font-size:13px;line-height:1.7;max-width:860px;color:var(--ink2)}
/* Fuß */
.ft{margin-top:110px}
.ft-cta{background:var(--ft-bg);color:var(--ft-ink)}
.ft-cta-in{max-width:1360px;margin:0 auto;padding:72px 32px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:40px}
.ft-h{font-family:var(--display);font-size:clamp(40px,5.6vw,84px);line-height:.95;letter-spacing:var(--display-ls);text-transform:var(--display-tt)}
.ft-act{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.ft-alt{margin:0;font-family:var(--mono);font-size:12px;letter-spacing:.03em;opacity:.7}
.ft-alt a{color:inherit}
.ft-bar{max-width:1360px;margin:0 auto;padding:22px 32px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;font-family:var(--mono);font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--mut)}
.ft-links{display:flex;flex-wrap:wrap;gap:8px 22px}.ft-links a{text-decoration:none}.ft-links a:hover{color:var(--ink)}
/* Pop-up */
.noscroll{overflow:hidden}
.modal{position:fixed;inset:0;z-index:1000;display:flex;visibility:hidden;opacity:0;transition:opacity .25s,visibility 0s .25s}
.modal.open{visibility:visible;opacity:1;transition:opacity .25s}
.modal-back{position:absolute;inset:0;background:var(--modal-back);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.modal-card{position:relative;background:var(--modal-bg);overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.35)}
.modal iframe{position:absolute;inset:0;width:100%;height:100%;border:0;opacity:0;transition:opacity .3s}
.modal.ready iframe{opacity:1}
.modal-load{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:13px;color:var(--mut)}
.modal-x{position:absolute;z-index:2;width:44px;height:44px;border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;background:var(--ink);color:var(--bg);border-radius:var(--r-pill)}
.modal-x svg{width:16px;height:16px}
/* Responsiv */
@media (max-width:1100px){.occs{grid-template-columns:repeat(4,minmax(0,1fr))}.ldet{grid-template-columns:minmax(0,1fr) 340px;gap:40px}}
@media (max-width:860px){
  .wrap,.hd-in,.hero-in,.ft-cta-in,.ft-bar{padding-left:16px;padding-right:16px}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;gap:0;background:var(--bg);border-bottom:var(--rule);padding:8px 16px}
  .nav a{padding:14px 0;font-size:16px;border-bottom:var(--rule-soft)}
  .hd.menu .nav{display:flex}
  .burger{display:flex;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;margin-left:auto;background:none;border:0;cursor:pointer;padding:10px}
  .burger span{display:block;height:2px;background:var(--ink)}
  .hd .btn-sm{display:none}
  .grid3,.svcs,.stp,.abs{grid-template-columns:minmax(0,1fr)}
  .occs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gal{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ldet{grid-template-columns:minmax(0,1fr);gap:36px}
  .lside{position:static}
  .kv{grid-template-columns:120px minmax(0,1fr)}
  .sec{padding-top:52px}
  .proof span:not(.proof-l){font-size:11px}
}
.sec-hd .lnk{white-space:nowrap}

/* Lange Wörter (z. B. „Eventmanager“, AGB) dürfen umbrechen – keine Seitenverbreiterung auf dem Handy */
h1,h2,h3,.h1,.prose{overflow-wrap:break-word}
.occ span{overflow-wrap:anywhere}
/* Handy: nie seitlich scrollen – Seite ist so breit wie der Bildschirm (clip statt hidden, damit „sticky“ weiter funktioniert) */
body{overflow-x:hidden}
@supports (overflow-x:clip){html,body{overflow-x:clip}}

/* ===== A · Gallery Grid (Empfehlung): heller Grund, schwarze Linien, eckig, eine Signalfarbe ===== */
:root{
  --bg:#F3F5EB;--ink:#16160F;--ink2:#3B3B33;--mut:#5E5E55;--line:#D7D9CC;--card:#F3F5EB;
  --acc:#D4FF3A;--acc-ink:#16160F;--acc-text:#16160F;
  --display:'BN Extended',Arial,sans-serif;--display-ls:0;--display-tt:uppercase;
  --body:'Geist Mono',ui-monospace,monospace;--mono:'Geist Mono',ui-monospace,monospace;--lead-ff:'BN Extended',Arial,sans-serif;
  --nav-fs:13px;--nav-ls:.06em;--nav-tt:uppercase;--nav-ff:'BN Extended',Arial,sans-serif;
  --r:0;--r-s:0;--r-pill:0;--gap:16px;
  --rule:1px solid #16160F;--rule-soft:1px solid #CFD1C4;
  --hd-bg:rgba(243,245,235,.94);--hd-line:1px solid #16160F;
  --tile-bg:transparent;--tile-line:0;--tile-hover:none;--tile-sh:none;--cap-pad:12px 0 0;
  --badge-bg:#16160F;--badge-ink:#F3F5EB;--chip-line:1px solid #16160F;
  --card-pad:26px;--card-line:1px solid #16160F;--card-sh:none;
  --hero-shade:linear-gradient(180deg,rgba(0,0,0,.1) 30%,rgba(0,0,0,.55));
  --ft-bg:#16160F;--ft-ink:#F3F5EB;
  --modal-back:rgba(22,22,15,.55);--modal-bg:#F3F5EB;
  --test-bg:#16160F;--test-ink:#D4FF3A;
}
body{font-size:15px}
.btn{background:#16160F;color:#F3F5EB;font-family:'BN Extended',sans-serif;font-size:12px;letter-spacing:.05em;text-transform:uppercase;padding:12px 16px}
.btn:hover{background:#000}
.cta{background:#16160F;color:#F3F5EB;font-family:'BN Extended',sans-serif;font-size:15px;letter-spacing:.04em;text-transform:uppercase;padding:17px 20px}
.cta:hover{background:#000}
.cta .cta-sub{color:#D4FF3A;opacity:1}
.hero .cta,.ft .cta{background:#D4FF3A;color:#16160F}
.hero .cta .cta-sub,.ft .cta .cta-sub{color:#16160F;opacity:.6}
.hero .cta:hover,.ft .cta:hover{background:#F3F5EB}
.hero-in{padding-bottom:44px}
.tile-name{font-size:15px}
.tile:hover .tile-name{text-decoration:underline;text-underline-offset:5px}
.svc{border-width:1px 0 0;padding:20px 0 0;background:none}
.stp li{border-width:1px 0 0;padding:20px 0 0;background:none}
.card{background:#fff}
.kvs{border-top:1px solid #16160F}
.g{border-radius:0}
.ft{margin-top:120px}
.ft-bar{color:#5E5E55}
/* Pop-up: Panel von rechts */
.modal{justify-content:flex-end}
.modal-card{width:min(640px,100vw);height:100%;border-left:1px solid #16160F;transform:translateX(30px);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.modal.open .modal-card{transform:none}
.modal-card::before{content:"VENUE REQUEST";position:absolute;top:0;left:0;right:0;height:64px;border-bottom:1px solid #16160F;display:flex;align-items:center;padding:0 24px;font-family:'BN Extended',sans-serif;font-size:14px;letter-spacing:.05em}
.modal iframe{top:64px;height:calc(100% - 64px)}
.modal-x{top:10px;right:12px;border-radius:0}
@media (max-width:860px){.modal-card{width:100vw;border-left:0}}
/* Sprachumschalter (E): eigene Zeile ganz oben, nicht fixiert; aktive Sprache unterstrichen */
.topbar{background:var(--bg)}
.topbar-in{max-width:1360px;margin:0 auto;padding:8px 32px 0;display:flex;justify-content:flex-end}
.lang{display:inline-flex;gap:.4em;align-items:center;font-family:var(--mono);font-size:12px;letter-spacing:.06em}
.lang a{text-decoration:none;opacity:.5}.lang a:hover{opacity:1}
.lang a.on{opacity:1;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.25em}
.lang>span{opacity:.5}
@media (max-width:760px){.topbar-in{padding:8px 16px 0}}
/* Stellenanzeige */
.job h2.h3{margin:34px 0 10px}.job ul.jobl{margin:0 0 8px;padding-left:1.2em}.job ul.jobl li{margin:4px 0}.job .jobsep{border:0;border-top:1px solid var(--line,#16160F);margin:48px 0}
/* Cookie-Hinweis */
.cc{position:fixed;left:16px;right:16px;bottom:16px;z-index:200;max-width:560px;margin-left:auto;background:#16160F;color:#F3F5EB;padding:16px 18px;display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center;font-family:var(--mono);font-size:12.5px;line-height:1.5;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.cc p{margin:0;flex:1 1 260px}.cc a{color:inherit}
.cc-b{display:flex;gap:8px}.cc button{all:unset;cursor:pointer;padding:9px 14px;font-family:'BN Extended',sans-serif;font-size:11px;letter-spacing:.05em;text-transform:uppercase;border:1px solid #F3F5EB}
.cc .cc-ok{background:#D4FF3A;color:#16160F;border-color:#D4FF3A}
