/* ==========================================================================
   Linzer Rohrnotruf — main stylesheet (class prefix: rn-)
   Design system: DM Sans, palette from tokens, 5px spacing step, 1320px container
   ========================================================================== */

/* ---------- Design tokens (verbatim from the design system) ---------- */
:root {
  /* Colour — surfaces */
  --color-surface-page: #ffffff;
  --color-surface-2: #f2f5f5;
  --color-surface-3: #bfbfbf;
  --color-surface-4: #222626;
  --color-surface-5: #161a1a;
  --color-surface-6: #ffe8f0;
  /* Colour — text */
  --color-text-primary: #222626;
  --color-text-muted: #8d8e8e;
  --color-text-3: #b2b2b2;
  --color-text-inverse: #f2f5f5;
  --color-text-inverse-2: #ffffff;
  --color-text-link: #13727b;
  --color-text-inverse-3: #efa758;
  --color-text-8: #134b7b;
  /* Colour — accent */
  --color-accent-primary: #ed8031;
  /* Colour — border */
  --color-border-1: #424646;
  --color-border-2: #f2f5f526;
  --color-border-3: #d5d8d8;
  --color-border-4: #222626;
  --color-border-5: #e9e9e9;
  --color-border-6: #8d8e8e;
  /* Gradients */
  --gradient-1: linear-gradient(to right, rgb(178, 178, 178) 0%, rgb(178, 178, 178) 100%);
  /* Typography — families */
  --font-family-1: "DM Sans", sans-serif;
  --font-size-base: 19px;
  /* Typography — styles */
  --type-display-family: "DM Sans", sans-serif;
  --type-display-size: 170px;
  --type-display-weight: 700;
  --type-display-line-height: 1;
  --type-display-letter-spacing: 0;
  --type-h1-family: "DM Sans", sans-serif;
  --type-h1-size: 61.9px;
  --type-h1-weight: 700;
  --type-h1-line-height: 1;
  --type-h1-letter-spacing: -0.029em;
  --type-h2-family: "DM Sans", sans-serif;
  --type-h2-size: 57px;
  --type-h2-weight: 700;
  --type-h2-line-height: 1;
  --type-h2-letter-spacing: -0.032em;
  --type-h3-family: "DM Sans", sans-serif;
  --type-h3-size: 47px;
  --type-h3-weight: 700;
  --type-h3-line-height: 1.02;
  --type-h3-letter-spacing: -0.03em;
  --type-h3-2-family: "DM Sans", sans-serif;
  --type-h3-2-size: 47px;
  --type-h3-2-weight: 700;
  --type-h3-2-line-height: 1;
  --type-h3-2-letter-spacing: 0;
  --type-h4-family: "DM Sans", sans-serif;
  --type-h4-size: 36px;
  --type-h4-weight: 700;
  --type-h4-line-height: 1.5;
  --type-h4-letter-spacing: 0;
  --type-lead-family: "DM Sans", sans-serif;
  --type-lead-size: 24px;
  --type-lead-weight: 700;
  --type-lead-line-height: 1.4;
  --type-lead-letter-spacing: -0.021em;
  --type-lead-tight-family: "DM Sans", sans-serif;
  --type-lead-tight-size: 22.7px;
  --type-lead-tight-weight: 700;
  --type-lead-tight-line-height: 1.2;
  --type-lead-tight-letter-spacing: 0;
  --type-lead-tight-2-family: "DM Sans", sans-serif;
  --type-lead-tight-2-size: 22.6px;
  --type-lead-tight-2-weight: 700;
  --type-lead-tight-2-line-height: 1.2;
  --type-lead-tight-2-letter-spacing: -0.022em;
  --type-lead-medium-tight-family: "DM Sans", sans-serif;
  --type-lead-medium-tight-size: 22px;
  --type-lead-medium-tight-weight: 500;
  --type-lead-medium-tight-line-height: 1.27;
  --type-lead-medium-tight-letter-spacing: 0;
  --type-lead-medium-family: "DM Sans", sans-serif;
  --type-lead-medium-size: 20px;
  --type-lead-medium-weight: 500;
  --type-lead-medium-line-height: 1.5;
  --type-lead-medium-letter-spacing: -0.02em;
  --type-body-family: "DM Sans", sans-serif;
  --type-body-size: 19px;
  --type-body-weight: 400;
  --type-body-line-height: 1.78;
  --type-body-letter-spacing: 0;
  --type-body-bold-tight-family: "DM Sans", sans-serif;
  --type-body-bold-tight-size: 19px;
  --type-body-bold-tight-weight: 700;
  --type-body-bold-tight-line-height: 1.3;
  --type-body-bold-tight-letter-spacing: 0;
  --type-body-bold-tight-2-family: "DM Sans", sans-serif;
  --type-body-bold-tight-2-size: 19px;
  --type-body-bold-tight-2-weight: 700;
  --type-body-bold-tight-2-line-height: 1;
  --type-body-bold-tight-2-letter-spacing: 0;
  --type-small-family: "DM Sans", sans-serif;
  --type-small-size: 18px;
  --type-small-weight: 500;
  --type-small-line-height: 1.11;
  --type-small-letter-spacing: 0;
  --type-small-regular-loose-family: "DM Sans", sans-serif;
  --type-small-regular-loose-size: 17px;
  --type-small-regular-loose-weight: 400;
  --type-small-regular-loose-line-height: 1.65;
  --type-small-regular-loose-letter-spacing: 0;
  --type-small-loose-family: "DM Sans", sans-serif;
  --type-small-loose-size: 17px;
  --type-small-loose-weight: 500;
  --type-small-loose-line-height: 1.5;
  --type-small-loose-letter-spacing: 0;
  --type-caption-tight-family: "DM Sans", sans-serif;
  --type-caption-tight-size: 16px;
  --type-caption-tight-weight: 400;
  --type-caption-tight-line-height: 1.22;
  --type-caption-tight-letter-spacing: 0;
  --type-caption-light-family: "DM Sans", sans-serif;
  --type-caption-light-size: 16px;
  --type-caption-light-weight: 300;
  --type-caption-light-line-height: 1.76;
  --type-caption-light-letter-spacing: 0;
  --type-caption-medium-family: "DM Sans", sans-serif;
  --type-caption-medium-size: 16px;
  --type-caption-medium-weight: 500;
  --type-caption-medium-line-height: 1.59;
  --type-caption-medium-letter-spacing: 0;
  --type-micro-family: "DM Sans", sans-serif;
  --type-micro-size: 15px;
  --type-micro-weight: 400;
  --type-micro-line-height: 1.33;
  --type-micro-letter-spacing: 0;
  --type-micro-2-family: "DM Sans", sans-serif;
  --type-micro-2-size: 15px;
  --type-micro-2-weight: 700;
  --type-micro-2-line-height: 1.4;
  --type-micro-2-letter-spacing: 0;
  --type-micro-3-family: "DM Sans", sans-serif;
  --type-micro-3-size: 15px;
  --type-micro-3-weight: 700;
  --type-micro-3-line-height: 3.67;
  --type-micro-3-letter-spacing: 0;
  --type-micro-4-family: "DM Sans", sans-serif;
  --type-micro-4-size: 14px;
  --type-micro-4-weight: 700;
  --type-micro-4-line-height: 1.29;
  --type-micro-4-letter-spacing: 0.129em;
  --type-micro-4-transform: uppercase;
  /* Spacing */
  --space-base: 5px;
  --space-1: 1px;
  --space-2: 2px;
  --space-3: 5px;
  --space-4: 8px;
  --space-5: 10px;
  --space-6: 15px;
  --space-7: 20px;
  --space-8: 25px;
  --space-9: 28px;
  --space-10: 30px;
  --space-11: 35px;
  --space-12: 40px;
  --space-13: 50px;
  --space-14: 55px;
  --space-15: 57px;
  --space-16: 72px;
  --container-width: 1320px;
  --gutter-390: 20px;
  --gutter-768: 45px;
  --gutter-1024: 45px;
  --gutter-1440: 15px;
  /* Shape */
  --radius-pill: 9999px;
  --shadow-2: 0 0 40px rgba(0, 0, 0, 0.08);
  --shadow-1: 0 2px 24px -2px rgba(0, 0, 0, 0.14);
  --shadow-3: 0 3px 46px rgba(0, 0, 0, 0.1);
  /* Motion */
  --duration-base: 300ms;
  --easing-base: ease;

  /* Site aliases (rn-) */
  --rn-font: "DM Sans", "Inter", "Manrope", sans-serif;
  --rn-ink: var(--color-text-primary);
  --rn-ink-deep: var(--color-surface-5);
  --rn-teal: var(--color-text-link);
  --rn-teal-dark: #0a5c64;
  --rn-blue: var(--color-text-8);
  --rn-blue-dark: #0c395f;
  --rn-orange: var(--color-accent-primary);
  --rn-amber: var(--color-text-inverse-3);
  --rn-grey: var(--color-surface-2);
  --rn-line: var(--color-border-3);
  --rn-soft: rgba(34, 38, 38, 0.82);
  --rn-split: 34%;
  --rn-header-h: 96px;
  --rn-gutter: 30px;
  --rn-wrap: var(--container-width);
  --rn-sec-pad: 110px;
}

/* ---------- Reset & base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  overflow-x: hidden;
  overflow-x: clip;
}
body {
  max-width: 1920px;
  min-width: 375px;
  margin: 0 auto;
  font-family: var(--rn-font);
  font-size: var(--font-size-base);
  font-weight: 400;
  line-height: 1.78;
  color: var(--rn-ink);
  background: #fff;
  overflow-x: hidden;
  overflow-x: clip;
  -webkit-font-smoothing: antialiased;
}
html.rn-menu-open { overflow: hidden; }
h1, h2, h3, h4, h5, h6, p, figure, blockquote, dl, dd { margin: 0; }
ul, ol { margin: 0; padding: 0; list-style: none; }
img, svg, video { display: block; max-width: 100%; height: auto; }
a { color: var(--rn-teal); text-decoration: none; transition: color var(--duration-base) var(--easing-base), background-color var(--duration-base) var(--easing-base), border-color var(--duration-base) var(--easing-base); }
a:hover { color: var(--rn-teal-dark); }
button, input, textarea, select { font: inherit; color: inherit; }
button { cursor: pointer; }
strong, b { font-weight: 700; color: inherit; }
h1, h2, h3, h4, h5, h6 { font-family: var(--rn-font); font-weight: 700; color: var(--rn-ink); line-height: 1.05; letter-spacing: -0.022em; word-spacing: 0.04em; }
section[id] { scroll-margin-top: calc(var(--rn-header-h) - 8px); }
:focus-visible { outline: 2px dotted var(--rn-ink); outline-offset: 2px; }
.rn-dark :focus-visible { outline-color: #fff; }
.rn-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---------- Layout helpers ---------- */
.rn-wrap { width: min(100% - 2 * var(--rn-gutter), var(--rn-wrap)); margin-inline: auto; }
.rn-sec { position: relative; padding-block: var(--rn-sec-pad); }
.rn-bg-grey { background: var(--rn-grey); }
.rn-dark { background: var(--rn-ink-deep); color: var(--color-text-inverse); }
.rn-dark h1, .rn-dark h2, .rn-dark h3, .rn-dark h4 { color: #fff; }
.rn-dark strong { color: #fff; }
.rn-grid > *, .rn-flex > * { min-width: 0; }

/* ---------- Typography ---------- */
h1 { font-size: clamp(31px, 4.3vw, 62px); letter-spacing: -0.024em; }
h2 { font-size: 57px; line-height: 1.04; letter-spacing: -0.024em; }
h3 { font-size: 30px; line-height: 1.12; }
h4 { font-size: 22px; line-height: 1.25; letter-spacing: -0.01em; }
.rn-lead { font-size: 22px; font-weight: 500; line-height: 1.4; letter-spacing: -0.01em; }
.rn-small { font-size: 16px; line-height: 1.6; }

/* Eyebrow (small uppercase label above a heading) */
.rn-eyebrow {
  display: inline-block;
  margin-bottom: 18px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.29;
  letter-spacing: 0.129em;
  text-transform: uppercase;
  color: var(--rn-ink);
}
.rn-eyebrow--light, .rn-dark .rn-eyebrow { color: var(--rn-amber); }

/* Section head with accent bar under the h2 */
.rn-head { max-width: 860px; margin-bottom: 56px; }
.rn-head h2::after {
  content: "";
  display: none;
}
.rn-head p { margin-top: 24px; color: var(--rn-soft); }
.rn-head--center { margin-inline: auto; text-align: center; }
.rn-head--center h2::after { margin-inline: auto; }
.rn-head--light h2 { color: #fff; }
.rn-head--light p { color: rgba(255, 255, 255, 0.88); }

/* ---------- Buttons ---------- */
.rn-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 59px;
  padding: 19px 42px;
  border: 2px solid transparent;
  border-radius: 0;
  font-family: var(--rn-font);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: background-color var(--duration-base) var(--easing-base), color var(--duration-base) var(--easing-base), border-color var(--duration-base) var(--easing-base), box-shadow var(--duration-base) var(--easing-base), transform var(--duration-base) var(--easing-base);
}
.rn-btn img { width: 20px; height: 20px; flex: 0 0 auto; transition: transform var(--duration-base) var(--easing-base), filter var(--duration-base) var(--easing-base); }
.rn-btn:hover img, .rn-btn:focus-visible img { transform: translateX(4px); }
.rn-btn:hover { transform: translateY(-2px); }

.rn-btn--primary, .rn-btn--primary:visited { background: var(--rn-teal); border-color: var(--rn-teal); color: #fff; }
.rn-btn--primary:hover, .rn-btn--primary:focus-visible { background: var(--rn-teal-dark); border-color: var(--rn-teal-dark); color: #fff; box-shadow: 0 8px 22px rgba(19, 114, 123, 0.35); }

.rn-btn--blue, .rn-btn--blue:visited { background: var(--rn-blue); border-color: var(--rn-blue); color: #fff; }
.rn-btn--blue:hover, .rn-btn--blue:focus-visible { background: var(--rn-blue-dark); border-color: var(--rn-blue-dark); color: #fff; box-shadow: 0 8px 22px rgba(19, 75, 123, 0.35); }

.rn-btn--accent, .rn-btn--accent:visited { background: var(--rn-orange); border-color: var(--rn-orange); color: var(--rn-ink-deep); }
.rn-btn--accent:hover, .rn-btn--accent:focus-visible { background: var(--rn-amber); border-color: var(--rn-amber); color: var(--rn-ink-deep); box-shadow: 0 8px 22px rgba(237, 128, 49, 0.4); }

.rn-btn--outline, .rn-btn--outline:visited { background: transparent; border-color: var(--rn-ink); color: var(--rn-ink); }
.rn-btn--outline:hover, .rn-btn--outline:focus-visible { background: var(--rn-ink); border-color: var(--rn-ink); color: #fff; }
.rn-btn--outline:hover img, .rn-btn--outline:focus-visible img { filter: brightness(0) invert(1); }

.rn-btn--light, .rn-btn--light:visited { background: transparent; border-color: #fff; color: #fff; }
.rn-btn--light:hover, .rn-btn--light:focus-visible { background: #fff; border-color: #fff; color: var(--rn-ink-deep); }
.rn-btn--light:hover img, .rn-btn--light:focus-visible img { filter: brightness(0); }

/* Text link with arrow */
.rn-link { display: inline-flex; align-items: center; gap: 10px; font-weight: 700; color: var(--rn-teal); border-bottom: 2px solid transparent; }
.rn-link:hover, .rn-link:focus-visible { color: var(--rn-teal-dark); border-bottom-color: currentColor; }
.rn-dark .rn-link { color: var(--rn-amber); }
.rn-dark .rn-link:hover { color: #fff; }

/* Phone links inside text */
a[href^="tel:"] { font-weight: 700; }
:where(a[href^="tel:"]):hover, :where(a[href^="tel:"]):focus-visible { color: var(--rn-teal-dark); text-decoration: underline; text-underline-offset: 3px; }

/* ---------- Card ---------- */
.rn-card {
  position: relative;
  padding: 40px 35px;
  background: #fff;
  border: 1px solid var(--color-border-5);
  box-shadow: var(--shadow-1);
  transition: transform var(--duration-base) var(--easing-base), box-shadow var(--duration-base) var(--easing-base), background-color var(--duration-base) var(--easing-base);
}
.rn-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-3); }
.rn-card--grey { background: var(--rn-grey); border-color: transparent; box-shadow: none; }
.rn-card--dark { background: var(--rn-ink-deep); border-color: var(--rn-ink-deep); color: var(--color-text-inverse); }
.rn-card--dark h3, .rn-card--dark h4 { color: #fff; }
.rn-card__icon { position: relative; display: block; width: 64px; height: 64px; margin-bottom: 26px; background: var(--rn-grey); }
.rn-card__icon > img { position: absolute; top: 50%; left: 50%; width: 30px; height: 30px; transform: translate(-50%, -50%); }

/* ---------- Reveal on scroll (hidden only when JS is active) ---------- */
html.rn-js .rn-reveal { opacity: 0; transform: translateY(60px); transition: opacity 0.75s ease, transform 0.75s ease; }
html.rn-js .rn-reveal--left { transform: translateX(-60px); }
html.rn-js .rn-reveal--right { transform: translateX(60px); }
html.rn-js .rn-reveal--fade { transform: none; }
html.rn-js .rn-reveal.rn-in { opacity: 1; transform: none; }
.rn-d1 { transition-delay: 0.08s !important; }
.rn-d2 { transition-delay: 0.16s !important; }
.rn-d3 { transition-delay: 0.24s !important; }
.rn-d4 { transition-delay: 0.32s !important; }
.rn-d5 { transition-delay: 0.4s !important; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  html.rn-js .rn-reveal { opacity: 1; transform: none; transition: none; }
}

/* ---------- Form fields (shared by contact form) ---------- */
.rn-form { display: grid; gap: 16px; }
.rn-form__title { font-size: 30px; margin-bottom: 6px; }
.rn-form__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.rn-form__field { min-width: 0; }
.rn-form__input, .rn-form__textarea {
  display: block;
  width: 100%;
  padding: 14px 2px 12px;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--rn-line);
  border-radius: 0;
  font-size: 16px;
  line-height: 1.4;
  color: var(--rn-ink);
  transition: border-color var(--duration-base) var(--easing-base), box-shadow var(--duration-base) var(--easing-base);
}
.rn-form__textarea { min-height: 110px; resize: vertical; }
.rn-form__input::placeholder, .rn-form__textarea::placeholder { color: var(--color-text-muted); }
.rn-form__input:hover, .rn-form__textarea:hover { border-color: var(--rn-ink); }
.rn-form__input:focus, .rn-form__textarea:focus { outline: none; border-bottom-color: var(--rn-teal); box-shadow: 0 2px 0 0 var(--rn-teal); }
.rn-form__error { margin-top: 6px; padding-left: 8px; border-left: 3px solid var(--rn-orange); font-size: 14px; font-weight: 500; line-height: 1.4; color: var(--rn-ink); }
.rn-form__submit { width: 100%; }
.rn-form__success { padding: 16px 18px; border-left: 4px solid var(--rn-teal); background: var(--rn-grey); font-weight: 500; color: var(--rn-ink); }

/* ==========================================================================
   Header (fixed; transparent over the hero photo, solid after scroll)
   ========================================================================== */
.rn-nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  max-width: 1920px;
  margin: 0 auto;
  background: #fff;
  box-shadow: 0 1px 0 var(--color-border-5);
  transition: background-color var(--duration-base) var(--easing-base), box-shadow var(--duration-base) var(--easing-base);
}
.rn-nav--solid { box-shadow: var(--shadow-2); }
.rn-nav__inner { display: grid; grid-template-columns: var(--rn-split) minmax(0, 1fr); align-items: stretch; min-height: var(--rn-header-h); }
.rn-nav__left { display: flex; align-items: center; min-width: 0; padding-left: 40px; transition: background var(--duration-base) var(--easing-base); }
.rn-nav__right { display: flex; align-items: center; gap: 20px; min-width: 0; padding: 0 32px; transition: background-color var(--duration-base) var(--easing-base); }

.rn-nav__brand { display: inline-flex; align-items: center; gap: 12px; min-width: 0; color: var(--rn-ink); }
.rn-nav__brand:hover { color: var(--rn-ink); }
.rn-nav__mark { position: relative; display: block; flex: 0 0 auto; width: 42px; height: 42px; background: var(--rn-grey); transition: background-color var(--duration-base) var(--easing-base); }
.rn-nav__mark img { position: absolute; top: 50%; left: 50%; width: 26px; height: 26px; transform: translate(-50%, -50%); }
.rn-nav__mark-light { display: none; }
.rn-nav__brand-txt { display: flex; flex-direction: column; min-width: 0; line-height: 1.15; }
.rn-nav__brand-txt strong { font-size: 22px; font-weight: 700; letter-spacing: -0.025em; color: var(--rn-ink); white-space: nowrap; }
.rn-nav__brand-txt small { margin-top: 3px; font-size: 13px; font-weight: 500; color: var(--rn-soft); white-space: nowrap; }

.rn-nav__menu { display: flex; align-items: center; flex: 1 1 auto; gap: 12px; min-width: 0; }
.rn-nav__link { position: relative; display: block; padding: 18px 0; font-size: 14px; font-weight: 500; line-height: 1.2; color: var(--rn-ink); white-space: nowrap; }
.rn-nav__link::after { content: ""; position: absolute; left: 0; bottom: 10px; width: 0; height: 2px; background: var(--rn-teal); transition: width var(--duration-base) var(--easing-base); }
.rn-nav__link:hover, .rn-nav__link:focus-visible, .rn-nav__link.is-active { color: var(--rn-teal); }
.rn-nav__link:hover::after, .rn-nav__link:focus-visible::after, .rn-nav__link.is-active::after { width: 100%; }

.rn-nav__phone {
  position: relative;
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 10px;
  padding: 11px 16px;
  border: 2px solid var(--rn-ink);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.1;
  color: var(--rn-ink);
  white-space: nowrap;
  transition: background-color var(--duration-base) var(--easing-base), color var(--duration-base) var(--easing-base), border-color var(--duration-base) var(--easing-base);
}
.rn-nav__phone img { width: 20px; height: 20px; }
.rn-nav__phone-ic-hover { display: none; }
.rn-nav__phone:hover, .rn-nav__phone:focus-visible { background: var(--rn-teal); border-color: var(--rn-teal); color: #fff; text-decoration: none; }
.rn-nav__phone:hover .rn-nav__phone-ic, .rn-nav__phone:focus-visible .rn-nav__phone-ic { display: none; }
.rn-nav__phone:hover .rn-nav__phone-ic-hover, .rn-nav__phone:focus-visible .rn-nav__phone-ic-hover { display: block; }

.rn-nav__burger { display: none; position: relative; width: 46px; height: 46px; padding: 0; border: 0; background: transparent; color: var(--rn-ink); }
.rn-nav__burger span { position: absolute; left: 10px; right: 10px; height: 2px; background: currentColor; transition: background-color var(--duration-base) var(--easing-base), transform var(--duration-base) var(--easing-base); }
.rn-nav__burger span:nth-child(1) { top: 15px; }
.rn-nav__burger span:nth-child(2) { top: 22px; }
.rn-nav__burger span:nth-child(3) { top: 29px; }
.rn-nav__burger:hover span, .rn-nav__burger:focus-visible span { background: var(--rn-teal); }

/* Top state: header lies over the hero photo (class set by JS only) */
.rn-nav--top { background: transparent; box-shadow: none; }
.rn-nav--top .rn-nav__left { background: linear-gradient(180deg, rgba(14, 22, 24, 0.82) 0%, rgba(14, 22, 24, 0.45) 60%, rgba(14, 22, 24, 0) 100%); }
.rn-nav--top .rn-nav__right { background: #fff; }
.rn-nav--top .rn-nav__brand-txt strong { color: #fff; }
.rn-nav--top .rn-nav__brand-txt small { color: rgba(255, 255, 255, 0.86); }
.rn-nav--top .rn-nav__mark { background: rgba(255, 255, 255, 0.16); }
.rn-nav--top .rn-nav__mark-dark { display: none; }
.rn-nav--top .rn-nav__mark-light { display: block; }

/* ---------- Drawer (full-screen mobile menu) ---------- */
.rn-drawer {
  position: fixed;
  inset: 0;
  z-index: 1100;
  display: flex;
  flex-direction: column;
  height: 100vh;
  height: 100dvh;
  overflow-y: auto;
  background: var(--color-surface-4);
  color: #fff;
  transform: translateX(100%);
  visibility: hidden;
  transition: transform 0.35s ease, visibility 0s linear 0.35s;
}
.rn-drawer.is-open { transform: translateX(0); visibility: visible; transition: transform 0.35s ease, visibility 0s; }
.rn-drawer__top { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 28px 45px; }
.rn-drawer__brand { display: inline-flex; align-items: center; gap: 12px; font-size: 26px; font-weight: 700; letter-spacing: -0.025em; color: #fff; }
.rn-drawer__brand:hover { color: var(--rn-amber); }
.rn-drawer__brand img { width: 30px; height: 30px; }
.rn-drawer__x { display: inline-flex; align-items: center; gap: 12px; padding: 8px 0; border: 0; background: transparent; font-size: 18px; color: var(--color-text-3); transition: color var(--duration-base) var(--easing-base); }
.rn-drawer__x:hover, .rn-drawer__x:focus-visible { color: #fff; }
.rn-drawer__x img { width: 26px; height: 26px; }
.rn-drawer__nav { display: flex; flex-direction: column; align-items: center; gap: 8px; margin: auto; padding: 24px 20px; }
.rn-drawer__nav a { display: inline-flex; align-items: center; gap: 18px; padding: 6px 0; font-size: 38px; font-weight: 700; line-height: 1.2; letter-spacing: -0.02em; color: var(--color-text-3); }
.rn-drawer__nav a img { width: 22px; height: 22px; opacity: 0.8; transition: transform var(--duration-base) var(--easing-base); }
.rn-drawer__nav a:hover, .rn-drawer__nav a:focus-visible { color: #fff; }
.rn-drawer__nav a:hover img, .rn-drawer__nav a:focus-visible img { transform: translateX(6px); opacity: 1; }
.rn-drawer__foot { display: flex; flex-direction: column; align-items: center; gap: 18px; padding: 30px 45px 40px; border-top: 1px solid var(--color-border-1); text-align: center; }
.rn-drawer__phone { display: inline-flex; align-items: center; gap: 12px; font-size: 30px; font-weight: 700; letter-spacing: -0.01em; color: #fff; }
.rn-drawer__phone img { width: 26px; height: 26px; }
.rn-drawer__phone:hover, .rn-drawer__phone:focus-visible { color: var(--rn-amber); text-decoration: underline; text-underline-offset: 5px; }
.rn-drawer__note { font-size: 15px; line-height: 1.5; color: var(--color-text-3); }

/* ---------- Right rail (3 black tabs, desktop only) ---------- */
.rn-rail { position: fixed; right: 0; top: 50%; z-index: 900; display: flex; flex-direction: column; gap: 1px; transform: translateY(-50%); }
.rn-rail__tab { position: relative; display: block; width: 68px; height: 68px; background: var(--rn-ink-deep); transition: background-color var(--duration-base) var(--easing-base); }
.rn-rail__tab img { position: absolute; top: 50%; left: 50%; width: 26px; height: 26px; transform: translate(-50%, -50%); }
.rn-rail__label {
  position: absolute;
  right: 100%;
  top: 0;
  display: flex;
  align-items: center;
  height: 100%;
  padding: 0 24px;
  background: var(--rn-ink-deep);
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  transform: translateX(14px);
  transition: opacity var(--duration-base) var(--easing-base), transform var(--duration-base) var(--easing-base), visibility 0s linear var(--duration-base), background-color var(--duration-base) var(--easing-base);
}
.rn-rail__tab:hover, .rn-rail__tab:focus-visible { background: var(--rn-teal); }
.rn-rail__tab:hover .rn-rail__label, .rn-rail__tab:focus-visible .rn-rail__label { opacity: 1; visibility: visible; transform: none; background: var(--rn-teal); transition-delay: 0s; }

/* ---------- FAB (call button) ---------- */
.rn-fab { position: fixed; right: 22px; bottom: 22px; z-index: 9999; }
.rn-fab__btn {
  position: relative;
  display: block;
  width: 65px;
  height: 65px;
  border-radius: 50%;
  background: var(--rn-orange);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.28);
  animation: rn-pulse 2.4s ease-out infinite;
  transition: background-color var(--duration-base) var(--easing-base), transform var(--duration-base) var(--easing-base);
}
.rn-fab__btn img { position: absolute; top: 50%; left: 50%; width: 28px; height: 28px; transform: translate(-50%, -50%); }
.rn-fab__ic-hover { display: none; }
.rn-fab__btn:hover, .rn-fab__btn:focus-visible { background: var(--rn-ink-deep); transform: scale(1.06); }
.rn-fab__btn:hover .rn-fab__ic, .rn-fab__btn:focus-visible .rn-fab__ic { display: none; }
.rn-fab__btn:hover .rn-fab__ic-hover, .rn-fab__btn:focus-visible .rn-fab__ic-hover { display: block; }
@keyframes rn-pulse {
  0% { box-shadow: 0 6px 20px rgba(0, 0, 0, 0.28), 0 0 0 0 rgba(237, 128, 49, 0.55); }
  70% { box-shadow: 0 6px 20px rgba(0, 0, 0, 0.28), 0 0 0 20px rgba(237, 128, 49, 0); }
  100% { box-shadow: 0 6px 20px rgba(0, 0, 0, 0.28), 0 0 0 0 rgba(237, 128, 49, 0); }
}
@media (prefers-reduced-motion: reduce) { .rn-fab__btn { animation: none; } }

/* ==========================================================================
   Footer
   ========================================================================== */
.rn-foot { padding: 100px 0 40px; background: var(--rn-ink-deep); color: var(--color-text-3); }
.rn-foot__top { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1.3fr; gap: 50px; }
.rn-foot__top > * { min-width: 0; }
.rn-foot__brand { display: inline-flex; align-items: center; gap: 12px; margin-bottom: 34px; color: #fff; }
.rn-foot__brand:hover { color: var(--rn-amber); }
.rn-foot__brand img { width: 34px; height: 34px; }
.rn-foot__brand-txt { display: flex; flex-direction: column; line-height: 1.15; }
.rn-foot__brand-name { font-size: 22px; font-weight: 700; letter-spacing: -0.025em; color: #fff; }
.rn-foot__brand-sub { margin-top: 3px; font-size: 13px; font-weight: 500; color: var(--color-text-3); }
.rn-foot__claim { max-width: 460px; font-size: 47px; font-weight: 700; line-height: 1.02; letter-spacing: -0.03em; color: #fff; }
.rn-foot__about { max-width: 440px; margin-top: 26px; font-size: 16px; line-height: 1.7; color: var(--color-text-3); }
.rn-foot__col-title { margin-bottom: 22px; font-size: 18px; font-weight: 700; letter-spacing: 0; color: #fff; }
.rn-foot__links { display: flex; flex-direction: column; gap: 12px; }
.rn-foot__links a, .rn-foot__contact a, .rn-foot__region, .rn-foot__legal a { overflow-wrap: anywhere; color: var(--color-text-3); }
.rn-foot__links a { font-size: 16px; line-height: 1.4; }
.rn-foot__links a:hover, .rn-foot__links a:focus-visible, .rn-foot__contact a:hover, .rn-foot__contact a:focus-visible, .rn-foot__legal a:hover, .rn-foot__legal a:focus-visible { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.rn-foot__contact { display: flex; flex-direction: column; gap: 14px; }
.rn-foot__contact li { position: relative; padding-left: 30px; font-size: 16px; line-height: 1.5; overflow-wrap: anywhere; }
.rn-foot__contact li img { position: absolute; left: 0; top: 4px; width: 18px; height: 18px; }
.rn-foot__tel { font-size: 20px; font-weight: 700; color: #fff !important; }
.rn-foot__cta { display: flex; flex-wrap: wrap; gap: 15px; margin-top: 56px; padding-top: 40px; border-top: 1px solid var(--color-border-1); }
.rn-foot__regions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin-top: 36px; }
.rn-foot__regions-label { font-size: 14px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: #fff; }
.rn-foot__regions-row { display: flex; flex-wrap: wrap; gap: 8px 22px; }
.rn-foot__region { font-size: 15px; }
.rn-foot__region:hover, .rn-foot__region:focus-visible { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.rn-foot__bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 30px; margin-top: 44px; padding-top: 28px; border-top: 1px solid var(--color-border-1); }
.rn-foot__copy { font-size: 16px; font-weight: 300; line-height: 1.6; color: var(--color-text-3); }
.rn-foot__legal { display: flex; gap: 28px; font-size: 16px; }

/* ==========================================================================
   Sections (each session fills its own marker below)
   ========================================================================== */

/* === section: start === */
/* Hero: full-height photo on the left, white content panel on the right */
.rn-hero { position: relative; display: grid; grid-template-columns: var(--rn-split) minmax(0, 1fr); min-height: 100vh; background: #fff; }
.rn-hero > * { min-width: 0; }
.rn-hero__media { position: relative; min-height: 480px; background: var(--rn-ink-deep); }
.rn-hero__media > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 22%; }
.rn-hero__inner { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 150px 90px 80px 70px; }
.rn-hero__inner > * { max-width: 780px; }
.rn-hero__inner > .rn-eyebrow { margin-bottom: 22px; }
.rn-hero__title { margin-bottom: 28px; font-size: clamp(31px, 4.3vw, 62px); color: var(--rn-ink); }
.rn-hero__key { color: var(--rn-ink); }
.rn-hero__tail { color: var(--rn-teal); }
.rn-hero__text { max-width: 640px; margin-bottom: 38px; font-size: 19px; line-height: 1.7; color: var(--rn-soft); }
.rn-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 30px; }
.rn-hero__phone { display: inline-flex; align-items: center; gap: 14px; font-size: 20px; font-weight: 700; line-height: 1.2; color: var(--rn-ink); white-space: nowrap; cursor: pointer; }
.rn-hero__phone-ic { position: relative; display: block; flex: 0 0 auto; width: 59px; height: 59px; background: var(--rn-grey); transition: background-color var(--duration-base) var(--easing-base); }
.rn-hero__phone-ic > img { position: absolute; top: 50%; left: 50%; width: 24px; height: 24px; transform: translate(-50%, -50%); }
.rn-hero__phone-ic-light { display: none; }
.rn-hero__phone:hover, .rn-hero__phone:focus-visible { color: var(--rn-teal); text-decoration: underline; text-underline-offset: 5px; }
.rn-hero__phone:hover .rn-hero__phone-ic, .rn-hero__phone:focus-visible .rn-hero__phone-ic { background: var(--rn-teal); }
.rn-hero__phone:hover .rn-hero__phone-ic-dark, .rn-hero__phone:focus-visible .rn-hero__phone-ic-dark { display: none; }
.rn-hero__phone:hover .rn-hero__phone-ic-light, .rn-hero__phone:focus-visible .rn-hero__phone-ic-light { display: block; }
.rn-hero__facts { display: grid; grid-template-columns: repeat(4, minmax(0, auto)); justify-content: start; gap: 0; margin-top: 56px; }
.rn-hero__facts li { padding: 2px 28px; border-left: 1px solid var(--rn-line); }
.rn-hero__facts li:first-child { padding-left: 0; border-left: 0; }
.rn-hero__facts b { display: block; font-size: 32px; font-weight: 700; line-height: 1.1; letter-spacing: -0.03em; font-variant-numeric: lining-nums tabular-nums; color: var(--rn-ink); white-space: nowrap; }
.rn-hero__facts span { display: block; max-width: 160px; margin-top: 6px; font-size: 14px; line-height: 1.35; color: var(--rn-soft); }
.rn-hero__slogan { position: relative; margin-top: 40px; padding-left: 18px; font-size: 15px; font-weight: 500; line-height: 1.4; color: var(--rn-soft); }
.rn-hero__slogan::before { content: ""; position: absolute; left: 0; top: 3px; bottom: 3px; width: 4px; background: var(--rn-orange); }
@media (max-width: 1200px) {
  .rn-hero__facts li { padding: 2px 20px; }
  .rn-hero__facts b { font-size: 28px; }
}
@media (max-width: 1024px) {
  .rn-hero__inner > * { max-width: 100%; }
  .rn-hero__text { max-width: 680px; }
}
@media (max-width: 768px) {
  .rn-hero__inner { padding-top: 40px; padding-bottom: 56px; }
  .rn-hero__text { font-size: 18px; margin-bottom: 30px; }
  .rn-hero__facts { margin-top: 40px; }
}
@media (max-width: 560px) {
  .rn-hero__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 0; width: 100%; }
  .rn-hero__facts li { padding: 2px 14px 2px 18px; }
  .rn-hero__facts li:nth-child(odd) { padding-left: 0; border-left: 0; }
  .rn-hero__facts b { font-size: 24px; }
  .rn-hero__facts span { max-width: none; }
}
@media (max-width: 480px) {
  .rn-hero__inner { padding-top: 30px; padding-bottom: 48px; }
  .rn-hero__actions { flex-direction: column; align-items: stretch; gap: 16px; width: 100%; }
  .rn-hero__actions .rn-btn { width: 100%; }
  .rn-hero__phone { font-size: 19px; }
  .rn-hero__text { font-size: 17px; }
}
@media (max-width: 375px) {
  .rn-hero__facts b { font-size: 22px; }
  .rn-hero__phone-ic { width: 52px; height: 52px; }
}

/* === section: vertrauen === */
.rn-vertrauen { padding-block: 80px 90px; background: #fff; }
.rn-ver__title { margin-bottom: 36px; font-size: 22px; font-weight: 700; letter-spacing: -0.01em; text-align: center; color: var(--rn-ink); }
.rn-ver__row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px; }
.rn-ver__item { position: relative; display: grid; place-items: center; min-height: 190px; padding: 0 10px; text-align: center; }
.rn-ver__item + .rn-ver__item::before { content: ""; position: absolute; left: -15px; top: 18%; bottom: 18%; width: 1px; background: var(--rn-line); }
.rn-ver__num, .rn-ver__txt { grid-area: 1 / 1; min-width: 0; }
.rn-ver__num { font-size: 190px; font-weight: 700; line-height: 1; letter-spacing: -0.04em; font-variant-numeric: lining-nums; color: #edf1f1; user-select: none; }
.rn-ver__txt { position: relative; display: flex; flex-direction: column; align-items: center; gap: 4px; }
.rn-ver__txt strong { font-size: 21px; font-weight: 700; line-height: 1.2; letter-spacing: -0.01em; color: var(--rn-ink); }
.rn-ver__txt small { max-width: 240px; font-size: 15px; line-height: 1.4; color: var(--rn-soft); }
.rn-ver__chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin-top: 44px; }
.rn-ver__chips li { position: relative; padding: 14px 22px 14px 52px; background: var(--rn-grey); font-size: 15px; font-weight: 500; line-height: 1.35; color: var(--rn-ink); }
.rn-ver__chips li img { position: absolute; left: 20px; top: 50%; width: 22px; height: 22px; transform: translateY(-50%); }
.rn-ver__note { max-width: 840px; margin: 36px auto 0; font-size: 17px; line-height: 1.75; text-align: center; color: var(--rn-soft); }
@media (max-width: 1200px) {
  .rn-ver__num { font-size: 160px; }
}
@media (max-width: 1024px) {
  .rn-vertrauen { padding-block: 64px 70px; }
  .rn-ver__num { font-size: 140px; }
  .rn-ver__txt strong { font-size: 19px; }
}
@media (max-width: 768px) {
  .rn-ver__row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 20px; }
  .rn-ver__item + .rn-ver__item::before { display: none; }
  .rn-ver__item { min-height: 150px; }
  .rn-ver__num { font-size: 130px; }
  .rn-ver__chips { flex-direction: column; align-items: stretch; }
  .rn-ver__chips li { text-align: left; }
}
@media (max-width: 480px) {
  .rn-vertrauen { padding-block: 48px 52px; }
  .rn-ver__title { font-size: 19px; margin-bottom: 20px; }
  .rn-ver__num { font-size: 108px; }
  .rn-ver__item { min-height: 128px; padding: 0 4px; }
  .rn-ver__txt strong { font-size: 16px; }
  .rn-ver__txt small { font-size: 13px; }
  .rn-ver__note { font-size: 16px; text-align: left; }
}
@media (max-width: 375px) {
  .rn-ver__num { font-size: 96px; }
  .rn-ver__txt strong { font-size: 15px; }
}

/* === section: einstieg === */
.rn-einstieg { background: #fff; overflow: hidden; }
.rn-ein__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 70px; align-items: center; }
.rn-ein__grid > * { min-width: 0; }
.rn-ein__title { margin-bottom: 22px; font-size: clamp(28px, 3.1vw, 46px); }
.rn-ein__sub { margin-bottom: 20px; font-size: 22px; font-weight: 500; line-height: 1.35; letter-spacing: -0.01em; color: var(--rn-ink); }
.rn-ein__text p + p { margin-top: 16px; }
.rn-ein__text > p:not(.rn-ein__sub) { color: var(--rn-soft); font-size: 17px; line-height: 1.75; }
.rn-ein__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 26px; margin-top: 38px; }
.rn-ein__phone { display: inline-flex; align-items: center; gap: 14px; font-size: 19px; font-weight: 700; color: var(--rn-ink); white-space: nowrap; cursor: pointer; }
.rn-ein__phone-ic { position: relative; display: block; flex: 0 0 auto; width: 59px; height: 59px; background: var(--rn-grey); transition: background-color var(--duration-base) var(--easing-base); }
.rn-ein__phone-ic > img { position: absolute; top: 50%; left: 50%; width: 24px; height: 24px; transform: translate(-50%, -50%); }
.rn-ein__phone-ic-light { display: none; }
.rn-ein__phone:hover, .rn-ein__phone:focus-visible { color: var(--rn-teal); text-decoration: underline; text-underline-offset: 5px; }
.rn-ein__phone:hover .rn-ein__phone-ic, .rn-ein__phone:focus-visible .rn-ein__phone-ic { background: var(--rn-teal); }
.rn-ein__phone:hover .rn-ein__phone-ic-dark, .rn-ein__phone:focus-visible .rn-ein__phone-ic-dark { display: none; }
.rn-ein__phone:hover .rn-ein__phone-ic-light, .rn-ein__phone:focus-visible .rn-ein__phone-ic-light { display: block; }
.rn-ein__collage { position: relative; aspect-ratio: 1 / 1.14; }
.rn-ein__img { position: absolute; object-fit: cover; height: auto; }
.rn-ein__img--a { top: 0; right: 0; width: 58%; aspect-ratio: 3 / 4; }
.rn-ein__img--b { bottom: 0; left: 0; width: 56%; aspect-ratio: 4 / 5; box-shadow: var(--shadow-3); }
@media (max-width: 1200px) {
  .rn-ein__grid { gap: 48px; }
}
@media (max-width: 1024px) {
  .rn-ein__grid { grid-template-columns: minmax(0, 1fr); gap: 44px; }
  .rn-ein__collage { max-width: 640px; width: 100%; margin-inline: auto; }
}
@media (max-width: 768px) {
  .rn-ein__collage { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; aspect-ratio: auto; align-items: end; }
  .rn-ein__img { position: static; width: 100%; box-shadow: none; }
  .rn-ein__img--a { aspect-ratio: 3 / 4; }
  .rn-ein__img--b { aspect-ratio: 4 / 5; }
  .rn-ein__sub { font-size: 20px; }
}
@media (max-width: 480px) {
  .rn-ein__actions { flex-direction: column; align-items: stretch; gap: 16px; }
  .rn-ein__actions .rn-btn { width: 100%; }
  .rn-ein__text > p:not(.rn-ein__sub) { font-size: 16px; }
  .rn-ein__sub { font-size: 18px; }
  .rn-ein__collage { gap: 8px; }
}
@media (max-width: 375px) {
  .rn-ein__phone { font-size: 17px; }
}

/* === section: leistungen === */
.rn-leistungen { background: var(--rn-grey); }
.rn-leistungen .rn-head--center { max-width: 980px; }
.rn-lst__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.rn-lst__grid > * { min-width: 0; }
.rn-lst__card { position: relative; padding: 38px 24px 30px; background: #fff; text-align: center; transition: transform var(--duration-base) var(--easing-base), box-shadow var(--duration-base) var(--easing-base); }
.rn-lst__card:hover { transform: translateY(-5px); box-shadow: var(--shadow-3); }
.rn-lst__ic { position: relative; display: block; width: 64px; height: 64px; margin: 0 auto 20px; }
.rn-lst__ic > img { position: absolute; top: 50%; left: 50%; width: 40px; height: 40px; transform: translate(-50%, -50%); }
.rn-lst__card h3 { margin-bottom: 10px; font-size: 20px; line-height: 1.22; letter-spacing: -0.015em; color: var(--rn-ink); overflow-wrap: anywhere; }
.rn-lst__card p { font-size: 15px; line-height: 1.55; color: var(--rn-soft); }
.rn-lst__dots { display: block; width: 6px; height: 6px; margin: 22px auto 0; border-radius: 50%; background: var(--rn-line); box-shadow: 14px 0 var(--rn-line), -14px 0 var(--rn-line); transition: background-color var(--duration-base) var(--easing-base), box-shadow var(--duration-base) var(--easing-base); }
.rn-lst__card:hover .rn-lst__dots { background: var(--rn-orange); box-shadow: 14px 0 var(--rn-orange), -14px 0 var(--rn-orange); }
.rn-lst__more { margin-top: 20px; }
.rn-lst__sum { display: flex; align-items: center; justify-content: center; gap: 12px; padding: 18px 20px; border: 2px solid var(--rn-ink); background: transparent; font-size: 16px; font-weight: 700; color: var(--rn-ink); list-style: none; cursor: pointer; transition: background-color var(--duration-base) var(--easing-base), color var(--duration-base) var(--easing-base); }
.rn-lst__sum::-webkit-details-marker { display: none; }
.rn-lst__sum img { width: 20px; height: 20px; transition: transform var(--duration-base) var(--easing-base), filter var(--duration-base) var(--easing-base); }
.rn-lst__sum:hover, .rn-lst__sum:focus-visible { background: var(--rn-ink); color: #fff; }
.rn-lst__sum:hover img, .rn-lst__sum:focus-visible img { filter: brightness(0) invert(1); }
.rn-lst__sum-close { display: none; }
.rn-lst__more[open] .rn-lst__sum-open { display: none; }
.rn-lst__more[open] .rn-lst__sum-close { display: inline; }
.rn-lst__more[open] .rn-lst__sum img { transform: rotate(180deg); }
.rn-lst__grid--more { margin-top: 20px; }
@media (max-width: 1200px) {
  .rn-lst__card { padding: 34px 18px 26px; }
}
@media (max-width: 1024px) {
  .rn-lst__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
  .rn-lst__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .rn-lst__card h3 { font-size: 18px; }
}
@media (max-width: 480px) {
  .rn-lst__grid { gap: 10px; }
  .rn-lst__card { padding: 24px 12px 20px; }
  .rn-lst__ic { width: 52px; height: 52px; margin-bottom: 14px; }
  .rn-lst__ic > img { width: 34px; height: 34px; }
  .rn-lst__card h3 { font-size: 16px; }
  .rn-lst__card p { font-size: 13.5px; line-height: 1.5; }
  .rn-lst__dots { margin-top: 16px; }
  .rn-lst__sum { padding: 15px 14px; font-size: 15px; }
}
@media (max-width: 375px) {
  .rn-lst__card h3 { font-size: 15px; }
  .rn-lst__card p { font-size: 13px; }
}

/* === section: verfahren === */
.rn-verfahren { background: #fff; }
.rn-vf__grid { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.7fr); gap: 70px; align-items: start; }
.rn-vf__grid > * { min-width: 0; }
.rn-vf__head { position: sticky; top: calc(var(--rn-header-h) + 24px); }
.rn-vf__head h2 { margin-bottom: 26px; font-size: clamp(32px, 3.3vw, 48px); }
.rn-vf__head .rn-lead { margin-bottom: 14px; color: var(--rn-ink); }
.rn-vf__head p:not(.rn-lead) { color: var(--rn-soft); font-size: 16px; line-height: 1.7; }
.rn-vf__cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.rn-vf__cards > * { min-width: 0; }
.rn-vf__card { padding: 36px 32px 32px; background: var(--rn-grey); transition: box-shadow var(--duration-base) var(--easing-base), background-color var(--duration-base) var(--easing-base); }
.rn-vf__card:hover { box-shadow: var(--shadow-3); }
.rn-vf__ic { position: relative; display: block; width: 64px; height: 64px; margin-bottom: 24px; background: #fff; }
.rn-vf__ic > img { position: absolute; top: 50%; left: 50%; width: 32px; height: 32px; transform: translate(-50%, -50%); }
.rn-vf__card h3 { margin-bottom: 20px; font-size: 24px; line-height: 1.15; color: var(--rn-ink); overflow-wrap: anywhere; }
.rn-vf__rows > div { padding: 12px 0; border-top: 1px solid var(--rn-line); }
.rn-vf__rows dt { margin-bottom: 3px; font-size: 12px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--rn-teal); }
.rn-vf__rows dd { margin: 0; font-size: 15px; line-height: 1.55; color: var(--rn-soft); }
.rn-vf__card--dark { background: var(--rn-ink-deep); }
.rn-vf__card--dark:hover { background: #1d2222; }
.rn-vf__card--dark h3 { color: #fff; }
.rn-vf__card--dark .rn-vf__rows > div { border-top-color: rgba(255, 255, 255, 0.18); }
.rn-vf__card--dark .rn-vf__rows dt { color: var(--rn-amber); }
.rn-vf__card--dark .rn-vf__rows dd { color: rgba(255, 255, 255, 0.9); }
@media (max-width: 1200px) {
  .rn-vf__grid { gap: 44px; }
  .rn-vf__card { padding: 30px 24px 26px; }
}
@media (max-width: 1024px) {
  .rn-vf__grid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .rn-vf__head { position: static; max-width: 720px; }
}
@media (max-width: 768px) {
  .rn-vf__cards { gap: 14px; }
  .rn-vf__card h3 { font-size: 22px; }
}
@media (max-width: 480px) {
  .rn-vf__cards { grid-template-columns: minmax(0, 1fr); }
  .rn-vf__card { padding: 26px 20px 22px; }
  .rn-vf__ic { width: 56px; height: 56px; margin-bottom: 18px; }
  .rn-vf__rows dd { font-size: 14.5px; }
}
@media (max-width: 375px) {
  .rn-vf__card h3 { font-size: 20px; }
}

/* === section: gruende === */
.rn-gruende { --rn-off: max(var(--rn-gutter), calc((min(100vw, 1920px) - var(--rn-wrap)) / 2)); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 38%); padding-block: 0; background: #fff; overflow: hidden; }
.rn-gru__body { min-width: 0; padding: var(--rn-sec-pad) 70px var(--rn-sec-pad) var(--rn-off); }
.rn-gru__body .rn-head { max-width: 640px; margin-bottom: 40px; }
.rn-gru__body .rn-head h2 { font-size: clamp(30px, 3.2vw, 46px); }
.rn-gru__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 48px; }
.rn-gru__item { position: relative; min-width: 0; padding: 26px 0 26px 80px; border-top: 1px solid var(--rn-line); }
.rn-gru__ic { position: absolute; top: 26px; left: 0; display: block; width: 60px; height: 60px; background: var(--rn-grey); transition: background-color var(--duration-base) var(--easing-base); }
.rn-gru__ic > img { position: absolute; top: 50%; left: 50%; width: 28px; height: 28px; transform: translate(-50%, -50%); }
.rn-gru__item:hover .rn-gru__ic { background: #dfeaea; }
.rn-gru__item h3 { margin-bottom: 8px; font-size: 21px; line-height: 1.2; letter-spacing: -0.015em; color: var(--rn-ink); overflow-wrap: anywhere; }
.rn-gru__item p { font-size: 15px; line-height: 1.6; color: var(--rn-soft); }
.rn-gru__media { position: relative; min-width: 0; min-height: 100%; background: var(--rn-ink-deep); }
.rn-gru__media > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; }
@media (max-width: 1200px) {
  .rn-gruende { grid-template-columns: minmax(0, 1fr) minmax(0, 32%); }
  .rn-gru__body { padding-right: 44px; }
  .rn-gru__list { column-gap: 32px; }
  .rn-gru__item { padding-left: 72px; }
  .rn-gru__ic { width: 54px; height: 54px; }
}
@media (max-width: 1024px) {
  .rn-gruende { grid-template-columns: minmax(0, 1fr); }
  .rn-gru__media { order: -1; min-height: 0; aspect-ratio: 16 / 10; }
  .rn-gru__media > img { object-position: 50% 25%; }
  .rn-gru__body { padding: var(--rn-sec-pad) var(--rn-gutter); }
  .rn-gru__body .rn-head { max-width: none; }
}
@media (max-width: 768px) {
  .rn-gru__list { column-gap: 26px; }
  .rn-gru__item h3 { font-size: 19px; }
}
@media (max-width: 480px) {
  .rn-gru__list { grid-template-columns: minmax(0, 1fr); }
  .rn-gru__item { padding: 22px 0 22px 68px; }
  .rn-gru__ic { top: 22px; width: 50px; height: 50px; }
  .rn-gru__item p { font-size: 14.5px; }
}
@media (max-width: 375px) {
  .rn-gru__item { padding-left: 62px; }
  .rn-gru__ic { width: 46px; height: 46px; }
}

/* === section: szenarien === */
.rn-szenarien { overflow: hidden; padding-block: 90px; background: var(--rn-ink-deep); }
.rn-szn__media { position: absolute; inset: 0; }
.rn-szn__media > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 80% 50%; transform: scaleX(-1); }
.rn-szn__inner { position: relative; display: flex; justify-content: flex-end; }
.rn-szn__card { width: min(100%, 640px); padding: 48px 48px 22px; background: #fff; box-shadow: var(--shadow-3); }
.rn-szn__card h2 { margin-bottom: 26px; font-size: clamp(30px, 3vw, 42px); }
.rn-szn__item { padding: 22px 0; border-top: 1px solid var(--rn-line); }
.rn-szn__tag { display: inline-block; margin-bottom: 8px; padding: 3px 10px; background: var(--rn-grey); font-size: 12px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--rn-teal); }
.rn-szn__item h3 { margin-bottom: 8px; font-size: 20px; line-height: 1.2; letter-spacing: -0.015em; color: var(--rn-ink); }
.rn-szn__item p { font-size: 15px; line-height: 1.65; color: var(--rn-soft); }
@media (max-width: 1200px) {
  .rn-szn__card { width: min(100%, 580px); padding: 38px 36px 16px; }
}
@media (max-width: 1024px) {
  .rn-szenarien { padding-block: 0; background: var(--rn-grey); }
  .rn-szn__media { position: relative; inset: auto; aspect-ratio: 16 / 10; }
  .rn-szn__inner { justify-content: center; padding-block: 44px; }
  .rn-szn__card { width: min(100%, 720px); box-shadow: none; }
}
@media (max-width: 768px) {
  .rn-szn__card { padding: 32px 26px 12px; }
  .rn-szn__item { padding: 18px 0; }
}
@media (max-width: 480px) {
  .rn-szn__inner { padding-block: 32px; }
  .rn-szn__card { width: 100%; margin-inline: auto; padding: 26px 20px 8px; }
  .rn-szn__item p { font-size: 14.5px; }
}
@media (max-width: 375px) {
  .rn-szn__card { padding: 22px 16px 6px; }
  .rn-szn__item h3 { font-size: 18px; }
}

/* === section: vorher-nachher === */
.rn-vorher-nachher { --rn-off: max(var(--rn-gutter), calc((min(100vw, 1920px) - var(--rn-wrap)) / 2)); background: var(--rn-grey); overflow: hidden; }
.rn-vn__head { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 56px; align-items: end; margin-bottom: 44px; }
.rn-vn__head > * { min-width: 0; }
.rn-vn__title h2 { font-size: clamp(34px, 4vw, 57px); }
.rn-vn__intro { max-width: 520px; font-size: 16px; line-height: 1.65; color: var(--rn-soft); }
.rn-vn__arrows { display: flex; gap: 10px; }
.rn-vn__btn { position: relative; display: block; width: 46px; height: 46px; padding: 0; border: 1px solid var(--rn-ink); border-radius: 50%; background: transparent; cursor: pointer; transition: background-color var(--duration-base) var(--easing-base), border-color var(--duration-base) var(--easing-base); }
.rn-vn__btn > img { position: absolute; top: 50%; left: 50%; width: 20px; height: 20px; transform: translate(-50%, -50%); transition: filter var(--duration-base) var(--easing-base); }
.rn-vn__btn--prev > img { transform: translate(-50%, -50%) rotate(180deg); }
.rn-vn__btn:hover, .rn-vn__btn:focus-visible { background: var(--rn-ink); border-color: var(--rn-ink); }
.rn-vn__btn:hover > img, .rn-vn__btn:focus-visible > img { filter: brightness(0) invert(1); }
.rn-vn__track { display: flex; gap: 22px; padding-inline: var(--rn-off); overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--rn-off); scrollbar-width: thin; scrollbar-color: var(--rn-line) transparent; padding-bottom: 14px; }
.rn-vn__card { flex: 0 0 440px; min-width: 0; scroll-snap-align: start; }
.rn-vn__card--l { flex-basis: 620px; }
.rn-vn__card > img { width: 100%; height: 340px; object-fit: cover; }
.rn-vn__tag { display: block; margin: 20px 0 6px; font-size: 13px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--rn-teal); }
.rn-vn__card h3 { margin-bottom: 14px; font-size: 24px; line-height: 1.15; color: var(--rn-ink); }
.rn-vn__rows > div { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 14px; padding: 10px 0; border-top: 1px solid var(--rn-line); }
.rn-vn__rows dt { font-size: 13px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--rn-ink); }
.rn-vn__rows dd { margin: 0; font-size: 15px; line-height: 1.55; color: var(--rn-soft); }
@media (max-width: 1200px) {
  .rn-vn__head { gap: 36px; }
  .rn-vn__card { flex-basis: 400px; }
  .rn-vn__card--l { flex-basis: 540px; }
  .rn-vn__card > img { height: 300px; }
}
@media (max-width: 1024px) {
  .rn-vn__head { grid-template-columns: minmax(0, 1fr) auto; gap: 24px 30px; }
  .rn-vn__intro { grid-column: 1 / -1; grid-row: 2; max-width: 640px; }
  .rn-vn__arrows { grid-row: 1; grid-column: 2; align-self: end; }
}
@media (max-width: 768px) {
  .rn-vn__track { gap: 16px; }
  .rn-vn__card, .rn-vn__card--l { flex-basis: 78%; }
  .rn-vn__card > img { height: auto; aspect-ratio: 4 / 3; }
  .rn-vn__card h3 { font-size: 21px; }
}
@media (max-width: 480px) {
  .rn-vn__head { margin-bottom: 30px; }
  .rn-vn__card, .rn-vn__card--l { flex-basis: 85%; }
  .rn-vn__rows > div { grid-template-columns: 66px minmax(0, 1fr); gap: 10px; }
  .rn-vn__rows dd { font-size: 14.5px; }
  .rn-vn__btn { width: 42px; height: 42px; }
}
@media (max-width: 375px) {
  .rn-vn__card h3 { font-size: 19px; }
}

/* === section: ablauf === */
.rn-ablauf { background: #fff; }
.rn-abl__grid { display: grid; grid-template-columns: minmax(0, 35fr) minmax(0, 65fr); gap: 90px; align-items: start; }
.rn-abl__head { position: sticky; top: calc(var(--rn-header-h) + 30px); }
.rn-abl__head h2 { font-size: 46px; margin-bottom: 24px; }
.rn-abl__head .rn-lead { color: var(--rn-ink); margin-bottom: 16px; }
.rn-abl__note { font-size: 16px; line-height: 1.6; color: var(--rn-soft); }
.rn-abl__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 28px; margin-top: 32px; }
.rn-abl__tel { display: inline-flex; align-items: center; gap: 10px; font-size: 20px; font-weight: 700; color: var(--rn-ink); border-bottom: 2px solid transparent; transition: color var(--duration-base) var(--easing-base), border-color var(--duration-base) var(--easing-base); }
.rn-abl__tel:hover, .rn-abl__tel:focus-visible { color: var(--rn-teal); border-bottom-color: var(--rn-teal); }
.rn-abl__steps { position: relative; }
.rn-abl__step { position: relative; min-width: 0; padding: 6px 0 56px 46px; border-left: 1px solid var(--rn-line); }
.rn-abl__step:last-child { padding-bottom: 0; }
.rn-abl__step::before { content: ""; position: absolute; left: -8px; top: 14px; width: 15px; height: 15px; border-radius: 50%; background: var(--rn-teal); box-shadow: 0 0 0 6px #fff; }
.rn-abl__num { position: absolute; z-index: 0; right: 0; top: -22px; font-size: 150px; font-weight: 700; line-height: 1; letter-spacing: -0.04em; color: rgba(19, 114, 123, 0.09); pointer-events: none; user-select: none; font-variant-numeric: lining-nums; }
.rn-abl__step h3, .rn-abl__step p { position: relative; z-index: 1; }
.rn-abl__step h3 { margin-bottom: 10px; font-size: 28px; }
.rn-abl__step p { max-width: 560px; color: var(--rn-soft); }

/* === section: marken === */
.rn-marken { background: var(--rn-grey); }
.rn-mrk__top { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 70px; align-items: start; }
.rn-mrk__head h2 { font-size: 44px; }
.rn-mrk__text p + p { margin-top: 18px; }
.rn-mrk__text p { color: var(--rn-soft); }
.rn-mrk__brands { margin-top: 64px; padding-top: 36px; border-top: 1px solid var(--rn-line); }
.rn-mrk__label { margin-bottom: 26px; font-size: 14px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--rn-ink); }
.rn-mrk__chips { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 20px; }
.rn-mrk__chips li { min-width: 0; text-align: center; }
.rn-mrk__chips strong { display: block; font-size: 30px; font-weight: 700; letter-spacing: -0.03em; line-height: 1.15; color: #6a6f6f; overflow-wrap: anywhere; transition: color var(--duration-base) var(--easing-base); }
.rn-mrk__chips li:hover strong { color: var(--rn-teal); }
.rn-mrk__chips span { display: block; margin-top: 6px; font-size: 14px; line-height: 1.4; color: var(--color-text-muted); color: #707575; }
.rn-mrk__fine { margin-top: 26px; font-size: 14px; line-height: 1.5; color: #707575; text-align: center; }
.rn-mrk__norms { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; margin-top: 54px; }
.rn-mrk__norms li { min-width: 0; padding: 22px 0 0; border-top: 3px solid var(--rn-teal); }
.rn-mrk__norms b { display: block; margin-bottom: 8px; font-size: 22px; letter-spacing: -0.02em; color: var(--rn-ink); }
.rn-mrk__norms span { display: block; font-size: 16px; line-height: 1.6; color: var(--rn-soft); }

/* === section: projekte === */
.rn-projekte { background: #fff; }
.rn-prj__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.rn-prj__card { display: flex; flex-direction: column; min-width: 0; }
.rn-prj__card > img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.rn-prj__panel { flex: 1 1 auto; min-width: 0; padding: 30px 30px 34px; background: var(--rn-grey); }
.rn-prj__tag { display: block; margin-bottom: 10px; font-size: 13px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--rn-teal); }
.rn-prj__panel h3 { margin-bottom: 16px; font-size: 26px; }
.rn-prj__rows > div { padding: 12px 0; border-top: 1px solid var(--rn-line); }
.rn-prj__rows dt { margin-bottom: 3px; font-size: 13px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--rn-ink); }
.rn-prj__rows dd { margin: 0; font-size: 16px; line-height: 1.55; color: var(--rn-soft); }

/* === section: preise === */
.rn-preise { background: var(--rn-grey); }
.rn-prz__grid { display: grid; grid-template-columns: minmax(0, 32fr) minmax(0, 68fr); gap: 70px; align-items: start; }
.rn-prz__intro { position: sticky; top: calc(var(--rn-header-h) + 30px); }
.rn-prz__intro h2 { margin-bottom: 24px; font-size: 46px; }
.rn-prz__intro .rn-lead { margin-bottom: 16px; color: var(--rn-ink); }
.rn-prz__intro p { color: var(--rn-soft); }
.rn-prz__intro .rn-lead { color: var(--rn-ink); }
.rn-prz__panel { min-width: 0; background: #fff; box-shadow: var(--shadow-1); }
.rn-prz__table { width: 100%; border-collapse: collapse; }
.rn-prz__table thead th { padding: 18px 26px; text-align: left; font-size: 13px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--rn-ink); background: #fff; border-bottom: 2px solid var(--rn-ink); }
.rn-prz__table thead th:last-child { text-align: right; }
.rn-prz__table tbody th, .rn-prz__table tbody td { padding: 18px 26px; vertical-align: middle; border-bottom: 1px solid var(--rn-line); text-align: left; }
.rn-prz__table tbody th { width: 34%; font-size: 17px; font-weight: 700; line-height: 1.3; letter-spacing: -0.01em; color: var(--rn-ink); }
.rn-prz__table tbody td { font-size: 15px; line-height: 1.5; color: var(--rn-soft); }
.rn-prz__table tbody tr { transition: background-color var(--duration-base) var(--easing-base); }
.rn-prz__table tbody tr:hover { background: var(--rn-grey); }
.rn-prz__table td.rn-prz__price { width: 1%; white-space: nowrap; text-align: right; font-size: 20px; font-weight: 700; letter-spacing: -0.02em; color: var(--rn-ink); }
.rn-prz__table tr.rn-prz__hl, .rn-prz__table tr.rn-prz__hl:hover { background: var(--rn-teal); }
.rn-prz__table tr.rn-prz__hl th, .rn-prz__table tr.rn-prz__hl td { color: #fff; border-bottom-color: transparent; }
.rn-prz__foot { display: flex; align-items: center; justify-content: space-between; gap: 24px 36px; padding: 26px; }
.rn-prz__fine { flex: 1 1 0; min-width: 0; font-size: 14.5px; line-height: 1.55; color: var(--rn-soft); }
.rn-prz__foot .rn-btn { flex: 0 0 auto; }
@media (max-width: 1200px) {
  .rn-abl__grid { gap: 56px; }
  .rn-abl__num { font-size: 124px; }
  .rn-mrk__top { gap: 48px; }
  .rn-mrk__chips strong { font-size: 25px; }
  .rn-prj__grid { gap: 22px; }
  .rn-prj__panel { padding: 24px 22px 28px; }
  .rn-prz__grid { gap: 44px; }
  .rn-prz__table tbody th, .rn-prz__table tbody td, .rn-prz__table thead th { padding-inline: 18px; }
}
@media (max-width: 1024px) {
  .rn-abl__grid { grid-template-columns: minmax(0, 1fr); gap: 44px; }
  .rn-abl__head { position: static; max-width: 640px; }
  .rn-abl__head h2, .rn-mrk__head h2, .rn-prz__intro h2 { font-size: 38px; }
  .rn-mrk__top { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .rn-mrk__chips { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 34px 20px; }
  .rn-mrk__norms { gap: 22px; }
  .rn-prj__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rn-prj__card:last-child { grid-column: 1 / -1; flex-direction: row; }
  .rn-prj__card:last-child > img { flex: 0 0 48%; width: 48%; height: auto; aspect-ratio: auto; min-height: 100%; }
  .rn-prz__grid { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .rn-prz__intro { position: static; max-width: 680px; }
}
@media (max-width: 768px) {
  .rn-abl__head h2, .rn-mrk__head h2, .rn-prz__intro h2 { font-size: 30px; }
  .rn-abl__step { padding-left: 32px; padding-bottom: 42px; }
  .rn-abl__step h3 { font-size: 23px; }
  .rn-abl__num { font-size: 100px; top: -14px; }
  .rn-mrk__brands { margin-top: 44px; }
  .rn-mrk__norms { grid-template-columns: minmax(0, 1fr); gap: 24px; margin-top: 40px; }
  .rn-prj__grid { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .rn-prj__card:last-child { flex-direction: column; }
  .rn-prj__card:last-child > img { flex: none; width: 100%; aspect-ratio: 4 / 3; min-height: 0; }
  .rn-prz__table, .rn-prz__table tbody { display: block; }
  .rn-prz__table thead { display: none; }
  .rn-prz__table tbody tr { display: block; padding: 18px 20px; border-bottom: 1px solid var(--rn-line); }
  .rn-prz__table tbody tr:hover { background: transparent; }
  .rn-prz__table tbody th { display: block; width: auto; padding: 0 0 8px; border: 0; font-size: 18px; }
  .rn-prz__table tbody td { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; width: auto; padding: 4px 0; border: 0; }
  .rn-prz__table tbody td::before { content: attr(data-label); flex: 0 0 auto; font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--rn-ink); }
  .rn-prz__table td.rn-prz__price { width: auto; flex-shrink: 0; font-size: 20px; }
  .rn-prz__table td.rn-prz__price::before { margin-right: auto; }
  .rn-prz__table tbody td:not(.rn-prz__price) { display: block; }
  .rn-prz__table tbody td:not(.rn-prz__price)::before { display: block; margin-bottom: 2px; }
  .rn-prz__table tr.rn-prz__hl td::before { color: #fff; }
  .rn-prz__foot { flex-direction: column; align-items: stretch; padding: 22px 20px; }
  .rn-prz__foot .rn-btn { width: 100%; }
}
@media (max-width: 480px) {
  .rn-abl__head h2, .rn-mrk__head h2, .rn-prz__intro h2 { font-size: 27px; }
  .rn-abl__actions { flex-direction: column; align-items: stretch; gap: 16px; }
  .rn-abl__actions .rn-btn { width: 100%; }
  .rn-abl__tel { justify-content: center; }
  .rn-abl__num { font-size: 80px; top: -8px; }
  .rn-abl__step { padding-left: 26px; padding-bottom: 36px; }
  .rn-abl__step h3 { font-size: 21px; padding-right: 50px; }
  .rn-mrk__chips { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 14px; }
  .rn-mrk__chips strong { font-size: 22px; }
  .rn-mrk__chips span { font-size: 13px; }
  .rn-mrk__fine { text-align: left; }
  .rn-prj__panel { padding: 22px 20px 26px; }
  .rn-prj__panel h3 { font-size: 22px; }
  .rn-prj__rows dd { font-size: 15px; }
  .rn-prz__table tbody tr { padding: 16px 16px; }
}
@media (max-width: 375px) {
  .rn-abl__num { font-size: 66px; }
  .rn-mrk__chips strong { font-size: 20px; }
  .rn-prz__table tbody th { font-size: 17px; }
}

/* === section: kosten === */
.rn-kosten { background: #fff; }
.rn-kst__grid { display: grid; grid-template-columns: minmax(0, 40fr) minmax(0, 60fr); gap: 90px; align-items: start; }
.rn-kst__intro { position: sticky; top: calc(var(--rn-header-h) + 30px); }
.rn-kst__intro h2 { margin-bottom: 26px; font-size: 46px; }
.rn-kst__intro .rn-lead { margin-bottom: 18px; color: var(--rn-ink); }
.rn-kst__intro p { color: var(--rn-soft); }
.rn-kst__intro p.rn-lead { color: var(--rn-ink); }
.rn-kst__intro .rn-link { margin-top: 26px; }
.rn-kst__list { min-width: 0; border-bottom: 1px solid var(--rn-line); }
.rn-kst__item { position: relative; min-width: 0; padding: 30px 0 30px 91px; border-top: 1px solid var(--rn-line); }
.rn-kst__ico { position: absolute; top: 30px; left: 0; display: block; width: 59px; height: 59px; background: var(--rn-grey); transition: background-color var(--duration-base) var(--easing-base); }
.rn-kst__ico > img { position: absolute; top: 50%; left: 50%; width: 28px; height: 28px; transform: translate(-50%, -50%); }
.rn-kst__item:hover .rn-kst__ico { background: #e3ecec; }
.rn-kst__item h3 { margin-bottom: 8px; font-size: 24px; letter-spacing: -0.02em; }
.rn-kst__item p { font-size: 17px; line-height: 1.65; color: var(--rn-soft); }

/* === section: rechner === */
.rn-rechner { background: var(--rn-grey); }
.rn-calc { display: grid; grid-template-columns: minmax(0, 58fr) minmax(0, 42fr); max-width: 1290px; margin-inline: auto; background: #fff; box-shadow: var(--shadow-1); }
.rn-calc > * { min-width: 0; }
.rn-calc__fields { display: grid; gap: 34px; align-content: start; padding: 54px 54px 58px; }
.rn-calc__field { min-width: 0; margin: 0; padding: 0; border: 0; }
.rn-calc__label { display: block; margin-bottom: 12px; padding: 0; font-size: 13px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--rn-ink); }
.rn-calc__labelrow { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
.rn-calc__len { flex-shrink: 0; margin-bottom: 12px; font-size: 20px; font-weight: 700; color: var(--rn-teal); font-variant-numeric: lining-nums tabular-nums; }
.rn-calc__select { display: block; width: 100%; min-width: 0; min-height: 56px; padding: 14px 44px 14px 18px; border: 2px solid var(--rn-line); border-radius: 0; background: #fff url("/assets/icons/chevron-down.svg") no-repeat right 16px center / 18px 18px; color: var(--rn-ink); font-size: 17px; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; appearance: none; -webkit-appearance: none; cursor: pointer; transition: border-color var(--duration-base) var(--easing-base); }
.rn-calc__select:hover, .rn-calc__select:focus-visible { border-color: var(--rn-teal); }
.rn-calc__range { display: block; width: 100%; height: 28px; margin: 0; accent-color: var(--rn-teal); cursor: pointer; }
.rn-calc__range:disabled { opacity: 0.35; cursor: not-allowed; }
.rn-calc__hint { margin-top: 8px; font-size: 14px; line-height: 1.5; color: #707575; }
.rn-calc__hint[hidden] { display: none; }
.rn-calc__opts { display: grid; gap: 4px; }
.rn-calc__check { display: flex; align-items: center; gap: 14px; min-height: 46px; padding: 6px 0; font-size: 17px; line-height: 1.4; color: var(--rn-ink); cursor: pointer; }
.rn-calc__check input { flex: 0 0 22px; width: 22px; height: 22px; margin: 0; accent-color: var(--rn-teal); cursor: pointer; }
.rn-calc__check input:disabled + span { opacity: 0.4; }
.rn-calc__check:hover span { color: var(--rn-teal); }
.rn-calc__result { display: flex; flex-direction: column; align-items: flex-start; padding: 54px 48px 50px; background: var(--rn-ink-deep); color: #fff; }
.rn-calc__tag { margin-bottom: 8px; font-size: 14px; font-weight: 700; letter-spacing: 0.129em; text-transform: uppercase; color: var(--rn-amber); }
.rn-calc__total { display: block; font-size: 84px; font-weight: 700; line-height: 1.05; letter-spacing: -0.03em; color: #fff; font-variant-numeric: lining-nums tabular-nums; }
.rn-calc__tax { margin-top: 6px; font-size: 16px; color: rgba(255, 255, 255, 0.88); }
.rn-calc__rows { width: 100%; margin: 28px 0 32px; border-top: 1px solid rgba(255, 255, 255, 0.2); }
.rn-calc__rows li { display: flex; justify-content: space-between; gap: 16px; padding: 11px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.2); font-size: 16px; color: rgba(255, 255, 255, 0.88); }
.rn-calc__rows li[hidden] { display: none; }
.rn-calc__rows b { flex-shrink: 0; color: #fff; font-variant-numeric: lining-nums tabular-nums; }
.rn-calc__result .rn-btn { max-width: 100%; }
.rn-calc__note { margin-top: 22px; font-size: 14px; line-height: 1.55; color: rgba(255, 255, 255, 0.78); }

/* === section: garantie === */
.rn-garantie { background: #fff; }
.rn-gar__grid { display: grid; grid-template-columns: minmax(0, 39fr) minmax(0, 61fr); gap: 70px; align-items: stretch; }
.rn-gar__media { position: relative; min-width: 0; min-height: 560px; }
.rn-gar__media > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.rn-gar__body { min-width: 0; }
.rn-gar__body h2 { margin-bottom: 22px; font-size: 46px; }
.rn-gar__body .rn-lead { margin-bottom: 30px; color: var(--rn-ink); }
.rn-gar__rows { display: grid; gap: 22px; margin-bottom: 34px; }
.rn-gar__rows li { position: relative; min-width: 0; padding-left: 79px; }
.rn-gar__ico { position: absolute; top: 2px; left: 0; display: block; width: 59px; height: 59px; background: var(--rn-grey); }
.rn-gar__ico > img { position: absolute; top: 50%; left: 50%; width: 26px; height: 26px; transform: translate(-50%, -50%); }
.rn-gar__rows h3 { margin-bottom: 4px; font-size: 22px; letter-spacing: -0.02em; }
.rn-gar__rows p { font-size: 16.5px; line-height: 1.62; color: var(--rn-soft); }
.rn-gar__doc { margin: 0; padding: 28px 32px 28px 36px; background: var(--rn-grey); border-left: 4px solid var(--rn-orange); }
.rn-gar__doc p { font-size: 20px; font-weight: 700; line-height: 1.4; letter-spacing: -0.015em; color: var(--rn-ink); }
.rn-gar__doc footer { margin-top: 14px; font-size: 15px; line-height: 1.6; color: var(--rn-soft); }

/* === section: probleme === */
.rn-probleme { background: var(--rn-grey); }
.rn-prb__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }
.rn-prb__card { min-width: 0; padding: 38px 32px 34px; }
.rn-prb__card .rn-card__icon { background: var(--rn-grey); }
.rn-prb__card.rn-card--dark .rn-card__icon { background: rgba(255, 255, 255, 0.1); }
.rn-prb__card h3 { margin-bottom: 18px; font-size: 25px; letter-spacing: -0.02em; }
.rn-prb__rows > div { padding: 12px 0; border-top: 1px solid var(--rn-line); }
.rn-prb__rows dt { margin-bottom: 3px; font-size: 12.5px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--rn-teal); }
.rn-prb__rows dd { margin: 0; font-size: 16px; line-height: 1.55; color: var(--rn-soft); }
.rn-prb__rows > div:last-child dd { font-weight: 500; color: var(--rn-ink); }
.rn-card--dark.rn-prb__card .rn-prb__rows > div { border-top-color: rgba(255, 255, 255, 0.22); }
.rn-card--dark.rn-prb__card .rn-prb__rows dt { color: var(--rn-amber); }
.rn-card--dark.rn-prb__card .rn-prb__rows dd, .rn-card--dark.rn-prb__card .rn-prb__rows > div:last-child dd { color: rgba(255, 255, 255, 0.92); }
@media (max-width: 1200px) {
  .rn-kst__grid { gap: 56px; }
  .rn-calc__fields { padding: 44px 40px 48px; }
  .rn-calc__result { padding: 44px 36px 40px; }
  .rn-calc__total { font-size: 68px; }
  .rn-gar__grid { gap: 48px; }
  .rn-prb__grid { gap: 20px; }
  .rn-prb__card { padding: 32px 24px 28px; }
}
@media (max-width: 1024px) {
  .rn-kst__grid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .rn-kst__intro { position: static; max-width: 680px; }
  .rn-kst__intro h2, .rn-gar__body h2 { font-size: 38px; }
  .rn-calc { grid-template-columns: minmax(0, 1fr); }
  .rn-calc__result { align-items: stretch; }
  .rn-calc__result .rn-btn { width: 100%; }
  .rn-gar__grid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .rn-gar__media { min-height: 0; aspect-ratio: 4 / 3; }
  .rn-gar__media > img { object-position: 50% 40%; }
  .rn-prb__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
  .rn-kst__intro h2, .rn-gar__body h2 { font-size: 30px; }
  .rn-kst__item { padding: 24px 0 24px 77px; }
  .rn-kst__ico { top: 24px; width: 52px; height: 52px; }
  .rn-kst__item h3 { font-size: 21px; }
  .rn-calc__fields { gap: 28px; padding: 34px 28px 38px; }
  .rn-calc__result { padding: 34px 28px 32px; }
  .rn-calc__total { font-size: 60px; }
  .rn-gar__doc { padding: 22px 22px 22px 26px; }
  .rn-gar__doc p { font-size: 18px; }
  .rn-prb__card h3 { font-size: 22px; }
}
@media (max-width: 480px) {
  .rn-kst__intro h2, .rn-gar__body h2 { font-size: 27px; }
  .rn-kst__item { padding: 22px 0 22px 0; }
  .rn-kst__ico { position: relative; top: auto; left: auto; width: 52px; height: 52px; margin-bottom: 14px; }
  .rn-calc__fields { padding: 28px 20px 30px; }
  .rn-calc__result { padding: 30px 20px 28px; }
  .rn-calc__total { font-size: 52px; }
  .rn-calc__select { font-size: 16px; }
  .rn-calc__check { font-size: 16px; }
  .rn-gar__media { aspect-ratio: 1 / 1; }
  .rn-gar__rows li { padding-left: 0; }
  .rn-gar__ico { position: relative; top: auto; left: auto; width: 52px; height: 52px; margin-bottom: 12px; }
  .rn-gar__doc { padding: 20px 18px 20px 20px; }
  .rn-prb__grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .rn-prb__card { padding: 28px 22px 26px; }
}
@media (max-width: 375px) {
  .rn-calc__total { font-size: 46px; }
  .rn-calc__fields { padding-inline: 16px; }
  .rn-calc__result { padding-inline: 16px; }
  .rn-prb__card h3 { font-size: 21px; }
}

/* === section: fehler === */
.rn-fehler { background: #fff; }
.rn-feh__grid { display: grid; grid-template-columns: minmax(0, 330px) minmax(0, 1fr); gap: 0 60px; align-items: start; }
.rn-feh__head { margin-bottom: 0; }
.rn-feh__head h2 { font-size: clamp(30px, 3.2vw, 46px); }
.rn-feh__panels { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 24px; }
.rn-feh__panel { position: relative; grid-column: span 2; min-width: 0; padding: 34px 28px 36px; background: var(--rn-grey); transition: background-color var(--duration-base) var(--easing-base), box-shadow var(--duration-base) var(--easing-base); }
.rn-feh__panel--wide { grid-column: span 3; }
.rn-feh__panel:hover { background: #e7eeee; box-shadow: var(--shadow-1); }
.rn-feh__q { display: block; width: 34px; height: 34px; margin-bottom: 18px; }
.rn-feh__q > img { display: block; width: 34px; height: 34px; }
.rn-feh__panel h3 { margin-bottom: 12px; font-size: 21px; line-height: 1.2; letter-spacing: -0.015em; color: var(--rn-ink); overflow-wrap: anywhere; }
.rn-feh__panel p { font-size: 15.5px; line-height: 1.65; color: var(--rn-soft); }
.rn-feh__note { grid-column: 2; position: relative; margin-top: 34px; padding-left: 20px; font-size: 16px; line-height: 1.65; color: var(--rn-soft); }
.rn-feh__note::before { content: ""; position: absolute; left: 0; top: 4px; bottom: 4px; width: 4px; background: var(--rn-orange); }
@media (max-width: 1200px) {
  .rn-feh__grid { grid-template-columns: minmax(0, 280px) minmax(0, 1fr); gap: 0 40px; }
  .rn-feh__panel { padding: 30px 22px 32px; }
}
@media (max-width: 1024px) {
  .rn-feh__grid { grid-template-columns: minmax(0, 1fr); }
  .rn-feh__head { margin-bottom: 38px; max-width: 720px; }
  .rn-feh__panels { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rn-feh__panel, .rn-feh__panel--wide { grid-column: span 1; }
  .rn-feh__panel--wide:last-child { grid-column: 1 / -1; }
  .rn-feh__note { grid-column: 1; }
}
@media (max-width: 768px) {
  .rn-feh__panels { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .rn-feh__panel--wide:last-child { grid-column: auto; }
  .rn-feh__note { margin-top: 28px; }
}
@media (max-width: 480px) {
  .rn-feh__panel { padding: 26px 20px 28px; }
  .rn-feh__panel h3 { font-size: 19px; }
  .rn-feh__panel p { font-size: 15px; }
  .rn-feh__note { font-size: 15px; padding-left: 16px; }
}
@media (max-width: 375px) {
  .rn-feh__panel { padding: 22px 16px 24px; }
}

/* === section: beratung === */
.rn-beratung { position: relative; z-index: 2; padding-bottom: 50px; background: #fff; }
.rn-ber__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 0 70px; align-items: end; }
.rn-ber__text { min-width: 0; align-self: start; padding-bottom: 20px; }
.rn-ber__text h2 { margin-bottom: 26px; font-size: clamp(30px, 3.2vw, 46px); }
.rn-ber__text p { margin-bottom: 18px; font-size: 17px; line-height: 1.7; color: var(--rn-soft); }
.rn-ber__actions { margin-top: 34px; }
.rn-ber__panel {
  position: relative;
  min-width: 0;
  margin-bottom: -120px;
  padding: 50px 46px 44px;
  color: #fff;
  background-color: var(--rn-teal);
  background-image:
    radial-gradient(circle at 1px 1px, rgba(255, 255, 255, 0.16) 1.4px, transparent 1.6px),
    repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.05) 0, rgba(255, 255, 255, 0.05) 2px, transparent 2px, transparent 26px);
  background-size: 24px 24px, auto;
  box-shadow: var(--shadow-3);
}
.rn-ber__panel h3 { margin-bottom: 26px; font-size: 28px; color: #fff; }
.rn-ber__list { display: grid; gap: 0; }
.rn-ber__list li { position: relative; padding: 14px 0 14px 42px; border-top: 1px solid rgba(255, 255, 255, 0.28); font-size: 16.5px; font-weight: 500; line-height: 1.45; color: #fff; }
.rn-ber__list li::before { content: ""; position: absolute; left: 0; top: 14px; width: 26px; height: 26px; background: url("/assets/icons/check-w.svg") center / 18px 18px no-repeat; border: 2px solid rgba(255, 255, 255, 0.7); border-radius: 50%; }
.rn-ber__warn { margin-top: 24px; padding: 16px 18px; background: rgba(22, 26, 26, 0.34); border-left: 4px solid var(--rn-orange); font-size: 15px; line-height: 1.55; color: #fff; }
@media (max-width: 1200px) {
  .rn-ber__grid { gap: 0 44px; }
  .rn-ber__panel { padding: 40px 32px 36px; }
}
@media (max-width: 1024px) {
  .rn-beratung { padding-bottom: var(--rn-sec-pad); }
  .rn-ber__grid { grid-template-columns: minmax(0, 1fr); gap: 44px; }
  .rn-ber__text { padding-bottom: 0; }
  .rn-ber__panel { margin-bottom: 0; width: min(100%, 680px); margin-inline: auto; }
}
@media (max-width: 768px) {
  .rn-ber__text p { font-size: 16.5px; }
  .rn-ber__panel h3 { font-size: 24px; }
}
@media (max-width: 480px) {
  .rn-ber__panel { padding: 30px 20px 28px; }
  .rn-ber__list li { padding-left: 38px; font-size: 15.5px; }
  .rn-ber__warn { font-size: 14px; }
  .rn-ber__actions .rn-btn { width: 100%; }
}
@media (max-width: 375px) {
  .rn-ber__panel { padding: 26px 16px 24px; }
}

/* === section: einsatzgebiet === */
.rn-einsatzgebiet { padding-top: calc(var(--rn-sec-pad) + 80px); background: var(--rn-grey); }
.rn-geo__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 0 70px; align-items: start; }
.rn-geo__text h2 { margin-bottom: 26px; font-size: clamp(28px, 3vw, 44px); }
.rn-geo__text p { margin-bottom: 16px; font-size: 17px; line-height: 1.7; color: var(--rn-soft); }
.rn-geo__badge { display: inline-flex; align-items: center; gap: 10px; margin-top: 12px; padding: 12px 20px; background: var(--rn-ink-deep); font-size: 14px; font-weight: 700; letter-spacing: 0.02em; color: #fff; }
.rn-geo__badge img { width: 20px; height: 20px; flex: 0 0 auto; }
.rn-geo__main { position: relative; display: block; margin-bottom: 26px; padding: 28px 30px 28px 92px; background: var(--rn-teal); color: #fff; }
.rn-geo__main > img { position: absolute; left: 30px; top: 50%; width: 38px; height: 38px; transform: translateY(-50%); }
.rn-geo__main strong { display: block; font-size: 40px; font-weight: 700; line-height: 1.05; letter-spacing: -0.03em; color: #fff; }
.rn-geo__main small { display: block; margin-top: 8px; font-size: 14.5px; line-height: 1.4; color: rgba(255, 255, 255, 0.92); }
.rn-geo__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 24px; }
.rn-geo__list li { position: relative; min-width: 0; padding: 14px 0 14px 22px; border-bottom: 1px solid var(--rn-line); font-size: 17px; font-weight: 500; line-height: 1.3; color: var(--rn-ink); overflow-wrap: anywhere; }
.rn-geo__list li::before { content: ""; position: absolute; left: 0; top: 50%; width: 6px; height: 6px; margin-top: -3px; border-radius: 50%; background: var(--rn-orange); }
@media (max-width: 1200px) {
  .rn-geo__grid { gap: 0 44px; }
  .rn-geo__main strong { font-size: 34px; }
}
@media (max-width: 1024px) {
  .rn-einsatzgebiet { padding-top: var(--rn-sec-pad); }
  .rn-geo__grid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
}
@media (max-width: 768px) {
  .rn-geo__text p { font-size: 16.5px; }
  .rn-geo__main { padding: 24px 24px 24px 80px; }
  .rn-geo__main > img { left: 24px; }
  .rn-geo__main strong { font-size: 32px; }
}
@media (max-width: 480px) {
  .rn-geo__main { padding: 20px 18px 20px 66px; margin-bottom: 18px; }
  .rn-geo__main > img { left: 18px; width: 30px; height: 30px; }
  .rn-geo__main strong { font-size: 28px; }
  .rn-geo__main small { font-size: 13px; }
  .rn-geo__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 14px; }
  .rn-geo__list li { padding: 11px 0 11px 18px; font-size: 15px; }
  .rn-geo__badge { font-size: 13px; padding: 10px 16px; }
}
@media (max-width: 375px) {
  .rn-geo__list li { font-size: 14px; padding-left: 16px; }
  .rn-geo__main strong { font-size: 26px; }
}

/* === section: ueber-uns === */
.rn-ueber-uns { background: #fff; }
.rn-ue__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 0 80px; align-items: center; }
.rn-ue__media { position: relative; min-width: 0; margin: 0 0 56px; }
.rn-ue__media > img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; background: var(--rn-grey); }
.rn-ue__quote { position: absolute; left: 32px; right: -40px; bottom: -56px; margin: 0; padding: 24px 28px; background: var(--rn-ink-deep); border-left: 5px solid var(--rn-orange); box-shadow: var(--shadow-3); }
.rn-ue__quote p { font-size: 19px; font-weight: 500; line-height: 1.4; letter-spacing: -0.01em; color: #fff; }
.rn-ue__quote footer { margin-top: 10px; font-size: 13px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--rn-amber); }
.rn-ue__body { min-width: 0; }
.rn-ue__body h2 { margin-bottom: 26px; font-size: clamp(30px, 3.2vw, 46px); }
.rn-ue__body > p { margin-bottom: 18px; font-size: 17px; line-height: 1.7; color: var(--rn-soft); }
.rn-ue__body > p a { text-decoration: underline; text-underline-offset: 3px; }
.rn-ue__facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 30px; margin-top: 34px; }
.rn-ue__facts li { position: relative; min-width: 0; padding-left: 76px; }
.rn-ue__ic { position: absolute; left: 0; top: 0; display: block; width: 59px; height: 59px; background: var(--rn-grey); }
.rn-ue__ic > img { position: absolute; top: 50%; left: 50%; width: 26px; height: 26px; transform: translate(-50%, -50%); }
.rn-ue__facts b { display: block; font-size: 16.5px; font-weight: 700; line-height: 1.25; color: var(--rn-ink); overflow-wrap: anywhere; }
.rn-ue__facts small { display: block; margin-top: 4px; font-size: 14px; line-height: 1.4; color: var(--rn-soft); }
@media (max-width: 1200px) {
  .rn-ue__grid { gap: 0 56px; }
  .rn-ue__quote { right: -24px; left: 24px; }
  .rn-ue__facts { gap: 22px 20px; }
  .rn-ue__facts li { padding-left: 68px; }
}
@media (max-width: 1024px) {
  .rn-ue__grid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .rn-ue__media { width: min(100%, 520px); margin-inline: auto; }
  .rn-ue__quote { right: -20px; }
}
@media (max-width: 768px) {
  .rn-ue__media { width: 100%; max-width: 460px; margin-bottom: 0; }
  .rn-ue__quote { position: relative; left: auto; right: auto; bottom: auto; width: calc(100% - 40px); margin: -44px auto 0; padding: 20px 22px; }
  .rn-ue__quote p { font-size: 17px; }
  .rn-ue__body > p { font-size: 16.5px; }
}
@media (max-width: 480px) {
  .rn-ue__facts { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .rn-ue__facts li { padding-left: 66px; }
  .rn-ue__ic { width: 50px; height: 50px; }
  .rn-ue__quote { width: calc(100% - 24px); }
  .rn-ue__quote p { font-size: 16px; }
}
@media (max-width: 375px) {
  .rn-ue__facts li { padding-left: 60px; }
  .rn-ue__ic { width: 46px; height: 46px; }
}

/* === section: team === */
.rn-team .rn-head { margin-bottom: 52px; }
.rn-team .rn-head h2, .rn-bewertungen .rn-head h2, .rn-ratgeber .rn-head h2 { font-size: clamp(30px, 3.4vw, 48px); }
.rn-tm__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.rn-tm__card { display: flex; flex-direction: column; min-width: 0; background: #fff; }
.rn-tm__photo { position: relative; margin: 0; border-bottom: 4px solid var(--rn-teal); background: var(--rn-grey); }
.rn-tm__photo > img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; }
.rn-tm__body { flex: 1 1 auto; min-width: 0; padding: 28px 30px 34px; }
.rn-tm__body h3 { margin-bottom: 6px; font-size: 27px; letter-spacing: -0.02em; color: var(--rn-ink); }
.rn-tm__role { display: block; margin-bottom: 14px; font-size: 14px; font-weight: 700; line-height: 1.35; letter-spacing: 0.06em; text-transform: uppercase; color: var(--rn-teal); }
.rn-tm__body p { font-size: 16.5px; line-height: 1.6; color: var(--rn-soft); }
.rn-tm__tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.rn-tm__tags li { padding: 5px 12px; font-size: 13px; font-weight: 600; line-height: 1.3; color: var(--rn-ink); background: var(--rn-grey); overflow-wrap: anywhere; }
@media (max-width: 1200px) {
  .rn-tm__grid { gap: 22px; }
  .rn-tm__body { padding: 24px 24px 28px; }
}
@media (max-width: 1024px) {
  .rn-tm__grid { gap: 18px; }
  .rn-tm__body { padding: 22px 20px 26px; }
  .rn-tm__body h3 { font-size: 24px; }
  .rn-tm__body p { font-size: 15.5px; }
}
@media (max-width: 768px) {
  .rn-tm__grid { grid-template-columns: minmax(0, 1fr); gap: 20px; max-width: 640px; margin-inline: auto; }
  .rn-tm__card { flex-direction: row; }
  .rn-tm__photo { flex: 0 0 38%; border-bottom: 0; border-right: 4px solid var(--rn-teal); }
  .rn-tm__photo > img { height: 100%; aspect-ratio: auto; min-height: 100%; }
  .rn-tm__body { padding: 22px 22px 24px; }
}
@media (max-width: 480px) {
  .rn-tm__card { flex-direction: column; }
  .rn-tm__photo { flex: 0 0 auto; border-right: 0; border-bottom: 4px solid var(--rn-teal); }
  .rn-tm__photo > img { height: auto; aspect-ratio: 1 / 1; min-height: 0; }
  .rn-tm__body { padding: 20px 20px 24px; }
  .rn-tm__body h3 { font-size: 23px; }
}
@media (max-width: 375px) {
  .rn-tm__body { padding: 18px 16px 22px; }
  .rn-tm__tags li { font-size: 12.5px; padding: 4px 10px; }
}

/* === section: bewertungen === */
.rn-bewertungen { background: #fff; }
.rn-rev__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.rn-rev__card { display: flex; flex-direction: column; min-width: 0; padding: 38px 36px 34px; background: var(--rn-grey); }
.rn-rev__quote { display: block; margin-bottom: 14px; }
.rn-rev__quote > img { display: block; width: 34px; height: 34px; }
.rn-rev__stars { display: block; margin-bottom: 14px; font-size: 18px; letter-spacing: 0.12em; line-height: 1; color: var(--rn-orange); }
.rn-rev__body { flex: 1 1 auto; margin-bottom: 28px; font-size: 18px; line-height: 1.65; color: var(--rn-ink); overflow-wrap: anywhere; }
.rn-rev__who { position: relative; min-height: 54px; padding-left: 70px; }
.rn-rev__ava { position: absolute; left: 0; top: 0; display: block; width: 54px; height: 54px; border-radius: 50%; font-size: 22px; font-weight: 700; line-height: 54px; text-align: center; text-transform: uppercase; color: #fff; background: var(--rn-teal); }
.rn-rev__meta { min-width: 0; padding-top: 4px; }
.rn-rev__meta h3 { margin: 0 0 2px; font-size: 19px; line-height: 1.25; letter-spacing: -0.01em; color: var(--rn-ink); }
.rn-rev__meta span { display: block; font-size: 15px; line-height: 1.4; color: var(--rn-soft); }
.rn-rev__more { margin-top: 48px; text-align: center; }
@media (max-width: 1200px) {
  .rn-rev__cards { gap: 22px; }
  .rn-rev__card { padding: 32px 28px 30px; }
}
@media (max-width: 1024px) {
  .rn-rev__cards { gap: 18px; }
  .rn-rev__card { padding: 28px 22px 26px; }
  .rn-rev__body { font-size: 16.5px; }
}
@media (max-width: 768px) {
  .rn-rev__cards { grid-template-columns: minmax(0, 1fr); gap: 20px; max-width: 640px; margin-inline: auto; }
  .rn-rev__card { padding: 30px 28px 28px; }
  .rn-rev__body { font-size: 17px; }
  .rn-rev__more { margin-top: 36px; }
}
@media (max-width: 480px) {
  .rn-rev__card { padding: 26px 22px 24px; }
  .rn-rev__more .rn-btn { width: 100%; }
}
@media (max-width: 375px) {
  .rn-rev__card { padding: 22px 18px 22px; }
  .rn-rev__body { font-size: 16px; }
  .rn-rev__who { padding-left: 62px; }
  .rn-rev__ava { width: 48px; height: 48px; font-size: 20px; line-height: 48px; }
}

/* === section: ratgeber === */
.rn-ratgeber { background: var(--rn-grey); }
.rn-blog__top { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 24px 40px; margin-bottom: 52px; }
.rn-blog__top .rn-head { max-width: 760px; margin-bottom: 0; }
.rn-blog__top .rn-head p { font-size: 17px; line-height: 1.65; }
.rn-blog__all { justify-self: end; }
.rn-blog__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.rn-blog__card, .rn-blog__card:visited { display: flex; flex-direction: column; min-width: 0; background: #fff; color: var(--rn-ink); text-decoration: none; transition: transform var(--duration-base) var(--easing-base), box-shadow var(--duration-base) var(--easing-base); }
.rn-blog__card:hover, .rn-blog__card:focus-visible { transform: translateY(-4px); box-shadow: 0 14px 34px rgba(22, 26, 26, 0.14); }
.rn-blog__media { position: relative; overflow: hidden; background: var(--rn-grey); aspect-ratio: 4 / 3; }
.rn-blog__media > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.rn-blog__card:hover .rn-blog__media > img, .rn-blog__card:focus-visible .rn-blog__media > img { transform: scale(1.05); }
.rn-blog__body { display: flex; flex: 1 1 auto; flex-direction: column; min-width: 0; padding: 26px 28px 30px; }
.rn-blog__tag { align-self: flex-start; margin-bottom: 12px; font-size: 12.5px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--rn-teal); }
.rn-blog__body h3 { margin-bottom: 10px; font-size: 22px; line-height: 1.22; letter-spacing: -0.015em; color: var(--rn-ink); overflow-wrap: anywhere; }
.rn-blog__body p { display: -webkit-box; margin-bottom: 18px; overflow: hidden; font-size: 15.5px; line-height: 1.6; color: var(--rn-soft); -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.rn-blog__readmore { margin-top: auto; font-size: 15px; font-weight: 700; color: var(--rn-teal); transition: color var(--duration-base) var(--easing-base); }
.rn-blog__card:hover .rn-blog__readmore, .rn-blog__card:focus-visible .rn-blog__readmore { color: var(--rn-teal-dark); text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 1200px) {
  .rn-blog__grid { gap: 22px; }
  .rn-blog__body { padding: 22px 22px 26px; }
}
@media (max-width: 1024px) {
  .rn-blog__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
  .rn-blog__top { margin-bottom: 40px; }
}
@media (max-width: 768px) {
  .rn-blog__top { grid-template-columns: minmax(0, 1fr); }
  .rn-blog__all { justify-self: start; }
  .rn-blog__grid { grid-template-columns: minmax(0, 1fr); max-width: 560px; margin-inline: auto; }
}
@media (max-width: 480px) {
  .rn-blog__all { width: 100%; justify-self: stretch; }
  .rn-blog__body { padding: 20px 20px 24px; }
  .rn-blog__body h3 { font-size: 20px; }
}
@media (max-width: 375px) {
  .rn-blog__body { padding: 18px 16px 22px; }
}

/* === section: werkzeug === */
.rn-werkzeug { padding-block: 0; background: #fff; }
.rn-wz__cap { padding: 36px var(--rn-gutter) 28px; font-size: 14px; font-weight: 700; line-height: 1.4; letter-spacing: 0.1em; text-align: center; text-transform: uppercase; color: var(--rn-soft); }
.rn-wz__strip { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); width: 100%; max-width: 1920px; margin: 0 auto; }
.rn-wz__strip li { position: relative; min-width: 0; overflow: hidden; background: var(--rn-ink-deep); }
.rn-wz__strip li > img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; }
.rn-wz__strip li::after { content: ""; position: absolute; inset: 0; background: rgba(22, 26, 26, 0); transition: background 0.3s ease; pointer-events: none; }
.rn-wz__strip li:hover::after { background: rgba(22, 26, 26, 0.35); }
@media (max-width: 1024px) {
  .rn-wz__strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
  .rn-wz__cap { padding: 28px var(--rn-gutter) 22px; }
}
@media (max-width: 480px) {
  .rn-wz__strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rn-wz__cap { font-size: 12.5px; letter-spacing: 0.08em; }
}
@media (max-width: 375px) {
  .rn-wz__cap { padding: 24px var(--rn-gutter) 18px; }
}

/* === section: faq === */
.rn-faq { background: #fff; }
.rn-faq__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 60px 90px; align-items: start; }
.rn-faq__grid > * { min-width: 0; }
.rn-faq__intro { position: sticky; top: calc(var(--rn-header-h) + 30px); }
.rn-faq__intro h2::after { content: ""; display: block; width: 72px; height: 4px; margin-top: 24px; background: var(--rn-orange); }
.rn-faq__intro p { margin: 24px 0 32px; max-width: 460px; color: var(--rn-soft); }
.rn-faq__call { max-width: 100%; }
.rn-faq__call span { overflow-wrap: anywhere; }
.rn-faq__list { border-top: 1px solid var(--rn-line); }
.rn-faq__item { border-bottom: 1px solid var(--rn-line); position: relative; }
.rn-faq__item::before { content: ""; position: absolute; left: 0; bottom: -1px; width: 0; height: 3px; background: var(--rn-teal); transition: width var(--duration-base) var(--easing-base); }
.rn-faq__item[open]::before { width: 100%; }
.rn-faq__item summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 26px 4px; list-style: none; cursor: pointer; font-size: 21px; font-weight: 700; line-height: 1.3; letter-spacing: -0.015em; color: var(--rn-ink); transition: color var(--duration-base) var(--easing-base), padding var(--duration-base) var(--easing-base); }
.rn-faq__item summary::-webkit-details-marker { display: none; }
.rn-faq__item summary > span { min-width: 0; overflow-wrap: anywhere; }
.rn-faq__item summary:hover, .rn-faq__item summary:focus-visible { color: var(--rn-teal); padding-left: 10px; }
.rn-faq__chev { flex: 0 0 auto; width: 22px; height: 22px; transition: transform var(--duration-base) var(--easing-base); }
.rn-faq__item[open] .rn-faq__chev { transform: rotate(180deg); }
.rn-faq__item[open] summary { color: var(--rn-teal); }
.rn-faq__answer { padding: 0 44px 28px 4px; }
.rn-faq__answer p { font-size: 17px; line-height: 1.7; color: var(--rn-soft); }

/* === section: kontakt === */
.rn-kontakt { overflow: hidden; padding-block: clamp(70px, 8vw, 120px); background: var(--rn-ink-deep); }
.rn-kontakt__media { position: absolute; inset: 0; }
.rn-kontakt__media > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 0% 50%; }
.rn-kontakt__inner { position: relative; display: flex; justify-content: flex-start; }
.rn-kontakt__col { width: min(100%, 640px); min-width: 0; }
.rn-kontakt__panel { padding: 48px 48px 44px; background: #fff; box-shadow: var(--shadow-3); }
.rn-kontakt__panel h2 { margin-bottom: 18px; font-size: 44px; line-height: 1.04; }
.rn-kontakt__note { margin-bottom: 26px; font-size: 16px; line-height: 1.6; color: var(--rn-soft); }
.rn-kontakt__info { padding: 30px 48px 32px; background: var(--rn-ink-deep); color: #fff; }
.rn-kontakt__list { display: grid; gap: 20px; }
.rn-kontakt__item { position: relative; padding-left: 40px; min-width: 0; }
.rn-kontakt__item > img { position: absolute; left: 0; top: 3px; width: 22px; height: 22px; }
.rn-kontakt__item a, .rn-kontakt__addr { display: inline-block; max-width: 100%; font-size: 20px; font-weight: 700; line-height: 1.3; color: #fff; overflow-wrap: anywhere; text-decoration: none; }
.rn-kontakt__item small { display: block; margin-top: 4px; font-size: 14.5px; line-height: 1.5; color: rgba(255, 255, 255, 0.82); }
.rn-kontakt__item a { border-bottom: 2px solid transparent; transition: color var(--duration-base) var(--easing-base), border-color var(--duration-base) var(--easing-base); }
.rn-kontakt__item a:hover, .rn-kontakt__item a:focus-visible { color: var(--rn-amber); border-bottom-color: var(--rn-amber); }
.rn-kontakt__alert { margin-top: 24px; padding: 14px 16px; border-left: 4px solid var(--rn-orange); background: rgba(255, 255, 255, 0.08); font-size: 14.5px; line-height: 1.55; color: #fff; }

/* === section: seo === */
.rn-seo { padding-bottom: 56px; background: #fff; }
.rn-seo__head { max-width: 900px; margin-bottom: 56px; }
.rn-seo__head h2::after { content: ""; display: block; width: 72px; height: 4px; margin-top: 24px; background: var(--rn-orange); }
.rn-seo__head .rn-lead { margin-top: 24px; font-size: 20px; font-weight: 500; color: var(--rn-soft); }
.rn-seo__cols { column-count: 2; column-gap: 72px; }
.rn-seo__block { display: block; break-inside: avoid; margin-bottom: 40px; }
.rn-seo__block h3 { margin-bottom: 14px; font-size: 26px; line-height: 1.15; }
.rn-seo__block p { font-size: 17px; line-height: 1.75; color: var(--rn-soft); }
.rn-seo__block strong { color: var(--rn-ink); }
.rn-seo__block a { color: var(--rn-teal); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; transition: color var(--duration-base) var(--easing-base); }
.rn-seo__block a:hover, .rn-seo__block a:focus-visible { color: var(--rn-teal-dark); text-decoration-thickness: 2px; }
.rn-seo__inset { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 36px 56px; align-items: center; margin-top: 24px; padding: 56px 60px; border-radius: 0; background: var(--rn-ink-deep); }
.rn-seo__inset > * { min-width: 0; }
.rn-seo__inset h3 { margin-bottom: 14px; font-size: 32px; color: #fff; }
.rn-seo__inset--dark p { font-size: 17.5px; line-height: 1.65; color: rgba(255, 255, 255, 0.92) !important; }
.rn-seo__inset--dark a:not(.rn-btn) { color: var(--rn-amber) !important; }
.rn-seo__inset-actions { display: flex; flex-direction: column; gap: 14px; }
.rn-seo__inset-actions .rn-btn { width: 100%; }
.rn-seo__inset-actions .rn-btn span { overflow-wrap: anywhere; }

/* ==========================================================================
   Responsive
   ========================================================================== */

/* Header: tighter on mid-desktop; phone collapses to an icon button */
@media (max-width: 1399px) {
  .rn-nav__right { padding: 0 24px; gap: 16px; }
  .rn-nav__menu { gap: 11px; }
  .rn-nav__phone { padding: 12px; }
  .rn-nav__phone span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}

@media (max-width: 1280px) {
  :root { --font-size-base: 17px; --rn-sec-pad: 96px; }
  h2 { font-size: 46px; }
  h3 { font-size: 26px; }
  .rn-nav__left { padding-left: 28px; }
  .rn-nav__brand-txt strong { font-size: 20px; }
  .rn-nav__brand-txt small { display: none; }
  .rn-foot__claim { font-size: 40px; }
  .rn-hero__inner { padding: 140px 50px 80px 50px; }
}

@media (max-width: 1200px) {
  .rn-head { margin-bottom: 48px; }
  .rn-foot__top { gap: 40px; }
  .rn-foot__claim { font-size: 36px; }
}

/* Burger menu takes over (desktop nav + phone hidden) */
@media (max-width: 1180px) {
  :root { --rn-header-h: 80px; }
  .rn-nav__inner { grid-template-columns: minmax(0, 1fr) auto; }
  .rn-nav__left { padding-left: 30px; }
  .rn-nav__right { padding: 0 24px 0 0; }
  .rn-nav__menu, .rn-nav__phone { display: none; }
  .rn-nav__burger { display: block; }
  .rn-nav__brand-txt small { display: block; }
  .rn-nav--top .rn-nav__inner { background: linear-gradient(180deg, rgba(14, 22, 24, 0.82) 0%, rgba(14, 22, 24, 0.45) 60%, rgba(14, 22, 24, 0) 100%); }
  .rn-nav--top .rn-nav__left, .rn-nav--top .rn-nav__right { background: transparent; }
  .rn-nav--top .rn-nav__burger { color: #fff; }
}

@media (max-width: 1024px) {
  :root { --rn-gutter: 45px; --rn-sec-pad: 84px; }
  h2 { font-size: 38px; }
  h3 { font-size: 24px; }
  .rn-rail { display: none; }
  .rn-hero { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .rn-hero__media { min-height: 0; height: 520px; }
  .rn-hero__media > img { object-position: 50% 18%; }
  .rn-hero__inner { padding: 60px var(--rn-gutter) 70px; }
  .rn-foot { padding-top: 80px; }
  .rn-foot__top { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 44px 30px; }
  .rn-foot__lead, .rn-foot__col--contact { grid-column: 1 / -1; }
  .rn-foot__claim { max-width: 640px; font-size: 36px; }
  .rn-foot__about { max-width: 640px; }
  .rn-drawer__nav a { font-size: 34px; }
  .rn-kontakt__inner { justify-content: center; }
  .rn-kontakt__panel h2 { font-size: 36px; }
  .rn-faq__grid { grid-template-columns: minmax(0, 1fr); gap: 44px; }
  .rn-faq__intro { position: static; }
  .rn-faq__intro p { max-width: 640px; }
  .rn-seo__cols { column-gap: 44px; }
  .rn-seo__block h3 { font-size: 23px; }
  .rn-seo__inset { padding: 44px 40px; gap: 30px 36px; }
}

@media (max-width: 768px) {
  :root { --rn-gutter: 30px; --rn-header-h: 72px; --rn-sec-pad: 70px; }
  h2 { font-size: 30px; }
  h3 { font-size: 23px; }
  html.rn-js .rn-reveal { transform: translateY(40px); }
  html.rn-js .rn-reveal--left { transform: translateX(-30px); }
  html.rn-js .rn-reveal--right { transform: translateX(30px); }
  .rn-head { margin-bottom: 38px; }
  .rn-head h2::after { width: 56px; margin-top: 18px; }
  .rn-nav__left { padding-left: 24px; }
  .rn-nav__right { padding-right: 18px; }
  .rn-nav__mark { width: 38px; height: 38px; }
  .rn-hero__media { height: auto; aspect-ratio: 4 / 3; }
  .rn-fab { right: 16px; bottom: 16px; }
  .rn-fab__btn { width: 55px; height: 55px; }
  .rn-fab__btn img { width: 24px; height: 24px; }
  .rn-drawer__top { padding: 22px 30px; }
  .rn-drawer__nav a { font-size: 30px; }
  .rn-drawer__foot { padding: 26px 30px 34px; }
  .rn-foot__claim { font-size: 32px; }
  .rn-foot__cta { flex-direction: column; margin-top: 44px; }
  .rn-foot__cta .rn-btn { width: 100%; }
  .rn-form__row { grid-template-columns: minmax(0, 1fr); }
  .rn-kontakt { padding-block: 0 56px; background: var(--rn-grey); }
  .rn-kontakt__media { position: relative; inset: auto; aspect-ratio: 16 / 10; }
  .rn-kontakt__media > img { object-position: 50% 20%; }
  .rn-kontakt__inner { margin-top: -56px; }
  .rn-kontakt__col { width: min(100%, 640px); }
  .rn-kontakt__panel { padding: 34px 28px; }
  .rn-kontakt__panel h2 { font-size: 30px; }
  .rn-kontakt__info { padding: 26px 28px 28px; }
  .rn-faq__item summary { font-size: 19px; padding: 22px 2px; }
  .rn-faq__answer { padding-right: 8px; }
  .rn-seo__cols { column-count: 1; }
  .rn-seo__head { margin-bottom: 40px; }
  .rn-seo__head .rn-lead { font-size: 18px; }
  .rn-seo__block { margin-bottom: 32px; }
  .rn-seo__inset { grid-template-columns: minmax(0, 1fr); padding: 38px 30px; border-radius: 0; }
  .rn-seo__inset h3 { font-size: 26px; }
}

@media (max-width: 480px) {
  :root { --rn-gutter: 20px; --rn-sec-pad: 56px; }
  body { font-size: 17px; }
  h2 { font-size: 27px; line-height: 1.1; }
  h3 { font-size: 22px; }
  .rn-eyebrow { margin-bottom: 14px; font-size: 13px; }
  .rn-btn { padding: 15px 28px; min-height: 52px; }
  .rn-nav__left { padding-left: 20px; }
  .rn-nav__right { padding-right: 12px; }
  .rn-nav__brand-txt strong { font-size: 18px; }
  .rn-nav__brand-txt small { font-size: 12px; }
  .rn-drawer__top { padding: 18px 20px; }
  .rn-drawer__brand { font-size: 22px; }
  .rn-drawer__nav { gap: 4px; padding: 16px 20px; }
  .rn-drawer__nav a { font-size: 28px; }
  .rn-drawer__phone { font-size: 26px; }
  .rn-drawer__foot { padding: 22px 20px 30px; }
  .rn-drawer__cta { width: 100%; }
  .rn-foot { padding: 60px 0 96px; }
  .rn-foot__top { gap: 36px 20px; }
  .rn-foot__claim { font-size: 28px; }
  .rn-foot__col-title { margin-bottom: 16px; font-size: 17px; }
  .rn-foot__links a { font-size: 15px; }
  .rn-foot__bottom { flex-direction: column; align-items: flex-start; }
  .rn-foot__legal { gap: 22px; }
  .rn-kontakt__inner { justify-content: center; margin-top: -40px; }
  .rn-kontakt__col { width: 100%; margin-inline: auto; }
  .rn-kontakt__panel { padding: 28px 20px; }
  .rn-kontakt__panel h2 { font-size: 26px; }
  .rn-kontakt__note { font-size: 15px; }
  .rn-kontakt__info { padding: 24px 20px 26px; }
  .rn-kontakt__item a, .rn-kontakt__addr { font-size: 18px; }
  .rn-faq__item summary { font-size: 17.5px; gap: 14px; }
  .rn-faq__answer p { font-size: 16px; }
  .rn-faq__call { width: 100%; }
  .rn-seo__block h3 { font-size: 21px; }
  .rn-seo__block p { font-size: 16px; }
  .rn-seo__inset { padding: 30px 20px; }
  .rn-seo__inset h3 { font-size: 23px; }
  .rn-seo__inset--dark p { font-size: 16px; }
}

@media (max-width: 375px) {
  :root { --rn-gutter: 16px; }
  h2 { font-size: 25px; }
  .rn-nav__brand { gap: 9px; }
  .rn-nav__mark { width: 34px; height: 34px; }
  .rn-nav__mark img { width: 22px; height: 22px; }
  .rn-nav__brand-txt strong { font-size: 16px; }
  .rn-nav__brand-txt small { font-size: 11px; }
  .rn-drawer__nav a { font-size: 25px; }
  .rn-drawer__phone { font-size: 23px; }
  .rn-foot__claim { font-size: 26px; }
  .rn-foot__links a, .rn-foot__contact li { font-size: 14px; }
  .rn-foot__tel { font-size: 18px; }
  .rn-kontakt__panel h2 { font-size: 24px; }
  .rn-kontakt__item { padding-left: 34px; }
  .rn-kontakt__item a, .rn-kontakt__addr { font-size: 16.5px; }
  .rn-faq__item summary { font-size: 16.5px; }
  .rn-seo__block h3 { font-size: 20px; }
  .rn-seo__inset { padding: 26px 16px; }
  .rn-seo__inset-actions .rn-btn { padding-inline: 16px; }
}
