/* erdel metallbau – Feinschliff durch NEXAS Media
   Legt sich über das WordPress-Theme. Schrift Oxygen lokal eingebunden (keine Google-Server). */

/* Ersatzschrift mit angeglichenen Maßen (Arial ≈ Oxygen, gemessen 0,993) gegen Layoutsprünge */
@font-face{font-family:"Oxygen Fallback";src:local("Arial"),local("Helvetica Neue"),local("Helvetica");size-adjust:99.3%;ascent-override:96%;descent-override:26%;line-gap-override:0%}
/* Schrift wie im freigegebenen Entwurf: Oxygen (OFL), lokal eingebunden */
@font-face{font-family:"Oxygen";font-style:normal;font-weight:300;font-display:block;src:url(fonts/oxygen-300-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Oxygen";font-style:normal;font-weight:300;font-display:block;src:url(fonts/oxygen-300-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Oxygen";font-style:normal;font-weight:400;font-display:block;src:url(fonts/oxygen-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Oxygen";font-style:normal;font-weight:400;font-display:block;src:url(fonts/oxygen-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Oxygen";font-style:normal;font-weight:700;font-display:block;src:url(fonts/oxygen-700-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Oxygen";font-style:normal;font-weight:700;font-display:block;src:url(fonts/oxygen-700-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --nxm-ink:#141414;
  --nxm-ink-2:#1d1d1c;
  --nxm-paper:#ffffff;
  --nxm-stone:#f4f3f0;
  --nxm-line:rgba(20,20,20,.12);
  --nxm-muted:#5c5b57;
  --nxm-accent:#b0703f;        /* Corten/Bronze: warmes Metall aus den Fotos */
  --nxm-accent-light:#d9a274;
  --nxm-head-h:76px;
  --nxm-ease:cubic-bezier(.7,0,.2,1);
  --nxm-ease-out:cubic-bezier(.16,1,.3,1);
  --bs-body-font-family:"Oxygen","Oxygen Fallback",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --bs-font-sans-serif:var(--bs-body-font-family);
}
@media (max-width:767.98px){:root{--nxm-head-h:64px}}

html{scroll-padding-top:calc(var(--nxm-head-h) + 16px)}
body{font-family:var(--bs-body-font-family);color:var(--nxm-ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.nxm-nohero #content{padding-top:calc(var(--nxm-head-h) + 24px)}
h1,h2,h3,h4,.h1,.h2,.h3{font-family:var(--bs-body-font-family);letter-spacing:-.02em;text-wrap:balance}
h2,.h2{font-weight:400}
p,li{text-wrap:pretty}
a{color:inherit;text-underline-offset:.2em}
::selection{background:var(--nxm-ink);color:#fff}
:focus-visible{outline:2px solid var(--nxm-accent);outline-offset:3px}
img{max-width:100%;height:auto}

/* Skip-Link */
.nxm-skip{position:fixed;left:12px;top:-60px;z-index:2000;background:var(--nxm-ink);color:#fff;padding:10px 16px;text-decoration:none;transition:top .2s}
.nxm-skip:focus{top:12px;color:#fff}

/* Alte Theme-Reste ausblenden */
.site>.container.sticky,.social,#social-sidebar,.top-button{display:none!important}

/* ---------- Kopfzeile ---------- */
.nxm-head{position:fixed;inset:0 0 auto 0;height:var(--nxm-head-h);z-index:1100;display:flex;align-items:center;justify-content:space-between;
  padding:0 clamp(16px,3.2vw,48px);background:rgba(255,255,255,.86);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);
  border-bottom:1px solid transparent;transition:transform .45s var(--nxm-ease),background-color .35s,border-color .35s}
.nxm-head.is-scrolled{border-bottom-color:var(--nxm-line);background:rgba(255,255,255,.94)}
.nxm-head.is-hidden{transform:translateY(-100%)}
.nxm-head__logo{display:block;line-height:0}
.nxm-head__logo img{height:44px;width:auto;transition:filter .4s}
@media (max-width:767.98px){.nxm-head__logo img{height:36px}}
.nxm-head__right{display:flex;align-items:center;gap:clamp(12px,2vw,28px)}
.nxm-head__tel{display:flex;align-items:center;gap:8px;text-decoration:none;font-weight:600;font-size:15px;letter-spacing:.01em;white-space:nowrap}
.nxm-head__tel svg{width:16px;height:16px;fill:currentColor}
.nxm-head__cta{display:inline-flex;align-items:center;height:42px;padding:0 20px;background:var(--nxm-ink);color:#fff;text-decoration:none;font-weight:600;font-size:14px;letter-spacing:.02em;transition:background-color .25s}
.nxm-head__cta:hover{background:var(--nxm-accent);color:#fff}
@media (max-width:991.98px){.nxm-head__tel,.nxm-head__cta{display:none}}

.nxm-burger{display:flex;align-items:center;gap:12px;height:44px;padding:0 0 0 6px;background:none;border:0;color:var(--nxm-ink);cursor:pointer;font:600 14px/1 var(--bs-body-font-family);letter-spacing:.14em;text-transform:uppercase}
.nxm-burger__label{min-width:5.6em;text-align:right;transition:color .3s}
.nxm-burger__icon{position:relative;width:30px;height:16px;display:block}
.nxm-burger__icon i{position:absolute;right:0;height:2px;background:currentColor;transition:transform .5s var(--nxm-ease),width .4s var(--nxm-ease),opacity .2s,top .5s var(--nxm-ease)}
.nxm-burger__icon i:nth-child(1){top:0;width:30px}
.nxm-burger__icon i:nth-child(2){top:7px;width:20px}
.nxm-burger__icon i:nth-child(3){top:14px;width:26px}
.nxm-burger:hover .nxm-burger__icon i{width:30px}
@media (max-width:420px){.nxm-burger__label{display:none}}

/* Zustand: Menü offen */
body.nxm-menu-open{overflow:hidden}
body.nxm-menu-open .nxm-head{background:transparent;border-bottom-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;transform:none}
body.nxm-menu-open .nxm-head__logo img{filter:invert(1)}
body.nxm-menu-open .nxm-head__tel,body.nxm-menu-open .nxm-head__cta{opacity:0;pointer-events:none}
body.nxm-menu-open .nxm-burger{color:#fff}
body.nxm-menu-open .nxm-burger__icon i:nth-child(1){top:7px;width:28px;transform:rotate(45deg)}
body.nxm-menu-open .nxm-burger__icon i:nth-child(2){opacity:0;width:0}
body.nxm-menu-open .nxm-burger__icon i:nth-child(3){top:7px;width:28px;transform:rotate(-45deg)}

/* ---------- Vollbild-Menü ---------- */
.nxm-menu{position:fixed;inset:0;z-index:1050;background:var(--nxm-ink);color:#fff;display:flex;flex-direction:column;
  padding:calc(var(--nxm-head-h) + clamp(12px,4vh,48px)) clamp(16px,3.2vw,48px) clamp(16px,3vh,28px);
  clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path .8s var(--nxm-ease),visibility 0s linear .8s;overflow-y:auto;overscroll-behavior:contain}
.nxm-menu.is-open{clip-path:inset(0 0 0 0);visibility:visible;transition:clip-path .8s var(--nxm-ease),visibility 0s}
.nxm-menu__grid{position:absolute;inset:0;pointer-events:none;opacity:.07;
  background-image:linear-gradient(to right,#fff 1px,transparent 1px);background-size:calc((100% - 2px)/6) 100%;background-position:clamp(16px,3.2vw,48px) 0;
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 30%,#000 70%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 30%,#000 70%,transparent)}
.nxm-menu__inner{position:relative;flex:1;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(24px,5vw,96px);align-items:center;max-width:1600px;width:100%;margin:0 auto}
.nxm-menu__nav ol{list-style:none;margin:0;padding:0;counter-reset:m}
.nxm-menu__nav li{overflow:hidden;border-bottom:1px solid rgba(255,255,255,.1)}
.nxm-menu__nav li:first-child{border-top:1px solid rgba(255,255,255,.1)}
.nxm-menu__nav a{position:relative;display:grid;grid-template-columns:3.2em 1fr auto;align-items:center;padding:clamp(6px,1.25vh,14px) 0;color:#fff;text-decoration:none;
  transform:translateY(105%);transition:transform .9s var(--nxm-ease-out) calc(.25s + var(--i)*.055s)}
.nxm-menu.is-open .nxm-menu__nav a{transform:none}
.nxm-menu__no{font-size:13px;font-weight:600;letter-spacing:.1em;color:rgba(255,255,255,.45);font-variant-numeric:tabular-nums;transition:color .3s}
.nxm-menu__label{font-size:clamp(30px,4.6vw,68px);line-height:1.08;font-weight:300;letter-spacing:-.035em;transition:transform .5s var(--nxm-ease-out),color .3s}
.nxm-menu__arrow{width:clamp(22px,2.4vw,34px);opacity:0;transform:translateX(-14px);transition:opacity .3s,transform .5s var(--nxm-ease-out)}
.nxm-menu__arrow svg{width:100%;height:auto;fill:var(--nxm-accent-light);display:block}
.nxm-menu__nav ol:hover a .nxm-menu__label{color:rgba(255,255,255,.38)}
.nxm-menu__nav ol a:hover .nxm-menu__label,.nxm-menu__nav ol a:focus-visible .nxm-menu__label{color:#fff;transform:translateX(.35em)}
.nxm-menu__nav a:hover .nxm-menu__no,.nxm-menu__nav a:focus-visible .nxm-menu__no{color:var(--nxm-accent-light)}
.nxm-menu__nav a:hover .nxm-menu__arrow,.nxm-menu__nav a:focus-visible .nxm-menu__arrow{opacity:1;transform:none}
.nxm-menu__nav a[aria-current] .nxm-menu__no{color:var(--nxm-accent-light)}
.nxm-menu__nav a[aria-current] .nxm-menu__label::after{content:"";display:inline-block;width:.18em;height:.18em;margin-left:.22em;border-radius:50%;background:var(--nxm-accent-light);vertical-align:.15em}

.nxm-menu__aside{display:flex;flex-direction:column;gap:clamp(18px,3vh,32px);opacity:0;transform:translateY(24px);transition:opacity .6s .5s,transform .9s var(--nxm-ease-out) .5s}
.nxm-menu.is-open .nxm-menu__aside{opacity:1;transform:none}
.nxm-menu__media{position:relative;aspect-ratio:4/3;max-height:42vh;overflow:hidden;background:#222}
.nxm-menu__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity .6s,transform 1.4s var(--nxm-ease-out)}
.nxm-menu__media img.is-active{opacity:1;transform:none}
.nxm-menu__media::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.55),transparent 55%)}
.nxm-menu__badge{position:absolute;left:18px;bottom:16px;z-index:1;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;line-height:1.5}
.nxm-eyebrow{font-size:12px!important;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin:0 0 10px;color:var(--nxm-accent)}
.nxm-menu .nxm-eyebrow{color:var(--nxm-accent-light)}
.nxm-menu__big{display:block;font-size:clamp(26px,2.6vw,38px);font-weight:300;letter-spacing:-.02em;color:#fff;text-decoration:none;line-height:1.15}
.nxm-menu__mail{display:inline-block;margin-top:4px;color:rgba(255,255,255,.8);font-size:17px}
.nxm-menu__big:hover,.nxm-menu__mail:hover{color:var(--nxm-accent-light)}
.nxm-menu__meta{margin:14px 0 0;color:rgba(255,255,255,.6);font-size:14px;line-height:1.6}
.nxm-menu__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.nxm-menu__foot{position:relative;display:flex;flex-wrap:wrap;gap:8px 28px;max-width:1600px;width:100%;margin:clamp(20px,4vh,40px) auto 0;padding-top:16px;border-top:1px solid rgba(255,255,255,.1);font-size:13px;color:rgba(255,255,255,.5);opacity:0;transition:opacity .6s .7s}
.nxm-menu.is-open .nxm-menu__foot{opacity:1}
.nxm-menu__foot a{color:rgba(255,255,255,.75);text-decoration:none}
.nxm-menu__foot a:hover{color:#fff}
.nxm-menu__foot span{margin-left:auto;letter-spacing:.06em}

@media (max-width:991.98px){
  .nxm-menu__inner{grid-template-columns:1fr;align-items:start;gap:28px}
  .nxm-menu__media{display:none}
  .nxm-menu__nav a{grid-template-columns:2.6em 1fr auto;padding:12px 0}
  .nxm-menu__arrow{opacity:.55;transform:none;width:22px}
  .nxm-menu__nav ol:hover a .nxm-menu__label{color:#fff}
  .nxm-menu__label{font-size:clamp(28px,8.2vw,44px)}
  .nxm-menu__foot span{margin-left:0;width:100%}
}
@media (max-height:620px) and (min-width:992px){.nxm-menu__label{font-size:clamp(26px,3.4vw,46px)}}

/* ---------- Knöpfe ---------- */
.nxm-btn{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 22px;font-weight:600;font-size:15px;text-decoration:none;letter-spacing:.01em;border:1px solid transparent;transition:background-color .25s,color .25s,border-color .25s}
.nxm-btn svg{width:18px;height:18px;fill:currentColor;flex:none}
.nxm-btn--light{background:#fff;color:var(--nxm-ink)}
.nxm-btn--light:hover{background:var(--nxm-accent-light);color:var(--nxm-ink)}
.nxm-btn--ghost{border-color:rgba(255,255,255,.35);color:#fff}
.nxm-btn--ghost:hover{border-color:#fff;color:#fff;background:rgba(255,255,255,.06)}
.nxm-btn--dark{background:var(--nxm-ink);color:#fff}
.nxm-btn--dark:hover{background:var(--nxm-accent);color:#fff}

/* ---------- Hero ---------- */
.featured-full-width-img{position:relative;margin-top:0!important;height:100svh!important;min-height:560px;max-height:1100px;background-size:cover;background-position:center}
.featured-full-width-img::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to top,rgba(10,10,10,.72) 0%,rgba(10,10,10,.28) 38%,rgba(10,10,10,0) 62%)}
.featured-full-width-img>.container{position:relative;z-index:1;max-width:none;padding:0 clamp(16px,3.2vw,48px) clamp(40px,8vh,88px)!important;margin:0!important;justify-content:flex-start}
header.featured-full-width-img h1{width:auto;max-width:13ch;margin:0;color:#fff;font-weight:300;font-size:clamp(42px,6.6vw,104px);line-height:.98;letter-spacing:-.045em;text-wrap:balance}
@media (max-width:767.98px){
  .featured-full-width-img{height:78svh!important;min-height:480px}
  header.featured-full-width-img h1{font-size:clamp(38px,11vw,56px)}
}
.hero-text{font-weight:300;letter-spacing:-.015em;line-height:1.35;font-size:clamp(22px,2.4vw,34px)!important;color:var(--nxm-ink)}

/* ---------- Teaser Startseite ---------- */
.malu-1 .row{margin-top:clamp(10px,2vw,28px)!important}
.teaser-block{max-height:none;overflow:hidden}
.teaser-block>a{display:block;overflow:hidden}
.teaser-block img{display:block;width:100%;height:clamp(260px,38vw,560px);object-fit:cover;transition:transform 1.2s var(--nxm-ease-out)}
.teaser-block:hover img{transform:scale(1.04)}
.teaser-text h2{font-size:clamp(32px,3.2vw,52px);font-weight:300;letter-spacing:-.035em;line-height:1.05}
.teaser-text .more-item{display:inline-flex;align-items:center;gap:10px;font-size:18px;font-weight:600;text-decoration:none;color:var(--nxm-ink);border-bottom:1px solid var(--nxm-ink);padding-bottom:4px}
.teaser-text .more-item:hover{color:var(--nxm-accent);border-color:var(--nxm-accent)}
.teaser-block .nxm-teaser{display:none}
@media (max-width:991.98px){
  .malu-1{padding:0 16px}
  .malu-1 .row{margin-top:16px!important}
  .teaser-block img{height:auto;aspect-ratio:4/3}
  .teaser-block .nxm-teaser{display:block;position:absolute;inset:auto 0 0 0!important;margin:0!important;padding:0;background:none;border:0;border-radius:0;box-shadow:none;top:auto!important}
  .teaser-block::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,10,10,.78),rgba(10,10,10,0) 60%);pointer-events:none}
  .teaser-block .nxm-teaser{z-index:2}
  .teaser-block .nxm-teaser a{display:flex!important;flex-direction:column;gap:8px;padding:20px 20px 22px;color:#fff!important;text-decoration:none;text-align:left!important;font-size:inherit!important}
  .nxm-teaser__title{font-size:clamp(26px,7.4vw,36px);font-weight:300;letter-spacing:-.03em;line-height:1.08}
  .nxm-teaser__link{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:600;letter-spacing:.02em}
  .nxm-teaser__link svg{width:18px;height:18px;fill:var(--nxm-accent-light)}
}

/* ---------- Inhalte allgemein ---------- */
.arrow-item,a.arrow-item{display:inline-flex;align-items:center;gap:8px;font-size:16px!important;font-weight:600;text-decoration:none;color:var(--nxm-ink)}
.arrow-item:hover{color:var(--nxm-accent)}
.two-col-section{padding-block:clamp(24px,5vw,72px)}
.two-col-section .image-container{overflow:hidden}
.two-col-section .image-container img{width:100%;aspect-ratio:16/10;object-fit:cover}
.two-col-section h2{font-size:clamp(28px,2.6vw,40px);font-weight:300;letter-spacing:-.03em}
.col-text{max-width:620px;padding:clamp(4px,1vw,12px) clamp(0px,2vw,24px)}
.col-text p,.col-text li{font-size:17px;line-height:1.65;color:#2b2b29}
@media (max-width:767.98px){
  .two-col-section{padding-inline:16px}
  .two-col-section .row{row-gap:20px}
  .col-text{padding:0}
  .col-text p,.col-text li{font-size:16px}
}
main ul li::marker{color:var(--nxm-accent)}
.card{border-radius:0;border-color:var(--nxm-line)}
.card img{border-radius:0}

/* Overflow-Bremse (Bootstrap-Rows mit Negativrand) */
html,body{overflow-x:clip}
@media (max-width:767.98px){
  .row{--bs-gutter-x:1.5rem}
  .container-fluid>.row{margin-left:0;margin-right:0}
}

/* ---------- Formulare ---------- */
.forminator-ui.forminator-custom-form{max-width:760px!important;width:100%!important;margin-inline:auto!important}
.forminator-ui .forminator-row{display:flex;flex-wrap:wrap;gap:0 16px}
.forminator-ui .forminator-col{flex:1 1 260px!important;min-width:0;max-width:100%!important}
.forminator-ui .forminator-input,.forminator-ui .forminator-textarea,.forminator-ui select{width:100%!important;max-width:100%!important;min-height:50px;padding:12px 14px!important;border:1px solid #c9c7c1!important;border-radius:0!important;background:#fff!important;font:400 16px/1.4 var(--bs-body-font-family)!important;color:var(--nxm-ink)!important;transition:border-color .2s,box-shadow .2s}
.forminator-ui .forminator-input:focus,.forminator-ui .forminator-textarea:focus{border-color:var(--nxm-ink)!important;box-shadow:0 0 0 3px rgba(176,112,63,.18)!important;outline:0}
.forminator-ui .forminator-label{font:600 13px/1.3 var(--bs-body-font-family)!important;letter-spacing:.04em;color:var(--nxm-ink)!important;text-transform:none!important;margin-bottom:6px!important}
.forminator-ui .forminator-button-submit,.forminator-ui .forminator-button{min-height:52px!important;padding:0 32px!important;border-radius:0!important;background:var(--nxm-ink)!important;color:#fff!important;font:600 15px/1 var(--bs-body-font-family)!important;letter-spacing:.04em;transition:background-color .25s}
.forminator-ui .forminator-button-submit:hover{background:var(--nxm-accent)!important}
@media (max-width:767.98px){.forminator-ui .forminator-button-submit{width:100%}}
.nxm-form-hint{max-width:760px;margin:16px auto 0;font-size:14px;line-height:1.55;color:var(--nxm-muted)}
.nxm-vorschau-hinweis{max-width:760px}

/* Kontakt-/Formularboxen nicht schmal quetschen */
@media (max-width:767.98px){
  .forminator-ui{padding:0!important}
  [class*="col-"]:has(> .forminator-ui),[class*="col-"]:has(.forminator-custom-form){flex:0 0 100%;max-width:100%;padding-inline:16px}
}

/* ---------- Fußbereich ---------- */
.nxm-foot{background:var(--nxm-ink);color:rgba(255,255,255,.78);margin-top:clamp(40px,8vw,120px);font-size:15px;line-height:1.7}
.nxm-foot__inner{max-width:1440px;margin:0 auto;padding:clamp(48px,7vw,96px) clamp(16px,3.2vw,48px) 40px;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px}
.nxm-foot__brand img{height:58px;width:auto;filter:invert(1);margin-bottom:22px}
.nxm-foot__brand p{max-width:34ch;margin-bottom:24px;color:rgba(255,255,255,.7)}
.nxm-foot .nxm-eyebrow{color:var(--nxm-accent-light)}
.nxm-foot address{font-style:normal;margin-bottom:12px}
.nxm-foot p{margin:0 0 12px;font-size:15px!important;color:inherit}
.nxm-foot a{color:#fff;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s,color .2s}
.nxm-foot a:hover{border-bottom-color:var(--nxm-accent-light)}
.nxm-foot .nxm-btn{border-bottom:0}
.nxm-foot ul{list-style:none;margin:0;padding:0;columns:2;column-gap:20px}
.nxm-foot li{padding:2px 0}
.nxm-foot__bar{max-width:1440px;margin:0 auto;padding:20px clamp(16px,3.2vw,48px) 28px;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;font-size:13px;color:rgba(255,255,255,.5)}
.nxm-foot__bar a{color:rgba(255,255,255,.75);margin-left:20px}
.nxm-foot__bar a:first-child{margin-left:0}
@media (max-width:991.98px){.nxm-foot__inner{grid-template-columns:1fr 1fr}.nxm-foot__brand{grid-column:1/-1}}
@media (max-width:575.98px){.nxm-foot__inner{grid-template-columns:1fr;gap:32px}.nxm-foot ul{columns:2}}

/* ---------- Mobile Aktionsleiste ---------- */
.nxm-actions{display:none}
@media (max-width:991.98px){
  .nxm-actions{position:fixed;left:0;right:0;bottom:0;z-index:1000;display:grid;grid-template-columns:1fr 1fr 1.25fr;background:rgba(20,20,20,.96);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
    padding-bottom:env(safe-area-inset-bottom,0px);border-top:1px solid rgba(255,255,255,.08);transform:translateY(0);transition:transform .4s var(--nxm-ease)}
  .nxm-actions a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:58px;color:#fff;text-decoration:none;font-weight:600;font-size:14px;letter-spacing:.02em}
  .nxm-actions a+a{border-left:1px solid rgba(255,255,255,.08)}
  .nxm-actions a.is-primary{background:var(--nxm-accent);border-left:0}
  .nxm-actions svg{width:18px;height:18px;fill:currentColor}
  body{padding-bottom:calc(58px + env(safe-area-inset-bottom,0px))}
  body.nxm-menu-open .nxm-actions{transform:translateY(110%)}
}

/* ---------- Rechtstexte lesbar setzen ---------- */
body.nxm-nohero main{max-width:820px;margin:0 auto;padding-inline:16px}
body.nxm-nohero main h1{font-weight:300;font-size:clamp(36px,5vw,64px);letter-spacing:-.04em;margin-bottom:28px}
body.nxm-nohero main h2{font-size:clamp(22px,2.2vw,30px);margin-top:2.2em}
body.nxm-nohero main h3{font-size:19px;font-weight:600;margin-top:1.6em}
body.nxm-nohero main p,body.nxm-nohero main li{font-size:16px;line-height:1.7;overflow-wrap:anywhere}
.nxm-todo{background:#fff1c2;padding:0 .3em;border-bottom:2px solid #e2b33c}

/* Bewegung reduzieren */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
}

/* Formularbox Kontakt: verschachtelte Innenabstände mobil auflösen */
@media (max-width:767.98px){
  .content-border-r{padding:28px 20px!important;margin-inline:0!important}
  .two-col-section.primary-color{padding-inline:0}
  .two-col-section.primary-color .col-right,.two-col-section.primary-color .col-text{padding-inline:12px!important}
}
.nxm-foot a.nxm-btn--light{color:var(--nxm-ink)}
.nxm-foot a.nxm-btn--light:hover{color:var(--nxm-ink)}

/* Umbrüche: nur bei echtem Überlauf trennen, Silbentrennung erlauben */
body{word-break:normal}
h1,h2,h3,h4,p,li{overflow-wrap:break-word;-webkit-hyphens:manual;hyphens:manual}
header.featured-full-width-img h1{max-width:17ch}
@media (max-width:767.98px){header.featured-full-width-img h1{font-size:clamp(32px,9.4vw,56px)}}

/* Karten (Jobs, Partner): ruhiger setzen, Tablet zweispaltig */
.member{background:#fff;height:100%;display:flex;flex-direction:column;border:1px solid var(--nxm-line);box-shadow:none!important;transition:transform .4s var(--nxm-ease-out),box-shadow .4s}
.member:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,0,0,.08)!important}
.member-img{overflow:hidden}
.member-img img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform 1s var(--nxm-ease-out)}
.member:hover .member-img img{transform:scale(1.04)}
.member-info{display:flex;flex-direction:column;flex:1;padding:22px 22px 24px!important}
.member-info h3{font-size:14px!important;font-weight:600;letter-spacing:.02em;color:var(--nxm-muted);margin-bottom:10px}
.member-info p{font-size:19px!important;font-weight:600;line-height:1.35;letter-spacing:-.01em;color:var(--nxm-ink);margin-bottom:18px}
.member-info>div:last-child{margin-top:auto}
.member-info a{display:inline-flex;align-items:center;gap:8px;font-size:16px!important;font-weight:600;text-decoration:none;color:var(--nxm-ink)}
.member-info a:hover{color:var(--nxm-accent)}
.col-element{margin-bottom:24px}
@media (min-width:576px) and (max-width:991.98px){.col-element.col-sm-4{flex:0 0 50%;max-width:50%}}

/* Konfiguratoren & Jobs mobil: Boxen auf volle Breite */
@media (max-width:767.98px){
  .content-border,.content-border-r{padding:28px 18px!important;margin-left:0!important;margin-right:0!important;width:100%!important;max-width:100%!important}
  [class*="content-width-"]{width:100%!important;max-width:100%!important}
  .container.forms,.container-fluid.primary-color{padding-inline:0!important}
  .container.forms .row{margin-inline:0}
  .container.forms .col-12{padding-inline:0}
  .forminator-ui .forminator-col{flex-basis:100%!important}
  .forminator-ui .forminator-button-upload{width:100%;justify-content:center}
  .col-text{padding-right:0!important;padding-left:0!important}
  .two-col-section .col-left:empty{display:none}
}
@media (max-width:767.98px){.col-text{margin-left:0!important;margin-right:0!important;width:auto!important}}
.forminator-ui h2,.content-border h2,.content-border-r h2{font-size:clamp(22px,2.4vw,30px);overflow-wrap:break-word}

/* Wunsch 16.10.: Logo größer, keine Rasterlinien im Menü */
:root{--nxm-head-h:92px}
@media (max-width:767.98px){:root{--nxm-head-h:72px}}
.nxm-head__logo img{height:60px}
@media (max-width:767.98px){.nxm-head__logo img{height:46px}}
.nxm-menu__grid{display:none}

/* =====================================================================
   Entwurfsstil (freigegebene Vorlage 2022): Oxygen Light, weite Laufweite,
   Logo rechts mit zwei Strichen, Menü über abgedunkeltem Vollbildfoto.
   ===================================================================== */
:root{--nxm-text:#4a4a4a;--nxm-track:.045em}
body{color:var(--nxm-text);letter-spacing:.02em}
h1,h2,h3,.h1,.h2,.h3{font-weight:300!important;letter-spacing:.03em}
h4,h5,h6,strong,b{font-weight:700}
main p,main li{letter-spacing:.025em}
.hero-text{font-weight:300!important;letter-spacing:var(--nxm-track)!important;color:#555!important;line-height:1.4}
.two-col-section h2,.teaser-text h2{letter-spacing:.04em!important}
.col-text p,.col-text li{color:var(--nxm-text)}

/* Kopf: Kontakt links, Striche + Logo rechts */
.nxm-head__left{display:flex;align-items:center;gap:22px}
.nxm-head__right{gap:18px}
.nxm-head__tel{font-weight:400;letter-spacing:.06em}
.nxm-head__cta{font-weight:400;letter-spacing:.08em;background:transparent;color:var(--nxm-ink);border:1px solid var(--nxm-ink);height:40px}
.nxm-head__cta:hover{background:var(--nxm-ink);color:#fff}
.nxm-burger{padding:0;gap:0;width:44px;justify-content:center}
.nxm-burger__icon{width:34px;height:12px}
.nxm-burger__icon i{height:1.5px;width:34px!important;right:0}
.nxm-burger__icon i:nth-child(1){top:1px}
.nxm-burger__icon i:nth-child(2){top:9px;width:26px!important}
.nxm-burger:hover .nxm-burger__icon i:nth-child(2){width:34px!important}
body.nxm-menu-open .nxm-burger__icon i:nth-child(1){top:5px;transform:rotate(45deg)}
body.nxm-menu-open .nxm-burger__icon i:nth-child(2){top:5px;width:34px!important;opacity:1;transform:rotate(-45deg)}
body.nxm-menu-open .nxm-head__left{opacity:0;pointer-events:none}
@media (max-width:991.98px){.nxm-head__left{display:none}.nxm-head{justify-content:flex-end}}

/* Menü */
.nxm-menu{background:#0f0f0f;padding:calc(var(--nxm-head-h) + clamp(20px,6vh,72px)) clamp(24px,7vw,120px) clamp(20px,4vh,40px);
  display:flex;flex-direction:column;justify-content:space-between}
.nxm-menu__bg{position:absolute;inset:0;overflow:hidden}
.nxm-menu__bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.08);
  transition:opacity .9s ease,transform 6s cubic-bezier(.2,.6,.2,1)}
.nxm-menu__bg img.is-active{opacity:1;transform:scale(1)}
.nxm-menu__bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(10,10,10,.86) 0%,rgba(10,10,10,.62) 45%,rgba(10,10,10,.5) 100%)}
.nxm-menu__inner{position:relative;display:block;max-width:none;margin:0;flex:0 0 auto}
.nxm-menu__nav ul{list-style:none;margin:0;padding:0}
.nxm-menu__nav li{overflow:hidden;border:0!important}
.nxm-menu__nav a{display:inline-flex;align-items:center;gap:0;padding:clamp(2px,.7vh,8px) 0;color:#fff;text-decoration:none;
  font-weight:300;font-size:clamp(34px,4.4vw,64px);line-height:1.18;letter-spacing:.045em;
  transform:translateY(105%);transition:transform .9s var(--nxm-ease-out) calc(.25s + var(--i)*.06s),color .3s,opacity .3s}
.nxm-menu.is-open .nxm-menu__nav a{transform:none}
.nxm-menu__nav a::before{content:"";display:block;width:0;height:1px;background:currentColor;margin-right:0;transition:width .5s var(--nxm-ease-out),margin .5s var(--nxm-ease-out)}
.nxm-menu__nav ul:hover a{opacity:.42}
.nxm-menu__nav ul a:hover,.nxm-menu__nav ul a:focus-visible{opacity:1}
.nxm-menu__nav a:hover::before,.nxm-menu__nav a:focus-visible::before{width:clamp(28px,3vw,56px);margin-right:20px}
.nxm-menu__nav a[aria-current]::before{width:18px;margin-right:16px;background:var(--nxm-accent-light)}
.nxm-menu__nav a[aria-current]::after{content:none}
.nxm-menu__cta{display:inline-flex;align-items:center;gap:10px;margin-top:clamp(28px,6vh,64px);padding:13px 26px;border:1px solid rgba(255,255,255,.85);
  color:#fff;text-decoration:none;font-weight:400;font-size:17px;letter-spacing:.08em;opacity:0;transition:opacity .6s .7s,background-color .3s,color .3s}
.nxm-menu.is-open .nxm-menu__cta{opacity:1}
.nxm-menu__cta:hover{background:#fff;color:var(--nxm-ink)}
.nxm-menu__foot{position:relative;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 32px;max-width:none;margin:clamp(24px,4vh,40px) 0 0;
  padding-top:0;border:0;font-size:14px;line-height:1.7;letter-spacing:.05em;color:rgba(255,255,255,.72);opacity:0;transition:opacity .6s .8s}
.nxm-menu__foot p{margin:0}
.nxm-menu__foot a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.3)}
.nxm-menu__foot a:hover{border-color:#fff}
.nxm-menu__legal a{border:0;margin-right:22px;text-transform:uppercase;font-size:12px;letter-spacing:.14em;color:rgba(255,255,255,.7)}
.nxm-menu__claim{position:absolute;right:clamp(24px,5vw,80px);bottom:clamp(70px,12vh,140px);margin:0;text-align:right;pointer-events:none;
  font-weight:300;font-size:clamp(48px,7vw,120px);line-height:.98;letter-spacing:.01em;color:rgba(255,255,255,.16);
  opacity:0;transform:translateY(30px);transition:opacity 1s .5s,transform 1.4s var(--nxm-ease-out) .5s}
.nxm-menu.is-open .nxm-menu__claim{opacity:1;transform:none}
@media (max-width:991.98px){
  .nxm-menu{padding:calc(var(--nxm-head-h) + 24px) 24px calc(24px + env(safe-area-inset-bottom,0px))}
  .nxm-menu__nav a{font-size:clamp(32px,9vw,44px)}
  .nxm-menu__nav ul:hover a{opacity:1}
  .nxm-menu__claim{display:none}
  .nxm-menu__cta{margin-top:28px}
  .nxm-menu__foot{font-size:13px}
}

/* Hero wie im Entwurf: Claim rechtsbündig unten */
.featured-full-width-img>.container{justify-content:flex-end!important}
header.featured-full-width-img h1{text-align:right;font-weight:300!important;letter-spacing:.01em;line-height:1.02;max-width:none}
@media (max-width:767.98px){header.featured-full-width-img h1{max-width:100%}}

/* Startseiten-Teaser wie im Entwurf: Titel rechtsbündig auf dem Bild, „+ mehr“ daneben */
.teaser-block .nxm-teaser{display:block;position:absolute;inset:auto clamp(18px,2.4vw,40px) clamp(18px,2.4vw,40px) auto!important;margin:0!important;padding:0;
  background:none;border:0;border-radius:0;box-shadow:none;top:auto!important;z-index:2}
.teaser-block::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(270deg,rgba(10,10,10,.55) 0%,rgba(10,10,10,.15) 45%,rgba(10,10,10,0) 70%),linear-gradient(0deg,rgba(10,10,10,.35),rgba(10,10,10,0) 50%)}
.teaser-block .nxm-teaser a{display:flex!important;flex-direction:column;align-items:flex-end;gap:10px;padding:0;color:#fff!important;text-decoration:none;text-align:right!important;font-size:inherit!important}
.nxm-teaser__title{font-weight:300;font-size:clamp(28px,3vw,48px);letter-spacing:.05em;line-height:1.1;max-width:12ch}
.nxm-teaser__link{font-weight:700;font-size:15px;letter-spacing:.08em}
.nxm-teaser__link svg{display:none}
.teaser-text h2{display:none}
.teaser-text .more-item{border:0;padding:0;font-weight:300;font-size:clamp(28px,2.4vw,40px);letter-spacing:.06em;color:#9a9a9a}
.teaser-text .more-item:hover{color:var(--nxm-ink)}
.malu-1 .teaser-text.bottom-0{bottom:0!important;margin-right:clamp(24px,4vw,64px)!important;text-align:left}
@media (max-width:991.98px){
  .nxm-teaser__title{font-size:clamp(24px,7vw,34px)}
  .teaser-block::after{background:linear-gradient(0deg,rgba(10,10,10,.7),rgba(10,10,10,0) 60%)}
}

/* Fußleiste: Rechtslinks in Versalien wie im Entwurf */
.nxm-foot__bar a{text-transform:uppercase;letter-spacing:.14em;font-size:12px}
.nxm-foot{letter-spacing:.03em}
@media (min-width:992px){.nxm-menu__nav a{font-size:clamp(30px,min(4.2vw,6vh),62px)}.nxm-menu__cta{margin-top:clamp(20px,4vh,48px)}}
.teaser-block{padding:0!important}
.teaser-block>a{position:relative}

/* Wunsch 16.10.: Hero wie auf der alten Seite – Bild vollflächig, Logo + Menü rechts,
   Rufnummer links vom Menü, Claim linksbündig im rechten Drittel unten */
.nxm-head{justify-content:flex-end}
.nxm-head__right{gap:clamp(18px,2.4vw,36px)}
.nxm-head__tel{display:flex!important;font-size:15px;letter-spacing:.08em;color:var(--nxm-ink)}
body.nxm-menu-open .nxm-head__tel{opacity:0;pointer-events:none}
body.nxm-hero .nxm-head:not(.is-scrolled){background:rgba(255,255,255,.28);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);border-bottom-color:transparent}
@media (max-width:575.98px){.nxm-head__tel span{display:none}.nxm-head__tel svg{width:20px;height:20px}}
.featured-full-width-img::after{background:linear-gradient(to top,rgba(10,10,10,.5) 0%,rgba(10,10,10,.12) 32%,rgba(10,10,10,0) 50%)}
@media (min-width:992px){
  .featured-full-width-img>.container{justify-content:flex-start!important}
  header.featured-full-width-img h1{margin-left:67%!important;text-align:left;font-size:clamp(44px,4.6vw,84px);line-height:1.06;letter-spacing:.005em}
}
@media (max-width:991.98px){header.featured-full-width-img h1{text-align:left}}
#page.site{padding-top:0!important}
@media (max-width:991.98px){header.featured-full-width-img h1{margin-left:0!important;width:auto!important}}
@media (max-width:991.98px){.featured-full-width-img>.container{justify-content:flex-start!important}}
/* Verlauf unter dem Claim (rechtes unteres Drittel) für sichere Lesbarkeit */
.featured-full-width-img::after{background:
  radial-gradient(ellipse 60% 70% at 78% 92%,rgba(10,10,10,.55) 0%,rgba(10,10,10,.25) 45%,rgba(10,10,10,0) 75%),
  linear-gradient(to top,rgba(10,10,10,.45) 0%,rgba(10,10,10,.1) 32%,rgba(10,10,10,0) 50%)}
@media (max-width:991.98px){.featured-full-width-img::after{background:
  radial-gradient(ellipse 90% 60% at 20% 92%,rgba(10,10,10,.55) 0%,rgba(10,10,10,.2) 50%,rgba(10,10,10,0) 80%),
  linear-gradient(to top,rgba(10,10,10,.45) 0%,rgba(10,10,10,.1) 32%,rgba(10,10,10,0) 50%)}}
@media (min-width:768px) and (max-width:991.98px){.two-col-section h2{font-size:24px}}
/* Menü: Adresse lesbar, kein Kopfzeilen-Schleier über dem Menü */
.nxm-menu__foot p{color:rgba(255,255,255,.85)!important;font-size:15px;letter-spacing:.05em}
body.nxm-menu-open .nxm-head,body.nxm-menu-open.nxm-hero .nxm-head:not(.is-scrolled){background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border-bottom-color:transparent!important}

/* =====================================================================
   Neue Inhaltsbausteine (Kontakt, Jobs, Historie, Stellen) – Präfix x-
   ===================================================================== */
.main-body:has(.x-section){padding:0}
.x-wrap{max-width:1360px;margin:0 auto;padding-inline:clamp(20px,4.5vw,72px)}
.x-section{padding-block:clamp(64px,8vw,128px)}
.x-section--tight{padding-block:clamp(24px,4vw,64px)}
.x-section--stone{background:var(--nxm-stone)}
.x-eyebrow{font-size:12px!important;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--nxm-accent);margin:0 0 18px}
.x-eyebrow--light{color:var(--nxm-accent-light)}
.x-display{font-weight:300!important;font-size:clamp(34px,4.4vw,68px);line-height:1.08;letter-spacing:.01em;color:var(--nxm-ink);margin:0 0 28px;max-width:20ch}
.x-display--md{font-size:clamp(30px,3.4vw,52px);max-width:24ch}
.x-h2{font-size:clamp(28px,3vw,46px);line-height:1.12;color:var(--nxm-ink);margin:0 0 clamp(28px,4vw,56px)}
.x-h3{font-size:clamp(22px,2vw,30px);color:var(--nxm-ink);margin:0 0 20px}
.x-lead{font-weight:300;font-size:clamp(19px,1.6vw,24px)!important;line-height:1.55;letter-spacing:.03em;color:#555;max-width:46em;margin:0 0 18px}
.x-split{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(32px,6vw,110px);align-items:end}
.x-split--wide{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
.x-two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,96px)}
@media (max-width:991.98px){.x-split,.x-split--wide,.x-two{grid-template-columns:1fr;align-items:start}}

/* Öffnungszeiten mit Live-Status */
.x-hours{border-top:1px solid var(--nxm-ink);padding-top:22px}
.x-status{display:flex;align-items:center;gap:10px;font-weight:700;font-size:14px!important;letter-spacing:.12em;text-transform:uppercase;color:var(--nxm-ink);margin:0 0 16px}
.x-dot{width:10px;height:10px;border-radius:50%;background:#b9b6ae}
.x-hours.is-open .x-dot{background:#2f9e5b;box-shadow:0 0 0 0 rgba(47,158,91,.5);animation:x-pulse 2s infinite}
.x-hours.is-closed .x-dot{background:#c2553f}
@keyframes x-pulse{70%{box-shadow:0 0 0 10px rgba(47,158,91,0)}100%{box-shadow:0 0 0 0 rgba(47,158,91,0)}}
.x-hours dl{margin:0}
.x-hours dl>div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--nxm-line);font-size:16px}
.x-hours dt{font-weight:400;color:#555}
.x-hours dd{margin:0;color:var(--nxm-ink);white-space:nowrap}
.x-hours dl>div.is-today dt,.x-hours dl>div.is-today dd{font-weight:700;color:var(--nxm-ink)}

/* Kontakt-Kacheln */
.x-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.4vw,20px)}
@media (max-width:1199.98px){.x-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:575.98px){.x-tiles{grid-template-columns:1fr}}
.x-tile{position:relative;display:flex;flex-direction:column;min-height:260px;padding:clamp(24px,2.4vw,36px);background:var(--nxm-stone);color:var(--nxm-ink);text-decoration:none;overflow:hidden;transition:background-color .35s,color .35s,transform .45s var(--nxm-ease-out)}
.x-tile>svg{width:28px;height:28px;fill:currentColor;margin-bottom:auto;opacity:.85}
.x-tile__label{margin-top:36px;font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--nxm-accent)}
.x-tile__value{margin-top:8px;font-weight:300;font-size:clamp(24px,2.1vw,32px);line-height:1.2;letter-spacing:.02em;overflow-wrap:anywhere}
.x-tile__value--sm{font-size:clamp(18px,1.4vw,21px);line-height:1.45}
.x-tile__cta{display:inline-flex;align-items:center;gap:8px;margin-top:20px;font-size:14px;font-weight:700;letter-spacing:.06em}
.x-tile__cta svg{width:18px;height:18px;fill:currentColor;transition:transform .4s var(--nxm-ease-out)}
.x-tile:hover{background:var(--nxm-ink);color:#fff;transform:translateY(-4px)}
.x-tile:hover .x-tile__cta svg{transform:translateX(6px)}
.x-tile:hover .x-tile__label{color:var(--nxm-accent-light)}
.x-tile--dark{background:var(--nxm-ink);color:#fff}
.x-tile--dark .x-tile__label{color:var(--nxm-accent-light)}
.x-tile--dark:hover{background:var(--nxm-accent)}
.x-tile--dark:hover .x-tile__label{color:#fff}

/* Formularbereich */
.x-formsec{background:var(--nxm-stone)}
.x-formgrid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:0;align-items:stretch;box-shadow:0 30px 80px rgba(0,0,0,.08)}
@media (max-width:991.98px){.x-formgrid{grid-template-columns:1fr}}
.x-formside{position:relative;color:#fff;background:var(--nxm-ink);overflow:hidden;min-height:420px;display:flex}
.x-formside img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.38}
.x-formside::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,15,15,.35),rgba(15,15,15,.88))}
.x-formside__body{position:relative;z-index:1;align-self:flex-end;padding:clamp(28px,4vw,56px)}
.x-formside h2{color:#fff;font-size:clamp(28px,2.6vw,40px);margin:0 0 28px}
.x-steps{list-style:none;margin:0 0 28px;padding:0;counter-reset:s}
.x-steps li{position:relative;padding:0 0 22px 58px;counter-increment:s}
.x-steps li::before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:-2px;font-weight:300;font-size:30px;line-height:1;color:var(--nxm-accent-light)}
.x-steps strong{display:block;font-size:18px;font-weight:700;letter-spacing:.03em;color:#fff}
.x-steps span{display:block;font-size:16px;line-height:1.55;color:rgba(255,255,255,.78)}
.x-formside__hint{font-size:15px!important;line-height:1.6;color:rgba(255,255,255,.78)!important;margin:0;padding-top:22px;border-top:1px solid rgba(255,255,255,.18)}
.x-formside__hint a{color:#fff;text-underline-offset:.25em}
.x-formcard{background:#fff;padding:clamp(28px,4vw,64px)}
.x-formcard h2{font-size:clamp(26px,2.4vw,36px);color:var(--nxm-ink);margin:0 0 28px}
.x-formcard .forminator-ui.forminator-custom-form{max-width:none!important;margin:0!important}
.x-formcard .nxm-form-hint{max-width:none;margin:18px 0 0}

/* Partner */
.x-partners{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2vw,28px)}
@media (max-width:767.98px){.x-partners{grid-template-columns:1fr}}
.x-partner{position:relative;display:block;overflow:hidden;aspect-ratio:16/9;color:#fff;text-decoration:none;background:#222}
.x-partner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--nxm-ease-out)}
.x-partner::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,10,10,.78),rgba(10,10,10,0) 60%)}
.x-partner:hover img{transform:scale(1.05)}
.x-partner__body{position:absolute;left:0;right:0;bottom:0;z-index:1;display:flex;flex-direction:column;gap:8px;padding:clamp(20px,2.4vw,36px)}
.x-partner__name{font-weight:300;font-size:clamp(24px,2.2vw,34px);letter-spacing:.03em;line-height:1.15}
.x-partner__cta{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;letter-spacing:.06em}
.x-partner__cta svg{width:18px;height:18px;fill:var(--nxm-accent-light)}

/* Fakten */
.x-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;border-top:1px solid var(--nxm-ink)}
.x-facts>div{padding:22px 16px 0 0}
.x-facts dt{font-weight:300;font-size:clamp(34px,3.4vw,54px);line-height:1;color:var(--nxm-ink);letter-spacing:.01em}
.x-facts dd{margin:10px 0 0;font-size:15px;color:#555;line-height:1.45}
@media (max-width:420px){.x-facts{grid-template-columns:1fr 1fr}.x-facts>div:last-child{grid-column:1/-1;padding-top:18px}}

/* Stellenliste */
.x-jobs{display:flex;flex-direction:column;border-top:1px solid var(--nxm-line)}
.x-job{display:grid;grid-template-columns:clamp(120px,16vw,220px) minmax(0,1fr) auto;align-items:center;gap:clamp(18px,3vw,48px);padding:clamp(18px,2vw,28px) 0;border-bottom:1px solid var(--nxm-line);color:var(--nxm-ink);text-decoration:none;transition:background-color .3s,padding .45s var(--nxm-ease-out)}
.x-job img{width:100%;aspect-ratio:4/3;object-fit:cover}
.x-job__body{display:flex;flex-direction:column;gap:8px;min-width:0}
.x-job__tags,.x-tags{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.x-job__tags span,.x-tags span{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:6px 10px;border:1px solid var(--nxm-line);color:#555}
.x-tags{margin:0 0 28px}
.x-job__title{font-weight:300;font-size:clamp(24px,2.6vw,40px);line-height:1.15;letter-spacing:.02em}
.x-job__text{font-size:17px;line-height:1.55;color:#555}
.x-job__go{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:14px;letter-spacing:.08em;white-space:nowrap}
.x-job__go svg{width:20px;height:20px;fill:currentColor;transition:transform .4s var(--nxm-ease-out)}
.x-job:hover{background:var(--nxm-stone);padding-inline:clamp(12px,1.6vw,24px)}
.x-job:hover .x-job__go{color:var(--nxm-accent)}
.x-job:hover .x-job__go svg{transform:translateX(6px)}
@media (max-width:767.98px){.x-job{grid-template-columns:1fr;gap:14px}.x-job img{aspect-ratio:16/9}}

/* Vorteile */
.x-benefits{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
@media (max-width:991.98px){.x-benefits{grid-template-columns:1fr}}
.x-benefits li{background:#fff;padding:clamp(24px,2.6vw,40px);display:flex;flex-direction:column;gap:10px}
.x-benefits__no{font-weight:300;font-size:44px;line-height:1;color:var(--nxm-accent)}
.x-benefits strong{font-size:20px;font-weight:700;letter-spacing:.02em;color:var(--nxm-ink)}
.x-benefits li>span:last-child{font-size:17px;line-height:1.6;color:#555}
.x-check{list-style:none;margin:0;padding:0}
.x-check li{position:relative;padding:14px 0 14px 34px;border-bottom:1px solid var(--nxm-line);font-size:18px;line-height:1.5;color:var(--nxm-ink)}
.x-check li::before{content:"";position:absolute;left:2px;top:22px;width:14px;height:8px;border-left:2px solid var(--nxm-accent);border-bottom:2px solid var(--nxm-accent);transform:rotate(-45deg)}

/* Call-to-Action-Band */
.x-cta{position:relative;overflow:hidden;background:var(--nxm-ink);color:#fff;padding-block:clamp(72px,10vw,150px)}
.x-cta>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.32}
.x-cta::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,12,12,.9) 0%,rgba(12,12,12,.55) 70%,rgba(12,12,12,.4))}
.x-cta__inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.5fr) auto;gap:clamp(28px,5vw,80px);align-items:end}
@media (max-width:991.98px){.x-cta__inner{grid-template-columns:1fr}}
.x-cta h2{color:#fff;font-size:clamp(30px,3.6vw,56px);line-height:1.1;margin:0 0 20px;max-width:22ch}
.x-cta p{color:rgba(255,255,255,.8)!important;font-size:17px;line-height:1.65;max-width:44em;margin:0}
.x-cta p a{color:#fff}
.x-cta__actions{display:flex;flex-wrap:wrap;gap:12px}

/* Zeitleiste Historie */
.x-tl{list-style:none;margin:0;padding:0;position:relative}
.x-tl::before{content:"";position:absolute;left:calc(50% - .5px);top:0;bottom:0;width:1px;background:var(--nxm-line)}
.x-tl__item{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,120px);align-items:center;padding-block:clamp(40px,6vw,90px)}
.x-tl__item::before{content:"";position:absolute;left:calc(50% - 6px);top:50%;width:12px;height:12px;border-radius:50%;background:var(--nxm-accent);box-shadow:0 0 0 6px #fff}
.x-tl__year{position:absolute;left:50%;top:clamp(10px,2vw,30px);transform:translateX(-50%);font-weight:300;font-size:clamp(70px,11vw,190px);line-height:1;letter-spacing:-.01em;color:rgba(20,20,20,.06);pointer-events:none;white-space:nowrap;z-index:0}
.x-tl__media{margin:0;position:relative;z-index:1;overflow:hidden}
.x-tl__media img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform 1.4s var(--nxm-ease-out)}
.x-tl__item:hover .x-tl__media img{transform:scale(1.04)}
.x-tl__text{position:relative;z-index:1}
.x-tl__text h3{font-size:clamp(26px,2.6vw,40px);color:var(--nxm-ink);margin:0 0 18px;line-height:1.15}
.x-tl__text p:not(.x-eyebrow){font-size:18px;line-height:1.7;color:#555;margin:0;max-width:38em}
.x-tl__item:nth-child(even) .x-tl__media{order:2}
@media (max-width:767.98px){
  .x-tl::before{left:7px}
  .x-tl__item{grid-template-columns:1fr;gap:22px;padding:28px 0 28px 34px}
  .x-tl__item::before{left:2px;top:40px}
  .x-tl__item:nth-child(even) .x-tl__media{order:0}
  .x-tl__year{position:static;transform:none;font-size:56px;color:var(--nxm-ink);opacity:.14;margin-bottom:-26px}
}

/* Globale Breiten: Fließtext nicht zu schmal */
.col-text{max-width:760px}
.container{max-width:1320px}
@media (min-width:1400px){.container{max-width:1360px}}
.hero-text{max-width:46em}
/* Hero-Claim im rechten Drittel: Breite begrenzen, Schrift passt sich per JS an */
@media (min-width:992px){header.featured-full-width-img h1{max-width:calc(33% - 24px)!important;width:auto}}
/* Datei-Upload: Dateiname darf umbrechen statt rauszulaufen */
.forminator-ui .forminator-file-upload{display:flex;flex-wrap:wrap;align-items:center;gap:8px;max-width:100%}
.forminator-ui .forminator-file-upload>span{min-width:0;max-width:100%;overflow-wrap:anywhere;white-space:normal}
/* Hörmann-Teaserlinks: nicht über den Rand */
.teaser-block .bg-item{max-width:calc(100% - 32px)}
/* Überschriften: nie mitten im Wort umbrechen */
h1,h2,h3,.x-display,.x-h2,.x-tile__value,.nxm-teaser__title,.x-job__title{overflow-wrap:normal!important;word-break:normal!important}
header.featured-full-width-img h1{overflow-wrap:normal!important;word-break:keep-all!important}
.x-display{max-width:24ch}
/* Umbruch: nie Wörter zerreißen; Trennung nur an weichen Trennstellen; Waisen vermeidet der Browser */
body.nxm-nohero main p,body.nxm-nohero main li{overflow-wrap:normal}
body.nxm-nohero main a{overflow-wrap:anywhere}
p,li,dd,.x-lead,.x-tile__value{text-wrap:pretty}
h1,h2,h3,h4,.x-display{text-wrap:balance}
@media (max-width:575.98px){.x-display{font-size:clamp(28px,8vw,40px)}.x-display--md{font-size:clamp(24px,7vw,34px)}}
/* Links in Inhalten: Wörter nie zerreißen (Theme setzte break-all) */
main a,main li,main p{word-break:normal!important}
body.nxm-nohero main a{overflow-wrap:normal}
body.nxm-nohero main a[href^="http"]{overflow-wrap:anywhere}
/* PDF-Liste in Konfiguratoren: auf Tablet kleiner, damit nichts überläuft */
@media (max-width:991.98px){.pdf-up li,.pdf-up a{font-size:17px!important}}
main h1,main h2,main h3,.x-display,.x-h2{max-width:100%}
/* Teaser-Titel: nie breiter als das Bild */
.teaser-block .nxm-teaser{max-width:calc(100% - 36px)}
.teaser-block .nxm-teaser a{max-width:100%}
@media (max-width:991.98px){.nxm-teaser__title{max-width:none}}
/* Dunkles CTA-Band am Seitenende: direkt in den Fuß übergehen */
body:has(.main-body .x-cta:last-of-type) .nxm-foot{margin-top:0}
/* Abschlussband direkt vor dem Fuß */
body:has(.x-cta--end) .nxm-foot{margin-top:0}
body:has(.x-cta--end) .main-footer{display:none}
.x-cta--end{margin-top:clamp(48px,7vw,110px)}
/* Hörmann-Einleitung: nicht so schmal */
.simple_content .content-width-50{width:100%!important;max-width:880px}
.simple_content_container-fluid.primary-color{padding-block:clamp(40px,6vw,88px)}
.simple_content h2{font-size:clamp(28px,2.8vw,42px);color:var(--nxm-ink)}
.simple_content p,.simple_content li{font-size:18px;line-height:1.7}
/* Referenzen-Galerie: ruhiger Hover, gleichmäßige Abstände */
.gallery .gallery-image-container{overflow:hidden}
.gallery .gallery-image-container img{transition:transform 1.2s var(--nxm-ease-out),filter .4s}
.gallery .gallery-image-container:hover img{transform:scale(1.05)}
.gallery .gallery-heading h2,.gallery-heading{font-size:clamp(28px,2.8vw,42px)}
@media (max-width:575.98px){.x-tile{min-height:0}.x-tile__label{margin-top:22px}}

/* =====================================================================
   Links & Hover: nie Blau. Grundregel erbt die Farbe, Fließtextlinks
   bekommen eine Kupfer-Unterstreichung, Hover dunkelt/hellt nur ab.
   ===================================================================== */
/* nur die Zustände, die das Theme blau färbt (a, a:hover) – Fokus/besucht behalten die Komponentenfarbe */
a,a:hover{color:inherit}
main p a:not(.nxm-btn),main li a:not(.nxm-btn),.nxm-form-hint a,.x-formside__hint a{color:inherit;text-decoration:underline;text-decoration-color:var(--nxm-accent);text-decoration-thickness:1px;text-underline-offset:.22em;transition:color .2s,text-decoration-color .2s}
main p a:not(.nxm-btn):hover,main li a:not(.nxm-btn):hover,.nxm-form-hint a:hover{color:var(--nxm-accent);text-decoration-color:currentColor}
.x-formside__hint a:hover,.x-cta p a:hover{color:var(--nxm-accent-light)}
.x-partner,.x-partner:hover,.x-tile,.x-job,.x-job:hover,.teaser-block a,.teaser-block a:hover{text-decoration:none}
.x-partner:hover,.x-partner:hover *{color:#fff}
.nxm-btn--light,.nxm-btn--light:hover{color:var(--nxm-ink)!important}
.nxm-btn--ghost,.nxm-btn--ghost:hover{color:#fff!important}
.nxm-btn--dark,.nxm-btn--dark:hover{color:#fff!important}

/* Partner: Name einzeilig (Schrift passt sich per JS an) */
.x-partner__name{white-space:nowrap}

/* Kontaktkacheln einheitlich: gleiche Schriftgröße (per JS), Werte nie umbrochen, Zeilen bündig */
.x-tile{min-height:0}
.x-tile>svg{margin-bottom:48px}
.x-tile__label{margin-top:auto}
.x-tile__value,.x-tile__value--sm{font-size:var(--x-tile-fs,24px);line-height:1.3;white-space:nowrap;overflow-wrap:normal;min-height:2.6em;display:flex;flex-direction:column;justify-content:flex-start}
@media (max-width:575.98px){.x-tile>svg{margin-bottom:28px}.x-tile__value,.x-tile__value--sm{min-height:0}}

/* =====================================================================
   Kontaktformular – eigene Gestaltung (Linienfelder, Themen-Chips)
   ===================================================================== */
.x-formcard{position:relative;padding:clamp(28px,4.5vw,72px)}
.x-formcard__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 24px;margin-bottom:clamp(24px,3vw,40px);padding-bottom:22px;border-bottom:1px solid var(--nxm-line)}
.x-formcard__head h2{margin:0}
.x-formcard__req{font-size:13px!important;letter-spacing:.06em;color:#777;margin:0}
.x-formcard .forminator-ui .forminator-row{gap:0 clamp(20px,2.4vw,36px);margin-bottom:clamp(18px,2vw,28px)!important}
.x-formcard .forminator-ui .forminator-col{flex:1 1 240px!important;padding:0!important}
.x-formcard .forminator-ui .forminator-label{font:700 11px/1.2 var(--bs-body-font-family)!important;letter-spacing:.16em!important;text-transform:uppercase!important;color:#6d6a64!important;margin:0 0 4px!important;transition:color .25s}
.x-formcard .forminator-ui .forminator-required{color:var(--nxm-accent)!important}
.x-formcard .forminator-ui .forminator-input,.x-formcard .forminator-ui .forminator-textarea{border:0!important;border-bottom:1px solid #cfc9bd!important;background:transparent!important;padding:12px 0 10px!important;min-height:52px;font:300 19px/1.4 var(--bs-body-font-family)!important;letter-spacing:.02em;color:var(--nxm-ink)!important;box-shadow:none!important;border-radius:0!important;
  background-image:linear-gradient(var(--nxm-accent),var(--nxm-accent))!important;background-repeat:no-repeat!important;background-position:0 100%!important;background-size:0 2px!important;transition:background-size .45s var(--nxm-ease-out),border-color .25s}
.x-formcard .forminator-ui .forminator-input:hover,.x-formcard .forminator-ui .forminator-textarea:hover{border-bottom-color:var(--nxm-ink)!important}
.x-formcard .forminator-ui .forminator-input:focus,.x-formcard .forminator-ui .forminator-textarea:focus{background-size:100% 2px!important;outline:0}
.x-formcard .forminator-ui .forminator-field:focus-within .forminator-label{color:var(--nxm-accent)!important}
.x-formcard .forminator-ui .forminator-textarea{min-height:150px!important;resize:vertical;border:1px solid #cfc9bd!important;padding:16px 18px!important;margin-top:6px;background-color:#fbfaf8!important}
.x-formcard .forminator-ui .forminator-textarea:focus{border-color:var(--nxm-accent)!important}
.x-formcard .forminator-ui .forminator-description{display:block;text-align:right;font-size:12px!important;color:#8a867e!important;letter-spacing:.06em;margin-top:6px}
.x-formcard .forminator-row-last{margin:clamp(8px,1vw,16px) 0 0!important}
.x-formcard .forminator-ui .forminator-button-submit{position:relative;display:inline-flex!important;align-items:center;justify-content:center;gap:14px;min-height:62px!important;padding:0 40px!important;background:var(--nxm-ink)!important;color:#fff!important;
  font:700 14px/1 var(--bs-body-font-family)!important;letter-spacing:.18em!important;text-transform:uppercase;border:0!important;overflow:hidden;transition:background-color .3s}
.x-formcard .forminator-ui .forminator-button-submit::after{content:"";width:22px;height:12px;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 12'%3E%3Cpath d='M15.6 0 22 6l-6.4 6-1.2-1.3L18.6 6.9H0V5.1h18.6l-4.2-3.8z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 12'%3E%3Cpath d='M15.6 0 22 6l-6.4 6-1.2-1.3L18.6 6.9H0V5.1h18.6l-4.2-3.8z'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .45s var(--nxm-ease-out)}
.x-formcard .forminator-ui .forminator-button-submit:hover{background:var(--nxm-accent)!important;color:#fff!important}
.x-formcard .forminator-ui .forminator-button-submit:hover::after{transform:translateX(6px)}
@media (max-width:575.98px){.x-formcard .forminator-ui .forminator-button-submit{width:100%}}

/* Themen-Chips über dem Nachrichtenfeld */
.x-chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 4px}
.x-chips__label{width:100%;font-size:13px;color:#6d6a64;letter-spacing:.04em;margin:0 0 2px}
.x-chip{appearance:none;border:1px solid #cfc9bd;background:#fff;color:var(--nxm-ink);font:400 14px/1 var(--bs-body-font-family);letter-spacing:.04em;padding:10px 16px;cursor:pointer;transition:border-color .2s,background-color .2s,color .2s}
.x-chip:hover{border-color:var(--nxm-ink);color:var(--nxm-ink)}
.x-chip[aria-pressed="true"]{background:var(--nxm-ink);border-color:var(--nxm-ink);color:#fff}
@media (min-width:576px) and (max-width:1599.98px){.x-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
.x-formcard .forminator-ui .forminator-row{margin-left:0!important;margin-right:0!important}
.x-formcard .forminator-ui .forminator-row-last .forminator-col{padding:0!important}
@media (min-width:576px){.x-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Barrierearme Farben (gemessen): Kupfer ≥4,7:1 auf Weiß/Stein und mit weißer Schrift */
:root{--nxm-accent:#985e34}
.teaser-text .more-item{color:#858585}
/* Fußleiste: Hover wird heller, nicht blasser */
.nxm-foot a:hover{color:#fff}
.nxm-foot__bar a,.nxm-foot__bar a:visited{color:rgba(255,255,255,.78)}
.nxm-foot__bar a:hover,.nxm-foot__bar a:focus{color:#fff}
.nxm-foot__bar{color:rgba(255,255,255,.62)}
.nxm-menu__legal a:hover,.nxm-menu__foot a:hover{color:#fff}
/* Menü-Hintergrund etwas dunkler für sichere Lesbarkeit auf hellen Fotos */
.nxm-menu__bg::after{background:linear-gradient(90deg,rgba(10,10,10,.9) 0%,rgba(10,10,10,.7) 45%,rgba(10,10,10,.58) 100%)}
/* Kopfzeile über Fotos: Schleier stark genug für dunkle Schrift (gemessen) */
body.nxm-hero .nxm-head:not(.is-scrolled){background:rgba(255,255,255,.74);-webkit-backdrop-filter:saturate(1.2) blur(8px);backdrop-filter:saturate(1.2) blur(8px)}
.nxm-head__tel,.nxm-head__tel:visited{color:var(--nxm-ink)}
.nxm-head__tel:hover,.nxm-head__tel:focus{color:var(--nxm-accent)}
/* Links auf dunklem Grund: Hover in hellem Kupfer */
.x-cta p a:not(.nxm-btn):hover,.x-formside__hint a:hover,.x-formside p a:not(.nxm-btn):hover{color:var(--nxm-accent-light)!important;text-decoration-color:currentColor}
/* Menü: dunklere Abdeckung hinter der Liste */
.nxm-menu__bg::after{background:linear-gradient(90deg,rgba(10,10,10,.93) 0%,rgba(10,10,10,.8) 45%,rgba(10,10,10,.64) 100%)}

/* Historie: Jahreszahl lesbar im Textbereich, Fortschrittslinie */
.x-tl__year{position:static!important;transform:none!important;margin:0 0 6px!important;font-weight:300;font-size:clamp(54px,6vw,96px)!important;line-height:1;letter-spacing:-.01em;color:var(--nxm-accent)!important;opacity:1!important;white-space:nowrap}
.x-tl__text .x-eyebrow{color:#6d6a64}
.x-tl{--x-progress:0}
.x-tl::after{content:"";position:absolute;left:calc(50% - 1px);top:0;width:2px;height:calc(var(--x-progress) * 100%);background:var(--nxm-accent);transition:height .15s linear}
@media (max-width:767.98px){.x-tl::after{left:6px}.x-tl__year{font-size:52px!important}}
.x-tl__item::before{transition:transform .5s var(--nxm-ease-out),background-color .3s}
.x-tl__item.is-in::before{transform:scale(1.35)}

/* Jobs-Fakten: einheitlich, gleich breite Spalten mit Trennlinien */
.x-facts{grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--nxm-ink);border-bottom:1px solid var(--nxm-line)}
.x-facts>div{padding:20px clamp(12px,1.6vw,24px) 22px;border-left:1px solid var(--nxm-line)}
.x-facts>div:first-child{border-left:0;padding-left:0}
.x-facts dt{font-weight:700!important;font-size:11px!important;letter-spacing:.18em;text-transform:uppercase;color:var(--nxm-accent)!important;line-height:1.3;margin:0 0 10px}
.x-facts dd{margin:0!important;font-weight:300;font-size:clamp(24px,2.2vw,34px)!important;line-height:1.1;color:var(--nxm-ink)!important;letter-spacing:.01em;white-space:nowrap}
@media (max-width:420px){.x-facts{grid-template-columns:1fr}.x-facts>div{border-left:0;padding-left:0;border-top:1px solid var(--nxm-line)}.x-facts>div:first-child{border-top:0}}

/* Scroll-Animationen (nur mit JS und ohne „Bewegung reduzieren“) */
html.nxm-js .nxm-reveal{opacity:0;transform:translateY(38px);transition:opacity .9s var(--nxm-ease-out),transform 1.1s var(--nxm-ease-out);transition-delay:var(--d,0s)}
html.nxm-js .nxm-reveal.is-in{opacity:1;transform:none}
html.nxm-js .x-tl__item.nxm-reveal .x-tl__media{clip-path:inset(0 0 100% 0);transition:clip-path 1.2s var(--nxm-ease-out) .1s}
html.nxm-js .x-tl__item.nxm-reveal.is-in .x-tl__media{clip-path:inset(0 0 0 0)}
@media (prefers-reduced-motion:reduce){html.nxm-js .nxm-reveal{opacity:1;transform:none}html.nxm-js .x-tl__item.nxm-reveal .x-tl__media{clip-path:none}}

/* Kopf-Rufnummer: Hover als Unterstreichung (Kupfer wäre auf dem Schleier zu schwach) */
.nxm-head__tel:hover,.nxm-head__tel:focus{color:var(--nxm-ink)}
.nxm-head__tel span{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .35s var(--nxm-ease-out);padding-bottom:2px}
.nxm-head__tel:hover span{background-size:100% 1px}
/* Menü: Abdeckung hinter der Liste */
.nxm-menu__bg::after{background:linear-gradient(90deg,rgba(10,10,10,.95) 0%,rgba(10,10,10,.86) 45%,rgba(10,10,10,.68) 100%)}

/* Hero-Claim: Größe schon per CSS passend (gemessene Breite --seg in em), JS nur als Sicherheitsnetz */
@media (min-width:992px){header.featured-full-width-img h1[style*="--seg"]{font-size:min(clamp(44px,4.6vw,84px),calc(((100vw - 2 * clamp(16px,3.2vw,48px)) * .33 - 40px) / var(--seg)))}}
@media (max-width:991.98px){header.featured-full-width-img h1[style*="--seg"]{font-size:min(clamp(32px,9.4vw,56px),calc((100vw - 2 * clamp(16px,3.2vw,48px) - 12px) / var(--seg)))}}
/* Mobile Aktionsleiste: Schrift bleibt beim Antippen weiß */
.nxm-actions a,.nxm-actions a:hover,.nxm-actions a:focus,.nxm-actions a:active{color:#fff}
/* CTA-Band mobil: gleichmäßig dunkel, da Text über die volle Breite läuft */
@media (max-width:991.98px){.x-cta::after{background:rgba(12,12,12,.86)}}
/* Teaser auf hellen Fotos: Verlauf unter dem Titel kräftiger */
.teaser-block::after{background:linear-gradient(270deg,rgba(10,10,10,.62) 0%,rgba(10,10,10,.25) 45%,rgba(10,10,10,0) 70%),linear-gradient(0deg,rgba(10,10,10,.55),rgba(10,10,10,0) 55%)}
.nxm-teaser__title{max-width:none!important}
/* Jobs-Fakten: volle Breite unter dem Einleitungstext, drei gleich breite Spalten */
.x-split:has(> .x-facts){grid-template-columns:1fr;align-items:start;gap:clamp(28px,4vw,56px)}
.x-split > .x-facts{max-width:none}
@media (max-width:767.98px){.x-tl__item{grid-template-columns:minmax(0,1fr)}}
.x-tl__item{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media (max-width:767.98px){.x-tl__item{grid-template-columns:minmax(0,1fr)!important}}
/* Dunkle Kachel: Weiß in jedem Zustand (auch nach dem Antippen/Fokus) */
a.x-tile--dark,a.x-tile--dark:focus,a.x-tile--dark:active,a.x-tile--dark:visited{color:#fff}

/* =====================================================================
   Konfigurator-Seiten (Türen / Tore)
   ===================================================================== */
body.nxm-nohero main:has(.x-section){max-width:none;margin:0;padding-inline:0}
body.nxm-nohero:has(.x-konf-hero) #content{padding-top:var(--nxm-head-h)}
body.nxm-nohero main .x-display{font-size:clamp(34px,4.4vw,68px);margin:0 0 28px;letter-spacing:.01em}
body.nxm-nohero main .x-h3{font-size:clamp(22px,2vw,30px);margin:0 0 20px}
body.nxm-nohero main .x-section p,body.nxm-nohero main .x-section li{font-size:inherit}
.x-split--konf{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center}
.x-konf-actions{margin-top:28px}
.nxm-btn--outline{border-color:var(--nxm-ink);color:var(--nxm-ink)!important;background:transparent}
.nxm-btn--outline:hover{background:var(--nxm-ink);color:#fff!important}
.x-konf-media{position:relative;margin:0;overflow:hidden}
.x-konf-media img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}
@media (max-width:991.98px){.x-konf-media img{aspect-ratio:16/10}}
.x-konf-media figcaption{position:absolute;left:0;right:0;bottom:0;padding:clamp(20px,2.4vw,32px);color:#fff;background:linear-gradient(0deg,rgba(10,10,10,.82),rgba(10,10,10,0));display:flex;flex-direction:column;gap:6px}
.x-konf-media figcaption strong{font-weight:300;font-size:clamp(22px,2vw,30px);letter-spacing:.03em}
.x-konf-media figcaption span{font-size:15px;letter-spacing:.04em;color:rgba(255,255,255,.85)}
.x-lead--wide{max-width:60em;margin-bottom:clamp(28px,4vw,48px)}
.x-steps3{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--nxm-ink)}
.x-steps3 li{display:flex;flex-direction:column;gap:8px;padding:24px clamp(14px,2vw,32px) 8px 0}
.x-steps3 li+li{padding-left:clamp(14px,2vw,32px);border-left:1px solid var(--nxm-line)}
.x-steps3__no{font-weight:300;font-size:40px;line-height:1;color:var(--nxm-accent)}
.x-steps3 strong{font-size:19px;font-weight:700;letter-spacing:.02em;color:var(--nxm-ink)}
.x-steps3 li>span:last-child{font-size:16px;line-height:1.6;color:#555}
@media (max-width:767.98px){.x-steps3{grid-template-columns:1fr}.x-steps3 li+li{padding-left:0;border-left:0;border-top:1px solid var(--nxm-line)}}
.x-two--konf{align-items:start}
.x-dls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}
@media (max-width:420px){.x-dls{grid-template-columns:1fr}}
.x-dl{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:14px;align-items:center;padding:16px 18px;background:#fff;color:var(--nxm-ink);text-decoration:none!important;border:1px solid transparent;transition:border-color .25s,transform .35s var(--nxm-ease-out)}
.x-dl svg{grid-row:1/3;width:30px;height:30px;fill:var(--nxm-accent)}
.x-dl__name{font-weight:700;font-size:15px;letter-spacing:.02em;line-height:1.3}
.x-dl__meta{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#6d6a64}
.x-dl:hover{border-color:var(--nxm-ink);transform:translateY(-2px);color:var(--nxm-ink)}
.x-kfw{display:flex;flex-direction:column;gap:8px;padding:clamp(20px,2.4vw,32px);background:var(--nxm-ink);color:#fff!important;text-decoration:none!important;margin-bottom:16px;transition:background-color .3s}
.x-kfw:hover{background:#000}
.x-kfw__tag{align-self:flex-start;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--nxm-ink);background:var(--nxm-accent-light);padding:5px 9px}
.x-kfw strong{font-weight:300;font-size:clamp(22px,2vw,28px);letter-spacing:.02em}
.x-kfw>span:not(.x-kfw__tag):not(.x-kfw__go){font-size:16px;line-height:1.6;color:rgba(255,255,255,.82)}
.x-kfw__go{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;letter-spacing:.06em;color:var(--nxm-accent-light)}
.x-kfw__go svg{width:18px;height:18px;fill:currentColor}
.x-konfig{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;border:1px solid var(--nxm-ink);color:var(--nxm-ink)!important;text-decoration:none!important;transition:background-color .3s,color .3s}
.x-konfig strong{display:block;font-size:17px;font-weight:700;letter-spacing:.02em}
.x-konfig span span{display:block;font-size:15px;line-height:1.55;color:#555;margin-top:4px}
.x-konfig svg{flex:none;width:24px;height:24px;fill:currentColor}
.x-konfig:hover{background:var(--nxm-ink);color:#fff!important}
.x-konfig:hover span span{color:rgba(255,255,255,.8)}

/* Formular-Feldtypen der Konfiguratoren: Auswahl, Checkboxen, Uploads, Einwilligung */
.x-formcard .forminator-ui .forminator-checkbox{display:inline-flex!important;align-items:flex-start;gap:12px;margin:6px 18px 6px 0!important;cursor:pointer;font-size:16px;color:var(--nxm-ink)}
.x-formcard .forminator-ui .forminator-checkbox input{position:absolute;opacity:0}
.x-formcard .forminator-ui .forminator-checkbox-box{flex:none;width:22px!important;height:22px!important;border:1px solid #b9b3a7!important;border-radius:0!important;background:#fff!important;position:relative;margin-top:1px;transition:background-color .2s,border-color .2s}
.x-formcard .forminator-ui .forminator-checkbox input:checked+.forminator-checkbox-box{background:var(--nxm-ink)!important;border-color:var(--nxm-ink)!important}
.x-formcard .forminator-ui .forminator-checkbox input:checked+.forminator-checkbox-box::after{content:"";position:absolute;left:7px;top:3px;width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.x-formcard .forminator-ui .forminator-checkbox input:focus-visible+.forminator-checkbox-box{outline:2px solid var(--nxm-accent);outline-offset:2px}
.x-formcard .forminator-ui .forminator-checkbox-label{font-size:15px!important;line-height:1.55!important;color:#4a4a4a!important;text-transform:none!important;letter-spacing:0!important;font-weight:400!important}
.x-formcard .forminator-ui .forminator-multiselect{border:0!important;display:flex;flex-wrap:wrap;gap:8px;max-height:none!important;background:none!important;padding:0!important}
.x-formcard .forminator-ui .forminator-multiselect .forminator-option{display:inline-flex!important;align-items:center;gap:8px;margin:0!important;padding:10px 16px!important;border:1px solid #cfc9bd;background:#fff;cursor:pointer;font-size:15px!important;color:var(--nxm-ink)!important}
.x-formcard .forminator-ui .forminator-multiselect .forminator-option:has(input:checked){background:var(--nxm-ink);border-color:var(--nxm-ink);color:#fff!important}
.x-formcard .forminator-ui .forminator-multiselect .forminator-option input{position:absolute;opacity:0}
.x-formcard .forminator-ui .forminator-file-upload{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:14px;border:1px dashed #b9b3a7;background:#fbfaf8;margin-top:6px;transition:border-color .2s}
.x-formcard .forminator-ui .forminator-file-upload:hover{border-color:var(--nxm-ink)}
.x-formcard .forminator-ui .forminator-file-upload .forminator-button{min-height:44px!important;padding:0 18px!important;font-size:13px!important;letter-spacing:.08em!important;background:var(--nxm-ink)!important}
.x-formcard .forminator-ui .forminator-file-upload>span{font-size:14px;color:#6d6a64}
.x-formcard .forminator-ui .forminator-title{font:300 22px/1.2 var(--bs-body-font-family)!important;letter-spacing:.03em;color:var(--nxm-ink)!important;margin:12px 0 6px!important}

/* Kontaktformular kompakter: zweispaltig, Name | E-Mail oben */
#forminator-module-691{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(20px,2.4vw,36px);row-gap:clamp(14px,1.6vw,22px)}
#forminator-module-691>.forminator-row{display:contents}
#forminator-module-691 .forminator-col{min-width:0}
#forminator-module-691 #name-1{order:1}#forminator-module-691 #email-1{order:2}
#forminator-module-691 #phone-1{order:3}#forminator-module-691 #name-2{order:4}
#forminator-module-691 #name-3{order:5}#forminator-module-691 #name-4{order:6}
#forminator-module-691 #textarea-1{order:7;grid-column:1/-1}
#forminator-module-691 .forminator-row-last>.forminator-col{order:8;grid-column:1/-1}
#forminator-module-691 .forminator-response-message{grid-column:1/-1;order:0}
@media (max-width:575.98px){#forminator-module-691{grid-template-columns:1fr}}
.x-formcard .forminator-ui .forminator-input{min-height:46px;padding:8px 0 8px!important;font-size:18px!important}
.x-formcard .forminator-ui .forminator-textarea{min-height:120px!important}
.x-formcard__head{margin-bottom:clamp(16px,2vw,28px);padding-bottom:16px}
.x-chips{gap:6px;margin:8px 0 2px}
.x-chips__label{display:none}
.x-chip{padding:7px 12px;font-size:13px}

/* Bildkarten mit weißer Schrift: Weiß in jedem Linkzustand */
a.x-partner,a.x-partner:visited,a.x-partner:focus,a.x-partner:active,a.x-partner:hover{color:#fff}
.teaser-block a,.teaser-block a:visited,.teaser-block a:focus{color:#fff}
.teaser-text a.more-item:visited,.teaser-text a.more-item:focus{color:#858585}
/* Lange Formulare: Inhalt der dunklen Spalte läuft mit (Desktop) */
@media (min-width:992px){
  .x-formgrid--konf .x-formside{align-items:flex-start}
  .x-formgrid--konf .x-formside__body{position:sticky;top:calc(var(--nxm-head-h) + 24px);align-self:flex-start}
  .x-formgrid--konf .x-formside img{position:absolute}
}
@media (max-width:991.98px){.x-split--konf{grid-template-columns:minmax(0,1fr)}.x-steps3{grid-template-columns:1fr}.x-steps3 li+li{padding-left:0;border-left:0;border-top:1px solid var(--nxm-line)}}
@media (max-width:575.98px){.x-konf-actions .nxm-btn{flex:1 1 100%;justify-content:center}}

/* Datenschutz-Einwilligung */
#forminator-module-691 #nxm-consent{order:8;grid-column:1/-1}
#forminator-module-691 .forminator-row-last>.forminator-col{order:9}
.x-formcard .nxm-consent,.x-formcard .forminator-checkbox:has([data-nxm-consent]){display:flex!important;align-items:flex-start;gap:14px;margin:4px 0 0!important}
.x-formcard [data-nxm-consent]+.forminator-checkbox-box{margin-top:2px}
.x-formcard [data-nxm-consent]~.forminator-checkbox-label{font-size:14px!important;line-height:1.6!important;color:#4a4a4a!important}
.x-formcard [data-nxm-consent]~.forminator-checkbox-label a{color:var(--nxm-ink);text-decoration:underline;text-decoration-color:var(--nxm-accent);text-underline-offset:.2em}
.x-formcard [data-nxm-consent]~.forminator-checkbox-label a:hover{color:var(--nxm-accent)}
.x-formcard [data-nxm-consent][aria-invalid="true"]+.forminator-checkbox-box{border-color:#b3261e!important;box-shadow:0 0 0 3px rgba(179,38,30,.15)}
.nxm-consent__error{margin:8px 0 0 36px;font-size:14px!important;color:#b3261e!important;font-weight:700}

/* Linke Box im Formularbereich: Inhalt oben, läuft auf dem Desktop mit */
.x-formside{align-items:flex-start}
.x-formside__body{align-self:flex-start!important}
@media (min-width:992px){.x-formside__body{position:sticky;top:calc(var(--nxm-head-h) + 24px)}}
.x-formcard label.forminator-checkbox:has([data-nxm-consent]),.x-formcard .nxm-consent{align-items:flex-start!important}
label.forminator-checkbox:has([data-nxm-consent]) .forminator-checkbox-box{margin-top:3px!important;align-self:flex-start}
.forminator-checkbox-label .forminator-required{display:inline!important;margin-left:2px}
.nxm-nowrap{white-space:nowrap}
.nxm-consent__error{margin-left:36px}
/* Kontakt: linke Box ohne Mitlaufen, Inhalt oben */
@media (min-width:992px){.x-formgrid:not(.x-formgrid--konf) .x-formside__body{position:relative;top:auto}}
/* Themen-Chips als gleichmäßiges Raster */
.x-chips{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0 12px}
.x-chip{width:100%;text-align:center;padding:10px 8px;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:575.98px){.x-chips{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Einwilligungstext als normaler Fließtext (Forminator setzt display:flex) */
label.forminator-checkbox:has([data-nxm-consent]) .forminator-checkbox-label{display:block!important;flex:1 1 auto;min-width:0}
label.forminator-checkbox .forminator-checkbox-label .nxm-nowrap{display:inline!important;width:auto!important}
.x-intro--compact{padding-bottom:clamp(28px,4vw,48px)}
.x-section--flush{padding-top:0}
body.nxm-nohero:has(.x-intro) #content{padding-top:var(--nxm-head-h)}
.x-eyebrow--light,body.nxm-nohero main .x-eyebrow--light{color:var(--nxm-accent-light)!important}
/* Linke Box: Inhalt bleibt beim Scrollen durchs Formular stehen.
   overflow:clip statt hidden – sonst wird die Box selbst zum Scroll-Container und sticky verschiebt nur nach unten. */
.x-formside{overflow:clip}
@media (min-width:992px){
  .x-formgrid .x-formside__body,.x-formgrid:not(.x-formgrid--konf) .x-formside__body{position:sticky!important;top:calc(var(--nxm-head-h) + 24px)!important}
}

/* ===== Runde Okt. 2026: schlanke Formulare, Karriere neu, echte Fotos ===== */
/* Schlanke Formulare: zweispaltiges Raster, Reihen lösen sich auf */
.x-formcard form.x-slim{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(20px,2.4vw,36px);row-gap:clamp(16px,1.8vw,24px)}
.x-formcard form.x-slim>.forminator-row{display:contents!important}
.x-formcard form.x-slim .forminator-col{min-width:0;order:0!important;grid-column:auto}
.x-formcard form.x-slim .x-full,.x-formcard form.x-slim .forminator-response-message{grid-column:1/-1!important}
.x-formcard form.x-slim .forminator-row-last>.forminator-col{order:0!important}
.x-formcard form.x-slim #nxm-consent{order:0!important}
@media (max-width:575.98px){.x-formcard form.x-slim{grid-template-columns:minmax(0,1fr)}}
.x-opt{font-weight:400;letter-spacing:.06em;text-transform:none;color:#8a867e}
.x-formcard .forminator-ui .x-hint{text-align:left!important;letter-spacing:.02em!important;font-size:13px!important}
.x-formcard .forminator-ui .forminator-textarea::placeholder{color:#9a958c;font-weight:300}
.x-formcard .forminator-ui select.x-select{width:100%!important;min-height:46px;border:0!important;border-bottom:1px solid #cfc9bd!important;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23141414' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 4px center/12px 8px!important;
  -webkit-appearance:none;appearance:none;padding:8px 24px 8px 0!important;font:300 18px/1.4 var(--bs-body-font-family)!important;color:var(--nxm-ink)!important;border-radius:0;cursor:pointer}
.x-formcard .forminator-ui select.x-select:focus{outline:0;border-bottom-color:var(--nxm-accent)!important;box-shadow:0 2px 0 var(--nxm-accent)}
/* Datei-Upload ohne Plugin-Skript */
.x-upload{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:14px;margin-top:6px;border:1px dashed #b9b3a7;background:#fbfaf8;transition:border-color .2s,background-color .2s}
.x-upload:hover,.x-upload:focus-within{border-color:var(--nxm-ink)}
.x-upload.is-drag{border-color:var(--nxm-accent);background:#f6efe8}
.x-upload__input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.x-upload__btn{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;background:var(--nxm-ink);color:#fff;font:600 13px/1 var(--bs-body-font-family);letter-spacing:.08em;cursor:pointer;transition:background-color .2s}
.x-upload__btn:hover{background:var(--nxm-accent)}
.x-upload__input:focus-visible+.x-upload__btn{outline:2px solid var(--nxm-accent);outline-offset:2px}
.x-upload__name{flex:1 1 200px;min-width:0;font-size:14px;line-height:1.5;color:#6d6a64;overflow-wrap:anywhere}
.x-note{margin:18px 0 0!important;font-size:16px!important;line-height:1.6;color:var(--nxm-muted)!important}
.x-formside__alt{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 22px}
.x-formside__alt .nxm-btn{flex:1 1 180px;justify-content:center}
.x-formcard .forminator-response-message.is-ok{display:block!important;margin:0 0 8px;padding:16px 18px;background:#eef4ec;border-left:3px solid #3d7a3a;font-size:15px;line-height:1.6;color:#23421f}

/* Karriere: Stellen als aufklappbare Karten */
.x-stellen__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 32px;margin-bottom:clamp(20px,3vw,36px)}
.x-stellen__head .x-h2{margin:0}
.x-stellen__note{margin:0;font-size:15px!important;max-width:38ch}
.x-stellen{display:grid;gap:14px}
.x-stelle{background:#fff;border:1px solid var(--nxm-line);transition:border-color .25s,box-shadow .25s}
.x-stelle:hover{border-color:rgba(20,20,20,.3)}
.x-stelle[open]{border-color:var(--nxm-ink);box-shadow:0 24px 60px rgba(0,0,0,.08)}
.x-stelle summary{list-style:none;display:flex;align-items:center;gap:20px 32px;padding:clamp(20px,2.6vw,34px) clamp(20px,3vw,40px);cursor:pointer}
.x-stelle summary::-webkit-details-marker{display:none}
.x-stelle summary:focus-visible{outline:2px solid var(--nxm-accent);outline-offset:-2px}
.x-stelle__head{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:8px}
.x-stelle__tags{display:flex;flex-wrap:wrap;gap:6px}
.x-stelle__tags span{font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--nxm-accent);padding:4px 10px;border:1px solid rgba(152,94,52,.35)}
.x-stelle__title{font-size:clamp(21px,2vw,28px);line-height:1.25;color:var(--nxm-ink);font-weight:400;overflow-wrap:break-word;hyphens:manual}
.x-stelle__teaser{font-size:17px;line-height:1.55;color:var(--nxm-muted)}
.x-stelle__more{flex:none;display:inline-flex;align-items:center;gap:12px;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--nxm-ink)}
.x-stelle__icon{width:44px;height:44px;padding:11px;border:1px solid var(--nxm-ink);fill:currentColor;transition:background-color .25s,color .25s,transform .4s var(--nxm-ease-out)}
.x-stelle summary:hover .x-stelle__icon{background:var(--nxm-ink);color:#fff}
.x-stelle[open] .x-stelle__icon{transform:rotate(45deg);background:var(--nxm-ink);color:#fff}
.x-stelle__close,.x-stelle[open] .x-stelle__open{display:none}
.x-stelle[open] .x-stelle__close{display:inline}
.x-stelle__body{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,48px);padding:0 clamp(20px,3vw,40px) clamp(24px,3vw,40px);border-top:1px solid var(--nxm-line);padding-top:clamp(20px,2.6vw,32px)}
.x-h4{font-size:15px!important;font-weight:700!important;letter-spacing:.12em;text-transform:uppercase;color:var(--nxm-ink);margin:0 0 6px!important}
.x-stelle__body .x-check li{font-size:16px;padding:10px 0 10px 30px}
.x-stelle__body .x-check li::before{top:17px}
.x-stelle__go{background:var(--nxm-stone);padding:clamp(20px,2.4vw,32px);display:flex;flex-direction:column;justify-content:space-between;gap:20px}
.x-stelle__go p{margin:0;font-size:17px!important;line-height:1.6;color:var(--nxm-ink)}
.x-stelle__go .nxm-btn{justify-content:center}
@media (max-width:991.98px){.x-stelle__body{grid-template-columns:1fr 1fr}.x-stelle__go{grid-column:1/-1}}
@media (max-width:640px){.x-stelle summary{flex-wrap:wrap}.x-stelle__more{width:100%;justify-content:space-between}.x-stelle__body{grid-template-columns:1fr}}
html.nxm-js .x-stelle.nxm-reveal{transition-delay:var(--d,0s)}
.x-benefits--6{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:991.98px){.x-benefits--6{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.x-benefits--6{grid-template-columns:1fr}}
/* Fotostreifen echter Projekte */
.x-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,1.4vw,20px)}
@media (max-width:991.98px){.x-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
.x-strip__item{margin:0;position:relative;overflow:hidden;background:var(--nxm-ink)}
.x-strip__item img{display:block;width:100%;aspect-ratio:7/8;object-fit:cover;transition:transform 1.2s var(--nxm-ease-out)}
.x-strip__item:hover img{transform:scale(1.04)}
.x-strip__item figcaption{position:absolute;inset:auto 0 0 0;padding:40px 16px 14px;background:linear-gradient(180deg,transparent,rgba(10,10,10,.82));color:#fff;font-size:15px;line-height:1.4}
.x-strip__more{margin:clamp(18px,2vw,28px) 0 0!important;font-size:17px!important}
/* Historie 1925: Typo-Karte statt Stockfoto (kein historisches Foto vorhanden) */
.x-tl__media--typo{container-type:inline-size;aspect-ratio:4/3;display:flex;flex-direction:column;justify-content:flex-end;gap:2px;padding:clamp(22px,3vw,44px);background:var(--nxm-ink);color:#fff}
.x-tl__media--typo small{margin-bottom:auto;font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--nxm-accent-light)}
.x-tl__media--typo span{font-size:min(36px,6.4cqi);font-weight:300;line-height:1.2;color:#fff;white-space:nowrap}
.x-tl__media--typo span+span{padding-top:10px;margin-top:8px;border-top:1px solid rgba(255,255,255,.16)}
/* Lesbarkeit Bildtexte (gemessen mit werkzeuge/kontrast.py) */
.x-konf-media figcaption{padding-top:clamp(56px,7vw,96px);background:linear-gradient(0deg,rgba(10,10,10,.9) 0%,rgba(10,10,10,.78) 55%,rgba(10,10,10,0) 100%)}
.x-konf-media figcaption span{color:#fff}
.x-strip__item figcaption{padding-top:64px;background:linear-gradient(0deg,rgba(10,10,10,.9) 0%,rgba(10,10,10,.75) 55%,rgba(10,10,10,0) 100%)}
/* Stellen: Plus wird beim Öffnen zum Minus (Kasten bleibt gerade) */
.x-stelle[open] .x-stelle__icon{transform:none}
.x-stelle__icon path:first-child{transform-origin:12px 12px;transition:transform .35s var(--nxm-ease-out)}
.x-stelle[open] .x-stelle__icon path:first-child{transform:scaleY(0)}
/* Absenden-Knöpfe einzeilig */
.x-formcard .forminator-ui .forminator-button-submit{white-space:nowrap}
@media (max-width:420px){.x-formcard .forminator-ui .forminator-button-submit{letter-spacing:.08em!important;padding:0 20px!important;gap:10px}}
.x-formcard{scroll-margin-top:calc(var(--nxm-head-h) + 8px)}
/* ---------- Qualitätsband Startseite (30.10.2026) ---------- */
.nxm-quali{background:var(--nxm-ink);color:#fff;margin:clamp(24px,4vw,56px) 0 0}
.nxm-quali__inner{max-width:1320px;margin:0 auto;padding:clamp(56px,7vw,112px) clamp(20px,5vw,72px);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,104px);align-items:center}
.nxm-quali p{margin:0}
.nxm-quali__vor{font-weight:700;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#d9a274}
.nxm-quali__zahl{font-weight:300;font-size:clamp(96px,12.5vw,196px);line-height:.9;letter-spacing:-.03em;color:#fff;margin:14px 0 0 -.05em!important}
.nxm-quali__text{margin-top:22px!important;font-size:17px;line-height:1.6;color:rgba(255,255,255,.78);max-width:24em}
.nxm-quali__liste{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-top:1px solid rgba(255,255,255,.2)}
.nxm-quali__liste li{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:18px;align-content:start;padding:30px 24px 30px 0;border-bottom:1px solid rgba(255,255,255,.2)}
.nxm-quali__liste li:nth-child(even){padding-left:28px;padding-right:0;border-left:1px solid rgba(255,255,255,.2)}
.nxm-quali__liste svg{grid-row:1/3;width:36px;height:36px;margin-top:2px;fill:none;stroke:#d9a274;stroke-width:1.3;stroke-linejoin:round;stroke-linecap:round}
.nxm-quali__liste strong{font-weight:300;font-size:clamp(21px,1.9vw,27px);line-height:1.15;color:#fff;letter-spacing:.01em}
.nxm-quali__liste span{margin-top:7px;font-size:14.5px;line-height:1.5;color:rgba(255,255,255,.72)}
@media (max-width:991.98px){.nxm-quali__inner{grid-template-columns:1fr}}
@media (max-width:575.98px){
  .nxm-quali__liste{grid-template-columns:1fr}
  .nxm-quali__liste li,.nxm-quali__liste li:nth-child(even){padding:24px 0;border-left:0}
}
/* ---------- Kontakt-Leiste rechts, erscheint nach dem Scrollen (Desktop) ---------- */
.nxm-dock{display:none}
@media (min-width:992px){
  .nxm-dock{position:fixed;right:0;top:50%;z-index:900;display:flex;flex-direction:column;gap:2px;transform:translate(100%,-50%);visibility:hidden;
    transition:transform .45s var(--nxm-ease),visibility 0s linear .45s}
  html.nxm-dock-on .nxm-dock{transform:translate(0,-50%);visibility:visible;transition:transform .45s var(--nxm-ease),visibility 0s}
  body.nxm-menu-open .nxm-dock{transform:translate(100%,-50%);visibility:hidden}
  .nxm-dock a{position:relative;display:flex;align-items:center;justify-content:center;width:56px;height:56px;background:rgba(20,20,20,.94);box-shadow:inset 1px 0 0 rgba(255,255,255,.14),inset 0 1px 0 rgba(255,255,255,.08);text-decoration:none;transition:background-color .25s}
  .nxm-dock a,.nxm-dock a:hover,.nxm-dock a:focus,.nxm-dock a:active{color:#fff}
  .nxm-dock a:hover,.nxm-dock a:focus-visible{background:var(--nxm-accent)}
  .nxm-dock a:focus-visible{outline:2px solid #fff;outline-offset:-4px}
  .nxm-dock svg{width:20px;height:20px;fill:currentColor}
  .nxm-dock span{position:absolute;right:100%;top:0;height:100%;display:flex;align-items:center;padding:0 18px;background:var(--nxm-accent);color:#fff;white-space:nowrap;
    font-weight:600;font-size:15px;letter-spacing:.02em;clip-path:inset(0 0 0 100%);transition:clip-path .35s var(--nxm-ease);pointer-events:none}
  .nxm-dock a:hover span,.nxm-dock a:focus-visible span{clip-path:inset(0)}
}
@media (prefers-reduced-motion:reduce){.nxm-dock,.nxm-dock span{transition:none!important}}
/* ---------- Formularversand (30.10.2026) ---------- */
.nxm-hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.grecaptcha-badge{visibility:hidden!important}
.nxm-captcha{margin:14px 0 0;font-size:12.5px;line-height:1.5;color:var(--nxm-muted)}
.nxm-captcha a,.nxm-captcha a:hover,.nxm-captcha a:focus{color:inherit;text-decoration:underline}
.x-formcard .forminator-response-message.is-error{display:block!important;margin:0 0 8px;padding:16px 18px;background:#fbeeea;border-left:3px solid #b3401f;font-size:15px;line-height:1.6;color:#7a2410}
/* ---------- Cookie-Banner (02.11.2026) ---------- */
html.nxm-cc-sperre{overflow:hidden}
html.nxm-cc-sperre body>*:not(.nxm-cc){filter:blur(12px);pointer-events:none;user-select:none}
html.nxm-cc-sperre body::after{content:"";position:fixed;inset:0;z-index:9998;background:rgba(14,14,14,.38)}
.nxm-cc{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:16px;font-family:inherit}
.nxm-cc[hidden],.nxm-cc [hidden]{display:none!important}
.nxm-cc--frei{inset:auto 16px 16px 16px;padding:0;pointer-events:none}
.nxm-cc--frei .nxm-cc__card{pointer-events:auto}
@media (max-width:991.98px){.nxm-cc--frei{bottom:calc(74px + env(safe-area-inset-bottom,0px))}}
.nxm-cc__card{width:min(560px,100%);max-height:calc(100vh - 32px);overflow:auto;padding:clamp(24px,4vw,38px);color:#fff;
  background:rgba(20,20,20,.9);-webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2);
  border:1px solid rgba(255,255,255,.14);border-top:2px solid #d9a274;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.nxm-cc p{margin:0}
.nxm-cc__eyebrow{font-weight:700;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#d9a274}
.nxm-cc__titel{margin:10px 0 14px;font-weight:300;font-size:clamp(24px,2.4vw,30px);line-height:1.15;color:#fff;letter-spacing:.01em}
.nxm-cc__text{font-size:15px;line-height:1.6;color:rgba(255,255,255,.8)}
.nxm-cc__text a,.nxm-cc__text a:focus{color:#d9a274;text-decoration:underline;text-underline-offset:3px}
.nxm-cc__text a:hover{color:#fff}
.nxm-cc__knoepfe{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}
.nxm-cc__btn{min-height:52px;padding:0 18px;border:1px solid #fff;background:#fff;color:var(--nxm-ink);font:inherit;font-weight:600;font-size:15px;letter-spacing:.01em;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}
.nxm-cc__btn:hover{background:#985e34;border-color:#985e34;color:#fff}
.nxm-cc__btn:focus-visible,.nxm-cc__link:focus-visible{outline:2px solid #d9a274;outline-offset:3px}
.nxm-cc__btn--auswahl{display:block;width:100%;margin-top:12px;background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.nxm-cc__link{display:inline-block;margin-top:16px;padding:4px 0;border:0;background:none;color:rgba(255,255,255,.78);font:inherit;font-size:14px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.nxm-cc__link:hover{color:#fff}
.nxm-cc__liste{list-style:none;margin:20px 0 0;padding:0;border-top:1px solid rgba(255,255,255,.14)}
.nxm-cc__liste li{border-bottom:1px solid rgba(255,255,255,.14)}
.nxm-cc__opt{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr);gap:14px;align-items:start;padding:16px 0;cursor:pointer}
.nxm-cc__opt.is-fix{cursor:default}
.nxm-cc__opt input{position:absolute;opacity:0;width:40px;height:22px;margin:2px 0 0;cursor:inherit}
.nxm-cc__schalter{position:relative;width:40px;height:22px;margin-top:2px;border-radius:11px;background:rgba(255,255,255,.22);transition:background-color .2s}
.nxm-cc__schalter::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s}
.nxm-cc__opt input:checked+.nxm-cc__schalter{background:#985e34}
.nxm-cc__opt input:checked+.nxm-cc__schalter::after{transform:translateX(18px)}
.nxm-cc__opt.is-fix input:checked+.nxm-cc__schalter{background:rgba(152,94,52,.55)}
.nxm-cc__opt input:focus-visible+.nxm-cc__schalter{outline:2px solid #d9a274;outline-offset:3px}
.nxm-cc__opt strong{display:block;font-size:15px;font-weight:600;color:#fff}
.nxm-cc__opt small{display:block;margin-top:4px;font-size:13.5px;line-height:1.5;color:rgba(255,255,255,.72)}
@media (max-width:420px){.nxm-cc__knoepfe{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.nxm-cc__btn,.nxm-cc__schalter,.nxm-cc__schalter::after{transition:none}}
