:root{--bg:#fff;--alt:#f5f5f7;--ink:#1d1d1f;--mute:#6e6e73;--line:#d2d2d7;--blue:#0066cc;--card:#fff;--navbg:rgba(255,255,255,.8);--ad:#fff8ec;--adl:#f1d9a6;--tag:#bf4800}
@media (prefers-color-scheme:dark){:root{--bg:#000;--alt:#161617;--ink:#f5f5f7;--mute:#a1a1a6;--line:#424245;--blue:#2997ff;--card:#1d1d1f;--navbg:rgba(22,22,23,.8);--ad:#2a2214;--adl:#5c4720;--tag:#ff9f0a}}
:root{box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);color-scheme:light dark}
html{scroll-padding-top:calc(100px + env(safe-area-inset-top,0px));scroll-behavior:smooth}
*,*::before,*::after{box-sizing:inherit;margin:0;padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;line-height:1.47}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:20;background:var(--navbg)}
a{color:var(--blue);text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:1080px;margin:0 auto;padding:0 22px}
.wrap.narrow{max-width:760px}
nav.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:var(--navbg);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--line)}
nav.top .wrap{display:flex;align-items:center;height:52px;gap:28px}
.logo{font-weight:700;letter-spacing:.04em;color:var(--ink);font-size:15px}.logo span{font-weight:400;color:var(--mute)}
nav.top ul{display:flex;gap:24px;list-style:none;margin-left:auto;font-size:13px}
nav.top ul a{color:var(--ink);opacity:.85}
.btn{display:inline-block;background:var(--blue);color:#fff;border-radius:980px;padding:9px 20px;font-size:15px;border:0;font-family:inherit;cursor:pointer}
.btn.sm{padding:5px 13px;font-size:12px}
.btn.ghost{background:none;color:var(--blue);border:1px solid var(--blue)}
.burger{display:none;margin-left:auto;font-size:20px;color:var(--ink);background:none;border:0;cursor:pointer}
.sub{border-bottom:1px solid var(--line);background:var(--bg)}
.sub .wrap{display:flex;gap:22px;height:44px;align-items:center;font-size:13px;overflow-x:auto;white-space:nowrap}
.sub b{font-size:17px;margin-right:auto}.sub a{color:var(--ink)}.sub a.btn{color:#fff}
.hero{text-align:center;padding:88px 0 56px}
.hero.small{padding:64px 0 24px}
.eyebrow{color:var(--mute);font-size:19px;font-weight:500}
h1{font-size:60px;line-height:1.06;letter-spacing:-.015em;font-weight:700;margin:8px 0 16px}
.lead{font-size:21px;color:var(--mute);max-width:660px;margin:0 auto 26px}
.hero.small .lead{margin-bottom:0}
.actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.pastnote{color:var(--tag);margin-bottom:16px}
.himg{height:380px;width:100%;object-fit:cover;border-radius:28px;margin-top:36px}
.ph.g1{background:linear-gradient(135deg,#f8d7da,#f3a6b4 60%,#e47c94)}
.ph.g2{background:linear-gradient(135deg,#fde2c4,#f6b26b)}
.ph.g3{background:linear-gradient(135deg,#cfe3f7,#7fb2e5 60%,#3f7fc4)}
.ph.g4{background:linear-gradient(135deg,#d6f0dd,#86c99a)}
.ph.g5{background:linear-gradient(135deg,#e6ddf6,#a993d9)}
.ph.g6{background:linear-gradient(135deg,#e2e8ee,#9aa9b8)}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding:44px 0 28px;text-align:center}
.facts.n1{grid-template-columns:1fr}.facts.n2{grid-template-columns:1fr 1fr}
.facts div{font-size:15px;color:var(--mute)}.facts b{display:block;font-size:22px;color:var(--ink);line-height:1.3;margin-bottom:4px}
.veranst{font-size:13px;color:var(--mute);margin-top:16px}.veranst b{color:var(--ink);font-weight:600}
.hero .veranst{margin-top:8px}
.next{background:var(--alt);padding:72px 0}
.feature{display:grid;grid-template-columns:1.1fr 1fr;border-radius:28px;overflow:hidden;background:var(--card);box-shadow:0 2px 24px rgba(0,0,0,.06)}
.feature .img{min-height:380px;width:100%;height:100%;object-fit:cover}
.feature .txt{padding:48px;display:flex;flex-direction:column;justify-content:center}
.feature .actions{justify-content:flex-start;margin-top:22px}
.feature .veranst{border-top:1px solid var(--line);padding-top:14px;margin-top:22px}
.tag{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--tag)}
.feature h2{font-size:40px;line-height:1.1;letter-spacing:-.01em;margin:10px 0 12px}
.meta{color:var(--mute);font-size:17px}
section{padding:56px 0;border-top:1px solid var(--line)}
section.list,section.next,section.band{border-top:0}
section.list{padding:80px 0}
section h2{font-size:36px;letter-spacing:-.01em;margin-bottom:8px}
section .intro{color:var(--mute);font-size:17px;margin-bottom:28px}
.sec-h{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:32px;gap:16px}
.sec-h h2{font-size:40px}
.empty{color:var(--mute);font-size:17px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.tile{background:var(--alt);border-radius:22px;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s;color:var(--ink)}
.tile:hover{transform:scale(1.015)}
.tile .img{height:180px;width:100%;object-fit:cover}
.tile .body{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1}
.tile .date{font-size:13px;font-weight:600;color:var(--mute)}
.tile h3{font-size:22px;line-height:1.2;margin:6px 0 4px}
.tile .ort{font-size:15px;color:var(--mute)}
.tile .row{display:flex;gap:16px;margin-top:12px;font-size:15px;color:var(--blue)}
.tile .veranst{margin-top:auto;padding-top:14px}
.band{background:var(--alt);padding:80px 0;text-align:center}
.band h2{font-size:40px;margin-bottom:10px}
.band .lead{margin-bottom:6px}
.band .tel{font-size:28px;font-weight:600;margin:14px 0 22px}.band .tel a{color:var(--ink)}
.prose p,.prose ul,.prose h3{margin-bottom:1em;font-size:17px}
.prose ul{padding-left:1.3em}.prose h3{font-size:22px}
.prose h2{margin-bottom:18px}
.adlabel{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}
.premium{background:var(--ad);border:1px solid var(--adl);border-radius:22px;display:grid;grid-template-columns:200px 1fr auto;gap:28px;align-items:center;padding:26px 30px;margin-bottom:56px}
.premium img{max-height:120px;width:100%;object-fit:contain;border-radius:12px}
.premium .logo-ph{height:110px;border-radius:14px;background:#2e5e3a;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;text-align:center;padding:10px}
.premium h3{font-size:24px;margin:4px 0}.premium p{color:var(--mute)}
.rec{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.rc{background:var(--alt);border-radius:20px;overflow:hidden;display:flex;flex-direction:column}
.rc .im{height:150px;width:100%;object-fit:cover}
.rc .b{padding:18px 20px 20px;flex:1;display:flex;flex-direction:column}
.rc h3{font-size:19px;margin:4px 0}.rc p{color:var(--mute);font-size:14px;flex:1}
.rc .row{display:flex;justify-content:space-between;margin-top:12px;font-size:14px}.rc .stand{color:var(--mute)}
.dir{border:1px solid var(--line);border-radius:18px;overflow:hidden}
.dr{display:grid;grid-template-columns:1fr 180px 110px;gap:12px;padding:14px 20px;border-top:1px solid var(--line);align-items:center;font-size:15px}
.dr.head{border-top:0;background:var(--alt);font-size:12px;font-weight:600;color:var(--mute);text-transform:uppercase;letter-spacing:.04em}
.dr.top{background:var(--ad)}
.dr .n{font-weight:600}.dr .n small{display:block;font-weight:400;color:var(--mute);font-size:13px}
.badge{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--adl);color:var(--tag);border-radius:6px;padding:1px 6px;margin-left:6px;vertical-align:2px}
.partners{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-top:18px}
.partners>*{height:72px;border-radius:12px;background:var(--alt);display:flex;align-items:center;justify-content:center;color:var(--mute);font-size:13px;font-weight:600;padding:10px;text-align:center}
.partners img{max-height:52px;object-fit:contain}
.cta{background:var(--alt);border-radius:28px;padding:44px;text-align:center;margin-top:28px}
.cta h3{font-size:28px;margin-bottom:6px}.cta p{color:var(--mute);margin:0 auto 20px;max-width:620px}
.embed{border-radius:22px;background:var(--alt);min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;gap:12px}
.embed p{color:var(--mute);font-size:14px;max-width:440px}
.embed.loaded{padding:0;display:block;overflow:hidden}
.embed iframe{width:100%;height:min(80vh,720px);border:0;display:block}
.filebox{padding:10px 0}
.planimg{border-radius:18px;border:1px solid var(--line)}
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.gal img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px}
.people{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.person{background:var(--alt);border-radius:20px;padding:24px}
.person h3{font-size:19px;margin-bottom:4px}.person .role{color:var(--mute);margin-bottom:10px}
footer{font-size:12px;color:var(--mute);padding:32px 0 120px;border-top:1px solid var(--line)}
footer .cols{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:16px}
footer b{color:var(--ink);display:block;margin-bottom:6px}
footer a{color:var(--mute)}
.cb{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(16px + env(safe-area-inset-bottom,0px));width:min(760px,calc(100% - 24px));background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:0 10px 40px rgba(0,0,0,.18);padding:20px 22px;z-index:30}
.cb[hidden]{display:none}
.cb h4{font-size:17px;margin-bottom:4px}.cb p{font-size:13px;color:var(--mute)}
.cb .acts{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.cb button{font:inherit;font-size:14px;border-radius:980px;padding:9px 18px;cursor:pointer;border:1px solid var(--blue);background:var(--blue);color:#fff;flex:1;min-width:150px}
.cb button.sec{background:none;color:var(--blue)}
.cb .set{display:none;margin-top:14px;border-top:1px solid var(--line);padding-top:6px}
.cb.more .set{display:block}
.opt{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}
.opt small{display:block;color:var(--mute);font-size:12px}
.opt input{width:20px;height:20px;flex:none}
@media (max-width:820px){
 nav.top ul{display:none;position:absolute;top:52px;left:0;right:0;flex-direction:column;gap:0;background:var(--bg);border-bottom:1px solid var(--line);padding:6px 22px 14px;font-size:17px}
 nav.top ul.open{display:flex}
 nav.top ul li a{display:block;padding:10px 0}
 .nav-cta{display:none}.burger{display:block}
 .hero{padding:52px 0 36px}h1{font-size:38px}.lead{font-size:18px}.eyebrow{font-size:16px}
 .himg{height:220px;border-radius:20px;margin-top:26px}
 .facts,.facts.n2{grid-template-columns:1fr;gap:18px;padding:30px 0 16px}
 .feature{grid-template-columns:1fr}.feature .img{min-height:220px;height:220px}.feature .txt{padding:28px}.feature h2{font-size:30px}
 .grid,.rec,.people{grid-template-columns:1fr}
 .sec-h h2,.band h2,section h2{font-size:28px}
 section.list,.next,.band{padding:52px 0}
 .premium{grid-template-columns:1fr;gap:16px;padding:22px}
 .partners{grid-template-columns:repeat(3,1fr)}.gal{grid-template-columns:repeat(2,1fr)}
 .dr{grid-template-columns:1fr 80px}.dr .halle{display:none}
 .cta{padding:30px 22px}
 footer .cols{grid-template-columns:1fr}
}
.albums .tile .img{aspect-ratio:4/3;height:auto;width:100%;object-fit:cover}
.hero .eyebrow a,.hero .lead a{color:inherit}
.agbacts{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
/* Ausstellerbereich */
.sub form.inl{display:inline}.sub form.inl .btn{color:var(--blue)}
.pcard{background:var(--alt);border-radius:20px;padding:24px;margin-bottom:18px}
.pcard h2,.pcard h3{margin-bottom:8px}.pcard .btn{margin-top:10px}.pcard.center{text-align:center}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.pgrid .pcard{margin:0}
.pfirst{padding-top:8px}
.muted{color:var(--mute)}
.pnote{background:#e7f6ec;color:#1b6e36;border-radius:12px;padding:12px 16px;margin:16px 0}
.pnote.err{background:#fdecea;color:#b3261e}
@media (prefers-color-scheme:dark){.pnote{background:#173d24;color:#9fe0b3}.pnote.err{background:#4a1c18;color:#ffb4ab}}
.pform{display:flex;flex-direction:column;gap:14px;margin:12px 0}
.pform label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}
.pform input,.pform textarea{font:inherit;font-weight:400;font-size:16px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink)}
.pform .btn{align-self:flex-start}
.pform .hint{font-size:13px;color:var(--mute);margin-top:-6px}
.pup{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.pupmsg{font-size:14px;color:var(--mute)}.pupmsg.err{color:#b3261e}
.pbadge{display:inline-block;background:#d93025;color:#fff;border-radius:980px;padding:2px 9px;font-size:12px;font-weight:600}
.pbadge.soft{background:var(--blue)}
.tile .row .pbadge{margin-right:auto}
.pmsg{border-bottom:1px solid var(--line);padding:18px 0}.pmsg h3{font-size:21px;margin:2px 0 6px}
.pmeta{font-size:13px;color:var(--mute)}
.plist{border-top:1px solid var(--line)}
.prow{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.prow b{display:block}
.pfile{display:inline-block;margin-top:6px}.pfile small{color:var(--mute)}
.thread{display:flex;flex-direction:column;gap:10px;margin:18px 0}
.bub{max-width:82%;padding:12px 16px;border-radius:18px;background:var(--alt)}
.bub.me{align-self:flex-end;background:rgba(0,102,204,.12)}
.bub.them{align-self:flex-start}
.bub .prose p{margin:0 0 6px}
@media (max-width:820px){.pgrid{grid-template-columns:1fr}.bub{max-width:92%}}
/* Zusatzinhalte */
.xb h2{margin-bottom:14px}
.xfig img{width:100%;border-radius:22px}.xfig figcaption{color:var(--mute);font-size:14px;text-align:center;margin-top:10px}
.xlink{text-align:center}.xlink .prose{margin-bottom:16px}.xtl{font-size:19px}
.xcode.embed{min-height:120px}.xcode.loaded{background:none;border-radius:0}.xcode iframe{height:auto;min-height:60px}
/* Pop-up / Aktion */
.pop[hidden]{display:none!important}
.pop.mid{position:fixed;inset:0;z-index:40;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;padding:20px}
.pop.mid .pop-card{width:min(520px,100%);max-height:calc(100vh - 40px);overflow:auto}
.pop.bar{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:35;width:min(860px,calc(100% - 24px))}
.pop.bar .pop-card{display:flex;align-items:center}.pop.bar .pop-card img{width:120px;height:100%;max-height:120px;border-radius:20px 0 0 20px}.pop.bar .pop-b{padding:16px 46px 16px 20px}.pop.bar h3{font-size:19px}
.pop-card{position:relative;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:22px;box-shadow:0 20px 60px rgba(0,0,0,.3);overflow:hidden}
.pop-card img{width:100%;object-fit:cover;max-height:260px}
.pop-b{padding:24px 26px 26px}.pop-b h3{font-size:26px;line-height:1.15;margin:6px 0 10px}.pop-b .prose p{margin-bottom:8px;color:var(--mute)}
.pop-acts{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:14px}
.pop-no{background:none;border:0;color:var(--mute);font:inherit;font-size:14px;cursor:pointer}
.pop-x{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:50%;border:0;background:rgba(0,0,0,.55);color:#fff;font-size:20px;line-height:1;cursor:pointer;z-index:1}
@media (max-width:820px){.pop.bar .pop-card img{display:none}.pop.bar .pop-b{padding:16px 46px 16px 18px}}
/* Ansprechpartner */
.people.ap{gap:22px}.people.ap.n1{grid-template-columns:minmax(0,420px);justify-content:center}.people.ap.n2{grid-template-columns:repeat(2,minmax(0,420px));justify-content:center}
.card2{display:flex;flex-direction:column;padding:30px 28px 26px;border-radius:24px}
.card2 .avatar{width:84px;height:84px;border-radius:50%;object-fit:cover;margin-bottom:18px}
.card2 .avatar.ini{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0066cc,#2997ff);color:#fff;font-size:28px;font-weight:600;letter-spacing:.02em}
.card2 h3{font-size:24px;letter-spacing:-.01em;margin-bottom:6px}
.card2 .role{color:var(--mute);font-size:15px;line-height:1.4;margin:0 0 2px}
.card2 .contact{margin:20px 0 22px;border-top:1px solid var(--line)}
.crow{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid var(--line);font-size:15px}
.crow span{color:var(--mute)}.crow a,.crow b{font-weight:500;text-align:right;word-break:break-word}.crow b{color:var(--ink)}
.cacts{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto}
@media (max-width:820px){.people.ap.n2{grid-template-columns:1fr}}
.cacts .btn.sm{padding:8px 18px;font-size:14px}
/* Kontakt & Anfrage-Formulare */
.people.kgrid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));max-width:1080px;margin:0 auto}
@media (max-width:560px){.people.kgrid{grid-template-columns:1fr}}
h2.ctr{text-align:center;margin-bottom:22px}
.aswitch{display:flex;gap:4px;background:var(--alt);border-radius:980px;padding:4px;width:max-content;max-width:100%;margin:0 auto 22px}
.aswitch button{border:0;background:none;font:inherit;font-size:15px;padding:9px 20px;border-radius:980px;color:var(--ink);cursor:pointer}
.aswitch button.on{background:var(--card);box-shadow:0 1px 4px rgba(0,0,0,.15);font-weight:600}
.aform[hidden]{display:none}
.aform-card{padding:30px}.aform-card h3{font-size:28px;margin:4px 0 8px}.apre{white-space:pre-line;margin-bottom:6px}
.agrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.agrid .full{grid-column:1/-1}
.agrid label{font-size:14px;font-weight:600;display:block;margin-bottom:6px}
.agrid input,.agrid select,.agrid textarea{width:100%;font:inherit;font-size:16px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink)}
.agrid .req{color:#d93025}
.achk{display:flex!important;flex-direction:row!important;gap:10px;font-weight:400!important;align-items:flex-start}.achk input{width:20px;height:20px;flex:none;margin-top:2px}
.aerr{color:#d93025;margin-top:10px;font-size:15px}
.aload{color:var(--mute);text-align:center;padding:40px 0}
.hp{position:absolute;left:-9999px}
@media (max-width:640px){.agrid{grid-template-columns:1fr}}
/* Impressionen: Alben */
.albs{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.albs.n1{grid-template-columns:minmax(0,640px);justify-content:center}
.albs.n2{grid-template-columns:repeat(2,minmax(0,520px));justify-content:center}
.alb{display:block;color:var(--ink);border-radius:26px;overflow:hidden;background:var(--alt);transition:transform .25s,box-shadow .25s}
.alb:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,0,0,.18)}
.alb-pics{position:relative;display:grid;aspect-ratio:4/3;overflow:hidden}
.alb.trio .alb-pics{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:3px}
.alb-pics img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.alb.trio .alb-pics .m{grid-row:1/3}
.alb:hover .alb-pics img{transform:scale(1.04)}
.alb-n{position:absolute;left:14px;bottom:14px;background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;font-size:13px;font-weight:600;padding:5px 12px;border-radius:980px}
.alb-b{padding:20px 24px 24px}
.alb-k{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--tag)}
.alb-b h3{font-size:26px;letter-spacing:-.01em;margin:4px 0 6px}
.alb-go{color:var(--blue);font-size:16px}
.alb-back{text-align:center;margin-top:34px}
@media (max-width:820px){.albs,.albs.n2{grid-template-columns:1fr}}
/* Galerie + Vollbild */
.gal{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px}
.gal a{display:block;overflow:hidden;border-radius:14px;cursor:zoom-in}
.gal img{border-radius:0;transition:transform .4s,opacity .2s}.gal a:hover img{transform:scale(1.05)}
@media (max-width:820px){.gal{grid-template-columns:repeat(2,1fr);gap:6px}.gal a{border-radius:10px}}
.lb{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.94);display:flex;align-items:center;justify-content:center}
.lb[hidden]{display:none}
.lb figure{margin:0;max-width:calc(100% - 120px);max-height:100%;display:flex;flex-direction:column;align-items:center;padding:40px 0}
.lb img{max-width:100%;max-height:calc(100vh - 110px);object-fit:contain;border-radius:6px}
.lb figcaption{color:#bbb;font-size:14px;margin-top:12px}
.lb button{position:absolute;background:rgba(255,255,255,.12);border:0;color:#fff;border-radius:50%;width:48px;height:48px;font-size:30px;line-height:1;cursor:pointer}
.lb button:hover{background:rgba(255,255,255,.24)}
.lb-x{top:calc(16px + env(safe-area-inset-top,0px));right:16px;font-size:26px!important}.lb-p{left:16px;top:50%;transform:translateY(-50%)}.lb-n{right:16px;top:50%;transform:translateY(-50%)}
@media (max-width:820px){.lb figure{max-width:100%}.lb-p,.lb-n{top:auto!important;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:none!important}}
/* Logos */
.logo{display:flex;align-items:center;gap:12px}
.lplate{display:inline-flex;align-items:center;gap:8px;background:#fff;border-radius:10px;line-height:0}
.lplate img{display:block;width:auto}
.lplate.hd{padding:4px 8px;border-radius:9px}.lplate.hd img{height:30px}.lplate.hd i{width:1px;height:22px;background:#d2d2d7}
.lplate.sm{padding:3px 6px;border-radius:7px;flex:none}.lplate.sm img{height:22px}
.veranst{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.hero .veranst{justify-content:center}
.flogos{display:flex;flex-direction:column;gap:10px;margin-top:4px}
.flogos .lplate{padding:10px 14px;width:max-content;max-width:100%;border:1px solid var(--line)}.flogos .lplate img{height:44px;max-width:100%;object-fit:contain}
@media (prefers-color-scheme:light){.lplate.hd{padding:0;background:none}}
@media (max-width:820px){.lplate.hd img{height:26px}}
.logo .wm{font-weight:700;color:var(--ink)}.logo .wm span{font-weight:400;color:var(--mute)}.logo .lplate{color:inherit}
.flogos{gap:12px}.flogo{display:flex;align-items:center;gap:12px}
.flogos .lplate{padding:6px 9px;border-radius:9px}.flogos .lplate img{height:30px}
.flogos .lplate{width:64px;height:44px;justify-content:center;padding:6px}.flogos .lplate img{max-width:52px;height:auto;max-height:32px}
/* Kacheln mit Knöpfen */
.tile{position:relative}.tile-a{position:absolute;inset:0;z-index:1;border-radius:inherit}
.tbtns{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;position:relative;z-index:2}
.tbtns .btn.sm{padding:7px 16px;font-size:14px}
.tile .veranst{position:relative;z-index:0}
.tile-a:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
img.fit{object-fit:contain}
.veranst{flex-wrap:nowrap}.veranst>span:last-child{min-width:0}.hero .veranst{flex-wrap:wrap}
.facts{grid-template-columns:repeat(3,minmax(0,1fr))}.facts.n2{grid-template-columns:repeat(2,minmax(0,1fr))}.facts b{overflow-wrap:anywhere}
/* Ausstellerbereich: Unterlagen */
.dls{display:flex;flex-direction:column;gap:10px}
.dl{display:flex;align-items:center;gap:16px;padding:14px 18px;background:var(--alt);border-radius:16px;color:var(--ink);transition:background .15s}
.dl:hover{background:var(--line)}
.dl-ic{flex:none;width:48px;height:48px;border-radius:12px;background:var(--blue);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;letter-spacing:.02em}
.dl-ic.lk{background:var(--ink);color:var(--bg)}
.dl-t{flex:1;min-width:0}.dl-t b{display:block;font-size:17px}.dl-t small{display:block;color:var(--mute);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dl-go{color:var(--blue);font-size:15px;flex:none}
.pmsg .dl{margin-top:14px}
.ausarch{margin-top:50px}
@media (max-width:560px){.dl-go{display:none}}
/* Bilder im Aussteller-/Pressebereich */
.pgal{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-top:6px}
.pgal figure{margin:0}.pgal figure>a{display:block;overflow:hidden;border-radius:14px;cursor:zoom-in}
.pgal img{aspect-ratio:4/3;width:100%;object-fit:cover}
.pgal figcaption{display:flex;flex-direction:column;gap:2px;margin-top:8px;font-size:14px}
.pgal figcaption span{font-weight:600}.pgal figcaption a{font-size:13px}
.pmsg .pgal{margin:14px 0}
.gen-h{padding-bottom:0}.gen-h h2{margin-bottom:4px}
.pkontakt{max-width:520px;margin:0 auto}
@media (max-width:820px){.pgal{grid-template-columns:repeat(2,1fr);gap:10px}}
.pgal figcaption a{display:inline;cursor:pointer;border-radius:0;overflow:visible}
/* Infos auf der Messeseite */
.infos{display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}
.infos.n1{grid-template-columns:1fr}.infos.n2{grid-template-columns:repeat(2,1fr)}
.info{background:var(--alt);border-radius:22px;overflow:hidden;display:flex;flex-direction:column}
.info img{width:100%;aspect-ratio:16/9;object-fit:cover}
.infos.n1 .info img{aspect-ratio:auto;max-height:520px;object-fit:contain;background:var(--alt)}
.info-b{padding:22px 24px 24px;display:flex;flex-direction:column;gap:8px;flex:1}
.info-b h3{font-size:21px}.info-b .prose p{margin:0 0 8px}.info-b .btn{align-self:flex-start;margin-top:auto}
@media (max-width:820px){.infos,.infos.n2{grid-template-columns:1fr}}
.tnarrow{max-width:760px}#anfahrt .infos{margin-top:22px}
/* „Als Nächstes“: Bild und Titel führen zur Messeseite */
.feature .fimg{display:block;overflow:hidden;min-height:380px}
.feature .fimg .img{height:100%;transition:transform .5s}
.feature .fimg:hover .img{transform:scale(1.03)}
.feature .flink{color:inherit}.feature .flink:hover{color:var(--blue)}
@media (max-width:820px){.feature .fimg{min-height:220px;height:220px}}
/* Pressekontakt */
.pk{display:flex;gap:18px;align-items:flex-start}
.pk-av{flex:none;width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#0066cc,#2997ff);color:#fff;font-size:22px;font-weight:600;display:flex;align-items:center;justify-content:center;letter-spacing:.02em}
.pk-i{flex:1;min-width:0;display:flex;flex-direction:column}
.pk-l{font-size:13px;font-weight:600;color:var(--tag);margin-bottom:2px}
.pk-n{font-size:21px;line-height:1.25}
.pk-ro{color:var(--mute);font-size:15px}
.pk-c{margin-top:12px;border-top:1px solid var(--line)}
.pk-r{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid var(--line);font-size:15px;font-weight:500}
.pk-r span{color:var(--mute);font-weight:400}
.pk-a{display:flex;gap:10px;flex-wrap:wrap}
.pk.big{background:var(--alt);border-radius:24px;padding:28px 30px;margin-top:34px;gap:24px;align-items:center}
.pk.big .pk-av{width:84px;height:84px;font-size:28px}
.pk.big .pk-c{border:0;margin-top:10px;display:flex;flex-wrap:wrap;gap:4px 22px}
.pk.big .pk-r{border:0;padding:0;gap:8px}
.pk.big .pk-a{flex-direction:column;align-self:center}
.pk.big .pk-a .btn{text-align:center;padding:9px 20px;font-size:15px}
.pk.pcard{flex-direction:column;gap:12px}
.pk.pcard .pk-av{width:52px;height:52px;font-size:18px}
.pk.pcard .pk-c{width:100%}
.pk.pcard .pk-r{flex-direction:column;gap:0}
.pk.pcard .pk-a .btn{margin-top:4px}
.pintro .prose+.pk{margin-top:34px}
@media (max-width:700px){.pk.big{flex-direction:column;align-items:flex-start;padding:24px}.pk.big .pk-a{flex-direction:row;align-self:flex-start}.pk.big .pk-c{flex-direction:column}}
.pk.pcard .pk-i{width:100%;align-self:stretch}
@media (max-width:820px){.sub b{display:none}.sub a.btn{display:none}.sub .wrap{gap:20px;font-size:14px}}
/* Kontakt: Ansprechpartner-Abschnitt */
.ap-h{margin-bottom:22px}.ap-h h2{margin-bottom:4px}.ap-h .intro{margin:0}
#ansprechpartner{padding-top:30px}
.ap-h{justify-content:center;text-align:center}

/* Knopf „Als Aussteller anmelden“ */
:root{--signup:#d9480f;--signup-ink:#fff}
@media (prefers-color-scheme:dark){:root{--signup:#ff9f0a;--signup-ink:#1d1d1f}}
.btn.signup{background:var(--signup);color:var(--signup-ink);display:inline-flex;align-items:center;gap:8px;font-weight:600;box-shadow:0 6px 18px rgba(217,72,15,.25)}
.btn.signup:hover{filter:brightness(1.06)}
.btn.signup svg{flex:none}
.sub a.btn.signup{color:var(--signup-ink)}
.btn.sm.signup{gap:6px;box-shadow:none}.btn.sm.signup svg{width:13px;height:13px}
.btn.ghost.signup-t{color:var(--signup);border-color:var(--signup)}

/* Zurück zu allen Messen */
.sub a.subback{display:inline-flex;align-items:center;gap:4px;color:var(--mute);margin-right:4px;padding:6px 10px 6px 4px;border-radius:980px;font-size:14px}
.sub a.subback:hover{color:var(--blue);background:var(--alt)}
.sub a.subback + b{margin-right:auto}
.backnav{padding:40px 0 10px;text-align:center}.backnav .btn{display:inline-flex;align-items:center;gap:6px}.backnav p{margin:14px 0 0;font-size:14px}
@media (max-width:700px){.sub a.subback span{display:none}.sub a.subback{padding:6px}}
