@font-face{font-family:"ZH Display";src:url(https://www.zeyer-malerbetrieb.de/wp-content/uploads/2026/10/bricolage-grotesque-latin.woff2) format("woff2");font-weight:200 800;font-style:normal;font-display:block}
/* Zeyer Hero (zh-): reines CSS. 1 Entwurfspixel = var(--u) = Bühnenbreite / 1168. Erzeugt von tools/hero_build.py */
.zh{--zh-ink:#2c2d33;--zh-ov:#7b97ff;--zh-glint:#fff;--zh-pad:clamp(12px,2.6svh,36px);--zh-offset:var(--zeyer-header-h,0px);--zh-font:"ZH Display","Alfa Slab One",Georgia,serif;
container-type:inline-size;position:relative;display:grid;place-items:center;box-sizing:border-box;min-height:calc(100svh - var(--zh-offset));padding-block:var(--zh-pad);
background:var(--zh-paper,none) center/cover no-repeat,#f4f4f1;overflow:hidden;color:var(--zh-ink)}
.elementor-widget-zh_hero,.elementor-widget-zh_hero>.elementor-widget-container{width:100%;max-width:100%;min-width:0}
.zh *,.zh *::before,.zh *::after{box-sizing:border-box}
/* Geometrie in Entwurfspixeln (ohne Einheit). F Schrift, ot Überlappung, T/B Fotofenster oben/unten abgeschnitten */
.zh-stage{--F:126.0;--ot:26.0;--T:92;--B:97;--zh-cap:61cqw;
--pitch:calc(var(--F) * 0.873);--Ywt:calc(var(--pitch) + var(--F) - var(--ot));--Yft:calc(var(--Ywt) - var(--T));
--Ywh:calc(779 - var(--T) - var(--B));--Ywb:calc(var(--Ywt) + var(--Ywh));--L3:calc(var(--Ywb) + 4);--L4:calc(var(--L3) + var(--pitch));
--H:calc(var(--L4) + var(--F));--Yc:calc(var(--Ywt) + var(--Ywh) / 2);--up:calc(var(--Yc) - (3 * var(--pitch) + var(--F)) / 2);
--down:calc(var(--up) + 2 * var(--pitch) - var(--L3));
--zh-w:min(var(--zh-cap),calc((100svh - 2 * var(--zh-pad) - var(--zh-offset)) * 1168 / var(--H)));--u:calc(var(--zh-w) / 1168);width:var(--zh-w)}
@media (min-aspect-ratio:3/2){.zh-stage{--F:100.0;--ot:20.0;--T:140;--B:90;--zh-cap:76cqw}}
@media (min-aspect-ratio:7/4){.zh-stage{--F:84.0;--ot:16.0;--T:185;--B:85;--zh-cap:82cqw}}
@media (min-aspect-ratio:2/1){.zh-stage{--F:72.0;--ot:14.0;--T:205;--B:82;--zh-cap:84cqw}}
@container (max-width:1199px){.zh-stage{--zh-cap:82cqw}}
@container (max-width:699px){.zh-stage{--zh-cap:92cqw}}
@media (max-width:1199px){.zh{min-height:0}}
.zh-comp{position:relative;width:100%;aspect-ratio:calc(1168 / var(--H));contain:layout style}
.zh-shake{position:absolute;inset:0}
.zh-frame{position:absolute;left:0;width:100%;aspect-ratio:1168/779;top:calc(var(--Yft) * var(--u))}
.zh-bg{position:absolute;inset:0;z-index:0;clip-path:inset(calc(var(--T) / 779 * 100%) 0 calc(var(--B) / 779 * 100%) 0)}
.zh-bg img{display:block;width:100%;height:100%;object-fit:cover}
.zh-bands{position:absolute;inset:0;z-index:2;pointer-events:none}
.zh-b,.zh-obs{position:absolute;inset:0}
.zh-za,.zh-ob{position:absolute;inset:0}
.zh-zi{position:absolute;left:12.928%;top:7.322%;width:82.021%;height:92.678%;background:var(--zh-z) 0 0/100% 100% no-repeat}
.zh-ovl{position:absolute;inset:0;z-index:4;pointer-events:none}
.zh-ob{-webkit-mask:var(--zh-z) 71.905% 100.000% / 82.021% 92.678% no-repeat;mask:var(--zh-z) 71.905% 100.000% / 82.021% 92.678% no-repeat}
.zh-ov{position:absolute;left:0;top:calc(var(--Yft) * -1 * var(--u));width:100%;height:calc(var(--H) * var(--u))}
.zh-ov .zh-line{color:var(--zh-ov)}
.zh-txt{position:absolute;inset:0;z-index:3;margin:0;font:inherit;pointer-events:none}
.zh-line{position:absolute;left:0;white-space:nowrap;text-transform:uppercase;font-family:var(--zh-font);font-weight:800;font-variation-settings:"opsz" 72;font-optical-sizing:none;line-height:1;margin:0;
--fs:min(var(--F),calc(1168 / var(--nw)));font-size:calc(var(--fs) * var(--u));
letter-spacing:calc((1168 - var(--nw) * var(--fs)) / (var(--n) - 1) * var(--u));top:calc(var(--t) * var(--u))}
.zh-l1{--t:0}.zh-l2{--t:var(--pitch)}.zh-l3{--t:var(--L3)}.zh-l4{--t:var(--L4)}
.zh-people{position:absolute;inset:0;z-index:5;pointer-events:none}
.zh-p{position:absolute;display:block;height:auto;max-width:none}
.zh-glint{position:absolute;z-index:9;width:calc(150 * var(--u));height:calc(5 * var(--u));border-radius:calc(5 * var(--u));opacity:0;transform-origin:100% 50%;pointer-events:none;
background:linear-gradient(90deg,transparent,#fff 60%,#fff);box-shadow:0 0 calc(18 * var(--u)) calc(6 * var(--u)) rgba(255,255,255,.9),0 0 calc(40 * var(--u)) calc(12 * var(--u)) rgba(80,80,255,.55)}
.zh-l1{--nw:6.3402;--n:12}
.zh-l2{--nw:5.6866;--n:9}
.zh-l3{--nw:8.0011;--n:14}
.zh-l4{--nw:4.6419;--n:8}
.zh-b1,.zh-obs1{clip-path:polygon(0% 0%,100% 0%,100% 27.214%,0% 27.214%)}
.zh-b2,.zh-obs2{clip-path:polygon(0% 26.316%,100% 26.316%,100% 72.529%,0% 72.529%)}
.zh-b3,.zh-obs3{clip-path:polygon(0% 71.887%,71.062% 71.887%,71.062% 100%,0% 100%)}
.zh-b4,.zh-obs4{clip-path:polygon(71.062% 75.738%,100% 75.738%,100% 100%,71.062% 100%)}
.zh-p1{left:8.690%;top:29.351%;width:14.683%;z-index:1;--dx:362.56}
.zh-p2{left:24.615%;top:32.049%;width:18.622%;z-index:2;--dx:179.52}
.zh-p3{left:43.279%;top:34.682%;width:15.411%;z-index:5;--dx:0.0}
.zh-p4{left:61.687%;top:31.407%;width:14.041%;z-index:2;--dx:-175.12}
.zh-p5{left:79.580%;top:29.994%;width:17.423%;z-index:1;--dx:-365.2}
.zh-g1{left:calc(2 * var(--u));top:calc(65 * var(--u));rotate:5.60deg;--gx:calc(683 * var(--u));--gy:calc(67 * var(--u))}
.zh-g2{left:calc(665 * var(--u));top:calc(180 * var(--u));rotate:144.29deg;--gx:calc(-640 * var(--u));--gy:calc(460 * var(--u))}
.zh-g3{left:calc(31 * var(--u));top:calc(658 * var(--u));rotate:5.23deg;--gx:calc(634 * var(--u));--gy:calc(58 * var(--u))}
@keyframes zh-stamp{from{opacity:0;scale:1.12}to{opacity:1;scale:1}}
@keyframes zh-up{from{translate:0 calc(var(--up) * var(--u))}to{translate:0 0}}
@keyframes zh-down{from{translate:0 calc(var(--down) * var(--u))}to{translate:0 0}}
@keyframes zh-bg{from{clip-path:inset(calc((var(--Yc) - var(--Yft)) / 779 * 100%) 0 calc(100% - (var(--Yc) - var(--Yft)) / 779 * 100%) 0)}to{clip-path:inset(calc(var(--T) / 779 * 100%) 0 calc(var(--B) / 779 * 100%) 0)}}
@keyframes zh-fade{from{opacity:0}to{opacity:1}}
@keyframes zh-slide{from{translate:calc(var(--dx) * var(--u)) 0}to{translate:0 0}}
@keyframes zh-z1{from{clip-path:polygon(0% 0%,0% 0%,-5.137% 100%,0% 100%)}to{clip-path:polygon(0% 0%,116.438% 0%,111.301% 100%,0% 100%)}}
@keyframes zh-z2{from{clip-path:polygon(0% 0%,100% 0%,100% 26.316%,0% -4.493%)}to{clip-path:polygon(0% 0%,100% 0%,100% 103.338%,0% 72.529%)}}
@keyframes zh-z3{from{clip-path:polygon(0% 0%,0% 0%,-4.281% 100%,0% 100%)}to{clip-path:polygon(0% 0%,85.616% 0%,81.336% 100%,0% 100%)}}
@keyframes zh-dot{from{opacity:0;scale:1.8}to{opacity:1;scale:1}}
@keyframes zh-glintmove{from{translate:0 0}to{translate:var(--gx) var(--gy)}}
@keyframes zh-shake{0%{translate:calc(0 * var(--u)) calc(0 * var(--u))}74.814%{translate:calc(0 * var(--u)) calc(0 * var(--u))}75.559%{translate:calc(5 * var(--u)) calc(-3 * var(--u))}76.304%{translate:calc(-7 * var(--u)) calc(4 * var(--u))}77.049%{translate:calc(4 * var(--u)) calc(5 * var(--u))}77.794%{translate:calc(-3 * var(--u)) calc(-5 * var(--u))}78.539%{translate:calc(6 * var(--u)) calc(2 * var(--u))}80.03%{translate:calc(0 * var(--u)) calc(0 * var(--u))}82.861%{translate:calc(0 * var(--u)) calc(0 * var(--u))}83.607%{translate:calc(-6 * var(--u)) calc(4 * var(--u))}84.352%{translate:calc(7 * var(--u)) calc(-2 * var(--u))}85.097%{translate:calc(-4 * var(--u)) calc(-5 * var(--u))}85.842%{translate:calc(5 * var(--u)) calc(3 * var(--u))}86.587%{translate:calc(-5 * var(--u)) calc(1 * var(--u))}88.077%{translate:calc(0 * var(--u)) calc(0 * var(--u))}90.611%{translate:calc(0 * var(--u)) calc(0 * var(--u))}91.356%{translate:calc(4 * var(--u)) calc(5 * var(--u))}92.101%{translate:calc(-6 * var(--u)) calc(-3 * var(--u))}92.846%{translate:calc(7 * var(--u)) calc(2 * var(--u))}93.592%{translate:calc(-4 * var(--u)) calc(4 * var(--u))}94.337%{translate:calc(3 * var(--u)) calc(-4 * var(--u))}94.784%{translate:calc(3 * var(--u)) calc(-4 * var(--u))}95.529%{translate:calc(-8.4 * var(--u)) calc(-4.8 * var(--u))}96.274%{translate:calc(7.2 * var(--u)) calc(6 * var(--u))}97.019%{translate:calc(-6 * var(--u)) calc(2.4 * var(--u))}97.765%{translate:calc(8.4 * var(--u)) calc(-3.6 * var(--u))}98.51%{translate:calc(-4.8 * var(--u)) calc(3.6 * var(--u))}100%{translate:calc(0 * var(--u)) calc(0 * var(--u))}}
@keyframes zh-glintfade1{0%{opacity:1}53.8%{opacity:1}100%{opacity:0}}
@keyframes zh-glintfade2{0%{opacity:1}60%{opacity:1}100%{opacity:0}}
@keyframes zh-glintfade3{0%{opacity:1}57.1%{opacity:1}100%{opacity:0}}
@media (scripting:enabled) and (prefers-reduced-motion:no-preference){.zh:not(.zh--static) :is(.zh-line,.zh-bg,.zh-za,.zh-ob,.zh-zi4,.zh-obd,.zh-p,.zh-glint,.zh-shake){animation-play-state:paused}
.zh.is-go:not(.zh--static) :is(.zh-line,.zh-bg,.zh-za,.zh-ob,.zh-zi4,.zh-obd,.zh-p,.zh-glint,.zh-shake){animation-play-state:running}
.zh:not(.zh--static) .zh-line{animation:zh-stamp .45s cubic-bezier(.165,.84,.44,1) calc(.15s + var(--i) * .12s) both,zh-up 1.1s cubic-bezier(.645,.045,.355,1) 0.62s both}
.zh:not(.zh--static) .zh-l3,.zh:not(.zh--static) .zh-l4{animation-name:zh-stamp,zh-down}
.zh:not(.zh--static) .zh-l1{--i:0}
.zh:not(.zh--static) .zh-l2{--i:1}
.zh:not(.zh--static) .zh-l3{--i:2}
.zh:not(.zh--static) .zh-l4{--i:3}
.zh:not(.zh--static) .zh-bg{animation:zh-bg 1.1s cubic-bezier(.645,.045,.355,1) 0.62s both}
.zh:not(.zh--static) .zh-p{animation:zh-fade .8s cubic-bezier(.25,.46,.45,.94) 1.32s both,zh-slide 1.4s cubic-bezier(.215,.61,.355,1) 1.32s both}
.zh:not(.zh--static) .zh-p3{animation-name:zh-fade}
.zh:not(.zh--static) .zh-b1 .zh-za,.zh:not(.zh--static) .zh-obs1 .zh-ob{animation:zh-z1 0.16s cubic-bezier(.895,.03,.685,.22) 2.37s both}
.zh:not(.zh--static) .zh-b2 .zh-za,.zh:not(.zh--static) .zh-obs2 .zh-ob{animation:zh-z2 0.2s cubic-bezier(.895,.03,.685,.22) 2.6s both}
.zh:not(.zh--static) .zh-b3 .zh-za,.zh:not(.zh--static) .zh-obs3 .zh-ob{animation:zh-z3 0.18s cubic-bezier(.895,.03,.685,.22) 2.88s both}
.zh:not(.zh--static) .zh-zi4{transform-origin:73.2% 89.2%;animation:zh-dot .16s cubic-bezier(.165,.84,.44,1) 3.08s both}
.zh:not(.zh--static) .zh-obd{animation:zh-fade .16s linear 3.08s both}
.zh:not(.zh--static) .zh-g1{animation:zh-glintmove 0.16s cubic-bezier(.55,.085,.68,.53) 2.37s both,zh-glintfade1 0.26s linear 2.37s forwards}
.zh:not(.zh--static) .zh-g2{animation:zh-glintmove 0.2s cubic-bezier(.55,.085,.68,.53) 2.6s both,zh-glintfade2 0.3s linear 2.6s forwards}
.zh:not(.zh--static) .zh-g3{animation:zh-glintmove 0.18s cubic-bezier(.55,.085,.68,.53) 2.88s both,zh-glintfade3 0.28s linear 2.88s forwards}
.zh:not(.zh--static) .zh-shake{animation:zh-shake 3.355s linear 0s both}}