/*
Theme Name: Queerbeet Modern
Theme URI: https://queerbeet-hildesheim.de/
Author: Queerbeet Hildesheim e. V.
Description: Ein modernes, animiertes und barrierearmes WordPress-Theme für Queerbeet Hildesheim e. V.
Version: 1.48.2
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: queerbeet-modern
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

:root {
	--qb-ink: #22152b;
	--qb-paper: #f7f2e9;
	--qb-white: #fffdf8;
	--qb-pink: #f24496;
	--qb-coral: #ff705c;
	--qb-blue: #72d8ff;
	--qb-lime: #c8ef69;
	--qb-yellow: #ffd969;
	--qb-line: rgba(34, 21, 43, .16);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; background: var(--qb-paper); color: var(--qb-ink); font-family: Arial, Helvetica, sans-serif; }
img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 99999; left: 16px; top: -80px; padding: 12px 18px; background: white; color: var(--qb-ink); border-radius: 8px; font-weight: 700; transition: top .2s; }
.skip-link:focus { top: 16px; }

.site-header {
	--glass-x: 50%; --glass-y: 0%; --glass-light: .42;
	position: fixed; z-index: 100; isolation: isolate; top: 12px; left: clamp(10px, 1.8vw, 28px); right: clamp(10px, 1.8vw, 28px);
	height: 82px; display: grid; grid-template-columns: minmax(180px, 1fr) auto minmax(120px, 1fr); align-items: center; gap: 28px;
	padding: 0 clamp(20px, 3.4vw, 54px); color: white; border: 1px solid rgba(255,255,255,.3); border-radius: 28px;
	background: linear-gradient(115deg, rgba(255,255,255,.16), rgba(255,255,255,.045) 42%, rgba(255,255,255,.1)), rgba(31,17,39,.58);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.42), inset 0 -1px 0 rgba(255,255,255,.08), 0 18px 50px rgba(12,5,18,.22), 0 2px 10px rgba(12,5,18,.12);
	-webkit-backdrop-filter: blur(28px) saturate(175%) contrast(1.04); backdrop-filter: blur(28px) saturate(175%) contrast(1.04);
	transition: height .35s ease, top .35s ease, background .35s ease, border-color .35s ease, border-radius .35s ease, box-shadow .35s ease, backdrop-filter .35s ease;
}
.site-header::before { content: ''; position: absolute; z-index: 0; inset: 0; border-radius: inherit; background: radial-gradient(440px circle at var(--glass-x) var(--glass-y), rgba(255,255,255,var(--glass-light)), rgba(255,255,255,.1) 32%, transparent 66%); opacity: .68; pointer-events: none; transition: opacity .25s ease; }
.site-header::after { content: ''; position: absolute; z-index: 0; inset: 1px; border-radius: inherit; border: 1px solid rgba(255,255,255,.08); background: linear-gradient(105deg, transparent 37%, rgba(255,255,255,.045) 44%, rgba(255,255,255,.27) 49%, rgba(98,212,244,.1) 53%, transparent 61%); background-position: 180% 0; background-size: 250% 100%; animation: qb-header-shine 12s ease-in-out infinite; pointer-events: none; mix-blend-mode: screen; }
.site-header > * { position: relative; z-index: 1; }
.admin-bar .site-header { top: 44px; }
body:not(.home) .site-header { background: linear-gradient(115deg, rgba(255,255,255,.15), rgba(255,255,255,.04) 44%, rgba(255,255,255,.08)), rgba(34,21,43,.7); }
.site-header.is-scrolled { height: 70px; top: 8px; border-color: rgba(255,255,255,.23); border-radius: 24px; background: linear-gradient(115deg, rgba(255,255,255,.14), rgba(255,255,255,.035) 45%, rgba(255,255,255,.08)), rgba(31,17,39,.68); box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 14px 42px rgba(14,7,20,.28); -webkit-backdrop-filter: blur(32px) saturate(185%) contrast(1.05); backdrop-filter: blur(32px) saturate(185%) contrast(1.05); }
.admin-bar .site-header.is-scrolled { top: 40px; }
.brand { position: relative; isolation: isolate; width: fit-content; display: flex; align-items: center; margin-left: -8px; padding: 4px 8px 4px 4px; overflow: hidden; border: 0; background: transparent; box-shadow: none; transition: transform .3s ease; }
.brand::before { content: ''; position: absolute; z-index: 0; left: 10px; right: 10px; bottom: 0; height: 2px; border-radius: 999px; background: linear-gradient(90deg, #ef3d57, #ff8b45, #ffd76a, #c8ef69, #55d6b4, #62d4f4, #b985ef, #ef3d57); background-size: 240% 100%; opacity: .82; animation: qb-brand-rainbow 7s linear infinite; }
.brand:hover { transform: translateY(-1px); }
.brand-logo {
	position: relative; z-index: 1; display: block; width: 220px; max-height: 58px; object-fit: contain; object-position: left center;
	filter: drop-shadow(0 5px 9px rgba(0,0,0,.34)) drop-shadow(0 0 8px rgba(98,212,244,.13));
	animation: qb-logo-glow 5.5s ease-in-out infinite; transition: width .35s ease, transform .35s ease, filter .35s ease;
}
.brand:hover .brand-logo { filter: drop-shadow(0 6px 10px rgba(0,0,0,.4)) drop-shadow(0 0 11px rgba(200,239,105,.22)); animation-play-state: paused; transform: scale(1.025); }
.site-header.is-scrolled .brand { padding-top: 3px; padding-bottom: 3px; }.site-header.is-scrolled .brand-logo { width: 185px; }
.primary-navigation { min-width: 0; justify-self: center; }
.primary-menu, .footer-menu { display: flex; align-items: center; gap: clamp(18px, 1.8vw, 32px); margin: 0; padding: 0; list-style: none; }
.primary-menu > li { opacity: 0; animation: qb-nav-in .5s cubic-bezier(.2,.8,.2,1) forwards; }
.primary-menu > li:nth-child(2) { animation-delay: .06s; }.primary-menu > li:nth-child(3) { animation-delay: .12s; }.primary-menu > li:nth-child(4) { animation-delay: .18s; }.primary-menu > li:nth-child(5) { animation-delay: .24s; }.primary-menu > li:nth-child(6) { animation-delay: .3s; }
.primary-menu a { position: relative; display: block; padding: 12px 0; font-size: 14px; font-weight: 700; }
.primary-menu a::after { content: ''; position: absolute; left: 0; right: 100%; bottom: 4px; height: 2px; background: var(--qb-lime); transition: right .3s ease; }
.primary-menu a:hover::after, .primary-menu .current-menu-item > a::after { right: 0; }
.primary-menu .menu-item-has-children > a { display: flex; align-items: center; gap: 7px; }
.primary-menu .menu-item-has-children > a::before { content: '+'; order: 2; color: var(--qb-lime); font-size: 17px; font-weight: 400; line-height: 1; transition: transform .25s ease; }
.primary-menu .menu-item-has-children:hover > a::before, .primary-menu .menu-item-has-children:focus-within > a::before { transform: rotate(45deg); }
.primary-menu .sub-menu { position: absolute; top: calc(100% + 10px); left: 50%; min-width: 220px; margin: 0; padding: 12px 18px; list-style: none; border: 1px solid rgba(34,21,43,.08); border-radius: 16px; background: var(--qb-white); color: var(--qb-ink); box-shadow: 0 22px 55px rgba(15,8,20,.22); opacity: 0; visibility: hidden; transform: translate(-50%, 12px) scale(.97); transform-origin: top center; transition: opacity .24s ease, visibility .24s ease, transform .24s ease; }
.primary-menu .sub-menu::before { content: ''; position: absolute; left: 50%; top: -6px; width: 12px; height: 12px; background: var(--qb-white); border-left: 1px solid rgba(34,21,43,.08); border-top: 1px solid rgba(34,21,43,.08); transform: translateX(-50%) rotate(45deg); }
.primary-menu .sub-menu a { padding: 10px 2px; border-bottom: 1px solid rgba(34,21,43,.08); font-size: 13px; transition: color .2s ease, padding-left .2s ease; }
.primary-menu .sub-menu li:last-child a { border-bottom: 0; }.primary-menu .sub-menu a:hover { padding-left: 6px; color: #ae1f67; }
.primary-menu li { position: relative; }
.primary-menu li:hover > .sub-menu, .primary-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translate(-50%, 0) scale(1); }
.submenu-toggle { display: none; }
.nav-cta { justify-self: end; display: flex; align-items: center; gap: 9px; border: 1px solid rgba(255,255,255,.65); border-radius: 999px; padding: 11px 18px; font-size: 14px; font-weight: 700; transition: .25s ease; }
.nav-cta:hover { background: white; color: var(--qb-ink); transform: translateY(-2px); }
.menu-toggle { display: none; justify-self: end; width: 42px; height: 42px; padding: 9px; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; background: transparent; color: white; }
.menu-toggle > span:not(.screen-reader-text) { display: block; height: 2px; margin: 4px 0; border-radius: 3px; background: currentColor; transition: .25s; }

.hero { position: relative; min-height: min(900px, 94vh); display: flex; align-items: end; overflow: hidden; background: var(--qb-ink); color: white; }
.hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .72; }
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(27,13,34,.25), rgba(27,13,34,.44) 45%, rgba(27,13,34,.92)); }
.hero-content { position: relative; z-index: 3; width: 100%; padding: 160px clamp(22px, 7vw, 110px) clamp(64px, 8vw, 112px); }
.eyebrow, .section-kicker { margin: 0 0 24px; font-size: 12px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.eyebrow::before, .section-kicker::before { content: ''; display: inline-block; width: 34px; height: 2px; margin: 0 12px 3px 0; background: var(--qb-pink); }
.hero h1 { max-width: 1100px; margin: 0; font-size: clamp(60px, 9.3vw, 142px); line-height: .84; letter-spacing: -.07em; font-weight: 800; }
.hero h1 span { display: inline-block; color: var(--qb-lime); font-family: Georgia, serif; font-style: italic; font-weight: 400; letter-spacing: -.06em; }
.hero-bottom { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-top: clamp(38px, 6vw, 78px); }
.hero-bottom p { max-width: 560px; margin: 0; font-size: clamp(17px, 1.6vw, 22px); line-height: 1.5; color: rgba(255,255,255,.84); }
.circle-link { flex: 0 0 auto; width: 78px; height: 78px; border-radius: 50%; display: grid; place-items: center; background: var(--qb-pink); font-size: 34px; transition: transform .3s ease, background .3s ease; }
.circle-link:hover { transform: rotate(-12deg) scale(1.08); background: var(--qb-coral); }
.hero-sticker { position: absolute; z-index: 4; right: 8vw; top: 22%; width: 128px; height: 128px; border-radius: 50%; background: var(--qb-yellow); color: var(--qb-ink); display: grid; place-content: center; text-align: center; gap: 6px; font-size: 13px; font-weight: 800; transform: rotate(8deg); animation: qb-float 4s ease-in-out infinite; }
.hero-sticker b { font-size: 24px; }
.orb { position: absolute; z-index: 2; border-radius: 50%; mix-blend-mode: screen; opacity: .75; }
.orb-one { width: 90px; height: 90px; background: var(--qb-blue); left: 3vw; top: 23%; animation: qb-drift 8s ease-in-out infinite; }
.orb-two { width: 44px; height: 44px; background: var(--qb-pink); right: 35%; top: 29%; animation: qb-drift 6s ease-in-out -2s infinite reverse; }
.reveal { animation: qb-reveal .8s cubic-bezier(.2,.8,.2,1) both; }
.reveal-delay { animation-delay: .15s; }.reveal-delay-two { animation-delay: .3s; }

.ticker { position: relative; z-index: 5; overflow: hidden; padding: 15px 0; border-bottom: 2px solid var(--qb-ink); background: var(--qb-pink); color: white; transform: rotate(-1.2deg) scale(1.02); }
.ticker-track { display: flex; width: max-content; align-items: center; font-size: 15px; font-weight: 900; letter-spacing: .13em; animation: qb-marquee 28s linear infinite; will-change: transform; }
.ticker-group { min-width: 100vw; display: flex; flex: 0 0 auto; justify-content: space-around; gap: 28px; align-items: center; padding-right: 28px; }
.ticker-track i { font-style: normal; color: var(--qb-lime); }

.section { padding: clamp(90px, 12vw, 180px) clamp(22px, 7vw, 110px); }
.intro { padding-top: clamp(64px, 6vw, 96px); }
.section-kicker { color: rgba(34,21,43,.55); }.section-kicker.light { color: rgba(255,255,255,.6); }
.intro-grid { display: grid; grid-template-columns: 1.35fr .65fr; gap: 9vw; align-items: center; }
.intro h2, .section-heading h2, .values-title h2, .cta-section h2, .content-header h1 { margin: 0; font-size: clamp(48px, 7.2vw, 108px); line-height: .93; letter-spacing: -.065em; }
.intro h2 span { font-family: Georgia, serif; font-weight: 400; font-style: italic; color: var(--qb-pink); }
.intro-copy p { margin: 0 0 30px; font-size: 19px; line-height: 1.65; }
.text-link { display: inline-flex; gap: 10px; align-items: center; padding-bottom: 8px; border-bottom: 2px solid currentColor; font-weight: 800; }
.text-link span { transition: transform .25s; }.text-link:hover span { transform: translateX(6px); }
.image-strip { position: relative; display: grid; grid-template-columns: 1.15fr .8fr 1fr; gap: 18px; margin-top: 90px; align-items: center; }
.image-card { margin: 0; overflow: hidden; border-radius: 140px 140px 24px 24px; aspect-ratio: 4/3; background: #ddd; }
.image-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2,.8,.2,1); }
.image-card:hover img { transform: scale(1.08); }
.image-two { transform: translateY(42px); border-radius: 24px 24px 130px 130px; }.image-three { border-radius: 50%; aspect-ratio: 1; }
.image-note { position: absolute; left: 45%; bottom: -14px; display: flex; gap: 9px; align-items: center; padding: 12px 17px; border: 2px solid var(--qb-ink); background: var(--qb-yellow); box-shadow: 5px 5px 0 var(--qb-ink); font-weight: 800; transform: rotate(-3deg); }
.image-note > span { color: var(--qb-pink); }

.gatherings { background: var(--qb-ink); color: white; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 60px; }
.outline-button { display: inline-flex; align-items: center; gap: 10px; padding: 13px 18px; border: 1px solid rgba(255,255,255,.45); border-radius: 999px; font-weight: 800; transition: .25s; }
.outline-button:hover { background: white; color: var(--qb-ink); }
.event-feature { display: grid; grid-template-columns: auto 1fr auto auto; align-items: center; gap: clamp(20px, 4vw, 60px); padding: 28px 0; border-top: 1px solid rgba(255,255,255,.25); border-bottom: 1px solid rgba(255,255,255,.25); }
.date-block { display: flex; align-items: center; gap: 12px; }.date-block strong { font-size: 72px; line-height: 1; letter-spacing: -.07em; color: var(--qb-lime); }.date-block span { font-size: 12px; font-weight: 800; line-height: 1.25; }
.event-label { color: var(--qb-pink); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .14em; }.event-copy h3 { margin: 5px 0 8px; font-size: clamp(24px, 3vw, 42px); letter-spacing: -.04em; }.event-copy p { display: flex; align-items: center; gap: 7px; margin: 0; color: rgba(255,255,255,.64); }
.event-time { text-align: right; }.event-time span { display: block; color: rgba(255,255,255,.6); font-size: 13px; }.event-time strong { font-size: 25px; }
.event-arrow { width: 56px; height: 56px; border: 1px solid rgba(255,255,255,.4); border-radius: 50%; display: grid; place-items: center; font-size: 25px; transition: .25s; }.event-arrow:hover { background: var(--qb-pink); border-color: var(--qb-pink); transform: rotate(-12deg); }
.empty-event { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 28px; align-items: center; padding: 28px 0; border-top: 1px solid rgba(255,255,255,.25); border-bottom: 1px solid rgba(255,255,255,.25); }.empty-event strong, .empty-event > div > span { display: block; }.empty-event > div > span { max-width: 720px; margin-top: 7px; color: rgba(255,255,255,.6); line-height: 1.5; }.empty-event-links { display: flex; flex-wrap: wrap; gap: 9px; }.empty-event-links a { display: inline-flex; align-items: center; gap: 10px; padding: 11px 15px; border: 1px solid rgba(255,255,255,.32); border-radius: 999px; font-size: 13px; font-weight: 800; transition: background .25s ease, border-color .25s ease, color .25s ease, transform .25s ease; }.empty-event-links a:hover { border-color: var(--qb-lime); background: var(--qb-lime); color: var(--qb-ink); transform: translateY(-2px); }.empty-event-links span { color: inherit; font-size: 17px; }
.gathering-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 54px; }
.gathering-card { min-height: 320px; padding: 28px; border-radius: 20px; color: var(--qb-ink); display: flex; flex-direction: column; transition: transform .3s ease; }.gathering-card:hover { transform: translateY(-8px) rotate(-1deg); }
.gathering-card.pink { background: var(--qb-pink); }.gathering-card.yellow { background: var(--qb-yellow); }.gathering-card.blue { background: var(--qb-blue); }
.card-icon { font-size: 28px; }.gathering-card h3 { margin: auto 0 12px; max-width: 250px; font-size: 31px; line-height: 1; letter-spacing: -.045em; }.gathering-card p { margin: 0 0 28px; opacity: .75; }.gathering-card .card-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 15px; border-top: 1px solid rgba(34,21,43,.3); font-size: 13px; font-weight: 800; }

.values { display: grid; grid-template-columns: .75fr 1.25fr; gap: 9vw; align-items: start; }.values-title { position: sticky; top: 70px; }.values-title > p:last-child { max-width: 270px; margin-top: 25px; line-height: 1.5; }
.value-item { position: relative; display: grid; grid-template-columns: 50px 1fr auto; gap: 20px; padding: 42px 0; border-top: 1px solid var(--qb-line); overflow: hidden; }.value-item:last-child { border-bottom: 1px solid var(--qb-line); }
.value-item::before { content: ''; position: absolute; width: 8px; height: 8px; left: 14px; top: 61px; border-radius: 50%; background: var(--qb-pink); transition: transform .35s ease; }.value-item:hover::before { transform: scale(7); opacity: .18; }.value-item.blue::before { background: #1eaadd; }.value-item.lime::before { background: #6f9b0b; }.value-item.yellow::before { background: #c78b00; }
.value-item > span { padding-top: 16px; text-align: center; font-size: 11px; font-weight: 800; }.value-item h3 { margin: 0 0 12px; font-size: clamp(32px, 4vw, 58px); letter-spacing: -.05em; }.value-item p { max-width: 560px; margin: 0; line-height: 1.6; color: rgba(34,21,43,.68); }.value-item > b { margin-top: 15px; font-size: 24px; transition: transform .3s; }.value-item:hover > b { transform: rotate(-45deg); }

.cta-section { position: relative; overflow: hidden; padding: clamp(100px, 14vw, 190px) 22px; background: var(--qb-pink); color: white; text-align: center; }.cta-section::before, .cta-section::after { content: ''; position: absolute; width: 540px; height: 540px; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; }.cta-section::before { left: -240px; top: -180px; }.cta-section::after { right: -220px; bottom: -330px; }
.cta-section h2 { position: relative; font-size: clamp(64px, 10vw, 150px); }.cta-section h2 em { font-family: Georgia, serif; font-weight: 400; color: var(--qb-yellow); }.cta-section > p:not(.section-kicker) { position: relative; max-width: 530px; margin: 32px auto; font-size: 18px; line-height: 1.55; }.cta-actions { position: relative; display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; }.primary-button, .social-button { display: inline-flex; align-items: center; gap: 10px; padding: 16px 22px; border-radius: 999px; font-weight: 800; transition: transform .25s; }.primary-button { background: var(--qb-ink); color: white; }.social-button { border: 1px solid rgba(255,255,255,.7); }.primary-button:hover, .social-button:hover { transform: translateY(-3px); }.cta-spark { position: absolute; left: 14%; top: 24%; font-size: 54px; color: var(--qb-yellow); animation: qb-spin 10s linear infinite; }

.site-footer { position: relative; overflow: hidden; background: #1c1024; color: white; }.site-footer::before { content: ''; position: absolute; right: -180px; top: 80px; width: 500px; height: 500px; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; box-shadow: 0 0 0 70px rgba(255,255,255,.018), 0 0 0 140px rgba(255,255,255,.012); pointer-events: none; }.footer-rainbow { display: grid; grid-template-columns: repeat(7, 1fr); height: 8px; }.footer-rainbow span:nth-child(1) { background: #f24458; }.footer-rainbow span:nth-child(2) { background: #ff8a45; }.footer-rainbow span:nth-child(3) { background: var(--qb-yellow); }.footer-rainbow span:nth-child(4) { background: var(--qb-lime); }.footer-rainbow span:nth-child(5) { background: #55d6b4; }.footer-rainbow span:nth-child(6) { background: var(--qb-blue); }.footer-rainbow span:nth-child(7) { background: #b985ef; }
.footer-inner { position: relative; z-index: 1; width: min(1240px, calc(100% - 44px)); margin: 0 auto; padding: clamp(60px, 8vw, 105px) 0 26px; }.footer-main { display: grid; grid-template-columns: minmax(300px, 1.3fr) minmax(180px, .55fr) minmax(260px, .8fr); gap: clamp(40px, 7vw, 105px); align-items: start; padding-bottom: clamp(54px, 7vw, 86px); }.footer-brand { max-width: 520px; }.footer-logo { position: relative; display: inline-block; margin: -12px 0 36px -14px; padding: 12px 14px; border-radius: 18px; background: radial-gradient(ellipse at center, rgba(255,255,255,.1), rgba(255,255,255,0) 72%); }.footer-logo img { display: block; width: 255px; max-height: 78px; object-fit: contain; object-position: left center; filter: drop-shadow(1px 0 0 rgba(255,255,255,.92)) drop-shadow(-1px 0 0 rgba(255,255,255,.92)) drop-shadow(0 1px 0 rgba(255,255,255,.92)) drop-shadow(0 -1px 0 rgba(255,255,255,.92)) drop-shadow(0 5px 14px rgba(0,0,0,.35)); transition: transform .3s ease, filter .3s ease; }.footer-logo:hover img { filter: drop-shadow(1px 0 0 white) drop-shadow(-1px 0 0 white) drop-shadow(0 1px 0 white) drop-shadow(0 -1px 0 white) drop-shadow(0 7px 18px rgba(0,0,0,.42)); transform: translateY(-3px); }.footer-kicker, .footer-heading { margin: 0 0 18px; color: var(--qb-lime); font-size: 11px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }.footer-brand h2 { margin: 0; color: white; font-size: clamp(46px, 6vw, 82px); line-height: .92; letter-spacing: -.06em; }.footer-copy { max-width: 450px; margin: 24px 0 0; color: rgba(255,255,255,.6); font-size: 16px; line-height: 1.65; }
.footer-column { display: flex; flex-direction: column; align-items: stretch; }.footer-column > a { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: center; min-height: 53px; padding: 13px 0; border-bottom: 1px solid rgba(255,255,255,.14); color: rgba(255,255,255,.78); font-size: 15px; font-weight: 700; transition: color .25s ease, padding .25s ease; }.footer-column > a:first-of-type { border-top: 1px solid rgba(255,255,255,.14); }.footer-column > a span { color: var(--qb-lime); font-size: 18px; transition: transform .25s ease; }.footer-column > a:hover { padding-left: 6px; color: white; }.footer-column > a:hover span { transform: rotate(45deg); }.footer-contact > a { position: relative; display: flex; min-height: 85px; flex-direction: column; justify-content: center; padding-right: 30px; overflow-wrap: anywhere; }.footer-contact > a small { margin-bottom: 5px; color: rgba(255,255,255,.42); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }.footer-contact > a span { position: absolute; right: 0; top: 50%; transform: translateY(-50%); }.footer-contact > a:hover span { transform: translateY(-50%) rotate(45deg); }
.footer-bottom { display: grid; grid-template-columns: 1fr auto auto; gap: 28px; align-items: center; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.14); font-size: 12px; }.footer-bottom > p { margin: 0; color: rgba(255,255,255,.45); }.footer-bottom nav { justify-self: end; }.footer-menu { gap: 22px; }.footer-menu a { color: rgba(255,255,255,.58); transition: color .2s ease; }.footer-menu a:hover { color: white; }.footer-top { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; color: var(--qb-lime); font-size: 20px; transition: color .25s ease, background .25s ease, transform .25s ease; }.footer-top:hover { background: var(--qb-lime); color: var(--qb-ink); transform: translateY(-3px); }
.js .footer-brand, .js .footer-column { opacity: 0; transform: translateY(24px); }.js .footer-brand.is-visible, .js .footer-column.is-visible { opacity: 1; transform: none; transition: opacity .65s ease, transform .65s cubic-bezier(.2,.8,.2,1); }.js .footer-column:nth-child(2).is-visible { transition-delay: .08s; }.js .footer-column:nth-child(3).is-visible { transition-delay: .16s; }

.page-main { background: var(--qb-paper); }
.page-hero { position: relative; min-height: 410px; overflow: hidden; padding: clamp(90px, 10vw, 145px) 22px 105px; background: var(--qb-ink); color: white; }
.page-hero::after { content: ''; position: absolute; width: 420px; height: 420px; right: -150px; bottom: -290px; border: 1px solid rgba(255,255,255,.17); border-radius: 50%; box-shadow: 0 0 0 55px rgba(255,255,255,.025), 0 0 0 110px rgba(255,255,255,.018); }
.page-hero-inner { position: relative; z-index: 2; width: min(1160px, 100%); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 40px; align-items: center; }
.page-hero-copy { max-width: 900px; }
.page-breadcrumb { display: flex; align-items: center; gap: 10px; margin: 0 0 28px; color: rgba(255,255,255,.58); font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.page-breadcrumb a { color: var(--qb-lime); }
.page-breadcrumb a:hover { color: white; }
.page-hero h1 { margin: 0; max-width: 950px; color: white; font-size: clamp(56px, 8vw, 112px); line-height: .9; letter-spacing: -.065em; }
.page-intro { max-width: 640px; margin: 28px 0 0; color: rgba(255,255,255,.72); font-size: 18px; line-height: 1.6; }
.page-hero-art { position: relative; width: 230px; height: 230px; justify-self: end; animation: qb-float 5s ease-in-out infinite; }
.art-ring { position: absolute; inset: 12px; border-radius: 50%; background: conic-gradient(from -28deg, #f24458 0 14.28%, #ff8a45 14.28% 28.56%, #ffd969 28.56% 42.84%, #c8ef69 42.84% 57.12%, #55d6b4 57.12% 71.4%, #72d8ff 71.4% 85.68%, #b985ef 85.68% 100%); -webkit-mask: radial-gradient(farthest-side, transparent 68%, #000 69%); mask: radial-gradient(farthest-side, transparent 68%, #000 69%); filter: drop-shadow(0 12px 24px rgba(11,5,18,.2)); transform: rotate(-18deg); animation: qb-rainbow-sway 7s ease-in-out infinite alternate; }
.art-star { position: absolute; left: 0; top: 0; color: var(--qb-lime); font-size: 54px; animation: qb-spin 11s linear infinite; }
.art-dot { position: absolute; right: 4px; bottom: 10px; width: 46px; height: 46px; border-radius: 50%; background: var(--qb-yellow); }
.page-body { position: relative; z-index: 4; width: min(1160px, calc(100% - 44px)); margin: -48px auto 0; padding-bottom: clamp(90px, 10vw, 150px); }
.page-feature-image { max-height: 560px; overflow: hidden; margin: 0 24px -60px; border-radius: 28px; box-shadow: 0 22px 70px rgba(34,21,43,.2); }
.page-feature-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.page-feature-image + .page-entry { padding-top: 110px; }
.page-entry { max-width: none; padding: clamp(38px, 6vw, 78px); border: 1px solid rgba(34,21,43,.08); border-radius: 34px; background: var(--qb-white); box-shadow: 0 28px 80px rgba(34,21,43,.08); }
.entry-content { font-size: 18px; line-height: 1.75; }.entry-content > * { max-width: 780px; margin-left: auto; margin-right: auto; }.entry-content > .alignwide { max-width: 1080px; }.entry-content > .alignfull { max-width: none; width: 100vw; margin-left: calc(50% - 50vw); }.entry-content a { color: #b31d69; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }.entry-content h2 { margin-top: 1.75em; margin-bottom: .7em; font-size: clamp(32px, 4.5vw, 54px); line-height: 1.02; letter-spacing: -.045em; }.entry-content h2:first-child { margin-top: 0; }.entry-content h3 { margin-top: 1.7em; font-size: 28px; }.entry-content p { margin-top: 0; margin-bottom: 1.35em; }.entry-content ul, .entry-content ol { padding-left: 1.3em; }.entry-content li + li { margin-top: .45em; }.entry-content blockquote { padding: 20px 30px; border-left: 5px solid var(--qb-pink); background: rgba(242,68,150,.08); }.entry-content iframe { max-width: 100%; }.entry-content .wp-block-button__link { display: inline-flex; padding: 14px 21px; border-radius: 999px; background: var(--qb-ink); color: white; text-decoration: none; font-weight: 800; }

.page-slug-das-team .page-hero { background: #291735; }
.team-intro { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 22px; align-items: center; margin-bottom: 22px; padding: 26px 30px; border: 1px solid rgba(34,21,43,.08); border-radius: 24px; background: var(--qb-yellow); box-shadow: 0 18px 45px rgba(34,21,43,.08); }
.team-intro-mark { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 50%; background: var(--qb-ink); color: var(--qb-lime); font-size: 26px; animation: qb-spin 12s linear infinite; }
.team-intro p { max-width: 760px; margin: 0; font-size: clamp(17px, 2vw, 21px); line-height: 1.5; font-weight: 700; }
.page-slug-das-team .page-entry { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; padding: clamp(30px, 5vw, 66px); background: rgba(255,253,248,.96); }
.page-slug-das-team .page-entry > * { max-width: none; margin-left: 0; margin-right: 0; }
.page-slug-das-team .page-entry > .wp-block-spacer { display: none; }
.page-slug-das-team .page-entry > h2 { grid-column: 1 / -1; margin: 44px 0 6px; padding-top: 34px; border-top: 1px solid var(--qb-line); text-align: left !important; font-size: clamp(36px, 5vw, 64px); }
.page-slug-das-team .page-entry > h2:first-of-type { margin-top: 0; padding-top: 0; border-top: 0; }
.page-slug-das-team .wp-block-media-text { position: relative; min-height: 255px; display: grid !important; grid-template-columns: 155px minmax(0, 1fr) !important; align-items: stretch; overflow: hidden; margin: 0; border: 1px solid rgba(34,21,43,.09); border-radius: 26px; background: var(--qb-paper); box-shadow: 0 14px 38px rgba(34,21,43,.07); transition: opacity .55s ease, transform .55s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease; }
.js .page-slug-das-team .wp-block-media-text { opacity: 0; transform: translateY(28px); }.js .page-slug-das-team .wp-block-media-text.is-visible { opacity: 1; transform: none; }
.page-slug-das-team .wp-block-media-text:hover { transform: translateY(-6px); box-shadow: 0 24px 50px rgba(34,21,43,.13); }
.page-slug-das-team .wp-block-media-text::after { content: ''; position: absolute; left: 155px; right: 0; top: 0; height: 5px; background: var(--qb-pink); }
.page-slug-das-team .wp-block-media-text:nth-of-type(4n+2)::after { background: var(--qb-blue); }.page-slug-das-team .wp-block-media-text:nth-of-type(4n+3)::after { background: var(--qb-lime); }.page-slug-das-team .wp-block-media-text:nth-of-type(4n+4)::after { background: var(--qb-yellow); }
.page-slug-das-team .wp-block-media-text__media, .page-slug-das-team .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media { grid-column: 1; grid-row: 1; width: 100%; height: 100%; overflow: hidden; margin: 0; background: #d8d8d4; }
.page-slug-das-team .wp-block-media-text__media img { display: block; width: 100%; height: 100%; min-height: 255px; object-fit: cover; object-position: center 42%; filter: saturate(.92); transform: scale(1.22); transform-origin: center 42%; transition: transform .6s cubic-bezier(.2,.8,.2,1), filter .3s ease; }
.page-slug-das-team .wp-block-media-text:hover .wp-block-media-text__media img { transform: scale(1.27); filter: saturate(1.08); }
.page-slug-das-team .team-youth-card .wp-block-media-text__media img { object-position: center 38%; transform: scale(1.04); }.page-slug-das-team .team-youth-card:hover .wp-block-media-text__media img { transform: scale(1.09); }
.page-slug-das-team .wp-block-media-text__content, .page-slug-das-team .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content { grid-column: 2; grid-row: 1; align-self: center; padding: 34px 28px !important; }
.page-slug-das-team .wp-block-media-text__content p { max-width: none; margin: 0; color: rgba(34,21,43,.72); text-align: left !important; font-size: 14px; line-height: 1.55; overflow-wrap: anywhere; }
.page-slug-das-team .wp-block-media-text__content strong:first-child { display: inline-block; margin-bottom: 8px; color: var(--qb-ink); font-size: clamp(22px, 2.2vw, 29px); line-height: 1.05; letter-spacing: -.035em; }
.page-slug-das-team .wp-block-media-text__content a { display: inline-flex; margin-top: 10px; padding: 7px 10px; border-radius: 9px; background: rgba(242,68,150,.1); color: #9e175a; font-size: 12px; font-weight: 800; text-decoration: none; }
.page-slug-das-team .wp-block-media-text__content a:hover { background: var(--qb-pink); color: white; }

.meeting-intro { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: hidden; margin-bottom: 22px; border: 1px solid rgba(34,21,43,.08); border-radius: 26px; background: var(--qb-ink); color: white; box-shadow: 0 18px 48px rgba(34,21,43,.14); }
.meeting-fact { position: relative; min-height: 120px; padding: 26px 28px; border-right: 1px solid rgba(255,255,255,.13); }
.meeting-fact:last-child { border-right: 0; }.meeting-fact::before { content: ''; position: absolute; left: 28px; top: 0; width: 42px; height: 5px; background: var(--qb-pink); }.meeting-fact:nth-child(2)::before { background: var(--qb-blue); }.meeting-fact:nth-child(3)::before { background: var(--qb-lime); }
.meeting-fact span { display: block; margin-bottom: 9px; color: rgba(255,255,255,.54); font-size: 10px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }.meeting-fact strong { display: block; font-size: clamp(19px, 2vw, 27px); line-height: 1.12; letter-spacing: -.03em; }
.js .meeting-fact { opacity: 0; transform: translateY(20px); }.js .meeting-fact.is-visible { opacity: 1; transform: none; transition: opacity .5s ease, transform .5s cubic-bezier(.2,.8,.2,1); }

.meeting-overview .page-hero { background: #21122c; }.meeting-overview .page-entry { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; padding: clamp(28px, 4vw, 54px); }
.meeting-overview .page-entry > * { max-width: none; margin: 0; }
.meeting-overview .wp-block-media-text { position: relative; min-height: 470px; display: flex !important; flex-direction: column; overflow: hidden; border: 0; border-radius: 26px; background: var(--qb-pink); color: var(--qb-ink); box-shadow: 0 14px 36px rgba(34,21,43,.1); transition: transform .35s ease, box-shadow .35s ease; }
.meeting-overview .wp-block-media-text:nth-child(2) { background: var(--qb-yellow); }.meeting-overview .wp-block-media-text:nth-child(3) { background: var(--qb-blue); }
.js .meeting-overview .wp-block-media-text { opacity: 0; transform: translateY(28px); }.js .meeting-overview .wp-block-media-text.is-visible { opacity: 1; transform: none; transition: opacity .55s ease, transform .55s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease; }
.meeting-overview .wp-block-media-text:hover { transform: translateY(-8px) rotate(-.5deg); box-shadow: 0 25px 55px rgba(34,21,43,.18); }
.meeting-overview .wp-block-media-text__media, .meeting-overview .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media { order: 1; width: 100%; height: 250px; overflow: hidden; margin: 0; background: rgba(255,255,255,.25); }
.meeting-overview .wp-block-media-text__media a { display: block; width: 100%; height: 100%; }.meeting-overview .wp-block-media-text__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .65s cubic-bezier(.2,.8,.2,1); }.meeting-overview .wp-block-media-text:hover img { transform: scale(1.06); }
.meeting-overview .wp-block-media-text__content, .meeting-overview .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content { order: 2; width: 100%; display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: 28px !important; text-align: left; }
.meeting-overview .wp-block-media-text__content p { margin: 0 0 22px; text-align: left !important; font-size: clamp(25px, 2.8vw, 36px) !important; line-height: 1; letter-spacing: -.045em; }.meeting-overview .wp-block-buttons { margin-top: auto; }.meeting-overview .wp-block-button__link { background: var(--qb-ink); color: white; }

.meeting-detail .page-hero { background: #261632; }.meeting-detail .page-entry { padding: clamp(28px, 5vw, 66px); }.meeting-detail .page-entry > * { max-width: 900px; }
.meeting-detail .page-entry > .wp-block-image:first-child { max-width: none; overflow: hidden; margin-top: 0; margin-bottom: 34px; border-radius: 26px; box-shadow: none; aspect-ratio: 16 / 7; }
.meeting-detail .page-entry > .wp-block-image:first-child img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }.meeting-detail .page-entry > .wp-block-image:first-child:hover img { transform: scale(1.025); }
.meeting-detail .wp-block-spacer { display: none; }.meeting-detail .wp-block-pullquote, .meeting-detail .wp-block-quote { margin-top: 24px !important; margin-bottom: 28px !important; padding: clamp(26px, 4vw, 44px) !important; border: 0; border-radius: 22px; background: rgba(242,68,150,.1) !important; text-align: left; }
.meeting-detail .wp-block-pullquote blockquote { margin: 0; }.meeting-detail .wp-block-pullquote p, .meeting-detail .wp-block-quote p { margin: 0; text-align: left !important; font-size: clamp(19px, 2.3vw, 25px); line-height: 1.5; }
.meeting-detail .wp-block-code { max-width: 900px; white-space: pre-wrap; margin: 0 auto 28px; padding: 26px 28px; border: 1px solid rgba(189,117,0,.25); border-left: 7px solid var(--qb-yellow); border-radius: 16px; background: #fff5d5; color: var(--qb-ink) !important; font-family: inherit; font-size: 15px; line-height: 1.6; }
.meeting-detail .page-entry iframe { display: block; width: 100%; margin: 28px 0; border-radius: 22px; box-shadow: 0 18px 45px rgba(34,21,43,.12); }.meeting-detail .page-entry > iframe { max-width: 900px; margin-left: auto; margin-right: auto; }
.meeting-detail .pgc-sgb-cb { max-width: 900px; margin-top: 42px; overflow: hidden; border-radius: 20px; }.meeting-detail .wp-block-buttons { margin-top: 36px; }.meeting-detail .wp-block-button__link { background: var(--qb-ink); color: white; }

.page-slug-kontakt .page-hero { background: #281531; }.page-slug-kontakt .page-body { width: min(1180px, calc(100% - 44px)); }
.contact-layout { display: grid; grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr); gap: 22px; align-items: start; }
.contact-panel { position: sticky; top: 104px; overflow: hidden; padding: clamp(34px, 5vw, 58px); border-radius: 30px; background: var(--qb-pink); color: white; box-shadow: 0 25px 70px rgba(34,21,43,.14); }
.contact-panel::after { content: ''; position: absolute; width: 250px; height: 250px; right: -130px; bottom: -140px; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; box-shadow: 0 0 0 40px rgba(255,255,255,.055), 0 0 0 80px rgba(255,255,255,.035); }
.contact-panel .section-kicker { position: relative; z-index: 1; color: rgba(255,255,255,.7); }.contact-panel .section-kicker::before { background: var(--qb-yellow); }.contact-panel h2 { position: relative; z-index: 1; margin: 0; font-size: clamp(45px, 5.3vw, 75px); line-height: .91; letter-spacing: -.06em; }.contact-panel > p { position: relative; z-index: 1; margin: 25px 0 34px; color: rgba(255,255,255,.82); font-size: 17px; line-height: 1.6; }
.contact-options { position: relative; z-index: 1; display: grid; gap: 10px; }.contact-option { display: grid; grid-template-columns: 42px 1fr auto; gap: 13px; align-items: center; min-width: 0; padding: 14px; border: 1px solid rgba(255,255,255,.32); border-radius: 14px; background: rgba(34,21,43,.09); transition: background .25s ease, transform .25s ease; }.contact-option:hover { background: var(--qb-ink); transform: translateX(5px); }.contact-option-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: white; color: var(--qb-ink); font-weight: 900; }.contact-option-copy { min-width: 0; }.contact-option-copy small { display: block; margin-bottom: 2px; color: rgba(255,255,255,.65); font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }.contact-option-copy strong { display: block; overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }.contact-option-arrow { font-size: 20px; }
.contact-form-card { margin: 0; padding: clamp(32px, 5vw, 60px); border-radius: 30px; }.contact-form-card::before { content: 'Deine Nachricht'; display: block; margin-bottom: 12px; color: var(--qb-ink); font-size: clamp(34px, 4.5vw, 58px); line-height: 1; letter-spacing: -.05em; font-weight: 800; }
.contact-form-card .happyforms-form { max-width: none; padding: 0 !important; background: transparent !important; }.contact-form-card .happyforms-flex { margin: 0 !important; }.contact-form-card .happyforms-form__part { width: 100% !important; padding: 0 0 22px !important; }
.contact-form-card .happyforms-part--placeholder { margin-bottom: 12px; padding: 0 0 18px !important; border-bottom: 1px solid var(--qb-line); color: rgba(34,21,43,.65); }.contact-form-card .happyforms-part--placeholder p { margin: 0; font-size: 16px; line-height: 1.6; }
.contact-form-card .happyforms-part__label { display: block; margin-bottom: 7px; color: var(--qb-ink) !important; font-size: 14px !important; font-weight: 800; }.contact-form-card .happyforms-part__description { display: block; margin: -3px 0 9px; color: rgba(34,21,43,.55) !important; font-size: 12px !important; line-height: 1.4; }
.contact-form-card .happyforms-input input, .contact-form-card .happyforms-part input:not([type='hidden']), .contact-form-card .happyforms-part textarea, .contact-form-card .happyforms-part select { width: 100%; min-height: 56px; padding: 14px 16px !important; border: 1px solid rgba(34,21,43,.17) !important; border-radius: 12px !important; outline: 0; background: var(--qb-paper) !important; color: var(--qb-ink) !important; box-shadow: none !important; transition: border-color .2s ease, box-shadow .2s ease, background .2s ease; }.contact-form-card .happyforms-part textarea { min-height: 170px; resize: vertical; }.contact-form-card .happyforms-input input:focus, .contact-form-card .happyforms-part input:not([type='hidden']):focus, .contact-form-card .happyforms-part textarea:focus, .contact-form-card .happyforms-part select:focus { border-color: var(--qb-pink) !important; background: white !important; box-shadow: 0 0 0 4px rgba(242,68,150,.12) !important; }
.contact-form-card .happyforms-part--submit { padding-bottom: 0 !important; }.contact-form-card .happyforms-submit { min-height: 54px; padding: 15px 26px !important; border: 0 !important; border-radius: 999px !important; background: var(--qb-ink) !important; color: white !important; font-weight: 800 !important; cursor: pointer; transition: transform .25s ease, background .25s ease; }.contact-form-card .happyforms-submit:hover { background: var(--qb-pink) !important; transform: translateY(-3px); }

.news-intro, .calendar-intro, .gallery-intro, .partner-intro, .press-intro, .archive-intro { position: relative; overflow: hidden; display: grid; grid-template-columns: auto 1fr; gap: 22px; align-items: center; margin-bottom: 22px; padding: 27px 30px; border-radius: 24px; background: var(--qb-lime); color: var(--qb-ink); box-shadow: 0 18px 46px rgba(34,21,43,.09); }.news-intro::after, .calendar-intro::after, .gallery-intro::after, .partner-intro::after, .press-intro::after, .archive-intro::after { content: ''; position: absolute; right: -50px; width: 150px; height: 150px; border: 1px solid rgba(34,21,43,.18); border-radius: 50%; }.news-intro-icon, .calendar-intro-icon, .gallery-intro-icon, .partner-intro-icon, .press-intro-icon, .archive-intro-icon { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 50%; background: var(--qb-ink); color: white; font-size: 25px; font-weight: 800; }.news-intro p, .calendar-intro p, .gallery-intro p, .partner-intro p, .press-intro p, .archive-intro p { position: relative; z-index: 1; max-width: 780px; margin: 0; font-size: clamp(17px, 2vw, 21px); line-height: 1.5; font-weight: 700; }
.calendar-intro { background: var(--qb-blue); }.gallery-intro { background: var(--qb-yellow); }.partner-intro { background: var(--qb-lime); }.press-intro { background: var(--qb-pink); color: white; }.press-intro .press-intro-icon { background: white; color: var(--qb-ink); }.press-intro::after { border-color: rgba(255,255,255,.35); }.js .news-intro, .js .calendar-intro, .js .gallery-intro, .js .partner-intro, .js .press-intro { opacity: 0; transform: translateY(20px); }.js .news-intro.is-visible, .js .calendar-intro.is-visible, .js .gallery-intro.is-visible, .js .partner-intro.is-visible, .js .press-intro.is-visible { opacity: 1; transform: none; transition: opacity .55s ease, transform .55s cubic-bezier(.2,.8,.2,1); }

.page-slug-news .page-hero { background: #281531; }.page-slug-news .page-entry { padding: clamp(30px, 5vw, 64px); }.page-slug-news .page-entry > * { max-width: none; }.page-slug-news .page-entry > h2 { margin: 0 0 34px; text-align: left !important; font-size: clamp(38px, 5vw, 65px); }.page-slug-news .wp-block-separator { margin: 38px 0 !important; border: 0; border-top: 1px solid var(--qb-line); }
.page-slug-news .page-entry > .wp-block-columns { margin-bottom: 0; }.page-slug-news .page-entry .wp-block-columns { gap: 18px; }.page-slug-news .page-entry .wp-block-image figure { overflow: hidden; border-radius: 20px; }.page-slug-news .page-entry .wp-block-image img { display: block; width: 100%; transition: transform .6s ease; }.page-slug-news .page-entry .wp-block-image:hover img { transform: scale(1.02); }
.page-slug-news .wp-block-file { min-height: 150px; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; margin: 0; padding: 26px; border-radius: 20px; background: var(--qb-paper); box-shadow: inset 0 5px 0 var(--qb-pink); }.page-slug-news .wp-block-file:nth-child(even) { box-shadow: inset 0 5px 0 var(--qb-blue); }.page-slug-news .wp-block-file > a:not(.wp-block-file__button) { margin-bottom: 18px; color: var(--qb-ink); font-size: 20px; font-weight: 800; text-decoration: none; }.page-slug-news .wp-block-file__button { margin: 0 !important; padding: 11px 16px; border-radius: 999px; background: var(--qb-ink); color: white; font-size: 12px; font-weight: 800; text-decoration: none; transition: transform .25s ease; }.page-slug-news .wp-block-file__button:hover { transform: translateY(-2px); }
.page-slug-news .page-entry > .wp-block-group { max-width: none; display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 40px 0 !important; padding: 34px !important; border: 0 !important; border-radius: 25px !important; background: var(--qb-ink) !important; color: white; }.page-slug-news .page-entry > .wp-block-group > h2 { grid-column: 1 / -1; margin: 0 0 12px; padding: 0 !important; text-align: left !important; color: white; font-size: clamp(30px, 4vw, 50px); }.page-slug-news .page-entry > .wp-block-group > p { display: none; }
.page-slug-news .page-entry > .wp-block-group > .wp-block-media-text { min-height: 170px; display: flex !important; flex-direction: column; align-items: flex-start; justify-content: space-between; margin: 0 !important; padding: 22px !important; border-radius: 18px !important; background: rgba(255,255,255,.08); transition: background .25s ease, transform .25s ease; }.page-slug-news .page-entry > .wp-block-group > .wp-block-media-text:hover { background: rgba(255,255,255,.14); transform: translateY(-4px); }.page-slug-news .wp-block-group .wp-block-media-text__media { order: 1; width: 54px; height: 54px; margin: 0 0 24px; }.page-slug-news .wp-block-group .wp-block-media-text__media img { width: 54px; height: 54px; object-fit: contain; }.page-slug-news .wp-block-group .wp-block-media-text__content { order: 2; width: 100%; padding: 0 !important; }.page-slug-news .wp-block-group .wp-block-buttons { justify-content: flex-start !important; }.page-slug-news .wp-block-group .wp-block-button__link { padding: 11px 15px; border: 1px solid rgba(255,255,255,.35); border-radius: 999px; background: transparent; color: white; }
.page-slug-news .wp-block-cover { max-width: none; min-height: 300px !important; overflow: hidden; border-radius: 24px !important; }.page-slug-news .wp-block-cover__background { background: linear-gradient(90deg, rgba(34,21,43,.9), rgba(34,21,43,.25)) !important; opacity: 1 !important; }.page-slug-news .wp-block-cover__inner-container { max-width: 720px; padding: 38px; }.page-slug-news .wp-block-cover p { color: white; text-align: left !important; font-size: clamp(26px, 4vw, 46px) !important; font-weight: 800; line-height: 1.05; }.page-slug-news .wp-block-cover .wp-block-buttons { justify-content: flex-start !important; }.page-slug-news .wp-block-cover .wp-block-button__link { background: var(--qb-pink); color: white; }
.social-hub { position: relative; display: grid; grid-template-columns: minmax(220px, .8fr) minmax(0, 1.2fr); gap: 18px; align-items: stretch; margin: 0 0 22px; padding: 26px; overflow: hidden; border-radius: 25px; background: var(--qb-ink); color: white; box-shadow: 0 20px 55px rgba(34,21,43,.14); }.social-hub::after { content: ''; position: absolute; right: -95px; bottom: -120px; width: 250px; height: 250px; border: 34px solid rgba(114,216,255,.055); border-radius: 50%; pointer-events: none; }.social-hub-copy { position: relative; z-index: 1; align-self: center; padding: 8px 10px; }.social-hub-copy .section-kicker { margin-bottom: 15px; color: var(--qb-lime); }.social-hub-copy h2 { margin: 0 0 13px; color: white; font-size: clamp(31px, 4vw, 48px); line-height: .96; letter-spacing: -.045em; }.social-hub-copy p:last-child { max-width: 430px; margin: 0; color: rgba(255,255,255,.62); font-size: 14px; line-height: 1.55; }.social-hub-links { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }.social-card { min-width: 0; min-height: 180px; display: flex; flex-direction: column; justify-content: space-between; padding: 20px; overflow: hidden; border: 1px solid rgba(255,255,255,.16); border-radius: 18px; background: rgba(255,255,255,.075); transition: transform .3s ease, background .3s ease, border-color .3s ease; }.social-card:hover { border-color: rgba(255,255,255,.36); background: rgba(255,255,255,.12); transform: translateY(-4px); }.social-card-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: var(--qb-pink); color: white; font-family: Arial, sans-serif; font-size: 23px; font-weight: 900; }.social-card.facebook .social-card-icon { background: #1877f2; }.social-card-copy small { display: block; margin-bottom: 5px; color: rgba(255,255,255,.5); font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }.social-card-copy strong { display: flex; justify-content: space-between; gap: 12px; color: white; font-size: 20px; line-height: 1.1; }.social-card-copy strong span { color: var(--qb-lime); font-size: 21px; transition: transform .25s ease; }.social-card:hover strong span { transform: rotate(45deg); }

/* DSGVO All in One / tarteaucitron: theme-matched consent surface. */
.dsdvo-cookie-notice.style3 #tarteaucitronAlertBig { position: fixed !important; inset: 0 !important; width: 100% !important; max-width: none !important; height: 100vh !important; height: 100dvh !important; margin: 0 !important; padding: 18px !important; overflow: hidden !important; border: 0 !important; background: transparent !important; color: white !important; box-shadow: none !important; transform: none !important; }
.dsdvo-cookie-notice.style3 #tarteaucitronAlertBig #tarinner { position: relative; top: 50%; width: min(1180px, 100%); max-height: calc(100dvh - 36px); display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px 26px; align-items: center; margin: 0 auto !important; padding: 24px 26px !important; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; border: 1px solid rgba(255,255,255,.3) !important; border-radius: 24px !important; background: linear-gradient(120deg, rgba(255,255,255,.1), rgba(255,255,255,.035) 46%, rgba(255,255,255,.07)), rgba(30,16,39,.96) !important; color: white !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.3), 0 22px 65px rgba(12,5,18,.35) !important; -webkit-overflow-scrolling: touch; -webkit-backdrop-filter: blur(26px) saturate(160%); backdrop-filter: blur(26px) saturate(160%); transform: translateY(-50%); scrollbar-width: thin; scrollbar-color: rgba(200,239,105,.7) rgba(255,255,255,.08); }
.dsdvo-cookie-notice.style3 #tarteaucitronAlertBig #tarinner::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 5px; background: linear-gradient(90deg, #f24458 0 14.28%, #ff8a45 14.28% 28.56%, var(--qb-yellow) 28.56% 42.84%, var(--qb-lime) 42.84% 57.12%, #55d6b4 57.12% 71.4%, var(--qb-blue) 71.4% 85.68%, #b985ef 85.68%); }
.dsdvo-cookie-notice.style3 #tarteaucitronDisclaimerAlert { max-width: 720px; margin: 0 !important; padding: 0 !important; color: rgba(255,255,255,.74) !important; text-align: left !important; font-size: 15px !important; line-height: 1.55 !important; }
.dsdvo-cookie-notice.style3 #tarteaucitronDisclaimerAlert::before { content: 'Deine Privatsphäre'; display: block; margin-bottom: 7px; color: white; font-size: 22px; font-weight: 900; line-height: 1.05; letter-spacing: -.025em; }
.dsdvo-cookie-notice.style3 #tarteaucitronDisclaimerAlert p { margin: 0 !important; color: inherit !important; font: inherit !important; }
.dsdvo-cookie-notice.style3 #tarteaucitronAlertBig button, .dsdvo-cookie-notice.style3 #tarteaucitronAlertBig .tarteaucitronCTAButton, .dsdvo-cookie-notice.style3 #tarteaucitronAlertBig #tarteaucitronPersonalize, .dsdvo-cookie-notice.style3 #tarteaucitronAlertBig #tarteaucitronAllDenied, .dsdvo-cookie-notice.style3 #tarteaucitronAlertBig #tarteaucitronCloseAlert { min-height: 46px !important; display: inline-flex !important; align-items: center; justify-content: center; margin: 4px !important; padding: 11px 17px !important; border: 1px solid rgba(255,255,255,.35) !important; border-radius: 999px !important; background: rgba(255,255,255,.08) !important; color: white !important; font-size: 13px !important; font-weight: 800 !important; line-height: 1.1 !important; text-decoration: none !important; cursor: pointer; transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease; }
.dsdvo-cookie-notice.style3 #tarteaucitronAlertBig #tarteaucitronPersonalize { border-color: var(--qb-lime) !important; background: var(--qb-lime) !important; color: var(--qb-ink) !important; }
.dsdvo-cookie-notice.style3 #tarteaucitronAlertBig button:hover, .dsdvo-cookie-notice.style3 #tarteaucitronAlertBig .tarteaucitronCTAButton:hover { transform: translateY(-2px); }
.dsdvo-cookie-notice.style3 #dsgvoaio-checkbox-wrapper, .dsdvo-cookie-notice.style3 #dsgvonotice_footer { grid-column: 1 / -1; width: 100%; margin: 0 !important; padding: 12px 0 0 !important; border-top: 1px solid rgba(255,255,255,.13); color: rgba(255,255,255,.68) !important; }
.dsdvo-cookie-notice.style3 #dsgvoaio-checkbox-wrapper ul { gap: 10px; justify-content: flex-start; }
.dsdvo-cookie-notice.style3 #dsgvoaio-checkbox-wrapper li { flex: 0 1 auto !important; }
.dsdvo-cookie-notice.style3 #dsgvoaio-checkbox-wrapper label, .dsdvo-cookie-notice.style3 #dsgvonotice_footer a { color: rgba(255,255,255,.78) !important; font-size: 13px; }
.dsdvo-cookie-notice.style3 #dsgvonotice_footer a { text-decoration: underline; text-underline-offset: 3px; }
.dsdvo-cookie-notice.style3 #tarteaucitronManager { border: 1px solid rgba(255,255,255,.24) !important; border-radius: 999px !important; background: var(--qb-ink) !important; color: white !important; box-shadow: 0 10px 28px rgba(34,21,43,.25); }

.page-slug-kalender .page-hero { background: #21152d; }.page-slug-kalender .page-body { width: min(1260px, calc(100% - 44px)); }.calendar-layout { display: grid; grid-template-columns: 275px minmax(0, 1fr); gap: 22px; align-items: start; }.calendar-panel { position: sticky; top: 96px; padding: 29px 24px 23px; overflow: hidden; border-radius: 24px; background: var(--qb-ink); color: white; box-shadow: 0 20px 55px rgba(34,21,43,.14); }.calendar-panel::after { content: ''; position: absolute; right: -58px; bottom: -65px; width: 160px; height: 160px; border: 23px solid rgba(98,212,244,.08); border-radius: 50%; pointer-events: none; }.calendar-panel .section-kicker { position: relative; z-index: 1; margin-bottom: 19px; color: var(--qb-blue); }.calendar-panel h2 { position: relative; z-index: 1; margin: 0 0 17px; color: white; font-size: clamp(29px, 3vw, 39px); line-height: .98; letter-spacing: -.045em; }.calendar-panel > p:not(.section-kicker) { position: relative; z-index: 1; margin: 0; color: rgba(255,255,255,.62); font-size: 14px; line-height: 1.58; }.calendar-links { position: relative; z-index: 1; display: flex; flex-direction: column; margin-top: 25px; }.calendar-links a { display: flex; justify-content: space-between; gap: 12px; padding: 12px 0; border-top: 1px solid rgba(255,255,255,.13); color: rgba(255,255,255,.78); font-size: 13px; font-weight: 800; transition: color .2s ease, padding .2s ease; }.calendar-links a:last-child { border-bottom: 1px solid rgba(255,255,255,.13); }.calendar-links a:hover { padding-left: 5px; color: var(--qb-lime); }.calendar-links span { color: var(--qb-lime); font-size: 17px; }.page-slug-kalender .page-entry { min-width: 0; padding: 22px; border-radius: 28px; }.page-slug-kalender .page-entry > p { max-width: none; margin: 0; }.page-slug-kalender .page-entry iframe { display: block; width: 100%; height: 720px; border: 0 !important; border-radius: 18px; background: white; }

.page-slug-gallery .page-hero, .page-slug-partner .page-hero, .page-slug-presse .page-hero { background: #281531; }.page-slug-gallery .page-body, .page-slug-presse .page-body { width: min(1260px, calc(100% - 44px)); }.page-slug-gallery .page-entry, .page-slug-partner .page-entry, .page-slug-presse .page-entry { padding: clamp(28px, 4vw, 54px); }.page-slug-gallery .page-entry > *, .page-slug-presse .page-entry > * { max-width: none; }
.page-slug-gallery .page-entry > h2 { display: flex; align-items: center; gap: 14px; margin: 52px 0 20px; font-size: clamp(30px, 4vw, 48px); }.page-slug-gallery .page-entry > h2:first-child { margin-top: 0; }.page-slug-gallery .page-entry > h2::before { content: ''; width: 38px; height: 5px; border-radius: 999px; background: var(--qb-pink); }.page-slug-gallery .page-entry > h2:nth-of-type(2n)::before { background: var(--qb-blue); }.page-slug-gallery .page-entry > h2:nth-of-type(3n)::before { background: var(--qb-lime); }
.page-slug-gallery .pgc-sgb-album { margin: 0 0 10px; }.page-slug-gallery .sgb-gallery { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px !important; }.page-slug-gallery .sgb-item { position: relative; min-width: 0; overflow: hidden; border-radius: 18px !important; background: var(--qb-ink); box-shadow: 0 13px 34px rgba(34,21,43,.12); }.page-slug-gallery .sgb-item a { display: block; height: 100%; }.page-slug-gallery .sgb-item img { display: block; width: 100% !important; height: 230px !important; object-fit: cover; transition: transform .55s cubic-bezier(.2,.8,.2,1), opacity .35s ease; }.page-slug-gallery .sgb-item:hover img { opacity: .72; transform: scale(1.055); }.page-slug-gallery .sgb-item-caption { position: absolute !important; inset: auto 0 0; min-height: 76px; display: flex !important; align-items: flex-end; padding: 30px 17px 15px !important; background: linear-gradient(transparent, rgba(34,21,43,.92)) !important; color: white !important; pointer-events: none; }.page-slug-gallery .sgb-item-caption em { font-style: normal; font-size: 14px; font-weight: 800; line-height: 1.25; }
.page-slug-partner .page-entry { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; background: transparent; box-shadow: none; }.page-slug-partner .page-entry > .wp-block-columns { display: contents; }.page-slug-partner .wp-block-column { position: relative; min-height: 230px; display: grid; place-items: center; margin: 0 !important; padding: 32px; overflow: hidden; border: 1px solid var(--qb-line); border-radius: 22px; background: var(--qb-white); box-shadow: 0 15px 40px rgba(34,21,43,.08); transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }.page-slug-partner .wp-block-column::after { content: '\2197'; position: absolute; right: 16px; top: 15px; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--qb-paper); font-weight: 800; opacity: .7; transition: background .25s ease, color .25s ease; }.page-slug-partner .wp-block-column:hover { border-color: rgba(242,68,150,.35); box-shadow: 0 22px 52px rgba(34,21,43,.13); transform: translateY(-6px); }.page-slug-partner .wp-block-column:hover::after { background: var(--qb-pink); color: white; }.page-slug-partner .wp-block-image, .page-slug-partner .wp-block-image figure { width: 100%; margin: 0; }.page-slug-partner .wp-block-image a { display: grid; place-items: center; min-height: 150px; }.page-slug-partner .wp-block-image img { display: block; width: auto !important; max-width: 82%; max-height: 125px; margin: auto; object-fit: contain; filter: saturate(.82); transition: filter .3s ease, transform .3s ease; }.page-slug-partner .wp-block-column:hover img { filter: saturate(1); transform: scale(1.04); }
.page-slug-presse .page-entry > h2 { max-width: 850px; margin: 0 0 36px; font-size: clamp(31px, 4.5vw, 55px); line-height: 1.05; }.page-slug-presse .pgc_sgb_slider { overflow: visible !important; }.page-slug-presse .sgb-gallery { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px !important; align-items: stretch; }.page-slug-presse .sgb-item { min-width: 0; overflow: hidden; padding: 12px; border-radius: 18px !important; background: #fff; box-shadow: 0 15px 42px rgba(34,21,43,.12); transition: transform .3s ease, box-shadow .3s ease; }.page-slug-presse .sgb-item:hover { z-index: 2; box-shadow: 0 24px 58px rgba(34,21,43,.18); transform: translateY(-6px) rotate(-.5deg); }.page-slug-presse .sgb-item a { display: grid; place-items: center; height: 100%; }.page-slug-presse .sgb-item img { display: block; width: 100% !important; height: 330px !important; object-fit: contain; background: #fff; }
.js .page-slug-partner .wp-block-column, .js .page-slug-gallery .pgc-sgb-cb, .js .page-slug-presse .pgc-sgb-cb { opacity: 0; transform: translateY(24px); }.js .page-slug-partner .wp-block-column.is-visible, .js .page-slug-gallery .pgc-sgb-cb.is-visible, .js .page-slug-presse .pgc-sgb-cb.is-visible { opacity: 1; transform: none; transition: opacity .6s ease, transform .6s cubic-bezier(.2,.8,.2,1); }

.page-slug-archiv-2 .page-hero { background: #281531; }.archive-intro { background: var(--qb-blue); }.page-slug-archiv-2 .page-body { width: min(1220px, calc(100% - 44px)); }.page-slug-archiv-2 .page-entry { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; padding: clamp(28px, 4vw, 54px); }.page-slug-archiv-2 .page-entry > * { max-width: none; width: 100%; margin: 0; }.page-slug-archiv-2 .page-entry > figure:first-child, .page-slug-archiv-2 .page-entry > .wp-block-columns, .page-slug-archiv-2 .page-entry > p, .page-slug-archiv-2 .page-entry > hr { grid-column: 1 / -1; }.page-slug-archiv-2 .page-entry > figure { display: grid; place-items: center; overflow: hidden; padding: 12px; border: 1px solid var(--qb-line); border-radius: 20px; background: white; box-shadow: 0 13px 34px rgba(34,21,43,.08); }.page-slug-archiv-2 .page-entry > figure img { display: block; width: 100%; max-height: 720px; object-fit: contain; border-radius: 12px; }.page-slug-archiv-2 .page-entry > figure:first-child { padding: 0; border: 0; }.page-slug-archiv-2 .page-entry > figure:first-child img { max-height: none; border-radius: 18px; }.page-slug-archiv-2 .page-entry > p:has(> strong) { display: flex; align-items: center; gap: 14px; margin-top: 38px; padding-top: 34px; border-top: 1px solid var(--qb-line); font-size: clamp(25px, 3vw, 38px); font-weight: 800; }.page-slug-archiv-2 .page-entry > p:has(> strong)::before { content: ''; width: 34px; height: 5px; flex: 0 0 auto; border-radius: 999px; background: var(--qb-pink); }.page-slug-archiv-2 .page-entry > p:not(:has(> strong)) { margin-bottom: -4px; font-size: 17px; }.page-slug-archiv-2 .page-entry > hr { margin: 24px 0 0; border: 0; border-top: 1px solid var(--qb-line); }.page-slug-archiv-2 .wp-block-columns { gap: 18px; }.page-slug-archiv-2 .wp-block-file { min-height: 160px; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; margin: 0; padding: 24px; border-radius: 19px; background: var(--qb-paper); box-shadow: inset 0 5px 0 var(--qb-yellow); }.page-slug-archiv-2 .wp-block-file__embed { display: none; }.page-slug-archiv-2 .wp-block-file > a:not(.wp-block-file__button) { margin-bottom: 18px; color: var(--qb-ink); font-size: 20px; font-weight: 800; text-decoration: none; }.page-slug-archiv-2 .wp-block-file__button { margin: 0 !important; padding: 11px 16px; border-radius: 999px; background: var(--qb-ink); color: white; font-size: 12px; font-weight: 800; text-decoration: none; transition: transform .25s ease, background .25s ease; }.page-slug-archiv-2 .wp-block-file__button:hover { background: var(--qb-pink); transform: translateY(-2px); }
.js .page-slug-archiv-2 .page-entry > figure, .js .page-slug-archiv-2 .wp-block-column { opacity: 0; transform: translateY(24px); }.js .page-slug-archiv-2 .page-entry > figure.is-visible, .js .page-slug-archiv-2 .wp-block-column.is-visible { opacity: 1; transform: none; transition: opacity .6s ease, transform .6s cubic-bezier(.2,.8,.2,1); }

.single-pgc_simply_gallery .album-hero { background: #281531; }.single-pgc_simply_gallery .album-hero h1 { max-width: 980px; font-size: clamp(48px, 7vw, 94px); }.album-body { width: min(1260px, calc(100% - 44px)); }.album-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 16px; padding: 18px 22px; border-radius: 18px; background: var(--qb-yellow); font-size: 14px; font-weight: 800; }.album-toolbar a { display: inline-flex; gap: 8px; align-items: center; }.album-toolbar a:hover { color: #9e1457; }.album-toolbar p { margin: 0; opacity: .65; }.album-entry { padding: clamp(20px, 3vw, 34px); }.album-entry > * { max-width: none; }.single-pgc_simply_gallery .pgc_sgb_slider { overflow: visible !important; }.single-pgc_simply_gallery .sgb-gallery { display: block !important; columns: 3; column-gap: 15px; }.single-pgc_simply_gallery .sgb-item { width: 100% !important; display: inline-block; break-inside: avoid; overflow: hidden; margin: 0 0 15px !important; border-radius: 18px !important; background: var(--qb-ink); box-shadow: 0 14px 38px rgba(34,21,43,.12); }.single-pgc_simply_gallery .sgb-item a { display: block; }.single-pgc_simply_gallery .sgb-item img { display: block; width: 100% !important; height: auto !important; min-height: 0 !important; object-fit: contain; transition: opacity .35s ease, transform .55s cubic-bezier(.2,.8,.2,1); }.single-pgc_simply_gallery .sgb-item:hover img { opacity: .78; transform: scale(1.025); }

.page-slug-impressum .page-hero, .page-slug-datenschutzerklaerung .page-hero { background: #281531; }.page-slug-impressum .page-body, .page-slug-datenschutzerklaerung .page-body { width: min(1240px, calc(100% - 44px)); }.legal-intro { position: relative; overflow: hidden; display: grid; grid-template-columns: auto 1fr; gap: 22px; align-items: center; margin-bottom: 22px; padding: 27px 30px; border-radius: 24px; background: var(--qb-yellow); color: var(--qb-ink); box-shadow: 0 18px 46px rgba(34,21,43,.09); }.legal-intro::after { content: ''; position: absolute; right: -50px; width: 150px; height: 150px; border: 1px solid rgba(34,21,43,.18); border-radius: 50%; }.legal-intro-icon { position: relative; z-index: 1; width: 58px; height: 58px; display: grid; place-items: center; border-radius: 50%; background: var(--qb-ink); color: white; font-family: Georgia, serif; font-size: 26px; font-weight: 800; }.legal-intro p { position: relative; z-index: 1; max-width: 800px; margin: 0; font-size: clamp(17px, 2vw, 21px); line-height: 1.5; font-weight: 700; }.privacy-intro { background: var(--qb-blue); }.js .legal-intro { opacity: 0; transform: translateY(20px); }.js .legal-intro.is-visible { opacity: 1; transform: none; transition: opacity .55s ease, transform .55s cubic-bezier(.2,.8,.2,1); }
.legal-layout { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 22px; align-items: start; }.legal-sidebar { position: sticky; top: 96px; padding: 27px 24px 22px; overflow: hidden; border-radius: 24px; background: var(--qb-ink); color: white; box-shadow: 0 20px 55px rgba(34,21,43,.14); }.legal-sidebar::after { content: ''; position: absolute; right: -50px; bottom: -62px; width: 150px; height: 150px; border: 22px solid rgba(200,239,105,.09); border-radius: 50%; }.legal-sidebar .section-kicker { margin: 0 0 22px; color: var(--qb-lime); }.legal-toc-select { display: none; }.legal-toc { position: relative; z-index: 1; display: flex; max-height: min(52vh, 520px); flex-direction: column; overflow: auto; padding-right: 5px; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.25) transparent; }.legal-toc a { padding: 10px 0; border-top: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.72); font-size: 13px; font-weight: 700; line-height: 1.35; transition: color .2s ease, padding .2s ease; }.legal-toc a:last-child { border-bottom: 1px solid rgba(255,255,255,.12); }.legal-toc a:hover { padding-left: 5px; color: white; }.legal-toc a.is-subsection { padding-left: 14px; color: rgba(255,255,255,.5); font-size: 12px; }.legal-toc a.is-subsection:hover { padding-left: 19px; color: white; }.legal-toc-empty { color: rgba(255,255,255,.55); font-size: 13px; line-height: 1.5; }.legal-help { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr auto; gap: 3px 10px; margin-top: 22px; padding: 17px; border-radius: 15px; background: rgba(255,255,255,.08); transition: background .25s ease, transform .25s ease; }.legal-help small { grid-column: 1; color: rgba(255,255,255,.48); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }.legal-help strong { grid-column: 1; }.legal-help span { grid-column: 2; grid-row: 1 / 3; align-self: center; color: var(--qb-lime); font-size: 19px; }.legal-help:hover { background: rgba(255,255,255,.14); transform: translateY(-2px); }
.legal-entry { min-width: 0; padding: clamp(32px, 5vw, 68px); }.legal-entry > * { max-width: 780px; margin-left: 0; margin-right: 0; }.legal-entry h2, .legal-entry h3, .legal-entry h4 { scroll-margin-top: 105px; }.legal-entry h2 { margin-top: 2.1em; padding-top: 1.2em; border-top: 1px solid var(--qb-line); font-size: clamp(30px, 3.8vw, 48px); }.legal-entry h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }.legal-entry h3 { margin-top: 2em; color: #3c2548; font-size: clamp(22px, 2.6vw, 30px); line-height: 1.15; }.legal-entry h4 { margin: 1.8em 0 .7em; font-size: 19px; }.legal-entry p, .legal-entry li { color: rgba(34,21,43,.76); font-size: 16px; line-height: 1.75; }.legal-entry strong { color: var(--qb-ink); }.legal-entry a { overflow-wrap: anywhere; }.legal-entry ul, .legal-entry ol { margin-bottom: 1.5em; padding-left: 1.4em; }.legal-entry li::marker { color: var(--qb-pink); font-weight: 800; }.legal-entry table { display: block; width: 100%; max-width: 100%; overflow-x: auto; margin: 28px 0; border-collapse: collapse; font-size: 14px; }.legal-entry th, .legal-entry td { min-width: 145px; padding: 13px 15px; border: 1px solid var(--qb-line); text-align: left; vertical-align: top; }.legal-entry th { background: var(--qb-ink); color: white; }.legal-entry tr:nth-child(even) td { background: rgba(34,21,43,.035); }.legal-entry blockquote { margin: 28px 0; border-radius: 0 14px 14px 0; }

.qb-search-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; }.qb-search-form input { width: 100%; min-width: 0; height: 58px; padding: 0 19px; border: 1px solid rgba(34,21,43,.17); border-radius: 999px; outline: 0; background: white; color: var(--qb-ink); font-size: 16px; transition: border-color .2s ease, box-shadow .2s ease; }.qb-search-form input:focus { border-color: var(--qb-pink); box-shadow: 0 0 0 4px rgba(242,68,150,.13); }.qb-search-form button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-width: 136px; height: 58px; padding: 0 22px; border: 0; border-radius: 999px; background: var(--qb-pink); color: white; font-weight: 800; cursor: pointer; transition: background .25s ease, transform .25s ease; }.qb-search-form button:hover { background: var(--qb-ink); transform: translateY(-2px); }.qb-search-form button span { font-size: 19px; }
.error-page { display: grid; min-height: 86vh; place-items: center; padding: clamp(145px, 15vw, 210px) 22px clamp(80px, 10vw, 130px); overflow: hidden; background: var(--qb-paper); }.error-card { position: relative; width: min(1160px, 100%); display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); gap: clamp(40px, 7vw, 90px); align-items: center; padding: clamp(38px, 6vw, 80px); overflow: hidden; border-radius: 38px; background: var(--qb-ink); color: white; box-shadow: 0 30px 90px rgba(34,21,43,.2); }.error-card::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 8px; background: linear-gradient(90deg, #f24458 0 14.28%, #ff8a45 14.28% 28.56%, var(--qb-yellow) 28.56% 42.84%, var(--qb-lime) 42.84% 57.12%, #55d6b4 57.12% 71.4%, var(--qb-blue) 71.4% 85.68%, #b985ef 85.68%); }.error-copy { position: relative; z-index: 2; }.error-copy .section-kicker { color: var(--qb-lime); }.error-copy h1 { max-width: 690px; margin: 16px 0 24px; color: white; font-size: clamp(54px, 7vw, 92px); line-height: .91; letter-spacing: -.065em; }.error-copy > p:not(.section-kicker) { max-width: 610px; color: rgba(255,255,255,.67); font-size: 17px; line-height: 1.65; }.error-actions { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; margin: 34px 0; }.error-actions .primary-button { background: var(--qb-lime); color: var(--qb-ink); }.error-link { padding: 14px 8px; border-bottom: 1px solid rgba(255,255,255,.4); font-weight: 800; }.error-search { max-width: 650px; padding-top: 30px; border-top: 1px solid rgba(255,255,255,.15); }.error-search .qb-search-form input { border-color: rgba(255,255,255,.2); background: rgba(255,255,255,.1); color: white; }.error-search .qb-search-form input::placeholder { color: rgba(255,255,255,.5); }.error-art { position: relative; display: grid; aspect-ratio: 1; place-items: center; border-radius: 50%; background: conic-gradient(from -28deg, #f24458, #ff8a45, var(--qb-yellow), var(--qb-lime), #55d6b4, var(--qb-blue), #b985ef, #f24458); box-shadow: 0 0 0 30px rgba(255,255,255,.035), 0 0 0 60px rgba(255,255,255,.018); animation: qb-float 5s ease-in-out infinite; }.error-art::before { content: ''; position: absolute; inset: 22%; border-radius: 50%; background: var(--qb-ink); }.error-number { position: relative; z-index: 1; color: white; font-size: clamp(58px, 8vw, 112px); font-weight: 900; letter-spacing: -.08em; }.error-spark { position: absolute; right: 1%; top: 3%; color: var(--qb-lime); font-size: 50px; animation: qb-spin 10s linear infinite; }
.search-hero { background: #281531; }.search-hero h1 { font-size: clamp(50px, 7.2vw, 100px); }.search-body { width: min(1220px, calc(100% - 44px)); }.search-panel { position: relative; padding: 22px; border-radius: 24px; background: var(--qb-yellow); box-shadow: 0 18px 46px rgba(34,21,43,.1); }.search-summary { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin: 58px 0 26px; }.search-summary .section-kicker { margin: 0; }.search-summary h2 { margin: 0; font-size: clamp(32px, 4vw, 54px); }.search-results-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }.search-result-card { min-width: 0; display: grid; grid-template-columns: 155px minmax(0, 1fr); overflow: hidden; border: 1px solid rgba(34,21,43,.09); border-radius: 23px; background: var(--qb-white); box-shadow: 0 14px 38px rgba(34,21,43,.08); transition: transform .3s ease, box-shadow .3s ease; }.search-result-card:hover { box-shadow: 0 22px 52px rgba(34,21,43,.13); transform: translateY(-5px); }.search-result-card:not(:has(.search-result-image))::before { content: ''; min-height: 100%; background: linear-gradient(145deg, var(--qb-pink), var(--qb-yellow)); }.search-result-card:nth-child(3n+2):not(:has(.search-result-image))::before { background: linear-gradient(145deg, var(--qb-blue), var(--qb-lime)); }.search-result-card:nth-child(3n+3):not(:has(.search-result-image))::before { background: linear-gradient(145deg, #b985ef, var(--qb-pink)); }.search-result-image { min-height: 235px; overflow: hidden; }.search-result-image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }.search-result-card:hover .search-result-image img { transform: scale(1.05); }.search-result-copy { display: flex; min-width: 0; flex-direction: column; padding: 25px 24px; }.search-result-meta { display: flex; flex-wrap: wrap; gap: 8px 13px; margin: 0 0 17px; color: rgba(34,21,43,.48); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.search-result-meta span { color: #ae1c66; }.search-result-copy h2 { margin: 0 0 13px; font-size: clamp(23px, 2.8vw, 32px); line-height: 1.02; letter-spacing: -.04em; }.search-result-copy > p:not(.search-result-meta) { display: -webkit-box; margin: 0 0 20px; overflow: hidden; color: rgba(34,21,43,.65); font-size: 14px; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }.search-result-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: auto; padding-top: 14px; border-top: 1px solid var(--qb-line); font-size: 13px; font-weight: 800; }.search-result-link span { color: var(--qb-pink); font-size: 19px; transition: transform .25s ease; }.search-result-link:hover span { transform: rotate(45deg); }.search-page .navigation.pagination { margin-top: 50px; }.search-empty { display: grid; grid-template-columns: auto minmax(0, 1fr) minmax(190px, .55fr); gap: 30px; align-items: center; margin-top: 22px; padding: clamp(32px, 5vw, 60px); border-radius: 28px; background: var(--qb-white); box-shadow: 0 24px 70px rgba(34,21,43,.09); }.search-empty-icon { width: 76px; height: 76px; display: grid; place-items: center; border-radius: 50%; background: var(--qb-pink); color: white; font-family: Georgia, serif; font-size: 38px; font-weight: 800; }.search-empty .section-kicker { margin: 0 0 10px; }.search-empty h2 { margin: 0 0 12px; font-size: clamp(31px, 4vw, 52px); line-height: 1; }.search-empty p:last-child { margin: 0; color: rgba(34,21,43,.62); }.search-empty-links { display: flex; flex-direction: column; }.search-empty-links a { display: flex; justify-content: space-between; gap: 15px; padding: 13px 0; border-top: 1px solid var(--qb-line); font-weight: 800; }.search-empty-links a:last-child { border-bottom: 1px solid var(--qb-line); }.search-empty-links span { color: var(--qb-pink); }

.content-shell { width: min(1160px, calc(100% - 44px)); min-height: 60vh; margin: 0 auto; padding: clamp(70px, 9vw, 130px) 0; }body:not(.home) .content-shell { padding-top: clamp(150px, 13vw, 200px); }.content-header { max-width: 980px; margin-bottom: 60px; }.content-header h1 { font-size: clamp(48px, 7vw, 94px); }.post-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }.post-card { padding-bottom: 28px; border-bottom: 1px solid var(--qb-line); }.post-card-image { display: block; aspect-ratio: 4/3; overflow: hidden; margin-bottom: 24px; border-radius: 18px; }.post-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }.post-card:hover .post-card-image img { transform: scale(1.05); }.post-date { color: rgba(34,21,43,.55); font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }.post-card h2 { font-size: 28px; line-height: 1.05; letter-spacing: -.04em; }.post-card p { line-height: 1.6; }.singular-shell { width: min(960px, calc(100% - 44px)); }.feature-image { overflow: hidden; margin-bottom: 50px; border-radius: 24px; }.nav-links { display: flex; justify-content: center; gap: 8px; margin-top: 50px; }.page-numbers { display: grid; place-items: center; min-width: 42px; height: 42px; padding: 0 10px; border: 1px solid var(--qb-line); border-radius: 50%; }.page-numbers.current { background: var(--qb-ink); color: white; }

/* Modern WordPress archive and empty state. */
.archive-hero { background: #281531; }.archive-hero h1 { max-width: 980px; font-size: clamp(50px, 7.2vw, 100px); }.archive-hero .page-intro > * { margin: 0; }.archive-page .archive-shell { width: min(1160px, calc(100% - 44px)); min-height: 34vh; padding-top: clamp(55px, 7vw, 90px); }.archive-empty { grid-column: 1 / -1; position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr) minmax(190px, .55fr); gap: 30px; align-items: center; padding: clamp(32px, 5vw, 60px); overflow: hidden; border-radius: 28px; background: var(--qb-white); box-shadow: 0 24px 70px rgba(34,21,43,.09); }.archive-empty::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 6px; background: linear-gradient(90deg, #f24458, #ff8a45, var(--qb-yellow), var(--qb-lime), #55d6b4, var(--qb-blue), #b985ef); }.archive-empty-icon { width: 76px; height: 76px; display: grid; place-items: center; border-radius: 50%; background: var(--qb-blue); color: var(--qb-ink); font-size: 34px; font-weight: 900; }.archive-empty-copy .section-kicker { margin: 0 0 10px; }.archive-empty-copy h2 { max-width: 650px; margin: 0 0 12px; font-size: clamp(31px, 4vw, 52px); line-height: 1; letter-spacing: -.04em; }.archive-empty-copy > p:last-child { max-width: 650px; margin: 0; color: rgba(34,21,43,.64); line-height: 1.6; }.archive-empty-links { display: flex; flex-direction: column; }.archive-empty-links a { display: flex; justify-content: space-between; gap: 15px; padding: 14px 0; border-top: 1px solid var(--qb-line); font-weight: 800; }.archive-empty-links a:last-child { border-bottom: 1px solid var(--qb-line); }.archive-empty-links span { color: var(--qb-pink); font-size: 19px; transition: transform .25s ease; }.archive-empty-links a:hover span { transform: translateX(4px); }
.event-facts { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }.event-facts span { min-width: 150px; padding: 14px 18px; border-radius: 12px; background: rgba(34,21,43,.07); }.event-facts b { display: block; margin-bottom: 4px; color: rgba(34,21,43,.55); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }.entry-content .primary-button { color: white; text-decoration: none; }

.article-progress { position: fixed; z-index: 102; left: 0; right: 0; top: 0; height: 5px; background: rgba(255,255,255,.12); pointer-events: none; }.admin-bar .article-progress { top: 32px; }.article-progress span { display: block; width: 100%; height: 100%; background: linear-gradient(90deg, #f24458, #ff8a45, var(--qb-yellow), var(--qb-lime), #55d6b4, var(--qb-blue), #b985ef); transform: scaleX(0); transform-origin: left center; will-change: transform; }.article-hero { background: #281531; }.article-hero .page-hero-inner { grid-template-columns: minmax(0, 1fr) 230px; }.article-hero h1 { font-size: clamp(48px, 7.5vw, 104px); }.article-hero-date { margin: 0 0 17px; color: var(--qb-yellow); font-size: 12px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }.article-body { width: min(1200px, calc(100% - 44px)); }.article-feature { position: relative; max-height: 650px; overflow: hidden; margin: 0 0 22px; border-radius: 30px; background: var(--qb-ink); box-shadow: 0 24px 70px rgba(34,21,43,.2); }.article-feature::after { content: ''; position: absolute; inset: auto 0 0; height: 7px; background: linear-gradient(90deg, var(--qb-pink), var(--qb-yellow), var(--qb-lime), var(--qb-blue), #b985ef); }.article-feature img { display: block; width: 100%; max-height: 650px; object-fit: cover; }.article-layout { display: grid; grid-template-columns: 245px minmax(0, 1fr); gap: 22px; align-items: start; }.article-sidebar { position: sticky; top: 96px; padding: 27px 23px; border-radius: 22px; background: var(--qb-yellow); box-shadow: 0 17px 45px rgba(34,21,43,.1); }.article-sidebar .section-kicker { margin: 0 0 8px; color: rgba(34,21,43,.58); }.article-sidebar time { display: block; font-size: 20px; font-weight: 800; line-height: 1.2; }.article-categories { margin-top: 27px; padding-top: 23px; border-top: 1px solid rgba(34,21,43,.18); }.article-categories a { display: inline-flex; margin: 4px 4px 0 0; padding: 7px 10px; border: 1px solid rgba(34,21,43,.22); border-radius: 999px; font-size: 12px; font-weight: 800; }.article-categories a:hover { background: var(--qb-ink); color: white; }.article-back { display: flex; gap: 9px; align-items: center; margin-top: 28px; padding-top: 20px; border-top: 1px solid rgba(34,21,43,.18); font-size: 13px; font-weight: 800; }.article-back span { font-size: 19px; transition: transform .25s ease; }.article-back:hover span { transform: translateX(-4px); }.article-entry { min-width: 0; padding: clamp(34px, 5vw, 70px); }.article-entry > * { max-width: 760px; margin-left: 0; margin-right: 0; }.article-entry > .alignwide { max-width: 100%; }.article-entry h2 { margin-top: 1.8em; padding-top: .9em; border-top: 1px solid var(--qb-line); }.article-entry h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }.article-entry h3 { color: #3c2548; }.article-entry p, .article-entry li { color: rgba(34,21,43,.76); font-size: 17px; line-height: 1.78; }.article-entry > p:first-child { color: var(--qb-ink); font-size: 20px; line-height: 1.65; }.article-entry figure { max-width: 100%; margin-top: 34px; margin-bottom: 34px; }.article-entry figure img { display: block; width: 100%; border-radius: 18px; }.article-entry figcaption { margin-top: 9px; color: rgba(34,21,43,.5); font-size: 12px; line-height: 1.45; }.article-entry .wp-block-file { padding: 20px; border-radius: 16px; background: var(--qb-paper); }.article-entry .wp-block-separator { margin: 46px 0; border: 0; border-top: 1px solid var(--qb-line); }.article-page .post-navigation { margin: 24px 0 0 267px; }.article-page .post-navigation .nav-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 0; }.article-page .post-navigation a { min-height: 130px; display: flex; flex-direction: column; justify-content: flex-end; padding: 24px; border-radius: 19px; background: var(--qb-white); box-shadow: 0 13px 36px rgba(34,21,43,.08); transition: transform .25s ease, background .25s ease; }.article-page .post-navigation a:hover { background: var(--qb-yellow); transform: translateY(-4px); }.article-page .nav-next { text-align: right; }.post-nav-label { display: block; margin-bottom: 9px; color: #a91b63; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }.article-page .post-navigation strong { font-size: 20px; line-height: 1.2; }

@keyframes qb-reveal { from { opacity: 0; transform: translateY(32px); } to { opacity: 1; transform: none; } }
@keyframes qb-marquee { to { transform: translateX(-50%); } }
@keyframes qb-float { 50% { transform: translateY(-15px) rotate(2deg); } }
@keyframes qb-drift { 50% { transform: translate(45px, 30px) scale(1.15); } }
@keyframes qb-spin { to { transform: rotate(360deg); } }
@keyframes qb-rainbow-sway { from { transform: rotate(-22deg); } to { transform: rotate(-5deg); } }
@keyframes qb-nav-in { from { opacity: 0; transform: translateY(-12px); } to { opacity: 1; transform: none; } }
@keyframes qb-mobile-item-in { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: none; } }
@keyframes qb-brand-rainbow { to { background-position: 240% 0; } }
@keyframes qb-header-shine { 0%, 28% { background-position: 180% 0; opacity: .2; } 38% { opacity: .46; } 72% { background-position: -180% 0; opacity: .62; } 78%, 100% { background-position: -180% 0; opacity: .2; } }
@keyframes qb-logo-glow { 0%, 100% { filter: drop-shadow(0 5px 9px rgba(0,0,0,.34)) drop-shadow(0 0 7px rgba(98,212,244,.1)); } 50% { filter: drop-shadow(0 5px 9px rgba(0,0,0,.34)) drop-shadow(0 0 10px rgba(200,239,105,.18)); } }

@media (max-width: 1220px) {
	.menu-open { overflow: hidden; }
	.site-header { grid-template-columns: 1fr auto; }
	.site-header { left: 10px; right: 10px; padding: 0 18px; border-radius: 23px; }
	.primary-navigation { position: fixed; z-index: 99; inset: 0; width: 100%; height: 100vh; height: 100dvh; display: flex; align-items: center; justify-content: center; overflow-y: auto; overscroll-behavior: contain; padding: 110px 28px 40px; background: rgba(34,21,43,.98); color: white; opacity: 0; visibility: hidden; pointer-events: none; -webkit-overflow-scrolling: touch; transition: opacity .28s ease, visibility .28s ease; }
	.menu-open .primary-navigation { opacity: 1; visibility: visible; pointer-events: auto; }
	.primary-menu { width: min(520px, 100%); flex-direction: column; gap: 6px; text-align: left; }
	.primary-menu > li { width: 100%; display: grid; grid-template-columns: 1fr auto; align-items: center; opacity: 0; animation: none; border-bottom: 1px solid rgba(255,255,255,.12); }
	.menu-open .primary-menu > li { animation: qb-mobile-item-in .48s cubic-bezier(.2,.8,.2,1) forwards; }
	.menu-open .primary-menu > li:nth-child(2) { animation-delay: .06s; }.menu-open .primary-menu > li:nth-child(3) { animation-delay: .12s; }.menu-open .primary-menu > li:nth-child(4) { animation-delay: .18s; }.menu-open .primary-menu > li:nth-child(5) { animation-delay: .24s; }.menu-open .primary-menu > li:nth-child(6) { animation-delay: .3s; }
	.primary-menu > li > a { padding: 15px 0; color: white; font-size: clamp(25px, 5vw, 38px); }
	.primary-menu .menu-item-has-children > a::before { display: none; }
	.submenu-toggle { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; background: transparent; color: var(--qb-lime); cursor: pointer; }
	.submenu-toggle span { font-size: 25px; line-height: 1; transition: transform .3s ease; }.submenu-toggle[aria-expanded="true"] span { transform: rotate(45deg); }
	.primary-menu .menu-item-has-children > .sub-menu, .primary-menu .menu-item-has-children:hover > .sub-menu, .primary-menu .menu-item-has-children:focus-within > .sub-menu { position: static; left: auto; top: auto; grid-column: 1 / -1; display: grid; align-content: start; gap: 4px; width: 100%; min-width: 0; max-height: 0; overflow: hidden; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; color: white; box-shadow: none; opacity: 0; visibility: hidden; transform: translateY(-8px); transform-origin: top center; transition: max-height .38s ease, opacity .3s ease, visibility .3s ease, transform .3s ease, padding .3s ease; }
	.primary-menu .sub-menu::before { display: none; }.primary-menu .sub-menu li { width: 100%; }.primary-menu .sub-menu a { min-height: 44px; display: flex; align-items: center; padding: 9px 12px; border: 1px solid rgba(255,255,255,.1); border-radius: 11px; background: rgba(255,255,255,.045); color: rgba(255,255,255,.86); font-size: 16px; }.primary-menu .sub-menu a:hover, .primary-menu .sub-menu a:focus-visible { padding-left: 16px; border-color: rgba(200,239,105,.38); background: rgba(200,239,105,.09); color: white; }
	.primary-menu .menu-item-has-children.submenu-open > .sub-menu, .primary-menu .menu-item-has-children.submenu-open:hover > .sub-menu, .primary-menu .menu-item-has-children.submenu-open:focus-within > .sub-menu { max-height: 280px; padding-top: 4px; padding-bottom: 12px; opacity: 1; visibility: visible; transform: none; }
	.nav-cta { display: none; }
	.menu-toggle { position: relative; z-index: 101; display: block; }
	.menu-open .menu-toggle > span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
	.menu-open .menu-toggle > span:nth-child(2) { opacity: 0; }
	.menu-open .menu-toggle > span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
	.brand { position: relative; z-index: 101; }
}

@media (max-width: 900px) {
	.brand-logo { width: 175px; }
	.hero-sticker { width: 100px; height: 100px; right: 6vw; top: 19%; }.intro-grid, .values { grid-template-columns: 1fr; gap: 45px; }.intro-copy { max-width: 590px; }.gathering-grid, .post-grid { grid-template-columns: 1fr; }.gathering-card { min-height: 240px; }.values-title { position: static; }.footer-main { grid-template-columns: 1fr 1fr; }.footer-brand { grid-column: 1 / -1; max-width: 680px; }.footer-logo { margin-bottom: 30px; }
	.page-hero { min-height: 350px; padding-top: 82px; }.page-hero-inner { grid-template-columns: 1fr; }.page-hero-art { position: absolute; right: -40px; top: -28px; width: 190px; height: 190px; opacity: .42; }.page-hero-copy { position: relative; z-index: 2; }.page-body { margin-top: -34px; }.page-entry { border-radius: 26px; }.page-slug-das-team .page-entry { grid-template-columns: 1fr; }.page-slug-das-team .page-entry > h2 { grid-column: 1; }
	.meeting-overview .page-entry { grid-template-columns: 1fr; }.meeting-overview .wp-block-media-text { min-height: 0; display: grid !important; grid-template-columns: minmax(220px, .75fr) 1fr !important; }.meeting-overview .wp-block-media-text__media, .meeting-overview .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media { grid-column: 1; grid-row: 1; order: 0; width: 100%; height: 100%; min-height: 280px; }.meeting-overview .wp-block-media-text__content, .meeting-overview .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content { grid-column: 2; grid-row: 1; order: 0; justify-content: center; }
	.contact-layout { grid-template-columns: 1fr; }.contact-panel { position: relative; top: auto; }.contact-panel h2 { max-width: 650px; }.contact-panel > p { max-width: 680px; }.contact-options { grid-template-columns: repeat(3, minmax(0, 1fr)); }.contact-option { grid-template-columns: 38px minmax(0, 1fr); }.contact-option-icon { width: 38px; height: 38px; }.contact-option-arrow { display: none; }
	.page-slug-news .page-entry > .wp-block-group { padding: 28px !important; }
	.page-slug-gallery .sgb-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }.page-slug-partner .page-entry { grid-template-columns: repeat(2, minmax(0, 1fr)); }.page-slug-presse .sgb-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.page-slug-archiv-2 .page-entry { grid-template-columns: 1fr; }.page-slug-archiv-2 .page-entry > * { grid-column: 1 !important; }.single-pgc_simply_gallery .sgb-gallery { columns: 2; }
	.legal-layout { grid-template-columns: 230px minmax(0, 1fr); }
	.error-card { grid-template-columns: minmax(0, 1fr) 280px; }.search-result-card { grid-template-columns: 125px minmax(0, 1fr); }.search-empty { grid-template-columns: auto minmax(0, 1fr); }.search-empty-links { grid-column: 1 / -1; }
	.article-hero .page-hero-inner { grid-template-columns: minmax(0, 1fr) 190px; }.article-layout { grid-template-columns: 210px minmax(0, 1fr); }.article-page .post-navigation { margin-left: 232px; }
	.calendar-layout { grid-template-columns: 1fr; }.calendar-panel { position: relative; top: auto; }.calendar-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 22px; }
}

@media (max-width: 782px) { .admin-bar .site-header { top: 56px; }.admin-bar .site-header.is-scrolled { top: 52px; }.admin-bar .article-progress { top: 46px; } }

@media (max-width: 640px) {
	.hero { min-height: 820px; }.hero-content { padding-bottom: 62px; }.hero h1 { font-size: clamp(54px, 17vw, 80px); line-height: .89; }.hero-bottom { align-items: end; }.hero-bottom p { font-size: 16px; }.circle-link { width: 58px; height: 58px; font-size: 26px; }.hero-sticker { display: none; }.section { padding-top: 90px; padding-bottom: 90px; }.intro { padding-top: 64px; }
	.image-strip { grid-template-columns: 1fr 1fr; margin-top: 55px; }.image-three { display: none; }.image-two { transform: translateY(24px); }.image-note { left: 12%; bottom: -26px; font-size: 12px; }.section-heading { align-items: start; flex-direction: column; }.event-feature { grid-template-columns: auto 1fr auto; }.event-time { display: none; }.event-arrow { width: 45px; height: 45px; }.date-block strong { font-size: 54px; }.event-copy h3 { font-size: 23px; }.event-copy p { font-size: 12px; }.empty-event { grid-template-columns: 1fr; }.empty-event-links { align-items: flex-start; }
	.value-item { grid-template-columns: 44px 1fr auto; padding: 30px 0; }.value-item p { font-size: 14px; }.cta-spark { left: 7%; top: 15%; }.footer-inner { width: calc(100% - 36px); padding-top: 54px; }.footer-main { grid-template-columns: 1fr; gap: 42px; }.footer-brand { grid-column: 1; }.footer-logo { margin-left: -10px; padding-left: 10px; }.footer-logo img { width: 225px; }.footer-brand h2 { font-size: 52px; }.footer-copy { font-size: 15px; }.footer-bottom { grid-template-columns: 1fr auto; }.footer-bottom nav { grid-column: 1 / -1; grid-row: 1; justify-self: start; }.footer-bottom > p { grid-column: 1; grid-row: 2; }.footer-top { grid-column: 2; grid-row: 2; }.footer-menu { flex-wrap: wrap; gap: 14px 20px; }.content-shell { width: min(100% - 36px, 960px); }.entry-content { font-size: 16px; }
	.page-hero { min-height: 310px; padding: 62px 18px 78px; }.page-hero h1 { font-size: clamp(50px, 16vw, 72px); }.page-breadcrumb { margin-bottom: 20px; font-size: 10px; }.page-hero-art { width: 145px; height: 145px; right: -46px; top: -10px; }.art-ring { border-width: 18px; }.art-star { font-size: 38px; }.art-dot { width: 32px; height: 32px; }.page-body { width: calc(100% - 28px); }.page-entry { padding: 30px 22px; border-radius: 22px; }.page-feature-image { margin-left: 10px; margin-right: 10px; border-radius: 20px; }.team-intro { grid-template-columns: 1fr; padding: 24px 22px; }.team-intro-mark { width: 48px; height: 48px; }.page-slug-das-team .page-entry { gap: 16px; }.page-slug-das-team .page-entry > h2 { margin-top: 30px; padding-top: 26px; font-size: 34px; }.page-slug-das-team .wp-block-media-text { min-height: 230px; grid-template-columns: 112px minmax(0, 1fr) !important; border-radius: 20px; }.page-slug-das-team .wp-block-media-text::after { left: 112px; }.page-slug-das-team .wp-block-media-text__media img { min-height: 230px; }.page-slug-das-team .wp-block-media-text__content, .page-slug-das-team .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content { padding: 28px 18px !important; }.page-slug-das-team .wp-block-media-text__content p { font-size: 13px; }
	.meeting-intro { grid-template-columns: 1fr; border-radius: 20px; }.meeting-fact { min-height: 0; padding: 24px 22px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.13); }.meeting-fact:last-child { border-bottom: 0; }.meeting-fact::before { left: 22px; }.meeting-overview .page-entry { padding: 22px; }.meeting-overview .wp-block-media-text { display: flex !important; min-height: 410px; }.meeting-overview .wp-block-media-text__media, .meeting-overview .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media { order: 1; height: 220px; min-height: 220px; }.meeting-overview .wp-block-media-text__content, .meeting-overview .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content { order: 2; padding: 24px !important; }.meeting-detail .page-entry > .wp-block-image:first-child { aspect-ratio: 4 / 3; border-radius: 18px; }.meeting-detail .page-entry iframe { height: 330px; border-radius: 17px; }
	.page-slug-kontakt .page-body { width: calc(100% - 28px); }.contact-layout { gap: 14px; }.contact-panel { padding: 34px 24px; border-radius: 22px; }.contact-options { grid-template-columns: 1fr; }.contact-option { grid-template-columns: 40px 1fr auto; }.contact-option-icon { width: 40px; height: 40px; }.contact-option-arrow { display: block; }.contact-form-card { padding: 32px 22px; border-radius: 22px; }
	.news-intro, .calendar-intro, .gallery-intro, .partner-intro, .press-intro, .archive-intro { grid-template-columns: 1fr; padding: 24px 22px; border-radius: 20px; }.news-intro-icon, .calendar-intro-icon, .gallery-intro-icon, .partner-intro-icon, .press-intro-icon, .archive-intro-icon { width: 48px; height: 48px; }.page-slug-news .page-entry { padding: 28px 22px; }.page-slug-news .page-entry > .wp-block-group { grid-template-columns: 1fr; padding: 24px !important; }.page-slug-news .page-entry > .wp-block-group > h2 { grid-column: 1; }.page-slug-news .page-entry > .wp-block-group > .wp-block-media-text { min-height: 145px; }.page-slug-news .wp-block-cover__inner-container { padding: 26px; }.page-slug-kalender .page-body { width: calc(100% - 28px); }.calendar-panel { padding: 25px 21px; border-radius: 20px; }.calendar-links { grid-template-columns: 1fr; }.page-slug-kalender .page-entry { padding: 10px; }.page-slug-kalender .page-entry iframe { height: 620px; border-radius: 14px; }
	.page-slug-gallery .page-body, .page-slug-presse .page-body { width: calc(100% - 28px); }.page-slug-gallery .page-entry, .page-slug-partner .page-entry, .page-slug-presse .page-entry { padding: 24px 18px; }.page-slug-gallery .sgb-gallery, .page-slug-presse .sgb-gallery, .page-slug-partner .page-entry { grid-template-columns: 1fr; }.page-slug-gallery .sgb-item img { height: 245px !important; }.page-slug-partner .wp-block-column { min-height: 190px; padding: 26px; }.page-slug-presse .sgb-item img { height: 300px !important; }
	.page-slug-archiv-2 .page-body, .album-body { width: calc(100% - 28px); }.page-slug-archiv-2 .page-entry { gap: 14px; padding: 24px 16px; }.page-slug-archiv-2 .wp-block-columns { display: grid; grid-template-columns: 1fr; }.album-toolbar { align-items: flex-start; flex-direction: column; padding: 17px 19px; }.album-toolbar p { font-size: 12px; }.album-entry { padding: 15px; }.single-pgc_simply_gallery .sgb-gallery { columns: 1; }.single-pgc_simply_gallery .sgb-item { margin-bottom: 12px !important; border-radius: 14px !important; }
	.page-slug-impressum .page-body, .page-slug-datenschutzerklaerung .page-body { width: calc(100% - 28px); }.legal-intro { grid-template-columns: 1fr; padding: 24px 22px; border-radius: 20px; }.legal-intro-icon { width: 48px; height: 48px; }.legal-layout { grid-template-columns: 1fr; gap: 14px; }.legal-sidebar { position: relative; top: auto; padding: 24px 21px; border-radius: 20px; }.legal-toc { max-height: 280px; }.legal-entry { padding: 31px 21px; }.legal-entry h2 { font-size: 31px; }.legal-entry p, .legal-entry li { font-size: 15px; }
	.error-page { padding-left: 14px; padding-right: 14px; }.error-card { grid-template-columns: 1fr; padding: 38px 22px; border-radius: 25px; }.error-copy h1 { font-size: clamp(48px, 14vw, 68px); }.error-art { display: none; }.error-actions { align-items: flex-start; flex-direction: column; }.qb-search-form { grid-template-columns: 1fr; }.qb-search-form button { width: 100%; }.search-body { width: calc(100% - 28px); }.search-panel { padding: 14px; border-radius: 20px; }.search-summary { align-items: flex-start; flex-direction: column; margin-top: 42px; }.search-results-grid { grid-template-columns: 1fr; }.search-result-card { grid-template-columns: 100px minmax(0, 1fr); }.search-result-card:not(:has(.search-result-image))::before { min-height: 210px; }.search-result-image { min-height: 210px; }.search-result-copy { padding: 22px 18px; }.search-result-copy > p:not(.search-result-meta) { -webkit-line-clamp: 2; }.search-empty { grid-template-columns: 1fr; gap: 22px; padding: 31px 22px; border-radius: 22px; }.search-empty-links { grid-column: 1; }.search-empty-icon { width: 60px; height: 60px; font-size: 30px; }
	.article-hero .page-hero-inner { grid-template-columns: 1fr; }.article-body { width: calc(100% - 28px); }.article-feature { border-radius: 21px; }.article-feature img { min-height: 260px; }.article-layout { grid-template-columns: 1fr; gap: 14px; }.article-sidebar { position: relative; top: auto; padding: 23px 21px; }.article-entry { padding: 32px 21px; }.article-entry p, .article-entry li { font-size: 16px; }.article-entry > p:first-child { font-size: 18px; }.article-page .post-navigation { margin-left: 0; }.article-page .post-navigation .nav-links { grid-template-columns: 1fr; }.article-page .nav-next { text-align: left; }
}

@media (max-width: 640px) {
	.site-header { top: 8px; left: 8px; right: 8px; height: 68px; gap: 10px; padding: 0 12px; border-radius: 20px; }.site-header.is-scrolled { top: 6px; height: 64px; border-radius: 19px; }.admin-bar .site-header { top: 54px; }.admin-bar .site-header.is-scrolled { top: 52px; }
	.brand { margin-left: -2px; padding: 2px 5px 3px 2px; }.brand-logo { width: 145px; max-height: 44px; }.site-header.is-scrolled .brand { padding-top: 2px; padding-bottom: 2px; }.site-header.is-scrolled .brand-logo { width: 136px; }.brand::before { left: 3px; right: 3px; }
	.menu-toggle { width: 44px; height: 44px; padding: 10px; background: rgba(255,255,255,.06); }
	.primary-navigation { align-items: flex-start; justify-content: center; padding: calc(96px + env(safe-area-inset-top)) 16px calc(30px + env(safe-area-inset-bottom)); background: linear-gradient(160deg, rgba(28,14,37,.985), rgba(43,23,52,.97)); -webkit-backdrop-filter: blur(24px) saturate(150%); backdrop-filter: blur(24px) saturate(150%); }.primary-menu { width: 100%; max-width: 500px; margin: auto 0; gap: 9px; }.primary-menu > li { padding: 0 15px; border: 1px solid rgba(255,255,255,.13); border-radius: 16px; background: rgba(255,255,255,.045); }.primary-menu > li.current-menu-item, .primary-menu > li.current-menu-ancestor { border-color: rgba(200,239,105,.48); background: rgba(200,239,105,.09); }.primary-menu > li > a { min-height: 58px; display: flex; align-items: center; padding: 10px 0; color: white; font-size: clamp(24px, 8vw, 32px); line-height: 1.05; }.primary-menu > li > a::after { bottom: 7px; }.primary-menu .sub-menu a { min-height: 44px; display: flex; align-items: center; padding: 9px 0; color: rgba(255,255,255,.82); font-size: 15px; }.submenu-toggle { width: 44px; height: 44px; border-color: rgba(255,255,255,.38); background: rgba(255,255,255,.07); }.menu-open .menu-toggle { border-color: rgba(255,255,255,.75); background: rgba(255,255,255,.1); }
	.hero { min-height: clamp(620px, 88svh, 760px); align-items: center; }.hero-video { object-position: center center; }.hero-overlay { background: linear-gradient(180deg, rgba(27,13,34,.38), rgba(27,13,34,.5) 42%, rgba(27,13,34,.9)); }.hero-content { padding: 112px 18px 48px; }.hero .eyebrow { max-width: 330px; margin-bottom: 17px; font-size: 12px; line-height: 1.5; text-wrap: balance; }.hero h1 { max-width: 560px; font-size: clamp(44px, 13.2vw, 60px); line-height: .94; letter-spacing: -.055em; text-wrap: balance; }.hero h1 span { display: block; margin-top: 7px; line-height: .94; letter-spacing: -.045em; }.hero-bottom { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 16px; margin-top: 28px; }.hero-bottom p { max-width: 520px; font-size: 16px; line-height: 1.52; }.circle-link { width: 52px; height: 52px; align-self: end; font-size: 24px; box-shadow: 0 12px 28px rgba(34,21,43,.28); }.orb-one { left: -16px; top: 27%; width: 58px; height: 58px; opacity: .46; }.orb-two { right: 18px; top: 43%; width: 29px; height: 29px; opacity: .58; }
	.ticker { padding: 12px 0; }.ticker-track { font-size: 12px; letter-spacing: .1em; }.ticker-group { gap: 20px; padding-right: 20px; }
	.section { padding: 78px 18px; }.intro { padding-top: 48px; padding-bottom: 68px; }.section-kicker { margin-bottom: 20px; }.intro .section-kicker { margin-bottom: 16px; }.intro-grid { gap: 22px; }.intro h2, .section-heading h2, .values-title h2, .content-header h1 { font-size: clamp(44px, 14vw, 62px); }.intro h2 { max-width: 520px; font-size: clamp(34px, 10vw, 44px); line-height: .98; letter-spacing: -.05em; white-space: nowrap; }.intro h2 br { display: initial; }.intro h2 span { display: block; margin-top: 5px; font-size: 1.04em; }.intro-copy p { margin-bottom: 18px; font-size: 16px; line-height: 1.6; }.intro-copy p:first-child { font-size: 17px; }.intro-copy p:nth-child(2) { color: rgba(34,21,43,.72); }.intro .text-link { width: auto; min-height: 46px; justify-content: flex-start; margin-top: 3px; padding: 10px 16px; border: 1px solid var(--qb-ink); border-radius: 999px; }.intro .text-link span { margin-left: 12px; }
	.image-strip { grid-template-columns: minmax(0, 1.25fr) minmax(108px, .75fr); gap: 12px; margin-top: 34px; align-items: end; }.image-card { aspect-ratio: 4 / 5; border-radius: 72px 72px 18px 18px; }.image-two { margin-bottom: 18px; transform: none; aspect-ratio: 1; border-radius: 18px 18px 58px 58px; }.image-note { position: relative; left: auto; bottom: auto; grid-column: 1 / -1; justify-self: center; margin-top: -7px; padding: 10px 14px; font-size: 12px; transform: rotate(-2deg); }
	.gatherings { padding-top: 64px; padding-bottom: 70px; }.section-heading { gap: 22px; margin-bottom: 38px; }.gatherings .section-heading { gap: 16px; margin-bottom: 26px; }.gatherings .section-heading h2 { font-size: clamp(40px, 12vw, 52px); line-height: .96; }.outline-button { width: 100%; min-height: 48px; justify-content: center; }.gatherings .outline-button { width: auto; min-height: 44px; padding: 10px 16px; }.event-feature { grid-template-columns: auto minmax(0, 1fr) auto; gap: 12px; padding: 18px; border: 1px solid rgba(255,255,255,.2); border-radius: 18px; background: rgba(255,255,255,.035); }.date-block { gap: 7px; }.date-block strong { font-size: 42px; }.date-block span { font-size: 10px; }.event-copy h3 { margin: 3px 0 6px; font-size: 20px; }.event-copy p { font-size: 12px; line-height: 1.35; }.event-arrow { width: 42px; height: 42px; font-size: 20px; }.empty-event { gap: 17px; padding: 20px; border: 1px solid rgba(255,255,255,.2); border-radius: 18px; background: rgba(255,255,255,.035); }.empty-event strong { font-size: 18px; }.empty-event > div > span { margin-top: 6px; font-size: 14px; }.empty-event-links { width: 100%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }.empty-event-links a { width: 100%; min-height: 44px; justify-content: space-between; padding: 10px 12px; font-size: 12px; }.gathering-grid { gap: 12px; margin-top: 28px; }.gathering-card { min-height: 192px; padding: 20px; border-radius: 18px; }.card-icon { font-size: 23px; }.gathering-card h3 { margin: 27px 0 8px; font-size: 27px; }.gathering-card p { margin-bottom: 16px; font-size: 15px; }.gathering-card .card-meta { margin-top: auto; padding-top: 12px; font-size: 12px; }
	.values { gap: 27px; padding-top: 64px; padding-bottom: 70px; }.values-title h2 { font-size: clamp(42px, 12vw, 52px); line-height: .95; }.values-title > p:last-child { max-width: 350px; margin-top: 16px; font-size: 16px; line-height: 1.5; }.value-list { display: grid; gap: 12px; }.value-item { --value-accent: var(--qb-pink); grid-template-columns: 38px minmax(0, 1fr); gap: 12px; padding: 20px 18px 21px; border: 0; border-radius: 18px; background: var(--qb-white); box-shadow: 0 10px 28px rgba(34,21,43,.07); }.value-item.blue { --value-accent: #1eaadd; }.value-item.lime { --value-accent: #6f9b0b; }.value-item.yellow { --value-accent: #c78b00; }.value-item:last-child { border-bottom: 0; }.value-item::before { left: 0; top: 0; width: 5px; height: 100%; border-radius: 18px 0 0 18px; background: var(--value-accent); }.value-item:hover::before { opacity: 1; transform: none; }.value-item > span { width: 34px; height: 34px; display: grid; place-items: center; padding: 0; border: 1px solid currentColor; border-radius: 50%; color: var(--value-accent); text-align: center; font-size: 11px; }.value-item h3 { margin: 2px 0 9px; font-size: 29px; line-height: 1; }.value-item p { font-size: 15px; line-height: 1.55; }.value-item > b { display: none; }.js .value-item { opacity: 0; transform: translateY(18px); }.js .value-item.is-visible { opacity: 1; transform: none; transition: opacity .55s ease, transform .55s cubic-bezier(.2,.8,.2,1); }.js .value-item:nth-child(2).is-visible { transition-delay: .05s; }.js .value-item:nth-child(3).is-visible { transition-delay: .1s; }.js .value-item:nth-child(4).is-visible { transition-delay: .15s; }
	.cta-section { padding: 68px 18px 72px; }.cta-section::before, .cta-section::after { width: 290px; height: 290px; }.cta-section::before { left: -180px; top: -125px; }.cta-section::after { right: -170px; bottom: -190px; }.cta-section .section-kicker { margin-bottom: 16px; }.cta-section h2 { font-size: clamp(48px, 14vw, 62px); line-height: .92; letter-spacing: -.055em; }.cta-section > p:not(.section-kicker) { max-width: 360px; margin: 20px auto 24px; font-size: 16px; line-height: 1.5; }.cta-actions { max-width: 360px; flex-direction: column; gap: 9px; margin: 0 auto; }.primary-button, .social-button { width: 100%; min-height: 49px; justify-content: center; padding: 13px 18px; }.cta-spark { left: 7%; top: 12%; font-size: 32px; opacity: .8; }
	.footer-rainbow { height: 6px; }.footer-inner { width: calc(100% - 32px); padding: 40px 0 20px; }.footer-main { gap: 28px; padding-bottom: 34px; }.footer-logo { margin: -6px 0 20px -8px; padding: 8px; }.footer-logo img { width: 184px; max-height: 60px; }.footer-kicker, .footer-heading { margin-bottom: 12px; }.footer-brand h2 { font-size: 40px; }.footer-copy { margin-top: 16px; font-size: 15px; line-height: 1.55; }.footer-column > a { min-height: 48px; padding: 11px 0; }.footer-contact > a { min-height: 68px; }.footer-bottom { grid-template-columns: minmax(0, 1fr) auto; gap: 16px; padding-top: 20px; }.footer-bottom nav { grid-column: 1 / -1; grid-row: 1; justify-self: start; }.footer-bottom > p { grid-column: 1; grid-row: 2; align-self: center; }.footer-top { grid-column: 2; grid-row: 2; justify-self: end; }.footer-menu { display: grid; grid-template-columns: repeat(2, auto); justify-content: start; gap: 10px 18px; }
	.page-hero { min-height: 280px; padding: 112px 18px 70px; }.page-hero h1 { font-size: clamp(46px, 15vw, 64px); overflow-wrap: anywhere; }.page-hero-art { width: 130px; height: 130px; opacity: .25; }.page-body { margin-top: -24px; padding-bottom: 80px; }.page-entry { padding: 27px 18px; border-radius: 20px; }.entry-content { font-size: 16px; line-height: 1.65; }.entry-content h2 { font-size: 32px; }.entry-content h3 { font-size: 24px; }.entry-content blockquote { padding: 18px 20px; }.entry-content > .alignfull { width: auto; margin-left: 0; }.entry-content table { display: block; max-width: 100%; overflow-x: auto; }
	.page-slug-das-team .page-hero { min-height: 250px; padding: 108px 18px 62px; }.page-slug-das-team .page-hero h1 { font-size: clamp(46px, 13vw, 58px); }.page-slug-das-team .page-body { margin-top: -22px; }.team-intro { grid-template-columns: 44px minmax(0, 1fr); gap: 13px; margin-bottom: 14px; padding: 18px; border-radius: 18px; }.team-intro-mark { width: 42px; height: 42px; font-size: 20px; }.team-intro p { font-size: 15px; line-height: 1.45; }.page-slug-das-team .page-entry { gap: 12px; padding: 18px 12px; border-radius: 19px; }.page-slug-das-team .page-entry > h2 { margin: 24px 4px 3px; padding-top: 20px; font-size: 30px; }.page-slug-das-team .wp-block-media-text, .page-slug-das-team .wp-block-media-text.is-stacked-on-mobile { min-height: 190px; display: flex !important; flex-direction: row !important; align-items: stretch; border-radius: 17px; }.page-slug-das-team .wp-block-media-text::after { left: 105px; right: auto; top: 0; bottom: 0; width: 4px; height: auto; }.page-slug-das-team .wp-block-media-text__media, .page-slug-das-team .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media { order: 1 !important; flex: 0 0 105px; align-self: stretch; width: 105px; height: auto; min-height: 190px; }.page-slug-das-team .wp-block-media-text__media img { min-height: 190px; object-position: center 38%; transform: scale(1.18); }.page-slug-das-team .wp-block-media-text:hover .wp-block-media-text__media img { transform: scale(1.2); }.page-slug-das-team .wp-block-media-text__content, .page-slug-das-team .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content { order: 2 !important; flex: 1 1 auto; align-self: center; min-width: 0; width: auto; padding: 20px 15px !important; }.page-slug-das-team .wp-block-media-text__content p { font-size: 13px; line-height: 1.5; }.page-slug-das-team .wp-block-media-text__content strong:first-child { margin-bottom: 6px; font-size: 22px; }.page-slug-das-team .wp-block-media-text__content a { margin-top: 8px; }
	.meeting-overview .wp-block-media-text { min-height: 0; border-radius: 19px; }.meeting-overview .wp-block-media-text__media, .meeting-overview .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media { height: 205px; min-height: 205px; }.meeting-detail .page-entry iframe { height: 290px; }.page-slug-kontakt .page-hero { min-height: 250px; padding: 108px 18px 62px; }.page-slug-kontakt .page-hero h1 { font-size: clamp(46px, 13vw, 58px); }.page-slug-kontakt .page-body { margin-top: -22px; }.contact-layout { gap: 12px; }.contact-panel { padding: 22px 18px 19px; border-radius: 18px; }.contact-panel::after { width: 170px; height: 170px; right: -105px; bottom: -105px; }.contact-panel .section-kicker { margin-bottom: 14px; }.contact-panel h2 { max-width: 340px; font-size: 38px; line-height: .94; }.contact-panel > p { margin: 16px 0 21px; font-size: 15px; line-height: 1.5; }.contact-options { gap: 8px; }.contact-option { min-height: 62px; grid-template-columns: 38px minmax(0, 1fr) auto; gap: 11px; padding: 11px 12px; border-radius: 12px; }.contact-option-icon { width: 38px; height: 38px; }.contact-option-copy strong { overflow: visible; font-size: 13px; line-height: 1.25; text-overflow: clip; white-space: normal; overflow-wrap: anywhere; }.contact-option-arrow { font-size: 18px; }.contact-form-card { padding: 24px 17px; border-radius: 18px; }.contact-form-card::before { margin-bottom: 15px; font-size: 32px; }.contact-form-card .happyforms-form__part { padding-bottom: 16px !important; }.contact-form-card .happyforms-part--placeholder { margin-bottom: 8px; padding-bottom: 15px !important; }.contact-form-card .happyforms-part--placeholder p { font-size: 15px; line-height: 1.5; }.contact-form-card .happyforms-part__label { margin-bottom: 6px; }.contact-form-card .happyforms-input input, .contact-form-card .happyforms-part input:not([type='hidden']), .contact-form-card .happyforms-part textarea, .contact-form-card .happyforms-part select { min-height: 52px; padding: 12px 14px !important; border-radius: 11px !important; font-size: 16px !important; }.contact-form-card .happyforms-part textarea { min-height: 145px; }.contact-form-card .happyforms-submit { width: 100%; min-height: 52px; }.page-slug-kalender .page-hero { min-height: 250px; padding: 108px 18px 62px; }.page-slug-kalender .page-hero h1 { font-size: clamp(46px, 13vw, 58px); }.page-slug-kalender .page-body { margin-top: -22px; }.calendar-intro { grid-template-columns: 44px minmax(0, 1fr); gap: 13px; margin-bottom: 14px; padding: 18px; border-radius: 18px; }.calendar-intro-icon { width: 42px; height: 42px; font-size: 20px; }.calendar-intro p { font-size: 15px; line-height: 1.45; }.calendar-layout { gap: 14px; }.calendar-panel { padding: 21px 18px 18px; border-radius: 18px; }.calendar-panel .section-kicker { margin-bottom: 13px; }.calendar-panel h2 { margin-bottom: 12px; font-size: 29px; }.calendar-panel > p:not(.section-kicker) { font-size: 13px; line-height: 1.5; }.calendar-links { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 18px; }.calendar-links a, .calendar-links a:last-child { min-height: 44px; align-items: center; padding: 10px 11px; border: 1px solid rgba(255,255,255,.14); border-radius: 11px; background: rgba(255,255,255,.045); }.calendar-links a:hover { padding-left: 11px; }.page-slug-kalender .page-entry { min-width: 0; overflow: hidden; padding: 6px; border-radius: 17px; }.page-slug-kalender .page-entry > p { width: 100%; overflow: hidden; }.page-slug-kalender .page-entry iframe { display: block; width: 100% !important; max-width: 100%; min-width: 0; height: 650px; border-radius: 12px; }
	.page-slug-gallery .page-hero, .single-pgc_simply_gallery .album-hero { min-height: 250px; padding: 108px 18px 62px; }.page-slug-gallery .page-hero h1 { font-size: clamp(46px, 13vw, 58px); }.page-slug-gallery .page-body, .single-pgc_simply_gallery .album-body { margin-top: -22px; }.gallery-intro { grid-template-columns: 44px minmax(0, 1fr); gap: 13px; margin-bottom: 14px; padding: 18px; border-radius: 18px; }.gallery-intro-icon { width: 42px; height: 42px; font-size: 20px; }.gallery-intro p { font-size: 15px; line-height: 1.45; }.page-slug-gallery .page-entry { padding: 18px 12px; border-radius: 19px; }.page-slug-gallery .page-entry > h2 { gap: 10px; margin: 30px 4px 15px; font-size: 30px; }.page-slug-gallery .page-entry > h2::before { width: 28px; height: 4px; }.page-slug-gallery .pgc-sgb-album { margin-bottom: 8px; }.page-slug-gallery .sgb-gallery { gap: 12px !important; }.page-slug-gallery .sgb-item { border-radius: 16px !important; box-shadow: 0 10px 26px rgba(34,21,43,.11); }.page-slug-gallery .sgb-item a { min-height: 210px; }.page-slug-gallery .sgb-item img { height: auto !important; aspect-ratio: 4 / 3; object-fit: cover; }.page-slug-gallery .sgb-item-caption { min-height: 66px; padding: 25px 15px 13px !important; }.page-slug-gallery .sgb-item-caption em { font-size: 15px; }.single-pgc_simply_gallery .album-hero h1 { font-size: clamp(38px, 11vw, 52px); }.album-toolbar { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 8px; margin-bottom: 12px; padding: 15px 17px; border-radius: 16px; }.album-toolbar a { min-height: 36px; padding: 0 12px; border: 1px solid rgba(34,21,43,.22); border-radius: 999px; }.album-toolbar p { font-size: 12px; line-height: 1.4; }.album-entry { padding: 9px; }.single-pgc_simply_gallery .sgb-item { margin-bottom: 10px !important; border-radius: 14px !important; }.page-slug-presse .sgb-item img { height: 260px !important; }.page-slug-partner .wp-block-column { min-height: 165px; }.article-entry { padding: 28px 19px; }.article-feature img { min-height: 220px; }.article-sidebar { padding: 21px 19px; }
}

@media (max-width: 420px) {
	.brand-logo { width: 128px; }.site-header.is-scrolled .brand-logo { width: 122px; }.site-header { padding-left: 10px; padding-right: 10px; }.hero { min-height: clamp(590px, 86svh, 700px); }.hero h1 { font-size: clamp(42px, 13vw, 54px); }.hero-content { padding: 104px 16px 42px; }.hero-bottom { grid-template-columns: 1fr; gap: 17px; margin-top: 24px; }.circle-link { justify-self: end; }.section { padding-left: 16px; padding-right: 16px; }.intro h2 { font-size: clamp(33px, 9.8vw, 41px); }.intro-copy p:first-child { font-size: 16px; }.image-strip { grid-template-columns: minmax(0, 1.2fr) minmax(100px, .8fr); }
	.event-feature { grid-template-columns: 48px minmax(0, 1fr) 42px; padding: 16px 14px; }.date-block { grid-column: auto; display: block; }.date-block strong, .date-block span { display: block; }.date-block strong { font-size: 37px; }.event-copy h3 { font-size: 19px; }.empty-event-links { grid-template-columns: 1fr; }.gathering-card { min-height: 184px; }.cta-section h2 { font-size: clamp(44px, 13.5vw, 56px); }.footer-brand h2 { font-size: 37px; }.footer-menu { grid-template-columns: 1fr; gap: 10px; }.page-slug-das-team .wp-block-media-text__media, .page-slug-das-team .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media { flex-basis: 92px; width: 92px; }.page-slug-das-team .wp-block-media-text::after { left: 92px; }.page-slug-das-team .wp-block-media-text__content, .page-slug-das-team .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content { padding: 18px 13px !important; }.page-slug-das-team .wp-block-media-text__content strong:first-child { font-size: 20px; }.contact-panel h2 { font-size: 34px; }.contact-form-card::before { font-size: 29px; }.calendar-intro { grid-template-columns: 40px minmax(0, 1fr); padding: 16px; }.calendar-intro-icon { width: 38px; height: 38px; }.calendar-links { grid-template-columns: 1fr; }.page-slug-kalender .page-entry iframe { height: 600px; }.gallery-intro { grid-template-columns: 40px minmax(0, 1fr); padding: 16px; }.gallery-intro-icon { width: 38px; height: 38px; }.page-slug-gallery .sgb-item a { min-height: 190px; }.single-pgc_simply_gallery .album-hero h1 { font-size: clamp(35px, 10.5vw, 46px); }.album-toolbar { grid-template-columns: 1fr; align-items: flex-start; }.album-toolbar a { justify-self: start; }.search-result-card { grid-template-columns: 1fr; }.search-result-card:not(:has(.search-result-image))::before { min-height: 74px; }.search-result-image { min-height: 190px; }.search-result-copy { padding: 22px 18px 24px; }
}

/* Mobile news overview and editorial article layout. */
@media (max-width: 640px) {
	.dsdvo-cookie-notice.style3 #tarteaucitronAlertBig { inset: 0 !important; padding: calc(8px + env(safe-area-inset-top)) 8px calc(8px + env(safe-area-inset-bottom)) !important; }
	.dsdvo-cookie-notice.style3 #tarteaucitronAlertBig #tarinner { display: block; max-height: calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); overflow-y: auto; padding: 20px 17px 16px !important; border-radius: 19px !important; }
	.dsdvo-cookie-notice.style3 #tarteaucitronDisclaimerAlert { margin-bottom: 13px !important; font-size: 14px !important; line-height: 1.45 !important; }
	.dsdvo-cookie-notice.style3 #tarteaucitronDisclaimerAlert::before { font-size: 20px; }
	.dsdvo-cookie-notice.style3 #tarteaucitronAlertBig button, .dsdvo-cookie-notice.style3 #tarteaucitronAlertBig .tarteaucitronCTAButton, .dsdvo-cookie-notice.style3 #tarteaucitronAlertBig #tarteaucitronPersonalize, .dsdvo-cookie-notice.style3 #tarteaucitronAlertBig #tarteaucitronAllDenied, .dsdvo-cookie-notice.style3 #tarteaucitronAlertBig #tarteaucitronCloseAlert { width: 100% !important; margin: 4px 0 !important; }
	.dsdvo-cookie-notice.style3 #dsgvoaio-checkbox-wrapper, .dsdvo-cookie-notice.style3 #dsgvonotice_footer { margin-top: 10px !important; padding-top: 10px !important; }
	.dsdvo-cookie-notice.style3 #dsgvoaio-checkbox-wrapper ul { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	body:not(.home) .archive-shell { width: calc(100% - 28px); padding-top: 118px; padding-bottom: 74px; }
	.archive-shell .content-header { margin-bottom: 24px; padding: 0 4px; }
	.archive-shell .content-header .section-kicker { margin-bottom: 13px; }
	.archive-shell .content-header h1 { max-width: 520px; font-size: clamp(42px, 12.5vw, 56px); line-height: .94; text-wrap: balance; }
	.archive-shell .post-grid { gap: 14px; }
	.archive-shell .post-card { position: relative; overflow: hidden; padding: 0 0 20px; border: 1px solid rgba(34,21,43,.09); border-radius: 19px; background: var(--qb-white); box-shadow: 0 12px 32px rgba(34,21,43,.08); }
	.archive-shell .post-card:not(:has(.post-card-image))::before { content: ''; display: block; height: 7px; background: linear-gradient(90deg, var(--qb-pink), var(--qb-yellow), var(--qb-lime), var(--qb-blue)); }
	.archive-shell .post-card-image { aspect-ratio: 16 / 9; margin: 0 0 18px; border-radius: 0; }
	.archive-shell .post-card-image img { object-position: center; }
	.archive-shell .post-card-meta, .archive-shell .post-card h2, .archive-shell .post-card > p:not(.post-date), .archive-shell .post-card > .text-link { margin-left: 18px; margin-right: 18px; }
	.archive-shell .post-card-meta { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center; margin-bottom: 10px; }
	.archive-shell .post-date { margin: 0; font-size: 11px; }
	.archive-shell .post-category { color: #a91b63; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
	.archive-shell .post-card h2 { margin-top: 0; margin-bottom: 11px; font-size: clamp(27px, 8vw, 34px); line-height: 1; overflow-wrap: anywhere; text-wrap: balance; }
	.archive-shell .post-card > p:not(.post-date) { display: -webkit-box; margin-top: 0; margin-bottom: 17px; overflow: hidden; color: rgba(34,21,43,.68); font-size: 15px; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
	.archive-shell .post-card > .text-link { width: calc(100% - 36px); min-height: 44px; justify-content: space-between; padding: 10px 14px; border: 1px solid rgba(34,21,43,.18); border-radius: 999px; font-size: 13px; }
	.archive-shell .navigation.pagination { margin-top: 28px; }
	.archive-shell .nav-links { flex-wrap: wrap; margin-top: 0; }

	.page-slug-news .page-hero, .article-hero { min-height: 250px; padding: 108px 18px 62px; }
	.page-slug-news .page-hero h1 { font-size: clamp(46px, 13vw, 58px); }
	.page-slug-news .page-body, .article-body { margin-top: -22px; }
	.news-intro { grid-template-columns: 44px minmax(0, 1fr); gap: 13px; margin-bottom: 14px; padding: 18px; border-radius: 18px; }
	.news-intro-icon { width: 42px; height: 42px; font-size: 20px; }
	.news-intro p { font-size: 15px; line-height: 1.45; }
	.page-slug-news .page-entry { padding: 20px 14px; border-radius: 19px; }
	.page-slug-news .page-entry > h2 { margin-bottom: 21px; font-size: 32px; line-height: 1; }
	.page-slug-news .page-entry .wp-block-columns { gap: 11px; }
	.page-slug-news .wp-block-file { min-height: 120px; padding: 19px; border-radius: 16px; }
	.page-slug-news .wp-block-file > a:not(.wp-block-file__button) { margin-bottom: 14px; font-size: 17px; line-height: 1.3; overflow-wrap: anywhere; }
	.page-slug-news .page-entry > .wp-block-group { gap: 10px; margin: 24px 0 !important; padding: 18px !important; border-radius: 18px !important; }
	.page-slug-news .page-entry > .wp-block-group > h2 { margin-bottom: 5px; font-size: 30px; }
	.page-slug-news .page-entry > .wp-block-group > .wp-block-media-text { min-height: 126px; padding: 18px !important; border-radius: 14px !important; }
	.page-slug-news .wp-block-group .wp-block-media-text__media { width: 42px; height: 42px; margin-bottom: 17px; }
	.page-slug-news .wp-block-group .wp-block-media-text__media img { width: 42px; height: 42px; }
	.page-slug-news .wp-block-cover { min-height: 230px !important; border-radius: 17px !important; }
	.page-slug-news .wp-block-cover__inner-container { padding: 21px; }
	.social-hub { grid-template-columns: 1fr; gap: 14px; margin-bottom: 14px; padding: 19px; border-radius: 18px; }
	.social-hub-copy { padding: 2px; }
	.social-hub-copy .section-kicker { margin-bottom: 10px; }
	.social-hub-copy h2 { margin-bottom: 9px; font-size: 31px; }
	.social-hub-links { gap: 9px; }
	.social-card { min-height: 136px; padding: 16px; border-radius: 14px; }
	.social-card-icon { width: 36px; height: 36px; font-size: 19px; }
	.social-card-copy strong { font-size: 17px; }

	.article-hero h1 { max-width: 560px; font-size: clamp(38px, 11.5vw, 52px); line-height: .96; overflow-wrap: anywhere; text-wrap: balance; }
	.article-hero-date { margin-bottom: 11px; }
	.article-hero .page-breadcrumb { margin-bottom: 14px; }
	.article-body { width: calc(100% - 28px); padding-bottom: 74px; }
	.article-feature { aspect-ratio: 16 / 10; max-height: none; margin-bottom: 12px; border-radius: 18px; box-shadow: 0 14px 38px rgba(34,21,43,.15); }
	.article-feature::after { height: 5px; }
	.article-feature img { width: 100%; height: 100%; min-height: 0; max-height: none; object-fit: cover; }
	.article-layout { gap: 12px; }
	.article-sidebar { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 15px; align-items: end; padding: 18px; border-radius: 17px; }
	.article-sidebar .section-kicker { grid-column: 1; }
	.article-sidebar time { grid-column: 1; font-size: 18px; }
	.article-categories { grid-column: 1 / -1; margin-top: 7px; padding-top: 14px; }
	.article-back { grid-column: 2; grid-row: 1 / 3; align-self: center; margin: 0; padding: 10px 12px; border: 1px solid rgba(34,21,43,.22); border-radius: 999px; white-space: nowrap; }
	.article-entry { padding: 25px 18px; border-radius: 18px; }
	.article-entry p, .article-entry li { font-size: 16px; line-height: 1.68; }
	.article-entry > p:first-child { font-size: 17px; line-height: 1.6; }
	.article-entry h2 { font-size: 30px; line-height: 1.05; }
	.article-entry h3 { font-size: 23px; }
	.article-entry figure { margin-top: 25px; margin-bottom: 25px; }
	.article-entry figure img { border-radius: 13px; }
	.article-entry .wp-block-separator { margin: 32px 0; }
	.article-page .post-navigation { margin-top: 14px; }
	.article-page .post-navigation .nav-links { gap: 9px; }
	.article-page .post-navigation a { min-height: 100px; padding: 18px; border-radius: 16px; }
	.article-page .post-navigation strong { font-size: 17px; line-height: 1.25; }
}

@media (max-width: 420px) {
	.article-sidebar { grid-template-columns: 1fr; }
	.article-back { grid-column: 1; grid-row: auto; justify-self: start; margin-top: 7px; }
	.archive-shell .post-card h2 { font-size: 27px; }
}

/* Compact, readable legal documents on phones. */
@media (max-width: 640px) {
	.page-slug-impressum .page-hero, .page-slug-datenschutzerklaerung .page-hero { min-height: 250px; padding: 108px 18px 62px; }
	.page-slug-impressum .page-hero h1 { font-size: clamp(46px, 13vw, 58px); }
	.page-slug-datenschutzerklaerung .page-hero { min-height: 285px; padding-top: 128px; }
	.page-slug-datenschutzerklaerung .page-hero h1 { max-width: 580px; font-size: clamp(34px, 9.8vw, 45px); line-height: .98; overflow-wrap: break-word; word-break: normal; hyphens: auto; text-wrap: balance; }
	.page-slug-impressum .page-body, .page-slug-datenschutzerklaerung .page-body { margin-top: -22px; padding-bottom: 74px; }
	.legal-intro { grid-template-columns: 42px minmax(0, 1fr); gap: 13px; margin-bottom: 12px; padding: 17px; border-radius: 17px; }
	.legal-intro::after { right: -68px; width: 130px; height: 130px; }
	.legal-intro-icon { width: 42px; height: 42px; font-size: 20px; }
	.legal-intro p { font-size: 15px; line-height: 1.45; }
	.legal-layout { gap: 11px; }
	.legal-sidebar { padding: 17px; border-radius: 17px; }
	.legal-sidebar::after { right: -72px; bottom: -82px; width: 140px; height: 140px; }
	.legal-sidebar .section-kicker { margin-bottom: 12px; }
	.legal-toc { display: none; }
	.legal-toc-select { position: relative; z-index: 1; width: 100%; min-height: 50px; display: block; padding: 0 42px 0 14px; border: 1px solid rgba(255,255,255,.24); border-radius: 13px; outline: 0; background: rgba(255,255,255,.09); color: white; font-size: 16px; font-weight: 700; }
	.legal-toc-select:focus { border-color: var(--qb-lime); box-shadow: 0 0 0 3px rgba(200,239,105,.18); }
	.legal-toc-select option { background: var(--qb-ink); color: white; }
	.legal-help { min-height: 52px; margin-top: 11px; padding: 11px 14px; border-radius: 12px; }
	.legal-help small { font-size: 10px; }
	.legal-entry { padding: 25px 18px; border-radius: 18px; }
	.legal-entry h2, .legal-entry h3, .legal-entry h4 { scroll-margin-top: 90px; overflow-wrap: anywhere; text-wrap: balance; }
	.legal-entry h2 { margin-top: 1.7em; padding-top: .9em; font-size: 29px; line-height: 1.05; }
	.legal-entry h3 { margin-top: 1.65em; font-size: 23px; line-height: 1.12; }
	.legal-entry h4 { margin-top: 1.5em; font-size: 18px; line-height: 1.2; }
	.legal-entry p, .legal-entry li { font-size: 16px; line-height: 1.68; overflow-wrap: anywhere; }
	.legal-entry ul, .legal-entry ol { padding-left: 1.25em; }
	.legal-entry table { margin: 22px 0; border-radius: 11px; box-shadow: inset -16px 0 18px -20px rgba(34,21,43,.7); -webkit-overflow-scrolling: touch; }
	.legal-entry th, .legal-entry td { min-width: 135px; padding: 11px 12px; font-size: 13px; line-height: 1.45; }
	.legal-entry blockquote { margin: 22px 0; padding: 17px 18px; }
}

@media (max-width: 420px) {
	.page-slug-datenschutzerklaerung .page-hero h1 { font-size: clamp(32px, 9.5vw, 40px); }
}

/* Dedicated tablet layout: portrait and landscape between phone and desktop. */
@media (min-width: 641px) and (max-width: 1024px) {
	.dsdvo-cookie-notice.style3 #tarteaucitronAlertBig { inset: 0 !important; padding: 14px !important; }
	.dsdvo-cookie-notice.style3 #tarteaucitronAlertBig #tarinner { max-height: calc(100dvh - 28px); grid-template-columns: 1fr; gap: 13px; padding: 22px 24px !important; }
	.dsdvo-cookie-notice.style3 #tarteaucitronDisclaimerAlert { max-width: none; }
	.site-header { top: 10px; left: 14px; right: 14px; height: 76px; padding: 0 22px; border-radius: 25px; }
	.site-header.is-scrolled { top: 7px; height: 68px; }
	.brand-logo { width: 190px; max-height: 52px; }
	.site-header.is-scrolled .brand-logo { width: 170px; }
	.menu-toggle { width: 48px; height: 48px; padding: 11px; }
	.primary-navigation { padding: calc(112px + env(safe-area-inset-top)) 32px calc(38px + env(safe-area-inset-bottom)); background: linear-gradient(155deg, rgba(24,11,32,.995), rgba(45,23,54,.99)); color: white; }
	.primary-menu { width: min(580px, 100%); gap: 8px; }
	.primary-menu > li { padding: 0 18px; border: 1px solid rgba(255,255,255,.22); border-radius: 17px; background: rgba(255,255,255,.075); box-shadow: inset 0 1px 0 rgba(255,255,255,.06); }
	.primary-menu > li.current-menu-item, .primary-menu > li.current-menu-ancestor { border-color: rgba(200,239,105,.62); background: rgba(200,239,105,.12); }
	.primary-menu > li > a { min-height: 62px; display: flex; align-items: center; padding: 12px 0; color: #fff; font-size: clamp(28px, 4.5vw, 36px); text-shadow: 0 2px 12px rgba(0,0,0,.35); }
	.primary-menu > li > a::after { bottom: 8px; }
	.submenu-toggle { width: 46px; height: 46px; border-color: rgba(255,255,255,.42); background: rgba(255,255,255,.09); color: var(--qb-lime); }
	.primary-menu .sub-menu a { min-height: 47px; border-color: rgba(255,255,255,.16); background: rgba(255,255,255,.07); color: rgba(255,255,255,.92); font-size: 16px; }

	.hero { min-height: min(820px, 90svh); }
	.hero-content { padding: 145px 7vw 80px; }
	.hero h1 { max-width: 820px; font-size: clamp(70px, 10.5vw, 98px); }
	.hero-bottom { margin-top: 38px; }
	.hero-bottom p { max-width: 610px; font-size: 18px; }
	.hero-sticker { width: 92px; height: 92px; }
	.section { padding-left: 34px; padding-right: 34px; }
	.intro, .gatherings, .values { padding-top: 92px; padding-bottom: 94px; }
	.intro-grid { gap: 34px; }
	.intro h2 { font-size: clamp(58px, 8.6vw, 78px); }
	.image-strip { max-width: 820px; margin-top: 62px; }
	.gathering-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
	.gathering-card { min-height: 225px; }
	.gathering-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
	.values { gap: 38px; }
	.value-item { padding-top: 34px; padding-bottom: 34px; }
	.cta-section { padding: 110px 34px; }
	.cta-section h2 { font-size: clamp(70px, 10.8vw, 104px); }

	.page-hero { min-height: 350px; padding: 120px 34px 92px; }
	.page-hero-inner { grid-template-columns: minmax(0, 1fr) 170px; gap: 25px; }
	.page-hero h1 { font-size: clamp(58px, 8.5vw, 82px); }
	.page-hero-art { position: relative; right: auto; top: auto; width: 170px; height: 170px; opacity: .58; }
	.page-body { width: calc(100% - 36px); margin-top: -38px; padding-bottom: 105px; }
	.page-entry { padding: clamp(38px, 5.5vw, 58px); border-radius: 28px; }
	.entry-content { font-size: 17px; }
	.team-intro, .news-intro, .calendar-intro, .gallery-intro, .partner-intro, .press-intro, .archive-intro, .legal-intro { padding: 23px 25px; border-radius: 21px; }

	.page-slug-das-team .page-entry { gap: 17px; padding: 28px; }
	.page-slug-das-team .wp-block-media-text { min-height: 270px; }
	.page-slug-das-team .wp-block-media-text__media img { min-height: 270px; }
	.meeting-overview .page-entry { gap: 16px; padding: 27px; }
	.meeting-overview .wp-block-media-text { border-radius: 21px; }
	.meeting-detail .page-entry iframe { height: 430px; }
	.contact-form-card, .contact-panel { border-radius: 24px; }
	.contact-form-card { padding: 38px 34px; }
	.contact-options { gap: 10px; }
	.contact-option { min-height: 76px; padding: 13px; }
	.page-slug-news .page-entry > .wp-block-group { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
	.page-slug-news .page-entry > .wp-block-group > h2 { grid-column: 1 / -1; }
	.page-slug-news .page-entry > .wp-block-group > .wp-block-media-text { min-height: 158px; }
	.social-hub { grid-template-columns: minmax(200px, .72fr) minmax(0, 1.28fr); padding: 22px; }
	.social-card { min-height: 165px; }
	.page-slug-gallery .sgb-gallery, .page-slug-presse .sgb-gallery, .page-slug-partner .page-entry { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.page-slug-gallery .sgb-item img { height: 235px !important; }
	.single-pgc_simply_gallery .sgb-gallery { columns: 2; }
	.calendar-panel { padding: 26px 24px; }
	.page-slug-kalender .page-entry iframe { height: 680px; }

	body:not(.home) .archive-shell { padding-top: 145px; }
	.archive-shell .content-header { margin-bottom: 42px; }
	.post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
	.post-card h2 { font-size: 25px; }
	.article-hero .page-hero-inner { grid-template-columns: minmax(0, 1fr) 165px; }
	.article-hero h1 { font-size: clamp(48px, 7.5vw, 72px); }
	.article-layout { grid-template-columns: 205px minmax(0, 1fr); gap: 17px; }
	.article-entry { padding: 38px 34px; }
	.article-page .post-navigation { margin-left: 222px; }
	.article-page .post-navigation a { min-height: 115px; padding: 20px; }

	.footer-inner { width: calc(100% - 54px); padding-top: 64px; }
	.footer-main { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 42px 55px; }
	.footer-brand { grid-column: 1 / -1; max-width: 700px; }
	.footer-brand h2 { max-width: 620px; font-size: clamp(55px, 8vw, 76px); }
	.footer-bottom { gap: 20px; }
}

@media (min-width: 641px) and (max-width: 820px) {
	.page-hero-inner, .article-hero .page-hero-inner { grid-template-columns: 1fr; }
	.page-hero-art { position: absolute; right: -25px; top: -18px; opacity: .34; }
	.page-slug-datenschutzerklaerung .page-hero h1 { font-size: clamp(48px, 7.2vw, 60px); overflow-wrap: break-word; hyphens: auto; }
	.article-layout, .legal-layout { grid-template-columns: 1fr; }
	.article-sidebar, .legal-sidebar { position: relative; top: auto; }
	.article-page .post-navigation { margin-left: 0; }
	.legal-toc { display: none; }
	.legal-toc-select { position: relative; z-index: 1; width: 100%; min-height: 52px; display: block; padding: 0 44px 0 15px; border: 1px solid rgba(255,255,255,.24); border-radius: 13px; outline: 0; background: rgba(255,255,255,.09); color: white; font-size: 16px; font-weight: 700; }
	.legal-toc-select option { background: var(--qb-ink); color: white; }
	.contact-options { grid-template-columns: 1fr; }
	.contact-option { grid-template-columns: 42px minmax(0, 1fr) auto; }
	.contact-option-arrow { display: block; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

@media (max-width: 900px) {
	.archive-empty { grid-template-columns: auto minmax(0, 1fr); }
	.archive-empty-links { grid-column: 1 / -1; }
}

@media (max-width: 640px) {
	.archive-page .archive-hero { min-height: 270px; padding: 108px 18px 65px; }
	.archive-page .archive-hero h1 { max-width: 570px; font-size: clamp(42px, 12.5vw, 56px); line-height: .94; overflow-wrap: anywhere; text-wrap: balance; }
	.archive-page .archive-hero .page-intro { max-width: 520px; font-size: 15px; line-height: 1.5; }
	body:not(.home) .archive-page .archive-shell, .archive-page .archive-shell { width: calc(100% - 28px); padding-top: 42px; padding-bottom: 74px; }
	.archive-empty { grid-template-columns: 1fr; gap: 20px; padding: 30px 22px; border-radius: 21px; }
	.archive-empty-icon { width: 58px; height: 58px; font-size: 27px; }
	.archive-empty-copy h2 { font-size: clamp(30px, 9vw, 40px); }
	.archive-empty-copy > p:last-child { font-size: 15px; }
	.archive-empty-links { grid-column: 1; }
}

@media (min-width: 641px) and (max-width: 1024px) {
	body:not(.home) .archive-page .archive-shell, .archive-page .archive-shell { padding-top: 58px; }
	.archive-empty { padding: 38px; }
}

/* WhatsApp channel across contact and social areas. */
.social-hub-links { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.social-card.whatsapp .social-card-icon, .contact-option.whatsapp .contact-option-icon { background: #25d366; color: #102a1a; font-size: 12px; letter-spacing: -.04em; }
.contact-option.whatsapp:hover .contact-option-icon { background: #25d366; color: #102a1a; }

@media (min-width: 641px) and (max-width: 1024px) {
	.social-hub-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.social-card.whatsapp { grid-column: 1 / -1; min-height: 118px; }
}

@media (max-width: 640px) {
	.social-hub-links { grid-template-columns: 1fr; }
	.social-card.whatsapp { grid-column: auto; }
}

/* Crisp footer logo with a separate soft glass glow behind it. */
.footer-logo { isolation: isolate; padding: 14px 18px; background: none; }
.footer-logo::before { content: ''; position: absolute; z-index: -2; inset: -12px -24px; border-radius: 50%; background: radial-gradient(ellipse at 44% 50%, rgba(255,255,255,.44) 0, rgba(255,255,255,.25) 25%, rgba(114,216,255,.18) 46%, rgba(242,68,150,.1) 63%, transparent 80%); filter: blur(20px); opacity: .94; transition: opacity .35s ease, transform .35s ease; pointer-events: none; }
.footer-logo::after { content: ''; position: absolute; z-index: -1; left: 20px; right: 20px; bottom: 4px; height: 19px; border-radius: 999px; background: linear-gradient(90deg, var(--qb-coral), var(--qb-yellow), var(--qb-lime), var(--qb-blue), var(--qb-pink)); filter: blur(11px); opacity: .5; pointer-events: none; }
.footer-logo img, .footer-logo:hover img { position: relative; z-index: 1; width: 285px; max-height: 88px; filter: drop-shadow(0 7px 12px rgba(0,0,0,.28)); }
.footer-logo:hover::before { opacity: 1; transform: scale(1.04); }

@media (min-width: 641px) and (max-width: 1024px) {
	.footer-logo img, .footer-logo:hover img { width: 255px; max-height: 80px; }
}

@media (max-width: 640px) {
	.footer-logo { padding: 10px 12px; }
	.footer-logo::before { inset: -9px -16px; filter: blur(15px); }
	.footer-logo::after { left: 13px; right: 13px; bottom: 2px; height: 15px; filter: blur(9px); }
	.footer-logo img, .footer-logo:hover img { width: 215px; max-height: 68px; }
}
