/* 1.0.175: vorhandene Markenfarben und Prometo übernehmen.
   Ausschließlich Core-Leistungsseiten; keine Elementor- oder Backend-Regeln. */
:is(.ke-eventfireworks-page,.ke-sfx-page,.ke-modules-page) .ke-service-hero {padding:clamp(40px,6vw,80px) 0!important}
:is(.ke-eventfireworks-page,.ke-sfx-page,.ke-modules-page) .ke-service-hero__grid {display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:clamp(28px,5vw,64px);position:relative;z-index:1}
:is(.ke-eventfireworks-page,.ke-sfx-page,.ke-modules-page) .ke-service-hero__copy {min-width:0}
:is(.ke-eventfireworks-page,.ke-sfx-page,.ke-modules-page) .ke-service-hero h1 {font-size:clamp(32px,4.4vw,60px)!important;line-height:1.05!important;letter-spacing:-.035em;max-width:17ch;margin:18px 0 24px!important;overflow-wrap:anywhere}
:is(.ke-eventfireworks-page,.ke-sfx-page,.ke-modules-page) .ke-service-hero__copy>p {font-size:16px!important;line-height:1.7!important;color:#d0d6df!important;max-width:58ch}
:is(.ke-eventfireworks-page,.ke-sfx-page,.ke-modules-page) .ke-service-hero__photo {margin:0;min-width:0;overflow:hidden;border:1px solid #ffffff25;border-radius:20px;background:#0a111f;box-shadow:0 22px 60px #0004}
:is(.ke-eventfireworks-page,.ke-sfx-page,.ke-modules-page) .ke-service-hero__photo img {display:block;width:100%;height:auto;margin:0;object-fit:contain;background:#080d19}
:is(.ke-eventfireworks-page,.ke-sfx-page,.ke-modules-page) .ke-service-hero__photo figcaption {padding:12px 16px;font-size:11px;line-height:1.5;color:#c8cfda;background:#0a111f}
.ke-sfx-page .ke-service-hero__photo {max-width:280px;justify-self:center;width:100%}
.ke-sfx-page .ke-service-hero__photo img {max-height:420px;width:100%;object-fit:contain}
:is(.ke-eventfireworks-page,.ke-sfx-page,.ke-modules-page) .ke-service-jumps {display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:20px}
:is(.ke-eventfireworks-page,.ke-sfx-page,.ke-modules-page) .ke-service-jumps a {display:inline-flex;align-items:center;min-height:44px;font-size:13px;color:#e2e7ef;text-decoration:underline;text-underline-offset:5px;line-height:1.4}
:is(.ke-eventfireworks-page,.ke-sfx-page,.ke-modules-page) :is(.ke-service-jumps a,.ke-module-link):focus-visible {outline:3px solid var(--ke-magenta,#e72d79);outline-offset:4px}
:is(.ke-eventfireworks-page,.ke-sfx-page,.ke-modules-page) :is(.ke-card4,.ke-event-cardgrid,.ke-modulegrid) {gap:20px!important}
:is(.ke-eventfireworks-page,.ke-sfx-page,.ke-modules-page) :is(.ke-card4>div,.ke-card4>article,.ke-event-card,.ke-module) {border-radius:18px!important;box-shadow:0 12px 32px #0b102008!important;min-width:0;overflow-wrap:anywhere}
:is(.ke-eventfireworks-page,.ke-sfx-page,.ke-modules-page) :is(.ke-card4 h3,.ke-event-card h3,.ke-module h3) {font-size:22px!important;line-height:1.2!important}
:is(.ke-eventfireworks-page,.ke-sfx-page,.ke-modules-page) :is(.ke-card4 p,.ke-event-card p,.ke-module p) {font-size:14px!important;line-height:1.65!important;color:#465463!important}
.ke-modules-page .ke-modulegrid {grid-template-columns:repeat(3,minmax(0,1fr))!important}
.ke-modules-page .ke-module-link {display:flex!important;flex-direction:column;align-items:stretch;padding:20px!important;gap:0!important}
.ke-modules-page .ke-module-photo {display:block;width:100%;height:190px;object-fit:contain;background:#f6f7fa;border-radius:12px;margin:0 0 20px}
.ke-modules-page .ke-module-photo--huepfburg {object-fit:cover}
.ke-modules-page .ke-module-link>span {display:flex;align-items:center;justify-content:center;height:190px;flex-shrink:0;background:radial-gradient(circle,#e72d7915,transparent 65%);border-radius:12px;margin-bottom:20px;font-size:56px!important}
.ke-modules-page .ke-module-link h3 {margin:0 0 10px!important}
.ke-modules-page .ke-module-link p {margin:0 0 16px!important}
.ke-modules-page .ke-module-link::after {content:'Bereich entdecken →';display:block;font-size:13px;font-weight:700;color:var(--ke-magenta,#e72d79);margin-top:auto;padding-top:8px}
:is(#event-anlaesse,#event-ablauf,#sfx-einsatzbereiche,#sfx-projektablauf,#modulbereiche,#mietkatalog) {scroll-margin-top:110px}
:is(.ke-eventfireworks-page,.ke-sfx-page,.ke-modules-page) .ke-section {padding-top:clamp(36px,5vw,64px);padding-bottom:clamp(36px,5vw,64px)}
@media(max-width:1000px) {
 :is(.ke-eventfireworks-page,.ke-sfx-page,.ke-modules-page) .ke-service-hero__grid {grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:24px}
 .ke-modules-page .ke-modulegrid {grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:767px) {
 :is(.ke-eventfireworks-page,.ke-sfx-page,.ke-modules-page) .ke-service-hero__grid {grid-template-columns:1fr}
 :is(.ke-eventfireworks-page,.ke-sfx-page,.ke-modules-page) .ke-service-hero h1 {max-width:20ch;font-size:36px!important}
 :is(.ke-eventfireworks-page,.ke-sfx-page,.ke-modules-page) .ke-service-hero__photo {max-width:560px;width:100%;justify-self:center}
 .ke-sfx-page .ke-service-hero__photo {max-width:220px}
 .ke-sfx-page .ke-service-hero__photo img {max-height:330px}
 :is(.ke-eventfireworks-page,.ke-sfx-page,.ke-modules-page) .ke-service-hero__copy>p {font-size:15px!important}
 .ke-modules-page .ke-module-photo,.ke-modules-page .ke-module-link>span {height:160px}
}
@media(max-width:540px) {
 .ke-modules-page .ke-modulegrid {grid-template-columns:1fr!important}
 :is(.ke-eventfireworks-page,.ke-sfx-page,.ke-modules-page) .ke-service-hero h1 {font-size:32px!important}
 .ke-modules-page .ke-module-photo,.ke-modules-page .ke-module-link>span {height:210px}
}
