/* Local source fonts */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/f433e5d333be1128.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/b9584e099e0e7f1e.ttf) format('truetype');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/1609a54fa3ad1abc.ttf) format('truetype');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/adefc53e7b3d483f.ttf) format('truetype');
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 300;
  font-stretch: normal;
  font-display: swap;
  src: url(/fonts/396e242e054f3513.ttf) format('truetype');
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  font-stretch: normal;
  font-display: swap;
  src: url(/fonts/dece7c71bbe61710.ttf) format('truetype');
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 500;
  font-stretch: normal;
  font-display: swap;
  src: url(/fonts/4d984240cefb093a.ttf) format('truetype');
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  font-stretch: normal;
  font-display: swap;
  src: url(/fonts/35757eaa996b3359.ttf) format('truetype');
}

/* Page design */








:root {
  --orange:   #FF5500;
  --orange-l: #FFF3EE;
  --orange-b: #FFD4BC;
  --dg:       #2D464D;
  --mg:       #808080;
  --sand:     #F5F0EA;
  --sand-grey:#DEDECE;
  --lg:       #E6E6E6;
  --white:    #ffffff;
  --font:     'Museo Sans','Roboto','Segoe UI',system-ui,-apple-system,sans-serif;
  --max:      1040px;

  /* === TYPOGRAFIE-SKALA "Weg A" — fluide clamp()-basierte Größen (Hauptmarken-Standard) === */
  --fs-xs:      clamp(0.6875rem, 0.65rem + 0.20vw, 0.75rem);   /* 11 → 12 px */
  --fs-sm:      clamp(0.8125rem, 0.78rem + 0.20vw, 0.875rem);  /* 13 → 14 px */
  --fs-base:    clamp(0.9375rem, 0.91rem + 0.15vw, 1rem);      /* 15 → 16 px */
  --fs-md:      clamp(1.0625rem, 1.03rem + 0.20vw, 1.125rem);  /* 17 → 18 px */
  --fs-lg:      clamp(1.25rem,   1.17rem + 0.40vw, 1.375rem);  /* 20 → 22 px */
  --fs-xl:      clamp(1.5rem,    1.30rem + 0.80vw, 1.75rem);   /* 24 → 28 px */
  --fs-2xl:     clamp(1.75rem,   1.45rem + 1.20vw, 2.125rem);  /* 28 → 34 px */

  /* === BUTTON-STANDARD — eine Größe für alle CTAs === */
  --btn-py:     10px;
  --btn-px:     28px;
  --btn-fs:     var(--fs-base);
  --btn-fw:     600;
  --btn-radius: 4px;
}
*,
  *::before,
  *::after {margin:0;padding:0;box-sizing:border-box;}
html {scroll-behavior:smooth;}
/* === Globale Headline-Regel: Museo Sans Medium 500 (v32-Logik) === */
h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
  font-family: 'Museo Sans', 'Roboto', sans-serif;
  font-weight: 500;
}

/* em in Headlines: Akzent nur durch Orange-Farbe,
  kein Italic,
  kein Extra-Weight */
h1 em,
  h2 em,
  h3 em,
  h4 em,
  h5 em,
  h6 em {
  color: var(--orange);
  font-style: normal;
  font-weight: inherit;
}

body {font-family:'Roboto','Museo Sans','Segoe UI',system-ui,sans-serif;color:var(--dg);background:var(--white);
  line-height:1.75;font-weight:400;font-size:var(--fs-base);-webkit-font-smoothing:antialiased;}
img {display:block;max-width:100%;height:auto;}
a {color:inherit;}

/* SKIP-LINK - wird beim Tab-Drücken sichtbar */
.skip-link {
  position: absolute;
  top: -100px;
  left: 16px;
  background: var(--dg);
  color: #fff;
  padding: 12px 20px;
  text-decoration: none;
  font-weight: 700;
  font-size: var(--fs-sm);
  border-radius: 4px;
  z-index: 1000;
  transition: top 0.2s;
}
.skip-link:focus { top: 16px; }

/* FOCUS-VISIBLE - sichtbarer Tastatur-Fokus */
a:focus-visible,
  button:focus-visible,
  input:focus-visible,
  textarea:focus-visible,
  select:focus-visible,
  [tabindex]:focus-visible {
  outline: 2px solid var(--orange);
  outline-offset: 2px;
  border-radius: 2px;
}

/* SPRUNG-ANKER - Abstand wegen sticky Header */
section[id],
  div[id] { scroll-margin-top: 100px; }

/* TOP BAR */
.top-bar {height:4px;background:var(--orange);}

/* HEADER (Standard Projekt Z) */
.header-wrap { border-bottom: 1px solid #DEDECE; background: #fff; position: sticky; top: 0; z-index: 100; padding: 0 32px; }
.header-wrap header,
  .header-wrap > header { display: flex; justify-content: space-between; align-items: center; padding: 14px 0; max-width: 1200px; margin: 0 auto; width: 100%; }
.logo-img { height: 58px; width: auto; display: block; }
.header-right { display: flex; flex-direction: row; align-items: center; gap: 14px; }
.contact-link { display: flex; align-items: center; gap: 10px; text-decoration: none; color: #2D464D; }
.contact-icon { width: 32px; height: 32px; border-radius: 50%; background: #FF5500; display: flex; align-items: center; justify-content: center; color: #fff; flex-shrink: 0; transition: background .2s; }
.contact-icon svg { width: 16px; height: 16px; display: block; }
.contact-link:hover .contact-icon { background: #FF5500; }
.contact-text { font-size: var(--fs-base); font-weight: 700; color: #2D464D; line-height: 1.2; white-space: nowrap; }
@media (max-width: 900px) {
  .header-wrap { padding: 0 16px; }
  .header-wrap header,
  .header-wrap > header { padding: 10px 0; }
  .logo-img { height: 38px; }
  .header-right { gap: 10px; }
  .contact-icon { width: 30px; height: 30px; }
  .contact-icon svg { width: 14px; height: 14px; }
  .contact-link:nth-of-type(2) .contact-text { display: none; }
}
@media (max-width: 480px) {
  .header-right { gap: 8px; }
}
/* /HEADER */

/* HERO */
.hero {
  padding:64px 32px 56px;background:var(--white);
  position:relative;overflow:hidden;border-bottom:1px solid var(--lg);
}
.hero::before {
  content:'';position:absolute;top:-80px;right:-80px;
  width:360px;height:360px;border-radius:50%;
  border:1.5px solid var(--orange);opacity:.06;pointer-events:none;
}
.hero::after {
  content:'';position:absolute;bottom:-60px;right:80px;
  width:180px;height:180px;border-radius:50%;
  background:var(--orange);opacity:.04;pointer-events:none;
}
.hero-inner {max-width:var(--max);margin:0 auto;position:relative;z-index:2;}
.hero-content {max-width:620px;}
.hero h1 {
  font-family:'Museo Sans','Roboto',sans-serif;
  font-size:var(--fs-2xl);font-weight:500;line-height:1.25;
  color:var(--dg);letter-spacing:-.5px;margin-bottom:20px;
  text-wrap:balance;
}
.hero h1 em {color:var(--orange);font-style:normal;}
.hero .subline {
  font-size:var(--fs-base);color:#555;line-height:1.75;
  max-width:540px;margin-bottom:32px;font-weight:400;
}
.btn-primary {
  display:inline-block;background:var(--orange);color:var(--white);
  padding:var(--btn-py) var(--btn-px);border-radius:var(--btn-radius);
  font-size:var(--btn-fs);font-weight:var(--btn-fw);
  text-decoration:none;border:none;cursor:pointer;font-family:var(--font);
  letter-spacing:.2px;transition:all .2s;
  box-shadow:0 2px 14px rgba(255,85,0,.2);
}
.btn-primary:hover {background:#FF5500;transform:translateY(-1px);box-shadow:0 4px 20px rgba(255,85,0,.28);}
.hero-promises {display:flex;gap:22px;flex-wrap:wrap;margin-top:22px;}
.promise {display:flex;align-items:center;gap:7px;font-size:var(--fs-sm);color:var(--mg);}
.promise-dot {
  width:18px;height:18px;border-radius:50%;
  background:var(--orange-l);border:1px solid var(--orange-b);
  display:flex;align-items:center;justify-content:center;
  color:var(--orange);font-size:var(--fs-xs);font-weight:700;flex-shrink:0;
}

/* PRAXIS */
.praxis {background:var(--white);padding:64px 32px;border-bottom:1px solid var(--lg);}
.praxis-inner {
  max-width:760px;margin:0 auto;
  background: var(--white);
  border-radius: 6px;
  padding: 48px 56px 44px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.05);
  border-left: 4px solid var(--orange);
  position: relative;
}
.praxis-label {
  display:inline-block;
  font-size:var(--fs-sm);letter-spacing:2px;color:var(--orange);
  font-weight:700;text-transform:uppercase;margin-bottom:20px;
}
.praxis-label::before {
  content:"";
  display:inline-block;
  width:22px;
  height:1px;
  background:var(--orange);
  vertical-align:middle;
  margin-right:12px;
}
.praxis-text {
  font-size:var(--fs-base);color:var(--dg);line-height:1.75;
  font-weight:400;
}
.praxis-quote {
  display:block;font-size:80px;line-height:0.6;
  color:var(--orange);opacity:.18;font-style:normal;
  position:absolute;top:24px;right:28px;
  font-family: 'Playfair Display', Georgia, serif;
  margin: 0;
}
.praxis-text p {margin-bottom:18px;}
.praxis-text p:last-child {margin-bottom:0;font-weight:500;color:var(--dg);}
.praxis-text p:first-of-type::first-letter {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: var(--fs-2xl);
  font-weight: 700;
  float: left;
  line-height: 0.9;
  margin: 4px 12px 0 0;
  color: var(--orange);
}

/* MID-PAGE-CTA - ruhige Einladung */
.midcta-section {
  background: var(--sand);
  padding: 72px 32px;
  text-align: center;
}
.midcta-inner {
  max-width: 620px;
  margin: 0 auto;
}
.midcta-eyebrow {
  display: inline-block;
  font-size: var(--fs-sm); letter-spacing: 2px; color: var(--orange);
  font-weight: 700; text-transform: uppercase;
  margin-bottom: 14px;
}
.midcta-eyebrow::before {
  content: "";
  display: inline-block;
  width: 22px;
  height: 1px;
  background: var(--orange);
  vertical-align: middle;
  margin-right: 12px;
}
.midcta-headline {
  font-size: var(--fs-lg); font-weight: 500; color: var(--dg);
  line-height: 1.35; letter-spacing: -0.2px;
  margin-bottom: 12px;
}
.midcta-text {
  font-size: var(--fs-base);
  color: #555;
  line-height: 1.7;
  margin-bottom: 28px;
  font-weight: 400;
}
.midcta-phone {
  display: inline-block;
  background: var(--orange);
  color: white;
  padding: var(--btn-py) var(--btn-px);
  border-radius: var(--btn-radius);
  text-decoration: none;
  font-weight: var(--btn-fw);
  font-size: var(--btn-fs);
  letter-spacing: 0.2px;
  transition: all 0.24s;
}
.midcta-phone:hover {
  background: #FF5500;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(255, 85, 0, 0.4);
}
.midcta-buttons {
  display: flex; justify-content: center; gap: 14px;
  flex-wrap: wrap; margin-bottom: 18px;
}
.midcta-mail {
  display: inline-block;
  background: #fff;
  color: var(--dg);
  padding: var(--btn-py) var(--btn-px);
  border-radius: var(--btn-radius);
  text-decoration: none;
  font-weight: 500;
  font-size: var(--btn-fs);
  letter-spacing: 0.2px;
  border: 1.5px solid rgba(0,0,0,0.1);
  transition: all 0.24s;
}
.midcta-mail:hover {
  border-color: var(--orange);
  color: var(--orange);
}
.midcta-trust {
  font-size: var(--fs-sm); color: #666;
  letter-spacing: 1.5px; text-transform: uppercase;
  font-weight: 500;
}
@media (max-width: 640px) {
  .midcta-section { padding: 56px 20px; }
  .midcta-buttons { flex-direction: column; gap: 10px; }
  .midcta-mail { width: 100%; box-sizing: border-box; }
}

/* KONTAKT - SCHLANKE VARIANTE (wie Scheidungsseite) */
.kontakt-zentral {
  max-width: 640px;
  margin: 0 auto;
  text-align: center;
  color: var(--white);
}
.kontakt-h2 {
  font-family: 'Museo Sans', 'Roboto', sans-serif;
  font-size: var(--fs-xl);
  font-weight: 500;
  color: var(--white);
  margin-bottom: 36px;
  letter-spacing: -0.2px;
}
.kontakt-bullets {
  display: flex;
  flex-direction: column;
  gap: 22px;
  margin: 0 auto 36px;
  text-align: left;
  max-width: 540px;
}
.kontakt-bullet {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  font-size: var(--fs-base);
  color: rgba(255,255,255,0.92);
  line-height: 1.65;
}
.kontakt-num {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--orange);
  color: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--fs-xs);
  font-weight: 700;
  margin-top: 2px;
}
.kontakt-promise {
  font-size: var(--fs-base) !important;
  color: rgba(255,255,255,0.85) !important;
  margin: 36px 0 28px !important;
  line-height: 1.65;
}
.kontakt-promise strong { color: var(--white); font-weight: 700; }
.btn-primary-large {
  background: var(--orange);
  color: var(--white);
  padding: var(--btn-py) var(--btn-px);
  border-radius: var(--btn-radius);
  font-size: var(--btn-fs);
  font-weight: var(--btn-fw);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  box-shadow: 0 4px 16px rgba(255,85,0,0.35);
  transition: all 0.2s;
  letter-spacing: 0.2px;
}
.btn-primary-large svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}
.btn-primary-large:hover { transform: translateY(-1px); box-shadow: 0 6px 20px rgba(255,85,0,0.45); }
.kontakt-name {
  font-size: var(--fs-md);
  font-weight: 700;
  margin-top: 28px;
  color: var(--white);
}
.kontakt-role {
  font-size: var(--fs-base);
  color: rgba(255,255,255,0.85);
  margin-top: 6px;
  font-weight: 400;
}
.kontakt-form-divider {
  font-size: var(--fs-sm);
  color: rgba(255,255,255,0.85);
  font-weight: 500;
  margin: 32px 0 18px;
  padding-top: 28px;
  border-top: 1px solid rgba(255,255,255,0.15);
}
.kontakt-form {
  text-align: left;
  max-width: 480px;
  margin: 0 auto;
}
.kontakt-form label {
  display: block;
  font-size: var(--fs-sm);
  font-weight: 500;
  color: rgba(255,255,255,0.85);
  margin-bottom: 5px;
  margin-top: 12px;
}
.kontakt-form input[type="text"],
  .kontakt-form input[type="tel"],
  .kontakt-form textarea {
  width: 100%;
  padding: 11px 14px;
  border: 1px solid rgba(255,255,255,0.2);
  background: rgba(255,255,255,0.05);
  color: var(--white);
  border-radius: 4px;
  font-family: var(--font);
  font-size: var(--fs-sm);
  box-sizing: border-box;
  transition: border-color 0.2s;
}
.kontakt-form input:focus,
  .kontakt-form textarea:focus {
  outline: none;
  border-color: var(--orange);
  background: rgba(255,255,255,0.08);
}
.kontakt-form input::placeholder,
  .kontakt-form textarea::placeholder { color: rgba(255,255,255,0.4); }
.kontakt-form textarea {
  resize: vertical;
  min-height: 80px;
  font-family: var(--font);
}
.kontakt-form .form-privacy {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 16px 0;
  font-size: var(--fs-xs);
  color: rgba(255,255,255,0.7);
}
.kontakt-form .form-privacy input[type=checkbox] {
  margin-top: 0;
}
.kontakt-form .form-privacy label {
  margin: 0;
  line-height: 1.5;
}
.kontakt-form .form-privacy a { color: var(--orange); }
.kontakt-form .form-submit {
  width: 100%;
  background: var(--orange);
  color: var(--white);
  padding: 13px;
  border: none;
  border-radius: 4px;
  font-size: var(--fs-base);
  font-weight: 700;
  cursor: pointer;
  font-family: var(--font);
  letter-spacing: 0.2px;
  transition: background 0.2s;
}
.kontakt-form .form-submit:hover { background: #FF5500; }

/* TRUST BAR */
.trust-bar {background:#2D464D;padding:28px 32px;}
.trust-item-link {
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  transition: opacity 0.2s;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  text-align: center;
}
.trust-item-link:hover { opacity: 0.85; }
.trust-item-link:hover .trust-l { color: var(--orange); }
.trust-inner {
  max-width:var(--max);margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  grid-template-rows: auto auto;
  gap:8px 16px;
}
.trust-item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  text-align:center;
}
.trust-n {font-size:var(--fs-xl);font-weight:700;color:var(--orange);line-height:1.1;display:block;letter-spacing:-.3px;align-self:end;}
.trust-l {font-size:var(--fs-sm);color:rgba(255,255,255,.65);display:block;margin-top:4px;font-weight:400;letter-spacing:.2px;align-self:start;}

/* INTRO MIT FOTO - wie auf Scheidungs-Seite */
.intro-with-photo {
  background: var(--white);
  padding: 64px 32px 56px;
}
.intro-with-photo-inner {
  max-width: 1000px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 48px;
  align-items: start;
}
.intro-photo-wrap {
  width: 280px;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border-radius: 4px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}
.intro-photo-wrap img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center 26%;
  display: block;
}
.intro-text-block { padding-top: 0; }
.intro-text-block h2 {
  font-family: 'Museo Sans', 'Roboto', sans-serif;
  font-size: var(--fs-lg);
  font-weight: 500;
  color: var(--dg);
  letter-spacing: -.3px;
  margin-bottom: 20px;
  line-height: 1.3;
}
.intro-text-block p {
  font-size: var(--fs-base);
  color: #444;
  line-height: 1.75;
  margin-bottom: 16px;
}
.intro-text-block strong { color: var(--dg); font-weight: 700; }
.intro-text-block p a {
  color: var(--orange);
  text-decoration: none;
  border-bottom: 1px solid var(--orange);
  transition: border-color 0.2s, color 0.2s;
  font-weight: 500;
}
.intro-text-block p a:hover {
  border-bottom-color: var(--dg);
}

@media (max-width: 760px) {
  .intro-with-photo { padding: 40px 20px; }
  .intro-with-photo-inner {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .intro-text-block { order: 1; }
  .intro-photo-wrap { order: 2; width: 240px; margin: 0 auto; }
}

/* SECTIONS */
.section {padding:56px 32px;}
.section-inner {max-width:var(--max);margin:0 auto;}
.section-inner.center {text-align:center;}
.section-inner.center .section-lead {margin-left:auto;margin-right:auto;}
.section.sand {background:var(--sand);}
.section.white {background:var(--white);}
.section.dg {background:#2D464D;}
.section.dg#kontakt {padding:96px 32px;}

.section-label {
  font-size:var(--fs-sm);letter-spacing:2px;color:var(--orange);
  font-weight:700;text-transform:uppercase;margin-bottom:10px;
  text-align:center;
}
.section-label::before {
  content:"";
  display:inline-block;
  width:22px;
  height:1px;
  background:var(--orange);
  vertical-align:middle;
  margin-right:12px;
}
.section.dg .section-label {color:rgba(255,255,255,.85);}
.section.dg .section-label::before {background:rgba(255,255,255,.85);}
h2 {font-family:'Museo Sans','Roboto',sans-serif;font-size:var(--fs-xl);font-weight:500;color:var(--dg);margin-bottom:8px;letter-spacing:-.3px;line-height:1.3;}
.section.dg h2 {color:var(--white);}
h3 {font-family:'Museo Sans','Roboto',sans-serif;}
.section-lead {font-size:var(--fs-base);color:var(--mg);margin-bottom:36px;max-width:560px;font-weight:400;line-height:1.65;}
.section.dg .section-lead {color:rgba(255,255,255,.68);}

/* REVIEWS */
.reviews {display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:stretch;}
.review {
  background:var(--white);border:1px solid var(--lg);
  border-radius:10px;padding:22px 20px;
  display:flex;flex-direction:column;
}

.review-stars {color:var(--orange);font-size:var(--fs-sm);letter-spacing:1px;margin-bottom:12px;}
.review-text {font-size:var(--fs-sm);color:#444;line-height:1.65;font-weight:400;margin-bottom:14px;font-style:italic;flex-grow:1;}
.review-cite {font-size:var(--fs-xs);font-weight: 700;color:var(--dg);font-style:normal;}
.review-location {font-size:var(--fs-xs);color:var(--mg);font-weight:400;display:block;margin-top:2px;}

/* ABLAUF */
.steps-row {display:grid;grid-template-columns:repeat(3,1fr);gap:0;position:relative;}
.steps-row::before {
  content:'';position:absolute;top:21px;
  left:calc(16.666% + 21px);right:calc(16.666% + 21px);
  height:2px;background:var(--lg);z-index:0;
}
.step {display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 20px;position:relative;z-index:1;}
.step-num {
  width:42px;height:42px;border-radius:50%;background:var(--orange);color:var(--white);
  font-size:var(--fs-base);font-weight:700;display:flex;align-items:center;justify-content:center;
  margin-bottom:18px;flex-shrink:0;
  box-shadow:0 0 0 6px var(--sand),0 0 0 8px var(--orange-b);
}
.step h3 {font-size:var(--fs-md);font-weight:500;color:var(--dg);margin-bottom:6px;}
.step .step-time {font-size:var(--fs-sm);color:var(--orange);font-weight:700;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:10px;}
.step p {font-size:var(--fs-sm);color:var(--mg);line-height:1.6;}



/* DELIVERABLES */
.deliverables {display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
.deliverable {
  background:var(--white);border:1px solid var(--lg);border-radius:10px;
  border-top:3px solid var(--orange);
  padding:22px;transition:box-shadow .2s;
}
.deliverable:hover {box-shadow:0 4px 16px rgba(0,0,0,.06);}
.deliverable h3 {font-size:var(--fs-md);font-weight:500;color:var(--dg);margin-bottom:6px;}
.deliverable p {font-size:var(--fs-sm);color:var(--mg);line-height:1.6;font-weight:400;}

/* SITUATIONEN */
.situations {display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.situation {
  background:var(--white);border:1px solid var(--lg);border-radius:10px;
  padding:20px 14px;text-align:center;text-decoration:none;color:var(--dg);transition:all .2s;
}
.situation:hover {border-color:var(--orange);background:var(--orange-l);box-shadow:0 4px 16px rgba(255,85,0,.08);}
.situation-icon {display:flex;justify-content:center;margin-bottom:10px;color:var(--orange);}
.situation-icon svg {width:28px;height:28px;}
.situation h3 {font-size:var(--fs-md);font-weight:500;color:var(--dg);margin-bottom:5px;line-height:1.3;}
.situation p {font-size:var(--fs-xs);color:var(--mg);line-height:1.4;font-weight:400;}
.inline-link {color:var(--orange);font-weight:700;text-decoration:none;border-bottom:1px solid var(--orange);transition:opacity .2s;}
.inline-link:hover {opacity:.7;}
.contact-link {display:flex;align-items:center;gap:12px;text-decoration:none;}


.form-privacy {display:flex;align-items:flex-start;gap:8px;margin:14px 0;}
.form-privacy input[type=checkbox] {width:16px;height:16px;accent-color:var(--orange);margin-top:2px;flex-shrink:0;}
.form-privacy label {font-size:var(--fs-xs);color:var(--mg);line-height:1.45;font-weight:400;}
.form-privacy a {color:var(--orange);font-weight:700;}
.form-submit {
  width:100%;background:var(--orange);color:var(--white);border:none;border-radius:6px;
  padding:13px;font-family:var(--font);font-size:var(--fs-base);font-weight: 700;
  cursor:pointer;transition:all .2s;letter-spacing:.2px;
}
.form-submit:hover {background:#FF5500;}

/* FAQ */
.faq-section {background:var(--sand);}
.faq-list {display:flex;flex-direction:column;gap:8px;margin-top:28px;}
.faq-item {
  background:var(--white);border-radius:8px;
  border:1px solid rgba(0,0,0,.07);overflow:hidden;
}
.faq-item:focus-within {
  border-color:var(--orange);
  box-shadow:0 0 0 1px var(--orange);
}
.faq-q:focus-visible {outline:none;}
.faq-q {
  width:100%;text-align:left;
  background:var(--white);border:none;
  font-family:inherit;color:inherit;
  padding:16px 20px;font-weight:500;font-size:var(--fs-base);cursor:pointer;
  display:flex;justify-content:space-between;align-items:center;
  gap:16px;user-select:none;
}
.faq-q:hover {background:#faf8f5;}
.faq-icon {color:var(--orange);font-size:var(--fs-lg);font-weight:300;transition:transform .2s;}
.faq-q[aria-expanded="true"] .faq-icon {transform:rotate(45deg);}
.faq-a {
  padding:0 20px 18px;font-size:var(--fs-sm);color:#555;
  line-height:1.7;background:var(--white);display:none;
}
.faq-q[aria-expanded="true"] + .faq-a {display:block;}

/* RECHTLICHES */

/* RESPONSIVE */
@media(max-width:900px){
  .reviews {grid-template-columns:1fr 1fr;}
  .situations {grid-template-columns:repeat(2,1fr);}
}
@media(max-width:640px){
  header {padding:10px 0;}
  .header-wrap {padding:0 16px;}
  .logo-img {height:36px;}
  .hero {padding:40px 16px 36px;}
  .hero h1 {font-size:var(--fs-xl);}
  .praxis {padding:36px 16px;}
  .praxis-inner {padding:32px 24px;}
  .praxis-quote {top:18px;right:20px;}
  .section {padding:40px 16px;}
  .trust-inner {grid-template-columns:repeat(3,1fr);gap:8px;}
  .reviews {grid-template-columns:1fr;}
  .steps-row {grid-template-columns:1fr;gap:28px;}
  .steps-row::before {display:none;}
  .step {align-items:flex-start;text-align:left;flex-direction:row;gap:16px;}
  .step-num {margin-bottom:0;flex-shrink:0;}
  .deliverables {grid-template-columns:1fr;}
  .situations {grid-template-columns:repeat(2,1fr);}
}


/* === NEUER FOOTER (Personen-Marke,
  7.6.2026) === */
footer {
  background: #fff;
  color: #2D464D;
  padding: 0;
  border-top: 4px solid #FF5500;
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
  line-height: 1.65;
}
.lp-footer-section { max-width: 700px; margin: 0 auto; padding: 64px 32px 48px; text-align: center; }
.lp-footer-brand-block { display: inline-flex; flex-direction: column; align-items: center; margin-bottom: 28px; }
.lp-footer-name { font-family: 'Museo Sans', 'Manrope', sans-serif; font-weight: 700; font-size: 28px; line-height: 1; letter-spacing: 0; color: #2D464D; white-space: nowrap; display: inline-block; }
.lp-footer-name .z { color: #FF5500; }
.lp-footer-identity { font-family: 'Roboto', sans-serif; font-weight: 400; font-style: italic; font-size: 17px; color: #2D464D; line-height: 1.4; margin-top: 12px; white-space: nowrap; display: inline-block; }
.lp-footer-contact-lines { font-size: 14px; color: #808080; line-height: 1.9; }
.lp-footer-contact-lines p { margin: 0; }
.lp-footer-contact-lines a { color: #808080; text-decoration: none; transition: color 0.2s; }
.lp-footer-contact-lines a:hover { color: #2D464D; }
.lp-footer-social { max-width: 700px; margin: 0 auto; padding: 36px 32px; text-align: center; border-top: 1px solid #eee; border-bottom: 1px solid #eee; }
.lp-footer-social h3 { font-family: 'Museo Sans', 'Manrope', sans-serif; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.18em; color: #2D464D; margin-bottom: 22px; position: relative; display: inline-block; padding-left: 32px; }
.lp-footer-social h3::before { content: ''; position: absolute; left: 0; top: 50%; width: 22px; height: 2px; background: #FF5500; transform: translateY(-50%); }
.lp-social-icons { display: flex; justify-content: center; align-items: center; gap: 18px; }
.lp-social-icons a { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; color: #808080; transition: color 0.2s, opacity 0.2s; padding: 11px; margin: -11px; box-sizing: content-box; }
.lp-social-icons a:hover { color: #2D464D; }
.lp-social-icons a.google:hover { opacity: 0.6; }
.lp-social-icons svg { width: 100%; height: 100%; }
.lp-footer-pflicht { background: #F5F3EE; padding: 22px 32px; }
.lp-pflicht-inner { max-width: 1100px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px; }
.lp-pflicht-links { display: flex; gap: 22px; }
.lp-pflicht-links a { font-size: 12px; color: #808080; text-decoration: none; transition: color 0.2s; }
.lp-pflicht-links a:hover { color: #2D464D; }
.lp-pflicht-copyright { font-size: 12px; color: #808080; }
footer a:focus-visible { outline: 2px solid #FF5500; outline-offset: 3px; border-radius: 2px; }
@media (max-width: 700px) {
  .lp-footer-section { padding: 48px 16px 32px; }
  .lp-footer-brand-block { align-items: center; }
  .lp-footer-name {
    font-size: 20px;
    white-space: nowrap;
    text-align: center;
  }
  .lp-footer-identity {
    font-size: 14px;
    white-space: nowrap;
    text-align: center;
    margin-top: 8px;
  }
  .lp-footer-contact-lines { font-size: 13px; }
  .lp-pflicht-inner { flex-direction: column; align-items: flex-start; gap: 12px; }
  .lp-pflicht-links { flex-wrap: wrap; gap: 14px; }
}


  /* Header-Update 18.6.26: neues Lockup + einheitliches Orange + mobil entzerrt */
  .logo-img { height: 44px !important; }
  @media (max-width: 900px) { .logo-img { height: 34px !important; } }
  @media (max-width: 480px) {
    .logo-img { height: 30px !important; }
    .header-right .contact-text { display: none !important; }
  }
  

.klartext-bar {
  display: block;
  background: #2D464D;
  text-decoration: none;
  color: inherit;
  transition: background 0.24s;
}
.klartext-bar:hover { background: #243A40; }
.klartext-bar-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 28px 32px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 36px;
  align-items: center;
}
.klartext-bar-eyebrow {
  position: relative;
  padding-left: 30px;
  font-size: var(--fs-sm);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--orange);
  white-space: nowrap;
}
.klartext-bar-line {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 22px;
  height: 2px;
  background: var(--orange);
}
.klartext-bar-frage {
  font-family: 'Playfair Display', Georgia, serif;
  font-style: italic;
  font-weight: 400;
  font-size: var(--fs-md);
  line-height: 1.3;
  color: #FFFFFF;
}
.klartext-bar-cta {
  font-size: var(--fs-sm);
  font-weight: 700;
  color: #FFFFFF;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.klartext-bar-arrow {
  display: inline-flex;
  align-items: center;
  color: var(--orange);
  transition: transform 0.24s;
}
.klartext-bar-arrow svg {
  width: 28px;
  height: 28px;
}
.klartext-bar:hover .klartext-bar-arrow {
  transform: translateX(4px);
}
@media (max-width: 768px) {
  .klartext-bar-inner {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 24px 24px;
    text-align: left;
  }
}


  .anlass-bar { background: #DEDECE; border-top: 1px solid rgba(0,0,0,0.06); }
  .anlass-bar-inner { max-width: 1100px; margin: 0 auto; padding: 28px 32px;
    display: flex; flex-wrap: wrap; align-items: center; justify-content: center;
    gap: 18px 24px; }
  .anlass-bar .anlass-intro {
    font-family: 'Museo Sans', 'Manrope', sans-serif;
    font-weight: 500; font-size: var(--fs-base); color: var(--dg, #2D464D);
    margin: 0;
  }
  .anlass-bar .anlass-links {
    display: inline-flex; flex-wrap: wrap; align-items: center;
    gap: 6px 18px;
  }
  .anlass-bar a {
    font-family: 'Museo Sans', 'Roboto', system-ui, sans-serif;
    font-weight: 700; font-size: var(--fs-base);
    color: #FF5500; text-decoration: none; letter-spacing: 0.01em;
    transition: opacity 0.15s ease;
  }
  .anlass-bar a:hover { opacity: 0.7; }
  .anlass-bar .anlass-sep { color: #FF5500; opacity: 0.45; font-weight: 700; }
  @media (max-width: 700px) {
    .anlass-bar-inner { padding: 22px 20px; flex-direction: column; gap: 14px; text-align: center; }
    .anlass-bar .anlass-links { flex-direction: column; gap: 14px; align-items: center; }
    .anlass-bar .anlass-sep { display: none; }
  }

/* Customer-requested lift effects; existing icons, borders and colors remain. */
.deliverable,
.faq-item {
  transition: transform 0.3s, box-shadow 0.3s;
}
.kontakt-form .form-submit {
  transition: background 0.2s, transform 0.3s, box-shadow 0.3s;
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .deliverable:hover,
  .situation:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(255, 85, 0, 0.12);
  }
  .faq-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(255, 85, 0, 0.14);
  }
  .faq-item:hover:focus-within {
    box-shadow: 0 0 0 1px var(--orange), 0 12px 32px rgba(255, 85, 0, 0.14);
  }
  .form-submit:not(:disabled):hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(255, 85, 0, 0.3);
  }
  .midcta-mail:hover {
    transform: translateY(-1px);
  }
}

@media (prefers-reduced-motion: no-preference) {
  a.situation:focus-visible {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(255, 85, 0, 0.12);
  }
  .faq-item:has(.faq-q:focus-visible) {
    transform: translateY(-4px);
    box-shadow: 0 0 0 1px var(--orange), 0 12px 32px rgba(255, 85, 0, 0.14);
  }
  .form-submit:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(255, 85, 0, 0.3);
  }
  .midcta-mail:focus-visible {
    transform: translateY(-1px);
  }
}
