a{color:#14171C}a:hover{color:#4B5563}
.mbtn{font:inherit;font-weight:500;font-size:16px;color:#14171C;background:none;border:0;padding:12px 0;min-height:44px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.mbtn:hover{color:#4B5563}
.mbtn:focus-visible,.mitem:focus-visible,.obtn:focus-visible,.kpf:focus-visible,.bk:focus-visible{outline:3px solid #10243E;outline-offset:2px}
.mitem{transition:background .2s}.mitem:hover{background:#E6ECF2;color:#14171C}
.cta{display:inline-flex;align-items:center;gap:10px;background:#10243E;color:#FFFFFF;font-weight:600;padding:16px 28px;border-radius:8px;text-decoration:none;transition:background .2s,transform .2s}
.cta:hover{background:#193352;color:#FFFFFF;transform:translateY(-2px)}
.obtn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;box-sizing:border-box;background:#FFFFFF;color:#10243E;border:2px solid #10243E;border-radius:8px;padding:10px 20px;font-weight:600;font-size:16px;text-decoration:none;transition:background .2s,color .2s,gap .2s}
.obtn:hover{background:#10243E;color:#FFFFFF;gap:16px}
.sk{transition:transform .2s,box-shadow .2s}.sk:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(16,36,62,.14)}
.bk{transition:transform .2s,box-shadow .2s}.bk:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(16,36,62,.14);color:#14171C}
.kpf{width:48px;height:48px;border-radius:8px;background:#FFFFFF;border:2px solid #10243E;color:#10243E;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .2s,color .2s}
.kpf:hover{background:#10243E;color:#FFFFFF}
.kcard{transition:transform .25s,box-shadow .25s}.kcard:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(16,36,62,.22)}
.kbtn{transition:transform .2s,background .2s,color .2s}.kbtn:hover{transform:translateY(-2px);background:#FFFFFF!important;color:#14171C!important}
.heroart .s1,.heroart .s2,.heroart img{transition:translate .35s ease,scale .35s ease}.heroart img{transform-origin:50% 100%}
.heroart:hover .s1{translate:-14px -10px}.heroart:hover .s2{translate:14px 10px}.heroart:hover img{translate:0 -8px;scale:1.03}
.rot{display:inline-block;vertical-align:bottom;height:1.2em;overflow:hidden;background:#BEDE54;padding:0 0.14em;transition:width .45s cubic-bezier(.2,.8,.2,1);white-space:nowrap}
.rot-in{display:block;transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.rot-in>span{display:block;height:1.2em;width:max-content}
.ptab{position:relative;overflow:hidden;font:inherit;font-weight:600;font-size:16px;min-height:48px;padding:10px 18px;border-radius:8px;border:2px solid #BEDE54;cursor:pointer;transition:background .2s,color .2s}
.ptab:focus-visible,.pnext:focus-visible{outline:3px solid #FFFFFF;outline-offset:3px}
.pbar{position:absolute;left:0;bottom:0;height:5px;width:0;background:#10243E;animation:pfill 6s linear forwards}
@keyframes pfill{to{width:100%}}
.pnext{font:inherit;font-weight:600;font-size:16px;min-height:48px;padding:10px 20px;border-radius:8px;border:2px solid #BEDE54;background:transparent;color:#F5F6F2;cursor:pointer;transition:background .2s,color .2s}
.pnext:hover{background:#BEDE54;color:#10243E}
.btile svg{transition:transform .25s}.bk:hover .btile svg{transform:scale(1.08) rotate(-3deg)}
@media(prefers-reduced-motion:reduce){.pbar{animation:none;width:100%}.ptab,.pnext,.btile svg{transition:none}.bk:hover .btile svg{transform:none}}
.fc{position:absolute;background:#FFFFFF;color:#14171C;border-radius:12px;padding:10px 14px 10px 10px;box-shadow:0 10px 24px rgba(16,36,62,.16);display:flex;align-items:center;gap:10px;box-sizing:border-box;transition:scale .5s,border-color .5s;border:2px solid transparent;animation:fl 6s ease-in-out infinite;max-width:220px}
.fc.f2{animation-delay:-2s}.fc.f3{animation-delay:-4s}
@keyframes fl{0%,100%{translate:0 0}50%{translate:0 -6px}}
@media(max-width:760px){.fc{padding:6px 10px 6px 6px;gap:8px;max-width:150px}.fc .ft{font-size:13px!important}.fc .fs{display:none}}
@media(prefers-reduced-motion:reduce){.fc{transition:none;animation:none}}
.lq summary{list-style:none}.lq summary::-webkit-details-marker{display:none}
.lq .lqi svg{transition:rotate .2s}.lq[open] .lqi svg{rotate:45deg}
.lq summary:focus-visible{outline:3px solid #10243E;outline-offset:-3px}
.lq summary:hover .lqi{background:#193352}
.pcd{cursor:grab;transition:transform .15s,box-shadow .15s}.pcd:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(16,36,62,.14)}.pcd:active{cursor:grabbing}
.mv{font:inherit;font-weight:600;font-size:15px;min-height:40px;flex:1;box-sizing:border-box;padding:6px 10px;border-radius:8px;border:0;background:#10243E;color:#FFFFFF;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background .2s}
.mv:hover{background:#193352}
.pib{font:inherit;width:44px;min-height:40px;border-radius:8px;border:2px solid #10243E;background:#FFFFFF;color:#10243E;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .2s,color .2s}
.pib:hover{background:#10243E;color:#FFFFFF}
.fnb{font:inherit;font-weight:600;font-size:16px;background:#10243E;color:#FFFFFF;border:0;border-radius:8px;padding:12px;min-height:44px;cursor:pointer;transition:background .2s}.fnb:hover{background:#193352}
.fna{flex:1;font:inherit;font-weight:600;font-size:16px;background:#FFFFFF;color:#14171C;border:2px solid #E2E1D9;border-radius:12px;padding:14px 10px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px;transition:border-color .2s,background .2s}.fna:hover{border-color:#10243E;background:#E6ECF2}
.fnl{font:inherit;font-size:14px;background:none;border:0;color:#4B5563;text-decoration:underline;cursor:pointer;padding:8px;min-height:40px;align-self:center}
.mv:focus-visible,.pib:focus-visible,.fnb:focus-visible,.fna:focus-visible,.fnl:focus-visible{outline:3px solid #10243E;outline-offset:2px}
@media(prefers-reduced-motion:reduce){.pcd,.mv,.pib,.fnb,.fna,.lq .lqi svg{transition:none}.pcd:hover{transform:none}}
.vr>div{transition:background .2s}.vr svg{transition:scale .2s}
.vr:hover>div{background:#E6ECF2!important}.vr:hover>div.vtw{background:#193352!important}.vr:hover svg{scale:1.18}
.vt.pre .vr svg{opacity:0}
.vt.in .vr svg{animation:vpop .45s cubic-bezier(.2,1.4,.4,1) both;animation-delay:calc(var(--i)*110ms)}
@keyframes vpop{from{opacity:0;scale:.4}to{opacity:1;scale:1}}
.gg.pre .sk>div{opacity:0}
.gg.in .sk>div{animation:gin .45s ease both}
.gg.in .sk>div:nth-child(2){animation-delay:.12s}.gg.in .sk>div:nth-child(3){animation-delay:.24s}.gg.in .sk>div:nth-child(4){animation-delay:.36s}.gg.in .sk>div:nth-child(5){animation-delay:.48s}.gg.in .sk>div:nth-child(6){animation-delay:.6s}
@keyframes gin{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:reduce){.vr>div,.vr svg{transition:none}.vr:hover svg{scale:1}}
.mcall{display:none}@media(max-width:760px){.mcall{display:flex}}
@media(prefers-reduced-motion:reduce){.rot,.rot-in,.cta,.obtn,.sk,.bk,.kcard,.kbtn,.mitem,.kpf{transition:none}.cta:hover,.sk:hover,.bk:hover,.kcard:hover,.kbtn:hover{transform:none}.heroart .s1,.heroart .s2,.heroart img{transition:none;translate:none!important;scale:none!important}}

.mq{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.mq-in{display:flex;width:max-content;animation:mq 64s linear infinite}
.mq:hover .mq-in{animation-play-state:paused}
.mq-in{align-items:center}
.lg{display:inline-flex;align-items:center;gap:10px;margin-right:68px;font-family:'Poppins',sans-serif;font-weight:700;font-size:16px;color:#10243E;opacity:.72;white-space:nowrap}
.lg::before{content:"";width:18px;height:8px;background:#10243E;transform:skewX(-14deg);opacity:.5}
@keyframes mq{to{transform:translateX(-50%)}}
.obtn2{display:inline-flex;align-items:center;gap:10px;box-sizing:border-box;background:transparent;color:#10243E;border:2px solid #10243E;border-radius:8px;padding:14px 24px;font-weight:600;text-decoration:none;transition:background .2s,color .2s}
.obtn2:hover{background:#10243E;color:#FFFFFF}
.tl{display:inline-flex;align-items:center;gap:8px;font-weight:600;text-decoration:none;transition:gap .2s}.tl:hover{gap:14px}
.qs{border:2px dashed #C9BFA8;border-radius:12px;padding:14px 16px;font-size:15px;color:#6B6455;background:rgba(255,255,255,.5)}
@media(prefers-reduced-motion:reduce){.mq-in{animation:none;flex-wrap:wrap;width:auto;row-gap:12px}.mq-in .dup{display:none}.obtn2,.tl{transition:none}}

.wg{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:12px;counter-reset:w}
.ws{position:relative;background:#FFFFFF;border:1px solid #E2E1D9;border-radius:14px;padding:20px 22px;display:flex;flex-direction:column;gap:6px;text-decoration:none;color:#14171C}
.ws .wn{font-family:'Poppins',sans-serif;font-weight:700;font-size:15px;width:30px;height:30px;border-radius:50%;background:#10243E;color:#FFFFFF;display:flex;align-items:center;justify-content:center}
.ws.on{background:#EEF6D2;border-color:#BEDE54}
a.ws{transition:transform .2s,box-shadow .2s}a.ws:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(16,36,62,.12);color:#14171C}
.qm{font-family:'Poppins',sans-serif;font-weight:700;font-size:44px;line-height:.7;height:26px;width:44px;background:#BEDE54;color:#10243E;display:flex;align-items:flex-start;justify-content:center;padding-top:10px;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%)}
.must{align-self:flex-start;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;background:#FBE6CC;color:#7A4410;padding:2px 8px;border-radius:4px}
@media(prefers-reduced-motion:reduce){a.ws{transition:none}a.ws:hover{transform:none}}

button.ws{font:inherit;text-align:left;cursor:pointer;transition:background .2s,color .2s,transform .2s}
button.ws:hover{transform:translateY(-3px)}
button.ws:focus-visible{outline:3px solid #10243E;outline-offset:2px}
.lvp{animation:gin .3s ease both}
.ktr{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:6px 2px 14px}
.ktr::-webkit-scrollbar{display:none}
.ktr>figure{flex:0 0 calc((100% - 32px)/3);min-width:min(300px,86%);box-sizing:border-box;scroll-snap-align:start}
@media(max-width:1000px){.ktr>figure{flex-basis:calc((100% - 16px)/2)}}
@media(max-width:680px){.ktr>figure{flex-basis:86%}}
.pmock{background:#F5F6F2;color:#14171C;border-radius:14px;overflow:hidden;box-shadow:0 24px 50px rgba(0,0,0,.35)}
@media(prefers-reduced-motion:reduce){button.ws{transition:none}button.ws:hover{transform:none}.lvp{animation:none}}

.lgi{display:inline-block;height:calc(var(--h)*.72);margin-right:68px;flex-shrink:0;background:center/contain no-repeat;filter:grayscale(1);opacity:.58;transition:filter .25s,opacity .25s}
.lgi:hover{filter:none;opacity:1}
.lgq{display:block;width:72px;height:52px;flex-shrink:0;background:center/contain no-repeat}
@media(prefers-reduced-motion:reduce){.lgi{transition:none}}
.lg-bouffier{background-image:url('/assets/img/logos/bouffier.jpg');aspect-ratio:9.750;--h:19px}
.lg-widmann{background-image:url('/assets/img/logos/widmann.jpg');aspect-ratio:1.008;--h:54px}
.lg-hertwich{background-image:url('/assets/img/logos/hertwich.jpg');aspect-ratio:1.558;--h:54px}
.lg-kay{background-image:url('/assets/img/logos/kay.jpg');aspect-ratio:2.142;--h:54px}
.lg-nr{background-image:url('/assets/img/logos/nr.jpg');aspect-ratio:2.292;--h:54px}
.lg-ks{background-image:url('/assets/img/logos/ks.jpg');aspect-ratio:2.392;--h:54px}
.lg-apo{background-image:url('/assets/img/logos/apo.jpg');aspect-ratio:2.808;--h:54px}

.fan{display:flex;justify-content:center;padding:56px 24px 28px}
.fan>figure{flex:0 0 240px;margin-left:-58px;position:relative;rotate:var(--r);box-shadow:0 10px 24px rgba(16,36,62,.14);transition:translate .35s cubic-bezier(.2,.8,.2,1),rotate .35s,scale .35s,box-shadow .35s}
.fan>figure:first-child{margin-left:0}
.fan>figure:hover{translate:0 -34px;rotate:0deg;scale:1.07;z-index:5;box-shadow:0 26px 50px rgba(16,36,62,.28)}
.fan>figure:hover~figure{translate:52px 0}
.fan>figure:has(~figure:hover){translate:-52px 0}
.gnav a{text-decoration:none;padding:12px 0;font-weight:500;font-size:16px}
.lrow{display:flex;flex-wrap:wrap;gap:24px 52px;align-items:center}
.lrow .lgi{margin-right:0}
@media(max-width:900px){.fan{justify-content:flex-start;overflow-x:auto}}
@media(prefers-reduced-motion:reduce){.fan>figure{transition:none}}
.lg-ortskern{background-image:url('/assets/img/logos/ortskern.jpg');aspect-ratio:1.000;--h:76px}
.lg-frankenstein{background-image:url('/assets/img/logos/frankenstein.jpg');aspect-ratio:1.269;--h:76px}
.lg-oberramstadt{background-image:url('/assets/img/logos/oberramstadt.jpg');aspect-ratio:1.241;--h:76px}
.lg-rossdorf{background-image:url('/assets/img/logos/rossdorf.jpg');aspect-ratio:0.625;--h:76px}

.dd{position:relative;display:inline-flex}.dd>a{display:inline-flex;align-items:center;gap:6px}
.ddp{display:none;position:absolute;top:100%;left:-16px;padding-top:8px;width:340px;z-index:20}
.dd:hover .ddp,.dd:focus-within .ddp{display:block}
.ddb{background:#FFFFFF;border:1px solid #E2E1D9;border-radius:14px;padding:8px;box-shadow:0 18px 40px rgba(16,36,62,.16);display:flex;flex-direction:column;gap:2px}
.gnav .ddb a{display:flex;flex-direction:column;gap:2px;padding:12px 16px;border-radius:10px;text-decoration:none;font-weight:400}
.gnav .ddb a:hover{background:#E6ECF2;color:#14171C}
.ddb .t{font-weight:600;font-size:16px;color:#14171C}.ddb .d{font-size:14px;color:#4B5563}

h1,h2,h3,[style*="Poppins"]{text-wrap:balance}
@media(max-width:760px){.dbr{display:none}}
