/* tobag.ch – statische Nachbildung der bisherigen Wix-Seite.
   Alle Masse sind in "u" angegeben (calc(1*var(--u)) = 1/1425 der Fensterbreite), wie im Wix-Studio-Original.
   `python3 tools/build-css.py` erzeugt daraus css/style.css. */
:root{
  --u:calc(var(--vw,1vw)*100/1425);
  --red:#d2232a;--red2:#e30414;--ink:#0f0f10;--grey:#4f4f4f;
  --fq:'Questrial',Arial,sans-serif;--fmd:'Wix Madefor Display',Arial,sans-serif;--fmt:'Wix Madefor Text',Arial,sans-serif;
  --e1:cubic-bezier(.645,.045,.355,1);--e2:cubic-bezier(.445,.05,.55,.95);--e3:cubic-bezier(.215,.61,.355,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:#c9c9c9;color:var(--ink);font-family:var(--fq);font-size:16px;overflow-x:clip;-webkit-font-smoothing:antialiased}
img,svg,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.skip{position:absolute;left:-9999px;top:0;z-index:300;background:#fff;color:#000;padding:10px 14px}
.skip:focus{left:10px;top:10px}
:focus-visible{outline:2px solid var(--red);outline-offset:3px}
#site{position:relative}

/* Absolut positionierte Elemente: --x --y --w --h in u */
.abs{position:absolute;left:calc(var(--x)*var(--u));top:calc(var(--y)*var(--u));width:calc(var(--w)*var(--u));height:calc(var(--h)*var(--u))}
.sec{position:relative;overflow:clip}
.bg{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat}
.center{text-align:center}
.nw{white-space:nowrap}
.fill{width:100%;height:100%;object-fit:cover}

/* Hintergründe: Farbe + Textur mit eigener Deckkraft (wie im Wix-Original) */
.sec{background:#fff}
.bg{position:absolute;inset:0;background:var(--bgc,transparent)}
.bg::before{content:"";position:absolute;inset:0;background:var(--bgi) center/cover no-repeat;opacity:var(--bgo,1)}
.t-light{--bgi:url(../img/tex/light.webp)}.t-light2{--bgi:url(../img/tex/light2.webp)}.t-light3{--bgi:url(../img/tex/light3.webp)}
.t-white{--bgi:url(../img/tex/white.webp)}.t-mid{--bgi:url(../img/tex/mid.webp)}.t-dark{--bgi:url(../img/tex/dark.webp)}
.t-darkgrey{--bgi:url(../img/tex/darkgrey.webp)}.t-quote{--bgi:url(../img/tex/quote.webp)}.t-footer{--bgi:url(../img/tex/footer.webp)}
.t-nl{--bgi:url(../img/newsletter-bg.webp)}
.s-welcome .bg{--bgc:#fff}
.s-quote .bg{--bgc:#4f4f4f;--bgo:.65}
.s-know .bg{--bgc:#a6a6a6;--bgo:.1}
.s-ph .bg{--bgc:#4f4f4f;--bgo:.4}
.s-cards .bg{--bgc:#a6a6a6;--bgo:.6}
.s-be .bg{--bgc:#0f0f10;--bgo:.47}
.s-vor .bg{--bgc:rgba(79,79,79,.85);--bgo:.14}
.s-about .bg{--bgc:#777;--bgo:.41}
.s-people .bg{--bgc:#fff;--bgo:.45}
.s-ref .bg{--bgc:#fff;--bgo:.65}
.s-net .bg{--bgc:#d2232a;--bgo:.35}
.s-contact .bg{--bgc:#4f4f4f}
.s-team .bg.t-footer:first-child{--bgo:.38}

/* ---------- Kopfzeile (fixiert) ---------- */
.hdr{position:fixed;left:0;top:0;width:100%;height:calc(122*var(--u));z-index:100;pointer-events:none}
.hdr>*{pointer-events:auto}
.hdr-bg{position:absolute;left:0;top:0;width:100%;height:calc(102*var(--u));background:#4f4f4f;pointer-events:none}
.hdr-bg::before{content:"";position:absolute;inset:0;background:url(../img/tex/light.webp) center/cover}
.hdr-logo img{width:100%;height:100%}
.hl,.vl{background:var(--ink);display:block;pointer-events:none}
.nl{font:800 calc(30*var(--u))/calc(51*var(--u)) var(--fmd);color:var(--red);white-space:nowrap;display:block;transition:color .2s}
.nl.cur{color:var(--ink)}
.nl:hover{color:#fff}
.nd{z-index:2}
.nchev{position:absolute;left:calc(146*var(--u));top:calc(15*var(--u));width:calc(20*var(--u));height:calc(20*var(--u));display:flex;align-items:center;justify-content:center;color:var(--red)}
.nchev svg{width:calc(17*var(--u));height:calc(9*var(--u));fill:currentColor;transition:transform .2s}
.nd:hover .nchev svg,.nd.open .nchev svg{transform:rotate(180deg)}
.drop{position:absolute;left:calc(-10*var(--u));top:calc(89*var(--u));width:calc(185*var(--u));padding:calc(10*var(--u));background:#fff;display:none;box-shadow:0 calc(2*var(--u)) calc(8*var(--u)) rgba(0,0,0,.18)}
.nd:hover .drop,.nd.open .drop,.nd:focus-within .drop{display:block}
.drop a{display:block;height:calc(31*var(--u));padding:calc(7*var(--u)) calc(10*var(--u));margin-bottom:calc(5.5*var(--u));font:calc(15.98*var(--u))/calc(17*var(--u)) var(--fq);color:var(--ink)}
.drop a:last-child{margin-bottom:0}
.drop a:hover{color:var(--red)}
.hdr-mail svg{position:absolute;left:calc(33*var(--u));top:calc(-1*var(--u));width:calc(44*var(--u));height:calc(44*var(--u))}

/* ---------- Hero ---------- */
.s-hero{height:max(calc(626*var(--u)),69.4vh);background:#777}
.herobg{position:absolute;left:0;top:0;width:100%;height:100vh;will-change:transform}
.herobg img{width:100%;height:100%;object-fit:cover}
.hero-h1{font:700 calc(146.8*var(--u))/calc(132.1*var(--u)) var(--fmt);color:var(--ink);text-shadow:calc(2.65*var(--u)) calc(2.65*var(--u)) calc(7.5*var(--u)) rgba(15,15,16,.69);white-space:normal}
.hero-h1 .red{color:#e30414}
.hero-sub{font:400 calc(39*var(--u))/calc(54.6*var(--u)) var(--fq);color:#fff;text-align:right}

/* ---------- Willkommen ---------- */
.s-welcome{height:calc(557*var(--u))}
.q-h2{font:700 calc(68.9*var(--u))/calc(82.7*var(--u)) var(--fq);color:var(--ink)}
.q-p{font:400 calc(25.5*var(--u))/calc(35.7*var(--u)) var(--fq);color:var(--ink)}
.pill{display:block;border-radius:calc(300*var(--u));color:#fff;font:400 calc(18*var(--u))/1 var(--fmt);transition:background .25s,transform .25s}
.pill-black{background:#000}.pill-red{background:var(--red2)}
.pill span{position:absolute;top:50%;transform:translateY(-50%);white-space:nowrap}
.pill svg{position:absolute}
.pill-black span{left:calc(33*var(--u))}.pill-black svg{left:calc(139*var(--u));top:calc(15*var(--u));width:calc(31*var(--u));height:calc(31*var(--u))}
.pill-red span{left:calc(26*var(--u))}.pill-red svg{left:calc(100*var(--u));top:calc(14*var(--u));width:calc(25*var(--u));height:calc(25*var(--u))}
.pill:hover{background:#333}.pill-red:hover{background:#b8141c}
.pulse{animation:pulse 2.3s linear infinite}
@keyframes pulse{15.39%{transform:scale(.96)}25.65%{transform:scale(1)}41.04%{transform:scale(.93)}57%{transform:scale(1)}100%{transform:scale(1)}}

/* ---------- News ---------- */
.s-news{height:calc(467*var(--u));background:#fff}
.newsbox{border:1px solid rgba(15,15,16,.2);background:#fff;display:block}
.newsimg{position:absolute;left:-1px;top:-1px;width:calc(561*var(--u));height:calc(421*var(--u));object-fit:cover}
.newstxt{position:absolute;left:calc(592*var(--u));top:calc(25*var(--u));width:calc(475*var(--u))}
.newstxt h3{font:400 calc(28*var(--u))/1.25 var(--fmd);color:var(--ink)}
.newstxt p{margin-top:calc(12*var(--u));font:400 calc(16*var(--u))/calc(24*var(--u)) var(--fmd)}

/* ---------- Zitat ---------- */
.s-quote{height:calc(424*var(--u))}
.qmark{fill:var(--red)}
.qtext{display:flex;flex-direction:column;gap:0;pointer-events:none}
.qtext span{display:block;text-align:center;font-size:calc(var(--fsm,var(--fs))*var(--u));font-family:var(--fmd);font-weight:700;line-height:calc(78.5*var(--u));white-space:nowrap}

/* ---------- Video ---------- */
.s-video{height:calc(767*var(--u));background:#222}
.s-video video{width:100%;height:100%;object-fit:cover}

/* ---------- Über-uns-Teaser ---------- */
.s-know{height:calc(557*var(--u))}
.q-know{font:700 calc(56.4*var(--u))/1.2 var(--fq);color:var(--grey)}
.q-know-p{font:400 calc(30*var(--u))/calc(45*var(--u)) var(--fq);color:var(--grey)}
.feed-i{position:absolute;left:0;width:100%;height:calc(88*var(--u));display:block}
.feed-i:nth-child(1){top:0}.feed-i:nth-child(2){top:calc(105*var(--u))}
.feed-i img{position:absolute;left:calc(1*var(--u));top:calc(1*var(--u));width:calc(129*var(--u));height:calc(72*var(--u));object-fit:cover}
.feed-i span{position:absolute;left:calc(164*var(--u));top:calc(8*var(--u));width:calc(188*var(--u));max-height:calc(74*var(--u));overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;font:400 calc(24*var(--u))/calc(25*var(--u)) var(--fq);color:var(--grey)}
.feed-i::before{content:"";position:absolute;left:calc(128*var(--u));top:calc(1*var(--u));width:calc(223*var(--u));height:calc(72*var(--u));background:rgba(166,166,166,.39)}

/* ---------- Texturschrift ---------- */
.tx{font-size:calc(var(--fsm,var(--fs))*var(--u));color:transparent;background:url(../img/tex/textfill.webp) center/cover;-webkit-background-clip:text;background-clip:text;filter:drop-shadow(calc(1.5*var(--u)) calc(2*var(--u)) calc(1.5*var(--u)) rgba(0,0,0,.5));white-space:nowrap;line-height:1.25;font-weight:700}
.tx-md{font-family:var(--fmd)}.tx-mt{font-family:var(--fmt)}
.tx a{color:transparent}
.tf-a{background-image:url(../img/tex/textfill.webp)}.tf-b{background-image:url(../img/tex/light2.webp)}.tf-c{background-image:url(../img/tex/light3.webp)}.tf-d{background-image:url(../img/tex/darkgrey.webp)}.tf-e{background-image:url(../img/tex/net.webp)}.tf-f{background-image:url(../img/tex/card.webp)}
.up{text-transform:uppercase}.low{text-transform:lowercase}

/* ---------- Produkte ---------- */
.s-ph{height:calc(235*var(--u))}
.s-cards{height:calc(2364*var(--u))}
.ccol{pointer-events:none}
.card{position:sticky;top:calc(180*var(--u));width:calc(494*var(--u));height:calc(502*var(--u));margin-left:calc(83*var(--u));border-radius:calc(40.6*var(--u));overflow:hidden;box-shadow:0 calc(3.6*var(--u)) calc(18*var(--u)) calc(4.5*var(--u)) rgba(0,0,0,.45);background:#222;pointer-events:auto;isolation:isolate}
.card+.card{margin-top:calc((var(--cy) - 502)*var(--u))}
.cimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ctitle,.csub{position:absolute;left:0;top:calc(var(--ty)*var(--u));width:100%;text-align:center;color:#fff;font-weight:400}
.ctitle{font:400 calc(42*var(--u))/calc(43.5*var(--u)) var(--fq)}
.csub{font:400 calc(22.55*var(--u))/calc(23*var(--u)) var(--fq)}
.ctitle a{color:inherit}
.cmore{position:absolute;left:calc(342*var(--u));top:calc(440*var(--u));width:calc(135*var(--u));height:calc(50*var(--u));border-radius:calc(300*var(--u));background:var(--grey);color:#fff;font:400 calc(18*var(--u))/calc(50*var(--u)) var(--fq);text-align:center;transition:background .25s}
.cmore.dark2{background:var(--ink)}
.cmore:hover{background:var(--red)}

/* ---------- Beton-Elemente / Vorteile ---------- */
.s-be{height:calc(336*var(--u))}
.s-vor{height:calc(1802*var(--u))}
.vcol{pointer-events:none}
.vcard{position:sticky;top:calc(225*var(--u));width:calc(300*var(--u));height:calc(318*var(--u));margin-top:calc(var(--vy)*var(--u));border-radius:calc(65.3*var(--u));background:#b0aaa3 url(../img/tex/card.webp) center/cover;box-shadow:calc(1.8*var(--u)) calc(1.3*var(--u)) calc(19.5*var(--u)) calc(3.75*var(--u)) rgba(0,0,0,.37);text-align:center;pointer-events:auto}
.vcard h3{position:absolute;left:calc(14*var(--u));top:calc(29*var(--u));width:calc(272*var(--u));font:700 calc(56.25*var(--u))/calc(58*var(--u)) var(--fq);color:#282a2c}
.vcard p{position:absolute;left:calc(20*var(--u));top:calc(130*var(--u));width:calc(260*var(--u));font:400 calc(20*var(--u))/calc(28*var(--u)) var(--fq);color:var(--ink)}
.vcard.two p{top:calc(161*var(--u))}
.vcard img{position:absolute;left:calc(113*var(--u));top:calc(237*var(--u));width:calc(75*var(--u));height:calc(67*var(--u));object-fit:contain}

/* ---------- Über uns ---------- */
.s-about{height:calc(619*var(--u))}
.q-abt-h{font:700 calc(39.6*var(--u))/1.25 var(--fq);color:var(--red2)}
.q-abt-p{font:400 calc(28.23*var(--u))/calc(42.34*var(--u)) var(--fq);color:#fff}
.q-more{font:400 calc(25*var(--u))/1.1 var(--fq);color:var(--red2);text-align:left;cursor:pointer}
.coll .p-full{display:none}
.coll .p-full p+p{margin-top:1em}
.is-open .coll .p-short{display:none}.is-open .coll .p-full{display:block}
.s-about.is-open{height:calc(619*var(--u) + var(--extra,0px))}.s-about.is-open .q-more{top:calc(507*var(--u) + var(--extra,0px))}
.s-know.is-open{height:calc(557*var(--u) + var(--extra,0px))}.s-know.is-open .q-more{top:calc(507*var(--u) + var(--extra,0px))}
.is-open .coll{height:auto}

/* ---------- Teamfoto ---------- */
.s-team{height:calc(557*var(--u))}
.teamph{width:100%;height:100%;object-fit:cover;object-position:50% 12%}

.teamph-bw{display:none}

/* ---------- Ansprechpersonen ---------- */
.s-people{height:calc(734*var(--u))}
.pc{background:rgba(166,166,166,.67);box-shadow:.5u calc(-1.1*var(--u)) calc(16.5*var(--u)) calc(3.75*var(--u)) rgba(0,0,0,.6)}
.pc img{width:100%;height:calc(237*var(--u));object-fit:cover}
.pc h3{font-size:calc(var(--fsm,var(--fs))*var(--u));position:absolute;left:0;top:calc(var(--ny)*var(--u));width:100%;text-align:center;font-family:var(--fq);font-weight:400;line-height:1.4;color:var(--ink)}
.pc p{position:absolute;left:0;top:calc(var(--ry)*var(--u));width:100%;text-align:center;font:400 calc(24.75*var(--u))/calc(34.65*var(--u)) var(--fq);color:#282a2c}
.pc a{position:absolute;left:calc(99*var(--u));top:calc(var(--my,394)*var(--u));width:calc(49*var(--u));height:calc(44*var(--u))}
.pc a svg{width:100%;height:100%;fill:var(--ink)}

/* ---------- Referenzen ---------- */
.s-ref{height:calc(772*var(--u))}
.q-ref-sub{font:400 calc(26.12*var(--u))/1.1 var(--fq);color:var(--ink)}
.slider{pointer-events:none}
.slider>*{pointer-events:auto}
.sl-slide{position:absolute;left:calc(59*var(--u));top:0;width:calc(1021*var(--u));height:calc(360*var(--u));text-align:center;opacity:0;visibility:hidden;transition:opacity .6s,visibility .6s}
.sl-slide.is-on{opacity:1;visibility:visible}
.sl-slide h3{margin-top:calc(23*var(--u));font:700 calc(29*var(--u))/calc(43.5*var(--u)) var(--fq);color:var(--ink)}
.sl-slide p{margin-top:calc(44*var(--u));font:400 calc(29*var(--u))/calc(43.5*var(--u)) var(--fq);color:var(--ink)}
.sl-btn{position:absolute;width:calc(32*var(--u));height:calc(32*var(--u));border-radius:999px;display:flex;align-items:center;justify-content:center}
.sl-btn svg{width:calc(24*var(--u));height:calc(24*var(--u));fill:var(--ink)}
.sl-btn:hover svg{fill:var(--red)}
.slider .sl-prev{left:0;top:calc(188*var(--u))}.slider .sl-next{left:calc(1153*var(--u));top:calc(188*var(--u))}

/* ---------- Netzwerk ---------- */
.s-net{height:calc(632*var(--u))}
.q-net-sub{font:400 calc(20.97*var(--u))/calc(25.2*var(--u)) var(--fq);color:var(--ink)}
.lslider{overflow:hidden}
.lpage{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .5s,visibility .5s}
.lpage.is-on{opacity:1;visibility:visible}
.lg{display:block;background:#fff0}
.lg img{width:100%;height:100%;object-fit:contain}
.lslider .sl-btn{width:calc(69*var(--u));height:calc(69*var(--u))}
.lslider .sl-btn svg{width:calc(69*var(--u));height:calc(69*var(--u))}
.lslider .sl-prev{left:calc(6*var(--u));top:calc(159*var(--u))}.lslider .sl-next{left:calc(1208*var(--u));top:calc(159*var(--u))}

/* ---------- Newsletter ---------- */
.s-nl{height:calc(443*var(--u))}
.nlform{background:rgba(79,79,79,.41);border-radius:calc(16*var(--u));color:var(--ink)}
.nl-t{position:absolute;left:calc(18*var(--u));top:calc(30*var(--u));font:400 calc(25*var(--u))/calc(37.5*var(--u)) var(--fq)}
.nl-l{position:absolute;left:calc(18*var(--u));top:calc(90*var(--u));font:400 calc(24*var(--u))/calc(30*var(--u)) var(--fq)}
.nlform input[type=email]{position:absolute;left:calc(18*var(--u));top:calc(128*var(--u));width:calc(506*var(--u));height:calc(51*var(--u));border:0;border-radius:calc(18*var(--u));background:#fff;padding:0 calc(16*var(--u));font:400 calc(22*var(--u)) var(--fq)}
.nl-c{position:absolute;left:calc(18*var(--u));top:calc(206*var(--u));width:calc(506*var(--u));display:flex;gap:calc(10*var(--u));font:400 calc(28*var(--u))/calc(42*var(--u)) var(--fq)}
.nl-c input{appearance:none;-webkit-appearance:none;width:calc(18*var(--u));height:calc(18*var(--u));margin-top:calc(12*var(--u));flex:none;border:1px solid var(--ink);border-radius:2px;background:transparent;cursor:pointer}
.nl-c input:checked{background:var(--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.500l2.500 2.500L10 3.500' fill='none' stroke='%23fff' stroke-width='1.800'/%3E%3C/svg%3E") center/80% no-repeat}
.nl-b{position:absolute;left:calc(18*var(--u));top:calc(311*var(--u));width:calc(506*var(--u));height:calc(46*var(--u));border-radius:calc(100*var(--u));background:var(--red);color:#fff;font:400 calc(20*var(--u))/calc(24*var(--u)) var(--fq);transition:background .25s}
.nl-b:hover{background:#b8141c}

/* ---------- Kontakt ---------- */
.s-contact{height:calc(375*var(--u))}
.q-contact{font:400 calc(44.94*var(--u))/calc(53.93*var(--u)) var(--fq);color:#fff}

/* ---------- Fusszeile ---------- */
.ftr{height:calc(459*var(--u))}
.ftr-bg{--bgc:#282a2c;--bgo:.19}
.flogo{width:100%;height:100%}
.ftxt{font:400 calc(21.77*var(--u))/calc(32.65*var(--u)) var(--fq);color:#fff}
.ftxt a:hover{color:var(--red)}
.fnav a{display:block;height:calc(34.5*var(--u));font:400 calc(21.77*var(--u))/calc(30.5*var(--u)) var(--fq);color:#fff}
.fnav a:hover,.fnav a.fcur{color:var(--red)}
.fcopy{font:400 calc(16.7*var(--u))/1 var(--fq);color:#fff}
.fprod{display:block;position:relative}
.fch{position:absolute;left:calc(135*var(--u));top:calc(6*var(--u));width:calc(50*var(--u));height:calc(24*var(--u));display:flex;align-items:center;justify-content:center;color:#fff}
.fch svg{width:calc(12*var(--u));height:calc(6*var(--u));fill:currentColor;transition:transform .2s}
.fprod.open .fch svg{transform:rotate(180deg)}
.fsub{display:none;padding-left:calc(18*var(--u))}
.fprod.open .fsub{display:block}
.fsub a{font-size:calc(18*var(--u))!important;height:calc(30*var(--u))!important;line-height:calc(30*var(--u))!important}
.fch:hover{color:var(--red)}

/* ---------- Eintritts-Animationen (Wix-Keyframes) ---------- */
@keyframes m-fade{0%{opacity:0}100%{opacity:1}}
@keyframes m-slide{.0001%{transform:translate(var(--mtx,0%),var(--mty,0%));clip-path:var(--mclip)}100%{transform:translate(0,0);clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}}
@keyframes m-float{0%{opacity:0;animation-timing-function:step-end}.0001%{opacity:0;transform:translate(var(--mtx),var(--mty))}100%{opacity:1;transform:translate(0,0)}}
@keyframes m-glide{0%{opacity:0;animation-timing-function:step-end}.0001%{opacity:1;transform:translate(var(--mtx),var(--mty))}100%{opacity:1;transform:translate(0,0)}}
@keyframes m-grow{.0001%{transform:translate(var(--mtx),var(--mty)) scale(var(--msc))}100%{transform:translate(0,0) scale(1)}}
@keyframes m-expand{.0001%{transform:scale(var(--msc))}100%{transform:scale(1)}}
@keyframes m-tiltrot{0%{animation-timing-function:step-end;transform:perspective(800px)}.0001%{transform:perspective(800px) translateZ(calc(var(--mh,200px)/-2)) rotateX(-90deg) translateZ(calc(var(--mh,200px)/2))}100%{transform:perspective(800px) translateZ(calc(var(--mh,200px)/-2)) rotateX(0deg) translateZ(calc(var(--mh,200px)/2))}}
@keyframes m-tiltclip{.0001%{clip-path:polygon(0 0,100% 0,100% 0,0 0)}100%{clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}}
@media (prefers-reduced-motion:no-preference){
  .fx{--mh:calc(var(--h,200)*var(--u));animation-play-state:paused;animation-fill-mode:backwards;animation-delay:1ms}
  .fx.is-in{animation-play-state:running}
  .fx-fade{animation-name:m-fade;animation-duration:1.2s;animation-timing-function:var(--e2)}
  .fx-slide-up,.fx-slide-down{animation-name:m-slide,m-fade;animation-duration:1.2s;animation-timing-function:var(--e1)}
  .fx-slide-up{--mtx:0%;--mty:100%;--mclip:polygon(0 100%,100% 100%,100% 100%,0 100%)}
  .fx-slide-down{--mtx:0%;--mty:-100%;--mclip:polygon(0 0,100% 0,100% 0,0 0)}
  .fx-float{animation-name:m-float;animation-duration:1.2s;animation-timing-function:var(--e2);--mtx:0px;--mty:60px}
  .fx-glide{animation-name:m-glide;animation-duration:1.2s;animation-timing-function:var(--e1);--mtx:calc(-1*(var(--x)*var(--u) + 100%));--mty:0px}
  .fx-grow{animation-name:m-fade,m-grow;animation-duration:.96s,1.2s;animation-timing-function:var(--e1);--mtx:0%;--mty:20%;--msc:.8}
  .fx-expand{animation-name:m-fade,m-expand;animation-duration:1.2s;animation-timing-function:linear,var(--e1);--msc:.8}
  .fx-tilt{animation-name:m-fade,m-tiltrot,m-tiltclip;animation-duration:.24s,1.2s,.96s;animation-timing-function:var(--e3);animation-composition:replace,replace,add}
}
.card .ctop.fx-fade{animation-duration:1.6s}
noscript+*{}

/* Hamburger + Mobil-Menü (nur mobil sichtbar) */
.hburger,.mpanel{display:none}

/* ---------- Produktseiten ---------- */
.s-prod{height:calc(var(--sh)*var(--u))}
.pbg{--bgc:#fff;--bgi:var(--pbg);--bgo:var(--pbgo)}
.pbg::before{background-image:var(--pbg)}
.pcol{pointer-events:none}
.pcard{top:20vh;width:calc(473*var(--u));height:calc(473*var(--u));margin:0;border-radius:calc(33.9*var(--u));box-shadow:0 calc(3.6*var(--u)) calc(18*var(--u)) calc(4.5*var(--u)) rgba(0,0,0,.45)}
.pcard .ctitle{top:calc(44*var(--u));font-size:calc(42*var(--u))}.pcard .csub{top:calc(159*var(--u));font-size:calc(18.75*var(--u));line-height:calc(22*var(--u))}
.pcard .pcmore{left:auto;right:calc(30*var(--u));top:auto;bottom:calc(30*var(--u))}
.pright{position:absolute;left:calc(799*var(--u));top:calc(245*var(--u));width:calc(480*var(--u))}
.pright h1{font:700 calc(64.9*var(--u))/calc(71.4*var(--u)) var(--fq);color:var(--ink);width:calc(455*var(--u))}
.ph2{margin-top:calc(25*var(--u));font:400 calc(33*var(--u))/calc(39.6*var(--u)) var(--fq);color:#000;width:calc(366*var(--u))}
.ptxt{margin-top:calc(33*var(--u));width:calc(430*var(--u));font:400 calc(18.1*var(--u))/calc(25.33*var(--u)) var(--fq);color:var(--ink)}
.ptxt p+p{margin-top:calc(7*var(--u))}.ptxt .gap{height:0;margin-top:0;visibility:hidden}.ptxt .gap+p{margin-top:calc(25*var(--u))}
.ptxt .ph3{margin-top:calc(33*var(--u));font:700 calc(24*var(--u))/calc(30*var(--u)) var(--fq)}
.plist{list-style:none;margin-top:calc(20*var(--u))}
.plist li{position:relative;padding-left:calc(24*var(--u));font:400 calc(24.88*var(--u))/calc(29.86*var(--u)) var(--fq);color:var(--ink);margin-bottom:calc(25*var(--u))}
.plist li::before{content:"";position:absolute;left:calc(4*var(--u));top:calc(11*var(--u));width:calc(6*var(--u));height:calc(6*var(--u));border-radius:50%;background:var(--ink)}
.plist.sm li{font-size:calc(18.1*var(--u));line-height:calc(25.33*var(--u));margin-bottom:calc(6*var(--u))}.plist.sm li::before{top:calc(9*var(--u))}
.plist.nob li::before{display:none}.plist.nob li{padding-left:0;font-size:calc(18.1*var(--u));line-height:calc(25.33*var(--u));margin-bottom:calc(6*var(--u))}
.pbtn{display:block;margin-top:calc(54*var(--u));width:calc(239*var(--u));height:calc(71*var(--u));border-radius:calc(500*var(--u));background:#000;color:#fff;font:400 calc(15.98*var(--u))/calc(71*var(--u)) var(--fmt);text-align:center;transition:background .25s}
.pbtn:hover{background:var(--red)}
.pvh{margin-top:calc(33*var(--u));width:calc(352*var(--u));font:700 calc(53.93*var(--u))/calc(64.71*var(--u)) var(--fq);color:var(--ink)}
.pvh .red{color:var(--red)}
.pvh+.plist{margin-top:calc(41*var(--u))}
.s-gal{height:calc(var(--gh)*var(--u))}
.gslider{position:absolute;left:0;top:calc(24*var(--u));width:100%;height:calc(609*var(--u));overflow:hidden}
.gtrack{display:flex;gap:calc(32*var(--u));transition:transform .7s var(--e1);padding-left:0;margin-left:calc(-5*var(--u))}
.gitem{flex:none;width:calc(457*var(--u));height:calc(609*var(--u));border-radius:calc(20*var(--u));overflow:hidden}
.gitem img{width:100%;height:100%;object-fit:cover}
.gbtn{position:absolute;top:50%;width:calc(46*var(--u));height:calc(46*var(--u));margin-top:calc(-23*var(--u));border-radius:50%;background:#fff;box-shadow:0 1px 6px rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center}
.gbtn svg{width:calc(22*var(--u));height:calc(22*var(--u))}.gprev{left:calc(22*var(--u))}.gnext{right:calc(22*var(--u))}
.gbtn:hover{background:#f0f0f0}
.t-gal2{--bgi:url(../img/tex/gal2.webp)}
.s-gal .bg{--bgc:#fff}

/* ---------- Blog-Übersicht ---------- */
.s-blog{min-height:calc(966*var(--u));padding-bottom:calc(110*var(--u))}
.s-blog .bg{--bgc:#fff;--bgo:.56}
.bbar{position:relative;margin:calc(214*var(--u)) 0 0 calc(63*var(--u));width:calc(1300*var(--u));height:calc(142*var(--u));background:rgba(79,79,79,.37)}
.bbar h1{position:absolute;left:calc(20*var(--u));top:calc(32*var(--u));font:700 calc(36*var(--u))/calc(50.4*var(--u)) var(--fq);color:var(--ink)}
.bgrid{position:relative;margin:calc(20*var(--u)) 0 0 calc(63*var(--u));width:calc(1300*var(--u));display:grid;grid-template-columns:repeat(4,calc(301*var(--u)));gap:calc(32*var(--u))}
.btile{position:relative;display:block;height:calc(225*var(--u));overflow:hidden;color:#fff;background:#222}
.btile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.btile:hover img{transform:scale(1.04)}
.bov{position:absolute;inset:0;background:rgba(0,0,0,.55)}
.bmeta{position:absolute;left:calc(30*var(--u));top:calc(34*var(--u));font:400 calc(12*var(--u))/calc(18*var(--u)) var(--fq)}
.bmeta i{font-style:normal;margin:0 calc(7*var(--u))}
.btile h2{position:absolute;left:calc(30*var(--u));right:calc(30*var(--u));bottom:calc(62*var(--u));font:400 calc(26*var(--u))/1.2 var(--fq);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.bex{display:none}
.bheart{position:absolute;left:calc(30*var(--u));bottom:calc(21*var(--u));width:calc(15*var(--u));height:calc(15*var(--u))}

/* ---------- 404 ---------- */
.s-404{min-height:100vh;padding:calc(260*var(--u)) 0 calc(160*var(--u))}
.nf{position:relative;margin:0 auto;width:calc(700*var(--u));text-align:center}
.nf h1{font:700 calc(68.9*var(--u))/calc(82.7*var(--u)) var(--fq)}.nf p{margin-top:calc(24*var(--u));font:400 calc(25.5*var(--u))/calc(35.7*var(--u)) var(--fq)}
.nfb{display:inline-block;position:relative;width:auto;height:auto;padding:calc(20*var(--u)) calc(40*var(--u));margin:calc(10*var(--u)) calc(8*var(--u)) 0;font-size:calc(20*var(--u))}

/* ---------- Beitrag ---------- */
.s-post{padding:calc(102*var(--u)) 0 0;min-height:calc(1860*var(--u))}
.s-post .bg{--bgc:#fff;--bgo:.47}
.post{position:relative;margin:0 auto;width:calc(740*var(--u));padding:calc(104*var(--u)) 0 calc(120*var(--u))}
.pmeta{font:400 calc(14*var(--u))/calc(21*var(--u)) var(--fq);color:var(--ink)}
.pmeta i{font-style:normal;margin:0 calc(8*var(--u))}
.post h1{margin-top:calc(21*var(--u));font:700 calc(40*var(--u))/calc(50*var(--u)) var(--fq);color:var(--ink)}
.pbody{margin-top:calc(51*var(--u));font:400 calc(18*var(--u))/calc(27*var(--u)) var(--fq);color:var(--ink)}
.pbody p{margin:0 0 calc(35*var(--u))}
.pbody p.q{font-style:italic;color:#e62214;margin-bottom:calc(27*var(--u))}
.pbody ul{margin:0 0 calc(35*var(--u)) calc(22*var(--u))}.pbody li{margin-bottom:calc(12*var(--u));padding-left:calc(6*var(--u))}
.pbody a{text-decoration:underline}
.pimg{margin:0 0 calc(35*var(--u))}.pimg img{width:100%;height:auto;border-radius:calc(4*var(--u))}
.pimg figcaption{font-size:calc(14*var(--u));line-height:calc(21*var(--u));margin-top:calc(10*var(--u));color:#333}
.pfile{display:flex;align-items:center;gap:calc(16*var(--u));width:calc(370*var(--u));margin:0 0 calc(35*var(--u));padding:calc(20*var(--u)) calc(22*var(--u));border:1px solid rgba(15,15,16,.3);background:rgba(255,255,255,.35);flex-direction:column;align-items:flex-start;gap:calc(4*var(--u))}
.pfn{font:400 calc(18*var(--u))/calc(27*var(--u)) var(--fq);color:var(--ink)}.pfn span{color:#555}
.pfd{font:400 calc(14*var(--u))/calc(21*var(--u)) var(--fq);color:#444}
.pfile:hover{background:rgba(255,255,255,.6)}
.pshare{display:flex;gap:calc(22*var(--u));padding-top:calc(22*var(--u));border-top:1px solid rgba(15,15,16,.25)}
.pshare a,.pshare button{width:calc(20*var(--u));height:calc(20*var(--u));display:block}.pshare svg{width:100%;height:100%;fill:var(--ink)}
.pshare .pcopy svg{fill:none}

/* ---------- Jobs ---------- */
.s-jobs{height:calc(600*var(--u))}
.s-jobs .bg{--bgc:rgba(255,255,255,.97);--bgi:url(../img/tex/page2.webp);--bgo:.31}
.jh1{font:700 calc(68.9*var(--u))/calc(96.5*var(--u)) var(--fq);color:var(--ink)}
.jpub{font:400 calc(20.97*var(--u))/calc(29.36*var(--u)) var(--fq);color:var(--ink)}.jpub a{text-decoration:underline}
.jjob{display:block;border:2px solid #e30414;border-radius:999px;color:var(--ink);transition:background .25s}
.jjob span{position:absolute;left:calc(17*var(--u));top:calc(8*var(--u));width:calc(262*var(--u));font:700 calc(20.97*var(--u))/calc(29.36*var(--u)) var(--fq)}
.jjob b{position:absolute;left:calc(225*var(--u));top:calc(-10*var(--u));width:calc(93*var(--u));height:calc(93*var(--u));border:2px solid var(--ink);border-radius:50%;background:rgba(255,255,255,.0);display:block;transition:background .25s}
.jjob b svg{position:absolute;left:calc(23*var(--u));top:calc(24*var(--u));width:calc(43*var(--u));height:calc(43*var(--u))}
.jjob:hover{background:rgba(227,4,20,.08)}.jjob:hover b{background:#fff}
.jtxt{font:400 calc(20.97*var(--u))/calc(29.36*var(--u)) var(--fq);color:var(--ink)}
.jbtn{display:block;background:#e30414;border:1px solid #000;border-radius:calc(50*var(--u));color:#fff;font:700 calc(17*var(--u))/calc(55*var(--u)) var(--fmt);text-align:center;transition:background .25s}
.jbtn:hover{background:#b8141c}

/* ---------- 60 Jahre ---------- */
body.pg-jahre60 .sec{background:#fff}
.s-60h{height:calc(218*var(--u));margin-top:calc(102*var(--u))}
#h-60{font:700 calc(68.9*var(--u))/calc(96.5*var(--u)) var(--fq);color:var(--ink);left:calc(232*var(--u))}
.s-60v{height:calc(557*var(--u))}
.vbox{background:#000}.vbox video{width:100%;height:100%;object-fit:cover;background:#000}
.s-60g{padding:calc(20*var(--u)) 0 calc(120*var(--u))}
.mason{width:calc(1000*var(--u));margin:0 auto;columns:4;column-gap:calc(14*var(--u))}
.mi{display:block;margin-bottom:calc(14*var(--u));break-inside:avoid;cursor:zoom-in}
.mi img{width:100%;height:auto}
.lb{position:fixed;inset:0;z-index:300;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center}
.lb.open{display:flex}
.lb img{max-width:92vw;max-height:88vh;object-fit:contain}
.lb button{position:absolute;color:#fff;font-size:38px;line-height:1;padding:12px 18px}
.lb .x{top:10px;right:14px}.lb .p{left:10px;top:50%}.lb .n{right:10px;top:50%}

/* ---------- Datenschutz ---------- */
.s-legal{padding:calc(130*var(--u)) 0 calc(120*var(--u))}
.s-legal .bg{--bgc:#a6a6a6;--bgo:.2}
.legal{position:relative;margin-left:calc(71*var(--u));width:calc(1195*var(--u));font:400 calc(20.97*var(--u))/calc(29.36*var(--u)) var(--fq);color:var(--ink)}
.legal h1{font:400 calc(53.93*var(--u))/calc(75.5*var(--u)) var(--fq);margin-bottom:calc(29*var(--u))}
.legal h2{font:700 calc(20.97*var(--u))/calc(29.36*var(--u)) var(--fq);margin:calc(29*var(--u)) 0 0}
.legal h3{font:700 calc(20.97*var(--u))/calc(29.36*var(--u)) var(--fq);margin:0}
.legal p{margin:0 0 calc(29*var(--u))}.legal ul{margin:0 0 calc(29*var(--u)) calc(38*var(--u))}.legal li{margin-bottom:0}
.legal a{text-decoration:underline}

/* =====================================================================
   MOBIL (bis 750 px): eigenes Layout, Basis 390 px, skaliert mit der Breite
   ===================================================================== */
@media (max-width:1000px){
  :root{--u:calc(var(--vw,1vw)*100/390)}
  .abs{left:calc(var(--x)*var(--u));top:calc(var(--y)*var(--u));width:calc(var(--w)*var(--u));height:calc(var(--h)*var(--u))}
  .nav,.hl,.vl,.hdr-bg .x{display:none}
  .hdr{height:calc(122*var(--u))}
  .hdr-bg{height:calc(122*var(--u))}
  #site .hdr-logo{left:calc(20*var(--u));top:calc(29*var(--u));width:calc(219*var(--u));height:calc(64*var(--u))}
  #site .hdr-mail{left:calc(248*var(--u));top:calc(40*var(--u));width:calc(60*var(--u));height:calc(42*var(--u))}
  .hdr-mail svg{left:calc(36*var(--u));top:calc(-2*var(--u));width:calc(47*var(--u));height:calc(47*var(--u))}
  .hburger{display:block;position:absolute;left:calc(321*var(--u));top:calc(42*var(--u));width:calc(39*var(--u));height:calc(39*var(--u));z-index:3;pointer-events:auto}
  .hburger i{position:absolute;right:0;height:1.6px;background:var(--ink);transition:transform .25s,opacity .2s}
  .hburger i:nth-child(1){top:calc(11*var(--u));width:calc(27*var(--u))}.hburger i:nth-child(2){top:calc(19*var(--u));width:calc(27*var(--u))}.hburger i:nth-child(3){top:calc(27*var(--u));width:calc(27*var(--u))}
  .hdr::after{content:"";position:absolute;left:calc(20*var(--u));right:calc(20*var(--u));top:calc(121*var(--u));height:1px;background:var(--ink)}
  .mpanel{position:fixed;right:0;top:0;width:100%;height:100vh;z-index:99;pointer-events:none}
  .hdr.menu-open .mpanel{display:block}
  .mpanel>*{pointer-events:auto}
  .mclose{position:absolute;right:calc(20*var(--u));top:calc(131*var(--u));width:calc(48*var(--u));height:calc(48*var(--u));display:flex;align-items:center;justify-content:center}
  .mclose svg{width:calc(26*var(--u));height:calc(26*var(--u))}
  .mpanel>ul{position:absolute;left:calc(147*var(--u));top:calc(172*var(--u));width:calc(224*var(--u));list-style:none}
  .mpanel li{position:relative;background:rgba(255,255,255,.76);height:calc(51*var(--u))}
  .mpanel li>a{display:block;height:calc(51*var(--u));padding:0 calc(11*var(--u)) 0 0;text-align:right;font:700 calc(26.07*var(--u))/calc(51*var(--u)) var(--fq);color:#f53643}
  .mpanel li>a.m-cur{color:#4f4f4f}
  .m-sub>button{position:absolute;left:calc(12*var(--u));top:calc(19*var(--u));width:calc(20*var(--u));height:calc(14*var(--u));color:#f53643}
  .m-sub>button svg{width:calc(12*var(--u));height:calc(6*var(--u));fill:currentColor}
  .m-drop{display:none;list-style:none}
  .m-sub.open .m-drop{display:block}
  .m-sub.open{height:auto}
  .m-drop li{height:calc(44*var(--u))}
  .m-drop a{height:calc(44*var(--u))!important;line-height:calc(44*var(--u))!important;font-size:calc(20*var(--u))!important}

  /* Hero */
  .s-hero{height:max(calc(501*var(--u)),59.4vh)}
  #site .hero-h1{left:calc(20*var(--u));top:calc(160*var(--u));width:calc(350*var(--u));height:calc(177*var(--u));font-size:calc(57.97*var(--u));line-height:calc(52.18*var(--u));text-shadow:calc(1.2*var(--u)) calc(1.2*var(--u)) calc(3.3*var(--u)) rgba(15,15,16,.69)}
  #site .hero-sub{left:calc(124*var(--u));top:calc(380*var(--u));width:calc(247*var(--u));height:calc(64*var(--u));font-size:calc(26.28*var(--u));line-height:calc(36.79*var(--u));white-space:normal}

  /* Willkommen */
  .s-welcome{height:calc(292*var(--u))}
  #site .q-h2{left:calc(20*var(--u));top:calc(25*var(--u));width:calc(350*var(--u));height:calc(52*var(--u));font-size:calc(23.13*var(--u));line-height:calc(27.75*var(--u))}
  #site .q-p{left:calc(20*var(--u));top:calc(103*var(--u));width:calc(350*var(--u));height:calc(65*var(--u));font-size:calc(16.82*var(--u));line-height:calc(23.55*var(--u))}
  #site .s-welcome .pill{left:calc(119*var(--u));top:calc(196*var(--u));width:calc(148*var(--u));height:calc(44*var(--u))}
  .s-welcome .pill{font-size:calc(16*var(--u))}
  .pill-black span{left:calc(12*var(--u))}.pill-black svg{left:calc(106*var(--u));top:calc(6*var(--u));width:calc(31*var(--u));height:calc(31*var(--u))}
  .pill-black svg{left:calc(106*var(--u))}

  /* News */
  .s-news{height:calc(643*var(--u))}
  #site .newsbox{left:calc(2*var(--u));top:0;width:calc(390*var(--u));height:calc(643*var(--u));border:1px solid rgba(15,15,16,.2)}
  .newsimg{left:0;top:0;width:100%;height:calc(293*var(--u))}
  .newstxt{left:calc(25*var(--u));top:calc(320*var(--u));width:calc(340*var(--u))}
  .newstxt h3{font-size:calc(22*var(--u))}
  .newstxt p{margin-top:calc(10*var(--u));font-size:calc(16*var(--u));line-height:calc(24*var(--u))}

  /* Zitat */
  .s-quote{height:calc(171*var(--u))}
  #site .s-quote .qmark:first-of-type{left:calc(19*var(--u));top:calc(34*var(--u));width:calc(21*var(--u));height:calc(21*var(--u))}
  #site .qtext{left:calc(49*var(--u));top:calc(38*var(--u));width:calc(292*var(--u));height:calc(100*var(--u))}
  .qtext span{line-height:calc(29*var(--u))}
  .qtext span:nth-child(1){--fsm:25.2}.qtext span:nth-child(2){--fsm:25.3}.qtext span:nth-child(3){--fsm:25.1}
  #site .s-quote .qmark:last-of-type{left:calc(347*var(--u));top:calc(130*var(--u));width:calc(21*var(--u));height:calc(21*var(--u))}

  /* Video */
  .s-video{height:calc(210*var(--u))}

  /* Über-uns-Teaser */
  .s-know{height:calc(559*var(--u))}
  #site .q-know{left:calc(20*var(--u));top:calc(37*var(--u));width:calc(326*var(--u));height:calc(67*var(--u));font-size:calc(28*var(--u));line-height:calc(33.6*var(--u))}
  #site .q-know-p{left:calc(20*var(--u));top:calc(122*var(--u));width:calc(351*var(--u));height:calc(151*var(--u));font-size:calc(16.73*var(--u));line-height:calc(25.09*var(--u))}
  #site .s-know .q-more{left:calc(20*var(--u));top:calc(282*var(--u));width:calc(80*var(--u));height:calc(20*var(--u));font-size:calc(16*var(--u))}
  #site .feed{left:calc(20*var(--u));top:calc(328*var(--u));width:calc(351*var(--u));height:calc(165*var(--u))}
  .feed-i{height:calc(165*var(--u))}
  .feed-i:nth-child(1){left:0;top:0;width:calc(166*var(--u))}.feed-i:nth-child(2){left:calc(186*var(--u));top:0;width:calc(165*var(--u))}
  .feed-i img{left:0;top:0;width:100%;height:100%}
  .feed-i::before{left:0;top:0;width:100%;height:100%;background:rgba(0,0,0,.34)}
  .feed-i span{left:calc(30*var(--u));top:calc(105*var(--u));width:calc(106*var(--u));max-height:calc(33*var(--u));font-size:calc(16*var(--u));line-height:calc(16.5*var(--u));color:#fff;-webkit-line-clamp:2}
  .s-know.is-open{height:calc(559*var(--u) + var(--extra,0px))}
  .s-know.is-open .q-more{top:calc(282*var(--u) + var(--extra,0px))}
  .s-know.is-open .feed{top:calc(328*var(--u) + var(--extra,0px))}
  .s-know.is-open .q-know-p{height:auto}

  /* Unsere Produkte */
  .s-ph{height:calc(103*var(--u))}
  #h-prod{left:calc(20*var(--u));top:calc(34*var(--u));width:calc(204*var(--u));height:calc(34*var(--u));--fsm:25.3}

  /* Karten */
  .s-cards{height:calc(3218*var(--u))}
  #site .cc1{left:0;top:0;width:100%;height:calc(1555*var(--u))}
  #site .cc2{left:0;top:calc(1563*var(--u));width:100%;height:calc(1555*var(--u))}
  .card{top:20vh;width:calc(351*var(--u));height:calc(351*var(--u));margin-left:calc(20*var(--u));border-radius:calc(11.1*var(--u))}
  .ccol .card:first-child{margin-top:calc(50*var(--u))}
  .ccol .card+.card{margin-top:calc((var(--cym) - 401)*var(--u))}
  .c-spezial{--cym:852}.c-garten{--cym:852}
  .ctitle{font-size:calc(32*var(--u));line-height:calc(32.5*var(--u));top:calc(12*var(--u))!important}
  .csub{font-size:calc(16*var(--u));line-height:calc(17*var(--u));top:calc(var(--sy,85)*var(--u))!important}
  .c-fassaden{--sy:117}.c-garten .csub{--sy:89}
  .c-treppen .cmore{left:calc(213*var(--u));top:calc(299*var(--u));width:calc(145*var(--u));height:calc(43*var(--u));font-size:calc(18*var(--u));line-height:calc(43*var(--u))}
  .c-spezial .cmore{left:calc(209*var(--u));top:calc(304*var(--u));width:calc(149*var(--u));height:calc(44*var(--u));line-height:calc(44*var(--u))}
  .c-fassaden .cmore{left:calc(222*var(--u));top:calc(290*var(--u));width:calc(149*var(--u));height:calc(44*var(--u));line-height:calc(44*var(--u))}
  .c-garten .cmore{left:calc(223*var(--u));top:calc(298*var(--u));width:calc(149*var(--u));height:calc(44*var(--u));line-height:calc(44*var(--u))}

  /* Beton-Elemente (Vorteile entfallen mobil) */
  .s-be{height:calc(130*var(--u))}
  #h-be1{left:calc(20*var(--u));top:calc(19*var(--u));width:calc(316*var(--u));height:calc(54*var(--u));--fsm:41.2}
  #h-be2{left:calc(20*var(--u));top:calc(71*var(--u));width:calc(226*var(--u));height:calc(41*var(--u));--fsm:30.2}
  .s-vor{display:none}

  /* Über uns */
  .s-about{height:calc(353*var(--u))}
  #h-about{left:calc(20*var(--u));top:calc(12*var(--u));width:calc(182*var(--u));height:calc(55*var(--u));--fsm:42}
  #site .q-abt-h{left:calc(20*var(--u));top:calc(98*var(--u));width:calc(351*var(--u));height:calc(67*var(--u));font-size:calc(28*var(--u));line-height:calc(33.6*var(--u))}
  #site .q-abt-p{left:calc(20*var(--u));top:calc(179*var(--u));width:calc(351*var(--u));height:calc(150*var(--u));font-size:calc(16.69*var(--u));line-height:calc(25.03*var(--u))}
  #site .s-about .q-more{left:calc(20*var(--u));top:calc(329*var(--u));width:calc(80*var(--u));height:calc(20*var(--u));font-size:calc(16*var(--u))}
  .s-about.is-open{height:calc(353*var(--u) + var(--extra,0px))}
  .s-about.is-open .q-more{top:calc(329*var(--u) + var(--extra,0px))}

  /* Teamfoto */
  .s-team{height:calc(238*var(--u))}

  /* Ansprechpersonen */
  .s-people{height:calc(2214*var(--u))}
  #h-people{left:calc(20*var(--u));top:calc(50*var(--u));width:calc(339*var(--u));height:calc(48*var(--u));--fsm:36.3}
  #site .pc{left:calc(33*var(--u));width:calc(325*var(--u));height:calc(494*var(--u))}
  #site .pc1{top:calc(124*var(--u))}#site .pc2{top:calc(639*var(--u))}#site .pc3{top:calc(1154*var(--u))}#site .pc4{top:calc(1669*var(--u))}
  .pc img{position:absolute;left:calc(42*var(--u));top:calc(22*var(--u));width:calc(242*var(--u));height:calc(259*var(--u))}
  .pc h3{top:calc(304*var(--u))!important;font-size:calc(18*var(--u))!important;line-height:calc(25.2*var(--u))}
  .pc p{top:calc(333*var(--u))!important;font-size:calc(16.82*var(--u));line-height:calc(23.55*var(--u));font-weight:700}
  .pc a{left:calc(139*var(--u));top:calc(367*var(--u))!important;width:calc(46*var(--u));height:calc(40*var(--u))}

  /* Referenzen */
  .s-ref{height:calc(624*var(--u))}
  #h-ref{left:calc(76*var(--u));top:calc(22*var(--u));width:calc(237*var(--u));height:calc(56*var(--u));--fsm:42.8}
  #site .q-ref-sub{left:calc(69*var(--u));top:calc(79*var(--u));width:calc(252*var(--u));height:calc(30*var(--u));font-size:calc(23.13*var(--u));line-height:calc(27*var(--u))}
  #site .slider{left:0;top:calc(150*var(--u));width:calc(390*var(--u));height:calc(440*var(--u))}
  .sl-slide{left:calc(44*var(--u));width:calc(303*var(--u));height:calc(430*var(--u))}
  .sl-slide h3{margin-top:calc(35*var(--u));font-size:calc(16.82*var(--u));line-height:calc(25.23*var(--u))}
  .sl-slide p{margin-top:calc(36*var(--u));font-size:calc(16.82*var(--u));line-height:calc(25.23*var(--u))}
  .slider .sl-prev{left:calc(12*var(--u));top:calc(230*var(--u))}.slider .sl-next{left:calc(343*var(--u));top:calc(230*var(--u))}

  /* Netzwerk */
  .s-net{height:calc(409*var(--u))}
  #h-net{left:calc(18*var(--u));top:calc(78*var(--u));width:calc(354*var(--u));height:calc(58*var(--u));--fsm:45.5}
  #site .q-net-sub{left:calc(20*var(--u));top:calc(142*var(--u));width:calc(350*var(--u));height:calc(28*var(--u));font-size:calc(23.13*var(--u));line-height:calc(27.75*var(--u));text-align:center;white-space:nowrap}
  #site .lslider{left:0;top:calc(200*var(--u));width:calc(390*var(--u));height:calc(200*var(--u))}
  .lg.abs{width:calc(40*var(--u));height:calc(47*var(--u))}
  .lpage .lg:nth-child(6n+1){left:calc(68*var(--u))}.lpage .lg:nth-child(6n+2){left:calc(110*var(--u))}.lpage .lg:nth-child(6n+3){left:calc(153*var(--u))}.lpage .lg:nth-child(6n+4){left:calc(195*var(--u))}.lpage .lg:nth-child(6n+5){left:calc(238*var(--u))}.lpage .lg:nth-child(6n+6){left:calc(280*var(--u))}
  .lpage .lg:nth-child(-n+6){top:calc(62*var(--u))}.lpage .lg:nth-child(n+7){top:calc(111*var(--u))}
  .lslider .sl-btn{width:calc(40*var(--u));height:calc(40*var(--u));top:calc(164*var(--u))}
  .lslider .sl-btn svg{width:calc(30*var(--u));height:calc(30*var(--u))}
  .lslider .sl-prev{left:calc(130*var(--u))}.lslider .sl-next{left:calc(220*var(--u))}

  /* Newsletter */
  .s-nl{height:calc(475*var(--u))}
  #h-nl{left:calc(19*var(--u));top:calc(41*var(--u));width:calc(352*var(--u));height:calc(52*var(--u));--fsm:40.3}
  #site .nlform{left:calc(35*var(--u));top:calc(118*var(--u));width:calc(320*var(--u));height:calc(330*var(--u))}
  .nl-t{left:calc(21*var(--u));top:calc(18*var(--u));width:calc(240*var(--u));font-size:calc(22*var(--u));line-height:calc(33*var(--u))}
  .nl-l{left:calc(21*var(--u));top:calc(93*var(--u));font-size:calc(19*var(--u));line-height:calc(23*var(--u))}
  .nlform input[type=email]{left:calc(21*var(--u));top:calc(124*var(--u));width:calc(279*var(--u));height:calc(44*var(--u));font-size:16px}
  .nl-c{left:calc(21*var(--u));top:calc(176*var(--u));width:calc(279*var(--u));font-size:calc(20*var(--u));line-height:calc(30*var(--u))}
  .nl-c input{margin-top:calc(6*var(--u))}
  .nl-b{left:calc(21*var(--u));top:calc(253*var(--u));width:calc(279*var(--u));height:calc(45*var(--u));font-size:calc(19*var(--u))}

  /* Kontakt */
  .s-contact{height:calc(309*var(--u))}
  #c-phone{left:calc(29*var(--u));top:calc(55*var(--u));width:calc(331*var(--u));height:calc(66*var(--u));--fsm:50.8}
  #c-mail{left:calc(101*var(--u));top:calc(125*var(--u));width:calc(188*var(--u));height:calc(36*var(--u));--fsm:26.2}
  #site .q-contact{left:calc(104*var(--u));top:calc(179*var(--u));width:calc(182*var(--u));height:calc(38*var(--u));font-size:calc(16.82*var(--u));line-height:calc(20.18*var(--u));text-align:center}
  #site .s-contact .pill{left:calc(125*var(--u));top:calc(238*var(--u));width:calc(140*var(--u));height:calc(41*var(--u))}
  .pill-red span{left:calc(23*var(--u));font-size:calc(16.7*var(--u))}.pill-red svg{left:calc(92*var(--u));top:calc(8*var(--u));width:calc(25*var(--u));height:calc(25*var(--u))}

  /* Fusszeile */
  .ftr{height:calc(745*var(--u))}
  #site .ftr>a.abs:first-of-type{left:calc(20*var(--u));top:calc(39*var(--u));width:calc(351*var(--u));height:calc(125*var(--u))}
  .ftr .fnav{left:calc(20*var(--u));top:calc(169*var(--u));width:calc(200*var(--u));height:120px}
  .fnav a{font:400 calc(16*var(--u))/calc(24.6*var(--u)) var(--fmt);height:calc(24.6*var(--u))}
  .fch{left:calc(115*var(--u));top:0;height:calc(24.6*var(--u))}
  #site .ftr .abs[href*="linkedin"]{left:calc(20*var(--u));top:calc(324*var(--u));width:calc(38*var(--u));height:calc(28*var(--u))}
  #site .ftr .abs[href*="facebook"]{left:calc(20*var(--u));top:calc(373*var(--u));width:calc(44*var(--u));height:calc(28*var(--u))}
  #site .f-adr{left:calc(20*var(--u));top:calc(436*var(--u));width:calc(200*var(--u));height:calc(100*var(--u))}
  .ftxt{font-size:calc(16.82*var(--u));line-height:calc(25.23*var(--u))}
  #site .f-tel{left:calc(20*var(--u));top:calc(563*var(--u));width:calc(200*var(--u));height:calc(30*var(--u))}
  #site .f-mail{left:calc(20*var(--u));top:calc(602*var(--u));width:calc(200*var(--u));height:calc(30*var(--u))}
  #site .f-dsg{left:calc(20*var(--u));top:calc(637*var(--u));width:calc(220*var(--u));height:calc(30*var(--u))}
  .fcopy{left:calc(12*var(--u));top:calc(706*var(--u));width:calc(366*var(--u));text-align:center;font-size:calc(15*var(--u))}
}

/* Produktseiten mobil */
@media (max-width:1000px){
  .s-prod{height:auto;padding:calc(545*var(--u)) 0 calc(70*var(--u))}
  #site .pcol{left:calc(19*var(--u));top:calc(176*var(--u));width:calc(352*var(--u));height:calc(513*var(--u))}
  #site .pcard{width:calc(352*var(--u));height:calc(337*var(--u));top:10vh;margin-left:0;border-radius:calc(31.5*var(--u))}
  .pcard .ctitle{top:calc(12*var(--u));font-size:calc(32*var(--u));line-height:calc(32.5*var(--u))}.pcard .csub{top:calc(85*var(--u));font-size:calc(16*var(--u));line-height:calc(17*var(--u))}
  .pcard .pcmore{right:calc(20*var(--u));bottom:calc(20*var(--u));width:calc(120*var(--u));height:calc(40*var(--u));font-size:calc(16*var(--u));line-height:calc(40*var(--u))}
  .pright{position:relative;left:auto;top:auto;margin:0 0 0 calc(19*var(--u));width:calc(352*var(--u))}
  .pright h1{font-size:calc(34.69*var(--u));line-height:calc(38.16*var(--u));width:calc(300*var(--u))}
  .ph2{margin-top:calc(23*var(--u));font-size:calc(26*var(--u));line-height:calc(31.2*var(--u));width:calc(288*var(--u))}
  .ptxt{margin-top:calc(34*var(--u));width:calc(315*var(--u));font-size:calc(16.82*var(--u));line-height:calc(23.55*var(--u))}
  .ptxt p+p{margin-top:calc(6*var(--u))}.ptxt .gap+p{margin-top:calc(23*var(--u))}
  .ptxt .ph3{margin-top:calc(26*var(--u));font-size:calc(20*var(--u));line-height:calc(26*var(--u))}
  .plist li{padding-left:calc(30*var(--u));font-size:calc(16.82*var(--u));line-height:calc(20.18*var(--u));margin-bottom:calc(8*var(--u))}
  .plist li::before{left:calc(10*var(--u));top:calc(7*var(--u));width:calc(5*var(--u));height:calc(5*var(--u))}
  .plist.sm li,.plist.nob li{font-size:calc(16.82*var(--u));line-height:calc(23.55*var(--u))}
  .plist.nob li{padding-left:0}
  .pbtn{margin-top:calc(36*var(--u));width:calc(149*var(--u));height:calc(44*var(--u));font-size:calc(16*var(--u));line-height:calc(44*var(--u))}
  .pvh{margin-top:calc(68*var(--u));width:calc(330*var(--u));font-size:calc(27.33*var(--u));line-height:calc(32.8*var(--u))}
  .pvh+.plist{margin-top:calc(13*var(--u))}
  .s-gal{height:calc(557*var(--u))}
  .gslider{top:calc(24*var(--u));height:calc(509*var(--u))}
  .gtrack{gap:calc(14*var(--u));margin-left:calc(19*var(--u))}
  .gitem{width:calc(352*var(--u));height:calc(509*var(--u));border-radius:calc(20*var(--u))}
  .gbtn{width:calc(36*var(--u));height:calc(36*var(--u));margin-top:calc(-18*var(--u))}.gbtn svg{width:calc(18*var(--u));height:calc(18*var(--u))}
  .gprev{left:calc(26*var(--u))}.gnext{right:calc(26*var(--u))}
}

/* Weitere Seiten mobil */
@media (max-width:1000px){
  .s-404{padding:calc(200*var(--u)) 0 calc(100*var(--u))}.nf{width:calc(330*var(--u))}.nf h1{font-size:calc(30*var(--u));line-height:calc(36*var(--u))}.nf p{font-size:calc(16.82*var(--u));line-height:calc(23.55*var(--u))}.nfb{padding:calc(12*var(--u)) calc(24*var(--u));font-size:calc(16*var(--u))}
  /* Blog */
  .s-blog{min-height:0;padding-bottom:calc(50*var(--u))}
  .bbar{margin:calc(156*var(--u)) 0 0 calc(12*var(--u));width:calc(367*var(--u));height:calc(142*var(--u))}
  .bbar h1{left:calc(20*var(--u));top:calc(42*var(--u));font-size:calc(36*var(--u))}
  .bgrid{margin:calc(32*var(--u)) 0 0 calc(12*var(--u));width:calc(367*var(--u));grid-template-columns:1fr;gap:calc(20*var(--u))}
  .btile{height:auto;background:rgba(79,79,79,.75);color:#fff}
  .btile img{position:relative;height:calc(217*var(--u))}
  .bov{display:none}
  .bmeta,.btile h2,.bex,.bheart{position:relative;left:auto;right:auto;top:auto;bottom:auto;display:block}
  .bmeta{margin:calc(50*var(--u)) calc(30*var(--u)) 0;font-size:calc(12*var(--u))}
  .btile h2{margin:calc(28*var(--u)) calc(30*var(--u)) 0;font-size:calc(26*var(--u));line-height:calc(36.4*var(--u));-webkit-line-clamp:unset;display:block}
  .bex{margin:calc(18*var(--u)) calc(30*var(--u)) 0;font:400 calc(16*var(--u))/calc(24*var(--u)) var(--fq);display:block}
  .bheart{margin:calc(26*var(--u)) calc(30*var(--u)) calc(30*var(--u));width:calc(15*var(--u));height:calc(15*var(--u))}
  /* Beitrag */
  .s-post{min-height:0;padding-top:calc(122*var(--u))}
  .post{width:calc(308*var(--u));padding:calc(53*var(--u)) 0 calc(80*var(--u))}
  .pmeta{font-size:calc(12*var(--u));line-height:calc(18*var(--u))}
  .post h1{margin-top:calc(12*var(--u));font-size:calc(26*var(--u));line-height:calc(36.4*var(--u))}
  .pbody{margin-top:calc(40*var(--u));font-size:calc(16*var(--u));line-height:calc(24*var(--u))}
  .pbody p{margin-bottom:calc(24*var(--u))}.pbody p.q{margin-bottom:calc(12*var(--u))}
  .pfile{width:100%}
  .pfn{font-size:calc(16*var(--u));line-height:calc(24*var(--u))}
  .pshare{gap:calc(20*var(--u))}.pshare a,.pshare button{width:calc(22*var(--u));height:calc(22*var(--u))}
  /* Jobs */
  .s-jobs{height:calc(280*var(--u))}
  .jh1{left:calc(49*var(--u))!important;top:calc(135*var(--u))!important;width:calc(300*var(--u))!important;height:calc(30*var(--u))!important;font-size:calc(18.66*var(--u));line-height:calc(26.13*var(--u))}
  .jpub{left:calc(49*var(--u))!important;top:calc(163*var(--u))!important;width:calc(290*var(--u))!important;height:auto!important;font-size:calc(16.82*var(--u));line-height:calc(23.55*var(--u))}
  .jjob{width:calc(260*var(--u))!important;height:calc(69*var(--u))!important}
  .jjob:nth-of-type(1){left:calc(49*var(--u))!important;top:calc(205*var(--u))!important}.jjob:nth-of-type(2){left:calc(49*var(--u))!important;top:calc(284*var(--u))!important}
  .jjob span{left:calc(14*var(--u));top:calc(8*var(--u));width:calc(205*var(--u));font-size:calc(15.81*var(--u));line-height:calc(22.13*var(--u))}
  .jjob b{left:calc(215*var(--u));top:calc(8*var(--u));width:calc(45*var(--u));height:calc(45*var(--u))}.jjob b svg{left:calc(14*var(--u));top:calc(14*var(--u));width:calc(16*var(--u));height:calc(16*var(--u))}
  .japply{display:none}
  /* 60 Jahre */
  .s-60h{height:calc(60*var(--u));margin-top:calc(122*var(--u))}
  #h-60{left:calc(63*var(--u))!important;top:calc(17*var(--u))!important;width:calc(300*var(--u))!important;height:calc(26*var(--u))!important;font-size:calc(18.66*var(--u));line-height:calc(26*var(--u))}
  .s-60v{height:calc(152*var(--u))}
  .vbox{left:calc(72*var(--u))!important;top:0!important;width:calc(245*var(--u))!important;height:calc(152*var(--u))!important}
  .s-60g{padding:calc(20*var(--u)) 0 calc(50*var(--u))}
  .mason{width:calc(330*var(--u));columns:1}
  /* Datenschutz */
  .s-legal{padding:calc(150*var(--u)) 0 calc(60*var(--u))}
  .legal{margin-left:calc(20*var(--u));width:calc(350*var(--u));font-size:calc(16.82*var(--u));line-height:calc(23.55*var(--u))}
  .legal h1{font-size:calc(30*var(--u));line-height:calc(36*var(--u));margin-bottom:calc(20*var(--u))}
  .legal h2,.legal h3{font-size:calc(16.82*var(--u));line-height:calc(23.55*var(--u))}
  .legal h2{margin-top:calc(20*var(--u))}
  .legal p{margin-bottom:calc(20*var(--u))}.legal ul{margin-left:calc(24*var(--u))}
}
