/* =====================================================================
   Theme „NEUMIR Haustechnik“ – Gestaltung (aus der freigegebenen Vorschau, Stand v19)
   Erzeugt von werkzeuge/nmr_css.py. Farben und Schriften kommen aus dem Elementor-Kit.
   Breakpoints wie in Elementor: Tablet bis 1024 px, Handy bis 767 px.
   Klassen aus der Vorschau vergeben Sie in Elementor unter Erweitert → CSS-Klassen.
   Die Gestaltung der Spezial-Widgets liegt im Plugin neumir-studio (assets/css/komponenten.css).
   ===================================================================== */
body{
  /* Farben: Elementor → Website-Einstellungen → Globale Farben (Wert nach dem Komma = Notwert) */
  --blau:var(--e-global-color-primary,#014b9a);
  --navy:var(--e-global-color-secondary,#0b1f38);
  --ink-2:var(--e-global-color-text,#4d5a6c);
  --rot:var(--e-global-color-accent,#e5251a);
  --ink:var(--e-global-color-nmrink,#121b2a);
  --ink-3:var(--e-global-color-nmrink3,#7b8799);
  --bg:var(--e-global-color-nmrweiss,#ffffff);
  --surface:var(--e-global-color-nmrflaeche,#f3f6f9);
  --surface-2:var(--e-global-color-nmrflaeche2,#e6ecf2);
  --line:var(--e-global-color-nmrlinie,#dce3ea);
  --navy-2:var(--e-global-color-nmrnavy2,#102a4a);
  --navy-3:var(--e-global-color-nmrnavy3,#1b3c63);
  --on-navy:var(--e-global-color-nmraufnavy,#ffffff);
  --on-navy-2:var(--e-global-color-nmraufnavy2,#a9b8ca);
  --blau-tief:var(--e-global-color-nmrblautief,#003a79);
  --blau-hell:var(--e-global-color-nmrblauhell,#8ab8f0);
  --rot-tief:var(--e-global-color-nmrrottief,#c21c12);
  /* Schriften: Elementor → Website-Einstellungen → Globale Schriften (Überschriften = primär, Text = Fließtext) */
  --titelschrift:var(--e-global-typography-primary-font-family,"Plus Jakarta Sans"),"Inter","Helvetica Neue",Arial,sans-serif;
  --schrift:var(--e-global-typography-text-font-family,"Inter"),"Helvetica Neue",Arial,system-ui,sans-serif;
}
:root{
  /* Maße und Bewegung (nicht im Kit; auf dem Handy werden Kopfhöhe und Infozeile unten angepasst) */
  --wrap:1280px;
  --rand:clamp(16px,4vw,48px);
  --radius:4px;
  --info-h:38px;
  --leiste-h:100px;
  --abstand:clamp(80px,10vw,140px);
  --kurve:cubic-bezier(.22,.8,.24,1);
  --schatten:0 1px 2px rgba(11,23,38,.06),0 22px 44px -22px rgba(11,23,38,.32);
}

/* ---------------------------------------------------------------- Elementor-Brücke
   Container verhalten sich wie normale Blöcke der Vorschau; Klassen aus der Vorschau (z. B. .karten3, .intro)
   setzen weiterhin Grid oder Flex. */
body .e-con.e-flex,body .e-con{--flex-direction:row;--flex-wrap:nowrap;--width:auto;--position:static;--container-widget-width:auto;--container-widget-flex-grow:0;--gap:0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--margin-top:0px;--margin-bottom:0px}
.elementor-element.elementor-widget{position:static;margin:0}
body .e-con::before,body .e-con::after{position:static;top:auto;left:auto;width:auto;height:auto;border-width:0;opacity:1;mix-blend-mode:normal}
.t-blk{display:block}
.e-con.t-blk,.e-con.t-blk>.elementor-element{--margin-block-start:0;--margin-block-end:0}
:root .e-con>.elementor-widget{min-width:auto}
/* Hüllen von Bild, Text, Video, Button, Symbol, Gestaltungselement und Überschriften (H1–H6) sind im Layout
   unsichtbar: Bild, Absatz, Liste, Überschrift usw. sitzen wie in der Vorschau direkt im Raster.
   Im Editor bleiben die Hüllen sichtbar, damit sich die Elemente anklicken lassen. */
body:not(.elementor-editor-active) :is(.elementor-widget-image,.elementor-widget-text-editor,.elementor-widget-nmr_video,.elementor-widget-nmr_button,.elementor-widget-nmr_symbol,.elementor-widget-nmr_deko,.elementor-widget-nmr_bad3d,.elementor-widget-nmr_bauschritte,.elementor-widget-nmr_galerie,.elementor-widget-nmr_faq,.elementor-widget-nmr_anfrage,.elementor-widget-nmr_navigation,.elementor-widget-nmr_menueknopf,.t-h),
body:not(.elementor-editor-active) :is(.elementor-widget-image,.elementor-widget-text-editor,.t-h)>.elementor-widget-container{display:contents}
/* Überschrift-Widget: Ebene H1–H6 bestimmt die Gestaltung, div/span/p übernehmen die Schrift des Elements */
:is(div,span,p,small,strong,em,b,i,address).elementor-heading-title{font:inherit;color:inherit;line-height:inherit;letter-spacing:inherit;text-transform:inherit;text-align:inherit;margin:0;padding:0}
.elementor-heading-title{color:inherit}
.elementor-widget-text-editor{color:inherit}
:root .elementor-widget-image img{display:block}
.elementor img{border-radius:revert-layer}
/* Einblenden beim Scrollen (Elementor → Erweitert → NEUMIR-Animation): im Editor und ohne Animation sichtbar */
body.elementor-editor-active [data-auftritt],body.nmr-anim-aus [data-auftritt]{opacity:1!important;translate:none!important}

/* ---------------------------------------------------------------- Gestaltung aus der Vorschau */
:root *,:root *::before,:root *::after{box-sizing: border-box;}
html:root{-webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--leiste-h) + 24px);}
:root [hidden]{display: none !important;}
:root body{margin: 0; font-family: var(--schrift); font-size: 16px; line-height: 1.65; color: var(--ink); background: var(--bg); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: clip;}
:root img,:root video,:root canvas,:root svg{display: block; max-width: 100%;}
:root img{height: auto;}
:root a{color: inherit;}
:root h1,:root h2,:root h3{margin: 0; font-family: var(--titelschrift); font-weight: 700; line-height: 1.08; letter-spacing: -.03em; text-wrap: balance;}
:root h3{font-weight: 650;}
:root .notdienst__nummern a,:root .kontaktkarte :is(strong,:where(.t-strong)),:root .schritte__nr,:root .zitat :is(blockquote,:where(.t-blockquote)),:root .fakten :is(strong,:where(.t-strong)),:root .person a,:root h2{font-size: clamp(1.8rem, 3.1vw, 2.85rem);}
:root h3{font-size: 1.2rem; letter-spacing: -.015em; line-height: 1.25;}
:root :is(p,:where(.t-p)){margin: 0 0 1em; text-wrap: pretty;}
:root :is(address,:where(.t-address)){font-style: normal;}
:root button,:root input,:root select,:root textarea{font: inherit; color: inherit;}
:root :focus-visible{outline: 2px solid var(--rot); outline-offset: 3px;}
:root .wrap{width: 100%; max-width: calc(var(--wrap) + 2 * var(--rand)); margin-inline: auto; padding-inline: var(--rand);}
:root .sr{position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;}
:root .skip{position: fixed; left: 16px; top: -60px; z-index: 100; background: #fff; padding: 10px 16px; font-weight: 600; transition: top .2s;}
:root .skip:focus{top: 12px;}
:root .akzent{color: var(--ink-3);}
:root .abschnitt--dunkel .akzent,:root .seitenkopf .akzent{color: rgba(255, 255, 255, .62);}
:root .hero .akzent{color: #a8cdfd;}
:root .leise{color: var(--ink-3); font-size: .92em;}
:root .gross{font-size: clamp(1rem, 1.2vw, 1.1rem); line-height: 1.65; color: var(--ink-2);}
:root .i{width: 1.25em; height: 1.25em; flex: none;}
:root .eyebrow{display: inline-flex; align-items: center; gap: .8em; margin-bottom: 1.2rem; font-size: .76rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--rot);}
:root .eyebrow::before{content: ""; width: 22px; height: 2px; background: currentColor;}
:root .eyebrow--hell{color: #ff8a80;}
:root .marke-neu{display: inline-block; font-style: normal; font-size: .62rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; background: var(--rot); color: #fff; padding: .3em .6em .26em; border-radius: 2px; vertical-align: .3em; margin-left: .45em; line-height: 1.2;}
:root .eyebrow .marke-neu{margin: 0; vertical-align: 0;}
:root .knopfreihe{display: flex; flex-wrap: wrap; gap: 12px;}
:root .knopf{--bg: var(--blau); --fg: #fff; display: inline-flex; align-items: center; gap: .6em; min-height: 52px; padding: 0 24px; border-radius: var(--radius); border: 1.5px solid var(--bg); background: var(--bg); color: var(--fg); font-weight: 600; font-size: .98rem; text-decoration: none; cursor: pointer; transition: background .25s, border-color .25s, color .25s, transform .3s var(--kurve); white-space: nowrap;}
:root .knopf .i{width: 18px; height: 18px; transition: transform .3s var(--kurve);}
:root .knopf:hover .i:last-child{transform: translateX(3px);}
:root .knopf--blau{--bg: var(--blau);}
:root .knopf--blau:hover{--bg: var(--blau-tief);}
:root .knopf--rot{--bg: var(--rot);}
:root .knopf--rot:hover{--bg: var(--rot-tief);}
:root .knopf--weiss{--bg: #fff; --fg: var(--ink);}
:root .knopf--weiss:hover{--bg: var(--surface-2);}
:root .knopf--rahmen{--bg: transparent; --fg: var(--ink); border-color: var(--ink);}
:root .knopf--rahmen:hover{--bg: var(--ink); --fg: #fff;}
:root .knopf--glas{--bg: transparent; border-color: rgba(255, 255, 255, .6);}
:root .knopf--glas:hover{--bg: #fff; --fg: var(--ink); border-color: #fff;}
:root .textlink{display: inline-flex; align-items: center; gap: .45em; font-weight: 600; color: var(--ink); text-decoration: none; border-bottom: 2px solid var(--rot); padding-bottom: 3px;}
:root .textlink .i{width: 18px; height: 18px; transition: transform .3s var(--kurve);}
:root .textlink:hover .i{transform: translateX(4px);}
:root .textlink--hell{color: #fff;}
:root .puls{position: relative; width: 8px; height: 8px; border-radius: 50%; background: var(--rot); flex: none;}
:root .puls::after{content: ""; position: absolute; inset: -5px; border-radius: 50%; border: 2px solid var(--rot); opacity: 0; animation: puls 2s var(--kurve) infinite;}
@keyframes puls{ 0% { transform: scale(.4); opacity: .9; } 100% { transform: scale(1.5); opacity: 0; } }
:root .liste-haken{list-style: none; padding: 0; margin: 0 0 2rem; display: grid; gap: .65rem;}
:root .liste-haken :is(li,:where(.t-li)){position: relative; padding-left: 1.9rem; color: var(--ink-2);}
:root .liste-haken :is(li,:where(.t-li))::before{content: ""; position: absolute; left: 0; top: .3em; width: 1.15rem; height: 1.15rem; border-radius: 50%; background: var(--blau) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4L18 8'/%3E%3C/svg%3E") center / 66% no-repeat;}
:root .kopf{position: fixed; inset: 0 0 auto; z-index: 50;}
:root .kopf__info{height: var(--info-h); background: var(--navy); color: var(--on-navy-2); font-size: .8rem; overflow: hidden; transition: height .4s var(--kurve);}
:root .kopf__info-innen{height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 24px;}
:root .kopf__info-rechts{display: flex; gap: 24px;}
:root .kopf__info a{display: inline-flex; align-items: center; gap: 7px; text-decoration: none; transition: color .2s;}
:root .kopf__info a:hover{color: #fff;}
:root .kopf__info .i{width: 14px; height: 14px;}
:root .kopf__leiste{background: #fff; border-bottom: 1px solid var(--line); transition: box-shadow .3s;}
:root .kopf__leiste-innen{height: var(--leiste-h); display: flex; align-items: center; gap: 32px; transition: height .4s var(--kurve);}
:root .kopf__logo{display: block; flex: none;}
:root .kopf__logo img{height: 80px; width: auto; transition: height .4s var(--kurve);}
:root .kopf__notdienst{display: inline-flex; align-items: center; gap: 12px; padding: 0 20px 0 16px; height: 50px; border-radius: var(--radius); background: var(--rot); color: #fff; text-decoration: none; font-weight: 700; font-size: 1.02rem; letter-spacing: -.01em; line-height: 1.1; font-variant-numeric: tabular-nums; transition: background .25s;}
:root .kopf__notdienst:hover{background: var(--rot-tief);}
:root .kopf__notdienst .i{width: 20px; height: 20px;}
:root .kopf__notdienst :is(small,:where(.t-small)){display: block; font-size: .66rem; letter-spacing: .1em; text-transform: uppercase; font-weight: 600; opacity: .85;}
:root .kopf__anruf{display: none; width: 46px; height: 46px; border-radius: var(--radius); border: 0; place-items: center; cursor: pointer;}
:root .kopf__anruf{background: var(--rot); color: #fff; margin-left: auto;}
:root .kopf__anruf .i{width: 22px; height: 22px;}
:root .kopf--klein .kopf__info{height: 0;}
:root .kopf--klein .kopf__leiste{box-shadow: 0 10px 30px -20px rgba(11, 23, 38, .45);}
:root .kopf--klein .kopf__leiste-innen{height: 74px;}
:root .kopf--klein .kopf__logo img{height: 60px;}
:root .hero{position: relative; background: var(--navy); color: #fff;}
:root .hero__buehne{position: relative; height: 100vh; height: 100svh; min-height: 640px; max-height: 1100px; overflow: hidden;}
:root .hero__video{position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;}
:root .hero__schleier{position: absolute; inset: 0; background:
  linear-gradient(90deg, rgba(8, 20, 38, .88) 0%, rgba(8, 20, 38, .6) 45%, rgba(8, 20, 38, .25) 75%, rgba(8, 20, 38, .15) 100%),
  linear-gradient(180deg, rgba(8, 20, 38, .3) 0%, rgba(8, 20, 38, 0) 30%, rgba(8, 20, 38, .1) 60%, rgba(8, 20, 38, .75) 100%);}
:root .hero__kapitel{position: absolute; left: 0; right: 0; margin-inline: auto; width: 100%; max-width: calc(var(--wrap) + 2 * var(--rand)); padding-inline: var(--rand);}
:root .hero__kapitel--start{bottom: clamp(70px, 12vh, 130px);}
:root .hero__kapitel--start > *,:root .hero__kapitel--start > .elementor-element > *{animation: auftritt 1.1s var(--kurve) both;}
:root .hero__kapitel--start > :nth-child(2),:root .hero__kapitel--start > .elementor-element > :nth-child(2){animation-delay: .08s;}
:root .hero__kapitel--start > :nth-child(3),:root .hero__kapitel--start > .elementor-element > :nth-child(3){animation-delay: .16s;}
:root .hero__kapitel--start > :nth-child(4),:root .hero__kapitel--start > .elementor-element > :nth-child(4){animation-delay: .24s;}
@keyframes auftritt{ from { opacity: 0; transform: translateY(26px); } }
:root .hero__kapitel--start h1{font-size: clamp(2.4rem, 4.7vw, 4.5rem); max-width: 15ch; margin-bottom: 1.4rem; letter-spacing: -.035em; line-height: 1.02;}
:root .hero__kapitel--start h1 .akzent{display: block; text-shadow: 0 2px 30px rgba(8, 20, 38, .6);}
:root .hero__kapitel--start h1 .eyebrow{display: flex; margin-bottom: 1.2rem; font-family: var(--schrift); line-height: 1.4; letter-spacing: .16em;}
:root .hero__zeile{max-width: 58ch; color: rgba(255, 255, 255, .85); font-size: clamp(.95rem, 1.1vw, 1.02rem); margin-bottom: 2rem;}
:root .hero__hinweis{position: absolute; left: 50%; bottom: 22px; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; gap: 8px; margin: 0; font-size: .68rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: rgba(255, 255, 255, .7); text-decoration: none;}
:root .hero__hinweis :is(span,:where(.t-span)){width: 1px; height: 34px; background: linear-gradient(rgba(255, 255, 255, 0), #fff); animation: hinweis 2.2s var(--kurve) infinite; transform-origin: top;}
@keyframes hinweis{ 0% { transform: scaleY(0); } 50% { transform: scaleY(1); transform-origin: top; } 51% { transform-origin: bottom; } 100% { transform: scaleY(0); transform-origin: bottom; } }
:root .abschnitt{padding-block: var(--abstand); position: relative;}
:root .abschnitt--hell{background: var(--bg);}
:root .abschnitt--papier{background: var(--surface);}
:root .abschnitt--dunkel{background: var(--navy); color: var(--on-navy);}
:root .abschnitt--dunkel :is(p,:where(.t-p)){color: var(--on-navy-2);}
:root .kopfzeile-abschnitt{display: grid; grid-template-columns: 1.3fr 1fr; gap: clamp(24px, 5vw, 80px); align-items: end; margin-bottom: clamp(40px, 5.5vw, 68px);}
:root .kopfzeile-abschnitt > :is(p,:where(.t-p)),:root .kopfzeile-abschnitt > .elementor-element > :is(p,:where(.t-p)){margin: 0; font-size: 1rem; color: var(--ink-2);}
:root .abschnitt--dunkel .kopfzeile-abschnitt > :is(p,:where(.t-p)),:root .abschnitt--dunkel .kopfzeile-abschnitt > .elementor-element > :is(p,:where(.t-p)){color: var(--on-navy-2);}
:root .kopfzeile-abschnitt h2{max-width: 20ch;}
:root .intro{display: grid; grid-template-columns: 1fr 1fr; gap: clamp(48px, 7vw, 110px); align-items: center;}
:root .intro h2{margin-bottom: 1.5rem;}
:root .intro__text > :is(p,:where(.t-p)):not(.gross):not(.eyebrow),:root .intro__text > .elementor-element > :is(p,:where(.t-p)):not(.gross):not(.eyebrow){color: var(--ink-2);}
:root .intro__bild{position: relative; margin: 0; aspect-ratio: 1 / 1;}
:root .intro__bild .bild{position: absolute; inset: 0; overflow: hidden; border-radius: var(--radius); box-shadow: var(--schatten);}
:root .intro__bild .bild img{width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%;}
:root .intro__bild :is(figcaption,:where(.t-figcaption)){position: absolute; left: 20px; bottom: 20px; right: 20px; padding: 14px 18px; border-radius: var(--radius); background: rgba(255, 255, 255, .94); color: var(--ink); font-size: .88rem; font-weight: 600; box-shadow: var(--schatten);}
:root .fakten{list-style: none; padding: 0; margin: clamp(60px, 7vw, 96px) 0 0; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line);}
:root .fakten :is(li,:where(.t-li)){display: grid; gap: 2px; padding: 28px 24px 0 0;}
:root .fakten :is(li,:where(.t-li)) + :is(li,:where(.t-li)){padding-left: 24px; border-left: 1px solid var(--line);}
:root .fakten .i{width: 26px; height: 26px; color: var(--blau); margin-bottom: 14px;}
:root .fakten :is(strong,:where(.t-strong)){font-size: 1.05rem; font-weight: 600; letter-spacing: -.01em;}
:root .fakten :is(span,:where(.t-span)){color: var(--ink-3); font-size: .92rem;}
:root .fakten--rot .i{color: var(--rot);}
:root .leistungsraster{display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px;}
:root .leistungskachel{position: relative; display: flex; flex-direction: column; border-radius: var(--radius); overflow: hidden; background: var(--navy-2); border: 1px solid rgba(255, 255, 255, .08); text-decoration: none; color: #fff; transition: transform .45s var(--kurve), border-color .3s, background .3s;}
:root .leistungskachel:hover,:root .leistungskachel:focus-visible{transform: translateY(-4px); border-color: rgba(255, 255, 255, .28); background: var(--navy-3);}
:root .leistungskachel__bild{position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden;}
:root .leistungskachel__bild img{width: 100%; height: 100%; object-fit: cover; opacity: .82; transition: transform .9s var(--kurve), opacity .4s;}
:root .leistungskachel:hover .leistungskachel__bild img{transform: scale(1.06); opacity: 1;}
:root .leistungskachel__inhalt{display: flex; flex-direction: column; gap: 8px; flex: 1; padding: 18px 18px 20px;}
:root .leistungskachel__kopf{display: flex; align-items: center; justify-content: space-between;}
:root .leistungskachel__kopf .i{width: 22px; height: 22px; color: var(--blau-hell);}
:root .leistungskachel__kopf .nr{font-size: .74rem; font-weight: 600; color: rgba(255, 255, 255, .4); font-variant-numeric: tabular-nums;}
:root .leistungskachel__titel{font-family: var(--titelschrift); font-size: 1.08rem; font-weight: 700; line-height: 1.25; letter-spacing: -.015em; hyphens: auto; -webkit-hyphens: auto; overflow-wrap: break-word;}
:root .leistungskachel__titel .marke-neu{vertical-align: .15em;}
:root .leistungskachel__text{font-size: .88rem; line-height: 1.5; color: var(--on-navy-2);}
:root .leistungskachel__mehr{display: inline-flex; align-items: center; gap: 6px; margin-top: auto; padding-top: 6px; font-size: .84rem; font-weight: 600; color: #fff;}
:root .leistungskachel__mehr .i{width: 16px; height: 16px; color: #ff8a80; transition: transform .3s var(--kurve);}
:root .leistungskachel:hover .leistungskachel__mehr .i{transform: translateX(4px);}
:root .leistungskachel--rot{background: var(--rot); border-color: var(--rot);}
:root .leistungskachel--rot:hover,:root .leistungskachel--rot:focus-visible{background: var(--rot-tief); border-color: var(--rot-tief);}
:root .leistungskachel--rot .leistungskachel__kopf .i,:root .leistungskachel--rot .leistungskachel__mehr .i{color: #fff;}
:root .leistungskachel--rot .leistungskachel__kopf .nr,:root .leistungskachel--rot .leistungskachel__text{color: rgba(255, 255, 255, .85);}
:root .weiteres{margin: 40px 0 0; display: flex; flex-wrap: wrap; gap: 14px; align-items: center; font-size: 1rem;}
:root .kern{background: var(--surface);}
:root .kern__raster{display: grid; grid-template-columns: 1.1fr 1fr; grid-template-areas: "gross text"; gap: clamp(40px, 6vw, 96px); align-items: center;}
:root .kern__bild{margin: 0; overflow: hidden; border-radius: var(--radius); box-shadow: var(--schatten);}
:root .kern__bild img{width: 100%; height: 100%; object-fit: cover;}
:root .kern__bild--gross{grid-area: gross; aspect-ratio: 4 / 4.2;}
:root .kern__bild--gross img{object-position: 62% 50%;}
:root .kern__text{grid-area: text;}
:root .kern__text h2{margin-bottom: 1.3rem;}
:root .karten3{display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;}
:root .karte{background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: clamp(28px, 3vw, 40px); transition: transform .45s var(--kurve), box-shadow .45s var(--kurve), border-color .3s;}
:root .karte:hover{transform: translateY(-4px); box-shadow: var(--schatten); border-color: transparent;}
:root .karte__icon{width: 44px; height: 44px; padding: 10px; border-radius: var(--radius); background: var(--surface); color: var(--blau); margin-bottom: 24px;}
:root .karte h3{margin-bottom: .6rem; font-size: 1.28rem;}
:root .karte :is(p,:where(.t-p)){margin: 0; color: var(--ink-2);}
:root .ablauf__raster{display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(40px, 7vw, 110px); align-items: start;}
:root .ablauf__kopf{position: sticky; top: calc(var(--leiste-h) + 48px);}
:root .ablauf__kopf h2{margin-bottom: 1.3rem;}
:root .ablauf__kopf :is(p,:where(.t-p)){color: var(--ink-2); font-size: 1rem;}
:root .schritte{list-style: none; padding: 0; margin: 0;}
:root .schritte :is(li,:where(.t-li)){display: grid; grid-template-columns: 72px 1fr; gap: 20px; padding: 32px 0; border-top: 1px solid var(--line);}
:root .schritte :is(li,:where(.t-li)):last-child:not(:where(.elementor-widget:not(:last-child) > *, .elementor-widget:not(:last-child) > .elementor-widget-container > *)){border-bottom: 1px solid var(--line);}
:root .schritte__nr{font-size: 2.3rem; font-weight: 500; line-height: 1; letter-spacing: -.04em; color: var(--blau); font-variant-numeric: tabular-nums;}
:root .schritte h3{font-size: 1.25rem; margin-bottom: .45rem;}
:root .schritte :is(p,:where(.t-p)){margin: 0; color: var(--ink-2);}
:root .notdienst{position: relative; background: var(--rot); color: #fff; padding-block: clamp(56px, 7vw, 88px); overflow: hidden;}
:root .notdienst::before{content: ""; position: absolute; inset: 0; background: radial-gradient(80% 140% at 100% 0%, rgba(255, 255, 255, .16), transparent 60%), radial-gradient(60% 120% at 0% 100%, rgba(120, 0, 0, .3), transparent 60%);}
:root .notdienst__innen{position: relative; display: grid; grid-template-columns: 1.3fr 1fr; gap: 40px; align-items: center;}
:root .notdienst .eyebrow{color: #fff;}
:root .notdienst .puls{background: #fff;}
:root .notdienst .puls::after{border-color: #fff;}
:root .notdienst h2{font-size: clamp(1.75rem, 2.9vw, 2.6rem); margin-bottom: 1rem;}
:root .notdienst :is(p,:where(.t-p)){margin: 0; color: rgba(255, 255, 255, .9); font-size: 1rem;}
:root .notdienst__nummern{display: grid; gap: 12px;}
:root .notdienst__nummern a{display: flex; flex-direction: column; padding: 18px 24px; border-radius: var(--radius); background: rgba(0, 0, 0, .15); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .3); color: #fff; text-decoration: none; font-size: clamp(1.5rem, 2.4vw, 2rem); font-weight: 600; letter-spacing: -.02em; line-height: 1.15; font-variant-numeric: tabular-nums; transition: background .3s, color .3s;}
:root .notdienst__nummern a:hover{background: #fff; color: var(--rot);}
:root .notdienst__nummern :is(small,:where(.t-small)){font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; opacity: .85;}
:root .kontakt__raster{display: grid; grid-template-columns: 1fr 1.25fr; gap: clamp(40px, 6vw, 96px); align-items: start;}
:root .kontakt__info h2{margin-bottom: 1.2rem;}
:root .kontaktliste{list-style: none; padding: 0; margin: 2rem 0 0; display: grid;}
:root .kontaktliste :is(li,:where(.t-li)){display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; padding: 14px 0; border-bottom: 1px solid var(--line);}
:root .kontaktliste :is(li,:where(.t-li)):first-child:not(:where(.elementor-widget:not(:first-child) > *, .elementor-widget:not(:first-child) > .elementor-widget-container > *)){border-top: 1px solid var(--line);}
:root .kontaktliste .i{color: var(--blau);}
:root .kontaktliste a{font-weight: 600; text-decoration: none; font-size: 1rem; font-variant-numeric: tabular-nums;}
:root .kontaktliste a:hover{color: var(--blau);}
:root .kontaktliste :is(small,:where(.t-small)){color: var(--ink-3); margin-left: auto;}
:root .seitenkopf{position: relative; padding: calc(var(--info-h) + var(--leiste-h) + clamp(60px, 9vw, 120px)) 0 clamp(52px, 7vw, 92px); background: var(--navy); color: #fff; overflow: hidden; isolation: isolate;}
:root .seitenkopf__bild{position: absolute; inset: 0; z-index: -1;}
:root .seitenkopf__bild img{width: 100%; height: 100%; object-fit: cover; opacity: .5;}
:root .seitenkopf__bild::after{content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(11, 31, 56, .96) 0%, rgba(11, 31, 56, .7) 55%, rgba(11, 31, 56, .35));}
:root .seitenkopf h1{font-size: clamp(2.4rem, 4.7vw, 4.2rem); max-width: 15ch; margin-bottom: 1.3rem; letter-spacing: -.035em; line-height: 1.03;}
:root .seitenkopf :is(p,:where(.t-p)){max-width: 58ch; color: var(--on-navy-2); font-size: 1.04rem;}
:root .seitenkopf--schlicht{padding-bottom: clamp(44px, 6vw, 72px);}
:root .seitenkopf--schlicht h1{font-size: clamp(2.2rem, 4vw, 3.5rem);}
:root .sprungnav{display: flex; flex-wrap: wrap; gap: 8px; margin-top: 2.2rem;}
:root .sprungnav a{padding: 8px 15px; border-radius: var(--radius); font-size: .88rem; font-weight: 500; text-decoration: none; border: 1px solid rgba(255, 255, 255, .25); transition: background .25s, color .25s, border-color .25s;}
:root .sprungnav a:hover{background: #fff; color: var(--ink); border-color: #fff;}
:root .leistung{display: grid; grid-template-columns: 1fr 1fr; gap: clamp(36px, 6vw, 100px); align-items: center; padding-block: clamp(56px, 7vw, 96px); border-bottom: 1px solid var(--line);}
:root .leistung:nth-child(even) .leistung__bild{order: 2;}
:root .leistung__bild{position: relative; margin: 0; aspect-ratio: 4 / 3; border-radius: var(--radius); overflow: hidden; box-shadow: var(--schatten); background: var(--surface);}
:root .leistung__bild img{width: 100%; height: 100%; object-fit: cover;}
:root .leistung__bild--hoch img{object-position: 50% 35%;}
:root .leistung__nr{display: flex; align-items: center; gap: 14px; margin-bottom: 1.1rem; font-size: .8rem; font-weight: 700; letter-spacing: .14em; color: var(--ink-3); font-variant-numeric: tabular-nums;}
:root .leistung__nr .i{width: 42px; height: 42px; padding: 10px; border-radius: var(--radius); background: var(--surface); color: var(--blau);}
:root .leistung h2{font-size: clamp(1.75rem, 2.6vw, 2.3rem); margin-bottom: 1.1rem;}
:root .leistung :is(p,:where(.t-p)){color: var(--ink-2); font-size: 1rem;}
:root .leistung .liste-haken{margin-top: 1.4rem;}
:root .leistung--notdienst{grid-template-columns: 1fr;}
:root .bad-mehr{grid-column: 1 / -1; display: grid; gap: clamp(32px, 4vw, 52px);}
:root .bad-mehr__bilder{display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px;}
:root .bad-mehr__bilder :is(figure,:where(.t-figure)){margin: 0;}
:root .bad-mehr__bilder img{display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--radius); box-shadow: var(--schatten);}
:root .bad-mehr__bilder :is(figcaption,:where(.t-figcaption)){margin-top: 10px; font-size: .88rem; color: var(--ink-3);}
:root .bad-mehr__spalten{display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 5vw, 80px);}
:root .bad-mehr h3{font-size: 1.15rem; margin-bottom: .8rem;}
:root .bad-mehr :is(p,:where(.t-p)) + h3{margin-top: 1.8rem;}
:root .bad-mehr :is(p,:where(.t-p)) a{color: var(--blau); font-weight: 600;}
:root .leistung__notfall{display: grid; grid-template-columns: 1.2fr 1fr; gap: 40px; align-items: center; padding: clamp(32px, 5vw, 64px); border-radius: var(--radius); background: var(--rot); color: #fff;}
:root .leistung__notfall :is(p,:where(.t-p)),:root .leistung__notfall .leistung__nr{color: rgba(255, 255, 255, .9);}
:root .leistung__notfall .leistung__nr .i{background: rgba(255, 255, 255, .18); color: #fff;}
:root .seitenkopf__knoepfe{margin-top: 2rem;}
:root .nummernpaar{display: grid; grid-template-columns: repeat(2, max-content); gap: 14px; margin-top: 2.2rem;}
:root .nummernpaar__karte{display: flex; align-items: center; gap: 16px; padding: 18px 22px; border-radius: var(--radius); background: rgba(255, 255, 255, .05); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .22); color: #fff; text-decoration: none; transition: background .3s, box-shadow .3s;}
:root .nummernpaar__karte:hover,:root .nummernpaar__karte:focus-visible{background: rgba(255, 255, 255, .1); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .55);}
:root .nummernpaar__icon{display: grid; place-items: center; width: 46px; height: 46px; flex: none; border-radius: var(--radius); background: var(--rot);}
:root .nummernpaar__icon .i{width: 20px; height: 20px;}
:root .nummernpaar :is(small,:where(.t-small)){display: block; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; color: var(--on-navy-2);}
:root .nummernpaar :is(strong,:where(.t-strong)){display: block; font-size: clamp(1.2rem, 1.8vw, 1.45rem); font-weight: 600; letter-spacing: -.02em; line-height: 1.2; font-variant-numeric: tabular-nums; white-space: nowrap;}
:root .einsatzgebiet{border-top: 1px solid var(--line);}
:root .einsatzgebiet__innen{display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(32px, 6vw, 96px); align-items: center;}
:root .einsatzgebiet__innen :is(p,:where(.t-p)):last-child:not(:where(.elementor-widget:not(:last-child) > *, .elementor-widget:not(:last-child) > .elementor-widget-container > *)){color: var(--ink-2); margin: 0;}
:root .einsatzgebiet__orte{list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px;}
:root .einsatzgebiet__orte :is(li,:where(.t-li)){display: flex; align-items: center; gap: 10px; padding: 14px 16px; border-radius: var(--radius); background: var(--surface); font-weight: 600; font-size: .98rem;}
:root .einsatzgebiet__orte :is(li,:where(.t-li)):first-child:not(:where(.elementor-widget:not(:first-child) > *, .elementor-widget:not(:first-child) > .elementor-widget-container > *)){background: var(--navy); color: #fff;}
:root .einsatzgebiet__orte .i{width: 18px; height: 18px; flex: none; color: var(--blau);}
:root .einsatzgebiet__orte :is(li,:where(.t-li)):first-child:not(:where(.elementor-widget:not(:first-child) > *, .elementor-widget:not(:first-child) > .elementor-widget-container > *)) .i{color: var(--blau-hell);}
:root .notfall{display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: clamp(32px, 6vw, 96px); align-items: start;}
:root .notfall h2{margin-bottom: 1.6rem;}
:root .notfall__gas{padding: clamp(24px, 3vw, 36px); border-radius: var(--radius); background: #fff; border-left: 4px solid var(--rot); box-shadow: var(--schatten);}
:root .notfall__gas h3{margin-bottom: .6rem;}
:root .notfall__gas :is(p,:where(.t-p)):last-child:not(:where(.elementor-widget:not(:last-child) > *, .elementor-widget:not(:last-child) > .elementor-widget-container > *)){margin: 0; color: var(--ink-2);}
:root .notdienst__mehr{margin-top: 1.4rem;}
:root .leistung__weitere{padding-block: clamp(56px, 7vw, 96px); text-align: center;}
:root .leistung__weitere h2{margin-bottom: 1rem;}
:root .leistung__weitere :is(p,:where(.t-p)){color: var(--ink-2); margin-bottom: 2rem;}
:root .leistung__weitere .knopfreihe{justify-content: center;}
:root .wer-wir-sind{display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(40px, 6vw, 96px); align-items: center;}
:root .wer-wir-sind__bild{margin: 0;}
:root .wer-wir-sind__bild img{width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--radius); box-shadow: var(--schatten);}
:root .wer-wir-sind__bild :is(figcaption,:where(.t-figcaption)){margin-top: 14px; font-size: .88rem; font-weight: 600; color: var(--ink-2);}
:root .wer-wir-sind__text h2{margin-bottom: 1.4rem;}
:root .wer-wir-sind__text :is(p,:where(.t-p)):not(.gross):not(.eyebrow){color: var(--ink-2);}
:root .personen{display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; margin-top: clamp(48px, 6vw, 80px);}
:root .person{padding: 32px; border-radius: var(--radius); background: var(--surface);}
:root .person h3{font-size: 1.45rem; margin-bottom: .25rem;}
:root .person :is(p,:where(.t-p)){color: var(--ink-2); margin-bottom: 1.2rem;}
:root .person a{display: inline-flex; align-items: center; gap: 10px; font-size: 1.08rem; font-weight: 600; text-decoration: none; color: var(--blau); font-variant-numeric: tabular-nums;}
:root .werte{display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255, 255, 255, .14); margin-top: 48px;}
:root .werte > div:not(:where(.elementor-widget,.elementor-widget-container,.elementor-heading-title,.elementor)),:root .werte > .elementor-element > div:not(:where(.elementor-widget,.elementor-widget-container,.elementor-heading-title,.elementor)){padding: 36px 32px 8px 0;}
:root .werte > div:not(:where(.elementor-widget,.elementor-widget-container,.elementor-heading-title,.elementor)) + div:not(:where(.elementor-widget,.elementor-widget-container,.elementor-heading-title,.elementor)),:root .werte > .elementor-element > div:not(:where(.elementor-widget,.elementor-widget-container,.elementor-heading-title,.elementor)) + div:not(:where(.elementor-widget,.elementor-widget-container,.elementor-heading-title,.elementor)){padding-left: 32px; border-left: 1px solid rgba(255, 255, 255, .14);}
:root .werte .i{width: 30px; height: 30px; padding: 6px; border: 1px solid rgba(255, 255, 255, .25); border-radius: 50%; color: #fff; margin-bottom: 20px;}
:root .werte h3{margin-bottom: .5rem;}
:root .werte :is(p,:where(.t-p)){margin: 0;}
:root .zitat{margin: 0; text-align: center; padding-block: var(--abstand); padding-inline: var(--rand); background: var(--surface);}
:root .zitat :is(blockquote,:where(.t-blockquote)){margin: 0 auto; max-width: 22ch; font-size: clamp(1.8rem, 3.8vw, 3.1rem); font-weight: 500; line-height: 1.12; letter-spacing: -.03em; color: var(--ink);}
:root .zitat :is(figcaption,:where(.t-figcaption)){margin-top: 1.4rem; font-size: .76rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--rot);}
:root .netzwerk__text{max-width: 62ch; margin-top: 1rem;}
:root .netzwerk{display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 40px;}
:root .netzwerk a{display: flex; flex-direction: column; gap: 6px; padding: 24px; border-radius: var(--radius); border: 1px solid var(--line); text-decoration: none; transition: border-color .3s, transform .4s var(--kurve);}
:root .netzwerk a:hover{border-color: var(--blau); transform: translateY(-3px);}
:root .netzwerk :is(strong,:where(.t-strong)){font-size: 1.04rem; font-weight: 600;}
:root .netzwerk :is(span,:where(.t-span)){color: var(--ink-3); font-size: .9rem;}
:root .kontaktkarten{display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: clamp(56px, 7vw, 96px);}
:root .kontaktkarte{display: flex; flex-direction: column; gap: 4px; padding: 28px; border-radius: var(--radius); background: var(--surface); text-decoration: none; transition: transform .4s var(--kurve), box-shadow .4s;}
:root .kontaktkarte:hover{transform: translateY(-4px); box-shadow: var(--schatten);}
:root .kontaktkarte .i{width: 28px; height: 28px; color: var(--blau); margin-bottom: 14px;}
:root .kontaktkarte :is(small,:where(.t-small)){color: var(--ink-3); font-weight: 500;}
:root .kontaktkarte :is(strong,:where(.t-strong)){font-size: 1.25rem; font-weight: 600; letter-spacing: -.015em; overflow-wrap: anywhere; font-variant-numeric: tabular-nums;}
:root .kontaktkarte--rot{background: var(--rot); color: #fff;}
:root .kontaktkarte--rot .i,:root .kontaktkarte--rot :is(small,:where(.t-small)){color: rgba(255, 255, 255, .9);}
:root .recht{max-width: 820px;}
:root .recht h2{font-size: clamp(1.3rem, 2vw, 1.6rem); margin: 3rem 0 1rem;}
:root .recht h3{font-size: 1.04rem; margin: 2rem 0 .6rem;}
:root .recht :is(p,:where(.t-p)),:root .recht :is(li,:where(.t-li)){color: var(--ink-2);}
:root .recht :is(ul,:where(.t-ul)){padding-left: 1.2rem;}
:root .recht a{color: var(--blau);}
:root .recht .stand{color: var(--ink-3); font-size: .9rem; margin-top: 3rem;}
:root .fuss{background: var(--navy); color: var(--on-navy-2); padding-top: clamp(64px, 8vw, 104px); font-size: .95rem;}
:root .fuss__oben{display: grid; grid-template-columns: 1.3fr 1fr .8fr 1fr; gap: 40px; padding-bottom: 56px;}
:root .fuss__marke img{width: 170px; padding: 16px 18px; background: #fff; border-radius: var(--radius); margin-bottom: 22px;}
:root .fuss__marke :is(p,:where(.t-p)){max-width: 30ch;}
:root .fuss h2{font-size: .74rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: #fff; margin-bottom: 18px; line-height: 1.4;}
:root .fuss :is(ul,:where(.t-ul)){list-style: none; padding: 0; margin: 0; display: grid; gap: 8px;}
:root .fuss a{text-decoration: none; transition: color .2s;}
:root .fuss a:hover{color: #fff;}
:root .fuss :is(address,:where(.t-address)){margin-bottom: 1em;}
:root .fuss .leise{color: rgba(255, 255, 255, .45);}
:root .fuss__unten{display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding-block: 26px; border-top: 1px solid rgba(255, 255, 255, .12); font-size: .85rem;}
:root.js [data-auftritt]{opacity: 0; translate: 0 12px; transition: opacity var(--auftritt-dauer, .55s) cubic-bezier(.22, .61, .36, 1), translate var(--auftritt-dauer, .55s) cubic-bezier(.22, .61, .36, 1);}
:root.js [data-auftritt].ist-da{opacity: 1; translate: none;}
@media (max-width: 1200px){
:root .kopf__leiste-innen{gap: 20px;}
}
@media (max-width: 1024px){
:root{--leiste-h: 76px; --info-h: 0px;}
:root .kopf__info{display: none;}
:root .kopf__notdienst{display: none;}
:root .kopf__anruf{display: grid;}
:root .kopf__leiste-innen{gap: 10px;}
:root .kopf__logo img,:root .kopf--klein .kopf__logo img{height: 58px;}
:root .kopf--klein .kopf__leiste-innen{height: 70px;}
:root .kopfzeile-abschnitt,:root .intro,:root .ablauf__raster,:root .kontakt__raster,:root .notdienst__innen,:root .wer-wir-sind,:root .notfall,:root .leistung,:root .leistung__notfall{grid-template-columns: 1fr;}
:root .leistungsraster{grid-template-columns: repeat(2, 1fr);}
:root .ablauf__kopf{position: static;}
:root .fakten{grid-template-columns: repeat(2, 1fr);}
:root .fakten :is(li,:where(.t-li)):nth-child(3){padding-left: 0; border-left: 0;}
:root .fakten :is(li,:where(.t-li)){padding-bottom: 24px;}
:root .kern__raster{grid-template-columns: 1fr; grid-template-areas: "gross" "text";}
:root .kern__bild--gross{aspect-ratio: 16 / 10;}
:root .leistung:nth-child(even) .leistung__bild{order: 0;}
:root .fuss__oben{grid-template-columns: 1fr 1fr;}
:root .netzwerk{grid-template-columns: repeat(2, 1fr);}
:root .intro__bild{aspect-ratio: 1 / 1; max-width: 560px;}
:root .wer-wir-sind__bild{max-width: 460px;}
:root .werte{grid-template-columns: 1fr;}
:root .werte > div:not(:where(.elementor-widget,.elementor-widget-container,.elementor-heading-title,.elementor)),:root .werte > .elementor-element > div:not(:where(.elementor-widget,.elementor-widget-container,.elementor-heading-title,.elementor)),:root .werte > div:not(:where(.elementor-widget,.elementor-widget-container,.elementor-heading-title,.elementor)) + div:not(:where(.elementor-widget,.elementor-widget-container,.elementor-heading-title,.elementor)),:root .werte > .elementor-element > div:not(:where(.elementor-widget,.elementor-widget-container,.elementor-heading-title,.elementor)) + div:not(:where(.elementor-widget,.elementor-widget-container,.elementor-heading-title,.elementor)){padding: 28px 0; border-left: 0; border-bottom: 1px solid rgba(255, 255, 255, .14);}
}
@media (max-width: 767px){
:root body{font-size: 15px;}
:root .hero__kapitel--start{bottom: 48px;}
:root .hero__kapitel--start h1{font-size: clamp(2.1rem, 9.4vw, 2.9rem);}
:root .hero__zeile{font-size: .9rem;}
:root .hero__kapitel--start .knopfreihe .knopf{flex: 1 1 100%; justify-content: center;}
:root .leistungsraster{grid-template-columns: 1fr 1fr; gap: 10px;}
:root .leistungskachel__inhalt{padding: 14px 14px 16px;}
:root .leistungskachel__text{display: none;}
:root .leistungskachel__titel{font-size: .98rem;}
:root .karten3,:root .personen,:root .kontaktkarten,:root .fuss__oben,:root .nummernpaar,:root .einsatzgebiet__innen{grid-template-columns: 1fr;}
:root .bad-mehr__spalten{grid-template-columns: 1fr;}
:root .bad-mehr__bilder{gap: 8px;}
:root .bad-mehr__bilder :is(figcaption,:where(.t-figcaption)){font-size: .78rem;}
:root .einsatzgebiet__orte{grid-template-columns: repeat(2, minmax(0, 1fr));}
:root .fakten{grid-template-columns: 1fr;}
:root .fakten :is(li,:where(.t-li)),:root .fakten :is(li,:where(.t-li)) + :is(li,:where(.t-li)){padding: 18px 0; border-left: 0; border-bottom: 1px solid var(--line);}
:root .schritte :is(li,:where(.t-li)){grid-template-columns: 56px 1fr;}
:root .schritte__nr{font-size: 1.8rem;}
:root .netzwerk{grid-template-columns: 1fr;}
:root .fuss__unten{flex-direction: column;}
}
@media (prefers-reduced-motion: reduce){
:root *,:root *::before,:root *::after{animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important;}
:root.js [data-auftritt]{opacity: 1; translate: none; transition: none;}
}

/* ---------------------------------------------------------------- Ergänzungen für WordPress */
/* Frühere Inline-Stile der Vorschau als Klassen (Elementor → Erweitert → CSS-Klassen) */
:root .abschnitt--eng-oben{padding-top:clamp(40px,6vw,72px)}
:root .ohne-abstand-oben,:root .ohne-abstand-oben>.elementor-heading-title{margin-top:0}
/* Links im Fließtext unterstrichen wie in der Vorschau (Elementor setzt Links sonst ohne Unterstreichung) */
:root main .elementor-widget-text-editor a:not([class]),:root main .faq__liste a:not([class]){text-decoration:underline;text-underline-offset:2px}
/* Rechtstexte ohne Elementor (Rückfall-Vorlage) */
.rechtstext{max-width:820px}
.rechtstext h2{font-size:clamp(1.3rem,2vw,1.6rem);margin:2.4rem 0 .8rem}
/* Bad-Seite: Abstand vor Zwischenüberschriften (Vorschau: p + h3, hier liegen beide in eigenen Widgets) */
:root .bad-mehr .elementor-widget-text-editor + .elementor-widget-heading :is(h3){margin-top:1.8rem}
/* Admin-Leiste (angemeldet): fester Kopf rückt darunter */
.admin-bar .kopf{top:32px}
@media (max-width:782px){.admin-bar .kopf{top:46px}}
