@font-face{font-family:Bebas Kai;src:url(/assets/fonts/bebas-kai/BebasKai.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{color-scheme:dark;--font-display: "Bebas Kai", "Bebas Neue", Impact, sans-serif;--font-body: system-ui, -apple-system, "Segoe UI", sans-serif;--color-bg: #050507;--color-bg-soft: #0a0a0a;--color-panel: #141016;--color-panel-2: #1c1421;--color-line: rgba(255, 255, 255, .1);--color-line-2: rgba(255, 255, 255, .06);--color-text: #ffffff;--color-text-muted: #c9c1ca;--color-text-dim: #7c7480;--color-accent: #fb0080;--color-accent-deep: #b22b69;--color-neon-red: #e00020;--color-city-blue: #102030;--color-city-violet: #604050;--color-hero-violet: #2a1840;--color-status-go: #37e29a;--color-status-soldout: #ff2d55;--color-status-soon: #b0a0c0;--layout-maxw: 1120px;--radius: 14px}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%}body{min-height:100vh;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}h1,h2,h3{font-family:var(--font-display);line-height:1.05;letter-spacing:.02em;font-weight:400}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:3px}.wrap{width:min(100% - 2.5rem,var(--layout-maxw));margin-inline:auto}section{padding:4.5rem 0}.sec-head{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:2rem}.sec-head h2{font-size:clamp(2rem,6vw,3.4rem);margin:.4rem 0 0}.sec-head .count{color:var(--color-text-dim);font-size:.85rem;letter-spacing:.02em;white-space:nowrap}.display{font-family:var(--font-display);font-weight:400;text-transform:uppercase;letter-spacing:.01em;line-height:.92;text-wrap:balance}.eyebrow{font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--color-text-muted);font-weight:600}.text-link{color:var(--color-accent)}.text-link:hover,.text-link:focus-visible{text-decoration:underline}.btn{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.05em;font-size:1.18rem;padding:.72rem 1.7rem;border-radius:999px;display:inline-flex;align-items:center;gap:.5rem;border:1px solid transparent;cursor:pointer;transition:transform .15s,box-shadow .2s,background .2s}.btn-primary{background:var(--color-accent);color:#12000a;box-shadow:0 0 #fb008000}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 34px -8px var(--color-accent)}.btn-ghost{border-color:var(--color-line);color:var(--color-text)}.btn-ghost:hover{border-color:var(--color-text-muted);transform:translateY(-2px)}.btn-sm{font-size:1.05rem;padding:.6rem 1.4rem}header.site{position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:color-mix(in srgb,var(--color-bg) 78%,transparent);border-bottom:1px solid var(--color-line-2)}.nav{display:flex;align-items:center;justify-content:space-between;height:68px;gap:1.5rem}.brand{display:inline-flex;align-items:center;line-height:1}.brand-logo{display:block;height:38px;width:auto}.nav-links{display:none;gap:1.9rem;align-items:center}.nav-links a{font-size:.9rem;letter-spacing:.02em;color:var(--color-text-muted);transition:color .18s}.nav-links a:hover{color:var(--color-text)}.nav-cta{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.06em;font-size:1rem;padding:.42rem 1.05rem;border:1px solid var(--color-accent);border-radius:999px;color:var(--color-text);transition:background .18s,color .18s}.nav-cta:hover{background:var(--color-accent);color:#12000a}.nav-links a.is-active{color:var(--color-text)}.nav-toggle{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.06em;font-size:1rem;color:var(--color-text);background:transparent;border:1px solid var(--color-line);border-radius:999px;padding:.4rem .9rem;cursor:pointer}.nav-toggle .burger{width:16px;height:2px;background:currentColor;position:relative;display:inline-block}.nav-toggle .burger:before,.nav-toggle .burger:after{content:"";position:absolute;left:0;width:16px;height:2px;background:currentColor}.nav-toggle .burger:before{top:-5px}.nav-toggle .burger:after{top:5px}.nav-panel{position:absolute;top:100%;left:0;right:0;z-index:49;display:flex;flex-direction:column;background:var(--color-bg-soft);border-bottom:1px solid var(--color-line)}.nav-panel a{padding:.9rem 0;color:var(--color-text-muted);font-size:1rem;border-top:1px solid var(--color-line-2)}.nav-panel a:first-child{border-top:none}.nav-panel a.is-active{color:var(--color-text)}@media(min-width:820px){.nav-links{display:flex}.nav-toggle,.nav-panel{display:none}}footer.site{border-top:1px solid var(--color-line-2);background:var(--color-bg-soft);padding:3rem 0 2.2rem}.foot-grid{display:flex;flex-wrap:wrap;gap:1.5rem 3rem;justify-content:space-between}.foot-brand{line-height:0}.foot-logo{display:block;height:52px;width:auto}.foot-contact{color:var(--color-text-muted);max-width:32ch;margin:.7rem 0 0}.foot-links{display:flex;flex-wrap:wrap;gap:.4rem 1.5rem;align-items:center}.foot-links a{color:var(--color-text-muted);font-size:.92rem}.foot-links a:hover,.foot-links a.is-active{color:var(--color-text)}.foot-meta{color:var(--color-text-dim);font-size:.78rem;margin-top:2rem;display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;align-items:center}.devflag{border:1px dashed var(--color-line);border-radius:6px;padding:.15rem .5rem;letter-spacing:.1em;text-transform:uppercase;font-size:.68rem}.chip{display:inline-flex;align-items:center;gap:.45rem;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;padding:.3rem .7rem;border-radius:999px;border:1px solid var(--color-line);background:#ffffff08;color:var(--color-text-muted);width:max-content}.chip:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}.chip.is-upcoming{color:var(--color-status-go);border-color:color-mix(in srgb,var(--color-status-go) 40%,transparent)}.chip.is-soldout{color:var(--color-status-soldout);border-color:color-mix(in srgb,var(--color-status-soldout) 45%,transparent)}.chip.is-comingsoon{color:var(--color-status-soon)}.chip.is-cancelled{color:var(--color-text-dim)}.chip.is-past{color:var(--color-text-dim);opacity:.7}.meta{display:flex;flex-wrap:wrap;gap:.5rem 1.3rem;align-items:center;color:var(--color-text-muted);font-size:.92rem}.meta .date{font-variant-numeric:tabular-nums;letter-spacing:.01em}.meta svg{width:15px;height:15px;opacity:.7;vertical-align:-2px;margin-right:.35rem}.flyer{position:relative;aspect-ratio:4 / 5;overflow:hidden;display:grid;place-items:center;text-align:center;background:var(--color-panel-2)}.flyer img{width:100%;height:100%;object-fit:cover}.grid{display:grid;grid-template-columns:1fr;gap:1.3rem;margin-top:2.4rem}@media(min-width:620px){.grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:940px){.grid{grid-template-columns:repeat(3,1fr)}}.card{display:flex;flex-direction:column;background:var(--color-panel);border:1px solid var(--color-line);border-radius:var(--radius);overflow:hidden;transition:transform .18s,border-color .18s,box-shadow .25s}.card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--color-accent) 55%,var(--color-line));box-shadow:0 18px 44px -22px var(--color-accent)}.card .flyer{aspect-ratio:4 / 5}.card-body{padding:1.1rem 1.15rem 1.3rem;display:flex;flex-direction:column;gap:.55rem;flex:1}.card-body h3{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.02em;font-size:1.7rem;line-height:.95;margin:.1rem 0 0}.card-body .teaser{color:var(--color-text-muted);font-size:.9rem;margin:0;flex:1}.card-foot{display:flex;align-items:center;justify-content:space-between;margin-top:.4rem}.card-link{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.05em;font-size:1rem;color:var(--color-accent);display:inline-flex;align-items:center;gap:.3rem}.card.dim{opacity:.62}.featured{display:grid;grid-template-columns:1fr;gap:0;border:1px solid var(--color-line);border-radius:var(--radius);overflow:hidden;position:relative;background:var(--color-panel);box-shadow:0 0 60px -30px var(--color-neon-red)}.featured:before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:var(--radius);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-neon-red) 45%,transparent)}.featured-body{padding:1.9rem 1.7rem 2.1rem;display:flex;flex-direction:column;gap:.7rem}.featured-body .kicker{color:var(--color-neon-red)}.featured-body h3{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(2.4rem,7vw,4rem);margin:.2rem 0 0;line-height:.9}.featured-body p{color:var(--color-text-muted);margin:.3rem 0 .5rem;max-width:52ch}.featured-actions{display:flex;flex-wrap:wrap;gap:.85rem;margin:1.1rem 0 0}@media(min-width:780px){.featured{grid-template-columns:.82fr 1fr}.featured .flyer{aspect-ratio:auto;height:100%;min-height:420px}}.hero{position:relative;isolation:isolate;overflow:hidden;padding:0}.hero-bg{position:absolute;inset:0;z-index:-2;background:radial-gradient(120% 80% at 50% -10%,var(--color-hero-violet) 0%,transparent 55%),radial-gradient(90% 70% at 80% 0%,var(--color-city-blue) 0%,transparent 60%),var(--color-bg)}.hero .hero-bg{background:linear-gradient(180deg,#0505079e,#05050757 42%,#050507f2),linear-gradient(90deg,#050507e6,#05050773 55%,#0505071a),url(/assets/images/ettlingen-rathaus.jpg) center 28% / cover no-repeat}.hero-inner{padding:5.5rem 0 0;position:relative}.hero-lockup{display:flex;align-items:center;gap:clamp(1rem,3.5vw,2.6rem);margin:1.4rem 0 0;flex-wrap:wrap}.hero-logo{width:clamp(96px,17vw,188px);height:auto;filter:drop-shadow(0 0 34px rgba(251,0,128,.45))}.hero h1{font-size:clamp(2.8rem,9vw,6.4rem);margin:0}.hero h1 .lit{color:var(--color-accent)}.hero-claim{margin:1.4rem 0 0;max-width:46ch;font-size:clamp(1rem,2.5vw,1.18rem);color:var(--color-text-muted)}.hero-actions{display:flex;flex-wrap:wrap;gap:.85rem;margin:2.1rem 0 5.5rem}.skyline{display:block;width:100%;height:auto;margin-bottom:-1px}.skyline path{fill:#0b0710}.skyline .rim{fill:none;stroke:var(--color-accent);stroke-width:1.4;opacity:.55}.events-section{background:linear-gradient(180deg,var(--color-bg) 0%,var(--color-bg-soft) 100%);min-height:60vh}.partner-intro{max-width:60ch;color:var(--color-text-muted);margin-bottom:2.4rem}.partner-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.3rem;margin-bottom:3.5rem}.partner-card{background:var(--color-panel);border:1px solid var(--color-line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:border-color .2s ease}.partner-card:hover,.partner-card:focus-within{border-color:var(--color-accent)}.partner-logo-frame{background:#fff;height:168px;padding:1.2rem}.partner-logo{display:block;width:100%;height:100%;object-fit:contain}.partner-card-body{padding:1.1rem 1.15rem 1.3rem;display:flex;flex-direction:column;gap:.4rem;flex:1}.partner-card-body h3{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.02em;font-size:1.5rem;line-height:.95;margin:0}.partner-desc{color:var(--color-text-muted);font-size:.9rem;margin:0;flex:1;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}.partner-site{color:var(--color-accent);font-size:.85rem;font-weight:600;align-self:flex-start;margin-top:.5rem;overflow-wrap:anywhere}.partner-site:hover,.partner-site:focus-visible{text-decoration:underline}.partner-box{border:1px solid var(--color-line);border-radius:var(--radius);padding:clamp(1.8rem,5vw,3rem);text-align:center;background:radial-gradient(100% 120% at 50% 0%,color-mix(in srgb,var(--color-accent) 14%,transparent) 0%,transparent 60%),var(--color-panel)}.partner-box h2{font-size:clamp(1.9rem,6vw,3rem);margin:.6rem 0 .4rem}.partner-box p{color:var(--color-text-muted);max-width:48ch;margin:0 auto 1.5rem}.partner-offer{max-width:60ch;margin:2.5rem auto 0}.partner-offer h3{font-size:1.6rem;margin:0 0 .8rem}.partner-offer ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem;color:var(--color-text-muted)}.partner-offer li{padding-left:1.3rem;position:relative}.partner-offer li:before{content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;border-radius:50%;background:var(--color-accent)}.partner-actions{margin-top:2.5rem;text-align:center}.event-detail{display:grid;grid-template-columns:1fr;gap:1.6rem;margin-top:1.5rem}.event-detail .flyer{border-radius:var(--radius);border:1px solid var(--color-line)}.event-detail-body{display:flex;flex-direction:column;gap:.9rem}.event-detail-body h1{font-size:clamp(2.6rem,8vw,4.4rem);margin:.2rem 0 0}.event-description{max-width:60ch;color:var(--color-text-muted)}.event-note{color:var(--color-text-muted)}.back-link{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.05em;font-size:1rem;color:var(--color-accent);display:inline-flex;align-items:center;gap:.3rem}.detail-actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:.6rem}@media(min-width:780px){.event-detail{grid-template-columns:.82fr 1fr;gap:2.4rem;align-items:start}}.team-intro{max-width:60ch;color:var(--color-text-muted);margin-bottom:2.4rem}.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.3rem}.team-card{background:var(--color-panel);border:1px solid var(--color-line);border-radius:var(--radius);overflow:hidden}.team-photo{width:100%;aspect-ratio:1 / 1;object-fit:cover;background:var(--color-panel-2)}.team-card-body{padding:1.1rem 1.15rem 1.3rem;display:flex;flex-direction:column;gap:.4rem}.team-card-body h3{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.02em;font-size:1.6rem;line-height:.95;margin:0}.team-role{font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--color-text-muted);font-weight:600}.team-bio{color:var(--color-text-muted);font-size:.9rem;margin:0}.team-contact{max-width:60ch;margin-top:2.5rem;color:var(--color-text-muted)}.legal{max-width:72ch}.legal h1{font-size:clamp(2rem,5vw,2.8rem);margin-bottom:1.5rem}.legal h2{font-family:var(--font-display);font-size:1.4rem;letter-spacing:.02em;font-weight:400;margin:2rem 0 .6rem}.legal p{color:var(--color-text-muted);margin:0 0 .8rem}.legal ul{list-style:none;padding:0;margin:0 0 .8rem;display:flex;flex-direction:column;gap:.4rem;color:var(--color-text-muted)}.legal li{padding-left:1.3rem;position:relative}.legal li:before{content:"";position:absolute;left:0;top:.6em;width:5px;height:5px;border-radius:50%;background:var(--color-accent)}.legal strong{color:var(--color-text);font-weight:600}.legal code{font-size:.9em;color:var(--color-text);overflow-wrap:anywhere}.legal-meta{margin-top:2rem;font-size:.85rem}.notfound{position:relative;isolation:isolate;overflow:hidden;text-align:center;padding:6rem 0 5rem}.notfound .hero-bg{z-index:-2}.notfound .code{font-size:clamp(6rem,24vw,14rem);line-height:.9;color:var(--color-accent)}.notfound p{max-width:42ch;margin:1rem auto 0;color:var(--color-text-muted)}.notfound .hero-actions{justify-content:center;margin:2.1rem 0 0}@media(prefers-reduced-motion:no-preference){.hero h1 .lit{animation:flick 3.6s ease-in-out .2s 1 both}@keyframes flick{0%{opacity:.2}8%{opacity:1}12%{opacity:.4}16%{opacity:1}22%{opacity:.7}26%,to{opacity:1}}}
