/* Startseite: Vorlagenkomposition mit vorhandenen Fotos.
   Alle Regeln bleiben auf die neue Startseite begrenzt. */
.rebrand-home {
  background: var(--rb-paper);
  color: var(--rb-ink);
  --text: var(--rb-ink);
  --text-soft: var(--rb-muted);
  --surface: var(--rb-paper);
  --line: var(--rb-line);
}
.rebrand-home main > section {
  --text: var(--rb-ink);
  --text-soft: var(--rb-muted);
  --surface: var(--rb-paper);
  --line: var(--rb-line);
  padding-block: 78px;
  background: var(--rb-paper);
}
.rebrand-home main { overflow: clip; }
.rebrand-home .rb-wrap { width: min(calc(100% - 64px), var(--rb-wrap)); margin-inline: auto; }
.rebrand-home #main > section h1,
.rebrand-home #main > section h2,
.rebrand-home #main > section h3 {
  font-family: var(--font-hero);
  font-weight: 800;
  color: var(--rb-navy);
  text-transform: none;
}
.rebrand-home #main > section h2 { font-size: clamp(2rem, 3vw, 3rem); line-height: 1.08; }
.rebrand-home #main > section h3 { font-size: 1.65rem; line-height: 1.12; }
.rebrand-home .rb-section-head { margin-bottom: 28px; text-align: center; }
.rebrand-home .rb-section-head h2 { margin: 0; }
.rebrand-home .rb-icon { flex: none; color: var(--rb-teal); }
.rebrand-home .rb-contact { background: var(--rb-mist); }
.rebrand-home .rb-eyebrow { margin: 0 0 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--rb-teal); font-size: .875rem; font-weight: 700; }
.rebrand-home .rb-region { padding-block: 0; }
.rebrand-home .rb-region__visual { position: relative; min-height: 320px; display: grid; align-content: center; background: var(--rb-teal-dark); color: var(--rb-paper); }
.rebrand-home .rb-region__media { position: absolute; inset: 0; }
.rebrand-home .rb-region__media img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.rebrand-home .rb-region__visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgb(3 61 71 / 94%), rgb(3 61 71 / 36%)); }
.rebrand-home .rb-region__content { position: relative; z-index: 1; padding-block: 48px; }
.rebrand-home #main > section .rb-region__content h2 { margin: 0 0 16px; color: var(--rb-paper); }
.rebrand-home .rb-region__content > p { max-width: 580px; margin: 0; color: var(--rb-paper); font-size: 1.1rem; line-height: 1.55; }
.rebrand-home .rb-region__places { display: flex; flex-wrap: wrap; gap: 12px; list-style: none; margin: 24px 0 0; padding: 0; }
.rebrand-home .rb-region__places a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 18px; border: 1px solid rgb(255 255 255 / 45%); border-radius: var(--rb-pill); color: var(--rb-paper); text-decoration: none; }
.rebrand-home .rb-contact__grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 52px; align-items: start; }
.rebrand-home .rb-contact__links { display: grid; gap: 8px; list-style: none; margin: 24px 0 0; padding: 0; }
.rebrand-home .rb-contact__links a { display: inline-flex; align-items: center; min-height: 44px; overflow-wrap: anywhere; }
.rebrand-home .rb-contact__grid > * { min-width: 0; }
.rebrand-home .rb-contact__content h2 { margin: 0 0 22px; }
.rebrand-home .contact__form { scroll-margin-top: 110px; border: 1px solid var(--rb-line); border-radius: var(--rb-radius); background: var(--rb-paper); box-shadow: var(--rb-shadow); }
.rebrand-home .contact__form .input,
.rebrand-home .contact__form .select,
.rebrand-home .contact__form .textarea { min-width: 0; background-color: var(--rb-paper); border-color: var(--rb-line); }
.rebrand-home .contact__form [hidden] { display: none !important; }
.rebrand-home .contact__form .btn--primary { background: var(--rb-teal); color: var(--rb-paper); border-color: var(--rb-teal); border-radius: 12px; }
.rebrand-home .contact__form .btn--outline { background: var(--rb-paper); color: var(--rb-navy); border-color: var(--rb-line); border-radius: 12px; }
.rebrand-home .mobile-only { display: none !important; }
.rebrand-home .mobile-form-step--details { display: none; }
.rebrand-home .field__optional { display: none; }


@media (max-width: 1023px) and (min-width: 769px) {
  .rebrand-home .rb-contact__grid { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  .rebrand-home .mobile-only { display: revert !important; }
  .rebrand-home .desktop-only { display: none !important; }
  .rebrand-home .rb-wrap { width: calc(100% - 40px); }
  .rebrand-home main > section { padding-block: 54px; }
  .rebrand-home .rb-contact__grid { grid-template-columns: 1fr; }
  .rebrand-home .rb-region { padding-block: 0; }
  .rebrand-home .rb-region__visual { min-height: 430px; }
  .rebrand-home .rb-region__media img { object-position: 58% center; }
  .rebrand-home .contact__form { padding: 22px 18px; }
  .rebrand-home .mobile-form-step--details { display: block; }
  .rebrand-home .mobile-form-heading { margin-bottom: 18px; }
  .rebrand-home .mobile-form-heading .label { margin-bottom: 8px; }
  .rebrand-home .mobile-form-heading h2 { margin: 0 0 7px; font-size: 1.8rem; }
  .rebrand-home .mobile-form-heading > p:last-child { margin: 0; font-size: .86rem; line-height: 1.5; color: var(--rb-muted); }
  .rebrand-home .mobile-form-progress { margin-bottom: 20px; font-size: .75rem; font-weight: 600; color: var(--rb-muted); }
  .rebrand-home .mobile-form-progress__track { display: block; height: 3px; margin-top: 9px; overflow: hidden; border-radius: 3px; background: var(--rb-line); }
  .rebrand-home .mobile-form-progress__track span { display: block; width: 50%; height: 100%; background: var(--rb-teal); transition: width .2s ease; }
  .rebrand-home .contact__form[data-mobile-step="2"] .mobile-form-progress__track span { width: 100%; }
  .rebrand-home .mobile-step-one-fields > .field,
  .rebrand-home .mobile-step-one-fields > .form-row,
  .rebrand-home #f-service-field { margin-bottom: 16px !important; }
  .rebrand-home #f-route-fields { grid-template-columns: minmax(0, 1fr); }
  .rebrand-home .field__optional { display: inline; font-size: .76em; font-weight: 400; color: var(--rb-muted); }
  .rebrand-home .mobile-form-actions { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 10px; align-items: stretch; }
  .rebrand-home .mobile-form-actions .btn { min-height: 52px; }
  .rebrand-home #f-back { padding-inline: 18px; }
  .rebrand-home .mobile-form-success { text-align: left; }
  .rebrand-home .mobile-form-success h3 { margin: 0 0 10px; font-size: 1.7rem; color: var(--rb-navy); }
  .rebrand-home .mobile-form-success p { margin: 0 0 13px; line-height: 1.55; }
  .rebrand-home .mobile-form-success .btn { width: 100%; margin-top: 8px; }
  .rebrand-home .wa-float { display: none !important; }
  .rebrand-home .home-sticky-cta {
    position: fixed; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom)); left: 12px; z-index: 95;
    align-items: center; justify-content: center; min-height: 52px; padding: 12px 18px;
    border-radius: 12px; background: var(--rb-teal); box-shadow: var(--rb-shadow); color: var(--rb-paper);
    font-size: .92rem; font-weight: 700; text-align: center; text-decoration: none;
    visibility: hidden; opacity: 0; translate: 0 18px; pointer-events: none;
    transition: opacity .2s ease, translate .2s ease, visibility 0s linear .2s;
  }
  .rebrand-home .home-sticky-cta.is-visible { display: flex !important; visibility: visible; opacity: 1; translate: none; pointer-events: auto; transition-delay: 0s; }
}

@media (prefers-reduced-motion: reduce) {
  .rebrand-home .reveal,
  .rebrand-home .reveal--seq > * { opacity: 1 !important; transform: none !important; translate: none !important; animation: none !important; transition: none !important; }
  .rebrand-home .home-sticky-cta,
  .rebrand-home .mobile-form-progress__track span { transition: none; }
}

/* ==========================================================================
   HOME-BANNER nach Vorlage (08.10.) — 1 u = 1 Pixel der Vorlage (Rahmen 1356 px)
   Ab 1100 px proportional (--u aus brand-shell.css), darunter gestapelt.
   Farben aus der Vorlage gemessen: Flaeche #08192C, Knopf #0B4259.
   ========================================================================== */
.rebrand-home .rb-hero { position: relative; padding: 0; background: #08192C; color: #fff; }
.rebrand-home .rb-hero__stage { position: relative; width: min(100%, 1600px); margin-inline: auto; overflow: hidden; }
.rebrand-home .rb-hero__media { position: absolute; inset: 0; display: block; }
.rebrand-home .rb-hero__photo { position: absolute; display: block; max-width: none; object-fit: cover; }
.rebrand-home .rb-hero__content { position: relative; z-index: 2; }
.rebrand-home .rb-hero__eyebrow { margin: 0; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: #fff; }
.rebrand-home #main .rb-hero h1 { margin: 0; color: #fff; font-family: var(--font-body); font-weight: 700; text-transform: none; letter-spacing: -.02em; }
.rebrand-home .rb-hero h1 span { display: block; }
.rebrand-home .rb-hero__lead { margin: 0; color: rgb(255 255 255 / 92%); }
.rebrand-home .rb-hero__actions { display: flex; flex-wrap: wrap; }
.rebrand-home .rb-hero__btn { display: inline-flex; align-items: center; justify-content: center; font-weight: 600; text-decoration: none; white-space: nowrap; }
.rebrand-home .rb-hero__btn svg { flex: none; }
.rebrand-home .rb-hero__btn--primary { color: #fff; background: #0B4259; border: 1.5px solid rgb(255 255 255 / 45%); }
.rebrand-home .rb-hero__btn--primary:hover { background: #0E516D; }
.rebrand-home .rb-hero__btn--secondary { color: var(--rb-navy); background: #fff; border: 1.5px solid #fff; }
.rebrand-home .rb-hero__btn--secondary:hover { background: #EAF0F5; border-color: #EAF0F5; }
.rebrand-home .rb-hero__checks { display: flex; flex-wrap: wrap; list-style: none; margin: 0; padding: 0; color: rgb(255 255 255 / 92%); }
.rebrand-home .rb-hero__checks li { display: inline-flex; align-items: center; }
.rebrand-home .rb-hero__rating { position: absolute; z-index: 3; display: flex; align-items: center; background: #fff; color: var(--rb-navy); text-decoration: none; box-shadow: 0 8px 26px rgb(7 31 54 / 22%); }
.rebrand-home .rb-hero__rating > span { display: grid; line-height: 1.2; }
.rebrand-home .rb-hero__rating strong { font-weight: 700; }
.rebrand-home .rb-hero__rating small { color: var(--rb-muted); }
.rebrand-home .rb-hero__stars { color: #F2A900; letter-spacing: .06em; }
.rebrand-home .rb-hero__google { flex: none; }
.rebrand-home .rb-hero__perks { position: relative; z-index: 4; list-style: none; margin: 0; padding: 0; background: #fff; box-shadow: 0 18px 46px rgb(7 31 54 / 13%); }
.rebrand-home .rb-hero__perks li { display: flex; align-items: center; }
.rebrand-home .rb-hero__perk-icon { display: grid; place-items: center; flex: none; border-radius: 50%; background: #F1F7FA; color: var(--rb-navy); }
.rebrand-home .rb-hero__perk-icon svg { stroke-width: 1.7; }
.rebrand-home .rb-hero__perks strong { display: block; color: var(--rb-navy); font-weight: 700; }
.rebrand-home .rb-hero__perks li > span:last-child { color: var(--rb-muted); }
.rebrand-home .rb-hero__eyebrow, .rebrand-home .rb-hero__lead { max-width: none; }

/* --- Ab 1100 px: Geometrie der Vorlage ----------------------------------- */
@media (min-width: 1100px) {
  .rebrand-home .rb-hero { margin-bottom: calc(122 * var(--u) + 64px); overflow-x: clip; }
  .rebrand-home .rb-hero__stage { height: calc(532 * var(--u)); overflow: visible; }
  .rebrand-home .rb-hero__media { overflow: hidden; right: min(0px, calc((100% - 100vw) / 2)); }
  .rebrand-home .rb-hero__photo { top: 0; right: 0; width: calc(900 * var(--u) + max(0px, (100vw - 100%) / 2)); height: 100%; object-position: 50% 8%;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 calc(150 * var(--u))); mask-image: linear-gradient(90deg, transparent 0, #000 calc(150 * var(--u))); }
  .rebrand-home .rb-hero__media::after {
    content: ""; position: absolute; inset: 0;
    background: linear-gradient(90deg, rgb(8 25 44 / 98%) 0, rgb(8 25 44 / 96%) calc(407 * var(--u)), rgb(8 25 44 / 84%) calc(597 * var(--u)), rgb(8 25 44 / 50%) calc(759 * var(--u)), rgb(8 25 44 / 10%) calc(908 * var(--u)), transparent calc(1003 * var(--u)));
  }
  .rebrand-home .rb-hero__content { padding: calc(71 * var(--u)) 0 0 calc(99 * var(--u)); width: calc(760 * var(--u)); }
  .rebrand-home .rb-hero__eyebrow { font-size: max(11px, calc(11.5 * var(--u))); }
  .rebrand-home #main .rb-hero h1 { margin-top: calc(18 * var(--u)); font-size: calc(49.5 * var(--u)); line-height: calc(55.5 * var(--u)); }
  .rebrand-home .rb-hero__lead { margin-top: calc(22 * var(--u)); max-width: calc(540 * var(--u)); font-size: max(15px, calc(19 * var(--u))); line-height: calc(25.5 * var(--u)); }
  .rebrand-home .rb-hero__actions { margin-top: calc(40 * var(--u)); gap: calc(14 * var(--u)); flex-wrap: nowrap; }
  .rebrand-home .rb-hero__btn { height: calc(48 * var(--u)); min-height: 44px; padding-inline: calc(24 * var(--u)); border-radius: calc(8 * var(--u)); font-size: max(13px, calc(14.5 * var(--u))); gap: calc(10 * var(--u)); }
  .rebrand-home .rb-hero__btn--primary { width: calc(324 * var(--u)); }
  .rebrand-home .rb-hero__btn--secondary { width: calc(241 * var(--u)); }
  .rebrand-home .rb-hero__checks { margin-top: calc(24 * var(--u)); gap: 0 calc(37 * var(--u)); flex-wrap: nowrap; font-size: max(12px, calc(13.5 * var(--u))); }
  .rebrand-home .rb-hero__checks li { gap: calc(8 * var(--u)); white-space: nowrap; }
  .rebrand-home .rb-hero__rating { left: calc(1124 * var(--u)); top: calc(438 * var(--u)); width: calc(212 * var(--u)); height: calc(64 * var(--u)); padding-inline: calc(16 * var(--u)); gap: calc(12 * var(--u)); border-radius: calc(8 * var(--u)); }
  .rebrand-home .rb-hero__google { width: calc(28 * var(--u)); height: calc(28 * var(--u)); }
  .rebrand-home .rb-hero__rating strong { font-size: max(12px, calc(13 * var(--u))); }
  .rebrand-home .rb-hero__rating small { font-size: max(9px, calc(9.5 * var(--u))); }
  .rebrand-home .rb-hero__stars { font-size: max(11px, calc(12 * var(--u))); }
  .rebrand-home .rb-hero__perks {
    position: absolute; left: 0; right: 0; bottom: calc(-122 * var(--u)); width: calc(min(100%, 1600px) - 62 * var(--u)); height: calc(143 * var(--u)); margin: 0 auto;
    display: flex; justify-content: space-between; align-items: center; padding-inline: calc(42 * var(--u)) calc(44 * var(--u)); border-radius: calc(14 * var(--u));
  }
  .rebrand-home .rb-hero__perks li { gap: calc(19 * var(--u)); }
  .rebrand-home .rb-hero__perk-icon { width: calc(78 * var(--u)); height: calc(78 * var(--u)); }
  .rebrand-home .rb-hero__perk-icon svg { width: calc(38 * var(--u)); height: calc(38 * var(--u)); }
  .rebrand-home .rb-hero__perks strong { font-size: max(15px, calc(18 * var(--u))); margin-bottom: calc(3 * var(--u)); }
  .rebrand-home .rb-hero__perks li > span:last-child { max-width: calc(190 * var(--u)); font-size: max(13px, calc(15.5 * var(--u))); line-height: calc(21 * var(--u)); }
}

/* --- Unter 1100 px: gestapelt ------------------------------------------- */
@media (max-width: 1099px) {
  .rebrand-home .rb-hero__media { position: relative; height: min(64vw, 420px); overflow: hidden; }
  .rebrand-home .rb-hero__photo { inset: 0; width: 100%; height: 100%; object-position: 50% 14%; }
  .rebrand-home .rb-hero__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgb(8 25 44 / 55%) 0, transparent 38%, rgb(8 25 44 / 40%) 100%); }
  .rebrand-home .rb-hero__stage { display: flex; flex-direction: column; }
  .rebrand-home .rb-hero__content { order: -1; padding: 30px 20px 26px; }
  .rebrand-home .rb-hero__eyebrow { font-size: .72rem; }
  .rebrand-home #main .rb-hero h1 { margin-top: 14px; font-size: clamp(2rem, 8.2vw, 3.1rem); line-height: 1.08; }
  .rebrand-home .rb-hero__lead { margin-top: 16px; max-width: 560px; font-size: 1rem; line-height: 1.55; }
  .rebrand-home .rb-hero__actions { margin-top: 22px; gap: 10px; }
  .rebrand-home .rb-hero__btn { min-height: 52px; padding-inline: 20px; border-radius: 10px; font-size: .95rem; gap: 10px; }
  .rebrand-home .rb-hero__checks { margin-top: 20px; gap: 10px 22px; font-size: .86rem; }
  .rebrand-home .rb-hero__checks li { gap: 8px; }
  .rebrand-home .rb-hero__rating { position: static; align-self: flex-start; margin: -30px 0 0 20px; padding: 10px 16px; gap: 12px; border-radius: 10px; }
  .rebrand-home .rb-hero__rating strong { font-size: .9rem; }
  .rebrand-home .rb-hero__rating small { font-size: .7rem; }
  .rebrand-home .rb-hero { padding-bottom: 0; }
  .rebrand-home .rb-hero__perks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 14px; margin: 24px 16px -40px; padding: 20px 16px; border-radius: 14px; }
  .rebrand-home .rb-hero__perks li { gap: 12px; align-items: flex-start; }
  .rebrand-home .rb-hero__perk-icon { width: 52px; height: 52px; }
  .rebrand-home .rb-hero__perk-icon svg { width: 26px; height: 26px; }
  .rebrand-home .rb-hero__perks strong { font-size: .95rem; margin-bottom: 2px; }
  .rebrand-home .rb-hero__perks li > span:last-child { font-size: .8rem; line-height: 1.4; }
  .rebrand-home .rb-hero + .rb-services .rb-services__inner { padding-top: 78px; }
}
@media (max-width: 560px) {
  .rebrand-home .rb-hero__actions { display: grid; }
  .rebrand-home .rb-hero__btn { width: 100%; white-space: normal; text-align: center; }
  .rebrand-home .rb-hero__perks { grid-template-columns: minmax(0, 1fr); }
}

/* --- Preise (08.10.): Spannen aus der Calw-Seite, nichts erfunden ---------- */

/* ==========================================================================
   UNSERE LEISTUNGEN nach Vorlage 2 (08.10.) — 1 s = 1 Pixel der Vorlage (1536 px)
   Ab 1100 px proportional (--s), darunter gestapelt. Farben gemessen.
   Gold: Ueberschriftchen und Links #C08A3A, Knopf #DEAB5A.
   ========================================================================== */
:root { --s: calc(min(100vw, 1600px) / 1536); }
.rebrand-home .rb-services { position: relative; isolation: isolate; overflow: hidden; background: #fff; padding: 0; }
.rebrand-home .rb-services__inner { position: relative; z-index: 1; width: calc(100% - 40px); margin-inline: auto; padding-block: 56px 60px; }

/* Hintergrund: weiches Laub links und unten, sonnige Fassade oben rechts, helles Haus-Zeichen */
.rebrand-home .rb-services__bg { position: absolute; inset: 0; z-index: 0; pointer-events: none; background: #fff url('img/leist-bg-900.jpg') right top / 112% auto no-repeat; }
.rebrand-home .rb-services__bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgb(255 255 255 / 0) 52%, #fff 76%), linear-gradient(90deg, rgb(255 255 255 / 0) 0, rgb(255 255 255 / .86) 9%, rgb(255 255 255 / .9) 50%, rgb(255 255 255 / .78) 62%, rgb(255 255 255 / .1) 76%, rgb(255 255 255 / 0) 100%); }
@media (min-width: 701px) { .rebrand-home .rb-services__bg { background-image: url('img/leist-bg-1536.jpg'); } }

.rebrand-home .rb-services__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; }
.rebrand-home .rb-services__eyebrow { margin: 0; font-size: .85rem; font-weight: 600; letter-spacing: .3em; text-transform: uppercase; color: #CC9442; }
.rebrand-home #main .rb-services h2 { margin: 8px 0 0; font-family: var(--font-body); font-weight: 700; letter-spacing: -.025em; color: #04101e; text-transform: none; font-size: clamp(2rem, 6.4vw, 3.6rem); line-height: 1.08; }
.rebrand-home .rb-services__lead { max-width: none; margin: 12px 0 0; color: #3b4b5d; font-size: 1.1rem; line-height: 1.45; }
.rebrand-home .rb-services__all, .rebrand-home .rb-svc__more { position: relative; display: inline-flex; align-items: center; gap: 12px; font-weight: 600; text-decoration: none; white-space: nowrap; }
.rebrand-home .rb-services__all { flex: none; color: #04101e; padding-bottom: 8px; }
.rebrand-home .rb-services__all .rb-arrow { color: #CC9442; }
.rebrand-home .rb-services__all::after { content: ""; position: absolute; left: 0; bottom: 0; width: 120px; height: 2px; background: #C08A3A; }
.rebrand-home .rb-svc__more { color: #BF8335; }
.rebrand-home .rb-svc__more span { border-bottom: 2px solid #C08A3A; padding-bottom: 3px; }

.rebrand-home .rb-svc { position: relative; display: flex; flex-direction: column; overflow: hidden; background: #fff; border-radius: 12px; box-shadow: 0 12px 38px rgb(11 45 73 / 10%), 0 0 0 1px rgb(11 45 73 / 4%); }
.rebrand-home .rb-svc__media { position: relative; flex: none; }
.rebrand-home .rb-svc__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.rebrand-home .rb-svc__badge { position: absolute; left: 18px; top: 16px; display: inline-flex; align-items: center; gap: 9px; padding: 9px 18px 9px 14px; border-radius: 999px; background: #fff; color: #04101e; font-weight: 600; font-size: .86rem; box-shadow: 0 4px 16px rgb(7 31 54 / 12%); }
.rebrand-home .rb-svc__badge svg { color: #04101e; flex: none; }
.rebrand-home .rb-svc__icon { position: absolute; left: 24px; bottom: 0; transform: translateY(46%); display: grid; place-items: center; width: 70px; height: 70px; border-radius: 50%; background: #EEF1F4; color: #0a2540; box-shadow: none; }
.rebrand-home .rb-svc__icon svg { stroke-width: 1.8; }
.rebrand-home .rb-svc__body { position: relative; flex: 1; padding: 44px 24px 62px 28px; }
.rebrand-home #main .rb-svc h3 { margin: 0; font-family: var(--font-body); font-weight: 700; letter-spacing: -.02em; text-transform: none; color: #04101e; font-size: 1.6rem; line-height: 1.2; }
.rebrand-home .rb-svc__body p { max-width: none; margin: 6px 0 0; color: #4d5a68; line-height: 1.45; }
.rebrand-home .rb-svc__more { position: absolute; left: 28px; bottom: 26px; }

.rebrand-home .rb-services__extra { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 18px; }
.rebrand-home .rb-extra { display: flex; align-items: center; gap: 16px; padding: 16px 20px; background: #fff; border-radius: 12px; color: #4d5a68; text-decoration: none; box-shadow: 0 12px 38px rgb(11 45 73 / 10%), 0 0 0 1px rgb(11 45 73 / 4%); }
.rebrand-home .rb-extra strong { display: block; font-size: 1.05rem; color: #04101e; }
.rebrand-home .rb-extra__icon { display: grid; place-items: center; flex: none; width: 52px; height: 52px; border-radius: 50%; background: #F4EEE3; color: #04101e; }
.rebrand-home .rb-extra:hover { box-shadow: 0 14px 40px rgb(11 45 73 / 16%), 0 0 0 1px rgb(192 138 58 / 45%); }

.rebrand-home .rb-services__cta { position: relative; overflow: hidden; display: flex; align-items: center; justify-content: space-between; gap: 22px; margin-top: 18px; padding: 28px; border-radius: 14px; color: #fff; background: #063846; box-shadow: 0 14px 40px rgb(7 31 54 / 22%); }
.rebrand-home .rb-services__cta-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 70% 50%; filter: blur(5px) saturate(.7); opacity: .5; z-index: 0; }
.rebrand-home .rb-services__cta::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, #02323f 0, rgb(4 52 66 / 94%) 45%, rgb(14 66 82 / 62%) 100%); }
.rebrand-home .rb-services__cta > *:not(img) { position: relative; z-index: 2; }
.rebrand-home .rb-services__cta-text { min-width: 0; }
.rebrand-home .rb-services__cta-eyebrow { margin: 0; font-size: .78rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: #E2BE72; }
.rebrand-home #main .rb-services__cta h3 { margin: 6px 0 0; font-family: var(--font-body); font-weight: 700; letter-spacing: -.02em; text-transform: none; color: #fff; font-size: 1.8rem; line-height: 1.15; }
.rebrand-home .rb-services__cta-lead { max-width: none; margin: 10px 0 0; color: rgb(255 255 255 / 92%); line-height: 1.45; }
.rebrand-home .rb-services__cta-btn { display: inline-flex; align-items: center; justify-content: center; gap: 14px; flex: none; min-height: 56px; padding: 0 28px; border-radius: 12px; background: #DEAB5A; color: #04101e; font-weight: 600; text-decoration: none; white-space: nowrap; box-shadow: 0 8px 24px rgb(0 0 0 / 22%); }
.rebrand-home .rb-services__cta-btn:hover { background: #E8B966; }
.rebrand-home .rb-services__cta-btn .rb-arrow { width: 26px; }

/* --- Ab 1100 px: Geometrie der Vorlage ---------------------------------- */
@media (min-width: 1100px) {
  .rebrand-home .rb-services__inner { width: calc(1380 * var(--s)); padding-block: calc(44 * var(--s)) calc(110 * var(--s)); }
  .rebrand-home .rb-services__intro { padding-left: calc(23 * var(--s)); }
  .rebrand-home .rb-services__eyebrow { font-size: max(11px, calc(17 * var(--s))); }
  .rebrand-home #main .rb-services h2 { margin-top: calc(5 * var(--s)); font-size: calc(58 * var(--s)); }
  .rebrand-home .rb-services__lead { margin-top: calc(8 * var(--s)); font-size: max(14.5px, calc(21.5 * var(--s))); line-height: calc(28.5 * var(--s)); max-width: calc(800 * var(--s)); }
  .rebrand-home .rb-services__all { margin: calc(114 * var(--s)) calc(24 * var(--s)) 0 0; font-size: max(14px, calc(19 * var(--s))); gap: calc(20 * var(--s)); padding-bottom: calc(9 * var(--s)); }
  .rebrand-home .rb-services__all .rb-arrow { width: calc(26 * var(--s)); }
  .rebrand-home .rb-services__grid { display: grid; grid-template-columns: calc(475 * var(--s)) calc(428 * var(--s)) calc(425 * var(--s)); gap: calc(26 * var(--s)); margin-top: calc(29 * var(--s)); }
  .rebrand-home .rb-svc { height: calc(497 * var(--s)); border-radius: calc(12 * var(--s)); }
  .rebrand-home .rb-svc__media { height: calc(286 * var(--s)); }
  .rebrand-home .rb-svc__media img { object-position: 50% 38%; }
  .rebrand-home .rb-svc--entr .rb-svc__media img { object-position: 50% 30%; }
  .rebrand-home .rb-svc--montage .rb-svc__media img { object-position: 50% 24%; }
  .rebrand-home .rb-svc__badge { left: calc(18 * var(--s)); top: calc(17 * var(--s)); gap: calc(9 * var(--s)); padding: 0 calc(18 * var(--s)) 0 calc(15 * var(--s)); height: calc(43 * var(--s)); font-size: max(12px, calc(14.5 * var(--s))); }
  .rebrand-home .rb-svc__badge svg { width: calc(27 * var(--s)); height: calc(27 * var(--s)); }
  .rebrand-home .rb-svc__icon { left: calc(26 * var(--s)); width: calc(73 * var(--s)); height: calc(73 * var(--s)); transform: translateY(44%); }
  .rebrand-home .rb-svc__icon svg { width: calc(46 * var(--s)); height: calc(46 * var(--s)); }
  .rebrand-home .rb-svc__body { padding: calc(28 * var(--s)) calc(16 * var(--s)) 0 calc(32 * var(--s)); }
  .rebrand-home #main .rb-svc h3 { font-size: calc(30 * var(--s)); line-height: calc(36 * var(--s)); }
  .rebrand-home .rb-svc__body p { margin-top: calc(4 * var(--s)); font-size: max(13.5px, calc(18.2 * var(--s))); line-height: calc(25 * var(--s)); }
  .rebrand-home .rb-svc__more { left: calc(32 * var(--s)); bottom: calc(22 * var(--s)); gap: calc(14 * var(--s)); font-size: max(14px, calc(19.5 * var(--s))); }
  .rebrand-home .rb-svc__more .rb-arrow { width: calc(28 * var(--s)); }
  .rebrand-home .rb-svc--montage .rb-svc__more { bottom: calc(14 * var(--s)); }
  .rebrand-home .rb-services__extra { gap: calc(26 * var(--s)); margin-top: calc(26 * var(--s)); }
  .rebrand-home .rb-extra { padding: calc(16 * var(--s)) calc(24 * var(--s)); border-radius: calc(12 * var(--s)); font-size: max(13px, calc(17 * var(--s))); gap: calc(16 * var(--s)); }
  .rebrand-home .rb-extra strong { font-size: max(15px, calc(20 * var(--s))); }
  .rebrand-home .rb-extra__icon { width: calc(56 * var(--s)); height: calc(56 * var(--s)); }
  .rebrand-home .rb-services__cta { margin-top: calc(26 * var(--s)); height: calc(193 * var(--s)); padding: 0 calc(40 * var(--s)) 0 calc(51 * var(--s)); border-radius: calc(14 * var(--s)); }
  .rebrand-home .rb-services__cta-eyebrow { font-size: max(11px, calc(15.5 * var(--s))); }
  .rebrand-home #main .rb-services__cta h3 { margin-top: calc(6 * var(--s)); font-size: max(22px, calc(41 * var(--s))); }
  .rebrand-home .rb-services__cta-lead { margin-top: calc(10 * var(--s)); max-width: calc(700 * var(--s)); font-size: max(13px, calc(19 * var(--s))); line-height: calc(26 * var(--s)); }
  .rebrand-home .rb-services__cta-btn { width: calc(373 * var(--s)); height: calc(64 * var(--s)); min-height: 50px; padding: 0; gap: calc(14 * var(--s)); border-radius: calc(12 * var(--s)); font-size: max(14px, calc(19 * var(--s))); }
  .rebrand-home .rb-services__cta-btn svg:first-child { width: calc(28 * var(--s)); height: calc(28 * var(--s)); }
}

/* --- Unter 1100 px: gestapelt ------------------------------------------- */
@media (max-width: 1099px) {
  .rebrand-home .rb-services__head { flex-direction: column; }
  .rebrand-home .rb-services__all { margin-top: 18px; }
  .rebrand-home .rb-services__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 24px; }
  .rebrand-home .rb-svc--montage { grid-column: 1 / -1; }
  .rebrand-home .rb-svc__media { height: 220px; }
  .rebrand-home .rb-svc__media img { object-position: 50% 30%; }
  .rebrand-home .rb-svc__body { padding-bottom: 78px; }
  .rebrand-home .rb-services__cta { flex-wrap: wrap; }
}
@media (max-width: 700px) {
  .rebrand-home .rb-services__grid, .rebrand-home .rb-services__extra { grid-template-columns: minmax(0, 1fr); }
  .rebrand-home .rb-services__cta { flex-direction: column; align-items: flex-start; padding: 24px 18px; gap: 16px; }
  .rebrand-home .rb-services__cta-btn { width: 100%; white-space: normal; text-align: center; }
}


/* ==========================================================================
   ABLAUF "So einfach geht's" nach Vorlage (08.10.) — 1 a = 1 Pixel der Vorlage (2000 px)
   Ab 1100 px proportional (--a), darunter gestapelt. Gold wie in der Vorlage gemessen.
   ========================================================================== */
:root { --a: calc(min(100vw, 1920px) / 2000); }
.rebrand-home .rb-process { position: relative; isolation: isolate; overflow: hidden; background: #fff; padding: 0; }
.rebrand-home .rb-process__bg { position: absolute; inset: 0; z-index: 0; pointer-events: none; background: #fff url('img/leist-bg-900.jpg') right top / cover no-repeat; }
.rebrand-home .rb-process__bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgb(255 255 255 / 0) 0, rgb(255 255 255 / .88) 7%, rgb(255 255 255 / .9) 55%, rgb(255 255 255 / .86) 70%, rgb(255 255 255 / .45) 86%, rgb(255 255 255 / .3) 100%); }
@media (min-width: 701px) { .rebrand-home .rb-process__bg { background-image: url('img/leist-bg-1536.jpg'); } }
.rebrand-home .rb-process__inner { position: relative; z-index: 1; width: calc(100% - 40px); margin-inline: auto; padding-block: 54px 50px; }
.rebrand-home .rb-process__head { text-align: center; }
.rebrand-home .rb-process__eyebrow { position: relative; display: inline-block; margin: 0; padding-bottom: 14px; font-size: .95rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #E9B11E; }
.rebrand-home .rb-process__eyebrow::after { content: ""; position: absolute; left: 50%; bottom: 0; width: 60px; height: 2px; margin-left: -30px; background: #E2C069; }
.rebrand-home #main .rb-process h2 { margin: 22px 0 0; font-family: var(--font-body); font-weight: 700; letter-spacing: -.025em; text-transform: none; color: #00091B; font-size: clamp(1.9rem, 5.6vw, 3.2rem); line-height: 1.12; }
.rebrand-home .rb-process__lead { max-width: 720px; margin: 14px auto 0; color: #494d50; font-size: 1.1rem; line-height: 1.5; }
.rebrand-home .rb-process__steps { position: relative; list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.rebrand-home .rb-step { position: relative; padding-top: 46px; }
.rebrand-home .rb-step__no { position: absolute; z-index: 2; left: 79px; top: 8px; display: grid; place-items: center; width: 44px; height: 44px; margin-left: -22px; border-radius: 50%; background: #EEBC4C; color: #192E2E; font-weight: 700; font-size: 1.1rem; }
.rebrand-home .rb-step__card { position: relative; display: flex; align-items: center; gap: 22px; min-height: 247px; padding: 20px; background: #fff; border-radius: 10px; box-shadow: 0 12px 38px rgb(11 45 73 / 9%), 0 0 0 1px rgb(11 45 73 / 3%); }
.rebrand-home .rb-step__card img { flex: none; width: 189px; height: 207px; object-fit: cover; border-radius: 10px; }
.rebrand-home .rb-step__text { min-width: 0; padding-top: 22px; }
.rebrand-home #main .rb-step h3 { margin: 0; font-family: var(--font-body); font-weight: 700; letter-spacing: -.015em; text-transform: none; color: #010B1F; font-size: 1.35rem; line-height: 1.2; }
.rebrand-home .rb-step__text p { max-width: none; margin: 14px 0 0; color: #4a5560; font-size: .98rem; line-height: 1.45; }
.rebrand-home .rb-step__icon { position: absolute; right: 17px; top: -19px; display: grid; place-items: center; width: 72px; height: 72px; border-radius: 50%; background: #fff; color: #0a3542; box-shadow: 0 6px 22px rgb(7 31 54 / 12%); }
.rebrand-home .rb-step__icon svg { stroke-width: 1.6; }
.rebrand-home .rb-process__cta { display: grid; justify-items: center; gap: 14px; margin-top: 44px; }
.rebrand-home .rb-process__btn { display: inline-flex; align-items: center; justify-content: center; gap: 18px; min-height: 66px; padding: 0 34px; border-radius: 999px; background: #F1BD5A; color: #030912; font-weight: 700; text-decoration: none; box-shadow: 0 10px 28px rgb(193 140 40 / 28%); }
.rebrand-home .rb-process__btn:hover { background: #F5C76E; }
.rebrand-home .rb-process__btn .rb-arrow { width: 26px; }
.rebrand-home .rb-process__cta p { max-width: none; margin: 0; color: #54636c; font-size: .9rem; text-align: center; }

@media (min-width: 1100px) {
  .rebrand-home .rb-process__inner { width: calc(1885 * var(--a)); padding-block: calc(54 * var(--a)) calc(84 * var(--a)); }
  .rebrand-home .rb-process__eyebrow { font-size: max(12px, calc(20 * var(--a))); padding-bottom: calc(19 * var(--a)); }
  .rebrand-home .rb-process__eyebrow::after { width: calc(120 * var(--a)); margin-left: calc(-60 * var(--a)); }
  .rebrand-home #main .rb-process h2 { margin-top: calc(13 * var(--a)); font-size: calc(51 * var(--a)); }
  .rebrand-home .rb-process__lead { margin-top: calc(16 * var(--a)); max-width: calc(730 * var(--a)); font-size: max(14px, calc(22 * var(--a))); line-height: calc(31 * var(--a)); }
  .rebrand-home .rb-process__steps { margin-top: calc(40 * var(--a)); gap: calc(24 * var(--a)); grid-template-columns: calc(455 * var(--a)) calc(451 * var(--a)) calc(452 * var(--a)) calc(455 * var(--a)); }
  .rebrand-home .rb-process__steps::before { content: ""; position: absolute; left: calc(79 * var(--a)); right: calc(445 * var(--a)); top: calc(22 * var(--a)); border-top: 2px dashed #B9BFC2; opacity: .8; }
  .rebrand-home .rb-step { padding-top: calc(53 * var(--a)); }
  .rebrand-home .rb-step__no { left: calc(79 * var(--a)); top: 0; width: max(34px, calc(44 * var(--a))); height: max(34px, calc(44 * var(--a))); margin-left: calc(-22 * var(--a)); font-size: max(15px, calc(22 * var(--a))); }
  .rebrand-home .rb-step__card { gap: calc(23 * var(--a)); min-height: calc(247 * var(--a)); padding: calc(20 * var(--a)); border-radius: calc(10 * var(--a)); }
  .rebrand-home .rb-step__card img { width: calc(189 * var(--a)); height: calc(207 * var(--a)); border-radius: calc(10 * var(--a)); }
  .rebrand-home .rb-step__text { padding-top: calc(40 * var(--a)); align-self: flex-start; }
  .rebrand-home #main .rb-step h3 { font-size: max(16px, calc(22 * var(--a))); }
  .rebrand-home .rb-step__text p { margin-top: calc(12 * var(--a)); font-size: max(12.5px, calc(16.5 * var(--a))); line-height: calc(23.5 * var(--a)); }
  .rebrand-home .rb-step__icon { right: calc(17 * var(--a)); top: calc(-19 * var(--a)); width: calc(72 * var(--a)); height: calc(72 * var(--a)); }
  .rebrand-home .rb-step__icon svg { width: calc(38 * var(--a)); height: calc(38 * var(--a)); }
  .rebrand-home .rb-process__cta { margin-top: calc(44 * var(--a)); gap: calc(22 * var(--a)); }
  .rebrand-home .rb-process__btn { width: calc(403 * var(--a)); height: calc(71 * var(--a)); min-height: 52px; padding: 0; gap: calc(18 * var(--a)); font-size: max(14px, calc(19 * var(--a))); }
  .rebrand-home .rb-process__btn svg:first-child { width: calc(28 * var(--a)); height: calc(28 * var(--a)); }
  .rebrand-home .rb-process__cta p { font-size: max(12px, calc(15 * var(--a))); }
}

@media (max-width: 1099px) {
  .rebrand-home .rb-process__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 30px; }
  .rebrand-home .rb-step__no { left: 28px; }
}
@media (max-width: 700px) {
  .rebrand-home .rb-process__steps { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .rebrand-home .rb-step__card { gap: 16px; padding: 16px; min-height: 0; }
  .rebrand-home .rb-step__card img { width: 112px; height: 124px; }
  .rebrand-home .rb-step__text { padding-top: 8px; padding-right: 36px; }
  .rebrand-home .rb-step__icon { width: 56px; height: 56px; right: 12px; top: -14px; }
  .rebrand-home .rb-step__icon svg { width: 28px; height: 28px; }
  .rebrand-home .rb-process__btn { width: 100%; padding: 0 20px; min-height: 58px; }
}

/* ==========================================================================
   PREISE nach Vorlage (09.10.) — 1 p = 1 Pixel der Vorlage (1774 px)
   Ab 1100 px proportional (--p), darunter gestapelt. Farben gemessen:
   Petrol #064550, Knopf #05434E, Gold #D09724, Flaeche #F1F5F9.
   ========================================================================== */
:root { --p: calc(min(100vw, 1920px) / 1774); }
.rebrand-home .rb-prices { position: relative; isolation: isolate; overflow: hidden; background: #F5F6F7; padding: 0; }
@media (min-width: 701px) { .rebrand-home .rb-prices__inner { position: relative; z-index: 1; width: calc(100% - 40px); margin-inline: auto; padding-block: 56px 56px; }
.rebrand-home .rb-prices__layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; }
.rebrand-home .rb-prices__eyebrow { position: relative; display: inline-block; margin: 0; padding-bottom: 12px; font-size: .9rem; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; color: #D09724; }
.rebrand-home .rb-prices__eyebrow::after { content: ""; position: absolute; left: 0; bottom: 0; width: 56px; height: 2px; background: #DDC999; }
.rebrand-home #main .rb-prices h2 { margin: 16px 0 0; font-family: var(--font-body); font-weight: 700; letter-spacing: -.025em; text-transform: none; color: #00000b; font-size: clamp(1.9rem, 5.4vw, 2.9rem); line-height: 1.1; }
.rebrand-home .rb-prices__lead { max-width: 560px; margin: 16px 0 0; color: #353b42; line-height: 1.5; }
.rebrand-home .rb-prices__checks { list-style: none; margin: 22px 0 0; padding: 0; display: grid; gap: 11px; color: #4f545e; }
.rebrand-home .rb-prices__checks li { display: flex; align-items: center; gap: 14px; }
.rebrand-home .rb-prices__btn { display: inline-flex; align-items: center; justify-content: center; gap: 16px; margin-top: 28px; min-height: 60px; padding: 0 30px; border-radius: 999px; background: #05434E; color: #fff; font-weight: 600; text-decoration: none; white-space: nowrap; box-shadow: 0 10px 26px rgb(5 67 78 / 28%); }
.rebrand-home .rb-prices__btn:hover { background: #0A5663; }
.rebrand-home .rb-prices__btn .rb-arrow { width: 24px; }

.rebrand-home .rb-prices__cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.rebrand-home .rb-price { position: relative; display: flex; flex-direction: column; background: #fff; border-radius: 12px; padding: 7px 7px 14px; box-shadow: 0 12px 38px rgb(11 45 73 / 10%), 0 0 0 1px rgb(11 45 73 / 4%); }
.rebrand-home .rb-price { transition: box-shadow .25s ease, translate .25s ease; }
.rebrand-home .rb-price:hover, .rebrand-home .rb-price:focus-within { box-shadow: 0 16px 42px rgb(11 45 73 / 14%), 0 0 0 1.5px rgb(6 69 80 / 55%); translate: 0 -3px; }
@media (prefers-reduced-motion: reduce) { .rebrand-home .rb-price { transition: none; } .rebrand-home .rb-price:hover { translate: none; } }
.rebrand-home .rb-price__media { position: relative; }
.rebrand-home .rb-price__media img { display: block; width: 100%; aspect-ratio: 274 / 225; object-fit: cover; border-radius: 8px; }
.rebrand-home .rb-price:nth-child(4) .rb-price__media img { object-position: 50% 62%; }
.rebrand-home .rb-price__icon { position: absolute; left: 11px; bottom: 0; transform: translateY(48%); display: grid; place-items: center; width: 70px; height: 70px; border-radius: 50%; background: #fff; color: #05444e; box-shadow: 0 6px 20px rgb(7 31 54 / 12%); }
.rebrand-home .rb-price__body { padding: 46px 18px 18px; }
.rebrand-home #main .rb-price h3 { margin: 0; font-family: var(--font-body); font-weight: 700; letter-spacing: -.01em; text-transform: none; color: #000110; font-size: 1.15rem; line-height: 1.25; }
.rebrand-home .rb-price__amount { max-width: none; margin: 10px 0 0; font-weight: 700; font-size: 1.7rem; letter-spacing: -.02em; line-height: 1.1; color: #064550; }
.rebrand-home .rb-price__amount--text { font-size: 1.35rem; padding-block: 2px; white-space: nowrap; }
.rebrand-home .rb-price__text { max-width: none; margin: 10px 0 0; color: #3b4751; font-size: .97rem; line-height: 1.45; }
.rebrand-home .rb-price__go { position: relative; align-self: center; margin: auto 0 0; display: grid; place-items: center; width: 54px; height: 54px; border-radius: 50%; background: #FAF6F1; color: #B6852B; text-decoration: none; }
.rebrand-home .rb-price__go .rb-arrow { width: 24px; }
.rebrand-home .rb-price__go:hover { background: #F3E8D6; }

.rebrand-home .rb-prices__note { display: grid; gap: 22px; margin-top: 28px; padding: 22px; border-radius: 16px; background: #E9EFF4; }
.rebrand-home .rb-prices__know { display: flex; align-items: center; gap: 18px; }
.rebrand-home .rb-prices__info { flex: none; display: grid; place-items: center; color: #05444e; }
.rebrand-home .rb-prices__know strong, .rebrand-home .rb-prices__factors > strong { display: block; color: #00000e; font-size: .95rem; }
.rebrand-home .rb-prices__know p { max-width: none; margin: 4px 0 0; color: #4f5460; font-size: .92rem; line-height: 1.5; }
.rebrand-home .rb-prices__factors ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 22px; list-style: none; margin: 12px 0 0; padding: 0; }
.rebrand-home .rb-prices__factors li { display: flex; align-items: center; gap: 12px; color: #535564; font-size: .88rem; line-height: 1.35; }
.rebrand-home .rb-prices__factors li svg { flex: none; color: #05444e; }

@media (min-width: 701px) { .rebrand-home .rb-prices__layout { grid-template-columns: minmax(0, 1fr); } .rebrand-home .rb-prices__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) {
  .rebrand-home .rb-prices__inner { width: calc(1632 * var(--p)); padding-block: calc(100 * var(--p)) calc(90 * var(--p)); }
  .rebrand-home .rb-prices__layout { grid-template-columns: calc(430 * var(--p)) calc(1184 * var(--p)); gap: calc(18 * var(--p)); align-items: start; }
  .rebrand-home .rb-prices__intro { padding-left: calc(14 * var(--p)); }
  .rebrand-home .rb-prices__eyebrow { font-size: max(12px, calc(14.5 * var(--p))); padding-bottom: calc(10 * var(--p)); }
  .rebrand-home .rb-prices__eyebrow::after { width: calc(56 * var(--p)); }
  .rebrand-home #main .rb-prices h2 { margin-top: calc(10 * var(--p)); font-size: calc(42 * var(--p)); line-height: calc(48 * var(--p)); }
  .rebrand-home .rb-prices__lead { margin-top: calc(20 * var(--p)); max-width: calc(395 * var(--p)); font-size: max(14px, calc(19 * var(--p))); line-height: calc(27 * var(--p)); }
  .rebrand-home .rb-prices__checks { margin-top: calc(24 * var(--p)); gap: calc(11 * var(--p)); font-size: max(13px, calc(17 * var(--p))); }
  .rebrand-home .rb-prices__checks svg { width: calc(26 * var(--p)); height: calc(26 * var(--p)); }
  .rebrand-home .rb-prices__btn { width: calc(401 * var(--p)); height: calc(69 * var(--p)); min-height: 52px; margin-top: calc(18 * var(--p)); padding: 0; gap: calc(16 * var(--p)); font-size: max(14px, calc(18 * var(--p))); }
  .rebrand-home .rb-prices__btn svg:first-child { width: calc(28 * var(--p)); height: calc(28 * var(--p)); }
  .rebrand-home .rb-prices__cards { grid-template-columns: calc(289 * var(--p)) calc(289 * var(--p)) calc(290 * var(--p)) calc(280 * var(--p)); align-items: stretch; gap: 0 calc(12 * var(--p)); margin-top: calc(-28 * var(--p)); }
  .rebrand-home .rb-prices__cards .rb-price:nth-child(4) { margin-left: calc(4 * var(--p)); }
  .rebrand-home .rb-price { height: auto; min-height: calc(516 * var(--p)); padding-bottom: calc(7 * var(--p)); padding: calc(7 * var(--p)) calc(7 * var(--p)) 0; border-radius: calc(12 * var(--p)); }
  .rebrand-home .rb-price__media img { border-radius: calc(8 * var(--p)); }
  .rebrand-home .rb-price__icon { left: calc(11 * var(--p)); width: calc(70 * var(--p)); height: calc(70 * var(--p)); }
  .rebrand-home .rb-price__icon svg { width: calc(36 * var(--p)); height: calc(36 * var(--p)); }
  .rebrand-home .rb-price__body { padding: calc(40 * var(--p)) calc(14 * var(--p)) calc(16 * var(--p)) calc(18 * var(--p)); }
  .rebrand-home #main .rb-price h3 { font-size: max(14px, calc(19 * var(--p))); letter-spacing: -.02em; white-space: nowrap; }
  .rebrand-home .rb-price__amount { margin-top: calc(10 * var(--p)); font-size: max(20px, calc(30 * var(--p))); }
  .rebrand-home .rb-price__amount--text { font-size: max(17px, calc(25 * var(--p))); padding-block: 0; }
  .rebrand-home .rb-price__text { margin-top: calc(9 * var(--p)); font-size: max(12.5px, calc(16.5 * var(--p))); line-height: calc(23.5 * var(--p)); }
  .rebrand-home .rb-price__go { width: calc(54 * var(--p)); height: calc(54 * var(--p)); margin: auto 0 calc(13 * var(--p)); }
  .rebrand-home .rb-prices__note { display: flex; align-items: center; gap: 0; margin-top: calc(26 * var(--p)); height: calc(109 * var(--p)); padding: 0 calc(40 * var(--p)) 0 calc(42 * var(--p)); border-radius: calc(16 * var(--p)); }
  .rebrand-home .rb-prices__know { flex: 0 0 calc(864 * var(--p)); gap: calc(26 * var(--p)); padding-right: calc(40 * var(--p)); border-right: 1px solid #A1A6AD; align-self: center; height: calc(56 * var(--p)); }
  .rebrand-home .rb-prices__info svg { width: calc(34 * var(--p)); height: calc(34 * var(--p)); }
  .rebrand-home .rb-prices__know strong, .rebrand-home .rb-prices__factors > strong { font-size: max(12.5px, calc(15 * var(--p))); }
  .rebrand-home .rb-prices__know p { margin-top: calc(6 * var(--p)); font-size: max(11.5px, calc(15 * var(--p))); line-height: calc(23 * var(--p)); }
  .rebrand-home .rb-prices__factors { flex: 1; padding-left: calc(64 * var(--p)); }
  .rebrand-home .rb-prices__factors ul { display: flex; gap: calc(24 * var(--p)); margin-top: calc(8 * var(--p)); }
  .rebrand-home .rb-prices__factors li { gap: calc(10 * var(--p)); font-size: max(11px, calc(14 * var(--p))); line-height: calc(20 * var(--p)); }
  .rebrand-home .rb-prices__factors li svg { width: calc(36 * var(--p)); height: calc(36 * var(--p)); }
}
@media (max-width: 1099px) {
  .rebrand-home .rb-prices__lead { max-width: 640px; }
}
@media (max-width: 700px) {
  .rebrand-home .rb-prices__cards { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .rebrand-home .rb-prices__btn { width: 100%; white-space: normal; padding: 0 20px; }
  .rebrand-home .rb-prices__note { padding: 18px; }
  .rebrand-home .rb-prices__know { align-items: flex-start; }
}


/* ==========================================================================
   UEBER UNS nach Vorlage (09.10.) — 1 u = 1 Pixel der Vorlage (1672 px)
   Ab 1100 px proportional (--u2), darunter gestapelt. Farben gemessen:
   Gold #FAAC20, Petrol #003C4F, Kreise #EFF3F6, Ziffern #001921.
   ========================================================================== */
:root { --u2: calc(min(100vw, 1920px) / 1672); }
.rebrand-home .rb-about { position: relative; isolation: isolate; overflow: hidden; background: #fff; padding: 0; }
.rebrand-home .rb-about__bg { position: absolute; inset: 0; z-index: 0; pointer-events: none; background: #fff url('img/leist-bg-900.jpg') right top / cover no-repeat; }
.rebrand-home .rb-about__bg::after { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse 60% 70% at 50% 50%, #fff 0, rgb(255 255 255 / .96) 55%, rgb(255 255 255 / .8) 100%); }
@media (min-width: 701px) { .rebrand-home .rb-about__bg { background-image: url('img/leist-bg-1536.jpg'); } }
.rebrand-home .rb-about__inner { position: relative; z-index: 1; width: calc(100% - 40px); margin-inline: auto; padding-block: 54px; display: grid; gap: 30px; }
.rebrand-home .rb-about__media { position: relative; padding-bottom: 46px; }
.rebrand-home .rb-about__photo { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: 50% 12%; border-radius: 16px; box-shadow: 0 16px 40px rgb(7 31 54 / 12%); }
.rebrand-home .rb-about__stats { position: absolute; left: 6%; right: 6%; bottom: 0; display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; padding: 16px 8px; list-style: none; background: #fff; border-radius: 14px; box-shadow: 0 14px 38px rgb(7 31 54 / 14%); }
.rebrand-home .rb-about__stats li { display: grid; justify-items: center; gap: 2px; padding: 4px 6px; text-align: center; }
.rebrand-home .rb-about__stats li + li { border-left: 1px solid #DFE1E3; }
.rebrand-home .rb-about__stats strong { font-family: var(--font-body); font-weight: 800; letter-spacing: -.03em; color: #001921; font-size: 1.7rem; line-height: 1.1; }
.rebrand-home .rb-about__stats span { color: #3e3f48; font-size: .86rem; }
.rebrand-home .rb-about__eyebrow { position: relative; display: inline-block; margin: 0; padding-bottom: 10px; font-size: 1rem; font-weight: 600; text-transform: uppercase; color: #FAAC20; }
.rebrand-home .rb-about__eyebrow::after { content: ""; position: absolute; left: 0; bottom: 0; width: 56px; height: 2px; background: #DEB65D; }
.rebrand-home #main .rb-about h2 { margin: 18px 0 0; font-family: var(--font-body); font-weight: 800; letter-spacing: -.035em; text-transform: none; color: #00000c; font-size: clamp(2.2rem, 7vw, 3.6rem); line-height: 1.05; }
.rebrand-home .rb-about__lead { max-width: none; margin: 22px 0 0; color: #3c4249; line-height: 1.55; }
.rebrand-home .rb-about__values { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 28px 0 0; padding: 0; list-style: none; }
.rebrand-home .rb-about__icon { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: #EFF3F6; color: #001a26; }
.rebrand-home .rb-about__values strong { display: block; margin-top: 16px; color: #000013; font-size: 1.05rem; }
.rebrand-home .rb-about__values p { max-width: none; margin: 8px 0 0; color: #464857; font-size: .9rem; line-height: 1.45; }
.rebrand-home .rb-about__btn { display: inline-flex; align-items: center; justify-content: center; gap: 22px; margin-top: 32px; min-height: 58px; padding: 0 30px; border-radius: 8px; background: #003C4F; color: #fff; font-weight: 500; text-decoration: none; box-shadow: 0 10px 26px rgb(0 60 79 / 26%); }
.rebrand-home .rb-about__btn:hover { background: #0A4E63; }
.rebrand-home .rb-about__btn .rb-arrow { width: 24px; }

@media (min-width: 1100px) {
  .rebrand-home .rb-about__inner { width: calc(1672 * var(--u2)); max-width: 1920px; padding-block: calc(96 * var(--u2)) calc(92 * var(--u2)); grid-template-columns: calc(922 * var(--u2)) minmax(0, 1fr); gap: 0; align-items: start; }
  .rebrand-home .rb-about__media { padding: 0 0 calc(27 * var(--u2)); }
  .rebrand-home .rb-about__photo { width: calc(922 * var(--u2)); height: calc(766 * var(--u2)); aspect-ratio: auto; border-radius: calc(26 * var(--u2)) 0 calc(26 * var(--u2)) 0; object-position: 50% 8%; margin-left: 0; }
  .rebrand-home .rb-about__stats { left: calc(74 * var(--u2)); right: auto; width: calc(822 * var(--u2)); height: calc(133 * var(--u2)); bottom: 0; padding: 0; border-radius: calc(14 * var(--u2)); align-items: center; }
  .rebrand-home .rb-about__stats strong { font-size: max(24px, calc(45 * var(--u2))); }
  .rebrand-home .rb-about__stats span { font-size: max(12px, calc(18 * var(--u2))); }
  .rebrand-home .rb-about__content { padding: calc(58 * var(--u2)) 0 0 calc(58 * var(--u2)); }
  .rebrand-home .rb-about__eyebrow { font-size: max(12px, calc(20 * var(--u2))); padding-bottom: calc(10 * var(--u2)); }
  .rebrand-home .rb-about__eyebrow::after { width: calc(57 * var(--u2)); }
  .rebrand-home #main .rb-about h2 { margin-top: calc(20 * var(--u2)); font-size: calc(70 * var(--u2)); line-height: calc(71 * var(--u2)); max-width: calc(520 * var(--u2)); }
  .rebrand-home .rb-about__lead { margin-top: calc(44 * var(--u2)); max-width: calc(640 * var(--u2)); font-size: max(14px, calc(22 * var(--u2))); line-height: calc(32 * var(--u2)); }
  .rebrand-home .rb-about__values { margin-top: calc(40 * var(--u2)); gap: 0; grid-template-columns: calc(209 * var(--u2)) calc(265 * var(--u2)) minmax(0, 1fr); }
  .rebrand-home .rb-about__icon { width: calc(66 * var(--u2)); height: calc(66 * var(--u2)); }
  .rebrand-home .rb-about__icon svg { width: calc(34 * var(--u2)); height: calc(34 * var(--u2)); }
  .rebrand-home .rb-about__values strong { margin-top: calc(25 * var(--u2)); font-size: max(15px, calc(21 * var(--u2))); }
  .rebrand-home .rb-about__values p { margin-top: calc(10 * var(--u2)); padding-right: calc(14 * var(--u2)); font-size: max(12.5px, calc(17.5 * var(--u2))); line-height: calc(25 * var(--u2)); }
  .rebrand-home .rb-about__btn { width: calc(331 * var(--u2)); height: calc(71 * var(--u2)); min-height: 52px; margin-top: calc(40 * var(--u2)); padding: 0; gap: calc(24 * var(--u2)); border-radius: calc(8 * var(--u2)); font-size: max(14px, calc(22 * var(--u2))); }
}
@media (max-width: 1099px) { .rebrand-home .rb-about__inner { max-width: 760px; } }
@media (max-width: 700px) {
  .rebrand-home .rb-about__values { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .rebrand-home .rb-about__values li { display: grid; grid-template-columns: 56px 1fr; column-gap: 16px; }
  .rebrand-home .rb-about__values li .rb-about__icon { grid-row: 1 / span 2; }
  .rebrand-home .rb-about__values strong { margin-top: 0; }
  .rebrand-home .rb-about__values p { margin-top: 2px; }
  .rebrand-home .rb-about__btn { width: 100%; }
  .rebrand-home .rb-about__stats { left: 4%; right: 4%; }
}


}


/* Abstand und Uebergang zwischen den Abschnitten (09.10.):
   Unter der Vorteile-Karte bleibt Luft, die Fotogruende laufen oben weich aus Weiss ein,
   damit keine harte Kante unter der Karte oder zwischen zwei Abschnitten steht. */
.rebrand-home .rb-services__bg::before,
.rebrand-home .rb-process__bg::before,
.rebrand-home .rb-about__bg::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 150px; z-index: 1; background: linear-gradient(180deg, #fff 0, rgb(255 255 255 / .75) 38%, rgb(255 255 255 / 0) 100%); }
@media (max-width: 1099px) { .rebrand-home .rb-hero { margin-bottom: 0; } }


/* ==========================================================================
   EINSAETZE aus der Region (09.10.) — Inhalt wie auf der aktuellen Website,
   Gestaltung wie die neue Seite: Weiss, Gold-Akzente, Petrol, weiche Karten.
   ========================================================================== */
.rebrand-home .rb-cases { background: #fff; padding: 96px 0; }
.rebrand-home .rb-cases__head { text-align: center; margin-bottom: 44px; }
.rebrand-home .rb-cases__eyebrow { position: relative; display: inline-block; max-width: none; margin: 0; padding-bottom: 14px; font-size: .95rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #E9B11E; }
.rebrand-home .rb-cases__eyebrow::after { content: ""; position: absolute; left: 50%; bottom: 0; width: 60px; height: 2px; margin-left: -30px; background: #E2C069; }
.rebrand-home #main .rb-cases h2 { margin: 20px 0 0; font-family: var(--font-body); font-weight: 700; letter-spacing: -.025em; text-transform: none; color: #00091B; font-size: clamp(1.9rem, 5.4vw, 3rem); line-height: 1.12; }
.rebrand-home #main .rb-cases h2 span { color: #C08A3A; }
.rebrand-home .rb-cases__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }
.rebrand-home .rb-case { display: flex; flex-direction: column; overflow: hidden; background: #fff; border-radius: 12px; box-shadow: 0 12px 38px rgb(11 45 73 / 10%), 0 0 0 1px rgb(11 45 73 / 4%); transition: box-shadow .25s ease, translate .25s ease; }
.rebrand-home .rb-case:hover, .rebrand-home .rb-case:focus-within { box-shadow: 0 16px 42px rgb(11 45 73 / 14%), 0 0 0 1.5px rgb(6 69 80 / 55%); translate: 0 -3px; }
.rebrand-home .rb-case__media { position: relative; }
.rebrand-home .rb-case__media img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.rebrand-home .rb-case__tag { position: absolute; left: 16px; top: 16px; display: inline-flex; align-items: center; height: 36px; padding: 0 16px; border-radius: 999px; background: #fff; color: #04101e; font-weight: 600; font-size: .85rem; box-shadow: 0 4px 16px rgb(7 31 54 / 14%); }
.rebrand-home .rb-case__body { display: flex; flex-direction: column; flex: 1; padding: 24px 26px 26px; }
.rebrand-home #main .rb-case h3 { margin: 0; font-family: var(--font-body); font-weight: 700; letter-spacing: -.02em; text-transform: none; color: #04101e; font-size: 1.45rem; line-height: 1.2; }
.rebrand-home .rb-case__facts { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 0; padding: 0; list-style: none; }
.rebrand-home .rb-case__facts li { padding: 6px 13px; border-radius: 999px; background: #EEF1F4; color: #0a2540; font-size: .84rem; font-weight: 600; }
.rebrand-home .rb-case__more { display: inline-flex; align-items: center; align-self: flex-start; gap: 14px; margin-top: auto; padding-top: 22px; font-weight: 600; color: #BF8335; text-decoration: none; }
.rebrand-home .rb-case__more span { border-bottom: 2px solid #C08A3A; padding-bottom: 3px; }
.rebrand-home .rb-case__more .rb-arrow { width: 26px; }
@media (max-width: 1000px) { .rebrand-home .rb-cases__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .rebrand-home .rb-case:last-child { grid-column: 1 / -1; } .rebrand-home .rb-case:last-child .rb-case__media img { aspect-ratio: 16 / 8; } }
@media (max-width: 700px) { .rebrand-home .rb-cases { padding: 60px 0; } .rebrand-home .rb-cases__grid { grid-template-columns: minmax(0, 1fr); gap: 20px; } .rebrand-home .rb-case:last-child .rb-case__media img { aspect-ratio: 4 / 3; } }
@media (prefers-reduced-motion: reduce) { .rebrand-home .rb-case { transition: none; } .rebrand-home .rb-case:hover { translate: none; } }

/* ==========================================================================
   LEISTUNGEN entschlackt (09.10.): keine Doppelung aus Etikett und Symbol,
   keine Textlinks in den Karten, Zusatzleistungen ohne eigene Kasten.
   ========================================================================== */
.rebrand-home .rb-svc__body { padding-bottom: 30px; }
.rebrand-home .rb-services__extra { gap: 0 32px; margin-top: 30px; }
.rebrand-home .rb-extra { padding: 18px 6px; border-radius: 0; background: transparent; box-shadow: none; border-top: 1px solid rgb(11 45 73 / 12%); }
.rebrand-home .rb-extra:hover { box-shadow: none; }
.rebrand-home .rb-extra:hover strong { color: #8A6118; }
.rebrand-home .rb-services__cta { margin-top: 30px; }
.rebrand-home .rb-services__bg { opacity: .6; }
@media (min-width: 1100px) {
  .rebrand-home .rb-services__head { justify-content: flex-start; }
  .rebrand-home .rb-svc { height: auto; }
  .rebrand-home .rb-svc__body { padding: calc(30 * var(--s)) calc(24 * var(--s)) calc(34 * var(--s)) calc(32 * var(--s)); }
  .rebrand-home .rb-services__grid { margin-top: calc(40 * var(--s)); }
  .rebrand-home .rb-services__extra { gap: 0 calc(40 * var(--s)); margin-top: calc(40 * var(--s)); }
  .rebrand-home .rb-extra { padding: calc(20 * var(--s)) calc(8 * var(--s)); }
  .rebrand-home .rb-services__cta { margin-top: calc(40 * var(--s)); }
}
@media (max-width: 1099px) { .rebrand-home .rb-svc__body { padding-bottom: 30px; } }

/* Leistungen: kleinere, leisere Symbole; "Mehr erfahren" wieder im Fluss unten in der Karte */
.rebrand-home .rb-svc__body { display: flex; flex-direction: column; }
.rebrand-home .rb-svc__more { position: static; margin-top: auto; padding-top: 18px; left: auto; bottom: auto; align-self: flex-start; }
.rebrand-home .rb-svc__icon { width: 56px; height: 56px; box-shadow: none; background: #EEF1F4; }
.rebrand-home .rb-svc__icon svg { width: 30px; height: 30px; stroke-width: 1.5; }
.rebrand-home .rb-svc__body { padding-top: 38px; }
@media (min-width: 1100px) {
  .rebrand-home .rb-svc__icon { left: calc(32 * var(--s)); width: calc(58 * var(--s)); height: calc(58 * var(--s)); transform: translateY(50%); }
  .rebrand-home .rb-svc__icon svg { width: calc(32 * var(--s)); height: calc(32 * var(--s)); }
  .rebrand-home .rb-svc__body { padding: calc(42 * var(--s)) calc(24 * var(--s)) calc(30 * var(--s)) calc(32 * var(--s)); }
  .rebrand-home .rb-svc__more { left: auto; bottom: auto; gap: calc(14 * var(--s)); }
  .rebrand-home .rb-svc--montage .rb-svc__more { bottom: auto; }
  .rebrand-home .rb-svc__more { padding-top: calc(20 * var(--s)); }
}

/* ==========================================================================
   ABLAUF mit fuenf Schritten (13.10.): neuer Schritt "Besichtigung oder Bilder".
   Ab 1500 px fuenf Karten in einer Reihe (1 u = 1 Pixel der Vorlage, 1884 px),
   darunter 3 + 2, auf dem Handy 2 + 1 beziehungsweise untereinander.
   ========================================================================== */
:root { --u5: calc(min(100vw, 1920px) / 1884); }
@media (max-width: 1099px) { .rebrand-home .rb-step:last-child { grid-column: 1 / -1; } }
@media (min-width: 1100px) and (max-width: 1499px) {
  .rebrand-home .rb-process__steps { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: calc(34 * var(--a)); }
  .rebrand-home .rb-process__steps::before { display: none; }
}
@media (min-width: 1500px) {
  .rebrand-home .rb-process__inner { width: calc(1796 * var(--u5)); }
  .rebrand-home .rb-process__steps { grid-template-columns: 382fr 366fr 340fr 320fr 338fr; gap: calc(12.5 * var(--u5)); margin-top: calc(40 * var(--u5)); }
  .rebrand-home .rb-process__steps::before { left: 0; right: calc(282 * var(--u5)); top: calc(21 * var(--u5)); }
  .rebrand-home .rb-step { padding-top: calc(50 * var(--u5)); }
  .rebrand-home .rb-step__no { left: calc(58 * var(--u5)); width: max(30px, calc(41 * var(--u5))); height: max(30px, calc(41 * var(--u5))); margin-left: calc(-20.5 * var(--u5)); }
  .rebrand-home .rb-step__card { gap: calc(17 * var(--u5)); min-height: calc(228 * var(--u5)); padding: calc(17 * var(--u5)); border-radius: calc(10 * var(--u5)); }
  .rebrand-home .rb-step__card img { width: calc(142 * var(--u5)); height: calc(196 * var(--u5)); border-radius: calc(10 * var(--u5)); }
  .rebrand-home .rb-step:nth-child(1) .rb-step__card img { width: calc(153 * var(--u5)); }
  .rebrand-home .rb-step:nth-child(3) .rb-step__card img { width: calc(146 * var(--u5)); }
  .rebrand-home .rb-step:nth-child(4) .rb-step__card img { width: calc(140 * var(--u5)); }
  .rebrand-home .rb-step__text { padding-top: calc(34 * var(--u5)); }
  .rebrand-home #main .rb-step h3 { font-size: max(14.5px, calc(17.5 * var(--u5))); line-height: 1.22; }
  .rebrand-home .rb-step__text p { margin-top: calc(10 * var(--u5)); font-size: max(12px, calc(15.5 * var(--u5))); line-height: calc(22 * var(--u5)); }
  .rebrand-home .rb-step__icon { right: calc(14 * var(--u5)); top: calc(-17 * var(--u5)); width: calc(66 * var(--u5)); height: calc(66 * var(--u5)); }
  .rebrand-home .rb-step__icon svg { width: calc(34 * var(--u5)); height: calc(34 * var(--u5)); }
}
@media (min-width: 1500px) {
  .rebrand-home .rb-step { display: flex; flex-direction: column; }
  .rebrand-home .rb-step__card { flex: 1; padding-right: calc(6 * var(--u5)); }
  .rebrand-home .rb-step__text { padding-right: calc(4 * var(--u5)); }
}

/* ==========================================================================
   ANGEBOT: "So erhalten Sie Ihr persoenliches Angebot" nach Vorlage (13.10.)
   1 g = 1 Pixel der Vorlage (1774 px). Ab 1100 px proportional, darunter gestapelt.
   ========================================================================== */
:root { --g: calc(min(100vw, 1920px) / 1774); }
.rebrand-home .rb-offer { position: relative; overflow: hidden; background: linear-gradient(180deg, #F8FAFC 0, #FBFCFD 100%); color: #0A1B44; padding: 0; }
.rebrand-home .rb-offer__inner { width: calc(100% - 40px); margin-inline: auto; padding-block: 52px 56px; }
.rebrand-home .rb-offer__head { text-align: center; }
.rebrand-home .rb-offer__eyebrow { display: inline-flex; align-items: center; gap: 16px; margin: 0; font-size: .85rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #E0A128; }
.rebrand-home .rb-offer__eyebrow::before { content: ""; width: 38px; height: 2px; background: #E0A128; }
.rebrand-home #main .rb-offer h2 { margin: 16px 0 0; font-family: var(--font-body); font-weight: 800; letter-spacing: -.035em; text-transform: none; color: #0A1B44; font-size: clamp(1.9rem, 6.2vw, 3.2rem); line-height: 1.1; }
.rebrand-home #main .rb-offer h2 span { color: #E9A82E; }
.rebrand-home .rb-offer__lead { max-width: 40em; margin: 12px auto 0; color: #56628A; font-size: 1.1rem; line-height: 1.45; }
.rebrand-home .rb-offer__cards { display: grid; gap: 14px; margin-top: 32px; }
.rebrand-home .rb-offer__card { position: relative; display: flex; flex-direction: column; align-items: flex-start; padding: 26px 22px 24px; background: #fff; border-radius: 22px; box-shadow: 0 16px 44px rgb(11 45 73 / 8%), 0 0 0 1px rgb(11 45 73 / 3%); }
.rebrand-home .rb-offer__icon { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: #F0F3F9; color: #0A2540; }
.rebrand-home .rb-offer__icon svg { stroke-width: 1.5; }
.rebrand-home #main .rb-offer h3 { margin: 18px 0 0; font-family: var(--font-body); font-weight: 800; letter-spacing: -.03em; text-transform: none; color: #0A1B44; font-size: 1.85rem; line-height: 1.12; }
.rebrand-home .rb-offer__checks { list-style: none; margin: 20px 0 0; padding: 0; display: grid; gap: 14px; }
.rebrand-home .rb-offer__checks li { display: flex; align-items: center; gap: 14px; color: #4A5578; font-size: 1.05rem; }
.rebrand-home .rb-offer__tick { flex: none; }
.rebrand-home .rb-offer__btn { display: inline-flex; align-items: center; justify-content: center; gap: 14px; align-self: stretch; margin-top: 24px; min-height: 58px; padding: 0 22px; border-radius: 10px; background: #05434E; color: #fff; font-weight: 600; text-decoration: none; text-align: center; box-shadow: 0 10px 26px rgb(5 67 78 / 26%); }
.rebrand-home .rb-offer__btn:hover { background: #0A5663; }
.rebrand-home .rb-offer__btn .rb-arrow { width: 24px; flex: none; }
.rebrand-home .rb-offer__photo { align-self: stretch; margin-top: 22px; overflow: hidden; border-radius: 16px; height: 300px; }
.rebrand-home .rb-offer__photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; }
.rebrand-home .rb-offer__phone { position: relative; align-self: center; margin-top: 12px; width: min(100%, 340px); }
.rebrand-home .rb-offer__phone img { display: block; width: 100%; height: auto; mix-blend-mode: multiply; }
.rebrand-home .rb-offer__wa { position: absolute; right: 2%; top: 4%; display: grid; place-items: center; width: 68px; height: 68px; border-radius: 50%; background: #25D366; color: #fff; border: 4px solid #fff; box-shadow: 0 10px 24px rgb(37 211 102 / 35%); }
.rebrand-home .rb-offer__or { display: grid; place-items: center; justify-self: center; width: 70px; height: 70px; border-radius: 50%; background: #EEF1F6; color: #44506F; font-size: .85rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.rebrand-home .rb-offer__perks { list-style: none; display: grid; gap: 18px; margin: 30px 0 0; padding: 0; }
.rebrand-home .rb-offer__perks li { display: flex; align-items: center; gap: 16px; color: #4A5578; font-size: .98rem; line-height: 1.35; }
.rebrand-home .rb-offer__perks strong { display: block; color: #0A1B44; font-size: 1.05rem; }
.rebrand-home .rb-offer__perk-icon { display: grid; place-items: center; flex: none; width: 56px; height: 56px; border-radius: 50%; background: #F0F2F7; color: #0A1B44; }
.rebrand-home .rb-offer__perk-icon svg { stroke-width: 1.5; }
@media (min-width: 1100px) {
  .rebrand-home .rb-offer__inner { width: calc(1646 * var(--g)); padding-block: calc(62 * var(--g)) calc(64 * var(--g)); }
  .rebrand-home .rb-offer__eyebrow { gap: calc(18 * var(--g)); font-size: max(11px, calc(17 * var(--g))); }
  .rebrand-home .rb-offer__eyebrow::before { width: calc(38 * var(--g)); }
  .rebrand-home #main .rb-offer h2 { margin-top: calc(14 * var(--g)); font-size: calc(54 * var(--g)); line-height: calc(62 * var(--g)); }
  .rebrand-home .rb-offer__lead { margin-top: calc(8 * var(--g)); font-size: max(14px, calc(24 * var(--g))); line-height: calc(34 * var(--g)); }
  .rebrand-home .rb-offer__cards { grid-template-columns: calc(770 * var(--g)) calc(109 * var(--g)) calc(767 * var(--g)); gap: 0; margin-top: calc(34 * var(--g)); align-items: stretch; }
  .rebrand-home .rb-offer__card { height: calc(468 * var(--g)); padding: calc(38 * var(--g)) calc(32 * var(--g)) calc(27 * var(--g)) calc(39 * var(--g)); border-radius: calc(22 * var(--g)); }
  .rebrand-home .rb-offer__icon { width: calc(83 * var(--g)); height: calc(83 * var(--g)); min-width: 48px; min-height: 48px; }
  .rebrand-home .rb-offer__icon svg { width: calc(44 * var(--g)); height: calc(44 * var(--g)); }
  .rebrand-home #main .rb-offer h3 { margin-top: calc(20 * var(--g)); font-size: max(20px, calc(40 * var(--g))); line-height: calc(42 * var(--g)); }
  .rebrand-home .rb-offer__checks { margin-top: calc(40 * var(--g)); gap: calc(14 * var(--g)); }
  .rebrand-home .rb-offer__checks li { gap: calc(16 * var(--g)); font-size: max(13.5px, calc(22 * var(--g))); line-height: calc(30 * var(--g)); }
  .rebrand-home .rb-offer__tick { width: calc(28 * var(--g)); height: calc(28 * var(--g)); min-width: 20px; }
  .rebrand-home .rb-offer__btn { position: absolute; left: calc(41 * var(--g)); bottom: calc(27 * var(--g)); width: calc(445 * var(--g)); height: calc(68 * var(--g)); min-height: 46px; margin: 0; padding: 0; gap: calc(16 * var(--g)); border-radius: calc(9 * var(--g)); font-size: max(13px, calc(21 * var(--g))); }
  .rebrand-home .rb-offer__card--photos .rb-offer__btn { left: calc(41 * var(--g)); width: calc(410 * var(--g)); }
  .rebrand-home .rb-offer__btn svg:first-child { width: calc(30 * var(--g)); height: calc(30 * var(--g)); min-width: 18px; }
  .rebrand-home .rb-offer__photo { position: absolute; right: calc(23 * var(--g)); top: calc(27 * var(--g)); width: calc(327 * var(--g)); height: calc(416 * var(--g)); margin: 0; border-radius: 0 calc(18 * var(--g)) calc(18 * var(--g)) 0; clip-path: polygon(0 0, 100% 0, 100% 100%, 21.7% 100%); }
  .rebrand-home .rb-offer__phone { position: absolute; right: calc(-14 * var(--g)); top: calc(-6 * var(--g)); width: calc(398 * var(--g)); margin: 0; }
  .rebrand-home .rb-offer__wa { right: calc(24 * var(--g)); top: calc(12 * var(--g)); width: calc(82 * var(--g)); height: calc(82 * var(--g)); border-width: calc(5 * var(--g)); }
  .rebrand-home .rb-offer__wa svg { width: calc(46 * var(--g)); height: calc(46 * var(--g)); }
  .rebrand-home .rb-offer__or { position: relative; align-self: center; width: calc(88 * var(--g)); height: calc(88 * var(--g)); font-size: max(11px, calc(19 * var(--g))); }
  .rebrand-home .rb-offer__or::before, .rebrand-home .rb-offer__or::after { content: ""; position: absolute; left: 50%; width: 1px; background: #E3E8F0; }
  .rebrand-home .rb-offer__or::before { bottom: 100%; height: calc(160 * var(--g)); margin-bottom: calc(18 * var(--g)); }
  .rebrand-home .rb-offer__or::after { top: 100%; height: calc(160 * var(--g)); margin-top: calc(18 * var(--g)); }
  .rebrand-home .rb-offer__perks { display: flex; align-items: center; margin: calc(32 * var(--g)) 0 0 calc(96 * var(--g)); gap: 0; }
  .rebrand-home .rb-offer__perks li { position: relative; gap: calc(36 * var(--g)); font-size: max(12.5px, calc(17.5 * var(--g))); line-height: calc(26 * var(--g)); min-height: calc(70 * var(--g)); }
  .rebrand-home .rb-offer__perks li:nth-child(1) { width: calc(360 * var(--g)); }
  .rebrand-home .rb-offer__perks li:nth-child(2) { width: calc(538 * var(--g)); padding-left: calc(67 * var(--g)); }
  .rebrand-home .rb-offer__perks li:nth-child(3) { flex: 1; padding-left: calc(69 * var(--g)); }
  .rebrand-home .rb-offer__perks li + li::before { content: ""; position: absolute; left: 0; top: 4px; bottom: 4px; width: 1px; background: #E3E8F0; }
  .rebrand-home .rb-offer__perks li { gap: calc(36 * var(--g)); }
  .rebrand-home .rb-offer__perks strong { font-size: max(13.5px, calc(19 * var(--g))); }
  .rebrand-home .rb-offer__perk-icon { width: calc(68 * var(--g)); height: calc(68 * var(--g)); min-width: 44px; min-height: 44px; }
  .rebrand-home .rb-offer__perk-icon svg { width: calc(34 * var(--g)); height: calc(34 * var(--g)); }
}
.rebrand-home .rb-offer__phone img { filter: brightness(1.05) contrast(1.08); -webkit-mask-image: radial-gradient(ellipse 62% 60% at 50% 50%, #000 78%, transparent 100%); mask-image: radial-gradient(ellipse 62% 60% at 50% 50%, #000 78%, transparent 100%); }
@media (min-width: 1100px) {
  .rebrand-home .rb-offer__phone { right: calc(6 * var(--g)); top: calc(-4 * var(--g)); width: calc(376 * var(--g)); }
}
.rebrand-home .rb-offer__note, .rebrand-home .rb-offer__sparks { display: none; }
@media (min-width: 1100px) {
  .rebrand-home .rb-offer__note { display: block; position: absolute; left: calc(1500 * var(--g)); top: calc(700 * var(--g)); width: calc(265 * var(--g)); height: auto; pointer-events: none; }
  .rebrand-home .rb-offer__sparks { display: block; position: absolute; left: calc(755 * var(--g)); top: calc(-38 * var(--g)); width: calc(50 * var(--g)); height: calc(50 * var(--g)); z-index: 2; }
}

/* ==========================================================================
   KOPFZEILE + BANNER NEU nach Vorlage (15.10.): helles Foto-Banner,
   schwebende Kopfzeile als weisse Karte. 1 hh = 1 Pixel der Vorlage (1690 px).
   Die Bewertungszeile sitzt in der Textspalte, die Vorteilsleiste entfaellt.
   ========================================================================== */
:root { --hh: calc(min(100vw, 1920px) / 1690); }
.rebrand-home .rb-hero { background: #fff; color: #0F2440; margin-bottom: 0; }
.rebrand-home .rb-hero__stage { position: relative; width: 100%; max-width: none; overflow: hidden; }
.rebrand-home .rb-hero__media { position: relative; display: block; overflow: hidden; }
.rebrand-home .rb-hero__media::after { content: none; }
.rebrand-home .rb-hero__photo { position: static; display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; -webkit-mask-image: none; mask-image: none; }
.rebrand-home .rb-hero__content { position: relative; z-index: 2; }
.rebrand-home #main .rb-hero h1.rb-hero__eyebrow { margin: 0; font-family: var(--font-body); font-size: .74rem; font-weight: 600; line-height: 1.5; letter-spacing: .12em; text-transform: uppercase; color: #1F2D3D; }
.rebrand-home .rb-hero__eyebrow::after { content: ""; display: block; width: 36px; height: 2px; margin-top: 16px; background: #1F2D3D; }
.rebrand-home .rb-hero__title { margin: 18px 0 0; max-width: none; font-family: var(--font-body); font-weight: 700; letter-spacing: -.035em; color: #0F2440; font-size: clamp(2.3rem, 9vw, 3.4rem); line-height: 1.02; }
.rebrand-home .rb-hero__lead { margin: 16px 0 0; max-width: 40em; color: #273445; font-size: 1.02rem; line-height: 1.6; }
.rebrand-home .rb-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.rebrand-home .rb-hero__btn { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 54px; padding-inline: 22px; border-radius: 10px; font-weight: 600; text-decoration: none; }
.rebrand-home .rb-hero__btn--primary { background: #0F2440; color: #fff; border: 0; box-shadow: 0 12px 26px rgb(15 36 64 / 24%); }
.rebrand-home .rb-hero__btn--primary:hover { background: #17345A; }
.rebrand-home .rb-hero__btn--secondary { background: #fff; color: #0F2440; border: 0; box-shadow: 0 10px 28px rgb(15 36 64 / 12%); }
.rebrand-home .rb-hero__btn--secondary:hover { background: #F2F5F9; }
.rebrand-home .rb-hero__content .rb-hero__rating { position: static; display: inline-flex; align-items: center; gap: 14px; width: auto; height: auto; margin-top: 26px; padding: 0; background: transparent; box-shadow: none; color: #0F2440; text-decoration: none; }
.rebrand-home .rb-hero__content .rb-hero__google { width: 30px; height: 30px; padding: 10px; background: #fff; border-radius: 50%; box-shadow: 0 8px 22px rgb(15 36 64 / 16%); box-sizing: content-box; }
.rebrand-home .rb-hero__content .rb-hero__rating > span { display: grid; grid-template-columns: auto auto; column-gap: 12px; align-items: center; line-height: 1.3; }
.rebrand-home .rb-hero__content .rb-hero__stars { color: #F5B417; font-size: 1.15rem; letter-spacing: .08em; }
.rebrand-home .rb-hero__content .rb-hero__rating strong { font-weight: 600; font-size: 1.05rem; }
.rebrand-home .rb-hero__content .rb-hero__rating small { grid-column: 1 / -1; color: #4A5868; font-size: .88rem; }

/* Handy und Tablet: Foto oben, Text darunter auf Weiss */
@media (max-width: 1099px) {
  .rebrand-home .rb-hero__stage { display: flex; flex-direction: column; }
  .rebrand-home .rb-hero__media { order: -1; height: min(58vw, 460px); }
  .rebrand-home .rb-hero__photo { object-position: 62% 50%; }
  .rebrand-home .rb-hero__content { order: 0; padding: 30px 20px 40px; }
  .rebrand-home .rb-hero__btn { flex: 1 1 260px; }
}

/* Ab 1100 px: Foto als Flaeche, Text links darauf, schwebende Kopfzeile */
@media (min-width: 1100px) {

  .rebrand-home .rb-hero__stage { height: calc(962 * var(--hh)); }
  .rebrand-home .rb-hero__media { position: absolute; inset: 0; }
  .rebrand-home .rb-hero__media::after { content: ""; position: absolute; inset: 0; pointer-events: none;
    background: linear-gradient(90deg, rgb(255 255 255 / 78%) 0, rgb(255 255 255 / 66%) 26%, rgb(255 255 255 / 30%) 44%, rgb(255 255 255 / 0) 58%); }
  .rebrand-home .rb-hero__photo { object-position: 22% 50%; }
  .rebrand-home .rb-hero__content { padding: calc(238 * var(--hh)) 0 0 calc(84 * var(--hh)); width: calc(900 * var(--hh)); }
  .rebrand-home #main .rb-hero h1.rb-hero__eyebrow { font-size: max(11px, calc(15.8 * var(--hh))); }
  .rebrand-home .rb-hero__eyebrow::after { width: calc(42 * var(--hh)); margin-top: calc(28 * var(--hh)); }
  .rebrand-home .rb-hero__title { margin-top: calc(30 * var(--hh)); font-size: calc(87 * var(--hh)); line-height: calc(86 * var(--hh)); }
  .rebrand-home .rb-hero__lead { margin-top: calc(24 * var(--hh)); max-width: calc(712 * var(--hh)); font-size: max(15px, calc(26.5 * var(--hh))); line-height: calc(38 * var(--hh)); }
  .rebrand-home .rb-hero__actions { margin-top: calc(36 * var(--hh)); gap: calc(28 * var(--hh)); flex-wrap: nowrap; }
  .rebrand-home .rb-hero__btn { height: calc(70 * var(--hh)); min-height: 48px; padding: 0; gap: calc(16 * var(--hh)); border-radius: calc(10 * var(--hh)); font-size: max(14px, calc(19 * var(--hh))); }
  .rebrand-home .rb-hero__btn svg { width: calc(26 * var(--hh)); height: calc(26 * var(--hh)); }
  .rebrand-home .rb-hero__btn--primary { width: calc(366 * var(--hh)); }
  .rebrand-home .rb-hero__btn--secondary { width: calc(352 * var(--hh)); }
  .rebrand-home .rb-hero__content .rb-hero__rating { margin-top: calc(44 * var(--hh)); gap: calc(22 * var(--hh)); }
  .rebrand-home .rb-hero__content .rb-hero__google { width: calc(36 * var(--hh)); height: calc(36 * var(--hh)); padding: calc(14 * var(--hh)); }
  .rebrand-home .rb-hero__content .rb-hero__stars { font-size: max(15px, calc(28 * var(--hh))); }
  .rebrand-home .rb-hero__content .rb-hero__rating strong { font-size: max(15px, calc(22 * var(--hh))); }
  .rebrand-home .rb-hero__content .rb-hero__rating small { font-size: max(12px, calc(18 * var(--hh))); }
}
/* Foto: ganzes Bild sichtbar, rechtsbuendig, oben und links weich in den Himmel ueberblendet */
@media (min-width: 1100px) {
  .rebrand-home .rb-hero__stage { background: linear-gradient(180deg, #CFDDEC 0, #DCE6F1 40%, #E9EEF3 100%); }
  .rebrand-home .rb-hero__photo { position: absolute; top: auto; right: 0; bottom: 0; left: auto; width: 92%; height: auto; object-fit: cover;
    -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 16%), linear-gradient(90deg, transparent 0, #000 12%); -webkit-mask-composite: source-in;
    mask-image: linear-gradient(180deg, transparent 0, #000 16%), linear-gradient(90deg, transparent 0, #000 12%); mask-composite: intersect; }
}

/* Schwebende Kopfzeile ab 1280 px (darunter Burger-Menue, dort bleibt die Leiste oben) */
@media (min-width: 1280px) {
  :root:has(.rebrand-home) { scroll-padding-top: calc(170 * var(--hh)); }
  .rebrand-home .rb-header { position: fixed; top: calc(32 * var(--hh)); left: 0; right: 0; width: calc(min(100vw, 1920px) - 116 * var(--hh)); margin-inline: auto; background: #fff; border: 0; border-radius: calc(18 * var(--hh)); box-shadow: 0 16px 44px rgb(15 36 64 / 14%); }
  .rebrand-home .rb-header__inner { width: 100%; min-height: calc(110 * var(--hh)); padding-inline: calc(57 * var(--hh)) calc(34 * var(--hh)); gap: calc(42 * var(--hh)); }
  .rebrand-home .rb-brand { gap: calc(18 * var(--hh)); margin-right: 0; flex: none; }
  .rebrand-home .rb-brand__mark { width: calc(64 * var(--hh)); height: calc(60 * var(--hh)); }
  .rebrand-home .rb-brand__wordmark { width: calc(160 * var(--hh)); min-width: 130px; }
  .rebrand-home .rb-nav { margin-left: calc(9 * var(--hh)); }
  .rebrand-home .rb-nav ul { gap: calc(26 * var(--hh)); }
  .rebrand-home .rb-nav a { font-weight: 500; font-size: max(13px, calc(15 * var(--hh))); color: #1F2D3D; }
  .rebrand-home .rb-header__phone { margin-left: auto; flex: none; gap: calc(16 * var(--hh)); color: #0F2440; }
  .rebrand-home .rb-header__phone svg { width: calc(30 * var(--hh)); height: calc(30 * var(--hh)); }
  .rebrand-home .rb-header__phone strong { font-size: max(14px, calc(17 * var(--hh))); }
  .rebrand-home .rb-header__phone small { font-size: max(11px, calc(13 * var(--hh))); }
  .rebrand-home .rb-header__cta { flex: none; margin-left: 0; width: calc(238 * var(--hh)); min-height: 44px; height: calc(56 * var(--hh)); padding: 0; border-radius: calc(9 * var(--hh)); background: #0F2440; box-shadow: none; font-size: max(14px, calc(16 * var(--hh))); }
  .rebrand-home .rb-header__cta:hover { background: #17345A; }
}
/* Kopfzeile unter 1280 px: gleicher Navy-Knopf wie im Banner */
@media (max-width: 1279px) {
  .rebrand-home .rb-header__cta { background: #0F2440; box-shadow: none; }
  .rebrand-home .rb-header__cta:hover { background: #17345A; }
}
@media (min-width: 1100px) and (max-width: 1279px) {
  .rebrand-home .rb-hero__content { padding-top: calc(170 * var(--hh)); }
}
@media (max-width: 1099px) {
  .rebrand-home .rb-hero__content .rb-hero__rating { margin: 28px 0 0; padding: 0; }
  .rebrand-home .rb-hero__content .rb-hero__rating strong { font-size: 1.05rem; }
  .rebrand-home .rb-hero__content .rb-hero__rating small { font-size: .88rem; }
}

/* ==========================================================================
   BANNER BREITER nach zweiter Vorlage (15.10.): niedrigerer Banner,
   breitere Kopfzeile, darunter "Darauf koennen Sie sich verlassen".
   1 hb = 1 Pixel der Vorlage (1672 px).
   ========================================================================== */
:root { --hb: calc(min(100vw, 1920px) / 1672); }
.rebrand-home .rb-trust { background: #fff; color: #0F2440; padding: 0; }
.rebrand-home .rb-trust__inner { width: calc(100% - 40px); margin-inline: auto; padding-block: 40px 44px; text-align: center; }
.rebrand-home .rb-trust__eyebrow { margin: 0; font-size: .78rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: #1F2D3D; }
.rebrand-home .rb-trust__eyebrow::after { content: ""; display: block; width: 48px; height: 2px; margin: 10px auto 0; background: #A9B6C6; }
.rebrand-home #main .rb-trust h2 { margin: 14px 0 0; font-family: var(--font-body); font-weight: 700; letter-spacing: -.03em; text-transform: none; color: #0F2440; font-size: clamp(1.6rem, 5.4vw, 2.3rem); line-height: 1.15; }
.rebrand-home .rb-trust__lead { max-width: 46em; margin: 10px auto 0; color: #5A6A82; font-size: 1.02rem; line-height: 1.45; }
.rebrand-home .rb-trust__list { list-style: none; display: grid; gap: 20px; margin: 28px 0 0; padding: 0; text-align: left; }
.rebrand-home .rb-trust__list li { display: flex; align-items: flex-start; gap: 18px; color: #4D5D72; font-size: .92rem; line-height: 1.4; }
.rebrand-home .rb-trust__icon { flex: none; color: #0F2440; }
.rebrand-home .rb-trust__icon svg { width: 40px; height: 40px; stroke-width: 1.4; }
.rebrand-home .rb-trust__list strong { display: block; margin-bottom: 4px; color: #0F2440; font-size: 1.02rem; }
@media (min-width: 1100px) {
  .rebrand-home .rb-hero__stage { height: calc(683 * var(--hb)); }
  .rebrand-home .rb-hero__photo { width: 81.7%; }
  .rebrand-home .rb-hero__content { padding: calc(172 * var(--hb)) 0 0 calc(102 * var(--hb)); width: calc(900 * var(--hb)); }
  .rebrand-home #main .rb-hero h1.rb-hero__eyebrow { font-size: max(11px, calc(15.5 * var(--hb))); letter-spacing: .1em; font-weight: 500; color: #0F2440; }
  .rebrand-home .rb-hero__eyebrow::after { width: calc(63 * var(--hb)); height: calc(4 * var(--hb)); min-height: 2px; margin-top: calc(13 * var(--hb)); margin-left: calc(4 * var(--hb)); background: #0F2440; border-radius: 2px; }
  .rebrand-home .rb-hero__title { margin-top: calc(14 * var(--hb)); margin-left: calc(4 * var(--hb)); font-size: calc(83 * var(--hb)); line-height: calc(80 * var(--hb)); letter-spacing: -.04em; }
  .rebrand-home .rb-hero__lead { margin-top: calc(18 * var(--hb)); margin-left: calc(6 * var(--hb)); max-width: calc(570 * var(--hb)); font-size: max(14px, calc(20.5 * var(--hb))); line-height: calc(29 * var(--hb)); color: #1F2D3D; }
  .rebrand-home .rb-hero__actions { margin-top: calc(26 * var(--hb)); margin-left: calc(6 * var(--hb)); gap: calc(18 * var(--hb)); }
  .rebrand-home .rb-hero__btn { height: calc(58 * var(--hb)); min-height: 44px; gap: calc(14 * var(--hb)); border-radius: calc(6 * var(--hb)); font-size: max(14px, calc(17.5 * var(--hb))); }
  .rebrand-home .rb-hero__btn svg { width: calc(26 * var(--hb)); height: calc(26 * var(--hb)); }
  .rebrand-home .rb-hero__btn--primary { width: calc(340 * var(--hb)); }
  .rebrand-home .rb-hero__btn--secondary { width: calc(280 * var(--hb)); }
  .rebrand-home .rb-hero__content .rb-hero__rating { margin-top: calc(24 * var(--hb)); margin-left: calc(4 * var(--hb)); gap: calc(12 * var(--hb)); }
  .rebrand-home .rb-hero__content .rb-hero__google { width: calc(26 * var(--hb)); height: calc(26 * var(--hb)); padding: calc(5 * var(--hb)); }
  .rebrand-home .rb-hero__content .rb-hero__stars { font-size: max(13px, calc(19 * var(--hb))); }
  .rebrand-home .rb-hero__content .rb-hero__rating strong { font-size: max(14px, calc(18 * var(--hb))); }
  .rebrand-home .rb-hero__content .rb-hero__rating small { font-size: max(11px, calc(14.5 * var(--hb))); }

  .rebrand-home .rb-trust__inner { width: calc(1452 * var(--hb)); padding-block: calc(22 * var(--hb)) calc(30 * var(--hb)); }
  .rebrand-home .rb-trust__eyebrow { font-size: max(11px, calc(14 * var(--hb))); }
  .rebrand-home .rb-trust__eyebrow::after { width: calc(48 * var(--hb)); height: calc(3 * var(--hb)); min-height: 2px; margin-top: calc(9 * var(--hb)); }
  .rebrand-home #main .rb-trust h2 { margin-top: calc(10 * var(--hb)); font-size: calc(36 * var(--hb)); line-height: calc(44 * var(--hb)); }
  .rebrand-home .rb-trust__lead { max-width: calc(760 * var(--hb)); margin-top: calc(4 * var(--hb)); font-size: max(14px, calc(18.5 * var(--hb))); line-height: calc(21 * var(--hb)); }
  .rebrand-home .rb-trust__list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin-top: calc(30 * var(--hb)); }
  .rebrand-home .rb-trust__list li { gap: calc(36 * var(--hb)); padding: calc(4 * var(--hb)) calc(30 * var(--hb)) 0 calc(54 * var(--hb)); font-size: max(12.5px, calc(15 * var(--hb))); line-height: calc(18 * var(--hb)); }
  .rebrand-home .rb-trust__list li + li { border-left: 1px solid #D9DFE7; }
  .rebrand-home .rb-trust__icon svg { width: calc(42 * var(--hb)); height: calc(42 * var(--hb)); }
  .rebrand-home .rb-trust__list strong { margin-bottom: calc(8 * var(--hb)); font-size: max(14px, calc(17 * var(--hb))); line-height: 1.2; }
}
@media (min-width: 1280px) {
  :root:has(.rebrand-home) { scroll-padding-top: calc(140 * var(--hb)); }
  .rebrand-home .rb-header { top: calc(24 * var(--hb)); width: calc(min(100vw, 1920px) - 142 * var(--hb)); border-radius: calc(16 * var(--hb)); }
  .rebrand-home .rb-header__inner { min-height: calc(83 * var(--hb)); padding-inline: calc(57 * var(--hb)) calc(30 * var(--hb)); gap: calc(40 * var(--hb)); }
  .rebrand-home .rb-brand { gap: calc(21 * var(--hb)); }
  .rebrand-home .rb-brand__mark { width: calc(64 * var(--hb)); height: calc(52 * var(--hb)); }
  .rebrand-home .rb-brand__wordmark { width: calc(143 * var(--hb)); }
  .rebrand-home .rb-nav { margin-left: calc(29 * var(--hb)); }
  .rebrand-home .rb-nav ul { gap: calc(26 * var(--hb)); }
  .rebrand-home .rb-nav a { font-size: max(13px, calc(15.5 * var(--hb))); }
  .rebrand-home .rb-header__phone { gap: calc(14 * var(--hb)); }
  .rebrand-home .rb-header__phone svg { width: calc(27 * var(--hb)); height: calc(27 * var(--hb)); }
  .rebrand-home .rb-header__phone strong { font-size: max(14px, calc(17 * var(--hb))); }
  .rebrand-home .rb-header__phone small { font-size: max(11px, calc(13 * var(--hb))); }
  .rebrand-home .rb-header__cta { width: calc(222 * var(--hb)); height: calc(52 * var(--hb)); border-radius: calc(9 * var(--hb)); font-size: max(14px, calc(17 * var(--hb))); }
}
.rebrand-home .rb-trust__eyebrow, .rebrand-home .rb-trust__lead { max-width: none; margin-inline: auto; }
@media (min-width: 1100px) {
  .rebrand-home .rb-hero__lead { max-width: calc(560 * var(--hb)); }
  .rebrand-home .rb-hero__content .rb-hero__google { padding: calc(6 * var(--hb)); width: calc(24 * var(--hb)); height: calc(24 * var(--hb)); }
  .rebrand-home .rb-trust__lead { max-width: calc(745 * var(--hb)); }
  .rebrand-home #main .rb-trust h2 { margin-top: calc(6 * var(--hb)); }
  .rebrand-home .rb-trust__list { margin-top: calc(22 * var(--hb)); }
  .rebrand-home .rb-trust__list li { gap: calc(37 * var(--hb)); padding: calc(6 * var(--hb)) calc(10 * var(--hb)) 0 calc(52 * var(--hb)); }
  .rebrand-home .rb-trust__list li:first-child { padding-left: calc(10 * var(--hb)); }
  .rebrand-home .rb-trust__list strong { white-space: nowrap; font-size: max(13.5px, calc(16.5 * var(--hb))); }
}
@media (min-width: 1100px) { .rebrand-home .rb-hero__lead { max-width: calc(548 * var(--hb)); } }
@media (min-width: 1100px) and (max-width: 1399px) { .rebrand-home .rb-trust__list strong { white-space: normal; } }

/* ==========================================================================
   LEISTUNGEN NEU nach Vorlage (16.10.): drei breite Karten, Bild und Text
   abwechselnd. 1 hh = 1 Pixel der Vorlage (1690 px).
   ========================================================================== */
.rebrand-home .rb-lsec { background: #fff; color: #0F2440; padding: 0; }
.rebrand-home .rb-lsec__inner { width: calc(100% - 40px); margin-inline: auto; padding-block: 48px 56px; }
.rebrand-home .rb-lsec__head { padding-inline: 4px; }
.rebrand-home .rb-lsec__eyebrow { margin: 0; max-width: none; font-size: .78rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: #0F2440; }
.rebrand-home .rb-lsec__eyebrow::after { content: ""; display: block; width: 36px; height: 2px; margin-top: 14px; background: #0F2440; }
.rebrand-home #main .rb-lsec h2 { margin: 16px 0 0; font-family: var(--font-body); font-weight: 700; letter-spacing: -.035em; text-transform: none; color: #0F2440; font-size: clamp(2rem, 7vw, 3.2rem); line-height: 1.08; }
.rebrand-home .rb-lsec__lead { max-width: none; margin: 16px 0 0; color: #5A6A82; font-size: 1.02rem; line-height: 1.6; }
.rebrand-home .rb-lsec__cards { display: grid; gap: 22px; margin-top: 32px; }
.rebrand-home .rb-lc { display: grid; overflow: hidden; background: #F3F6FA; border-radius: 14px; box-shadow: 0 12px 34px rgb(15 36 64 / 7%); }
.rebrand-home .rb-lc__media { min-height: 240px; }
.rebrand-home .rb-lc__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.rebrand-home .rb-lc__body { padding: 28px 24px 30px; }
.rebrand-home .rb-lc__eyebrow { margin: 0; max-width: none; font-size: .72rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: #0F2440; }
.rebrand-home .rb-lc__eyebrow::after { content: ""; display: block; width: 22px; height: 2px; margin-top: 14px; background: #0F2440; }
.rebrand-home #main .rb-lc h3 { margin: 16px 0 0; font-family: var(--font-body); font-weight: 700; letter-spacing: -.03em; text-transform: none; color: #0F2440; font-size: 1.9rem; line-height: 1.1; }
.rebrand-home .rb-lc__text { max-width: none; margin: 12px 0 0; color: #2F3D50; font-size: 1rem; line-height: 1.65; }
.rebrand-home .rb-lc__list { list-style: none; display: grid; gap: 10px; margin: 20px 0 0; padding: 0; }
.rebrand-home .rb-lc__list li { display: flex; align-items: center; gap: 16px; color: #2F3D50; font-size: 1rem; }
.rebrand-home .rb-lc__list svg { flex: none; color: #0F2440; }
.rebrand-home .rb-lc__btn { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 52px; margin-top: 26px; padding: 0 30px; border-radius: 999px; background: #0F2440; color: #fff; font-weight: 600; text-decoration: none; }
.rebrand-home .rb-lc__btn:hover { background: #17345A; }
.rebrand-home .rb-lc__btn svg { transition: translate .2s ease; }
.rebrand-home .rb-lc__btn:hover svg { translate: 3px 0; }
@media (prefers-reduced-motion: reduce) { .rebrand-home .rb-lc__btn:hover svg { translate: none; } }
@media (min-width: 760px) {
  .rebrand-home .rb-lc { grid-template-columns: 53fr 47fr; }
  .rebrand-home .rb-lc--entr { grid-template-columns: 47fr 53fr; }
  .rebrand-home .rb-lc--entr .rb-lc__media { order: 2; }
  .rebrand-home .rb-lc__media { min-height: 0; }
}
@media (min-width: 1100px) {
  .rebrand-home .rb-lsec__inner { width: calc(1535 * var(--hh)); margin-left: calc(80 * var(--hh)); padding-block: calc(66 * var(--hh)) calc(90 * var(--hh)); }
  .rebrand-home .rb-lsec__head { padding-inline: calc(32 * var(--hh)) 0; }
  .rebrand-home .rb-lsec__eyebrow { font-size: max(11px, calc(19 * var(--hh))); letter-spacing: .2em; }
  .rebrand-home .rb-lsec__eyebrow::after { width: calc(43 * var(--hh)); height: calc(3 * var(--hh)); min-height: 2px; margin-top: calc(26 * var(--hh)); }
  .rebrand-home #main .rb-lsec h2 { margin-top: calc(22 * var(--hh)); font-size: calc(84 * var(--hh)); line-height: calc(92 * var(--hh)); }
  .rebrand-home .rb-lsec__lead { margin-top: calc(30 * var(--hh)); font-size: max(14px, calc(24 * var(--hh))); line-height: calc(40 * var(--hh)); }
  .rebrand-home .rb-lsec__cards { gap: calc(46 * var(--hh)); margin-top: calc(76 * var(--hh)); }
  .rebrand-home .rb-lc { min-height: calc(715 * var(--hh)); border-radius: calc(16 * var(--hh)); }
  .rebrand-home .rb-lc--umzug { grid-template-columns: 815fr 720fr; }
  .rebrand-home .rb-lc--entr { grid-template-columns: 719fr 816fr; }
  .rebrand-home .rb-lc--montage { grid-template-columns: 796fr 739fr; }
  .rebrand-home .rb-lc__body { align-self: center; padding: calc(40 * var(--hh)) calc(56 * var(--hh)) calc(40 * var(--hh)) calc(65 * var(--hh)); }
  .rebrand-home .rb-lc--entr .rb-lc__body { padding-left: calc(56 * var(--hh)); }
  .rebrand-home .rb-lc__eyebrow { font-size: max(11px, calc(17 * var(--hh))); }
  .rebrand-home .rb-lc__eyebrow::after { width: calc(40 * var(--hh)); height: calc(3 * var(--hh)); min-height: 2px; margin-top: calc(26 * var(--hh)); }
  .rebrand-home #main .rb-lc h3 { margin-top: calc(28 * var(--hh)); font-size: calc(56 * var(--hh)); line-height: calc(64 * var(--hh)); }
  .rebrand-home .rb-lc__text { margin-top: calc(22 * var(--hh)); font-size: max(14px, calc(23 * var(--hh))); line-height: calc(39 * var(--hh)); }
  .rebrand-home .rb-lc__list { gap: calc(18 * var(--hh)); margin-top: calc(40 * var(--hh)); padding-left: calc(14 * var(--hh)); }
  .rebrand-home .rb-lc__list li { gap: calc(32 * var(--hh)); font-size: max(14px, calc(23 * var(--hh))); line-height: calc(37 * var(--hh)); }
  .rebrand-home .rb-lc__list svg { width: calc(24 * var(--hh)); height: calc(24 * var(--hh)); }
  .rebrand-home .rb-lc__btn { min-height: 46px; height: calc(68 * var(--hh)); margin-top: calc(52 * var(--hh)); padding: 0 calc(56 * var(--hh)); gap: calc(14 * var(--hh)); font-size: max(14px, calc(22 * var(--hh))); }
  .rebrand-home .rb-lc__btn svg { width: calc(24 * var(--hh)); height: calc(24 * var(--hh)); }
}
@media (min-width: 1100px) {
  .rebrand-home #main .rb-lsec h2 { font-size: calc(90 * var(--hh)); line-height: calc(96 * var(--hh)); }
  .rebrand-home .rb-lc__text { max-width: calc(568 * var(--hh)); }
  .rebrand-home .rb-lsec__eyebrow, .rebrand-home .rb-lc__eyebrow { font-weight: 700; }
}
@media (min-width: 1100px) { .rebrand-home .rb-lsec__lead { max-width: calc(1180 * var(--hh)); } }

/* ==========================================================================
   VERTRAUEN unter dem Banner nach Vorlage (16.10.): Glaskarten auf hellem
   Grund mit warmem Lichteinfall rechts. 1 vt = 1 Pixel der Vorlage (2000 px).
   ========================================================================== */
:root { --vt: calc(min(100vw, 1920px) / 2000); }
.rebrand-home .rb-vt { position: relative; overflow: hidden; padding: 0; color: #0F2440;
  background:
    radial-gradient(ellipse 22% 34% at 82% 62%, rgb(255 226 190 / 42%), transparent 72%),
    linear-gradient(118deg, transparent 66%, rgb(255 238 218 / 55%) 74%, transparent 80%, rgb(255 240 224 / 40%) 86%, transparent 92%),
    radial-gradient(ellipse 40% 18% at 30% 74%, rgb(214 222 234 / 55%), transparent 70%),
    linear-gradient(180deg, #FCFCFD 0, #F7F8FA 66%, #EEF0F4 70%, #F6F7F9 82%, #FBFBFC 100%); }
.rebrand-home .rb-vt__inner { position: relative; width: calc(100% - 40px); margin-inline: auto; padding-block: 56px 72px; text-align: center; }
.rebrand-home .rb-vt__eyebrow { margin: 0; max-width: none; font-size: .78rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: #2B3A55; }
.rebrand-home .rb-vt__eyebrow::after { content: ""; display: block; width: 52px; height: 3px; margin: 14px auto 0; border-radius: 2px; background: #3E5C8E; }
.rebrand-home #main .rb-vt h2 { margin: 18px 0 0; font-family: var(--font-body); font-weight: 700; letter-spacing: -.035em; text-transform: none; color: #0F2440; font-size: clamp(1.6rem, 5.6vw, 2.5rem); line-height: 1.15; }
.rebrand-home .rb-vt__lead { max-width: 44em; margin: 12px auto 0; color: #5A6A82; font-size: 1rem; line-height: 1.5; }
.rebrand-home .rb-vt__lead br { display: none; }
.rebrand-home .rb-vt__cards { list-style: none; display: grid; gap: 16px; margin: 30px 0 0; padding: 0; text-align: left; }
.rebrand-home .rb-vt__card { position: relative; display: flex; align-items: center; gap: 22px; padding: 22px 24px; border-radius: 20px;
  background: linear-gradient(180deg, rgb(255 255 255 / 82%), rgb(255 255 255 / 58%));
  border: 1px solid rgb(255 255 255 / 95%);
  box-shadow: 0 1px 0 rgb(255 255 255) inset, 0 0 0 1px rgb(15 36 64 / 5%), 0 24px 40px -22px rgb(15 36 64 / 22%), 0 6px 18px rgb(15 36 64 / 5%);
  -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.rebrand-home .rb-vt__icon { display: grid; place-items: center; flex: none; width: 64px; height: 64px; border-radius: 18px; color: #0F2440;
  background: linear-gradient(180deg, #fff, #F6F8FB); box-shadow: 0 0 0 1px rgb(15 36 64 / 5%), 0 10px 22px rgb(15 36 64 / 10%); }
.rebrand-home .rb-vt__icon svg { width: 32px; height: 32px; stroke-width: 1.5; }
.rebrand-home .rb-vt__text { position: relative; padding-left: 22px; color: #5A6A82; font-size: .95rem; line-height: 1.45; }
.rebrand-home .rb-vt__text::before { content: ""; position: absolute; left: 0; top: 2px; bottom: 2px; width: 1px; background: #D3DAE3; }
.rebrand-home .rb-vt__text strong { display: block; margin-bottom: 6px; color: #0F2440; font-size: 1.08rem; letter-spacing: -.01em; }
.rebrand-home .rb-vt__text br { display: none; }
@media (min-width: 1100px) {
  .rebrand-home .rb-vt__inner { width: calc(1480 * var(--vt)); padding-block: calc(108 * var(--vt)) calc(186 * var(--vt)); }
  .rebrand-home .rb-vt__eyebrow { font-size: max(11px, calc(16.5 * var(--vt))); letter-spacing: .17em; }
  .rebrand-home .rb-vt__eyebrow::after { width: calc(62 * var(--vt)); height: calc(4 * var(--vt)); min-height: 2px; margin-top: calc(22 * var(--vt)); }
  .rebrand-home #main .rb-vt h2 { margin-top: calc(24 * var(--vt)); font-size: calc(41 * var(--vt)); line-height: calc(50 * var(--vt)); }
  .rebrand-home .rb-vt__lead { max-width: none; margin-top: calc(10 * var(--vt)); font-size: max(13.5px, calc(19 * var(--vt))); line-height: calc(28 * var(--vt)); }
  .rebrand-home .rb-vt__lead br, .rebrand-home .rb-vt__text br { display: inline; }
  .rebrand-home .rb-vt__cards { grid-template-columns: 485fr 467fr 480fr; gap: calc(24 * var(--vt)); margin-top: calc(36 * var(--vt)); }
  .rebrand-home .rb-vt__card { height: calc(158 * var(--vt)); min-height: 110px; padding: 0 calc(20 * var(--vt)) 0 calc(34 * var(--vt)); gap: calc(26 * var(--vt)); border-radius: calc(22 * var(--vt)); }
  .rebrand-home .rb-vt__icon { width: calc(87 * var(--vt)); height: calc(87 * var(--vt)); min-width: 60px; min-height: 60px; border-radius: calc(22 * var(--vt)); }
  .rebrand-home .rb-vt__icon svg { width: calc(42 * var(--vt)); height: calc(42 * var(--vt)); min-width: 28px; min-height: 28px; }
  .rebrand-home .rb-vt__text { padding-left: calc(28 * var(--vt)); font-size: max(13px, calc(18 * var(--vt))); line-height: calc(27 * var(--vt)); }
  .rebrand-home .rb-vt__text::before { top: calc(-14 * var(--vt)); bottom: calc(-14 * var(--vt)); }
  .rebrand-home .rb-vt__text strong { margin-bottom: calc(10 * var(--vt)); font-size: max(14.5px, calc(21 * var(--vt))); line-height: 1.2; }
}
/* Lichtstrahlen rechts und Spiegelung unter den Karten */
.rebrand-home .rb-vt::before { content: ""; position: absolute; inset: -10% -5% 0 50%; pointer-events: none; filter: blur(18px); opacity: .9;
  background:
    linear-gradient(152deg, transparent 38%, rgb(255 231 200 / 70%) 44%, rgb(255 246 234 / 30%) 50%, transparent 56%),
    linear-gradient(152deg, transparent 55%, rgb(255 236 210 / 55%) 60%, transparent 66%),
    linear-gradient(152deg, transparent 22%, rgb(255 242 226 / 45%) 27%, transparent 33%); }
.rebrand-home .rb-vt__inner { z-index: 1; }
.rebrand-home .rb-vt__card { background: linear-gradient(170deg, rgb(255 255 255 / 92%) 0, rgb(255 255 255 / 66%) 55%, rgb(248 250 253 / 72%) 100%); }
.rebrand-home .rb-vt__card::after { content: ""; position: absolute; left: 6%; right: 6%; top: 100%; height: 46%; margin-top: 6px; border-radius: 0 0 20px 20px; pointer-events: none;
  background: linear-gradient(180deg, rgb(255 255 255 / 70%), rgb(255 255 255 / 0)); filter: blur(6px); opacity: .8; }
@media (max-width: 1099px) { .rebrand-home .rb-vt__card::after { display: none; } .rebrand-home .rb-vt::before { opacity: .5; } }
.rebrand-home #main .rb-vt h2 { margin-top: 0; }

/* ==========================================================================
   EINSAETZE als aufklappende Galerie (18.10.), Effekt wie "Expandable Gallery"
   von Inspira UI: Bilder in einer Reihe, das angefahrene wird dreimal so
   breit (flex 1 -> 3, 0,5 s). Ohne Maus ist das erste Bild offen.
   ========================================================================== */
.rebrand-home .rb-xg { display: flex; flex-direction: column; gap: 14px; margin-top: 32px; }
.rebrand-home .rb-xg__item { position: relative; display: block; overflow: hidden; height: 320px; border-radius: 16px; color: #fff; text-decoration: none; background: #0F2440; isolation: isolate; }
.rebrand-home .rb-xg__item img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: scale .6s cubic-bezier(.4,0,.2,1); }
.rebrand-home .rb-xg__item::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgb(10 24 44 / 0) 35%, rgb(10 24 44 / 55%) 68%, rgb(10 24 44 / 88%) 100%); }
.rebrand-home .rb-xg__tag { position: absolute; left: 18px; top: 18px; padding: 8px 14px; border-radius: 999px; background: rgb(255 255 255 / 94%); color: #0F2440; font-size: .82rem; font-weight: 600; white-space: nowrap; }
.rebrand-home .rb-xg__body { position: absolute; left: 0; right: 0; bottom: 0; padding: 22px; }
.rebrand-home #main .rb-xg__title { margin: 0; font-family: var(--font-body); font-weight: 700; letter-spacing: -.02em; text-transform: none; color: #fff; font-size: 1.35rem; line-height: 1.2; }
.rebrand-home .rb-xg__facts { list-style: none; display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 10px 0 0; padding: 0; color: rgb(255 255 255 / 88%); font-size: .92rem; }
.rebrand-home .rb-xg__facts li + li::before { content: "·"; margin-right: 16px; color: #E9B11E; }
.rebrand-home .rb-xg__facts li { display: inline-flex; }
.rebrand-home .rb-xg__link { display: inline-flex; align-items: center; gap: 10px; margin-top: 14px; font-weight: 600; color: #fff; border-bottom: 2px solid #E9B11E; padding-bottom: 3px; }
.rebrand-home .rb-xg__item:focus-visible { outline: 3px solid #E9B11E; outline-offset: 3px; }
@media (min-width: 1000px) {
  .rebrand-home .rb-xg { flex-direction: row; height: clamp(420px, 36vw, 600px); gap: 12px; }
  .rebrand-home .rb-xg__item { flex: 1 1 0; min-width: 0; height: auto; transition: flex-grow .5s cubic-bezier(.4,0,.2,1); }
  .rebrand-home .rb-xg__item:hover, .rebrand-home .rb-xg__item:focus-visible,
  .rebrand-home .rb-xg:not(:hover):not(:focus-within) .rb-xg__item:first-child { flex-grow: 3; }
  .rebrand-home .rb-xg__item:hover img { scale: 1.04; }
  .rebrand-home .rb-xg__tag { transition: opacity .3s ease; }
  .rebrand-home .rb-xg__more { max-height: 0; opacity: 0; overflow: hidden; transition: opacity .3s ease, max-height .5s cubic-bezier(.4,0,.2,1); }
  .rebrand-home .rb-xg__item:hover .rb-xg__more, .rebrand-home .rb-xg__item:focus-visible .rb-xg__more,
  .rebrand-home .rb-xg:not(:hover):not(:focus-within) .rb-xg__item:first-child .rb-xg__more { max-height: 200px; opacity: 1; transition-delay: .15s, 0s; }
  .rebrand-home .rb-xg__item:not(:hover):not(:focus-visible) .rb-xg__tag { opacity: 0; }
  .rebrand-home .rb-xg:not(:hover):not(:focus-within) .rb-xg__item:first-child .rb-xg__tag { opacity: 1; }
  .rebrand-home .rb-xg__item:not(:hover) .rb-xg__title { font-size: 1.05rem; }
  .rebrand-home .rb-xg__item:hover .rb-xg__title, .rebrand-home .rb-xg:not(:hover):not(:focus-within) .rb-xg__item:first-child .rb-xg__title { font-size: 1.5rem; }
  .rebrand-home .rb-xg__body { padding: 26px; }
}
@media (min-width: 1100px) {
  .rebrand-home .rb-xg__body { padding: 34px 36px; }
  .rebrand-home .rb-xg__item:hover .rb-xg__title, .rebrand-home .rb-xg:not(:hover):not(:focus-within) .rb-xg__item:first-child .rb-xg__title { font-size: 1.75rem; }
  .rebrand-home .rb-xg__facts { font-size: 1rem; }
  .rebrand-home .rb-xg__tag { left: 24px; top: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .rebrand-home .rb-xg__item, .rebrand-home .rb-xg__item img, .rebrand-home .rb-xg__more { transition: none; }
}
@media (min-width: 1000px) {
  .rebrand-home #main .rb-xg__item .rb-xg__title { font-size: 1.05rem; transition: font-size .3s ease; }
  .rebrand-home #main .rb-xg__item:hover .rb-xg__title, .rebrand-home #main .rb-xg__item:focus-visible .rb-xg__title,
  .rebrand-home #main .rb-xg:not(:hover):not(:focus-within) .rb-xg__item:first-child .rb-xg__title { font-size: 1.5rem; }
}
@media (min-width: 1100px) {
  .rebrand-home #main .rb-xg__item .rb-xg__title { font-size: 1.15rem; }
  .rebrand-home #main .rb-xg__item:hover .rb-xg__title, .rebrand-home #main .rb-xg__item:focus-visible .rb-xg__title,
  .rebrand-home #main .rb-xg:not(:hover):not(:focus-within) .rb-xg__item:first-child .rb-xg__title { font-size: 1.75rem; }
}
@media (prefers-reduced-motion: reduce) { .rebrand-home #main .rb-xg__item .rb-xg__title { transition: none; } }
@media (min-width: 1000px) {
  .rebrand-home #main .rb-xg__item .rb-xg__title { font-size: 16px; overflow-wrap: normal; }
  .rebrand-home .rb-xg__item:not(:hover):not(:focus-visible) .rb-xg__body { padding: 20px; }
  .rebrand-home .rb-xg:not(:hover):not(:focus-within) .rb-xg__item:first-child .rb-xg__body { padding: 26px; }
}
@media (min-width: 1100px) {
  .rebrand-home #main .rb-xg__item .rb-xg__title { font-size: 17px; }
  .rebrand-home .rb-xg:not(:hover):not(:focus-within) .rb-xg__item:first-child .rb-xg__body,
  .rebrand-home .rb-xg__item:hover .rb-xg__body { padding: 34px 36px; }
}
.rebrand-home .rb-xg__facts li + li::before { content: none; }
.rebrand-home .rb-xg__facts li { align-items: center; gap: 8px; }
.rebrand-home .rb-xg__facts li::before { content: ""; flex: none; width: 5px; height: 5px; border-radius: 50%; background: #E9B11E; }
/* Ohne Vertrauensleiste: Platz unten fuer die handschriftliche Notiz */
@media (min-width: 1100px) { .rebrand-home .rb-offer__inner { padding-bottom: calc(150 * var(--g)); } }

/* ==========================================================================
   BEWERTUNGEN als Laufband (18.10.), Effekt wie "Marquee" von Inspira UI:
   zwei Reihen, die obere laeuft nach links, die untere nach rechts,
   Stillstand beim Darueberfahren, weiche Kanten links und rechts.
   ========================================================================== */
.rebrand-home .rb-mq { --mq-gap: 20px; --mq-time: 45s; display: grid; gap: var(--mq-gap); margin-top: 36px;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 9%, #000 91%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 9%, #000 91%, transparent 100%); }
.rebrand-home .rb-reviews .rb-t__inner { width: 100%; max-width: none; }
.rebrand-home .rb-reviews .rb-t__head, .rebrand-home .rb-reviews .rb-t__rating, .rebrand-home .rb-reviews .rb-t__btn { margin-inline: auto; }
.rebrand-home .rb-mq__row { display: flex; overflow: hidden; gap: var(--mq-gap); padding-block: 6px 14px; }
.rebrand-home .rb-mq__group { display: flex; flex-shrink: 0; gap: var(--mq-gap); animation: rb-mq var(--mq-time) linear infinite; }
.rebrand-home .rb-mq__row--rev .rb-mq__group { animation-direction: reverse; }
.rebrand-home .rb-mq__row:hover .rb-mq__group, .rebrand-home .rb-mq__row:focus-within .rb-mq__group { animation-play-state: paused; }
@keyframes rb-mq { from { transform: translateX(0); } to { transform: translateX(calc(-100% - var(--mq-gap))); } }
.rebrand-home .rb-mq .rb-t__card { flex: 0 0 clamp(280px, 26vw, 420px); width: auto; min-height: 0; height: auto; margin: 0; align-self: stretch; }
.rebrand-home .rb-mq .rb-t__card blockquote { display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; }
@media (prefers-reduced-motion: reduce) {
  .rebrand-home .rb-mq { -webkit-mask-image: none; mask-image: none; }
  .rebrand-home .rb-mq__row { overflow-x: auto; scroll-snap-type: x mandatory; }
  .rebrand-home .rb-mq__group { animation: none; }
  .rebrand-home .rb-mq__group[aria-hidden="true"] { display: none; }
  .rebrand-home .rb-mq .rb-t__card { scroll-snap-align: start; }
}
.rebrand-home .rb-mq .rb-t__card { text-align: left; }
.rebrand-home .rb-mq .rb-t__card figcaption { justify-content: flex-start; text-align: left; }
@media (max-width: 700px) { .rebrand-home .rb-mq { --mq-gap: 14px; --mq-time: 38s; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%); } }
/* 15 Bewertungen: laengere Reihen, gleiches gemuetliches Tempo wie vorher */
.rebrand-home .rb-mq { --mq-time: 110s; }
@media (max-width: 700px) { .rebrand-home .rb-mq { --mq-time: 80s; } }
/* Laufband robuster: keine Maske auf der breiten, animierten Flaeche
   (Safari malt sie sonst teils gar nicht), weiche Kanten als Verlauf darueber */
.rebrand-home .rb-mq { -webkit-mask-image: none; mask-image: none; }
.rebrand-home .rb-mq__row { position: relative; }
.rebrand-home .rb-mq__row::before, .rebrand-home .rb-mq__row::after { content: ""; position: absolute; top: 0; bottom: 0; z-index: 2; width: 9%; pointer-events: none; }
.rebrand-home .rb-mq__row::before { left: 0; background: linear-gradient(90deg, rgb(255 255 255 / 96%), rgb(255 255 255 / 0)); }
.rebrand-home .rb-mq__row::after { right: 0; background: linear-gradient(270deg, rgb(255 255 255 / 96%), rgb(255 255 255 / 0)); }
.rebrand-home .rb-mq__group { will-change: transform; backface-visibility: hidden; }
@media (max-width: 700px) { .rebrand-home .rb-mq { -webkit-mask-image: none; mask-image: none; } .rebrand-home .rb-mq__row::before, .rebrand-home .rb-mq__row::after { width: 6%; } }
@media (prefers-reduced-motion: reduce) { .rebrand-home .rb-mq__row::before, .rebrand-home .rb-mq__row::after { display: none; } }
/* Bewegung kommt jetzt aus dem Skript (Pixelwerte), nicht mehr aus CSS-Keyframes */
.rebrand-home .rb-mq__group { animation: none; transform: translate3d(0,0,0); }

/* ==========================================================================
   BEWERTUNGEN als Slider (19.10.), Effekt wie "Testimonial Slider" von Inspira UI:
   Kundenkreis dreht sich auf einem Bogen ein (700 ms), Zitat gleitet weiter,
   automatischer Wechsel alle 7 s. Hintergrund: ruhige Flaeche statt Foto.
   ========================================================================== */
.rebrand-home .rb-reviews { background: #F3F6FA; }
.rebrand-home .rb-reviews .rb-t__bg { display: none; }
.rebrand-home .rb-ts { position: relative; max-width: 860px; margin: 18px auto 0; padding-inline: 20px; text-align: center; color: #0F2440; }
.rebrand-home .rb-ts__media { position: relative; height: 128px; }
.rebrand-home .rb-ts__arc { position: absolute; top: 0; left: 50%; width: 480px; height: 480px; translate: -50% 0; pointer-events: none; }
.rebrand-home .rb-ts__arc::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: 50%;
  background: linear-gradient(180deg, rgb(15 36 64 / 13%) 0, rgb(15 36 64 / 4%) 25%, rgb(15 36 64 / 0) 75%); }
.rebrand-home .rb-ts__mask { position: relative; height: 128px; -webkit-mask-image: linear-gradient(0deg, transparent, #000 20%, #000); mask-image: linear-gradient(0deg, transparent, #000 20%, #000); }
.rebrand-home .rb-ts__img { position: absolute; inset: 0; opacity: 0; transform: rotate(-60deg); transform-origin: 50% 240px; }
.rebrand-home .rb-ts__img span { position: absolute; top: 36px; left: 50%; translate: -50% 0; display: grid; place-items: center; width: 72px; height: 72px; border-radius: 50%;
  background: linear-gradient(145deg, #F4C35A, #D99A26); color: #fff; font-weight: 700; font-size: 1.25rem; letter-spacing: .02em; border: 3px solid #fff; box-shadow: 0 10px 26px rgb(15 36 64 / 18%); }
.rebrand-home .rb-ts__img.is-active { opacity: 1; transform: rotate(0deg); }
.rebrand-home .rb-ts__img.is-leaving { opacity: 0; transform: rotate(60deg); }
.rebrand-home .rb-ts.is-ready .rb-ts__img.is-active, .rebrand-home .rb-ts.is-ready .rb-ts__img.is-leaving { transition: opacity .7s cubic-bezier(.68,-.3,.32,1), transform .7s cubic-bezier(.68,-.3,.32,1); }
.rebrand-home .rb-ts__quotes { display: grid; margin-top: 6px; }
.rebrand-home .rb-ts__item { grid-area: 1 / 1; margin: 0; opacity: 0; visibility: hidden; translate: -1rem 0; }
.rebrand-home .rb-ts__item.is-active { opacity: 1; visibility: visible; translate: 0 0; }
.rebrand-home .rb-ts__item.is-leaving { opacity: 0; visibility: visible; translate: 1rem 0; }
.rebrand-home .rb-ts.is-ready .rb-ts__item.is-active { transition: opacity .5s ease-in-out .25s, translate .5s ease-in-out .25s, visibility 0s .25s; }
.rebrand-home .rb-ts.is-ready .rb-ts__item.is-leaving { transition: opacity .3s ease-out, translate .3s ease-out; }
.rebrand-home .rb-ts__stars { display: flex; justify-content: center; gap: 4px; margin: 0; color: #F2A900; }
.rebrand-home .rb-ts__stars .rb-ts__off { color: #D5DADF; }
.rebrand-home .rb-ts blockquote { max-width: 34em; margin: 14px auto 0; font-family: var(--font-body); font-weight: 700; letter-spacing: -.02em; color: #0F2440; font-size: clamp(1.15rem, 3.6vw, 1.6rem); line-height: 1.38; }
.rebrand-home .rb-ts blockquote::before { content: "\201E"; }
.rebrand-home .rb-ts blockquote::after { content: "\201C"; }
.rebrand-home .rb-ts__sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.rebrand-home .rb-ts__nav { display: flex; align-items: center; justify-content: space-between; gap: 16px; max-width: 560px; margin: 30px auto 0; }
.rebrand-home .rb-ts__btn { display: grid; place-items: center; flex: none; width: 48px; height: 48px; border: 1px solid #D5DCE5; border-radius: 50%; background: #fff; color: #0F2440; cursor: pointer; box-shadow: 0 6px 16px rgb(15 36 64 / 8%); transition: background .2s ease, color .2s ease; }
.rebrand-home .rb-ts__btn svg { transition: rotate .3s ease; }
.rebrand-home .rb-ts__btn--prev:hover svg { rotate: 12deg; }
.rebrand-home .rb-ts__btn--next:hover svg { rotate: -12deg; }
.rebrand-home .rb-ts__btn:hover { background: #0F2440; color: #fff; }
.rebrand-home .rb-ts__btn:focus-visible { outline: 3px solid #E9B11E; outline-offset: 3px; }
.rebrand-home .rb-ts__who { display: grid; gap: 2px; min-width: 0; transition: opacity .2s ease; }
.rebrand-home .rb-ts__who.is-fading { opacity: 0; }
.rebrand-home .rb-ts__who strong { font-size: 1.05rem; color: #0F2440; }
.rebrand-home .rb-ts__who small { color: #5A6A82; font-size: .88rem; font-style: italic; }
@media (max-width: 560px) { .rebrand-home .rb-ts__arc { width: 360px; height: 360px; } .rebrand-home .rb-ts__img { transform-origin: 50% 180px; } }
@media (prefers-reduced-motion: reduce) { .rebrand-home .rb-ts *, .rebrand-home .rb-ts.is-ready * { transition: none !important; } }
.rebrand-home main > section.rb-reviews { background: #F3F6FA; }
.rebrand-home .rb-ts__stars { max-width: none; }
.rebrand-home .rb-ts__arc::before { background: linear-gradient(180deg, rgb(255 255 255 / 95%) 0, rgb(255 255 255 / 55%) 30%, rgb(255 255 255 / 0) 75%); }
/* Bewertungs-Slider: Auftragsfoto im Kreis, Initialen bleiben darunter als Rueckfall */
.rebrand-home .rb-ts__img span { overflow: hidden; }
.rebrand-home .rb-ts__img span img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
@media (min-width: 1280px) { .rebrand-home .rb-brand__logo { height: calc(56 * var(--hb)); min-height: 42px; } }

/* ==========================================================================
   ABLAUF neu nach Vorlage (19.10.): Foto-Hintergrund (Kartons, Hauseingang),
   fuenf Glaskarten mit Nummer, Symbol, Titel, Text. 1 sv = 1 Pixel (1672 px).
   ========================================================================== */
:root { --sv: calc(min(100vw, 1920px) / 1672); }
.rebrand-home .rb-st { position: relative; isolation: isolate; overflow: hidden; padding: 0; background: #F6F3EE; color: #0F2440; }
.rebrand-home .rb-st__bg { position: absolute; inset: 0; z-index: -2; }
.rebrand-home .rb-st__bg img { width: 100%; height: 100%; object-fit: cover; object-position: 60% 50%; }
.rebrand-home .rb-st::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: radial-gradient(ellipse 55% 48% at 50% 34%, rgb(255 255 255 / 82%), rgb(255 255 255 / 40%) 60%, rgb(255 255 255 / 10%) 100%); }
.rebrand-home .rb-st__inner { width: calc(100% - 40px); margin-inline: auto; padding-block: 64px 72px; }
.rebrand-home .rb-st__head { text-align: center; }
.rebrand-home .rb-st__eyebrow { margin: 0; max-width: none; font-size: .82rem; font-weight: 600; letter-spacing: .3em; text-transform: uppercase; color: #0F2440; }
.rebrand-home .rb-st__eyebrow::after { content: ""; display: block; width: 90px; height: 2px; margin: 16px auto 0; background: linear-gradient(90deg, transparent, #0F2440 30%, #0F2440 70%, transparent); }
.rebrand-home #main .rb-st h2 { margin: 22px 0 0; font-family: var(--font-body); font-weight: 700; letter-spacing: -.035em; text-transform: none; color: #0F2440; font-size: clamp(1.8rem, 6vw, 3rem); line-height: 1.12; }
.rebrand-home .rb-st__lead { max-width: none; margin: 14px auto 0; color: #4A5A72; font-size: 1.05rem; line-height: 1.55; }
.rebrand-home .rb-st__lead br { display: none; }
.rebrand-home .rb-st__list { position: relative; list-style: none; display: grid; gap: 30px 16px; margin: 40px 0 0; padding: 0; counter-reset: none; }
.rebrand-home .rb-st__card { position: relative; display: flex; flex-direction: column; align-items: center; padding: 34px 20px 28px; text-align: center; border-radius: 20px;
  background: linear-gradient(180deg, rgb(255 255 255 / 78%), rgb(255 255 255 / 52%)); border: 1px solid rgb(255 255 255 / 90%);
  box-shadow: 0 1px 0 #fff inset, 0 18px 40px rgb(15 36 64 / 10%); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.rebrand-home .rb-st__no { position: absolute; left: 10px; top: -12px; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: #fff; color: #0F2440; font-weight: 700; font-size: 1.02rem; box-shadow: 0 8px 20px rgb(15 36 64 / 12%); }
.rebrand-home .rb-st__icon { display: grid; place-items: center; width: 70px; height: 66px; border-radius: 16px; background: linear-gradient(180deg, #F4F7FB, #E7EDF5); color: #0F2440; box-shadow: 0 0 0 1px rgb(255 255 255 / 90%) inset, 0 10px 22px rgb(15 36 64 / 10%); }
.rebrand-home .rb-st__icon svg { width: 34px; height: 34px; stroke-width: 1.5; }
.rebrand-home #main .rb-st__card h3 { margin: 22px 0 0; font-family: var(--font-body); font-weight: 700; letter-spacing: -.02em; text-transform: none; color: #0F2440; font-size: 1.2rem; line-height: 1.25; }
.rebrand-home .rb-st__card p { max-width: none; margin: 12px 0 0; color: #4A5A72; font-size: .98rem; line-height: 1.5; }
@media (min-width: 640px) and (max-width: 1099px) { .rebrand-home .rb-st__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } .rebrand-home .rb-st__card:last-child { grid-column: 1 / -1; } }
@media (min-width: 1100px) {
  .rebrand-home .rb-st__inner { width: calc(1497 * var(--sv)); padding-block: calc(128 * var(--sv)) calc(200 * var(--sv)); }
  .rebrand-home .rb-st__eyebrow { font-size: max(11px, calc(17 * var(--sv))); }
  .rebrand-home .rb-st__eyebrow::after { width: calc(110 * var(--sv)); margin-top: calc(24 * var(--sv)); }
  .rebrand-home #main .rb-st h2 { margin-top: calc(24 * var(--sv)); font-size: calc(50 * var(--sv)); line-height: calc(60 * var(--sv)); }
  .rebrand-home .rb-st__lead { margin-top: calc(14 * var(--sv)); font-size: max(14px, calc(21 * var(--sv))); line-height: calc(32 * var(--sv)); }
  .rebrand-home .rb-st__lead br { display: inline; }
  .rebrand-home .rb-st__list { grid-template-columns: 282fr 284fr 280fr 287fr 286fr; gap: calc(19 * var(--sv)); margin-top: calc(70 * var(--sv)); }
  .rebrand-home .rb-st__list::before { content: ""; position: absolute; left: 4%; right: 4%; top: calc(126 * var(--sv)); height: 1px; background: rgb(15 36 64 / 14%); z-index: -1; }
  .rebrand-home .rb-st__card { min-height: calc(338 * var(--sv)); padding: calc(44 * var(--sv)) calc(22 * var(--sv)) calc(28 * var(--sv)); border-radius: calc(22 * var(--sv)); }
  .rebrand-home .rb-st__no { left: calc(8 * var(--sv)); top: calc(-11 * var(--sv)); width: calc(60 * var(--sv)); height: calc(60 * var(--sv)); min-width: 42px; min-height: 42px; font-size: max(13px, calc(19 * var(--sv))); }
  .rebrand-home .rb-st__icon { width: calc(80 * var(--sv)); height: calc(76 * var(--sv)); border-radius: calc(16 * var(--sv)); }
  .rebrand-home .rb-st__icon svg { width: calc(40 * var(--sv)); height: calc(40 * var(--sv)); }
  .rebrand-home #main .rb-st__card h3 { margin-top: calc(24 * var(--sv)); font-size: max(15px, calc(21 * var(--sv))); line-height: calc(26 * var(--sv)); }
  .rebrand-home .rb-st__card p { margin-top: calc(14 * var(--sv)); font-size: max(13px, calc(18.5 * var(--sv))); line-height: calc(25.5 * var(--sv)); }
}
