/* reinlich.net — Stylesheet der PHP-Website. ERZEUGT von scripts/css-portieren.mjs
   aus statisch/assets/basis.css und den CSS-Modulen unter src/app — nicht von Hand ändern. */

/* Schriften: Instrument Sans + Spline Sans Mono, lokal (aus dem Next-Build übernommen) */
@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(fonts/instrument-sans-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Instrument Sans;font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(fonts/instrument-sans-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Instrument Sans Fallback;src:local(Arial);ascent-override:94.42%;descent-override:24.33%;line-gap-override:0.0%;size-adjust:102.74%}
@font-face{font-family:Spline Sans Mono;font-style:normal;font-weight:300 700;font-display:swap;src:url(fonts/spline-sans-mono-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Spline Sans Mono;font-style:normal;font-weight:300 700;font-display:swap;src:url(fonts/spline-sans-mono-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Spline Sans Mono Fallback;src:local(Arial);ascent-override:71.59%;descent-override:17.57%;line-gap-override:0.0%;size-adjust:134.59%}
:root{--font-sans:"Instrument Sans","Instrument Sans Fallback";--font-mono:"Spline Sans Mono","Spline Sans Mono Fallback"}
.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}

/* Tailwind-Basis (Preflight, Theme, genutzte Utilities) und globals.css — aus dem Next-Build übernommen */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:var(--font-sans);--font-mono:var(--font-mono);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.static{position:static}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-full{height:100%}.min-h-full{min-height:100%}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-col{flex-direction:column}.border{border-style:var(--tw-border-style);border-width:1px}.italic{font-style:italic}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--magenta:#ff9bcd;--tiefschwarz:#131316;--kalkweiss:#f4f2ed;--werkgrau:#74747c;--weiss:#fff;--magenta-tint:#ffe9f5;--magenta-deep:#f272b6;--auf-magenta:var(--tiefschwarz);--funke:#ff5594;--grau-linie:#d9d6cf;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--ease-drawer:cubic-bezier(.32, .72, 0, 1);--background:var(--kalkweiss);--foreground:var(--tiefschwarz)}body{background:var(--background);color:var(--foreground);font-family:var(--font-sans), system-ui, sans-serif;caret-color:var(--magenta)}::selection{background:var(--magenta);color:var(--auf-magenta)}:focus-visible{outline:2px solid var(--magenta);outline-offset:2px}a{text-underline-offset:.2em}*{scrollbar-width:thin;scrollbar-color:var(--werkgrau) transparent}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}

/* ==== editorial.module.css → Präfix "ed-" ==== */
.ed-page {
  background: var(--weiss);
  color: var(--tiefschwarz);
  min-height: 100vh;
  --blass: #cfcdc8; 
  --grau: #6f6f76; 
  font-family: var(--font-sans);
}

.ed-shell {
  max-width: 1440px;
  margin-inline: auto;
  padding-inline: clamp(20px, 4vw, 48px);
}


.ed-loader {
  position: fixed;
  inset: 0;
  z-index: 100;
  background: var(--kalkweiss);
  display: grid;
  place-content: center;
  gap: 18px;
  transition: transform 850ms var(--ease-drawer);
}

.ed-loader[data-hebt] {
  transform: translateY(-100%);
}

.ed-loaderMarke {
  font-weight: 700;
  font-size: clamp(2rem, 5vw, 3.4rem);
  letter-spacing: -0.03em;
  color: var(--tiefschwarz);
  opacity: 0;
  transform: translateY(24px);
  animation: ed-loaderAuf 700ms var(--ease-out) 80ms forwards;
}

.ed-loaderMarke b {
  color: var(--magenta);
}

.ed-loaderZeile {
  height: 2px;
  background: var(--grau-linie);
  position: relative;
  overflow: hidden;
  border-radius: 2px;
}

.ed-loaderZeile::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--magenta);
  transform-origin: left;
  transform: scaleX(0);
  animation: ed-loaderLauf 750ms var(--ease-in-out) 150ms forwards;
}

@keyframes ed-loaderAuf {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes ed-loaderLauf {
  to {
    transform: scaleX(1);
  }
}


.ed-loaderLogo {
  position: relative;
  display: block;
  color: var(--blass);
}

.ed-loaderWipe {
  position: absolute;
  inset: 0;
  color: var(--tiefschwarz);
  clip-path: inset(0 100% 0 0);
  animation: ed-loaderWipe 850ms var(--ease-in-out) 200ms forwards;
}

@keyframes ed-loaderWipe {
  to {
    clip-path: inset(0 -2% 0 0);
  }
}


.ed-loaderFunke {
  position: absolute;
  inset: 0;
  transform: scale(0) rotate(-60deg);
  transform-origin: 94.2% 100%;
  animation: ed-loaderFunke 300ms cubic-bezier(0.3, 1.9, 0.5, 1) 870ms forwards;
}

@keyframes ed-loaderFunke {
  to {
    transform: scale(1) rotate(0deg);
  }
}

.ed-punkt {
  color: var(--magenta);
}


.ed-marke {
  color: var(--magenta);
}


.ed-maske {
  display: block;
  overflow: hidden;
  padding-bottom: 0.14em;
  margin-bottom: -0.14em;
}

.ed-maskeInner {
  display: block;
  transform: translateY(115%);
  transition: transform 950ms var(--ease-out) var(--verzug, 0ms);
}

.ed-maske[data-sichtbar] .ed-maskeInner {
  transform: translateY(0);
}

html[data-geladen] .ed-maske[data-sofort] .ed-maskeInner {
  transform: translateY(0);
}


.ed-ladeText {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 700ms var(--ease-out) var(--lade-verzug, 1250ms),
    transform 700ms var(--ease-out) var(--lade-verzug, 1250ms);
}

html[data-geladen] .ed-ladeText {
  opacity: 1;
  transform: translateY(0);
}


.ed-ladeBild {
  clip-path: inset(100% 0 0 0);
  transition: clip-path 1100ms var(--ease-out) 1350ms;
}

html[data-geladen] .ed-ladeBild {
  clip-path: inset(0 0 0 0);
}


.ed-maskBild {
  clip-path: inset(100% 0 0 0);
  transition: clip-path 1100ms var(--ease-out) var(--verzug, 0ms);
}

html[data-geladen] .ed-maskBild[data-sofort],
.ed-maskBild[data-offen] {
  clip-path: inset(0 0 0 0);
}


.ed-scrub {
  margin: 0;
  font-size: clamp(1.6rem, 3.2vw, 2.6rem);
  line-height: 1.25;
  letter-spacing: -0.02em;
  font-weight: 500;
  text-wrap: balance;
}

.ed-scrub [data-wort] {
  color: var(--blass);
  transition: color 350ms var(--ease-out);
}

.ed-scrub [data-wort][data-aktiv] {
  color: var(--tiefschwarz);
}

.ed-scrubSchluss {
  color: var(--magenta);
}


.ed-parallax {
  position: absolute;
  inset: 0;
  will-change: transform;
}


.ed-header {
  position: fixed;
  inset-inline: 0;
  top: 0;
  z-index: 40;
}

.ed-header::before {
  content: "";
  position: absolute;
  inset: 0;
  background: color-mix(in srgb, var(--weiss) 84%, transparent);
  backdrop-filter: blur(10px);
}

.ed-headerRow {
  position: relative;
  display: flex;
  align-items: center;
  gap: 28px;
  height: 64px;
  opacity: 0;
  transform: translateY(-10px);
  transition: opacity 600ms var(--ease-out) 400ms, transform 600ms var(--ease-out) 400ms;
}

html[data-geladen] .ed-headerRow {
  opacity: 1;
  transform: translateY(0);
}


.ed-wortmarke {
  display: flex;
  align-items: center;
  color: var(--magenta);
  text-decoration: none;
}

.ed-loaderWipe {
  color: var(--magenta);
}


.ed-wortmarke svg {
  transform: translateY(-7px);
}

.ed-footerMarke {
  margin-bottom: clamp(28px, 4vh, 44px);
}


.ed-footerSeo {
  margin: 0 0 22px;
  max-width: 40ch;
  line-height: 1.7;
  color: color-mix(in srgb, var(--tiefschwarz) 82%, var(--grau));
}

.ed-nav {
  margin-left: auto;
  display: flex;
  gap: 26px;
  font-size: 0.9rem;
  font-weight: 500;
}

.ed-nav a {
  position: relative;
  color: var(--tiefschwarz);
  text-decoration: none;
  padding-bottom: 4px;
}


.ed-nav a::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  height: 1px;
  background: var(--magenta);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 320ms var(--ease-out);
}

.ed-nav a:hover::after,
.ed-nav a:focus-visible::after {
  transform: scaleX(1);
  transform-origin: left;
}


.ed-menuKnopf {
  display: none;
  margin-left: auto;
  position: relative;
  z-index: 60;
  width: 44px;
  height: 44px;
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
}

.ed-menuKnopf span {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--tiefschwarz);
  transition: transform 300ms var(--ease-out);
}

.ed-menuKnopf[data-offen] span:first-child {
  transform: translateY(4.5px) rotate(45deg);
}

.ed-menuKnopf[data-offen] span:last-child {
  transform: translateY(-4.5px) rotate(-45deg);
}

.ed-menu {
  position: fixed;
  inset: 0;
  z-index: 50;
  display: none;
  flex-direction: column;
  background: var(--weiss);
  padding: 128px 24px 36px;
  transform: translateX(100%);
  visibility: hidden;
  transition: transform 520ms var(--ease-drawer), visibility 0s 520ms;
}

.ed-menu[data-offen] {
  transform: translateX(0);
  visibility: visible;
  transition: transform 520ms var(--ease-drawer);
}

.ed-menuListe {
  display: grid;
  gap: 6px;
}

.ed-menuLink {
  color: var(--tiefschwarz);
  text-decoration: none;
  font-size: clamp(2rem, 8.5vw, 2.6rem);
  line-height: 1.12;
  letter-spacing: -0.02em;
  font-weight: 500;
  padding-block: 6px;
}

.ed-menuLink[aria-current] {
  color: var(--tiefschwarz);
}


.ed-menuMaske {
  display: block;
  overflow: hidden;
  padding-bottom: 0.14em;
  margin-bottom: -0.14em;
}

.ed-menuMaske > span {
  display: block;
  transform: translateY(115%);
  transition: transform 240ms var(--ease-out);
}

.ed-menu[data-offen] .ed-menuMaske > span {
  transform: translateY(0);
  transition: transform 750ms var(--ease-out) var(--menu-verzug, 0ms);
}

.ed-menuFuss {
  margin-top: auto;
  opacity: 0;
  transform: translateY(14px);
  transition: opacity 200ms var(--ease-out), transform 200ms var(--ease-out);
}

.ed-menu[data-offen] .ed-menuFuss {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 650ms var(--ease-out) var(--menu-verzug, 0ms),
    transform 650ms var(--ease-out) var(--menu-verzug, 0ms);
}

.ed-menuFuss .ed-pill {
  width: 100%;
  justify-content: center;
  padding-block: 14px;
}


.ed-pill {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border: 1.5px solid var(--tiefschwarz);
  border-radius: 999px;
  padding: 10px 20px;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--tiefschwarz);
  background: transparent;
  text-decoration: none;
  cursor: pointer;
  transition: transform 160ms var(--ease-out), background-color 220ms var(--ease-out),
    border-color 220ms var(--ease-out), color 220ms var(--ease-out);
}

.ed-pill svg {
  width: 16px;
  height: 16px;
  transition: transform 240ms var(--ease-out);
}

.ed-pill:hover {
  background: var(--magenta);
  border-color: var(--magenta);
  color: var(--auf-magenta);
}

.ed-pill:hover svg {
  transform: translateX(3px);
}

.ed-pill:active {
  transform: scale(0.97);
}

.ed-pillVoll {
  background: var(--magenta);
  border-color: var(--magenta);
  color: var(--auf-magenta);
}

.ed-pillVoll:hover {
  background: var(--magenta-deep);
  border-color: var(--magenta-deep);
}


.ed-hero {
  min-height: 100svh;
  display: grid;
  grid-template-rows: 1fr auto;
  padding-top: 64px;
}

.ed-heroText {
  display: grid;
  place-content: center;
  text-align: center;
  padding-block: clamp(40px, 7vh, 90px) clamp(24px, 4vh, 48px);
}

.ed-heroTitel {
  margin: 0 0 28px;
  font-size: clamp(3rem, 8.5vw, 6rem);
  line-height: 0.98;
  letter-spacing: -0.03em;
  font-weight: 500;
  text-wrap: balance;
}

.ed-heroTitel .ed-punkt {
  color: var(--magenta);
}


.ed-marke {
  color: var(--magenta);
}

.ed-heroSub {
  margin: 0 auto 30px;
  max-width: 62ch;
  font-size: clamp(1rem, 1.4vw, 1.2rem);
  line-height: 1.5;
}

.ed-heroSub b {
  display: block;
  font-weight: 600;
  color: var(--tiefschwarz);
}

.ed-heroSub > span {
  color: var(--grau);
}


.ed-heroSatz {
  display: inline-block;
}


.ed-heroUnterstrich {
  position: relative;
  white-space: nowrap;
  color: var(--tiefschwarz);
}

.ed-heroUnterstrich::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  height: 1px;
  background: var(--magenta);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 650ms var(--ease-out) 1650ms;
}

html[data-geladen] .ed-heroUnterstrich::after {
  transform: scaleX(1);
}

.ed-heroActions {
  display: flex;
  justify-content: center;
  gap: 16px;
}

.ed-heroSub,
.ed-heroActions {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 700ms var(--ease-out) 1150ms, transform 700ms var(--ease-out) 1150ms;
}

html[data-geladen] .ed-heroSub,
html[data-geladen] .ed-heroActions {
  opacity: 1;
  transform: translateY(0);
}


.ed-heroBild {
  position: relative;
  width: min(1344px, calc(100% - clamp(40px, 8vw, 96px)));
  margin-inline: auto;
  height: clamp(240px, 44vh, 460px);
  overflow: hidden;
  clip-path: inset(100% 0 0 0);
  transition: clip-path 1200ms var(--ease-out) 950ms;
}

html[data-geladen] .ed-heroBild {
  clip-path: inset(0 0 0 0);
}

.ed-heroBild img {
  object-fit: cover;
}

.ed-heroBildText {
  position: absolute;
  right: 14px;
  bottom: 12px;
  font-size: 0.7rem;
  color: #fff;
  background: color-mix(in srgb, var(--tiefschwarz) 70%, transparent);
  padding: 5px 9px;
  border-radius: 4px;
}


.ed-why {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.6fr);
  gap: clamp(28px, 5vw, 96px);
  padding-block: clamp(96px, 15vh, 200px);
  align-items: start;
}

.ed-whyKlein {
  font-size: 1rem;
  line-height: 1.55;
  color: var(--grau);
  max-width: 26ch;
  margin: 0;
}

.ed-whyKlein b {
  color: var(--tiefschwarz);
  font-weight: 600;
}



.ed-rundgang,
.ed-blogKopf,
.ed-abgrenzungSpalten,
.ed-anfrageGrid,
.ed-teamTeaser,
.ed-footerGrid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
  column-gap: clamp(28px, 5vw, 96px);
  
  row-gap: 28px;
}

.ed-rundgang {
  padding-block: clamp(64px, 10vh, 150px);
  align-items: start;
}

.ed-rundgangTitel {
  margin: 0 0 28px;
  font-size: clamp(1.9rem, 3.4vw, 3rem);
  line-height: 1.02;
  letter-spacing: -0.03em;
  font-weight: 500;
}

.ed-rundgangTitel .ed-blass {
  color: var(--blass);
}

.ed-stepLabel {
  font-size: 0.95rem;
  color: var(--grau);
  margin: 0 0 10px;
}

.ed-stepListe {
  list-style: none;
  margin: 0;
  padding: 0;
}

.ed-step {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  gap: 16px;
  align-items: baseline;
  padding-block: 22px;
  border-top: 1px solid var(--grau-linie);
}

.ed-step:last-child {
  border-bottom: 1px solid var(--grau-linie);
}

.ed-stepNr {
  font-size: 0.82rem;
  font-variant-numeric: tabular-nums;
  color: var(--grau);
}

.ed-stepKern .ed-stepNr {
  color: var(--magenta);
}

.ed-stepText {
  font-size: clamp(1.1rem, 1.8vw, 1.45rem);
  line-height: 1.4;
  letter-spacing: -0.01em;
  font-weight: 600;
  margin: 0;
  max-width: 48ch;
}

.ed-stepText .ed-grau {
  color: var(--grau);
  font-weight: 500;
}


.ed-triptychon {
  padding-block: clamp(24px, 4vh, 64px) clamp(64px, 10vh, 150px);
}

.ed-triptychonSpur {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(12px, 1.6vw, 24px);
}


.ed-triptychonKopie {
  display: none;
}

@keyframes ed-marqueeLauf {
  to {
    transform: translateX(-50%);
  }
}

.ed-hochBild {
  position: relative;
  aspect-ratio: 3 / 4;
  overflow: hidden;
}

.ed-hochBild img {
  object-fit: cover;
}

.ed-triptychonHinweis {
  grid-column: 1 / -1;
  text-align: right;
  font-size: 0.72rem;
  color: var(--grau);
}


.ed-services {
  padding-block: clamp(64px, 10vh, 150px) 0;
  background: var(--weiss);
}


.ed-servicesKopf {
  display: grid;
  grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr);
  gap: 24px;
  padding-inline: clamp(20px, 4vw, 48px);
  max-width: 1440px;
  margin-inline: auto;
  margin-bottom: clamp(40px, 7vh, 88px);
  align-items: start;
}

.ed-servicesLabel {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--tiefschwarz);
  padding-top: 10px;
}

.ed-servicesTitel {
  margin: 0;
  font-size: clamp(2rem, 3.6vw, 3.2rem);
  line-height: 1.08;
  letter-spacing: -0.02em;
  font-weight: 500;
}

.ed-servicesTitel .ed-blass {
  color: var(--blass);
}


.ed-serviceListe {
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
}

.ed-serviceListe::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--grau-linie);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 1100ms var(--ease-out) 1450ms;
}

.ed-serviceZeile {
  position: relative;
  overflow: hidden;
}

.ed-serviceZeile::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--grau-linie);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 1100ms var(--ease-out) 1450ms;
}

html[data-geladen] .ed-serviceListe::before,
html[data-geladen] .ed-serviceZeile::after {
  transform: scaleX(1);
}

.ed-serviceBildHG {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 450ms var(--ease-out);
  pointer-events: none;
}

.ed-serviceBildHG img {
  object-fit: cover;
}

.ed-serviceScrim {
  position: absolute;
  inset: 0;
  background: color-mix(in srgb, var(--tiefschwarz) 60%, transparent);
}

.ed-serviceZeile[data-aktiv] .ed-serviceBildHG {
  opacity: 1;
}


.ed-serviceInhalt {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr);
  column-gap: 24px;
  align-items: center;
  min-height: clamp(200px, 28vh, 300px);
  padding-block: clamp(28px, 4vh, 48px);
  padding-inline: clamp(20px, 4vw, 48px);
  max-width: 1440px;
  margin-inline: auto;
  text-decoration: none;
  color: var(--tiefschwarz);
  transition: color 350ms var(--ease-out);
}

.ed-serviceLinks {
  display: grid;
  grid-template-columns: 2rem minmax(0, 300px);
  gap: 20px;
  align-items: start;
}

.ed-serviceRechts {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-width: 0;
}

.ed-serviceZeile[data-aktiv] .ed-serviceInhalt {
  color: #fff;
}

.ed-serviceNr {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-size: 0.72rem;
  align-self: start;
  margin-top: 4px;
}

.ed-serviceText {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.55;
  max-width: 30ch;
  align-self: start;
}

.ed-serviceName {
  font-size: clamp(2.4rem, 6.4vw, 6rem);
  font-weight: 500;
  letter-spacing: -0.025em;
  line-height: 0.98;
  text-wrap: balance;
  text-decoration: none;
  text-underline-offset: 0.14em;
  text-decoration-thickness: 2px;
  transition: text-decoration-color 300ms var(--ease-out);
}

.ed-serviceZeile[data-aktiv] .ed-serviceName {
  text-decoration: underline;
}

.ed-servicePfeil {
  opacity: 0;
  transform: translateX(-16px);
  transition: opacity 350ms var(--ease-out), transform 350ms var(--ease-out);
}

.ed-servicePfeil svg {
  width: clamp(44px, 5vw, 76px);
  height: clamp(44px, 5vw, 76px);
  stroke-width: 1;
}

.ed-serviceZeile[data-aktiv] .ed-servicePfeil {
  opacity: 1;
  transform: translateX(0);
}


.ed-servicesSchluss {
  max-width: 1440px;
  margin-inline: auto;
  padding-inline: clamp(20px, 4vw, 48px);
  padding-block: clamp(56px, 9vh, 110px);
}

.ed-servicesSchlussText {
  margin: 0 0 28px;
  max-width: 34ch;
  font-size: clamp(1.3rem, 2.2vw, 1.8rem);
  line-height: 1.35;
  letter-spacing: -0.015em;
  font-weight: 500;
}

.ed-servicesSchlussText .ed-blass {
  color: var(--blass);
}


.ed-blog {
  padding-block: clamp(64px, 10vh, 150px);
}

.ed-blogKopf {
  align-items: end;
  margin-bottom: clamp(36px, 6vh, 64px);
}

.ed-blogTitel {
  margin: 0;
  font-size: clamp(2.2rem, 4.4vw, 3.8rem);
  line-height: 1.02;
  letter-spacing: -0.03em;
  font-weight: 500;
  max-width: 16ch;
}

.ed-blogTitel .ed-blass {
  color: var(--blass);
}

.ed-blogIntro {
  margin: 0;
  font-size: 1.125rem;
  line-height: 1.55;
  color: var(--grau);
}


.ed-blogReihen {
  display: grid;
  gap: clamp(16px, 2.4vw, 44px);
}

.ed-blogKarten {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: clamp(16px, 2.4vw, 44px);
}

@media (min-width: 901px) and (pointer: fine) {
  .ed-blogKarten {
    container-type: inline-size;
    transition: grid-template-columns 1s cubic-bezier(0.16, 1, 0.3, 1);
  }

  
  .ed-blogName,
  .ed-blogSub {
    max-width: 21cqw;
  }

  .ed-blogKarten:has(> .ed-blogKarte:first-child:hover) {
    grid-template-columns: 1.2fr 0.9fr 0.9fr;
  }

  .ed-blogKarten:has(> .ed-blogKarte:nth-child(2):hover) {
    grid-template-columns: 0.9fr 1.2fr 0.9fr;
  }

  .ed-blogKarten:has(> .ed-blogKarte:nth-child(3):hover) {
    grid-template-columns: 0.9fr 0.9fr 1.2fr;
  }
}

.ed-blogKarte {
  position: relative;
  display: grid;
  grid-template-rows: auto auto 1fr;
  gap: 14px;
  height: clamp(380px, 56vh, 470px);
  padding: clamp(22px, 3vw, 44px);
  overflow: hidden;
  text-decoration: none;
  color: #fff;
}

.ed-blogBildHG {
  position: absolute;
  inset: 0;
}

.ed-blogBildHG img {
  width: 100%;
  height: 100%;
  transform: scale(1.01);
  object-fit: cover;
}

.ed-blogScrim {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    color-mix(in srgb, var(--tiefschwarz) 74%, transparent) 0%,
    color-mix(in srgb, var(--tiefschwarz) 30%, transparent) 55%,
    color-mix(in srgb, var(--tiefschwarz) 12%, transparent) 100%
  );
}

.ed-blogName {
  position: relative;
  max-width: 100%;
  font-size: clamp(1.3rem, 1.9vw, 1.75rem);
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 1.15;
  hyphens: auto;
}

.ed-blogSub {
  position: relative;
  font-size: clamp(0.95rem, 1.2vw, 1.1rem);
  line-height: 1.5;
  max-width: 30ch;
}

.ed-blogMehr {
  position: relative;
  align-self: end;
  justify-self: start;
}

.ed-pillHell {
  border-color: #fff;
  color: #fff;
}


.ed-blogAlle {
  margin-top: clamp(28px, 4vh, 44px);
}

@media (min-width: 901px) and (pointer: fine) {
  .ed-blogSub,
  .ed-blogMehr {
    opacity: 0;
    transition: opacity 400ms var(--ease-out);
  }

  .ed-blogKarte:hover .ed-blogSub,
  .ed-blogKarte:hover .ed-blogMehr {
    opacity: 1;
  }
}


.ed-abgrenzung {
  padding-block: clamp(72px, 12vh, 160px);
  text-align: left;
  background: var(--kalkweiss);
  position: relative;
  z-index: 2;
}

.ed-abgrenzungTitel {
  margin: 0 auto clamp(40px, 6vh, 72px) 0;
  max-width: 22ch;
  font-size: clamp(2rem, 4.6vw, 3.8rem);
  line-height: 1.05;
  letter-spacing: -0.03em;
  font-weight: 500;
  text-wrap: balance;
}

.ed-abgrenzungTitel .ed-blass {
  color: var(--blass);
}

.ed-abgrenzungTitel .ed-magenta {
  color: var(--magenta);
}

.ed-abgrenzungKopf {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--grau);
  margin: 0 0 14px;
}

.ed-abgrenzungListe {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 0.95rem;
}

.ed-abgrenzungListe li {
  padding-block: 9px;
  border-bottom: 1px solid var(--grau-linie);
  color: var(--grau);
}

.ed-abgrenzungDoch {
  margin: 0;
  padding: 18px 20px;
  background: var(--weiss);
  line-height: 1.55;
  font-size: 0.95rem;
}


.ed-anfrage {
  padding-block: clamp(72px, 12vh, 160px);
}

.ed-anfrageGrid {
  align-items: start;
}

.ed-anfrageTitel {
  margin: 0;
  font-size: clamp(2.2rem, 5vw, 4.2rem);
  letter-spacing: -0.03em;
  line-height: 1;
  font-weight: 500;
  max-width: 14ch;
  text-wrap: balance;
}

.ed-anfrageTitel .ed-blass {
  color: var(--blass);
}

.ed-anfrageSub {
  margin: 0 0 clamp(32px, 4vh, 48px);
  max-width: 48ch;
  line-height: 1.55;
  color: var(--grau);
}

.ed-formular {
  max-width: 560px;
  display: grid;
  gap: 26px;
  text-align: left;
}

.ed-feld {
  display: grid;
  gap: 6px;
}

.ed-feld label {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--grau);
}

.ed-feld input,
.ed-feld select {
  border: none;
  border-bottom: 1.5px solid var(--grau-linie);
  border-radius: 0;
  background: transparent;
  padding: 8px 2px 10px;
  font-size: 1.05rem;
  font-family: var(--font-sans);
  color: var(--tiefschwarz);
  transition: border-color 220ms var(--ease-out);
}

.ed-feld input:hover,
.ed-feld select:hover {
  border-color: var(--grau);
}

.ed-feld input:focus-visible,
.ed-feld select:focus-visible {
  outline: none;
  border-color: var(--magenta);
}

.ed-feld input::placeholder {
  color: var(--blass);
}

.ed-feldReihe {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px;
}


.ed-feldCheck {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 0.85rem;
  line-height: 1.5;
  color: var(--grau);
  cursor: pointer;
}

.ed-feldCheck input {
  flex: none;
  width: 18px;
  height: 18px;
  margin: 2px 0 0;
  accent-color: var(--magenta);
  cursor: pointer;
}

.ed-feldCheck a {
  color: var(--tiefschwarz);
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 220ms var(--ease-out);
}

.ed-feldCheck a:hover {
  color: var(--magenta);
}


.ed-feldFehler {
  display: block;
  margin-top: 2px;
  font-size: 0.8rem;
  color: #b3261e;
}

.ed-feld input[aria-invalid="true"],
.ed-feld textarea[aria-invalid="true"] {
  border-color: #b3261e;
}

.ed-formFehler {
  margin: 0;
  padding: 12px 16px;
  font-size: 0.9rem;
  line-height: 1.5;
  color: var(--tiefschwarz);
  background: color-mix(in srgb, #b3261e 8%, var(--weiss));
  border-left: 2px solid #b3261e;
}

.ed-formErfolg {
  max-width: 560px;
  padding: 22px 24px;
  font-size: 1.05rem;
  line-height: 1.55;
  color: var(--tiefschwarz);
  background: var(--magenta-tint);
  border-left: 2px solid var(--magenta);
}


.ed-honig {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.ed-formAktion {
  display: flex;
  justify-content: flex-start;
  gap: 20px;
  margin-top: 10px;
}


.ed-anfrageKontakt {
  margin-top: clamp(36px, 5vh, 56px);
  font-size: 0.9rem;
  color: var(--grau);
}

.ed-anfrageKontakt a {
  display: block;
  margin-top: 10px;
  font-size: clamp(1.5rem, 2.6vw, 2.2rem);
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 1.15;
  color: var(--tiefschwarz);
  text-decoration: none;
  transition: color 240ms var(--ease-out);
}

.ed-anfrageKontakt a:hover {
  color: var(--magenta);
}


.ed-cookie {
  position: fixed;
  inset-inline: 0;
  bottom: 0;
  z-index: 90;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(16px, 3vw, 40px);
  flex-wrap: wrap;
  padding: 18px clamp(20px, 4vw, 48px);
  background: color-mix(in srgb, var(--weiss) 84%, transparent);
  backdrop-filter: blur(10px);
  border-top: 1px solid var(--grau-linie);
  animation: ed-cookieAuf 500ms var(--ease-out);
}

@keyframes ed-cookieAuf {
  from {
    transform: translateY(100%);
  }
  to {
    transform: translateY(0);
  }
}

.ed-cookieText {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.55;
  color: var(--grau);
}

.ed-cookieText b {
  color: var(--tiefschwarz);
  font-weight: 600;
}

.ed-cookieText a {
  color: var(--tiefschwarz);
}

.ed-cookieAktionen {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}


.ed-teamTeaser {
  position: relative;
  align-items: start;
  padding-block: clamp(56px, 9vh, 120px);
}

.ed-teamTeaser::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--grau-linie);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 1100ms var(--ease-out) 1450ms;
}

html[data-geladen] .ed-teamTeaser::before {
  transform: scaleX(1);
}

.ed-teamTeaserTitel {
  margin: 0;
  font-size: clamp(1.9rem, 3.4vw, 3rem);
  line-height: 1.05;
  letter-spacing: -0.02em;
  font-weight: 500;
  max-width: 14ch;
  text-wrap: balance;
}

.ed-teamTeaserText {
  margin: 0 0 26px;
  line-height: 1.6;
  color: var(--grau);
}


.ed-footer {
  position: relative;
  padding-block: clamp(94px, 13vh, 142px) clamp(86px, 12vh, 126px);
  font-size: 14px;
  line-height: 1.8;
  color: var(--grau);
}


.ed-footerGrid {
  row-gap: 32px;
  align-items: start;
}

.ed-footer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--grau-linie);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 1100ms var(--ease-out) 1450ms;
}

html[data-geladen] .ed-footer::before {
  transform: scaleX(1);
}

.ed-footerSpalten {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.65fr);
  column-gap: 24px;
  row-gap: 32px;
  align-items: start;
}


.ed-footer a.ed-footerCta,
.ed-footer a.ed-footerCta:hover {
  position: relative;
  display: inline-block;
  color: var(--magenta);
  font-weight: 500;
  text-decoration: none;
}

.ed-footerCta::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  bottom: -2px;
  height: 1px;
  background: var(--magenta);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 300ms var(--ease-out);
}

.ed-footerCta:hover::after,
.ed-footerCta:focus-visible::after {
  transform: scaleX(1);
  transform-origin: left;
}

.ed-footerKontakt {
  margin: 22px 0 0;
}

.ed-footerRecht {
  margin: 22px 0 0;
  font-size: 0.85rem;
}

.ed-footerRecht a {
  color: var(--grau);
}

.ed-footerNav {
  list-style: none;
  margin: 0 0 26px;
  padding: 0;
  display: grid;
  gap: 10px;
}

.ed-footerGrid > div > :first-child {
  margin-top: 0;
}

.ed-footerGrid a {
  color: inherit;
}

.ed-footerGrid a:hover {
  color: var(--tiefschwarz);
}

.ed-footerMarke {
  font-weight: 700;
  color: var(--magenta);
  font-size: 1.05rem;
}

.ed-footerMarke b {
  color: var(--magenta);
}


.ed-page section[id] {
  scroll-margin-top: 84px;
}


@media (max-width: 600px) {
  .ed-heroSubZeile {
    display: block;
  }
}


@media (max-width: 340px) {
  .ed-heroSub {
    font-size: 0.9rem;
  }
}

@media (max-width: 900px) {
  .ed-nav {
    display: none;
  }

  .ed-headerPill {
    display: none;
  }

  .ed-headerRow {
    position: relative;
    z-index: 60;
  }

  .ed-menuKnopf {
    display: flex;
  }

  .ed-menu {
    display: flex;
  }

  
  .ed-heroText {
    padding-inline: 24px;
  }

  .ed-heroTitel {
    font-size: clamp(2.2rem, 9.6vw, 3rem);
    margin-bottom: 22px;
  }

  .ed-heroActions {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    max-width: 420px;
    margin-inline: auto;
    width: 100%;
  }

  .ed-heroActions .ed-pill {
    justify-content: center;
    padding-block: 14px;
  }

  .ed-why,
  .ed-rundgang,
  .ed-teamTeaser,
  .ed-blogKopf,
  .ed-abgrenzungSpalten,
  .ed-anfrageGrid,
  .ed-feldReihe,
  .ed-servicesKopf {
    grid-template-columns: 1fr;
  }

  
  .ed-serviceInhalt {
    grid-template-columns: 2rem minmax(0, 1fr);
    gap: 14px 20px;
    min-height: 0;
    align-items: center;
  }

  .ed-serviceLinks,
  .ed-serviceRechts {
    display: contents;
  }

  .ed-serviceNr {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    margin-top: 0;
  }

  .ed-serviceName {
    grid-column: 2;
    grid-row: 1;
    font-size: clamp(2rem, 8.6vw, 2.9rem);
  }

  .ed-serviceText {
    grid-column: 2;
    grid-row: 2;
    max-width: none;
  }

  .ed-servicePfeil {
    display: none;
  }

  
  .ed-triptychon {
    padding-inline: 0;
    overflow: hidden;
  }

  .ed-triptychonSpur {
    display: flex;
    gap: 0;
    width: max-content;
    animation: ed-marqueeLauf 26s linear infinite;
  }

  .ed-triptychonKopie {
    display: block;
  }

  .ed-hochBild {
    width: min(64vw, 340px);
    flex: none;
    margin-right: 12px;
  }

  .ed-blogKarten {
    grid-template-columns: 1fr;
  }

  .ed-footerGrid,
  .ed-footerSpalten {
    grid-template-columns: 1fr;
  }
}

/* ==== kontakt.module.css → Präfix "kt-" ==== */
.kt-seite {
  padding-top: 64px;
}

.kt-heldGrid {
  display: grid;
  grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr);
  column-gap: 24px;
  row-gap: clamp(20px, 3vh, 36px);
  padding-block: clamp(96px, 16vh, 190px) clamp(40px, 7vh, 80px);
}

.kt-heldTitel {
  grid-column: 1 / -1;
  margin: 0;
  font-size: clamp(2.4rem, 5vw, 4.4rem);
  line-height: 1;
  letter-spacing: -0.03em;
  font-weight: 500;
}

.kt-heldText {
  grid-column: 2;
  margin: 0;
  max-width: 46ch;
  font-size: clamp(1rem, 1.4vw, 1.2rem);
  line-height: 1.55;
  color: var(--grau);
}


.kt-inhalt {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
  column-gap: clamp(28px, 5vw, 96px);
  align-items: start;
  padding-block: clamp(40px, 7vh, 80px) clamp(48px, 8vh, 88px);
}

.kt-inhalt::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--grau-linie);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 1100ms var(--ease-out) 1450ms;
}

html[data-geladen] .kt-inhalt::before {
  transform: scaleX(1);
}

.kt-datenBlock {
  display: grid;
  gap: clamp(28px, 4vh, 44px);
}

.kt-datenLabel {
  margin: 0 0 8px;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--grau);
}

.kt-datenWert {
  margin: 0;
  line-height: 1.55;
}

.kt-datenGross {
  margin: 0;
  font-size: clamp(1.4rem, 2.4vw, 2rem);
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 1.2;
}

.kt-datenGross a {
  color: var(--tiefschwarz);
  text-decoration: none;
  transition: color 240ms var(--ease-out);
}

.kt-datenGross a:hover {
  color: var(--magenta);
}

.kt-datenZusatz {
  margin: 6px 0 0;
  font-size: 0.85rem;
  color: var(--grau);
}


.kt-formTitel {
  margin: 0 0 26px;
  font-size: clamp(1.5rem, 2.4vw, 2.1rem);
  letter-spacing: -0.02em;
  font-weight: 500;
}

.kt-formular {
  display: grid;
  gap: 26px;
  max-width: 640px;
}

.kt-feldReihe {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px;
}

.kt-feld {
  display: grid;
  gap: 6px;
}

.kt-feld label {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--grau);
}

.kt-feld input,
.kt-feld textarea {
  border: none;
  border-bottom: 1.5px solid var(--grau-linie);
  border-radius: 0;
  background: transparent;
  padding: 8px 2px 10px;
  font-size: 1.05rem;
  font-family: var(--font-sans);
  color: var(--tiefschwarz);
  transition: border-color 220ms var(--ease-out);
  resize: vertical;
}

.kt-feld input:hover,
.kt-feld textarea:hover {
  border-color: var(--grau);
}

.kt-feld input:focus-visible,
.kt-feld textarea:focus-visible {
  outline: none;
  border-color: var(--magenta);
}

.kt-feld input::placeholder,
.kt-feld textarea::placeholder {
  color: var(--blass);
}

.kt-feld input[aria-invalid="true"],
.kt-feld textarea[aria-invalid="true"] {
  border-color: #b3261e;
}


.kt-feldCheck {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 0.85rem;
  line-height: 1.5;
  color: var(--grau);
  cursor: pointer;
}

.kt-feldCheck input {
  flex: none;
  width: 18px;
  height: 18px;
  margin: 2px 0 0;
  accent-color: var(--magenta);
  cursor: pointer;
}

.kt-feldCheck a {
  color: var(--tiefschwarz);
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 220ms var(--ease-out);
}

.kt-feldCheck a:hover {
  color: var(--magenta);
}

@media (max-width: 900px) {
  .kt-heldGrid,
  .kt-inhalt {
    grid-template-columns: 1fr;
    row-gap: 28px;
  }

  .kt-heldText {
    grid-column: 1;
  }

  .kt-feldReihe {
    grid-template-columns: 1fr;
  }
}

/* ==== karriere.module.css → Präfix "ka-" ==== */
.ka-held {
  padding-top: 64px;
}

.ka-heldGrid {
  display: grid;
  grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr);
  column-gap: 24px;
  align-items: end;
  padding-block: clamp(96px, 16vh, 190px) clamp(48px, 8vh, 96px);
}

.ka-heldTitel {
  margin: 0;
  font-size: clamp(2.6rem, 6vw, 5rem);
  line-height: 1;
  letter-spacing: -0.03em;
  font-weight: 500;
  max-width: 12ch;
  text-wrap: balance;
}

.ka-heldTitel .ka-punkt {
  color: var(--magenta);
}

.ka-heldText {
  margin: 0;
  max-width: 46ch;
  font-size: clamp(1rem, 1.4vw, 1.2rem);
  line-height: 1.55;
  color: var(--grau);
}


.ka-bieten {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr);
  column-gap: 24px;
  padding-block: clamp(56px, 9vh, 120px);
}

.ka-bieten::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--grau-linie);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 1100ms var(--ease-out) 1450ms;
}

html[data-geladen] .ka-bieten::before {
  transform: scaleX(1);
}

.ka-bietenTitel {
  margin: 0;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  line-height: 1.05;
  letter-spacing: -0.02em;
  font-weight: 500;
}

.ka-bietenListe {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(24px, 3vw, 56px);
}

.ka-bietenListe li {
  display: flex;
  align-items: baseline;
  gap: 12px;
  padding-block: 16px;
  border-bottom: 1px solid var(--grau-linie);
  font-weight: 500;
  font-size: 1.02rem;
}

.ka-bietenPlus {
  color: var(--magenta);
  font-weight: 600;
}


.ka-stellen {
  padding-block: clamp(56px, 9vh, 120px) 0;
}

.ka-stellenKopf {
  display: grid;
  grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr);
  column-gap: 24px;
  align-items: baseline;
  margin-bottom: clamp(28px, 4vh, 48px);
}

.ka-stellenTitel {
  margin: 0;
  font-size: clamp(2rem, 3.6vw, 3.2rem);
  line-height: 1.05;
  letter-spacing: -0.02em;
  font-weight: 500;
}

.ka-stellenListe {
  position: relative;
  list-style: none;
  margin: 0;
  padding: 0;
}

.ka-stellenListe::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--grau-linie);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 1100ms var(--ease-out) 1450ms;
}

html[data-geladen] .ka-stellenListe::before {
  transform: scaleX(1);
}


.ka-stelle {
  display: grid;
  grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr);
  column-gap: 24px;
  align-items: center;
  padding-block: clamp(24px, 3.4vh, 40px);
  margin-inline: -28px;
  padding-inline: 28px;
  border-bottom: 1px solid var(--grau-linie);
  text-decoration: none;
  color: var(--tiefschwarz);
  transition: background-color 300ms var(--ease-out), color 300ms var(--ease-out);
}

.ka-stelleLinks {
  display: grid;
  grid-template-columns: 4rem minmax(0, 1fr);
  gap: 20px;
  align-items: baseline;
}

.ka-stelleCode {
  font-size: 0.8rem;
  color: var(--grau);
  font-variant-numeric: tabular-nums;
}

.ka-stelleMeta {
  font-size: 0.85rem;
  color: var(--grau);
}

.ka-stelleRechts {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  min-width: 0;
}

.ka-stelleTitel {
  font-size: clamp(1.35rem, 2.4vw, 2rem);
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 1.15;
  transition: color 260ms var(--ease-out);
}

.ka-stelleText {
  margin: 6px 0 0;
  font-size: 0.95rem;
  line-height: 1.5;
  color: var(--grau);
  max-width: 52ch;
}

.ka-stelleAktion {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 600;
  font-size: 0.95rem;
  white-space: nowrap;
}

.ka-stelleAktion svg {
  width: 20px;
  height: 20px;
  transition: transform 280ms var(--ease-out), color 280ms var(--ease-out);
}

.ka-stelleCode,
.ka-stelleMeta,
.ka-stelleText {
  transition: color 300ms var(--ease-out);
}

@media (hover: hover) and (pointer: fine) {
  .ka-stelle:hover {
    background: var(--magenta);
    color: var(--auf-magenta);
  }

  .ka-stelle:hover .ka-stelleCode,
  .ka-stelle:hover .ka-stelleMeta,
  .ka-stelle:hover .ka-stelleText {
    color: color-mix(in srgb, var(--auf-magenta) 75%, var(--magenta));
  }

  .ka-stelle:hover .ka-stelleAktion svg {
    transform: translateX(4px);
  }
}


.ka-kontaktZeile {
  display: grid;
  grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr);
  column-gap: 24px;
  align-items: center;
  padding-block: clamp(28px, 4vh, 48px);
}

.ka-kontaktLabel {
  font-size: 0.9rem;
  color: var(--grau);
}

.ka-kontaktKnoepfe {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}


.ka-whatsapp,
.ka-whatsapp:hover {
  background: #25d366;
  border-color: #25d366;
  color: #fff;
}

.ka-whatsapp:hover {
  background: #1ebe5b;
  border-color: #1ebe5b;
}

.ka-whatsapp svg {
  width: 18px;
  height: 18px;
}

.ka-whatsapp:hover svg {
  transform: none;
}


.ka-initiativ {
  margin-block: clamp(64px, 10vh, 140px) 0;
  background: var(--kalkweiss);
}

.ka-initiativGrid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
  column-gap: clamp(28px, 5vw, 96px);
  align-items: start;
  padding-block: clamp(56px, 9vh, 120px);
}

.ka-initiativTitel {
  margin: 0;
  font-size: clamp(2rem, 3.6vw, 3.2rem);
  line-height: 1.05;
  letter-spacing: -0.02em;
  font-weight: 500;
}

.ka-initiativText {
  margin: 0 0 28px;
  max-width: 46ch;
  line-height: 1.55;
  color: var(--grau);
}

@media (max-width: 900px) {
  .ka-heldGrid,
  .ka-bieten,
  .ka-stellenKopf,
  .ka-kontaktZeile,
  .ka-initiativGrid {
    grid-template-columns: 1fr;
    row-gap: 28px;
  }

  .ka-kontaktZeile {
    row-gap: 14px;
  }

  .ka-stelle {
    grid-template-columns: 1fr;
    row-gap: 18px;
  }

  .ka-bietenListe {
    grid-template-columns: 1fr;
    margin-top: 8px;
  }

  .ka-stelleRechts {
    grid-template-columns: 1fr;
    row-gap: 10px;
  }
}

/* ==== ueberuns.module.css → Präfix "ue-" ==== */
.ue-seite {
  padding-top: 64px;
}


.ue-heldGrid {
  display: grid;
  grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr);
  column-gap: 24px;
  row-gap: clamp(20px, 3vh, 36px);
  padding-block: clamp(96px, 16vh, 190px) clamp(48px, 8vh, 96px);
}

.ue-heldTitel {
  grid-column: 1 / -1;
  margin: 0;
  font-size: clamp(2.4rem, 5vw, 4.4rem);
  line-height: 1;
  letter-spacing: -0.03em;
  font-weight: 500;
  text-wrap: balance;
}

.ue-heldText {
  grid-column: 2;
}

.ue-heldText {
  margin: 0;
  max-width: 48ch;
  font-size: clamp(1rem, 1.4vw, 1.2rem);
  line-height: 1.55;
  color: var(--grau);
}

.ue-heldText b {
  color: var(--tiefschwarz);
  font-weight: 600;
}


.ue-sektion {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr);
  column-gap: 24px;
  padding-block: clamp(56px, 9vh, 120px);
}

.ue-sektion::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--grau-linie);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 1100ms var(--ease-out) 1450ms;
}

html[data-geladen] .ue-sektion::before {
  transform: scaleX(1);
}

.ue-sektionTitel {
  margin: 0 0 18px;
  font-size: clamp(1.9rem, 3.4vw, 3rem);
  line-height: 1.05;
  letter-spacing: -0.02em;
  font-weight: 500;
  max-width: 14ch;
  text-wrap: balance;
}

.ue-sektionText {
  margin: 0;
  max-width: 40ch;
  line-height: 1.6;
  color: var(--grau);
}


.ue-stepListe {
  list-style: none;
  margin: 0;
  padding: 0;
}

.ue-step {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  gap: 16px;
  align-items: baseline;
  padding-block: 22px;
  border-top: 1px solid var(--grau-linie);
}

.ue-step:last-child {
  border-bottom: 1px solid var(--grau-linie);
}

.ue-stepNr {
  font-size: 0.82rem;
  font-variant-numeric: tabular-nums;
  color: var(--grau);
}

.ue-stepText {
  font-size: clamp(1.1rem, 1.8vw, 1.45rem);
  line-height: 1.4;
  letter-spacing: -0.01em;
  font-weight: 500;
  margin: 0;
  max-width: 48ch;
}

.ue-stepText .ue-grau {
  color: var(--grau);
  font-weight: 500;
}


.ue-orteListe {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(24px, 3vw, 56px);
}

.ue-orteListe li {
  display: flex;
  align-items: baseline;
  gap: 12px;
  padding-block: 12px;
  border-bottom: 1px solid var(--grau-linie);
  font-weight: 500;
  font-size: 1rem;
}

.ue-ortPlus {
  color: var(--magenta);
  font-weight: 600;
}


.ue-teaser {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr);
  column-gap: 24px;
  align-items: start;
  padding-block: clamp(56px, 9vh, 120px);
}

.ue-teaser::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--grau-linie);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 1100ms var(--ease-out) 1450ms;
}

html[data-geladen] .ue-teaser::before {
  transform: scaleX(1);
}

.ue-teaserText {
  margin: 0 0 26px;
  max-width: 44ch;
  line-height: 1.6;
  color: var(--grau);
}

@media (max-width: 900px) {
  .ue-heldGrid,
  .ue-sektion,
  .ue-teaser {
    grid-template-columns: 1fr;
    row-gap: 28px;
  }

  .ue-heldText {
    grid-column: 1;
  }

  .ue-orteListe {
    grid-template-columns: 1fr;
  }
}

/* ==== leistung.module.css → Präfix "ls-" ==== */
.ls-seite {
  padding-top: 64px;
}

.ls-brotkrumen {
  display: flex;
  gap: 8px;
  font-size: 0.85rem;
  color: var(--grau);
  padding-top: clamp(28px, 5vh, 56px);
}

.ls-brotkrumen a {
  color: var(--grau);
  text-decoration: none;
}

.ls-brotkrumen a:hover {
  color: var(--tiefschwarz);
}

.ls-brotkrumen b {
  color: var(--tiefschwarz);
  font-weight: 500;
}


.ls-kopf {
  display: grid;
  grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr);
  column-gap: 24px;
  row-gap: clamp(20px, 3vh, 36px);
  padding-block: clamp(28px, 5vh, 64px) clamp(36px, 6vh, 72px);
}

.ls-titel {
  grid-column: 1 / -1;
  margin: 0;
  font-size: clamp(2.4rem, 5vw, 4.4rem);
  line-height: 1;
  letter-spacing: -0.03em;
  font-weight: 500;
  text-wrap: balance;
}

.ls-lead {
  grid-column: 2;
}

.ls-lead {
  margin: 0;
  max-width: 52ch;
  font-size: clamp(1.05rem, 1.5vw, 1.25rem);
  line-height: 1.55;
  color: var(--grau);
}


.ls-heroBild {
  position: relative;
  height: clamp(240px, 42vh, 480px);
  overflow: hidden;
}

.ls-heroBild img {
  object-fit: cover;
}

.ls-bildHinweis {
  position: absolute;
  right: 14px;
  bottom: 12px;
  font-size: 0.7rem;
  color: #fff;
  background: color-mix(in srgb, var(--tiefschwarz) 70%, transparent);
  padding: 5px 9px;
}


.ls-sektion {
  display: grid;
  grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr);
  column-gap: 24px;
  padding-block: clamp(40px, 7vh, 88px);
  border-bottom: 1px solid var(--grau-linie);
}

.ls-sektion:first-of-type {
  border-top: 1px solid var(--grau-linie);
}

.ls-sektionTitel {
  margin: 0;
  font-size: clamp(1.5rem, 2.4vw, 2.1rem);
  line-height: 1.15;
  letter-spacing: -0.02em;
  font-weight: 500;
  max-width: 20ch;
  text-wrap: balance;
}

.ls-sektionText {
  margin: 0;
  max-width: 62ch;
  line-height: 1.65;
  color: color-mix(in srgb, var(--tiefschwarz) 88%, var(--grau));
}

.ls-sektionListe {
  list-style: none;
  margin: 0 0 18px;
  padding: 0;
}

.ls-sektionListe li {
  display: flex;
  gap: 12px;
  align-items: baseline;
  padding-block: 10px;
  border-bottom: 1px solid var(--grau-linie);
  line-height: 1.5;
}

.ls-listenPlus {
  color: var(--magenta);
  font-weight: 600;
}


.ls-faqDetails {
  border-bottom: 1px solid var(--grau-linie);
}

.ls-faqDetails summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 20px;
  padding-block: 18px;
  font-weight: 500;
  font-size: 1.05rem;
}

.ls-faqDetails summary::-webkit-details-marker {
  display: none;
}

.ls-faqZeichen {
  color: var(--magenta);
  font-weight: 500;
  transition: rotate 260ms var(--ease-out);
}

.ls-faqDetails[open] .ls-faqZeichen {
  rotate: 45deg;
}

.ls-faqAntwort {
  margin: 0;
  padding: 0 0 20px;
  max-width: 60ch;
  line-height: 1.6;
  color: var(--grau);
}


.ls-cta {
  display: grid;
  grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr);
  column-gap: 24px;
  align-items: center;
  padding-block: clamp(48px, 8vh, 100px);
}

.ls-ctaTitel {
  margin: 0;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  letter-spacing: -0.02em;
  line-height: 1.08;
  font-weight: 500;
}

.ls-ctaAktionen {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}


.ls-hinweisKarte {
  grid-column: 2;
  padding: 20px 22px;
  background: var(--kalkweiss);
  max-width: 52ch;
  line-height: 1.55;
  font-size: 0.95rem;
  color: var(--grau);
}


.ls-wechsel {
  border-top: 1px solid var(--grau-linie);
  background: var(--kalkweiss);
}

.ls-wechselGrid {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: stretch;
  gap: 16px;
  padding-block: clamp(28px, 5vh, 48px);
}

.ls-wechselLink {
  display: grid;
  gap: 6px;
  text-decoration: none;
  color: var(--tiefschwarz);
  align-content: center;
}

.ls-wechselZurueck {
  justify-items: start;
  text-align: left;
}

.ls-wechselWeiter {
  justify-items: end;
  text-align: right;
}

.ls-wechselLabel {
  font-size: 0.8rem;
  color: var(--grau);
}

.ls-wechselName {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: clamp(1.3rem, 2.2vw, 1.9rem);
  font-weight: 500;
  letter-spacing: -0.02em;
  transition: color 240ms var(--ease-out);
}

.ls-wechselName svg {
  width: 26px;
  height: 26px;
  transition: transform 280ms var(--ease-out);
}

.ls-pfeilLinks svg {
  rotate: 180deg;
}

@media (hover: hover) and (pointer: fine) {
  .ls-wechselLink:hover .ls-wechselName {
    color: var(--magenta);
  }

  .ls-wechselWeiter:hover .ls-wechselName svg {
    transform: translateX(4px);
  }

  .ls-wechselZurueck:hover .ls-wechselName svg {
    transform: translateX(-4px);
  }
}

.ls-wechselPosition {
  align-self: center;
  font-size: 0.85rem;
  color: var(--grau);
  font-variant-numeric: tabular-nums;
}

@media (max-width: 900px) {
  .ls-kopf,
  .ls-sektion,
  .ls-cta {
    grid-template-columns: 1fr;
    row-gap: 28px;
  }

  .ls-lead {
    grid-column: 1;
  }

  .ls-wechselGrid {
    grid-template-columns: 1fr 1fr;
  }

  .ls-wechselPosition {
    display: none;
  }
}

/* ==== artikel.module.css → Präfix "bl-" ==== */
.bl-seite {
  padding-top: 64px;
}


.bl-indexKopf {
  display: grid;
  grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr);
  column-gap: 24px;
  align-items: end;
  padding-block: clamp(96px, 16vh, 190px) clamp(40px, 7vh, 72px);
}

.bl-indexTitel {
  margin: 0;
  font-size: clamp(2.4rem, 5vw, 4.4rem);
  line-height: 1;
  letter-spacing: -0.03em;
  font-weight: 500;
  text-wrap: balance;
}

.bl-indexIntro {
  margin: 0;
  max-width: 46ch;
  line-height: 1.55;
  color: var(--grau);
}

.bl-indexKarten {
  padding-bottom: clamp(72px, 12vh, 140px);
}


.bl-kopf {
  max-width: 820px;
  margin-inline: auto;
  padding-block: clamp(28px, 5vh, 64px) clamp(36px, 6vh, 64px);
}

.bl-titel {
  margin: 0;
  font-size: clamp(2rem, 4.2vw, 3.4rem);
  line-height: 1.05;
  letter-spacing: -0.03em;
  font-weight: 500;
  text-wrap: balance;
}

.bl-lead {
  margin: clamp(18px, 3vh, 28px) 0 0;
  font-size: clamp(1.05rem, 1.5vw, 1.25rem);
  line-height: 1.55;
  color: var(--grau);
}

.bl-brotkrumen {
  max-width: 820px;
  margin-inline: auto;
  display: flex;
  gap: 8px;
  font-size: 0.85rem;
  color: var(--grau);
  padding-top: clamp(28px, 5vh, 56px);
}

.bl-brotkrumen a {
  color: var(--grau);
  text-decoration: none;
}

.bl-brotkrumen a:hover {
  color: var(--tiefschwarz);
}

.bl-brotkrumen b {
  color: var(--tiefschwarz);
  font-weight: 500;
}


.bl-bild {
  position: relative;
  height: clamp(260px, 42vh, 460px);
  overflow: hidden;
}

.bl-bild img {
  object-fit: cover;
}

.bl-bildHinweis {
  position: absolute;
  right: 14px;
  bottom: 12px;
  font-size: 0.7rem;
  color: #fff;
  background: color-mix(in srgb, var(--tiefschwarz) 70%, transparent);
  padding: 5px 9px;
}


.bl-body {
  max-width: 820px;
  margin-inline: auto;
  padding-block: clamp(48px, 8vh, 96px);
}

.bl-inhalt {
  line-height: 1.7;
  color: color-mix(in srgb, var(--tiefschwarz) 88%, var(--grau));
}

.bl-inhalt h2 {
  margin: clamp(32px, 5vh, 48px) 0 12px;
  font-size: clamp(1.3rem, 2vw, 1.7rem);
  letter-spacing: -0.015em;
  font-weight: 500;
  color: var(--tiefschwarz);
}

.bl-inhalt h2:first-child {
  margin-top: 0;
}

.bl-inhalt p {
  margin: 0 0 16px;
}

.bl-inhalt ul {
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
}

.bl-inhalt li {
  display: flex;
  gap: 12px;
  align-items: baseline;
  padding-block: 9px;
  border-bottom: 1px solid var(--grau-linie);
}

.bl-listenPlus {
  color: var(--magenta);
  font-weight: 600;
}

.bl-fazit {
  margin-top: clamp(28px, 4vh, 40px);
  padding: 20px 24px;
  background: var(--kalkweiss);
  line-height: 1.6;
}

.bl-fazit b {
  color: var(--tiefschwarz);
}


.bl-cta {
  margin-top: clamp(32px, 5vh, 48px);
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

.bl-weitere {
  position: relative;
  padding-block: clamp(48px, 8vh, 96px) clamp(72px, 12vh, 140px);
}

.bl-weitere::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--grau-linie);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 1100ms var(--ease-out) 1450ms;
}

html[data-geladen] .bl-weitere::before {
  transform: scaleX(1);
}

.bl-weitereTitel {
  margin: 0 0 clamp(28px, 4vh, 44px);
  font-size: clamp(1.6rem, 2.8vw, 2.4rem);
  letter-spacing: -0.02em;
  font-weight: 500;
}


.bl-alleArtikel {
  margin-top: clamp(28px, 4vh, 44px);
}

@media (max-width: 900px) {
  .bl-indexKopf {
    grid-template-columns: 1fr;
    row-gap: 28px;
  }
}

/* ==== recht.module.css → Präfix "re-" ==== */
.re-seite {
  padding-top: 64px;
}

.re-kopf {
  padding-block: clamp(80px, 13vh, 150px) clamp(32px, 5vh, 56px);
}

.re-titel {
  margin: 0;
  font-size: clamp(2.2rem, 4.6vw, 4rem);
  line-height: 1;
  letter-spacing: -0.03em;
  font-weight: 500;
}

.re-hinweis {
  margin: 20px 0 0;
  max-width: 62ch;
  padding: 14px 18px;
  background: var(--kalkweiss);
  font-size: 0.88rem;
  line-height: 1.55;
  color: var(--grau);
}

.re-inhalt {
  max-width: 72ch;
  padding-bottom: clamp(80px, 13vh, 150px);
  line-height: 1.7;
  color: color-mix(in srgb, var(--tiefschwarz) 88%, var(--grau));
}

.re-inhalt h2 {
  margin: clamp(36px, 6vh, 56px) 0 12px;
  font-size: clamp(1.3rem, 2vw, 1.7rem);
  letter-spacing: -0.015em;
  font-weight: 500;
  color: var(--tiefschwarz);
}

.re-inhalt h3 {
  margin: 28px 0 8px;
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--tiefschwarz);
}

.re-inhalt p {
  margin: 0 0 14px;
}

.re-inhalt ul {
  margin: 0 0 14px;
  padding-left: 1.2em;
}

.re-inhalt li {
  margin-bottom: 6px;
}

.re-inhalt a {
  color: var(--tiefschwarz);
  text-decoration: underline;
  text-decoration-color: var(--grau-linie);
  transition: text-decoration-color 200ms var(--ease-out);
}

.re-inhalt a:hover {
  text-decoration-color: var(--magenta);
}

/* ==== not-found.module.css → Präfix "nf-" ==== */
.nf-seite {
  padding-top: 64px;
}

.nf-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr);
  column-gap: 24px;
  align-items: end;
  min-height: 56vh;
  padding-block: clamp(96px, 16vh, 190px) clamp(72px, 12vh, 150px);
}

.nf-titel {
  margin: 0;
  font-size: clamp(2.6rem, 6vw, 5rem);
  line-height: 1;
  letter-spacing: -0.03em;
  font-weight: 500;
  max-width: 12ch;
  text-wrap: balance;
}

.nf-text {
  max-width: 46ch;
  font-size: clamp(1rem, 1.4vw, 1.2rem);
  line-height: 1.55;
  color: var(--grau);
}

.nf-text p {
  margin: 0 0 28px;
}

.nf-aktionen {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

@media (max-width: 900px) {
  .nf-grid {
    grid-template-columns: 1fr;
    row-gap: 28px;
    align-items: start;
    min-height: 0;
  }
}
