/**
 * bootsass:normal — SHARED BASE for the new landing layouts.
 * Scoped under .ms-sdc. Type scale, margins and inner widths mirror the AI design
 * at the AI breakpoints (720 / 1040 / 1280).
 *
 * PADDING: top/bottom band padding is left ENTIRELY to the paragraph's own padding
 * fields / .padding-25 utility on the outer wrapper (you control it there). The
 * component only adds horizontal gutters, and removes the DUPLICATE top/bottom
 * padding that .padding-25 also applies to the .ms-sdc root (so your field value
 * isn't counted twice).
 *
 * Lists badge with an absolute ::before (NOT grid on the <li>) so the editor's
 * "<li><strong>Lead</strong> text</li>" never wraps into the badge column.
 *
 * Display = Recoleta. Body sans = Archivo (the Mulish opt-in was removed 2026-10-07).
 * One font per family — no fallback stacks. Headings use !important because the
 * theme !importants h1/h2/h3.
 */
/* ---------- Tokens (scoped) ---------- */
.ms-sdc {
  --ms-petrol: #007375;
  --ms-petrol-deep: #00585a;
  --ms-petrol-ink: #013e40;
  --ms-teal-light: #6fc3c1;
  --ms-tint: #eaf3f1;
  --ms-ink: #202a2a;
  --ms-ink-soft: #4c5959;
  --ms-ink-faint: #7c8888;
  --ms-hair: #e3e0d9;
  --ms-hair-tint: #cfe2e0;
  --ms-display: 'Recoleta';
  --ms-sans: 'Archivo';

  font-family: var(--ms-sans);
  font-size: 17px;            /* body size: 16 ≤420 · 17 base (421–719) · 18 ≥720 */
  line-height: 1.72;          /* 1.74 ≥720 */
  font-weight: 400;
  font-style: normal;
  letter-spacing: normal;
  word-spacing: normal;
  color: var(--ms-ink);
  text-align: left;
  /* Global font rendering — MUST match the AI body or the sans looks heavier/different. */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  -webkit-text-size-adjust: 100%;
}
.ms-sdc, .ms-sdc * { box-sizing: border-box; }

/* ---------- Horizontal gutters only (= AI .band side padding) ---------- */
.ms-sdc { padding-left: 24px; padding-right: 24px; }
/* Kill ONLY the duplicate top/bottom padding that .padding-25 puts on the root
   (it is also on the outer .paragraph, which is where you control top/bottom). */
.ms-sdc.ms-sdc { padding-top: 0 !important; padding-bottom: 0 !important; }

/* ---------- Centred reading column (= AI .band-in) ---------- */
.ms-sdc__inner { max-width: 432px; margin: 0 auto; }

/* ---------- Eyebrow label (h4) ---------- */
.ms-sdc h4 {
  font-family: var(--ms-sans) !important;
  font-weight: 700 !important;
  font-size: 11.5px !important;
  line-height: 1.4 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: var(--ms-petrol) !important;
  margin: 0 0 14px !important;
}

/* ---------- Section heading (h2) + divider ---------- */
.ms-sdc h2 {
  font-family: var(--ms-display) !important;
  font-weight: 600 !important;
  font-size: 27px !important;
  line-height: 1.2 !important;
  letter-spacing: -0.005em !important;
  color: var(--ms-ink) !important;
  margin: 0 0 26px !important;
  text-wrap: balance;
}
.ms-sdc h2::after {
  content: ""; display: block; width: 38px; height: 2px;
  background: var(--ms-petrol); margin: 16px 0 0;
}

/* ---------- Sub-heading (h3) ---------- */
.ms-sdc h3 {
  font-family: var(--ms-sans) !important;
  font-weight: 700 !important;
  font-size: 19px !important;
  line-height: 1.3 !important;
  letter-spacing: 0.004em !important;
  color: var(--ms-petrol) !important;
  margin: 30px 0 12px !important;
}

/* ---------- Small meta / caption (h5) ---------- */
.ms-sdc h5 {
  font-family: var(--ms-sans); font-weight: 400; font-size: 12px;
  line-height: 1.45; color: var(--ms-ink-faint); margin: 11px 0;
}

/* ---------- Body text ---------- */
.ms-sdc p {
  font-family: var(--ms-sans); font-size: 17px; line-height: 1.72;
  color: var(--ms-ink); margin: 0 0 19px;
}
.ms-sdc p:last-child { margin-bottom: 0; }
.ms-sdc strong { font-weight: 700; color: inherit; }
.ms-sdc a { color: var(--ms-petrol); }
.ms-sdc a:hover { color: #00A194; }

/* first-p-large: enlarge the first paragraph of the body (AI "lead": 18.5 → 21px) */
.ms-sdc.first-p-large .ms-sdc__body > p:first-child { font-size: 18.5px; }

.ms-sdc__header > :first-child,
.ms-sdc__body > :first-child,
.ms-sdc__copy > :first-child { margin-top: 0; }

/* ---------- Media ---------- */
.ms-sdc__media { margin: 26px 0; overflow: hidden; }
.ms-sdc__media picture { display: block; }
.ms-sdc__media img { display: block; width: 100%; height: auto; }

/* ---------- Default ordered list = numbered steps ---------- */
.ms-sdc.ms-sdc ol { list-style: none; counter-reset: msstep; padding: 0; margin: 24px 0 4px; }
.ms-sdc.ms-sdc ol > li {
  counter-increment: msstep; position: relative;
  padding: 20px 0 20px 54px; margin: 0; border-top: 1px solid var(--ms-hair);
  font-family: var(--ms-sans); font-size: 16px; line-height: 1.55; color: var(--ms-ink-soft);
}
.ms-sdc.ms-sdc ol > li:last-child { border-bottom: 1px solid var(--ms-hair); }
.ms-sdc.ms-sdc ol > li::before {
  content: counter(msstep); position: absolute; left: 0; top: 20px;
  width: 34px; height: 34px; border-radius: 50%; background: var(--ms-petrol); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--ms-display); font-weight: 600; font-size: 16px;
}
.ms-sdc.ms-sdc ol > li strong { color: var(--ms-ink); }

/* ---------- Default unordered list = bullets ---------- */
.ms-sdc.ms-sdc ul { padding-left: 20px; margin: 18px 0; }
.ms-sdc.ms-sdc ul > li { margin-bottom: 8px; color: var(--ms-ink); }

/* ---------- Default blockquote = pull quote ---------- */
.ms-sdc blockquote {
  font-style: normal; border: 0; border-left: 3px solid var(--ms-petrol);
  border-radius: 0; padding: 0 0 0 18px; margin: 30px 0 4px; background: transparent;
}
.ms-sdc blockquote p {
  font-family: var(--ms-display); font-weight: 400; font-size: 22px; line-height: 1.4;
  color: var(--ms-petrol-ink); margin: 0;
}

/* ====================================================================
   FLAG STYLES — absolute ::before badges (robust to <strong> + text nodes)
   ==================================================================== */

/* cards-list: ordered list as numbered cards (01 …) */
.ms-sdc.cards-list ol {
  list-style: none; counter-reset: mscard; padding: 0; margin: 24px 0 28px;
  display: grid; grid-template-columns: 1fr; gap: 14px;
}
.ms-sdc.cards-list ol > li {
  counter-increment: mscard; position: relative;
  background: #fff; border: 0; border-radius: 14px; padding: 22px 22px 22px 80px; margin: 0;
  box-shadow: 0 1px 2px rgba(1,62,64,0.05), 0 12px 30px -22px rgba(1,62,64,0.35);
  font-family: var(--ms-sans); font-size: 15px; line-height: 1.62; color: var(--ms-ink-soft);
}
.ms-sdc.cards-list ol > li::before {
  content: counter(mscard, decimal-leading-zero); position: absolute; left: 20px; top: 22px;
  width: 44px; height: 44px; border-radius: 50%; background: var(--ms-tint); color: var(--ms-petrol-deep);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--ms-display); font-weight: 600; font-size: 18px;
}
.ms-sdc.cards-list ol > li strong {
  display: block; color: var(--ms-petrol); font-size: 17px; line-height: 1.3; margin: 7px 0 8px;
}

/* check-list: ✓ items */
.ms-sdc.check-list ul {
  list-style: none; padding: 0; margin: 28px 0 4px; display: flex; flex-direction: column; gap: 15px;
}
.ms-sdc.check-list ul > li {
  position: relative; padding-left: 37px; margin: 0;
  font-size: 15.5px; line-height: 1.5; color: var(--ms-ink);
}
.ms-sdc.check-list ul > li::before {
  content: "\2713"; position: absolute; left: 0; top: 1px; width: 24px; height: 24px; border-radius: 50%;
  border: 1.5px solid rgba(111,195,193,0.6); color: var(--ms-teal-light);
  display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700;
}

/* x-list: ✕ rows (two columns on tablet+) */
.ms-sdc.x-list ul { list-style: none; padding: 0; margin: 22px 0 4px; }
.ms-sdc.x-list ul > li {
  position: relative; padding: 16px 0 16px 40px; margin: 0; border-top: 1px solid var(--ms-hair-tint);
  font-size: 15.5px; line-height: 1.55; color: var(--ms-ink-soft);
}
.ms-sdc.x-list ul > li:last-child { border-bottom: 1px solid var(--ms-hair-tint); }
.ms-sdc.x-list ul > li strong { color: var(--ms-ink); }
.ms-sdc.x-list ul > li::before {
  content: "\2715"; position: absolute; left: 0; top: 15px;
  width: 26px; height: 26px; border-radius: 7px; background: #fff; color: #a85a5a;
  display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 700;
  box-shadow: 0 1px 2px rgba(1,62,64,0.06);
}

/* quote-green: blockquote as the filled petrol callout box */
.ms-sdc.quote-green blockquote {
  background: var(--ms-petrol); color: #fff; border: 0; border-radius: 16px;
  padding: 24px 22px; margin: 28px 0;
}
.ms-sdc.quote-green blockquote p {
  font-family: var(--ms-sans); font-size: 15.5px; line-height: 1.6; color: rgba(255,255,255,0.9); margin: 0;
}
.ms-sdc.quote-green blockquote p:first-child {
  color: var(--ms-teal-light); text-transform: uppercase; letter-spacing: 0.15em;
  font-size: 11.5px; font-weight: 700; margin-bottom: 10px;
}
.ms-sdc.quote-green blockquote p strong { color: #fff; }

/* ====================================================================
   CTA — field_simple_link with .arrow-link
   ==================================================================== */
.ms-sdc__actions { margin-top: 22px; }
.ms-sdc__link, .ms-sdc .type-link { margin: 0; }
.ms-sdc a.arrow-link, .ms-sdc .arrow-link.btn {
  display: flex; align-items: center; gap: 14px; width: 100%;
  background: transparent !important; border: 0 !important;
  border-top: 1px solid var(--ms-hair) !important; border-radius: 0 !important;
  padding: 22px 0 0 !important; margin: 0 !important; box-shadow: none !important;
  color: var(--ms-petrol) !important;
  font-family: var(--ms-display) !important; font-weight: 500 !important;
  font-size: 19px !important; line-height: 1.3 !important; text-align: left; white-space: normal;
}
.no-margin .ms-sdc__actions {
	margin-top: 0 !important;
	padding-top: 30px;
}
.ms-sdc a.arrow-link::after {
  content: "\2192"; flex: none; width: 42px; height: 42px; border-radius: 50%;
  background: var(--ms-petrol); color: #fff; display: flex; align-items: center; justify-content: center;
  font-size: 18px; transition: transform 0.2s ease;
}
.ms-sdc a.arrow-link:hover { color: var(--ms-petrol) !important; }
.ms-sdc a.arrow-link:hover::after { transform: translateX(4px); }

/* ====================================================================
   ON-DARK — light text for petrol bands
   ==================================================================== */
.ms-sdc.on-dark { color: rgba(255,255,255,0.82); }
.ms-sdc.on-dark p { color: rgba(255,255,255,0.82); }
.ms-sdc.on-dark h2 { color: #fff !important; }
.ms-sdc.on-dark h2::after { background: var(--ms-teal-light); }
.ms-sdc.on-dark h3 { color: var(--ms-teal-light) !important; }
.ms-sdc.on-dark h4 { color: var(--ms-teal-light) !important; }
.ms-sdc.on-dark h5 { color: rgba(255,255,255,0.55); }
.ms-sdc.on-dark strong { color: #fff; }
.ms-sdc.on-dark.check-list ul > li { color: rgba(255,255,255,0.9); }
.ms-sdc.on-dark blockquote p { color: var(--ms-teal-light); }
.ms-sdc.on-dark a.arrow-link, .ms-sdc.on-dark .arrow-link.btn {
  color: #fff !important; border-top-color: rgba(255,255,255,0.22) !important;
}
.ms-sdc.on-dark a.arrow-link:hover { color: #fff !important; }
.ms-sdc.on-dark a.arrow-link::after { background: #fff; color: var(--ms-petrol); }

/* ====================================================================
   RESPONSIVE — AI breakpoints (420 / 720 / 1040 / 1280)
   Only horizontal gutters + inner width change here; top/bottom padding
   stays under your padding fields.
   ==================================================================== */
@media (max-width: 420px) {
  .ms-sdc { font-size: 16px; padding-left: 20px; padding-right: 20px; }
  .ms-sdc p { font-size: 16px; }
}

@media (min-width: 720px) {
  .ms-sdc { font-size: 18px; line-height: 1.74; padding-left: 48px; padding-right: 48px; }
  .ms-sdc__inner { max-width: 720px; }

  .ms-sdc h4 { font-size: 12px !important; margin-bottom: 18px !important; }
  .ms-sdc h2 { font-size: 37px !important; margin-bottom: 30px !important; }
  .ms-sdc h2::after { width: 46px; }
  .ms-sdc h3 { font-size: 23px !important; margin-top: 36px !important; }
  .ms-sdc h5 { font-size: 13px; margin: 13px 0; }
  .ms-sdc p { font-size: 18px; line-height: 1.74; }
  .ms-sdc.first-p-large .ms-sdc__body > p:first-child { font-size: 21px; }

  .ms-sdc.ms-sdc ol > li { font-size: 17px; padding: 22px 0 22px 54px; }
  .ms-sdc.ms-sdc ol > li::before { top: 22px; }

  .ms-sdc.cards-list ol { grid-template-columns: 1fr 1fr; gap: 18px; align-items: start; }
  .ms-sdc.cards-list ol > li { padding: 28px 26px 28px 86px; font-size: 15.5px; }
  .ms-sdc.cards-list ol > li::before { left: 26px; top: 28px; }
  .ms-sdc.cards-list ol > li strong { font-size: 18px; }

  .ms-sdc.check-list ul { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 28px; }
  .ms-sdc.check-list ul > li { font-size: 16.5px; }

  .ms-sdc.x-list ul { display: grid; grid-template-columns: 1fr 1fr; gap: 0 32px; }
  .ms-sdc.x-list ul > li { font-size: 16.5px; }
  .ms-sdc.x-list ul > li:nth-child(2) { border-top: 1px solid var(--ms-hair-tint); }

  .ms-sdc.quote-green blockquote { padding: 32px 30px; margin: 34px 0; }
  .ms-sdc.quote-green blockquote p { font-size: 17px; }

  .ms-sdc blockquote { padding-left: 22px; margin: 36px 0 6px; }
  .ms-sdc blockquote p { font-size: 27px; line-height: 1.38; }

  .ms-sdc a.arrow-link, .ms-sdc .arrow-link.btn { font-size: 23px !important; }
  .ms-sdc a.arrow-link::after { width: 48px; height: 48px; }
}

@media (min-width: 1040px) {
  .ms-sdc { padding-left: 56px; padding-right: 56px; }
  .ms-sdc__inner { max-width: 760px; }
  .ms-sdc h2 { font-size: 42px !important; }
  .ms-sdc.cards-list ol { gap: 22px; }
}

@media (min-width: 1280px) {
  .ms-sdc { padding-left: 64px; padding-right: 64px; }
}

/* ====================================================================
   ANIMATION — scroll progress bar + reveal-on-scroll
   ==================================================================== */
#ms-progress {
  position: fixed; top: 0; left: 0; height: 3px; width: 0;
  background: var(--ms-petrol, #007375); z-index: 1100;
  transition: width 0.08s linear; pointer-events: none;
}
.ms-sdc .reveal { transition: opacity 0.6s ease, transform 0.6s ease; }
body.ms-anim .ms-sdc .reveal { opacity: 0; transform: translateY(20px); }
body.ms-anim .ms-sdc .reveal.visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  body.ms-anim .ms-sdc .reveal { opacity: 1; transform: none; transition: none; }
}
@media print { body.ms-anim .ms-sdc .reveal { opacity: 1; transform: none; } }

/* check-chips: <ul> as a single-column list with round mint ✓ chips.
   Dark/mint context (pair with on-dark). Absolute ::before, never grid,
   so "<li><strong>x</strong> text</li>" never wraps into the badge column.
   Reusable by any layout; placed after the base list rules so it wins on
   the equal-specificity tie (same pattern as check-list / x-list). */
.ms-sdc.check-chips ul{ list-style:none; padding:0; margin:0 0 30px; }
.ms-sdc.check-chips ul > li{
  position:relative; padding-left:36px; min-height:23px; margin-bottom:13px;
  color:#EAF5F5; font-size:16px; line-height:1.45;
}
.ms-sdc.check-chips ul > li::before{
  content:"\2713"; position:absolute; left:0; top:1px;
  width:23px; height:23px; border-radius:50%;
  background:rgba(143,224,216,0.16); color:#8FE0D8;
  display:inline-flex; align-items:center; justify-content:center;
  font-weight:700; font-size:12px; line-height:1;
}
@media (max-width:860px){
  .ms-sdc.check-chips ul > li{ font-size:15px; margin-bottom:10px; }
}

/* ====================================================================
   dark-confirm: dark/centred restyle of `normal` for confirmation pages.
   Pair with `on-dark steps-card` + body.ratgeber.danke chrome.
   Self-contained; zero effect on other `normal` bands. Breakpoint 600.
   ==================================================================== */
.ms-sdc--normal.dark-confirm { font-family: 'Archivo'; }
.ms-sdc--normal.dark-confirm .ms-sdc__inner { max-width: 600px; text-align: center; }

/* ✓ success medallion (CSS-drawn; editors can't author SVG) */
.ms-sdc--normal.dark-confirm .ms-sdc__body::before {
  content: ""; display: block; width: 80px; height: 80px; margin: 0 auto 26px;
  border-radius: 50%; border: 1.5px solid rgba(143,224,216,0.4);
  background: rgba(143,224,216,0.14)
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 38 38' fill='none'%3E%3Cpath d='M9 19.5l7 7 13-15' stroke='%238FE0D8' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")
    center / 38px no-repeat;
  animation: ms-danke-pop .5s cubic-bezier(.2,.8,.3,1.2) both;
}
@keyframes ms-danke-pop { from { transform: scale(0); opacity: 0; } to { transform: scale(1); opacity: 1; } }

/* eyebrow (h4 / mark) — Archivo 600, mint, 2px tracking */
.ms-sdc--normal.dark-confirm h4,
.ms-sdc--normal.dark-confirm mark.marker-yellow {
  font-family: 'Archivo' !important; color: #8FE0D8 !important;
  background: none; display: block;
  font-weight: 600 !important; font-size: 12.5px !important;
  letter-spacing: 2px !important; line-height: 1.4 !important;
  text-transform: uppercase !important; margin-bottom: 16px !important;
}

/* title (h2) — white Recoleta 36, no petrol divider */
.ms-sdc--normal.dark-confirm h2 {
  font-family: var(--ms-display) !important; font-weight: 700 !important;
  color: #fff !important; font-size: 36px !important; line-height: 1.18 !important;
  letter-spacing: -0.3px !important; margin-bottom: 16px !important; text-align: center;
}
.ms-sdc--normal.dark-confirm h2::after { display: none !important; }

/* lead = first body <p>; note = last body <p> */
.ms-sdc--normal.dark-confirm .ms-sdc__body > p { font-family: 'Archivo'; color: #CFE6E6; }
.ms-sdc--normal.dark-confirm .ms-sdc__body > p:first-of-type {
  font-size: 17px; line-height: 1.6; margin-bottom: 8px;
}
.ms-sdc--normal.dark-confirm .ms-sdc__body > p:last-of-type {
  font-size: 13.5px; line-height: 1.55; color: #9FC4C4; margin: 0;
}

/* mint link (plain <a> on dark would inherit petrol) */
.ms-sdc--normal.dark-confirm a { color: #8FE0D8; font-weight: 600; text-decoration: none; }
.ms-sdc--normal.dark-confirm a:hover { color: #fff; }

@media (max-width: 600px) {
  .ms-sdc--normal.dark-confirm h2 { font-size: 28px !important; }
  .ms-sdc--normal.dark-confirm .ms-sdc__body > p:first-of-type { font-size: 15.5px; }
}
/* ====================================================================
   steps-card: <h3> + <ol> render as ONE dark glass card.
   The <h3> (typed directly above the <ol>) = card top; the <ol> = card
   body. Mint round number badges. Absolute ::before, never grid (KB).
   Appended AFTER the base ol rules so it wins the specificity ties,
   incl. the base :last-child bottom-border. Reusable on any layout.
   Contract: in a steps-card band the <h3> is the card title and must
   sit directly above the <ol>.
   ==================================================================== */

/* card TOP = the heading */
.ms-sdc.steps-card h3 {
  font-family: var(--ms-display) !important; color: #fff !important;
  font-weight: 600 !important; font-size: 18px !important; line-height: 1.3 !important;
  text-align: left; margin: 30px 0 0 !important;
  background: rgba(255,255,255,0.045);
  border: 1px solid rgba(143,224,216,0.18); border-bottom: 0;
  border-radius: 16px 16px 0 0; padding: 28px 28px 0;
}

/* card BODY = the list */
.ms-sdc.steps-card ol {
  list-style: none; counter-reset: msstep; text-align: left;
  margin: 0 0 30px; padding: 20px 28px 28px;
  background: rgba(255,255,255,0.045);
  border: 1px solid rgba(143,224,216,0.18); border-top: 0;
  border-radius: 0 0 16px 16px;
}
.ms-sdc.steps-card ol > li {
  counter-increment: msstep; position: relative; border: 0;
  padding: 0 0 0 42px; margin: 0 0 18px;
  font-family: 'Archivo';
  font-size: 15.5px; line-height: 1.55; color: #EAF5F5;
}
.ms-sdc.steps-card ol > li:last-child { margin-bottom: 0; border: 0; } /* kills inherited bottom-border */
.ms-sdc.steps-card ol > li::before {
  content: counter(msstep); position: absolute; left: 0; top: 1px;
  width: 28px; height: 28px; border-radius: 50%;
  background: #8FE0D8; color: #07303C;
  display: flex; align-items: center; justify-content: center;
  font-family: 'Archivo'; font-weight: 700; font-size: 14px; line-height: 1;
}
.ms-sdc.steps-card ol > li strong { color: #fff; font-weight: 700; }

@media (max-width: 600px) {
  .ms-sdc.steps-card h3 { padding: 22px 22px 0; }
  .ms-sdc.steps-card ol  { padding: 20px 22px 22px; }
}

/* ====================================================================
   THANK-YOU / ONBOARDING dark-system flags (Archivo + Recoleta).
   Built for Checkout_thankyou.html (KB §18). All generic + reusable.
   Page breakpoint = 820 (this page's own value). Embeds (Vimeo /
   Calendly) are pasted as <iframe> into field_body (source editing) —
   `video-frame` and `embed-card` style any iframe in the band.
   ==================================================================== */

/* --------------------------------------------------------------------
   hero-centered: dark, centred welcome hero. ✓ check-badge medallion
   (reuses the ms-danke-pop keyframe), white Recoleta h1 with an <em>
   mint-italic highlight, muted lead (first <p>) + small caption (last
   <p>). Pair with `on-dark`. Reusable for any dark confirmation hero.
   -------------------------------------------------------------------- */
.ms-sdc--normal.hero-centered { font-family: 'Archivo'; }
.ms-sdc--normal.hero-centered .ms-sdc__inner { max-width: 760px; text-align: center; }

.ms-sdc--normal.hero-centered .ms-sdc__body::before {
  content: ""; display: block; width: 62px; height: 62px; margin: 0 auto 22px;
  border-radius: 50%; border: 1.5px solid rgba(143,224,216,0.4);
  background: rgba(143,224,216,0.15)
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 38 38' fill='none'%3E%3Cpath d='M9 19.5l7 7 13-15' stroke='%238FE0D8' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")
    center / 30px no-repeat;
  animation: ms-danke-pop .5s cubic-bezier(.2,.8,.3,1.2) both;
}

/* h1 — white Recoleta; <em> inside h1 = mint italic highlight */
.ms-sdc--normal.hero-centered h1 {
  font-family: var(--ms-display) !important; font-weight: 700 !important;
  color: #fff !important; font-size: 38px !important; line-height: 1.18 !important;
  letter-spacing: -0.3px !important; margin: 0 0 14px !important; text-align: center; padding: 0 30px;
}
.ms-sdc--normal.hero-centered h1 em {
  color: #8FE0D8; font-style: italic; font-weight: 600; font-family: var(--ms-display);
}

/* lead = first body <p>; caption = last body <p> (sits after the iframe) */
.ms-sdc--normal.hero-centered .ms-sdc__body > p {
  font-family: 'Archivo'; color: #D8ECEC;
}
.ms-sdc--normal.hero-centered .ms-sdc__body > p:first-of-type {
  font-size: 18px; line-height: 1.6; max-width: 600px; margin: 0 auto;
}
.ms-sdc--normal.hero-centered .ms-sdc__body > p:last-of-type {
  font-size: 13px; line-height: 1.45; color: #9FC4C4; margin: 14px auto 0;
}
@media (max-width: 820px) {
  .ms-sdc--normal.hero-centered h1 { font-size: 30px !important; }
}

/* --------------------------------------------------------------------
   video-frame: any <iframe> in the band → responsive 16:9, dark frame.
   No wrapper div needed (uses aspect-ratio). Reusable: Vimeo/YouTube.
   -------------------------------------------------------------------- */
.ms-sdc.video-frame iframe {
  display: block; width: 100%; max-width: 760px; aspect-ratio: 16 / 9; height: auto;
  margin: 36px auto 0; border: 1px solid rgba(143,224,216,0.25); border-radius: 18px;
  background: #06262F; box-shadow: 0 18px 50px rgba(0,0,0,0.35);
}

/* --------------------------------------------------------------------
   centered: generic — centre the column + text, drop the h2 divider.
   Colour/font-agnostic, works light or dark. Reusable anywhere.
   -------------------------------------------------------------------- */
.ms-sdc.centered .ms-sdc__inner { text-align: center; }
.ms-sdc.centered h2::after { display: none !important; }

/* --------------------------------------------------------------------
   steps-grid: <ol> → 3 light cards (1-col ≤820), centred, circle number
   badge on TOP; <strong> = card title, trailing text = description.
   Also sets the band's Archivo type + light header look (teal eyebrow,
   ink Recoleta h2 30px, muted intro). Distinct from `cards-list`
   (2-col, badge on the left). Reusable for any "how it works" row.
   -------------------------------------------------------------------- */
.ms-sdc--normal.steps-grid { font-family: 'Archivo'; }
.ms-sdc--normal.steps-grid .ms-sdc__inner { max-width: 1040px; }

.ms-sdc--normal.steps-grid h4,
.ms-sdc--normal.steps-grid mark.marker-yellow {
  font-family: 'Archivo' !important; color: #007474 !important;
  background: none; display: block;
  font-weight: 600 !important; font-size: 12.5px !important; letter-spacing: 2px !important;
  text-transform: uppercase !important; line-height: 1.4 !important; margin: 0 0 14px !important;
}
.ms-sdc--normal.steps-grid h2 {
  font-family: var(--ms-display) !important; font-weight: 700 !important; color: #243238 !important;
  font-size: 30px !important; line-height: 1.18 !important; letter-spacing: -0.3px !important;
  margin: 0 0 10px !important;
}
.ms-sdc--normal.steps-grid .ms-sdc__body > p {
  font-family: 'Archivo'; color: #5C7B80; font-size: 17px;
  max-width: 620px; margin: 0 auto 40px;
}

/* the 3-card grid (double .ms-sdc to beat the base ol rules cleanly) */
.ms-sdc.ms-sdc.steps-grid ol {
  list-style: none; counter-reset: msstep; padding: 0; margin: 0 0 44px;
  display: grid; grid-template-columns: repeat(3,1fr); gap: 18px;
}
.ms-sdc.ms-sdc.steps-grid ol > li {
  counter-increment: msstep; position: relative; border: 1px solid #E2EDED;
  background: #fff; border-radius: 16px; padding: 26px 22px; margin: 0;
  text-align: center; font-family: 'Archivo';
  font-size: 14px; line-height: 1.5; color: #5C7B80;
}
.ms-sdc.ms-sdc.steps-grid ol > li::before {
  content: counter(msstep); position: static; display: flex; align-items: center; justify-content: center;
  width: 38px; height: 38px; margin: 0 auto 14px; border-radius: 50%;
  background: #F4F8F8; color: #007474; border: 1.5px solid #D6EFEC;
  font-family: var(--ms-display); font-weight: 600; font-size: 17px;
}
.ms-sdc.ms-sdc.steps-grid ol > li strong {
  display: block; color: #243238; font-weight: 700; font-size: 17px; line-height: 1.3; margin: 0 0 6px;
}
@media (max-width: 820px) {
  .ms-sdc--normal.steps-grid h2 { font-size: 25px !important; }
  .ms-sdc.ms-sdc.steps-grid ol { grid-template-columns: 1fr; }
}

/* --------------------------------------------------------------------
   embed-card: a tall embed → the AI white "ty-cal" card (reproduced 1:1).
   The editor pastes `<div class="ty-cal">` wrapping EITHER Calendly's
   inline-widget (`<div class="calendly-inline-widget">` + its own
   `<script>`, format permits it) OR a plain `<iframe>` (restricted-format
   fallback). The card frame is the `.ty-cal` wrapper; the widget / iframe
   inside just fills it (rounded 12). Reusable for Calendly/forms/maps.
   -------------------------------------------------------------------- */
.ms-sdc.embed-card .ty-cal {
	max-width: 760px;
	margin: 0 auto;
	background: #fafafa;
	border: 5px solid #fff;
	border-radius: 18px;
	padding: 8px;
	overflow: hidden;
	padding-bottom: 40px;
}
.ms-sdc.embed-card .ty-cal .calendly-inline-widget { border-radius: 12px; }
.ms-sdc.embed-card .ty-cal iframe {
  display: block; width: 100%; min-height: 700px; border: 0; border-radius: 12px;
}
@media (max-width: 820px) {
  .ms-sdc.embed-card .ty-cal { padding: 4px; }
}

/* --------------------------------------------------------------------
   facts-row: <ul> → inline, centred, wrapping fact chips with emoji.
   Petrol bold labels, no bullets. Reusable for any trust/fact strip.
   -------------------------------------------------------------------- */
.ms-sdc--normal.facts-row { font-family: 'Archivo'; }
.ms-sdc--normal.facts-row .ms-sdc__inner { max-width: 860px; }
.ms-sdc.ms-sdc.facts-row ul {
  list-style: none; padding: 0; margin: 0;
  display: flex; gap: 30px; justify-content: center; flex-wrap: wrap;
}
.ms-sdc.ms-sdc.facts-row ul > li {
  display: flex; align-items: center; gap: 10px; margin: 0;
  color: #0B3C49; font-size: 15px; font-weight: 600; line-height: 1.4;
}

/* ====================================================================
   PORTRAIT PAGE flags (Pascal Bartosch, KB §19). Archivo + Recoleta
   dark/light system, breakpoint 820. `timeline`, `final-cta` are dark
   (own their gradient + vertical padding; editor sets padding fields = 0
   + field_background_color #07303C). `quote-gold`, `icon-cards`,
   `contact-cards` are light (bg + padding via the paragraph fields).
   All pair with `centered` (header centring + h2-divider removal) except
   `contact-cards`, which rides the hero `founder` flag.
   ==================================================================== */

/* Shared light header (teal Archivo eyebrow + petrol Recoleta h2 33) */
.ms-sdc--normal.quote-gold,
.ms-sdc--normal.icon-cards { font-family: 'Archivo'; }
/* This page uses constant 24px gutters + its own column widths (AI .narrow
   760 / .wrap 1080) — override the base 720/1040/1280 gutters + inner widths
   so tablet/desktop match the 820 system (not the standard-page 720/1040). */
.ms-sdc--normal.quote-gold,
.ms-sdc--normal.icon-cards { padding-left: 24px !important; padding-right: 24px !important; }
.ms-sdc--normal.quote-gold .ms-sdc__inner { max-width: 760px; }
.ms-sdc--normal.icon-cards .ms-sdc__inner { max-width: 1080px; }
.ms-sdc--normal.quote-gold h4,
.ms-sdc--normal.icon-cards h4,
.ms-sdc--normal.quote-gold mark.marker-yellow,
.ms-sdc--normal.icon-cards mark.marker-yellow {
  font-family: 'Archivo' !important; color: #007474 !important; background: none;display: block;
  font-weight: 600 !important; font-size: 12.5px !important; letter-spacing: 2px !important;
  text-transform: uppercase !important; line-height: 1.4 !important; margin: 0 0 14px !important;
}
.ms-sdc--normal.quote-gold h2,
.ms-sdc--normal.icon-cards h2 {
  font-family: var(--ms-display) !important; font-weight: 700 !important; color: #0B3C49 !important;
  font-size: 33px !important; line-height: 1.18 !important; letter-spacing: -0.3px !important;
  margin: 0 0 14px !important;
}
@media (max-width: 820px) {
  .ms-sdc--normal.quote-gold h2,
  .ms-sdc--normal.icon-cards h2 { font-size: 27px !important; }
}

/* --------------------------------------------------------------------
   timeline: dark milestone list (pair `on-dark centered timeline`).
   Header centred; each milestone = <h3> with a leading <strong>YEAR</strong>
   (rendered as the mint year-pill) + white Recoleta title, then a muted <p>
   description indented to sit under the title. Owns its gradient + padding.
   -------------------------------------------------------------------- */
.ms-sdc--normal.timeline{
  font-family: 'Archivo';
  background: linear-gradient(160deg, #07303C, #0B3C49 60%, #0A5E66);
  padding-left: 24px !important; padding-right: 24px !important;
}
.ms-sdc.ms-sdc.timeline{ padding-top: 72px !important; padding-bottom: 72px !important; }
.ms-sdc--normal.timeline .ms-sdc__inner{ max-width: 760px; }
/* header */
.ms-sdc--normal.timeline h4, .ms-sdc--normal.timeline mark.marker-yellow {
  font-family: 'Archivo' !important; color: #8FE0D8 !important;background: none;display: block;
  font-weight: 600 !important; font-size: 12.5px !important; letter-spacing: 2px !important;
  text-transform: uppercase !important; line-height: 1.4 !important; margin: 0 0 14px !important;
}
.ms-sdc--normal.timeline h2{
  font-family: var(--ms-display) !important; font-weight: 700 !important; color: #fff !important;
  font-size: 33px !important; line-height: 1.18 !important; letter-spacing: -0.3px !important;
  margin: 0 0 14px !important;
}
.ms-sdc--normal.timeline .ms-sdc__body > p:first-of-type{
  font-family: 'Archivo'; color: #D8ECEC; font-size: 19px; line-height: 1.6;
  max-width: 680px; margin: 0 auto; text-align: center;
}
/* milestone title (h3 = pill + title) */
.ms-sdc--normal.timeline .ms-sdc__body h3{
  display: flex; align-items: flex-start; gap: 20px; text-align: left;
  font-family: var(--ms-display) !important; font-weight: 700 !important; color: #fff !important;
  font-size: 20px !important; line-height: 1.3 !important; letter-spacing: -0.3px !important;
  margin: 32px 0 6px !important;
}
.ms-sdc--normal.timeline .ms-sdc__body h3 strong{
  flex: none; min-width: 82px; padding: 14px 12px; border-radius: 999px; line-height: 1;
  background: rgba(143,224,216,0.14); border: 1px solid rgba(143,224,216,0.35); color: #8FE0D8;
  font-family: var(--ms-display); font-weight: 700; font-size: 16px; text-align: center;
}
/* milestone description */
.ms-sdc--normal.timeline .ms-sdc__body h3 + p{
  color: #D8ECEC; font-size: 18px; line-height: 1.6; text-align: left; margin: -20px 0 0 102px;
}
@media (max-width: 820px){
  .ms-sdc.ms-sdc.timeline{ padding-top: 54px !important; padding-bottom: 54px !important; }
  .ms-sdc--normal.timeline h2{ font-size: 27px !important; }
  .ms-sdc--normal.timeline .ms-sdc__body h3{ gap: 14px; }
  .ms-sdc--normal.timeline .ms-sdc__body h3 + p{ margin: 0px 0 0 96px; }
}

/* --------------------------------------------------------------------
   quote-gold: white pull-quote card, gold left border, Recoleta italic;
   last <p> inside = byline (Archivo, non-italic, muted). Pair `centered`.
   -------------------------------------------------------------------- */
.ms-sdc--normal.quote-gold .ms-sdc__body > p:first-of-type{
  font-family: 'Archivo'; color: #243238; font-size: 19px; line-height: 1.6;
  max-width: 680px; margin: 0 auto; text-align: center;
}
.ms-sdc--normal.quote-gold blockquote{
  background: #fff; border: 0; border-left: 4px solid #F2C14E; border-radius: 0 14px 14px 0;
  padding: 24px 28px; margin: 40px auto 0; max-width: 680px; text-align: left;
}
.ms-sdc--normal.quote-gold blockquote p{
  font-family: var(--ms-display); font-style: italic; font-weight: 400; color: #0B3C49;
  font-size: 19px; line-height: 1.6; margin: 0 0 14px;
}
.ms-sdc--normal.quote-gold blockquote p:last-child{
  font-family: 'Archivo'; font-style: normal; color: #5C7B80;
  font-size: 15px; line-height: 1.5; margin: 14px 0 0;
}

/* --------------------------------------------------------------------
   icon-cards: <ul> → 2-col white cards (1-col ≤820), left-aligned; each
   <li> starts with a typed emoji + a petrol <strong> lead-in. Pair `centered`.
   Doubled .ms-sdc.ms-sdc to beat the base ul rules cleanly.
   -------------------------------------------------------------------- */
.ms-sdc.ms-sdc.icon-cards ul{
  list-style: none; padding: 0; margin: 40px 0 0;
  display: grid; grid-template-columns: repeat(2,1fr); gap: 16px;
}
.ms-sdc.ms-sdc.icon-cards ul > li{
  background: #fff; border: 1px solid #E2EDED; border-radius: 14px; margin: 0;
  /* Hanging indent = fake icon column: the typed leading emoji hangs in a 30px
     left slot; wrapped body lines align in the right column (can't flex/grid the
     <li> — that would split the <strong>+text into extra columns). */
  padding: 20px 22px 20px 52px; text-indent: -30px;
  font-family: 'Archivo'; font-size: 18px; line-height: 1.6; color: #243238; text-align: left;
}
.ms-sdc.ms-sdc.icon-cards ul > li strong{ color: #0B3C49; font-weight: 700; }
@media (max-width: 820px){
  .ms-sdc.ms-sdc.icon-cards ul{ grid-template-columns: 1fr; }
}

/* --------------------------------------------------------------------
   contact-cards: <ul> → stacked white cards; each <li>'s leading <strong>
   becomes the uppercase teal card label (block), rest = value; mailto teal.
   Rides the hero `founder` band (S6). Doubled .ms-sdc.ms-sdc to beat base ul.
   -------------------------------------------------------------------- */
.ms-sdc.ms-sdc.contact-cards ul{ list-style: none; padding: 0; margin: 24px 0 0; }
.ms-sdc.ms-sdc.contact-cards ul > li{
  background: #fff; border: 1px solid #E2EDED; border-radius: 18px; padding: 24px 26px; margin: 0 0 16px;
  font-family: 'Archivo'; font-size: 18px; line-height: 1.5; color: #243238;
}
.ms-sdc.ms-sdc.contact-cards ul > li:last-child{ margin-bottom: 0; }
.ms-sdc.contact-cards ul > li strong{
  display: block; font-family: 'Archivo'; font-weight: 700; font-size: 14px;
  letter-spacing: 1px; text-transform: uppercase; color: #007474; margin: 0 0 8px;
}
.ms-sdc.contact-cards ul > li a{
  color: #007474; text-decoration: none; border-bottom: 1px solid rgba(0,116,116,0.3);
}

/* --------------------------------------------------------------------
   final-cta: dark centred CTA band (pair `on-dark centered final-cta`).
   Two Simple Link anchors keyed by field_css_tag: a.cta-gold (gold fill)
   + a.cta-ghost (outline). Owns its gradient + vertical padding.
   -------------------------------------------------------------------- */
.ms-sdc--normal.final-cta{
  font-family: 'Archivo';
  background: linear-gradient(160deg, #07303C, #0A5E66);
  padding-left: 24px !important; padding-right: 24px !important;
}
.ms-sdc.ms-sdc.final-cta{ padding-top: 72px !important; padding-bottom: 72px !important; }
.ms-sdc--normal.final-cta .ms-sdc__inner{ max-width: 1080px; }
.ms-sdc--normal.final-cta h2{
  font-family: var(--ms-display) !important; font-weight: 700 !important; color: #fff !important;
  font-size: 34px !important; line-height: 1.18 !important; letter-spacing: -0.3px !important;
  margin: 0 0 16px !important;
}
.ms-sdc--normal.final-cta p{
  font-family: 'Archivo' !important; color: #D8ECEC !important;
  font-size: 18px !important; line-height: 1.6 !important; max-width: 600px; margin: 16px auto 0 !important; text-align: center;
}
/* CTA row = the two .ms-sdc__link wrappers */
.ms-sdc--normal.final-cta .ms-sdc__actions{
  display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; margin-top: 32px;
}
.ms-sdc--normal.final-cta .ms-sdc__link{ margin: 0; }
/* both buttons — reset to the AI btn base (beats theme .btn/.btn-lg/.btn-default) */
.ms-sdc.final-cta .ms-sdc__link a.simple-link{
  display: inline-block; font-family: 'Archivo' !important; font-weight: 700 !important;
  font-size: 17px !important; text-decoration: none !important; text-align: center;
  border-radius: 11px !important; padding: 17px 30px !important; margin: 0 !important;
  border: 1.5px solid transparent !important; box-shadow: none;
  transition: transform .12s, box-shadow .2s, background .15s, border-color .15s, color .15s;
}
/* gold */
.ms-sdc.final-cta a.cta-gold{
  background: #F2C14E !important; color: #07303C !important; border-color: #F2C14E !important;
  box-shadow: 0 6px 20px rgba(242,193,78,0.3) !important;
}
.ms-sdc.final-cta a.cta-gold:hover{
  background: #E0A92F !important; color: #07303C !important; transform: translateY(-1px);
  box-shadow: 0 9px 26px rgba(242,193,78,0.4) !important;
}
/* ghost */
.ms-sdc.final-cta .ms-sdc__link a.simple-link.cta-ghost{
  background: transparent !important; color: #fff !important; border-color: rgba(255,255,255,0.35) !important;
}
.ms-sdc.final-cta .ms-sdc__link a.simple-link.cta-ghost:hover{
  color: #8FE0D8 !important; border-color: #8FE0D8 !important; background: transparent !important;
}
@media (max-width: 820px){
  .ms-sdc.ms-sdc.final-cta{ padding-top: 54px !important; padding-bottom: 54px !important; }
  .ms-sdc--normal.final-cta h2{ font-size: 27px !important; }
}

/* --------------------------------------------------------------------
   highlight-box: a trailing <blockquote> in a dark band → mint-translucent
   rounded callout. First <p> = big Recoleta white; following <p> = small
   Archivo caption. Pair `on-dark centered timeline`. Placed after the
   on-dark blockquote rules so its (0,2,2) p rules win the source-order tie.
   -------------------------------------------------------------------- */
.ms-sdc--normal.highlight-box blockquote{
  background: rgba(143,224,216,0.10); border: 1px solid rgba(143,224,216,0.30);
  border-radius: 16px; padding: 26px 30px; margin: 36px auto 0; max-width: 760px; text-align: center;
}
.ms-sdc--normal.highlight-box blockquote p{
  font-family: var(--ms-display); font-weight: 600; font-style: normal; color: #fff;
  font-size: 20px; line-height: 1.4; margin: 0;
}
.ms-sdc--normal.highlight-box blockquote p + p{
  font-family: 'Archivo'; font-weight: 400; color: #C5DEDE;
  font-size: 15px; line-height: 1.5; margin: 10px 0 0;
}

/* --------------------------------------------------------------------
   wide-last: generic grid modifier — the last card of a 2-col grid list
   spans the full row. Reusable on any odd-count `icon-cards`/`steps-grid`.
   Doubled .ms-sdc.ms-sdc to match the icon-cards grid weight.
   -------------------------------------------------------------------- */
.ms-sdc.ms-sdc.wide-last ul > li:last-child{ grid-column: 1 / -1; }

/* ====================================================================
   GOOGLE-ADS LP "Gedankenkarussell endlich stoppen" — the gk-* flags.
   Source: google-ads-gedankenkarussell-stoppen-landingpage-v1.html
   Breakpoint: 900 ONLY (this page's own value).

   UNITS: px, NEVER rem. The AI page is authored in rem against a 16px root,
   but this site sets the 62.5% trick — **html font-size = 10px** — so every
   rem here would render at 62.5% of intended (h1 31px instead of 49.6px).
   The AI's rem values are therefore converted x16 into px (.7rem -> 11.2px,
   1.06rem -> 16.96px, clamp(2rem,4.6vw,3.1rem) -> clamp(32px,4.6vw,49.6px)).
   `em` and `vw` are unaffected. This is why the house type scale is all px.

   gk-hook / gk-rating / gk-rest are the three copy bands that sit INSIDE
   the dark rounded hero card. The card itself, and the desktop 2-column
   placement next to the webform, are page chrome (`body.lp-gk` in
   style.css) — a paragraph-level grid, because a webform can never live
   inside an SDC. These flags therefore drop the SDC's own horizontal
   gutter and reading-column cap: the grid owns the inset.
   ==================================================================== */
/* ---- FONTS: one lever (token remap) ------------------------------------
   The AI page's Georgia maps to our Recoleta, its system-sans to our Archivo
   (see CLAUDE.md §"HTML-font → house-font map"). `body.lp-gk` sets
   `--gk-display: 'Recoleta'` and `--gk-sans: 'Archivo'`; rather than restate
   font-family on every selector, remap the two tokens the component already
   reads here, so the whole band re-fonts from these two lines. The var()
   fallback keeps the flags reusable on any page without `lp-gk`. */
.ms-sdc--normal.gk-hook,
.ms-sdc--normal.gk-rating,
.ms-sdc--normal.gk-rest,
.ms-sdc--normal.gk-forwho{
  --ms-display: var(--gk-display, 'Recoleta');
  --ms-sans: var(--gk-sans, 'Archivo');
}

/* Kill the shared base's horizontal gutter on ALL FOUR gk bands. The base is
   24px, and — easy to miss — it grows to 56px at >=1040 (`@media (min-width:1040px)
   .ms-sdc{padding:0 56px}`, the standard 720/1040/1280 pages' gutter). This page
   is not on that scale: the AI's 24px wrap padding already lives on the grid
   container, so any SDC gutter is double-counting. Leaving it on gk-forwho cost
   the card grid 112px (892 instead of the AI's 940). */
.ms-sdc--normal.gk-hook,
.ms-sdc--normal.gk-rating,
.ms-sdc--normal.gk-rest,
.ms-sdc--normal.gk-forwho{
  padding-left: 0; padding-right: 0;
}
.ms-sdc--normal.gk-hook .ms-sdc__inner,
.ms-sdc--normal.gk-rating .ms-sdc__inner,
.ms-sdc--normal.gk-rest .ms-sdc__inner{ max-width: none; margin: 0; }

/* --------------------------------------------------------------------
   gk-hook: the hero hook — mint eyebrow (h4), Recoleta-italic mint
   kicker (h3), white Recoleta h1 + the gold rule (h1::after — the rule
   is decoration, not content), muted lead (p). Pair `on-dark`.
   -------------------------------------------------------------------- */
.ms-sdc--normal.gk-hook h4{
  font-family: var(--ms-sans) !important; font-weight: 700 !important;
  font-size: 11.2px !important; line-height: 1.6 !important;
  letter-spacing: .22em !important; text-transform: uppercase !important;
  color: #7FCFC0 !important; margin: 0 !important;
}
.ms-sdc--normal.gk-hook h3{
  font-family: var(--ms-display) !important; font-style: italic !important;
  font-weight: 400 !important; font-size: 17.92px !important; line-height: 1.4 !important;
  letter-spacing: normal !important; color: #7FCFC0 !important; margin: 14px 0 0 !important;
}
.ms-sdc--normal.gk-hook h1{
  font-family: var(--ms-display) !important; font-weight: 700 !important;
  font-size: clamp(32px, 4.6vw, 49.6px) !important; line-height: 1.18 !important;
  letter-spacing: -.01em !important; color: #fff !important;
  margin: 10px 0 0 !important; text-align: left !important;
}
/* the gold .rule — 60x4 under the headline */
.ms-sdc--normal.gk-hook h1::after{
  content: ""; display: block; width: 60px; height: 4px;
  background: #F0B93F; border-radius: 2px; margin: 22px 0;
}
.ms-sdc--normal.gk-hook p{
  color: #C9DBD9; font-size: 16.96px; line-height: 1.6; margin: 0 0 14px;
}
.ms-sdc--normal.gk-hook p:last-child{ margin-bottom: 0; }

/* --------------------------------------------------------------------
   gk-rating: the ★ rating line. <em> is the authorable hook for the
   stars (CKEditor italic) — reset to upright + gold, never italic.
   Pair `on-dark`.
   -------------------------------------------------------------------- */
.ms-sdc--normal.gk-rating p{
  color: #B9CFCD; font-size: 13.92px; line-height: 1.6; margin: 20px 0 0;
}
.ms-sdc--normal.gk-rating em{
  font-style: normal; color: #F0B93F; letter-spacing: 2px;
}
.ms-sdc--normal.gk-rating strong{ color: #fff; }
/* <mark> = the authorable hook for the AI's `.rating-long` span (" · Hervorragend"),
   which the AI DROPS on mobile to keep the line short. An editor cannot add a class,
   so <mark> carries it; reset its default yellow highlight and inherit everything. */
.ms-sdc--normal.gk-rating mark{
  background: none; color: inherit; font: inherit;
}

/* --------------------------------------------------------------------
   gk-rest: closing hero copy + <ul> → outlined pill badges (inline,
   wrapping). Distinct from `check-chips` (mint ✓, single column) and
   `facts-row` (light emoji chips). Pair `on-dark`.
   Doubled .ms-sdc.ms-sdc to beat the base list rules (0,2,1)/(0,2,2).
   -------------------------------------------------------------------- */
.ms-sdc--normal.gk-rest p{
  color: #C9DBD9; font-size: 16.96px; line-height: 1.6; margin: 0;
}
.ms-sdc.ms-sdc.gk-rest ul{
  list-style: none; padding: 0; margin: 26px 0 0;
  display: flex; flex-wrap: wrap; gap: 8px;
}
.ms-sdc.ms-sdc.gk-rest ul > li{
  margin: 0; padding: 6px 13px; border-radius: 999px;
  border: 1px solid rgba(255,255,255,.26); color: #D6E6E4;
  font-size: 12px; line-height: 1.6;
}

/* --------------------------------------------------------------------
   gk-forwho: the light "Für wen" band — teal eyebrow + centred ink
   Recoleta h2, <ul> → 3-col soft cards (leading <strong> = serif card
   title, trailing text = description), trailing <p> = the centred note,
   and the gold Simple Link (a.cta-gold). Pair `centered`.
   Distinct from `icon-cards` (2-col, emoji, no card title font switch).
   -------------------------------------------------------------------- */
.ms-sdc--normal.gk-forwho .ms-sdc__inner{ max-width: 940px; }
.ms-sdc--normal.gk-forwho h4{
  font-family: var(--ms-sans) !important; font-weight: 700 !important;
  font-size: 11.2px !important; line-height: 1.6 !important;
  letter-spacing: .22em !important; text-transform: uppercase !important;
  color: #2E7F7B !important; margin: 0 !important;
}
.ms-sdc--normal.gk-forwho h2{
  font-family: var(--ms-display) !important; font-weight: 700 !important;
  font-size: clamp(24px, 3vw, 32.8px) !important; line-height: 1.25 !important;
  letter-spacing: normal !important; color: #0F3D45 !important;
  max-width: 620px; margin: 12px auto 32px !important;
  /* The base .ms-sdc h2 sets `text-wrap:balance`; the AI does not. This heading
     wraps to 2 lines in BOTH (the text is 666.6px in a 620px box), but balance
     evens the lines out ("Dieser Ratgeber ist / für dich, wenn du …") while the
     AI wraps greedily. Match the AI. */
  text-wrap: wrap;
}
/* the 6 cards */
.ms-sdc.ms-sdc.gk-forwho ul{
  list-style: none; padding: 0; margin: 0 auto; max-width: 940px; text-align: left;
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px;
}
.ms-sdc.ms-sdc.gk-forwho ul > li{
  margin: 0; padding: 20px; border-radius: 14px;
  background: #F1F6F5; border: 1px solid #DCE7E5;
  font-size: 13.6px; line-height: 1.6; color: #516B70;
}
.ms-sdc.ms-sdc.gk-forwho ul > li strong{
  display: block; font-family: var(--ms-display); font-weight: 700;
  font-size: 15.68px; line-height: 1.4; color: #0F3D45; margin: 0 0 7px;
}
/* the closing note */
.ms-sdc.ms-sdc.gk-forwho .ms-sdc__body > p{
  max-width: 680px; margin: 32px auto 0;
  font-size: 15.2px; line-height: 1.6; color: #44585E;
}
.ms-sdc.ms-sdc.gk-forwho .ms-sdc__body > p strong{ color: #0F3D45; }
/* the gold CTA — reset to the AI .fw-cta (beats theme .btn/.btn-default) */
.ms-sdc--normal.gk-forwho .ms-sdc__actions{
  display: flex; justify-content: center; margin-top: 24px;
}
.ms-sdc--normal.gk-forwho .ms-sdc__link{ margin: 0; }
.ms-sdc.gk-forwho .ms-sdc__link a.simple-link{
  display: inline-block; font-family: var(--ms-sans) !important; font-weight: 800 !important;
  font-size: 15.68px !important; line-height: 1.6 !important;
  text-decoration: none !important; text-align: center;
  border: none !important; border-radius: 10px !important;
  padding: 15px 34px !important; margin: 0 !important; box-shadow: none;
  transition: filter .15s;
}
.ms-sdc.gk-forwho a.cta-gold{
  background: #F0B93F !important; color: #0A2E35 !important;
}
.ms-sdc.gk-forwho a.cta-gold:hover{
  filter: brightness(1.06); color: #0A2E35 !important; background: #F0B93F !important;
}

/* ---------------- gk-* — mobile (the page's only breakpoint) --------- */
@media (max-width: 900px){
  .ms-sdc--normal.gk-hook h4{ font-size: 10.08px !important; letter-spacing: .18em !important; }
  .ms-sdc--normal.gk-hook h3{ font-size: 14.72px !important; line-height: 1.4 !important; margin: 7px 0 0 !important; }
  .ms-sdc--normal.gk-hook h1{ font-size: 29.12px !important; }
  .ms-sdc--normal.gk-hook h1::after{ width: 48px; height: 3px; margin: 12px 0; }
  .ms-sdc--normal.gk-hook p{ font-size: 15.52px; line-height: 1.55; margin-bottom: 0; }

  /* The AI centres the rating on mobile — not by intent but because its mobile
     `.grid` overrides only display/flex-direction/gap, so the desktop
     `align-items:center` survives into a flex COLUMN and centres on the
     horizontal axis. The short rating line shrinks to its content and lands
     centred; the taller bands fill the width and look unaffected. Reproduced
     here as text-align, which is what it renders as. */
  .ms-sdc--normal.gk-rating p{ font-size: 12.16px; color: #A9C6C3; margin: 14px 0 0; text-align: center; }
  /* the AI hides `.rating-long` (" · Hervorragend") here — the line has to stay short */
  .ms-sdc--normal.gk-rating mark{ display: none; }

  /* NOTE: gk-rest p is deliberately NOT resized here. The AI shrinks only
     `.hook .copy` on mobile (.97rem); `.rest .copy` keeps its 1.06rem/1.6.
     An earlier build applied the hook's mobile size to both and made this
     paragraph a step too small. */
  .ms-sdc.ms-sdc.gk-rest ul{ margin-top: 18px; }

  .ms-sdc.ms-sdc.gk-forwho ul{ grid-template-columns: 1fr; }
}

/* ====================================================================
   DANKE-SEITE „Gedankenkarussell stoppen" — gk-confirm / gk-nexthead /
   gk-meta.  Sibling of the four LP flags above: same campaign, same
   palette, same single 900px breakpoint.
   Source: Ratgeber-Gedankenkarussell-Dankeseite-v1.html
   Spec:   docs/Ratgeber_Gedankenkarussell_Danke_Mapping.md
   The page carries NO body class — header/footer are out of scope and
   both cards are painted by their own flag, so nothing is left for page
   chrome to do. (The LP needs `lp-gk` only because four paragraphs there
   share one card; here one paragraph = one card.)
   ==================================================================== */

/* Fonts for BOTH pages of this funnel map to house faces: the AI's Georgia →
   Recoleta, its system-sans → Archivo (see CLAUDE.md §"HTML-font → house-font
   map"). The LP ships them via `body.lp-gk`; this page has no body class, so the
   house faces ride the flags as the var() FALLBACK (`body.lp-gk` still wins where
   it exists). One font per token — no OS fonts, no fallback stacks. */
.ms-sdc--normal.gk-confirm,
.ms-sdc--normal.gk-nexthead,
.ms-sdc--normal.gk-meta{
  --ms-display: var(--gk-display, 'Recoleta');
  --ms-sans: var(--gk-sans, 'Archivo');
  font-family: var(--ms-sans);
}

/* Reproduce the AI's `.wrap` (max-width 1060, padding 0 24px). The base gutter
   is already 24px but GROWS to 56px at >=1040 (the standard 720/1040/1280
   pages' scale, which this page is not on). Pinning 24px keeps the card at the
   AI's 1012px content box between 1040 and ~1124 viewport, where the base would
   otherwise shave 32px off it. (0,2,0) beats the base (0,1,0) at any width.
   NB: this is the OPPOSITE of the LP flags, which zero the gutter — there the
   AI's 24px wrap padding lives on the `lp-gk` grid container instead. */
.ms-sdc--normal.gk-confirm,
.ms-sdc--normal.gk-nexthead,
.ms-sdc--normal.gk-meta{
  padding-left: 24px; padding-right: 24px;
}

/* --------------------------------------------------------------------
   gk-confirm: the confirmation band — a CONTAINED dark card (#0A2E35,
   radius 22) on the white page, not a full-bleed band. The card is
   painted on .ms-sdc__inner and the AI's 620 column on .ms-sdc__body:
   a 1:1 match for the source's `.hero > .inner`.
   ✓ medallion = .ms-sdc__body::before · gold rule = h1::after (the
   gk-hook technique) · mailbox note = <blockquote>. Pair `on-dark`.
   -------------------------------------------------------------------- */
.ms-sdc--normal.gk-confirm .ms-sdc__inner{
  max-width: 1012px; margin: 0 auto;
  background: #0A2E35; border-radius: 22px; padding: 52px 48px;
  position: relative; overflow: hidden; text-align: center;
}
/* the mint glow — AI: .hero::before */
.ms-sdc--normal.gk-confirm .ms-sdc__inner::before{
  content: ""; position: absolute; right: -120px; top: -80px;
  width: 520px; height: 520px; border-radius: 50%;
  background: radial-gradient(circle, rgba(127,207,192,.15), transparent 65%);
  pointer-events: none;
}
/* the AI's `.inner` — the 620 column, above the glow */
.ms-sdc--normal.gk-confirm .ms-sdc__body{
  position: relative; z-index: 1;
  max-width: 620px; margin: 0 auto; text-align: center;
}
/* the ✓ medallion. The tick is the AI's own stroke path (M20 6 9 17l-5-5,
   width 2.4, round caps) as a data-URI background so it is stroke-exact
   rather than a ✓ glyph. Masking the element would eat the circle + border,
   so the tick rides as background-image ON the circle. No `ms-danke-pop`
   here — unlike dark-confirm/hero-centered, the AI's tick is static. */
.ms-sdc--normal.gk-confirm .ms-sdc__body::before{
  content: ""; display: block; width: 62px; height: 62px; border-radius: 50%;
  margin: 0 auto 22px; border: 1.5px solid rgba(127,207,192,.5);
  /* The base's `.ms-sdc, .ms-sdc *` border-box does NOT reach generated content
     — `*` matches elements, not pseudo-elements, and box-sizing is not
     inherited. Without this the 1.5px border lands OUTSIDE the 62px and the
     medallion renders 65px, pushing the whole card 3px taller than the AI. */
  box-sizing: border-box;
  background: rgba(127,207,192,.14)
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237FCFC0' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E")
    center / 28px 28px no-repeat;
}
.ms-sdc--normal.gk-confirm h4{
  font-family: var(--ms-sans) !important; font-weight: 700 !important;
  font-size: 11.2px !important; line-height: 1.6 !important;
  letter-spacing: .22em !important; text-transform: uppercase !important;
  color: #7FCFC0 !important; margin: 0 !important;
}
.ms-sdc--normal.gk-confirm h1{
  font-family: var(--ms-display) !important; font-weight: 700 !important;
  font-size: clamp(30.4px, 4.2vw, 44.8px) !important; line-height: 1.2 !important;
  letter-spacing: -.01em !important; color: #fff !important;
  margin: 12px 0 0 !important; text-align: center !important;
}
/* the gold rule — decoration, not content (AI: .rule) */
.ms-sdc--normal.gk-confirm h1::after{
  content: ""; display: block; width: 60px; height: 4px;
  background: #F0B93F; border-radius: 2px; margin: 22px auto;
}
/* the lead. (0,4,1) beats `.ms-sdc.on-dark p` (0,2,1). */
.ms-sdc.ms-sdc.gk-confirm .ms-sdc__body > p{
  font-family: var(--ms-sans); color: #C9DBD9;
  font-size: 16.96px; line-height: 1.6; margin: 0;
}
/* the mailbox note (AI: .mailbox) — resets the base pull-quote look.
   The size lives on the box, as in the AI (`.mailbox{font-size:.92rem}`), so
   anything the editor adds inside inherits it rather than falling back to the
   base's 18px body size. The <p> rule below still has to restate it: the base
   `.ms-sdc blockquote p` (the pull-quote look) would otherwise win at 27px. */
.ms-sdc.ms-sdc.gk-confirm blockquote{
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.14); border-radius: 12px;
  padding: 16px 20px; margin: 26px 0 0; text-align: left; font-style: normal;
  font-family: var(--ms-sans); font-size: 14.72px; line-height: 1.6;
}
/* The AI is `display:flex; gap:13px` with the emoji in its own <span>. An
   editor types the emoji inline, so it hangs in the ~30px icon column via
   HANGING INDENT instead (emoji 16.8px + the 13px gap ~= 30px). Flex here
   would split <strong> + text into extra columns — the icon-cards lesson.
   Delta vs the AI: its first line starts at the full 30px; ours starts right
   after the emoji + space (~21px). Wrapped lines align in both. */
.ms-sdc.ms-sdc.gk-confirm blockquote p{
  font-family: var(--ms-sans); color: #C9DBD9;
  font-size: 14.72px; line-height: 1.6; margin: 0;
  padding-left: 30px; text-indent: -30px;
}
.ms-sdc.ms-sdc.gk-confirm blockquote strong{ color: #fff; font-weight: 700; }

/* --------------------------------------------------------------------
   gk-nexthead: the light centred band header (teal eyebrow, ink Recoleta
   h2, muted lead). Self-contained BY CHOICE: the live `gk-forwho` carries
   a near-identical header, but its inner is 940 (its card grid), its h2
   clamp differs and it has no lead <p> — and it is LIVE, so extracting a
   shared flag would mean editing it. Only the h4 is a true duplicate.
   Pair `centered` (which centres the column + drops the h2 divider).
   -------------------------------------------------------------------- */
.ms-sdc--normal.gk-nexthead .ms-sdc__inner{ max-width: 620px; }
.ms-sdc--normal.gk-nexthead h4{
  font-family: var(--ms-sans) !important; font-weight: 700 !important;
  font-size: 11.2px !important; line-height: 1.6 !important;
  letter-spacing: .22em !important; text-transform: uppercase !important;
  color: #2E7F7B !important; margin: 0 !important;
}
.ms-sdc--normal.gk-nexthead h2{
  font-family: var(--ms-display) !important; font-weight: 700 !important;
  font-size: clamp(23.2px, 3vw, 32px) !important; line-height: 1.25 !important;
  letter-spacing: normal !important; color: #0F3D45 !important;
  margin: 12px 0 10px !important;
  /* the base sets text-wrap:balance; the AI wraps greedily */
  text-wrap: wrap;
}
.ms-sdc.ms-sdc.gk-nexthead .ms-sdc__body > p{
  font-family: var(--ms-sans); color: #44585E;
  font-size: 16px; line-height: 1.6; margin: 0;
}
/* a real italic here — unlike gk-rating, where <em> is the star hook */
.ms-sdc--normal.gk-nexthead em{ font-style: italic; }

/* --------------------------------------------------------------------
   gk-meta: the trust row — <ul> → inline centred fact chips.
   <em> = the star hook (upright + gold, never italic — same convention as
   gk-rating), <strong> = the ink label. Distinct from `facts-row`
   (petrol labels, emoji, the other palette). Pair `centered`.
   -------------------------------------------------------------------- */
.ms-sdc--normal.gk-meta .ms-sdc__inner{ max-width: 760px; }
.ms-sdc.ms-sdc.gk-meta ul{
  list-style: none; padding: 0; margin: 0 auto; max-width: 760px;
  display: flex; justify-content: center; flex-wrap: wrap; gap: 26px;
}
/* flex on the <li> is correct HERE (this is not the badge-list pattern): the
   AI's own `.meta span` is `display:flex; gap:6px`, and its children are
   exactly our <em>/<strong>/text nodes — same items, same 6px gap. */
.ms-sdc.ms-sdc.gk-meta ul > li{
  display: flex; align-items: center; gap: 6px;
  font-family: var(--ms-sans); font-size: 13.12px; line-height: 1.6;
  color: #5C7278; margin: 0; padding: 0;
}
.ms-sdc.ms-sdc.gk-meta ul > li::before{ content: none; display: none; }
.ms-sdc.ms-sdc.gk-meta ul > li strong{ color: #0F3D45; font-weight: 700; }
.ms-sdc.ms-sdc.gk-meta ul > li em{
  font-style: normal; color: #F0B93F; letter-spacing: 1px;
}

.ms-sdc.ms-sdc.gk-confirm blockquote p > strong:first-child {
	padding-left: 6px;
}


/* ---------- Danke-Seite — mobile (the page's only breakpoint) -------- */
@media (max-width: 900px){
  .ms-sdc--normal.gk-confirm .ms-sdc__inner{ padding: 36px 22px; border-radius: 18px; }
  .ms-sdc--normal.gk-confirm .ms-sdc__body::before{ width: 54px; height: 54px; margin-bottom: 18px; }
  .ms-sdc--normal.gk-confirm h1{ font-size: 28.48px !important; }
  .ms-sdc.ms-sdc.gk-confirm .ms-sdc__body > p{ font-size: 15.68px; }
  .ms-sdc.ms-sdc.gk-confirm blockquote{ padding: 14px 16px; margin-top: 22px; font-size: 13.6px; }
  .ms-sdc.ms-sdc.gk-confirm blockquote p{ font-size: 13.6px; }

  .ms-sdc.ms-sdc.gk-meta ul{ gap: 14px; }
  .ms-sdc.ms-sdc.gk-meta ul > li{ font-size: 12.48px; }
}

/* =====================================================================
   HOMEPAGE FLAGS (basic_page_container, body.lp-home). Source:
   homepage.html. Mapping: docs/Homepage_Mapping.md. Light Archivo+Recoleta.
   The AI CSS is authored in px (no rem) → values copy directly. All rules
   scoped under .ms-sdc / .ms-sdc--normal.<flag> or under .lp-home .ms-sdc.
   Appended last so equal-specificity ties win on source order.
   ===================================================================== */

/* ---------- Page-scope resets (body.lp-home) — styles ONLY .ms-sdc, no chrome ----------
   The AI homepage h2 has NO underline divider (our SDC adds one) and the body
   is a flat 18px at every width. One body class carries both so every band
   inherits them; individual flags still override where needed. */
.lp-home .ms-sdc h2::after{ content: none !important; }
.lp-home .ms-sdc h2{ text-wrap: wrap; }
.lp-home .ms-sdc p{ font-size: 18px; }

/* ---------- cta-orange — the recurring CTA (Simple Link, field_css_tag=cta-orange) ----------
   Class rides the <a>. AI `.btn.btn-lg`. 18px at ALL widths incl. mobile
   (project rule). Works on both normal + hero bands. */
.ms-sdc a.cta-orange,
.ms-sdc a.cta-orange:link,
.ms-sdc a.cta-orange:visited{
  display:inline-block; background:#F3954A !important; color:#fff !important;
  font-family:'Archivo' !important; font-weight:700 !important; font-size:18px !important;
  line-height:1.2 !important; text-decoration:none !important; text-align:center;
  padding:18px 36px !important; border:0 !important; border-radius:14px !important;
  box-shadow:0 8px 22px rgba(243,149,74,.38);
  transition:background .15s, transform .12s, box-shadow .2s;
}
.ms-sdc a.cta-orange:hover,
.ms-sdc a.cta-orange:focus{
  background:#E67F32 !important; color:#fff !important; transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(243,149,74,.48);
}
@media (max-width:760px){ .ms-sdc a.cta-orange{ font-size:18px !important; } }
/* cta-center — centre a trailing CTA under a left-aligned body (AI .cta-center) */
.ms-sdc.cta-center .ms-sdc__actions{ text-align:center; margin-top:52px; }

/* ---------- logo-marquee — Section 2. field_body = <h4> label + flat <img> list.
   normal.js wraps the imgs into .ms-mq > .ms-mq-track (duplicated) and animates. ---------- */
.ms-sdc--normal.logo-marquee{ padding-left:0 !important; padding-right:0 !important; }
.ms-sdc--normal.logo-marquee .ms-sdc__inner, .lp-home .ms-sdc--normal.logo-marquee .ms-sdc__inner{ max-width:none; }
.ms-sdc--normal.logo-marquee .ms-sdc__body > h4{
  text-align:center; font-family:'Archivo' !important; font-size:12px !important; font-weight:700 !important;
  letter-spacing:2.5px !important; text-transform:uppercase !important; color:#98a09d !important; margin:0 0 18px !important;
}
.ms-sdc--normal.logo-marquee .ms-mq{ position:relative; overflow:hidden; }
.ms-sdc--normal.logo-marquee .ms-mq-track{ display:flex; width:max-content; align-items:center; animation:ms-mscroll 40s linear infinite; }
.ms-sdc--normal.logo-marquee .ms-mq:hover .ms-mq-track{ animation-play-state:paused; }
.ms-sdc--normal.logo-marquee .ms-mq-track img{ height:46px; width:auto; max-width:280px; margin-right:64px; object-fit:contain; display:block; flex:none; }
/* before JS runs, or if it doesn't: show the flat list centred */
.ms-sdc--normal.logo-marquee .ms-sdc__body > img{ display:inline-block; height:46px; width:auto; margin:0 24px; vertical-align:middle; }
@keyframes ms-mscroll{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
@media (prefers-reduced-motion:reduce){
  .ms-sdc--normal.logo-marquee .ms-mq-track{ animation:none; flex-wrap:wrap; justify-content:center; width:100%; gap:22px 40px; }
  .ms-sdc--normal.logo-marquee .ms-mq-track img{ margin-right:0; }
}

/* ---------- pullquote-yellow — Section 3 close. blockquote pull quote + alone-line + CTA ---------- */
.ms-sdc.ms-sdc--normal.pullquote-yellow .ms-sdc__body blockquote{
  font-family:var(--ms-display); font-style:italic; font-weight:700; font-size:28px;
  color:var(--ms-petrol); line-height:1.35; border-left:4px solid #F7D154; background:none;
  padding:10px 0 10px 26px; margin:0 0 22px;
}
.ms-sdc--normal.pullquote-yellow .ms-sdc__body p{ font-size:18px; line-height:1.7; color:#3D3D3D; margin:0 0 16px; }
.ms-sdc--normal.pullquote-yellow .ms-sdc__body p strong{ color:var(--ms-petrol); }
@media (max-width:760px){ .ms-sdc.ms-sdc--normal.pullquote-yellow .ms-sdc__body blockquote{ font-size:21px; } }

/* ---------- swash-u — Sections 4/5. Partial-word teal underline (<u> inside h2) ---------- */
.ms-sdc.swash-u h2 u{
  text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:6px;
  text-decoration-color:var(--ms-petrol); text-decoration-skip-ink:none;
}

/* ---------- mech-band (+ mech-after) — Sections 4/5 on imageinmiddlev2.
   field_main_title = h2 + intro p + <h4> "So läuft es…" pill (sits above the
   diagram image). mech-after re-tints the pill teal. ---------- */
.ms-sdc--iimv2.mech-band .ms-sdc__header p{ font-size:18px; line-height:1.6; color:#3D3D3D; max-width:none; margin:0 0 6px; }
.ms-sdc--iimv2.mech-band .ms-sdc__header h4{
  display:inline-block; font-family:'Archivo' !important; font-size:12px !important; font-weight:700 !important;
  letter-spacing:1.5px !important; text-transform:uppercase !important; border-radius:999px !important;
  padding:6px 15px !important; margin:8px 0 0 !important;
  background:#FBF0EE !important; color:#A2564D !important;
}
.ms-sdc--iimv2.mech-band.mech-after .ms-sdc__header h4{ background:#E4F1EF !important; color:var(--ms-petrol) !important; }
.ms-sdc--iimv2.mech-band .ms-sdc__media{ margin:14px 0 0; }
.ms-sdc--iimv2.mech-band .ms-sdc__media img{ width:100%; height:auto; border-radius:8px; }
/* mech-after closing note (last p in body → teal semibold, AI .mnote.good) */
.ms-sdc--iimv2.mech-band.mech-after .ms-sdc__body > p:last-child{
  font-size:18px; line-height:1.6; color:var(--ms-petrol); font-weight:600; margin:15px 0 0; max-width:none;
}

/* ---------- keymsg — Section 4 dark-teal callout (blockquote in the iimv2 body) ---------- */
.ms-sdc.keymsg .ms-sdc__body blockquote{
  position:relative; background:#115759; color:#fff;
  border:0; border-radius:20px; padding:40px 44px; margin:40px 0 0; overflow:hidden; font-style:normal;
  box-shadow:0 20px 46px rgba(0,115,117,.28);
}
.ms-sdc.keymsg .ms-sdc__body blockquote::before{ content:""; position:absolute; top:0; left:0; bottom:0; width:6px; background:#F3954A; }
.ms-sdc.keymsg .ms-sdc__body blockquote > p{ font-size:18px; line-height:1.65; color:rgba(255,255,255,.9); margin:0; }
.ms-sdc.keymsg .ms-sdc__body blockquote > p:first-child{
  font-family:var(--ms-display); font-weight:700; font-size:33px; line-height:1.2; color:#fff; margin:0 0 16px;
}
@media (max-width:760px){
  .ms-sdc.keymsg .ms-sdc__body blockquote{ padding:30px 26px; }
  .ms-sdc.keymsg .ms-sdc__body blockquote > p:first-child{ font-size:25px; }
}

/* ---------- goal-cards — Section 6. <ul> of 6 goals → gradient panel with 3-col
   white cards. Leading emoji baked via nth-child ::before icon box (author the
   <li> WITHOUT the emoji: <strong>Title</strong> + desc). Order matters. ---------- */
.ms-sdc--normal.goal-cards .ms-sdc__inner{ max-width:1060px; }
.ms-sdc--normal.goal-cards .ms-sdc__body > p{ font-size:18px; line-height:1.7; color:#3D3D3D; max-width:720px; }
.ms-sdc--normal.goal-cards .ms-sdc__body > p:last-child{ font-size:20px; margin-top:36px; max-width:none; }
.ms-sdc--normal.goal-cards .ms-sdc__body > p:last-child strong{ color:var(--ms-petrol); }
.ms-sdc.ms-sdc--normal.goal-cards .ms-sdc__body ul{
  list-style:none; margin:24px 0 0; padding:40px 34px;
  background:linear-gradient(180deg,#EAF4F2,#DCEEEB); border:1px solid #CDE3DF; border-radius:24px;
  display:grid; grid-template-columns:repeat(3,1fr); gap:20px;
}
.ms-sdc.ms-sdc--normal.goal-cards .ms-sdc__body ul > li{
  background:#fff; border:1px solid #E9E9E6; border-radius:18px; padding:30px 28px; border-top:1px solid #E9E9E6;
  box-shadow:0 8px 26px rgba(18,52,48,.08); margin:0; position:static;
  font-family:'Archivo'; color:#5b6763; font-size:16px; line-height:1.6;
}
.ms-sdc.ms-sdc--normal.goal-cards .ms-sdc__body ul > li::before{
  display:flex; align-items:center; justify-content:center; width:46px; height:46px; border-radius:12px;
  background:#E4F1EF; font-size:24px; line-height:1; margin:0 0 18px; position:static; content:"";
}
.ms-sdc.ms-sdc--normal.goal-cards .ms-sdc__body ul > li:nth-child(1)::before{ content:"😴"; }
.ms-sdc.ms-sdc--normal.goal-cards .ms-sdc__body ul > li:nth-child(2)::before{ content:"🌊"; }
.ms-sdc.ms-sdc--normal.goal-cards .ms-sdc__body ul > li:nth-child(3)::before{ content:"⚡"; }
.ms-sdc.ms-sdc--normal.goal-cards .ms-sdc__body ul > li:nth-child(4)::before{ content:"🎯"; }
.ms-sdc.ms-sdc--normal.goal-cards .ms-sdc__body ul > li:nth-child(5)::before{ content:"❤️"; }
.ms-sdc.ms-sdc--normal.goal-cards .ms-sdc__body ul > li:nth-child(6)::before{ content:"🌿"; }
.ms-sdc.ms-sdc--normal.goal-cards .ms-sdc__body ul > li strong{
  display:block; font-family:var(--ms-display); font-size:23px; color:var(--ms-petrol);
  line-height:1.2; margin:0 0 11px; font-weight:700;
}
@media (max-width:880px){ .ms-sdc.ms-sdc--normal.goal-cards .ms-sdc__body ul{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .ms-sdc.ms-sdc--normal.goal-cards .ms-sdc__body ul{ grid-template-columns:1fr; padding:24px 18px; } }

/* ---------- review-feature — Section 6b featured 3 testimonials.
   <li> = <p>quote</p><p><strong>Name</strong> Rolle</p>; ★ row baked. ---------- */
.ms-sdc--normal.review-feature .ms-sdc__inner{ max-width:1060px; }
.ms-sdc--normal.review-feature .ms-sdc__body > p{ font-size:18px; }
.ms-sdc.ms-sdc--normal.review-feature .ms-sdc__body ul{
  list-style:none; margin:44px 0 0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:20px;
}
.ms-sdc.ms-sdc--normal.review-feature .ms-sdc__body ul > li{
  background:#fff; border:1.5px solid #A9D2CC; border-radius:18px; padding:30px; margin:0; border-top:1.5px solid #A9D2CC;
  box-shadow:0 3px 14px rgba(18,52,48,.05); position:static; margin-bottom: 20px;
}
.ms-sdc.ms-sdc--normal.review-feature .ms-sdc__body ul > li::before{
  content:""; display:block; width:97px; height:17px; margin:0 0 13px; position:static;
  background:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='97' height='17' viewBox='0 0 97 17'><g fill='%233AA76D'><rect x='0' width='17' height='17' rx='4'/><rect x='20' width='17' height='17' rx='4'/><rect x='40' width='17' height='17' rx='4'/><rect x='60' width='17' height='17' rx='4'/><rect x='80' width='17' height='17' rx='4'/></g><g fill='%23fff'><path d='M8.50,2.70 L9.97,6.68 L14.21,6.85 L10.88,9.47 L12.03,13.55 L8.50,11.20 L4.97,13.55 L6.12,9.47 L2.79,6.85 L7.03,6.68 Z'/><path d='M28.50,2.70 L29.97,6.68 L34.21,6.85 L30.88,9.47 L32.03,13.55 L28.50,11.20 L24.97,13.55 L26.12,9.47 L22.79,6.85 L27.03,6.68 Z'/><path d='M48.50,2.70 L49.97,6.68 L54.21,6.85 L50.88,9.47 L52.03,13.55 L48.50,11.20 L44.97,13.55 L46.12,9.47 L42.79,6.85 L47.03,6.68 Z'/><path d='M68.50,2.70 L69.97,6.68 L74.21,6.85 L70.88,9.47 L72.03,13.55 L68.50,11.20 L64.97,13.55 L66.12,9.47 L62.79,6.85 L67.03,6.68 Z'/><path d='M88.50,2.70 L89.97,6.68 L94.21,6.85 L90.88,9.47 L92.03,13.55 L88.50,11.20 L84.97,13.55 L86.12,9.47 L82.79,6.85 L87.03,6.68 Z'/></g></svg>") left center no-repeat;
}
.ms-sdc--normal.review-feature .ms-sdc__body ul > li p{ font-size:16px; line-height:1.6; margin:0 0 15px; color:#3D3D3D; }
.ms-sdc--normal.review-feature .ms-sdc__body ul > li p:last-child{ margin:0; padding-top:13px; border-top:1px solid #E9E9E6; }
.ms-sdc--normal.review-feature .ms-sdc__body ul > li p:last-child strong{ display:block; color:#262626; font-size:14px; }
@media (max-width:880px){ .ms-sdc.ms-sdc--normal.review-feature .ms-sdc__body ul{ grid-template-columns:1fr; } }

/* ---------- review-grid — Section 6b masonry 12 testimonials + CTA (CSS columns) ---------- */
.ms-sdc--normal.review-grid .ms-sdc__inner{ max-width:1060px; }
.ms-sdc.ms-sdc--normal.review-grid .ms-sdc__body ul{ list-style:none; margin:0; padding:0; columns:3; column-gap:20px; }
.ms-sdc.ms-sdc--normal.review-grid .ms-sdc__body ul > li{
  break-inside:avoid; display:inline-block; width:100%;
  background:#fff; border:1px solid #E9E9E6; border-radius:16px; padding:24px; margin:0 0 20px; border-top:1px solid #E9E9E6;
  box-shadow:0 3px 14px rgba(18,52,48,.05); position:static;
}
.ms-sdc.ms-sdc--normal.review-grid .ms-sdc__body ul > li::before{
  content:""; display:block; width:97px; height:17px; margin:0 0 13px; position:static;
  background:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='97' height='17' viewBox='0 0 97 17'><g fill='%233AA76D'><rect x='0' width='17' height='17' rx='4'/><rect x='20' width='17' height='17' rx='4'/><rect x='40' width='17' height='17' rx='4'/><rect x='60' width='17' height='17' rx='4'/><rect x='80' width='17' height='17' rx='4'/></g><g fill='%23fff'><path d='M8.50,2.70 L9.97,6.68 L14.21,6.85 L10.88,9.47 L12.03,13.55 L8.50,11.20 L4.97,13.55 L6.12,9.47 L2.79,6.85 L7.03,6.68 Z'/><path d='M28.50,2.70 L29.97,6.68 L34.21,6.85 L30.88,9.47 L32.03,13.55 L28.50,11.20 L24.97,13.55 L26.12,9.47 L22.79,6.85 L27.03,6.68 Z'/><path d='M48.50,2.70 L49.97,6.68 L54.21,6.85 L50.88,9.47 L52.03,13.55 L48.50,11.20 L44.97,13.55 L46.12,9.47 L42.79,6.85 L47.03,6.68 Z'/><path d='M68.50,2.70 L69.97,6.68 L74.21,6.85 L70.88,9.47 L72.03,13.55 L68.50,11.20 L64.97,13.55 L66.12,9.47 L62.79,6.85 L67.03,6.68 Z'/><path d='M88.50,2.70 L89.97,6.68 L94.21,6.85 L90.88,9.47 L92.03,13.55 L88.50,11.20 L84.97,13.55 L86.12,9.47 L82.79,6.85 L87.03,6.68 Z'/></g></svg>") left center no-repeat;
}
.ms-sdc--normal.review-grid .ms-sdc__body ul > li p{ font-size:16px; line-height:1.66; margin:0 0 15px; color:#3D3D3D; }
.ms-sdc--normal.review-grid .ms-sdc__body ul > li p:last-child{ margin:0; padding-top:13px; border-top:1px solid #E9E9E6; }
.ms-sdc--normal.review-grid .ms-sdc__body ul > li p:last-child strong{ display:block; color:#262626; font-size:14px; }
@media (max-width:980px){ .ms-sdc.ms-sdc--normal.review-grid .ms-sdc__body ul{ columns:2; } }
@media (max-width:660px){ .ms-sdc.ms-sdc--normal.review-grid .ms-sdc__body ul{ columns:1; } }

/* ---------- approach-steps — Section 6.5. <ol> of 4 → 4-col numbered cards (01–04) + CTA ---------- */
.ms-sdc--normal.approach-steps .ms-sdc__inner{ max-width:1060px; }
.ms-sdc--normal.approach-steps .ms-sdc__body > p{ font-size:18px; }
.ms-sdc.ms-sdc--normal.approach-steps .ms-sdc__body ol{
  list-style:none; counter-reset:apstep; margin:46px 0 38px; padding:0;
  display:grid; grid-template-columns:repeat(4,1fr); gap:20px;
}
.ms-sdc.ms-sdc--normal.approach-steps .ms-sdc__body ol > li{
  counter-increment:apstep; background:#fff; border:1px solid #E9E9E6; border-radius:16px; padding:28px 26px; border-top:1px solid #E9E9E6;
  box-shadow:0 3px 14px rgba(18,52,48,.05); margin:0; position:static;
  font-family:'Archivo'; color:#67736f; font-size:16px; line-height:1.6;
}
.ms-sdc.ms-sdc--normal.approach-steps .ms-sdc__body ol > li::before{
  content:"0" counter(apstep); display:block; position:static; width:auto; height:auto; background:none; border:0;
  font-family:var(--ms-display); font-weight:700; color:var(--ms-petrol); font-size:19px; margin:0 0 18px;
}
/* Icon box (inline <img> at the start of each <li>) — teal-soft rounded, AI .stepc .si */
.ms-sdc.ms-sdc--normal.approach-steps .ms-sdc__body ol > li img{
  display:block; width:48px; height:48px; padding:13px; border-radius:13px;
  background:#E4F1EF; margin:0 0 20px; object-fit:contain;
}
.ms-sdc.ms-sdc--normal.approach-steps .ms-sdc__body ol > li strong{
  display:block; font-family:var(--ms-display); color:var(--ms-petrol); font-size:19px; line-height:1.25; margin:0 0 10px; font-weight:700;
}
@media (max-width:860px){ .ms-sdc.ms-sdc--normal.approach-steps .ms-sdc__body ol{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .ms-sdc.ms-sdc--normal.approach-steps .ms-sdc__body ol{ grid-template-columns:1fr; } }

/* ---------- stat-panels — Section 7 close. <ul> of 2 → 2-col stat cards + note ---------- */
.ms-sdc--normal.stat-panels .ms-sdc__inner{ max-width:1060px; }
.ms-sdc.ms-sdc--normal.stat-panels .ms-sdc__body ul{
  list-style:none; margin:20px 0 0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:20px;
}
.ms-sdc.ms-sdc--normal.stat-panels .ms-sdc__body ul > li{
  background:#fff; border:1px solid #E9E9E6; border-radius:16px; padding:30px; margin:0; border-top:1px solid #E9E9E6;
  box-shadow:0 3px 14px rgba(18,52,48,.05); position:static; font-size:16px; line-height:1.6; color:#3D3D3D;
}
.ms-sdc.ms-sdc--normal.stat-panels .ms-sdc__body ul > li::before{ content:none; }
.ms-sdc--normal.stat-panels .ms-sdc__body ul > li strong:first-child{
  display:block; font-family:var(--ms-display); font-weight:700; font-size:30px; color:var(--ms-petrol); margin:0 0 8px;
}
.ms-sdc--normal.stat-panels .ms-sdc__body ul > li strong:nth-of-type(2){
  display:block; font-family:'Archivo'; font-weight:700; font-size:18px; color:var(--ms-ink); margin:0 0 10px;
}
.ms-sdc--normal.stat-panels .ms-sdc__body > p:last-child{ color:#77837f; font-size:14px; margin-top:26px; }
.ms-sdc--normal.stat-panels .ms-sdc__body > p:last-child a{ color:var(--ms-petrol); }
@media (max-width:820px){ .ms-sdc.ms-sdc--normal.stat-panels .ms-sdc__body ul{ grid-template-columns:1fr; } }

/* ---------- home-final — Section 10 dark gradient CTA band (pair on-dark; field bg #007375).
   Flag OWNS the gradient + vertical padding (padding fields → 0). h2 + <ul> of 3
   translucent quote cards (inline <img> avatar float-left, ★ baked gold) + CTA. ---------- */
.ms-sdc--normal.home-final{
  background:
    radial-gradient(ellipse 700px 420px at 82% 0%, rgba(255,255,255,.10), transparent 60%),
    #115759;
}
.ms-sdc.ms-sdc--normal.home-final{ padding-top:92px !important; padding-bottom:92px !important; }
.ms-sdc--normal.home-final .ms-sdc__inner{ max-width:1060px; text-align:center; }
.ms-sdc--normal.home-final .ms-sdc__body h2{ color:#fff !important; max-width:880px; margin:0 auto 32px !important; }
.ms-sdc.ms-sdc--normal.home-final .ms-sdc__body ul{
  list-style:none; margin:0 auto 44px; padding:0; max-width:1000px;
  display:grid; grid-template-columns:repeat(3,1fr); gap:20px;
}
.ms-sdc.ms-sdc--normal.home-final .ms-sdc__body ul > li{
  background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.16); border-radius:16px; padding:26px 24px;
  border-top:1px solid rgba(255,255,255,.16); text-align:left; margin:0; position:static; color:#fff;
}
.ms-sdc.ms-sdc--normal.home-final .ms-sdc__body ul > li::before{
  content:"★★★★★"; display:block; color:#F7D154; letter-spacing:2px; font-size:15px; margin:0 0 12px; position:static;
}
.ms-sdc--normal.home-final .ms-sdc__body ul > li p{ color:#fff; font-size:18px; line-height:1.55; margin:0 0 16px; }
.ms-sdc--normal.home-final .ms-sdc__body ul > li p:last-of-type{
  overflow:hidden; margin:0; color:#EAF6F4; font-size:14px; line-height:1.35; font-weight:600;
}
.ms-sdc--normal.home-final .ms-sdc__body ul > li p:last-of-type img{
  float:left; width:46px; height:46px; border-radius:50%; object-fit:cover;
  border:2px solid rgba(255,255,255,.35); margin-right:12px;
}
.ms-sdc--normal.home-final .ms-sdc__body ul > li p:last-of-type strong{ color:#EAF6F4; font-weight:600; }
@media (max-width:820px){ .ms-sdc.ms-sdc--normal.home-final .ms-sdc__body ul{ grid-template-columns:1fr; max-width:460px; } }

/* ---------- faq — Section 9.5. field_body = h2 + <h4> question + <p> answer pairs;
   normal.js (msSdcFaq) wraps each <h4> + its answers into a native <details>/<summary>.
   Podcast links styled by href (a[href*="spotify"] / [*="youtube"]) — no classes. ---------- */
.ms-sdc--normal.faq .ms-sdc__inner{ max-width:840px; }
/* No-JS / pre-JS fallback: show the authored <h4> as a readable question, not the
   uppercase eyebrow. Once msSdcFaq runs the <h4> is replaced by a <summary>. */
.ms-sdc--normal.faq .ms-sdc__body > h4{
  text-transform:none !important; letter-spacing:normal !important; color:#262626 !important;
  font-size:17px !important; margin:22px 0 8px !important;
}
.ms-sdc--normal.faq .ms-sdc__body details{
  background:#fff; border:1px solid #E9E9E6; border-radius:14px; box-shadow:0 3px 14px rgba(18,52,48,.05);
  overflow:hidden; margin:0 0 14px;
}
.ms-sdc--normal.faq .ms-sdc__body summary{
  list-style:none; cursor:pointer; padding:22px 26px; font-family:'Archivo'; font-weight:700; color:#262626;
  font-size:17px; line-height:1.4; display:flex; justify-content:space-between; align-items:center; gap:18px;
}
.ms-sdc--normal.faq .ms-sdc__body summary::-webkit-details-marker{ display:none; }
.ms-sdc--normal.faq .ms-sdc__body summary::after{
  content:""; width:11px; height:11px; border-right:2.5px solid var(--ms-petrol); border-bottom:2.5px solid var(--ms-petrol);
  transform:rotate(45deg); transition:transform .2s; flex:none;
}
.ms-sdc--normal.faq .ms-sdc__body details[open] summary::after{ transform:rotate(-135deg); }
.ms-sdc--normal.faq .ms-sdc__body details > *:not(summary){ padding:0 26px 24px; font-size:18px; line-height:1.65; color:#3D3D3D; margin:0; }
.ms-sdc--normal.faq .ms-sdc__body details a{ color:var(--ms-petrol); font-weight:600; }
.ms-sdc--normal.faq .ms-sdc__body details a[href*="spotify"],
.ms-sdc--normal.faq .ms-sdc__body details a[href*="youtube"]{
  display:inline-flex; align-items:center; gap:9px; padding:11px 20px; border-radius:999px; font-weight:700;
  font-size:14.5px; text-decoration:none; color:#fff !important; margin:18px 12px 0 0;
}
.ms-sdc--normal.faq .ms-sdc__body details a[href*="spotify"]{ background:#1DB954; }
.ms-sdc--normal.faq .ms-sdc__body details a[href*="youtube"]{ background:#FF0000; }

/* =====================================================================
   HOMEPAGE FIDELITY FIXES — measured against the source 2026-07-28.
   (1) Section h2 are TEAL 37px in the AI, not the base dark-ink 42px.
   (2) The AI wraps every band in a 1060px column; the base normal/iimv2
       inner (760/840) wrapped the teal h2 too early → widen to match.
   Placed last so equal-specificity ties resolve in these rules' favour.
   ===================================================================== */
/* (1) teal section headings — dark bands (nextstep, home-final) keep their
   white override (0,3,1 !important beats the 0,2,1 here). */
.lp-home .ms-sdc h2{
  color:#007375 !important; font-size:37px !important;
  line-height:1.12 !important; letter-spacing:-0.4px !important;
}
@media (max-width:760px){ .lp-home .ms-sdc h2{ font-size:27px !important; } }

/* (2) band width = the AI 1060 wrap. Keep FAQ (840) and constrain the
   pull-quote content to the AI widths inside the wider column. */
.lp-home .ms-sdc--normal .ms-sdc__inner,
.lp-home .ms-sdc--iimv2 .ms-sdc__inner{ max-width:1060px; }
.lp-home .ms-sdc--normal.faq .ms-sdc__inner{ max-width:840px; }
.lp-home .ms-sdc--hero.founder .ms-sdc__inner{ max-width:1060px; }
.lp-home .ms-sdc--normal.pullquote-yellow .ms-sdc__body blockquote{ max-width:720px; }
.lp-home .ms-sdc--normal.pullquote-yellow .ms-sdc__body p{ max-width:760px; }

/* (3) body text = the AI --text #3D3D3D (base .ms-sdc is the darker #202a2a).
   Dark bands keep their own white text (higher specificity). */
.lp-home .ms-sdc, .lp-home .ms-sdc p, .lp-home .ms-sdc li{ color:#3D3D3D; }
.lp-home .ms-sdc strong{ color:#262626; }

/* =====================================================================
   ENTDECKEN ("Entdecken & Ressourcen") — resource-hub card-grid flags.
   All on the `normal` SDC (reused): a centred section header + a <ul>
   turned into a card grid. Palette: petrol #115759, petrol-l #177375,
   mint #8FE0D8, teal #007375, teal-mid #00A295, teal-soft #E4F1EF,
   grey #EEF0F1, border #E9E9E6. Fonts Archivo + Recoleta. Breakpoints
   900 / 760 / 640 / 600. Pair each with the existing `centered` flag.
   Doubled `.ms-sdc.ms-sdc.<flag>` selectors beat the base ol/ul rules.
   ===================================================================== */

/* ---- Shared centred section header (h2 + teal <em> highlight + intro p) ---- */
.ms-sdc--normal.link-cards, .ms-sdc--normal.resource-grid,
.ms-sdc--normal.info-cards, .ms-sdc--normal.episode-list { font-family: 'Archivo'; }
.ms-sdc--normal.link-cards   .ms-sdc__body > h2,
.ms-sdc--normal.resource-grid .ms-sdc__body > h2,
.ms-sdc--normal.info-cards   .ms-sdc__body > h2,
.ms-sdc--normal.episode-list .ms-sdc__body > h2 {
  font-family: 'Recoleta' !important; font-weight: 600 !important;
  font-size: clamp(26px,4vw,40px) !important; line-height: 1.14 !important;
  letter-spacing: -0.01em !important; color: #141414 !important;
  max-width: 720px; margin: 0 auto 12px !important; text-align: center;
}
.ms-sdc--normal.link-cards   .ms-sdc__body > h2 em,
.ms-sdc--normal.resource-grid .ms-sdc__body > h2 em,
.ms-sdc--normal.info-cards   .ms-sdc__body > h2 em,
.ms-sdc--normal.episode-list .ms-sdc__body > h2 em { color: #007375 !important; font-style: normal; }
.ms-sdc--normal.link-cards   .ms-sdc__body > p,
.ms-sdc--normal.resource-grid .ms-sdc__body > p,
.ms-sdc--normal.info-cards   .ms-sdc__body > p,
.ms-sdc--normal.episode-list .ms-sdc__body > p {
  color: #262626; font-size: 20px; line-height: 1.65; max-width: 720px; margin: 0 auto 44px; text-align: center;
}
.ms-sdc--normal.link-cards   .ms-sdc__body > p strong,
.ms-sdc--normal.resource-grid .ms-sdc__body > p strong,
.ms-sdc--normal.info-cards   .ms-sdc__body > p strong,
.ms-sdc--normal.episode-list .ms-sdc__body > p strong { color: #141414; }

/* ---------------------------------------------------------------------
   link-cards (Band 3) — <ul> → 2 large petrol link cards (icon medallion
   top-left, Recoleta <strong> title, desc, mint arrow link). Card 2 = the
   lighter petrol-l tone. Icons baked by position. Pair with `centered`.
   --------------------------------------------------------------------- */
.ms-sdc--normal.link-cards .ms-sdc__inner { max-width: 1120px; }
.ms-sdc.ms-sdc.link-cards ul {
  list-style: none; padding: 0; margin: 0; text-align: left;
  display: grid; grid-template-columns: 1fr 1fr; gap: 26px;
}
.ms-sdc.ms-sdc.link-cards ul > li {
  position: relative; margin: 0; padding: 34px; padding-top: 96px; min-height: 280px;
  border: 0; border-radius: 22px; background: #115759; color: #EAF4F4;
  font-size: 18px; line-height: 1.65;
  display: flex; flex-direction: column; justify-content: flex-end;
  transition: transform .2s, box-shadow .2s;
}
.ms-sdc.ms-sdc.link-cards ul > li:nth-child(2) { background: #177375; }
.ms-sdc.ms-sdc.link-cards ul > li:hover { transform: translateY(-4px); box-shadow: 0 24px 50px -34px rgba(18,52,48,.5); }
.ms-sdc.ms-sdc.link-cards ul > li::before {
  content: ""; position: absolute; top: 30px; left: 34px; width: 50px; height: 50px;
  border-radius: 14px; background: rgba(143,224,216,.16) no-repeat center / 25px 25px;
}
.ms-sdc.ms-sdc.link-cards ul > li:nth-child(1)::before {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%238FE0D8%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%2F%3E%3Cpath%20d%3D%22M12%208v4l3%202%22%2F%3E%3C%2Fsvg%3E");
}
.ms-sdc.ms-sdc.link-cards ul > li:nth-child(2)::before {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%238FE0D8%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M21%2015a2%202%200%200%201-2%202H7l-4%204V5a2%202%200%200%201%202-2h14a2%202%200%200%201%202%202z%22%2F%3E%3C%2Fsvg%3E");
}
.ms-sdc.ms-sdc.link-cards ul > li strong {
  display: block; font-family: 'Recoleta'; font-weight: 600; color: #fff;
  font-size: 26px; line-height: 1.14; margin: 0 0 8px;
}
.ms-sdc.ms-sdc.link-cards ul > li a {
  margin-top: 16px; color: #8FE0D8 !important; font-family: 'Archivo' !important;
  font-weight: 700 !important; font-size: 15px !important; text-decoration: none !important;
  display: inline-flex; align-items: center; gap: 6px; transition: gap .2s;
}
.ms-sdc.ms-sdc.link-cards ul > li a:hover { color: #8FE0D8 !important; gap: 9px; }
@media (max-width: 900px) { .ms-sdc.ms-sdc.link-cards ul { grid-template-columns: 1fr; } }
@media (max-width: 600px) {
  .ms-sdc.ms-sdc.link-cards ul > li { min-height: auto; padding: 26px; justify-content: flex-start; }
  .ms-sdc.ms-sdc.link-cards ul > li::before { position: static; margin: 0 0 16px; }
}

/* ---------------------------------------------------------------------
   resource-grid (Band 5) — <ul> → 3-col light cards, each with a petrol
   top-bar tag (<em>), Recoleta <strong> title, desc, teal arrow link.
   "Soon" cards = list items WITHOUT a link (:not(:has(a))): grey bar,
   muted, auto "Kommt bald" label. Pair with `centered`.
   --------------------------------------------------------------------- */
.ms-sdc--normal.resource-grid .ms-sdc__inner { max-width: 1120px; }
.ms-sdc.ms-sdc.resource-grid ul {
  list-style: none; padding: 0; margin: 0; text-align: left;
  display: grid; grid-template-columns: repeat(3,1fr); gap: 22px;
}
.ms-sdc.ms-sdc.resource-grid ul > li {
  position: relative; margin: 0; padding: 22px 24px; overflow: hidden;
  border: 1px solid #E9E9E6; border-radius: 18px; background: #fff;
  color: #262626; font-size: 18px; line-height: 1.65;
  display: flex; flex-direction: column;
  transition: transform .2s, box-shadow .2s;
}
.ms-sdc.ms-sdc.resource-grid ul > li:hover { transform: translateY(-4px); box-shadow: 0 24px 50px -34px rgba(18,52,48,.4); }
.ms-sdc.ms-sdc.resource-grid ul > li::before { content: none; }
/* top tag bar (<em>) — breaks out to the card edges */
.ms-sdc.ms-sdc.resource-grid ul > li em {
  display: block; margin: -22px -24px 16px; padding: 20px 24px; background: #115759;
  color: #8FE0D8; font-style: normal; font-weight: 700; font-size: 12px;
  letter-spacing: .12em; text-transform: uppercase;
}
.ms-sdc.ms-sdc.resource-grid ul > li strong {
  display: block; font-family: 'Recoleta'; font-weight: 600; color: #141414;
  font-size: 20px; line-height: 1.25; margin: 0 0 8px;
}
.ms-sdc.ms-sdc.resource-grid ul > li a {
  margin-top: auto; padding-top: 8px; color: #007375 !important; font-family: 'Archivo' !important;
  font-weight: 700 !important; font-size: 15px !important; text-decoration: none !important;
  display: inline-flex; align-items: center; gap: 6px; transition: gap .2s;
}
.ms-sdc.ms-sdc.resource-grid ul > li a:hover { color: #005E60 !important; gap: 9px; }
/* "soon" state: no link */
.ms-sdc.ms-sdc.resource-grid ul > li:not(:has(a)) { opacity: .9; }
.ms-sdc.ms-sdc.resource-grid ul > li:not(:has(a)) em { background: #EEF0F1; color: #005E60; }
.ms-sdc.ms-sdc.resource-grid ul > li:not(:has(a))::after {
  content: "Kommt bald"; margin-top: auto; padding-top: 8px;
  color: #262626; font-weight: 600; font-size: 15px;
}
@media (max-width: 900px) and (min-width: 601px) { .ms-sdc.ms-sdc.resource-grid ul { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .ms-sdc.ms-sdc.resource-grid ul { grid-template-columns: 1fr; } }

/* ---------------------------------------------------------------------
   info-cards (Band 7) — <ul> → 2-col light cards, teal icon medallion,
   Recoleta <strong> title, teal <em> count label, desc, teal arrow link.
   Icons baked by position. Pair with `centered`; band bg = grey #EEF0F1.
   --------------------------------------------------------------------- */
.ms-sdc--normal.info-cards .ms-sdc__inner { max-width: 760px; }
.ms-sdc.ms-sdc.info-cards ul {
  list-style: none; padding: 0; margin: 0; text-align: left;
  display: grid; grid-template-columns: repeat(2,1fr); gap: 24px;
}
.ms-sdc.ms-sdc.info-cards ul > li {
  position: relative; margin: 0; padding: 32px 30px;
  border: 1px solid #E9E9E6; border-radius: 20px; background: #fff;
  color: #262626; font-size: 18px; line-height: 1.65;
  display: flex; flex-direction: column;
  transition: transform .2s, box-shadow .2s;
}
.ms-sdc.ms-sdc.info-cards ul > li:hover { transform: translateY(-4px); box-shadow: 0 24px 50px -34px rgba(18,52,48,.4); }
.ms-sdc.ms-sdc.info-cards ul > li::before {
  content: ""; width: 54px; height: 54px; border-radius: 16px; margin: 0 0 18px;
  background: #E4F1EF no-repeat center / 26px 26px;
}
.ms-sdc.ms-sdc.info-cards ul > li:nth-child(1)::before {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23007375%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%205h16M4%2012h16M4%2019h10%22%2F%3E%3C%2Fsvg%3E");
}
.ms-sdc.ms-sdc.info-cards ul > li:nth-child(2)::before {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23007375%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2020V10M18%2020V4M6%2020v-6%22%2F%3E%3C%2Fsvg%3E");
}
.ms-sdc.ms-sdc.info-cards ul > li strong {
  display: block; font-family: 'Recoleta'; font-weight: 600; color: #141414;
  font-size: 21px; line-height: 1.2; margin: 0 0 6px;
}
.ms-sdc.ms-sdc.info-cards ul > li em {
  display: block; font-style: normal; color: #007375; font-weight: 700;
  font-size: 13px; letter-spacing: .03em; margin: 0 0 12px;
}
.ms-sdc.ms-sdc.info-cards ul > li a {
  margin-top: auto; padding-top: 8px; color: #007375 !important; font-family: 'Archivo' !important;
  font-weight: 700 !important; font-size: 15px !important; text-decoration: none !important;
  display: inline-flex; align-items: center; gap: 6px; transition: gap .2s;
}
.ms-sdc.ms-sdc.info-cards ul > li a:hover { color: #005E60 !important; gap: 9px; }
@media (max-width: 900px) { .ms-sdc.ms-sdc.info-cards ul { grid-template-columns: 1fr; } }

/* ---------------------------------------------------------------------
   episode-list (Band 4b) — <ul> → stacked white episode rows: teal-mid
   <em> badge, Recoleta <strong> title, desc, then a Spotify (teal-soft)
   + a YouTube (petrol) pill link. Brand icons baked from href. Pair with
   `centered`. (Links sit below the copy — matches the AI mobile layout.)
   --------------------------------------------------------------------- */
.ms-sdc--normal.episode-list .ms-sdc__inner { max-width: 1000px; }
.ms-sdc.ms-sdc.episode-list ul {
  list-style: none; padding: 0; margin: 0; text-align: left;
  display: flex; flex-direction: column; gap: 16px;
}
.ms-sdc.ms-sdc.episode-list ul > li {
  position: relative; margin: 0; padding: 26px 28px; padding-right: 182px;
  min-height: 92px; border: 1px solid #E9E9E6; border-radius: 18px;
  background: #fff; color: #262626; font-size: 18px; line-height: 1.55;
  box-shadow: 0 3px 14px rgba(18,52,48,.05);
  display: flex; flex-direction: column; align-items: flex-start; justify-content: center;
}
.ms-sdc.ms-sdc.episode-list ul > li::before { content: none; }
.ms-sdc.ms-sdc.episode-list ul > li em {
  display: block; font-style: normal; color: #00A295; font-weight: 700;
  font-size: 12px; letter-spacing: .1em; text-transform: uppercase; margin: 0 0 8px;
}
.ms-sdc.ms-sdc.episode-list ul > li strong {
  display: block; font-family: 'Recoleta'; font-weight: 600; color: #141414;
  font-size: 20px; line-height: 1.3; margin: 0 0 8px;
}
/* two links = a right-hand stacked column, vertically centred (AI `1fr auto`) */
.ms-sdc.ms-sdc.episode-list ul > li a {
  position: absolute; right: 28px; width: 122px; margin: 0;
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  font-family: 'Archivo' !important; font-weight: 700 !important; font-size: 14px !important;
  padding: 11px 18px !important; border-radius: 10px !important; text-decoration: none !important;
  white-space: nowrap; transition: transform .15s, background .2s;
}
.ms-sdc.ms-sdc.episode-list ul > li a[href*="spotify"] { top: 50%; margin-top: -45px; }
.ms-sdc.ms-sdc.episode-list ul > li a[href*="youtube"] { top: 50%; margin-top: 5px; }
.ms-sdc.ms-sdc.episode-list ul > li a::before {
  content: ""; width: 16px; height: 16px; flex: none; background: no-repeat center / contain;
}
.ms-sdc.ms-sdc.episode-list ul > li a[href*="spotify"] { background: #E4F1EF !important; color: #005E60 !important; }
.ms-sdc.ms-sdc.episode-list ul > li a[href*="spotify"]:hover { background: #D3E9E4 !important; color: #005E60 !important; transform: translateY(-1px); }
.ms-sdc.ms-sdc.episode-list ul > li a[href*="spotify"]::before {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22%23005E60%22%3E%3Cpath%20d%3D%22M12%202a10%2010%200%201%200%200%2020%2010%2010%200%200%200%200-20zm4.6%2014.4a.6.6%200%200%201-.86.2c-2.35-1.44-5.3-1.76-8.79-.96a.62.62%200%201%201-.28-1.21c3.8-.87%207.08-.5%209.72%201.11a.6.6%200%200%201%20.2.86zm1.23-2.75a.78.78%200%200%201-1.07.26c-2.69-1.65-6.79-2.13-9.98-1.17a.78.78%200%201%201-.45-1.49c3.64-1.1%208.16-.56%2011.24%201.33a.78.78%200%200%201%20.26%201.07zm.11-2.87C14.83%208.9%209.4%208.72%206.3%209.66a.94.94%200%201%201-.54-1.8c3.56-1.08%209.56-.87%2013.33%201.37a.94.94%200%200%201-.96%201.61z%22%2F%3E%3C%2Fsvg%3E");
}
.ms-sdc.ms-sdc.episode-list ul > li a[href*="youtube"] { background: #115759 !important; color: #fff !important; }
.ms-sdc.ms-sdc.episode-list ul > li a[href*="youtube"]:hover { background: #177375 !important; color: #fff !important; transform: translateY(-1px); }
.ms-sdc.ms-sdc.episode-list ul > li a[href*="youtube"]::before {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22%23ffffff%22%3E%3Cpath%20d%3D%22M23%2012s0-3.9-.5-5.6a2.9%202.9%200%200%200-2-2C18.7%204%2012%204%2012%204s-6.7%200-8.5.4a2.9%202.9%200%200%200-2%202C1%208.1%201%2012%201%2012s0%203.9.5%205.6a2.9%202.9%200%200%200%202%202C5.3%2020%2012%2020%2012%2020s6.7%200%208.5-.4a2.9%202.9%200%200%200%202-2C23%2015.9%2023%2012%2023%2012zM10%2015.5v-7l6%203.5z%22%2F%3E%3C%2Fsvg%3E");
}
/* ≤640: episode links drop below the copy, in a row (matches AI mobile) */
@media (max-width: 640px) {
  /* two equal half-width buttons in a bottom row (AI mobile `.eplink{flex:1}`) */
  .ms-sdc.ms-sdc.episode-list ul > li {
    padding: 26px 28px 84px; min-height: 0; justify-content: flex-start;
  }
  .ms-sdc.ms-sdc.episode-list ul > li a {
    top: auto; bottom: 26px; width: calc(50% - 33px); margin: 0;
  }
  .ms-sdc.ms-sdc.episode-list ul > li a[href*="spotify"] { top: auto; bottom: 26px; left: 28px; right: auto; margin-top: 0; }
  .ms-sdc.ms-sdc.episode-list ul > li a[href*="youtube"] { top: auto; bottom: 26px; right: 28px; left: auto; margin-top: 0; }
}

/* =====================================================================
   fMRT-STUDIE  (basic_page_container, body.lp-fmrt).
   Source: Mind Switch - fMRT-Studie-v6.html · Mapping: fmrtv6/fmrtv6_Mapping.md.
   Archivo (body) + Recoleta (display). Palette petrol #115759 /
   petrol-d #0C4143, teal #007375, teal-dark #005E60, teal-mid #00A295,
   teal-soft #E4F1EF, mint #8FE0D8 / mint-soft #BFE4DF, orange CTA #F3954A,
   gold #F2C14E, grey #EEF0F1, ink #1A1A1A/#141414, muted #262626.
   Breakpoints 900 / 760 / 640. Page-scope under .lp-fmrt; flags under
   .ms-sdc.<flag>. Appended last so equal-specificity ties win on order.
   No page chrome here (that lives in styles.css, body.lp-fmrt).
   ===================================================================== */

/* ---------- page-scope resets (body.lp-fmrt) — style ONLY .ms-sdc ---------- */
.lp-fmrt .ms-sdc{ font-family:'Archivo',sans-serif; }
.lp-fmrt .ms-sdc h2::after{ content:none !important; }
.lp-fmrt .ms-sdc p{ font-size:18px; line-height:1.74; }
/* section-head <h2>: Recoleta 27→40, no divider, ink; on-dark → white */
.lp-fmrt .ms-sdc h2{
  font-family:var(--ms-display) !important; font-weight:600 !important; color:#141414 !important;
  font-size:clamp(27px,3.8vw,40px) !important; line-height:1.14 !important;
  letter-spacing:-.3px !important; margin:0 0 16px !important;
}
.lp-fmrt .ms-sdc.on-dark h2{ color:#fff !important; }
/* accent highlight = <em> inside a heading: teal on light, mint on dark; never italic */
.lp-fmrt .ms-sdc h1 em, .lp-fmrt .ms-sdc h2 em{ font-style:normal; color:#007375; }
.lp-fmrt .ms-sdc.on-dark h1 em, .lp-fmrt .ms-sdc.on-dark h2 em{ color:#8FE0D8; }

/* ---------- study-hero (P1) — dark petrol hero, centred h1 + lead. Pair on-dark centered. */
.ms-sdc--normal.study-hero .ms-sdc__inner{ max-width:860px; }
.ms-sdc--normal.study-hero h1{
  font-family:var(--ms-display) !important; font-weight:600 !important; color:#fff !important;
  font-size:clamp(34px,4.8vw,52px) !important; line-height:1.13 !important;
  letter-spacing:-.5px !important; margin:0 0 22px !important; text-align:center !important;
}
.ms-sdc--normal.study-hero h1::after{ content:none !important; }
.ms-sdc--normal.study-hero p{ color:#fff; font-size:20px; line-height:1.62; margin:0 auto; max-width:560px; }
@media (max-width:640px){
  .ms-sdc--normal.study-hero h1{ font-size:30px !important; }
  .ms-sdc--normal.study-hero p{ font-size:18px; }
}

/* ---------- inst-strip (P2) — dark petrol-d bar: 4 label/value items. Pair on-dark. */
.ms-sdc--normal.inst-strip .ms-sdc__inner{ max-width:1080px; }
.ms-sdc.ms-sdc.inst-strip ul{
  list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap;
  align-items:center; justify-content:center; gap:0; text-align:center;
}
.ms-sdc.ms-sdc.inst-strip ul > li{
  margin:0; padding:0 20px; position:static;
  display:flex; flex-direction:column; gap:3px; align-items:center;
}
.ms-sdc.ms-sdc.inst-strip ul > li::before{ content:none; }
.ms-sdc.inst-strip ul > li em{
  font-style:normal; color:#C4DCDC; font-size:11px; letter-spacing:.14em;
  text-transform:uppercase; line-height:1.4;
}
.ms-sdc.inst-strip ul > li strong{ color:#fff; font-size:15px; font-weight:600; }
@media (min-width:901px){
  .ms-sdc.inst-strip ul > li + li{ border-left:1px solid rgba(143,224,216,.18); }
}
@media (max-width:900px){ .ms-sdc.ms-sdc.inst-strip ul{ gap:18px 24px; } }

/* ---------- stress-bridge (P4a) — head + intro + "Angst = Stress" equation + caption.
   Pair centered. blockquote = the two teal-soft equation boxes (two <strong>). */
.ms-sdc--normal.stress-bridge .ms-sdc__inner{ max-width:900px; }
.ms-sdc.stress-bridge .ms-sdc__body > p{
  color:#262626; font-size:18px; line-height:1.6; margin:0 auto 18px; max-width:780px;
}
.ms-sdc.stress-bridge .ms-sdc__body blockquote{
  max-width:600px; margin:8px auto 0; padding:0; border:0; background:none;
  display:flex; align-items:stretch; justify-content:center; gap:16px;
}
.ms-sdc.stress-bridge .ms-sdc__body blockquote strong{
  flex:1; background:#E4F1EF; border:1px solid #CDE3DF; border-radius:16px; padding:22px 18px;
  text-align:center; font-family:var(--ms-display); font-weight:600; font-size:26px;
  color:#005E60; line-height:1.1;
}
.ms-sdc.stress-bridge .ms-sdc__body blockquote strong:last-of-type{ order:2; }
/* the "=" is a REAL flex item BETWEEN the two boxes (AI .mech-eq .eqs), not absolute —
   so the boxes keep the AI's 16px (12 mobile) gap instead of spreading. */
.ms-sdc.stress-bridge .ms-sdc__body blockquote::after{
  content:"="; order:1; align-self:center; flex:0 0 auto;
  font-family:var(--ms-display); font-weight:600; font-size:34px; color:#007375;
}
.ms-sdc.stress-bridge .ms-sdc__body blockquote + p{
  font-family:var(--ms-display); font-weight:600; font-size:22px; color:#141414;
  margin:22px auto 0; max-width:640px; text-align:center;
}
@media (max-width:640px){
  /* AI: `.mech-eq{gap:12px; padding:0 20px}` on mobile — narrows the boxes to match. */
  .ms-sdc.stress-bridge .ms-sdc__body blockquote{ gap:12px; padding-left:20px; padding-right:20px; }
}

/* ---------- mech-cards (P4b) — 2 icon cards + italic note. Pair centered.
   Icons baked by list position (teal-dark stroke on teal-soft medallion). */
.ms-sdc--normal.mech-cards .ms-sdc__inner{ max-width:900px; }
.ms-sdc.ms-sdc.mech-cards ul{
  list-style:none; margin:0 auto; padding:0; max-width:900px; text-align:left;
  display:grid; grid-template-columns:1fr 1fr; gap:24px;
}
.ms-sdc.ms-sdc.mech-cards ul > li{
  margin:0; padding:30px; position:static; background:#fff; border:1px solid #E9E9E6;
  border-radius:16px; color:#262626; font-size:18px; line-height:1.55;
}
.ms-sdc.ms-sdc.mech-cards ul > li::before{
  content:""; display:block; width:48px; height:48px; border-radius:12px; margin:0 0 14px;
  background-color:#E4F1EF; background-repeat:no-repeat; background-position:center; background-size:24px 24px;
}
.ms-sdc.mech-cards ul > li:nth-child(1)::before{
  background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23005E60' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M9 3a3 3 0 0 0-3 3v1a3 3 0 0 0 0 6v1a3 3 0 0 0 6 0V6a3 3 0 0 0-3-3z'/><path d='M15 6a3 3 0 0 1 3 3v1a3 3 0 0 1 0 6v0a3 3 0 0 1-6 0'/></svg>");
}
.ms-sdc.mech-cards ul > li:nth-child(2)::before{
  background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23005E60' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M12 5a3 3 0 0 0-6 0 3 3 0 0 0-3 3 3 3 0 0 0 1.5 2.6A3 3 0 0 0 6 16a3 3 0 0 0 6 0z'/><path d='M12 5a3 3 0 0 1 6 0 3 3 0 0 1 3 3 3 3 0 0 1-1.5 2.6A3 3 0 0 1 18 16a3 3 0 0 1-6 0z'/></svg>");
}
.ms-sdc.mech-cards ul > li strong{
  display:block; font-family:var(--ms-display); font-weight:600; font-size:19px;
  color:#141414; line-height:1.14; margin:0 0 10px;
}
.ms-sdc.mech-cards .ms-sdc__body > p{
  max-width:760px; margin:28px auto 0; text-align:center; color:#262626; font-size:15px; font-style:italic;
}
@media (max-width:900px){ .ms-sdc.ms-sdc.mech-cards ul{ grid-template-columns:1fr; } }

/* ---------- measure-steps (P6) — <ol> of numbered rows (rounded-square teal badge).
   Pair centered. Distinct from cards-list (2-col "01" badge). */
.ms-sdc--normal.measure-steps .ms-sdc__inner{ max-width:800px; }
.ms-sdc.measure-steps .ms-sdc__body > p{
  color:#262626; font-size:18px; line-height:1.6; margin:0 auto; max-width:640px;
}
.ms-sdc.ms-sdc.measure-steps ol{
  list-style:none; counter-reset:mstep; margin:44px 0 0; padding:0; text-align:left;
}
.ms-sdc.ms-sdc.measure-steps ol > li{
  counter-increment:mstep; margin:0; padding:26px 0 26px 70px; position:relative;
  border-top:0; border-bottom:1px solid #E9E9E6; color:#262626; font-size:18px; line-height:1.55;
}
/* Hairline BETWEEN steps only. The base `.ms-sdc.ms-sdc ol > li` adds a border-top
   (killed above); the last step drops its bottom line so there's no trailing rule. */
.ms-sdc.ms-sdc.measure-steps ol > li:last-child{ border-bottom:0; }
.ms-sdc.ms-sdc.measure-steps ol > li::before{
  content:counter(mstep); position:absolute; left:0; top:26px;
  width:46px; height:46px; border-radius:12px; background:#fff; border:1.5px solid #BFE4DF;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--ms-display); font-weight:600; font-size:20px; color:#007375;
}
.ms-sdc.measure-steps ol > li strong{
  display:block; font-family:var(--ms-display); font-weight:600; font-size:19px;
  color:#141414; line-height:1.14; margin:0 0 5px;
}
@media (max-width:640px){
  .ms-sdc.ms-sdc.measure-steps ol > li{ padding:22px 0 22px 58px; }
  .ms-sdc.ms-sdc.measure-steps ol > li::before{ width:42px; height:42px; font-size:18px; top:22px; }
}

/* ---------- regions-table (P7) — dark 3-col table (region/function/change) + sig-note.
   Pair on-dark centered. <ul>; first <li> = head row; strong=region, em=function. */
.ms-sdc--normal.regions-table .ms-sdc__inner{ max-width:880px; }
.ms-sdc.regions-table .ms-sdc__body > p:first-of-type{
  color:#EAF4F4; font-size:18px; line-height:1.6; margin:0 auto 44px; max-width:700px;
}
.ms-sdc.ms-sdc.regions-table ul{
  list-style:none; margin:0 auto; padding:0; max-width:880px; text-align:left;
  border-radius:16px; overflow:hidden; border:1px solid rgba(143,224,216,.18);
}
.ms-sdc.ms-sdc.regions-table ul > li{
  margin:0; padding:19px 26px; position:static; font-size:15.5px; color:#fff;
  display:grid; grid-template-columns:1.1fr 1.3fr 1.7fr; gap:20px; align-items:center;
  border-bottom:1px solid rgba(143,224,216,.12);
}
.ms-sdc.ms-sdc.regions-table ul > li:last-child{ border-bottom:0; }
.ms-sdc.ms-sdc.regions-table ul > li::before{ content:none; }
.ms-sdc.regions-table ul > li strong{ color:#fff; font-weight:600; }
.ms-sdc.regions-table ul > li em{ font-style:normal; color:#EAF4F4; }
.ms-sdc.regions-table ul > li:first-child{
  background:rgba(7,48,60,.5); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:#C4DCDC;
}
.ms-sdc.regions-table ul > li:first-child strong,
.ms-sdc.regions-table ul > li:first-child em{
  color:#C4DCDC; font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
}
.ms-sdc.ms-sdc.regions-table .ms-sdc__body > p:last-child{
  max-width:880px; margin:22px auto 0; text-align:center; color:#EAF4F4; font-size:14.5px;
}
.ms-sdc.regions-table .ms-sdc__body > p:last-child strong{ color:#8FE0D8; }
@media (max-width:900px){
  .ms-sdc.ms-sdc.regions-table ul > li{ grid-template-columns:1fr; gap:5px; }
  .ms-sdc.regions-table ul > li:first-child{ display:none; }
  .ms-sdc.regions-table ul > li em{ color:#C4DCDC; font-size:13px; }
}

/* ---------- compare-cards (P8) — 2 cards: plain "other" + teal-soft "us".
   Pair centered. <ul> of 2; em=tag, first strong=title, trailing text=body. */
.ms-sdc--normal.compare-cards .ms-sdc__inner{ max-width:880px; }
.ms-sdc.compare-cards .ms-sdc__body > p{
  color:#262626; font-size:18px; line-height:1.6; margin:0 auto 44px; max-width:700px;
}
.ms-sdc.ms-sdc.compare-cards ul{
  list-style:none; margin:0 auto; padding:0; max-width:880px; text-align:left;
  display:grid; grid-template-columns:1fr 1fr; gap:22px;
}
.ms-sdc.ms-sdc.compare-cards ul > li{
  margin:0; padding:30px 28px; position:static; border:1px solid #E9E9E6; border-radius:16px;
  background:#fff; color:#262626; font-size:17px; line-height:1.55;
}
.ms-sdc.ms-sdc.compare-cards ul > li::before{ content:none; }
.ms-sdc.compare-cards ul > li:nth-child(2){ border:1.5px solid #CDE3DF; background:#E4F1EF; }
.ms-sdc.compare-cards ul > li em{
  display:block; font-style:normal; font-family:'Archivo'; font-weight:600; font-size:12px;
  letter-spacing:.08em; text-transform:uppercase; margin:0 0 12px; color:#262626;
}
.ms-sdc.compare-cards ul > li:nth-child(2) em{ color:#007375; }
.ms-sdc.compare-cards ul > li strong:first-of-type{
  display:block; font-family:var(--ms-display); font-weight:600; font-size:19px;
  color:#141414; line-height:1.14; margin:0 0 9px;
}
@media (max-width:900px){ .ms-sdc.ms-sdc.compare-cards ul{ grid-template-columns:1fr; } }

/* ---------- review-cards (P9) — light testimonials (the light sibling of home-final).
   Pair centered. Same markup contract: <li><p>quote</p><p><img><strong>Name</strong><br>role</p></li>
   + trailing <p> rating (em=gold stars, mark=long tail). Avatars reuse the site files. */
.ms-sdc--normal.review-cards .ms-sdc__inner{ max-width:1032px; }
.ms-sdc.ms-sdc.review-cards ul{
  list-style:none; margin:42px 0 0; padding:0; text-align:left;
  display:grid; grid-template-columns:repeat(3,1fr); gap:20px;
}
.ms-sdc.ms-sdc.review-cards ul > li{
  margin:0; padding:26px; position:static; background:#fff; border:1px solid #E9E9E6; border-radius:16px;
}
.ms-sdc.ms-sdc.review-cards ul > li::before{
  content:"\2605\2605\2605\2605\2605"; display:block; color:#F2C14E; letter-spacing:2px;
  font-size:14px; margin:0 0 12px; position:static;
}
.ms-sdc.review-cards ul > li p{ font-size:18px; color:#1A1A1A; line-height:1.55; margin:0 0 18px; }
/* avatar row: float the image so the name STACKS over the role beside it (AI .tperson);
   a flex row would drop the <br> and put name+role side-by-side (wrong on mobile). */
.ms-sdc.review-cards ul > li p:last-child{
  margin:0; overflow:hidden; font-size:13.5px; color:#262626; line-height:1.4;
}
.ms-sdc.review-cards ul > li p:last-child img{
  float:left; width:48px; height:48px; border-radius:50%; object-fit:cover; margin-right:12px;
}
/* name = Recoleta ink (AI's 2nd .tcard .who block wins: display serif 16, #141414 — not teal) */
.ms-sdc.review-cards ul > li p:last-child strong{
  display:block; font-family:var(--ms-display); color:#141414; font-weight:600; font-size:16px; line-height:1.3;
}
.ms-sdc.review-cards .ms-sdc__body > p{ text-align:center; color:#262626; font-size:15px; margin:26px 0 0; }
.ms-sdc.review-cards .ms-sdc__body > p em{ font-style:normal; color:#F2C14E; letter-spacing:2px; }
.ms-sdc.review-cards .ms-sdc__body > p mark{ background:none; color:inherit; font:inherit; }
@media (max-width:900px){ .ms-sdc.ms-sdc.review-cards ul{ grid-template-columns:1fr; } }
/* NOTE: unlike the homepage gk-rating, the fMRT rating line keeps its full tail on
   mobile (the AI does NOT drop "· Hervorragend · über 60 Bewertungen" here). */

/* ---------- paper-download (P10) — study PDF card + fine print. Pair centered.
   blockquote = the card (baked doc medallion, strong=title, p=meta); CTA = field_simple_link. */
.ms-sdc--normal.paper-download .ms-sdc__inner{ max-width:900px; }
.ms-sdc.paper-download .ms-sdc__body > p:first-of-type{
  color:#262626; font-size:18px; line-height:1.6; margin:0 auto 44px; max-width:700px;
}
.ms-sdc.paper-download .ms-sdc__body blockquote{
  max-width:820px; margin:0 auto; text-align:left;
  background:#fff; border:1px solid #E9E9E6; border-radius:20px;
  box-shadow:0 20px 50px -34px rgba(11,60,73,.4); padding:28px 32px;
  display:grid; grid-template-columns:auto 1fr auto; grid-template-rows:auto auto;
  column-gap:24px; align-items:center;
}
.ms-sdc.paper-download .ms-sdc__body blockquote::before{
  content:""; grid-column:1; grid-row:1 / 3; align-self:center;
  width:60px; height:60px; border-radius:15px; background-color:#E4F1EF;
  background-repeat:no-repeat; background-position:center; background-size:28px 28px;
  background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23005E60' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'><path d='M14 3v5h5'/><path d='M14 3H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/><path d='M12 12v6'/><path d='M9 15l3 3 3-3'/></svg>");
}
.ms-sdc.paper-download .ms-sdc__body blockquote strong{
  grid-column:2; grid-row:1; align-self:end;
  display:block; font-family:var(--ms-display); font-weight:600; font-size:19px; color:#141414; margin:0 0 3px;
}
.ms-sdc.paper-download .ms-sdc__body blockquote p{
  grid-column:2; grid-row:2; align-self:start;
  font-family:'Archivo'; font-weight:400; color:#262626; font-size:15px; line-height:1.5; margin:0;
}
/* CTA = an untracked body <a> INSIDE the card, inline-right (AI .paperbox .btn) */
.ms-sdc.paper-download .ms-sdc__body blockquote a{
  grid-column:3; grid-row:1 / 3; align-self:center; justify-self:end;
  display:inline-flex; align-items:center; white-space:nowrap;
  background:#F3954A; color:#fff; font-family:'Archivo'; font-weight:700; font-size:18px; line-height:1.2;
  padding:17px 34px; border:0; border-radius:12px; text-decoration:none;
  box-shadow:0 8px 22px rgba(243,149,74,.38); transition:background .15s, transform .12s;
}
.ms-sdc.paper-download .ms-sdc__body blockquote a:hover{ background:#E67F32; color:#fff; transform:translateY(-1px); }
.ms-sdc.paper-download .ms-sdc__body > p:last-child{
  max-width:820px; margin:24px auto 0; text-align:center; color:#262626; font-size:14px; line-height:1.6;
}
@media (max-width:640px){
  .ms-sdc.paper-download .ms-sdc__body blockquote{
    grid-template-columns:1fr; text-align:center; justify-items:center; row-gap:4px; padding:26px;
  }
  .ms-sdc.paper-download .ms-sdc__body blockquote::before{ grid-column:1; grid-row:auto; margin:0 0 10px; }
  .ms-sdc.paper-download .ms-sdc__body blockquote strong{ grid-column:1; grid-row:auto; align-self:auto; }
  .ms-sdc.paper-download .ms-sdc__body blockquote p{ grid-column:1; grid-row:auto; align-self:auto; }
  .ms-sdc.paper-download .ms-sdc__body blockquote a{
    grid-column:1; grid-row:auto; justify-self:center; margin-top:14px; width:100%; justify-content:center;
  }
}

/* ====================================================================
   ÜBER UNS  (/ueber-uns-v3 · node body class `lp-ueberuns`)
   Reuses the `normal` SDC. Flags: head-center · lead-20 · team-cards ·
   trust-badges (+ reused study-hero / centered / on-dark / cta-orange).
   ==================================================================== */

/* Page accent: heading <em> = the design `.accent` word.
   teal on light bands, mint on dark bands. (mirrors the lp-fmrt rule) */
.lp-ueberuns .ms-sdc h1 em,
.lp-ueberuns .ms-sdc h2 em { font-style:normal; color:#007375; }
.lp-ueberuns .ms-sdc.on-dark h1 em,
.lp-ueberuns .ms-sdc.on-dark h2 em { color:#8FE0D8; }

/* Inner column = the design's `.narrow` 820px (SDC default caps at 760, which
   made section titles wrap + narrowed the team grid). Hero keeps its own 860. */
.lp-ueberuns .ms-sdc__inner { max-width:820px; }

/* Body <p> = 18px at EVERY width incl. mobile (SDC default drops to 16/17 on
   small screens). Hero lead (study-hero) and the team-card bio keep their own
   sizes (higher-specificity / !important rules win). */
.lp-ueberuns .ms-sdc:not(.study-hero) p { font-size:18px; }

/* --------------------------------------------------------------------
   lead-20 — first body <p> = the design's lead paragraph: 20px desktop,
   18px ≤640 (mobile). Every other <p> stays the 18px body size.
   Used by About + Apps. -------------------------------------------- */
.ms-sdc.lead-20 .ms-sdc__body > p:first-of-type { font-size:20px; line-height:1.6; }
@media (max-width:640px){
  .ms-sdc.lead-20 .ms-sdc__body > p:first-of-type { font-size:18px; }
}

/* --------------------------------------------------------------------
   head-center — centre the leading <h2> and drop its divider, but keep
   body <p> left-aligned (design's centred section-head over left body).
   -------------------------------------------------------------------- */
.ms-sdc.head-center .ms-sdc__body > h2:first-child { text-align:center; margin-bottom:34px !important; }
.ms-sdc.head-center h2::after { display:none !important; }
@media (max-width:640px){
  .ms-sdc.head-center .ms-sdc__body > h2:first-child { margin-bottom:16px !important; }
}

/* --------------------------------------------------------------------
   team-cards — <ul> → member cards. 2-col (960 max) → 1-col ≤860.
   White card r22, 3:2 photo on top (<img> or baked "Foto folgt" box),
   Recoleta <h3> name, teal <em> role, 16px muted bio, teal arrow link.
   Pair with `centered`. ---------------------------------------------- */
/* wider column so the 2-col grid reaches the design's ~466px cards (the 820px
   narrow inner would squeeze them). */
.ms-sdc.team-cards .ms-sdc__inner{ max-width:960px; }
.ms-sdc.team-cards .ms-sdc__body > ul{
  list-style:none; padding:0; margin:26px auto 0; max-width:960px;
  display:grid; grid-template-columns:1fr 1fr; gap:28px;
}
.ms-sdc.team-cards .ms-sdc__body > ul > li{
  margin:0; padding:0; text-align:left; overflow:hidden;
  background:#fff; border:1px solid #E9E9E6; border-radius:22px;
  display:flex; flex-direction:column;
  box-shadow:0 3px 14px rgba(18,52,48,.05);
}
/* photo: real <img> — direct child (clean/import form) OR wrapped in a <p>
   (CKEditor 5 block-wraps the image and stamps width/height on save; height:auto
   neutralises the stamped height so the 3:2 crop wins in both forms). */
.ms-sdc.team-cards .ms-sdc__body > ul > li > img,
.ms-sdc.team-cards .ms-sdc__body > ul > li > p:first-child > img{
  display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; margin:0; border-radius:0;
}
/* the CKEditor photo-wrapper <p> must sit flush at the card top (no gutter/margin) */
.ms-sdc.team-cards .ms-sdc__body > ul > li > p:first-child{ margin:0; padding:0; }
/* photo pending: baked teal-soft box */
.ms-sdc.team-cards .ms-sdc__body > ul > li:not(:has(img))::before{
  content:"Foto folgt"; display:flex; align-items:center; justify-content:center;
  aspect-ratio:3/2; background:#E4F1EF; color:#005E60; font-size:13px; letter-spacing:.03em;
}
/* content padding (no wrapper div available to editors) */
.ms-sdc.team-cards .ms-sdc__body > ul > li > h3,
.ms-sdc.team-cards .ms-sdc__body > ul > li > p{ padding-left:30px; padding-right:30px; }
.ms-sdc.team-cards .ms-sdc__body > ul > li > h3{
  font-family:'Recoleta' !important; font-weight:600 !important; font-size:22px !important;
  color:#141414 !important; line-height:1.2 !important; margin:28px 0 4px !important;
}
/* role = the <p> right after the name; its <em> = teal bold, non-italic */
.ms-sdc.team-cards .ms-sdc__body > ul > li > h3 + p{ margin:0 0 14px; }
.ms-sdc.team-cards .ms-sdc__body > ul > li > h3 + p em{
  font-style:normal; color:#007375; font-weight:700; font-size:14px; letter-spacing:.01em;
}
/* bio = the <p> after the role; grows so the "more" link sits card-bottom */
.ms-sdc.team-cards .ms-sdc__body > ul > li > h3 + p + p{
  color:#262626; font-size:16px !important; line-height:1.55; margin:0 0 16px; flex-grow:1;
}
/* last <p> anchors card bottom padding; "more" link = teal arrow */
.ms-sdc.team-cards .ms-sdc__body > ul > li > p:last-child{ margin-bottom:0; padding-bottom:30px; }
.ms-sdc.team-cards .ms-sdc__body > ul > li > p a{ color:#007375; font-weight:700; font-size:15px; }
.ms-sdc.team-cards .ms-sdc__body > ul > li > p a:hover{ color:#005E60; }
@media (max-width:860px){
  .ms-sdc.team-cards .ms-sdc__body > ul{ grid-template-columns:1fr; max-width:440px; }
}

/* --------------------------------------------------------------------
   trust-badges — <ul> → inline centred mint pills, baked icon per
   position (★ / check-circle / check). Pair `on-dark centered`.
   -------------------------------------------------------------------- */
.ms-sdc.trust-badges .ms-sdc__body > ul{
  list-style:none; padding:0; margin:30px 0 0;
  display:flex; flex-wrap:wrap; gap:14px; justify-content:center;
}
.ms-sdc.trust-badges .ms-sdc__body > ul > li{
  display:inline-flex; align-items:center; gap:9px; margin:0;
  background:rgba(143,224,216,.1); border:1px solid rgba(143,224,216,.3);
  color:#8FE0D8; padding:10px 18px; border-radius:999px; font-size:14px; font-weight:700;
}
.ms-sdc.trust-badges .ms-sdc__body > ul > li::before{
  content:""; width:16px; height:16px; flex:none; background:center/contain no-repeat;
}
.ms-sdc.trust-badges .ms-sdc__body > ul > li:nth-child(1)::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238FE0D8' stroke-width='2' stroke-linejoin='round' stroke-linecap='round'%3E%3Cpath d='M12 2l2.4 7.4H22l-6 4.6 2.3 7.4L12 17l-6.3 4.4L8 14 2 9.4h7.6z'/%3E%3C/svg%3E");
}
.ms-sdc.trust-badges .ms-sdc__body > ul > li:nth-child(2)::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238FE0D8' stroke-width='2' stroke-linejoin='round' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E");
}
.ms-sdc.trust-badges .ms-sdc__body > ul > li:nth-child(3)::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238FE0D8' stroke-width='2' stroke-linejoin='round' stroke-linecap='round'%3E%3Cpath d='M4 12l5 5L20 6'/%3E%3C/svg%3E");
}

/* ====================================================================
   UNTERNEHMEN  (/unternehmen · node body class `lp-unternehmen`)
   Source: unternehmen-export.html · Mapping: unternehmen/unternehmen_Mapping.md.
   Reuses the `normal` SDC (12 bands) + `hero` SDC (1, see hero.css unt-final).
   NEW flags (all here, scoped .ms-sdc.<flag>; page-scope under .lp-unternehmen):
     hero-trust · lead-statement · stat-cards · cost-card · contrast-cards ·
     fit-cards · method-cards · report-card · test-card · soft-quote
   Reuses: study-hero · measure-steps · centered · on-dark · cta-orange · lead-20.
   Palette petrol #115759, petrol-d #0C4143, mint #8FE0D8, teal #007375,
   teal-dark #005E60, teal-soft #E4F1EF, coral/warn #E8896F, orange CTA #F3954A,
   grey #EEF0F1, ink #141414, muted #262626. Breakpoints 900 / 820 / 640.
   Appended last → equal-specificity ties win on source order.
   ==================================================================== */

/* ---------- page-scope resets (body.lp-unternehmen) — style ONLY .ms-sdc ---------- */
.lp-unternehmen .ms-sdc{ font-family:'Archivo'; }
.lp-unternehmen .ms-sdc h2::after{ content:none !important; }
.lp-unternehmen .ms-sdc p{ font-size:18px; line-height:1.74; }
/* section <h2>: Recoleta 26→40, no divider, ink; on-dark → white */
.lp-unternehmen .ms-sdc h2{
  font-family:var(--ms-display) !important; font-weight:600 !important; color:#141414 !important;
  font-size:clamp(26px,4vw,40px) !important; line-height:1.14 !important;
  letter-spacing:-.3px !important; margin:0 0 16px !important;
}
.lp-unternehmen .ms-sdc.on-dark h2{ color:#fff !important; }
/* accent <em> in a heading: teal on light, mint on dark; coral in problem bands */
.lp-unternehmen .ms-sdc h1 em, .lp-unternehmen .ms-sdc h2 em{ font-style:normal; color:#007375; }
.lp-unternehmen .ms-sdc.on-dark h1 em, .lp-unternehmen .ms-sdc.on-dark h2 em{ color:#8FE0D8; }
.lp-unternehmen .ms-sdc.stat-cards h2 em,
.lp-unternehmen .ms-sdc.ripple-org h2 em,
.lp-unternehmen .ms-sdc.contrast-cards h2 em{ color:#E8896F !important; }
/* centred section-head width caps (design .section-head 740 / intro 660).
   margin auto needs !important to beat the page h2 rule's `margin:0 0 16px !important`,
   otherwise the capped block sits flush-left inside the wider inner. */
.lp-unternehmen .ms-sdc.centered .ms-sdc__body > h2{ max-width:760px; margin-left:auto !important; margin-right:auto !important; }
.lp-unternehmen .ms-sdc.centered .ms-sdc__body > h2 + p{ max-width:660px; margin-left:auto !important; margin-right:auto !important; }
/* section-head intro <p> (the p right after the leading h2) = 20px desktop / 18 mobile (D4) */
.lp-unternehmen .ms-sdc.stat-cards   .ms-sdc__body > h2 + p,
.lp-unternehmen .ms-sdc.ripple-org   .ms-sdc__body > h2 + p,
.lp-unternehmen .ms-sdc.contrast-cards .ms-sdc__body > h2 + p,
.lp-unternehmen .ms-sdc.fit-cards    .ms-sdc__body > h2 + p,
.lp-unternehmen .ms-sdc.measure-steps .ms-sdc__body > h2 + p,
.lp-unternehmen .ms-sdc.method-cards .ms-sdc__body > h2 + p{ font-size:20px; line-height:1.6; }
@media (max-width:640px){
  .lp-unternehmen .ms-sdc.stat-cards   .ms-sdc__body > h2 + p,
  .lp-unternehmen .ms-sdc.ripple-org   .ms-sdc__body > h2 + p,
  .lp-unternehmen .ms-sdc.contrast-cards .ms-sdc__body > h2 + p,
  .lp-unternehmen .ms-sdc.fit-cards    .ms-sdc__body > h2 + p,
  .lp-unternehmen .ms-sdc.measure-steps .ms-sdc__body > h2 + p,
  .lp-unternehmen .ms-sdc.method-cards .ms-sdc__body > h2 + p{ font-size:18px; }
}

/* ---------- Band 1 · hero-trust — orange Simple-Link CTA + inline mint-icon
   trust row. Pairs with study-hero (h1/lead) + on-dark centered.
   The CTA is a tracked field_simple_link (links.md rule 1), rendered by the
   normal SDC in .ms-sdc__actions AFTER the body. To keep the design order
   (h1 → lead → button → trust), the body is display:contents so its children
   join the inner flex context, and the actions are ordered between the lead
   and the trust <ul>. ---------------------------------------------------- */
.lp-unternehmen .ms-sdc--normal.study-hero p{ max-width:660px; }
.ms-sdc.hero-trust .ms-sdc__inner{ display:flex; flex-direction:column; align-items:center; }
.ms-sdc.hero-trust .ms-sdc__body{ display:contents; }
.ms-sdc.hero-trust .ms-sdc__body > h1,
.ms-sdc.hero-trust .ms-sdc__body > p{ width:100%; }
.ms-sdc.hero-trust .ms-sdc__actions{ order:2; margin:32px 0 0; }
.ms-sdc.hero-trust .ms-sdc__link{ margin:0; }
.ms-sdc.hero-trust .ms-sdc__link a{
  display:inline-flex; align-items:center; gap:10px; white-space:nowrap !important;
  background:#F3954A !important; color:#fff !important;
  font-family:'Archivo' !important; font-weight:700 !important; font-size:18px !important; line-height:1.65 !important;
  padding:17px 34px !important; border:0 !important; border-radius:12px !important;
  box-shadow:0 8px 22px rgba(243,149,74,.38) !important; text-decoration:none !important; margin:0 !important;
  transition:background .18s, transform .12s, box-shadow .2s;
}
.ms-sdc.hero-trust .ms-sdc__link a:hover{
  background:#E67F32 !important; color:#fff !important;
  transform:translateY(-2px); box-shadow:0 12px 30px rgba(243,149,74,.5) !important;
}
/* mobile: full-width button that may wrap (matches the design .btn ≤640) */
@media (max-width:640px){
  .ms-sdc.hero-trust .ms-sdc__link{ width:100%; }
  .ms-sdc.hero-trust .ms-sdc__link a{ white-space:normal !important; width:100%; justify-content:center; }
}
.ms-sdc.hero-trust .ms-sdc__body > ul{
  order:3; list-style:none; padding:0; margin:30px 0 0;
  display:flex; flex-wrap:wrap; gap:26px; justify-content:center;
}
.ms-sdc.hero-trust .ms-sdc__body > ul > li{
  display:inline-flex; align-items:center; gap:8px; margin:0;
  color:#EAF4F4; font-size:14px; font-weight:400;
}
.ms-sdc.hero-trust .ms-sdc__body > ul > li::before{
  content:""; width:17px; height:17px; flex:none; background:center/contain no-repeat;
}
.ms-sdc.hero-trust .ms-sdc__body > ul > li:nth-child(1)::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238FE0D8' stroke-width='2' stroke-linejoin='round' stroke-linecap='round'%3E%3Cpath d='M12 2l2.4 7.4H22l-6 4.6 2.3 7.4L12 17l-6.3 4.4L8 14 2 9.4h7.6z'/%3E%3C/svg%3E");
}
.ms-sdc.hero-trust .ms-sdc__body > ul > li:nth-child(2)::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238FE0D8' stroke-width='2' stroke-linejoin='round' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E");
}
@media (max-width:640px){ .ms-sdc.hero-trust .ms-sdc__body p a{ width:100%; justify-content:center; } }

/* ---------- Band 2 · lead-statement — big Recoleta line + muted sub. Pair centered. */
.ms-sdc--normal.lead-statement .ms-sdc__inner{ max-width:900px; }
.ms-sdc.lead-statement .ms-sdc__body > p:first-child{
  font-family:var(--ms-display); font-weight:600; color:#141414;
  font-size:clamp(24px,3.2vw,34px); line-height:1.3; letter-spacing:-.01em;
  max-width:860px; margin:0 auto; text-align:center;
}
.ms-sdc.lead-statement .ms-sdc__body > p:first-child + p{
  color:#262626; font-size:20px; line-height:1.6; max-width:660px; margin:24px auto 0; text-align:center;
}
@media (max-width:640px){ .ms-sdc.lead-statement .ms-sdc__body > p:first-child + p{ font-size:18px; } }

/* ---------- Bands 3+4 · stat-cards — coral-number cards + source note.
   Light = 3-col white (band 3); on-dark = 2-col glass on petrol (band 4). */
.ms-sdc--normal.stat-cards .ms-sdc__inner{ max-width:1000px; }
.ms-sdc.ms-sdc.stat-cards ul{
  list-style:none; margin:44px auto 0; padding:0; text-align:left;
  display:grid; grid-template-columns:repeat(3,1fr); gap:24px;
}
.ms-sdc.ms-sdc.stat-cards ul > li{
  margin:0; padding:32px 30px; position:static;
  background:#fff; border:1px solid #E9E9E6; border-radius:20px;
  box-shadow:0 3px 14px rgba(18,52,48,.05); color:#262626; font-size:16px; line-height:1.55;
}
.ms-sdc.ms-sdc.stat-cards ul > li::before{ content:none; }
.ms-sdc.stat-cards ul > li em{
  display:block; font-style:normal; font-family:var(--ms-display); font-weight:600;
  font-size:52px; line-height:1; color:#E8896F; margin:0 0 10px;
}
.ms-sdc.stat-cards ul > li strong{
  display:block; font-family:var(--ms-display); font-weight:600; font-size:20px;
  color:#141414; line-height:1.14; margin:0 0 8px;
}
.ms-sdc.stat-cards .ms-sdc__body > p:last-child{
  text-align:center; color:#262626; font-size:13.5px; margin:28px auto 0; max-width:760px;
}
@media (max-width:900px){
  .ms-sdc.ms-sdc.stat-cards ul{ grid-template-columns:1fr; }
}

/* ---------- Band 4 · ripple-org — baked org-transfer diagram (left) + influence
   stat cards (right) + source note. Markup is a gated branch in normal.twig
   (renders only for this flag). Pair on-dark centered. Band bg petrol #115759.
   Reproduces the export's .orgwrap/.org/.orgnode/.rstat exactly. --------- */
.ms-sdc--normal.ripple-org .ms-sdc__inner{ max-width:960px; }
.ms-sdc.ripple-org .ms-sdc__orgwrap{
  max-width:900px; margin:44px auto 0; display:grid; grid-template-columns:1fr 1fr;
  gap:40px; align-items:center; text-align:left;
}
.ms-sdc.ripple-org .ms-org{ display:flex; flex-direction:column; align-items:center; }
.ms-sdc.ripple-org .ms-orgnode{ width:100%; max-width:300px; border-radius:16px; padding:20px 22px; text-align:center; }
.ms-sdc.ripple-org .ms-orgnode--leader{ background:rgba(232,137,111,.14); border:1px solid rgba(232,137,111,.55); }
.ms-sdc.ripple-org .ms-orgnode--team{ background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.16); }
.ms-sdc.ripple-org .ms-org-ic{ width:48px; height:48px; border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto 10px; }
.ms-sdc.ripple-org .ms-orgnode--leader .ms-org-ic{ background:rgba(232,137,111,.2); }
.ms-sdc.ripple-org .ms-org-ic svg{ width:25px; height:25px; stroke:#E8896F; fill:none; stroke-width:2; }
.ms-sdc.ripple-org .ms-org-t{ display:block; font-family:var(--ms-display); font-weight:600; color:#fff; font-size:17px; line-height:1.2; }
.ms-sdc.ripple-org .ms-org-s{ display:block; margin-top:6px; font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.ms-sdc.ripple-org .ms-orgnode--leader .ms-org-s{ color:#E8896F; }
.ms-sdc.ripple-org .ms-orgnode--team .ms-org-s{ color:#8FE0D8; }
.ms-sdc.ripple-org .ms-orgline{ width:2px; height:30px; background:rgba(255,255,255,.28); }
.ms-sdc.ripple-org .ms-avrow{ display:flex; gap:8px; justify-content:center; margin-top:12px; }
.ms-sdc.ripple-org .ms-av{ width:34px; height:34px; border-radius:50%; background:rgba(255,255,255,.1); display:flex; align-items:center; justify-content:center; }
.ms-sdc.ripple-org .ms-av svg{ width:18px; height:18px; stroke:#EAF4F4; fill:none; stroke-width:2; }
.ms-sdc.ripple-org .ms-influence{ display:flex; flex-direction:column; gap:20px; }
.ms-sdc.ripple-org .ms-rstat{ background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.16); border-radius:18px; padding:26px 28px; text-align:left; }
.ms-sdc.ripple-org .ms-rstat-big{ display:block; font-family:var(--ms-display); font-weight:600; font-size:46px; color:#E8896F; line-height:1; margin-bottom:8px; }
.ms-sdc.ripple-org .ms-rstat-t{ display:block; font-family:var(--ms-display); font-weight:600; color:#fff; font-size:19px; line-height:1.2; margin-bottom:6px; }
.ms-sdc.ripple-org .ms-rstat-p{ display:block; color:#EAF4F4; font-size:15px; line-height:1.5; }
.ms-sdc.ripple-org .ms-src{ max-width:900px; margin:22px auto 0; text-align:center; color:#C4DCDC; font-size:13.5px; line-height:1.5; }
@media (max-width:760px){ .ms-sdc.ripple-org .ms-sdc__orgwrap{ grid-template-columns:1fr; gap:28px; } }

/* ---------- Band 5 · cost-card — single centred white card, huge coral number.
   Pair centered. Band bg grey #EEF0F1. -------------------------------- */
.ms-sdc--normal.cost-card .ms-sdc__inner{ max-width:900px; }
.ms-sdc.cost-card .ms-sdc__body{
  background:#fff; border:1px solid #E9E9E6; border-radius:22px;
  padding:clamp(32px,5vw,48px); text-align:center; box-shadow:0 8px 30px rgba(18,52,48,.07);
}
.ms-sdc.cost-card .ms-sdc__body > p:first-child{
  font-family:var(--ms-display); font-weight:600; color:#E8896F;
  font-size:clamp(48px,8vw,82px); line-height:1; letter-spacing:-.02em; margin:0;
}
.ms-sdc.cost-card .ms-sdc__body h3{
  font-family:var(--ms-display) !important; font-weight:600 !important; color:#141414 !important;
  font-size:24px !important; line-height:1.2 !important; margin:10px 0 14px !important;
}
.ms-sdc.cost-card .ms-sdc__body > p:last-child{
  color:#262626; font-size:18px; line-height:1.6; max-width:620px; margin:0 auto;
}

/* ---------- Band 6 · contrast-cards — intro text + 2 cards (✕ white / ✓ teal-soft,
   each = <em> badge + <strong> title + nested <ul>) + closing p. Pair centered. */
.ms-sdc--normal.contrast-cards .ms-sdc__inner{ max-width:900px; }
.ms-sdc.contrast-cards .ms-sdc__body > p{ text-align:center; color:#262626; max-width:820px; margin:0 auto 18px; }
.ms-sdc.contrast-cards .ms-sdc__body > ul{
  list-style:none; margin:40px auto 0; padding:0; max-width:900px; text-align:left;
  display:grid; grid-template-columns:1fr 1fr; gap:20px;
}
.ms-sdc.contrast-cards .ms-sdc__body > ul > li{
  margin:0; padding:30px 28px; border-radius:20px; box-shadow:0 3px 14px rgba(18,52,48,.05);
  background:#fff; border:1px solid #E9E9E6;
}
.ms-sdc.contrast-cards .ms-sdc__body > ul > li:nth-child(2){ background:#E4F1EF; border:1px solid #CDE3DF; }
.ms-sdc.contrast-cards .ms-sdc__body > ul > li::before{ content:none; }
.ms-sdc.contrast-cards .ms-sdc__body > ul > li em{
  display:inline-flex; align-items:center; gap:8px; font-style:normal;
  font-size:12.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; margin:0 0 16px;
}
.ms-sdc.contrast-cards .ms-sdc__body > ul > li:nth-child(1) em{ color:#B07A4E; }
.ms-sdc.contrast-cards .ms-sdc__body > ul > li:nth-child(2) em{ color:#005E60; }
.ms-sdc.contrast-cards .ms-sdc__body > ul > li em::before{
  content:"\2715"; width:22px; height:22px; border-radius:50%; flex:none;
  display:inline-flex; align-items:center; justify-content:center;
  font-size:13px; color:#fff; background:#C89478;
}
.ms-sdc.contrast-cards .ms-sdc__body > ul > li:nth-child(2) em::before{ content:"\2713"; background:#007375; }
.ms-sdc.contrast-cards .ms-sdc__body > ul > li strong{
  display:block; font-family:var(--ms-display); font-weight:600; font-size:19px;
  color:#141414; line-height:1.14; margin:0 0 14px;
}
.ms-sdc.contrast-cards .ms-sdc__body > ul > li ul{
  list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:11px;
}
.ms-sdc.contrast-cards .ms-sdc__body > ul > li ul > li{
  position:relative; padding-left:26px; font-size:16px; line-height:1.5; color:#262626; margin:0;
}
.ms-sdc.contrast-cards .ms-sdc__body > ul > li ul > li::before{ position:absolute; left:0; top:1px; font-weight:700; }
.ms-sdc.contrast-cards .ms-sdc__body > ul > li:nth-child(1) ul > li::before{ content:"\2715"; color:#C89478; }
.ms-sdc.contrast-cards .ms-sdc__body > ul > li:nth-child(2) ul > li::before{ content:"\2713"; color:#007375; }
.ms-sdc.contrast-cards .ms-sdc__body > ul + p{
  text-align:center; color:#262626; font-size:18px; max-width:760px; margin:32px auto 0;
}
@media (max-width:640px){ .ms-sdc.contrast-cards .ms-sdc__body > ul{ grid-template-columns:1fr; } }

/* ---------- Band 8 · fit-cards — 2 cards (✓ teal-soft / – grey, each = <strong>
   title w/ leading marker + nested <ul>) + lead-20 post-list p + muted p. Pair centered. */
.ms-sdc--normal.fit-cards .ms-sdc__inner{ max-width:900px; }
.ms-sdc.fit-cards .ms-sdc__body > ul{
  list-style:none; margin:34px auto 30px; padding:0; max-width:900px; text-align:left;
  display:grid; grid-template-columns:1fr 1fr; gap:20px;
}
.ms-sdc.fit-cards .ms-sdc__body > ul > li{
  margin:0; padding:30px 28px; border-radius:20px;
  background:#E4F1EF; border:1px solid #CDE3DF;
}
.ms-sdc.fit-cards .ms-sdc__body > ul > li:nth-child(2){ background:#EEF0F1; border:1px solid #E9E9E6; }
.ms-sdc.fit-cards .ms-sdc__body > ul > li::before{ content:none; }
.ms-sdc.fit-cards .ms-sdc__body > ul > li strong{
  display:flex; align-items:center; gap:10px;
  font-family:var(--ms-display); font-weight:600; font-size:19px; color:#141414; line-height:1.14; margin:0 0 16px;
}
.ms-sdc.fit-cards .ms-sdc__body > ul > li strong::before{
  content:"\2713"; width:26px; height:26px; border-radius:50%; flex:none;
  display:inline-flex; align-items:center; justify-content:center; color:#fff; font-size:15px; background:#007375;
}
.ms-sdc.fit-cards .ms-sdc__body > ul > li:nth-child(2) strong::before{ content:"\2013"; background:#A9B4B4; }
.ms-sdc.fit-cards .ms-sdc__body > ul > li ul{
  list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:11px;
}
.ms-sdc.fit-cards .ms-sdc__body > ul > li ul > li{
  position:relative; padding-left:26px; font-size:16px; line-height:1.5; color:#262626; margin:0;
}
.ms-sdc.fit-cards .ms-sdc__body > ul > li ul > li::before{ position:absolute; left:0; top:1px; font-weight:700; }
.ms-sdc.fit-cards .ms-sdc__body > ul > li:nth-child(1) ul > li::before{ content:"\2713"; color:#007375; }
.ms-sdc.fit-cards .ms-sdc__body > ul > li:nth-child(2) ul > li::before{ content:"\2013"; color:#A9B4B4; }
.ms-sdc.fit-cards .ms-sdc__body > ul + p{ font-size:20px; line-height:1.6; color:#262626; text-align:center; max-width:820px; margin:0 auto; }
.ms-sdc.fit-cards .ms-sdc__body > ul + p + p{ font-size:18px; line-height:1.6; color:#262626; text-align:left; max-width:820px; margin:18px auto 0; }
@media (max-width:640px){
  .ms-sdc.fit-cards .ms-sdc__body > ul{ grid-template-columns:1fr; }
  .ms-sdc.fit-cards .ms-sdc__body > ul + p{ font-size:18px; }
}

/* ---------- Band 9 · method-cards — 2-col dark icon cards + src link. Pair on-dark centered. */
.ms-sdc--normal.method-cards .ms-sdc__inner{ max-width:960px; }
.ms-sdc.ms-sdc.method-cards ul{
  list-style:none; margin:0 auto; padding:0; max-width:760px; text-align:center;
  display:grid; grid-template-columns:1fr 1fr; gap:22px;
}
.ms-sdc.ms-sdc.method-cards ul > li{
  margin:0; padding:32px 30px; position:static; text-align:center;
  background:rgba(255,255,255,.06); border:1px solid rgba(143,224,216,.22); border-radius:18px;
  color:#EAF4F4; font-size:16px; line-height:1.55;
}
.ms-sdc.ms-sdc.method-cards ul > li::before{
  content:""; display:block; width:56px; height:56px; border-radius:15px; margin:0 auto 18px;
  background-color:rgba(143,224,216,.14); background-repeat:no-repeat; background-position:center; background-size:27px 27px;
}
.ms-sdc.method-cards ul > li:nth-child(1)::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238FE0D8' stroke-width='2' stroke-linejoin='round' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E");
}
.ms-sdc.method-cards ul > li:nth-child(2)::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238FE0D8' stroke-width='2' stroke-linejoin='round' stroke-linecap='round'%3E%3Cpath d='M12 2l2.4 7.4H22l-6 4.6 2.3 7.4L12 17l-6.3 4.4L8 14 2 9.4h7.6z'/%3E%3C/svg%3E");
}
.ms-sdc.method-cards ul > li strong{
  display:block; font-family:var(--ms-display); font-weight:600; font-size:19px; color:#fff; line-height:1.14; margin:0 0 8px;
}
.ms-sdc.method-cards .ms-sdc__body > p:last-child{ text-align:center; margin:26px 0 0; font-size:14px; color:#EAF4F4; }
.ms-sdc.method-cards .ms-sdc__body > p:last-child a{ color:#8FE0D8 !important; font-weight:700; }
@media (max-width:900px){ .ms-sdc.ms-sdc.method-cards ul{ grid-template-columns:1fr; } }

/* ---------- Band 10 · report-card — petrol card, copy left + Simple-Link CTA right.
   Pair on-dark. Band bg white. CTA = field_simple_link (cta-orange). ---- */
.ms-sdc--normal.report-card .ms-sdc__inner{
  max-width:920px; background:#115759; border-radius:22px;
  padding:clamp(32px,4vw,46px); box-shadow:0 8px 30px rgba(18,52,48,.10);
  display:grid; grid-template-columns:1fr auto; gap:40px; align-items:center;
}
.ms-sdc.report-card .ms-sdc__body{ min-width:0; }
.ms-sdc.report-card .ms-sdc__body h4{ color:#8FE0D8 !important; margin:0 0 12px !important; }
.ms-sdc.report-card .ms-sdc__body h3{
  font-family:var(--ms-display) !important; font-weight:600 !important; color:#fff !important;
  font-size:26px !important; line-height:1.14 !important; margin:0 0 12px !important;
}
.ms-sdc.report-card .ms-sdc__body p{ color:#EAF4F4; font-size:16px !important; line-height:1.6; margin:0; max-width:540px; }
.ms-sdc.report-card .ms-sdc__actions{ margin:0; }
.ms-sdc.report-card .ms-sdc__link a{ white-space:nowrap; }
@media (max-width:900px){
  .ms-sdc--normal.report-card .ms-sdc__inner{ grid-template-columns:1fr; text-align:center; gap:26px; }
  .ms-sdc.report-card .ms-sdc__body p{ margin:0 auto; }
}

/* ---------- Band 11 · test-card — white card, single col, left-aligned + CTA.
   Band bg grey #EEF0F1. CTA = field_simple_link (cta-orange). ---------- */
.ms-sdc--normal.test-card .ms-sdc__inner{
  max-width:940px; background:#fff; border:1px solid #E9E9E6; border-radius:22px;
  padding:clamp(32px,4vw,46px); box-shadow:0 8px 30px rgba(18,52,48,.07);
}
.ms-sdc.test-card .ms-sdc__body h2{
  font-size:clamp(26px,3.4vw,34px) !important; margin:0 0 14px !important; text-align:left !important;
}
.ms-sdc.test-card .ms-sdc__body p{ color:#262626; font-size:18px !important; line-height:1.6; max-width:680px; margin:0 0 12px; }
.ms-sdc.test-card .ms-sdc__body p:last-child{ font-size:15px !important; color:#262626; }
.ms-sdc.test-card .ms-sdc__body p em{ font-style:italic; }
.ms-sdc.test-card .ms-sdc__actions{ margin:18px 0 0; text-align:left; }

/* ---------- Band 12 · soft-quote — teal-soft card, Recoleta quote + muted p.
   Pair centered. Band bg white. -------------------------------------- */
.ms-sdc--normal.soft-quote .ms-sdc__inner{ max-width:820px; }
.ms-sdc.soft-quote .ms-sdc__body{
  background:#E4F1EF; border:1px solid #CDE3DF; border-radius:22px;
  padding:clamp(34px,4vw,48px); text-align:center;
}
.ms-sdc.soft-quote .ms-sdc__body > p:first-child{
  font-family:var(--ms-display); font-weight:600; color:#141414;
  font-size:clamp(23px,3vw,32px); line-height:1.35; letter-spacing:-.01em; margin:0 0 18px;
}
.ms-sdc.soft-quote .ms-sdc__body > p:first-child + p{ color:#262626; font-size:18px; line-height:1.6; margin:0; }

/* ---------- Band 7 · measure-steps badge tweak (reused SDC flag) — match the
   design's teal-soft rounded-square badge (base ships teal-fill + mint border).
   Scoped to .lp-unternehmen so fMRT P6 stays byte-identical. -------------- */
.lp-unternehmen .ms-sdc.ms-sdc.measure-steps ol > li::before{
  background:#E4F1EF; border:1px solid #CDE3DF; color:#005E60;
  width:52px; height:52px; border-radius:14px; font-size:22px;
}
.lp-unternehmen .ms-sdc.ms-sdc.measure-steps ol > li{ padding:26px 0 26px 76px; }
/* step title = design .chain-step h3 (20px, was 19px on the reused flag) */
.lp-unternehmen .ms-sdc.measure-steps ol > li strong{ font-size:20px; }
.lp-unternehmen .ms-sdc.measure-steps .ms-sdc__body > ol + p{
  text-align:center; font-size:16px; color:#262626; max-width:820px; margin:32px auto 0;
}
@media (max-width:640px){
  .lp-unternehmen .ms-sdc.ms-sdc.measure-steps ol > li{ padding:22px 0 22px 62px; }
  .lp-unternehmen .ms-sdc.ms-sdc.measure-steps ol > li::before{ width:46px; height:46px; font-size:20px; }
}


/* =====================================================================
   >>> APPEND THIS WHOLE FILE to the END of:
   web/themes/custom/bootsass/components/normal/normal.css
   (it only ADDS rules — nothing above is touched). Then `ddev drush cr`.
   All rules are scoped under .lp-kundenstimmen / .ms-sdc* (never global).
   ===================================================================== */

/* =====================================================================
   KUNDENSTIMMEN  (/kundenstimmen · basic_page_container · body.lp-kundenstimmen)
   6 bands (5 on `normal` + 1 on `hero`):
     B1 hero  = on-dark centered study-hero            (REUSE)
     B2 bar   = on-dark result-bar                     (NEW · here)
     B3 stories = story-cards                          (NEW · here; per-card viz = inline <img>)
     B4 podcast = on-dark podcast-cards                (NEW · here)
     B5 reviews = review-grid  (+ page overrides)      (REUSE homepage flag)
     B6 final = on-dark unt-final                      (REUSE · hero.css)
   Palette: petrol #115759, petrol-d #0C4143, mint #8FE0D8, teal #007375,
   teal-soft #E4F1EF, gold #F2C14E, coral #C56B5C, green #3EA36B, grey #EEF0F1.
   Breakpoints (this page's own): 940 / 760 / 600.
   ===================================================================== */

/* ---------- page-scope resets (body.lp-kundenstimmen) — style ONLY .ms-sdc ---------- */
.lp-kundenstimmen .ms-sdc{ font-family:'Archivo'; }
.lp-kundenstimmen .ms-sdc h2::after{ content:none !important; }
/* body <p> = 18px at EVERY width (Hard-constraint 6a); hero lead keeps its own size */
.lp-kundenstimmen .ms-sdc:not(.study-hero) p{ font-size:18px; line-height:1.65; }
/* section <h2>: Recoleta 26→40, no divider, ink; on-dark → white */
.lp-kundenstimmen .ms-sdc h2{
  font-family:var(--ms-display) !important; font-weight:600 !important; color:#141414 !important;
  font-size:clamp(26px,4vw,40px) !important; line-height:1.14 !important;
  letter-spacing:-.01em !important; margin:0 0 14px !important;
}
.lp-kundenstimmen .ms-sdc.on-dark h2{ color:#fff !important; }
/* accent <em> in a heading: teal on light, mint on dark (mirrors lp-fmrt) */
.lp-kundenstimmen .ms-sdc h1 em, .lp-kundenstimmen .ms-sdc h2 em{ font-style:normal; color:#007375; }
.lp-kundenstimmen .ms-sdc.on-dark h1 em, .lp-kundenstimmen .ms-sdc.on-dark h2 em{ color:#8FE0D8; }

/* ---------- B2 · result-bar — dark 4-col stat strip (big mint Recoleta number
   over small light label). <ul> of 4 <li> = <strong>number</strong> + label text.
   Pair on-dark; band bg #0C4143; set band padding 0 (the <li> owns the 30px pad). ---------- */
.ms-sdc--normal.result-bar .ms-sdc__inner{ max-width:1120px; }
.ms-sdc.ms-sdc.result-bar ul{
  list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); text-align:center;
}
.ms-sdc.ms-sdc.result-bar ul > li{
  margin:0; padding:30px 18px; position:static;
  border-right:1px solid rgba(143,224,216,.13);
  color:#EAF4F4; font-size:13.5px; line-height:1.4;
}
.ms-sdc.ms-sdc.result-bar ul > li::before{ content:none; }
.ms-sdc.result-bar ul > li:last-child{ border-right:none; }
.ms-sdc.result-bar ul > li strong{
  display:block; font-family:var(--ms-display); font-weight:600; font-size:34px; line-height:1;
  color:#8FE0D8; margin:0 0 9px;
}
@media (max-width:940px){
  .ms-sdc.ms-sdc.result-bar ul{ grid-template-columns:1fr 1fr; }
  .ms-sdc.result-bar ul > li:nth-child(2){ border-right:none; }
  .ms-sdc.result-bar ul > li:nth-child(1),
  .ms-sdc.result-bar ul > li:nth-child(2){ border-bottom:1px solid rgba(143,224,216,.13); }
}

/* ---------- B3 · story-cards — 2-col grid of white story cards. Each <li>:
     <p> meta (inline <img> avatar + <strong>Name</strong> + role text)
     <h3> title
     <p> teaser
     <p><img> stress-viz graphic   ← OR   <blockquote> quote box (cards 7–8)
     <p><a> "Mehr erfahren →"
   Body also: <h2> + intro <p>  …ul…  <p><a> ghost button  +  <p> note.
   1-col ≤940. Header centred; card text left. ---------- */
.ms-sdc--normal.story-cards .ms-sdc__inner{ max-width:1120px; }
/* centred section head */
.ms-sdc--normal.story-cards .ms-sdc__body > h2{ text-align:center; }
.ms-sdc--normal.story-cards .ms-sdc__body > h2 + p{
  text-align:center; max-width:720px; margin:0 auto 46px !important; color:#262626;
}
/* the grid */
.ms-sdc.ms-sdc.story-cards .ms-sdc__body ul{
  list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:26px;
}
.ms-sdc.ms-sdc.story-cards .ms-sdc__body ul > li{
  margin:0; position:static; background:#fff; border:1px solid #E9E9E6; border-radius:20px;
  padding:30px 30px 26px; display:flex; flex-direction:column; text-align:left;
}
.ms-sdc.ms-sdc.story-cards .ms-sdc__body ul > li::before{ content:none; }
/* meta row (first <p>): avatar left, name over role */
.lp-kundenstimmen .ms-sdc.story-cards ul > li > p:first-child{
  position:relative; min-height:52px; padding-left:64px; margin:0 0 18px !important;
  display:flex; flex-direction:column; justify-content:center;
  font-size:13.5px; line-height:1.35; color:#262626;
}
.lp-kundenstimmen .ms-sdc.story-cards ul > li > p:first-child img{
  position:absolute; left:0; top:50%; transform:translateY(-50%);
  width:52px; height:52px; border-radius:50%; object-fit:cover; margin:0;
}
.lp-kundenstimmen .ms-sdc.story-cards ul > li > p:first-child strong{
  font-family:var(--ms-display); font-weight:600; font-size:16px; color:#141414; line-height:1.2;
}
/* title */
.lp-kundenstimmen .ms-sdc.story-cards ul > li h3{
  font-family:var(--ms-display) !important; font-weight:600 !important; font-style:normal !important;
  font-size:20px !important; line-height:1.3 !important; color:#141414 !important; margin:0 0 12px !important;
}
.lp-kundenstimmen .ms-sdc.story-cards ul > li h3::after{ content:none !important; }
/* teaser (the <p> after the title) — flex-grows to push the viz + link down */
.lp-kundenstimmen .ms-sdc.story-cards ul > li h3 + p{
  color:#1A1A1A; font-size:18px; line-height:1.55; margin:0 0 22px; flex-grow:1;
}
/* stress-viz graphic (any <img> that isn't the avatar) */
.lp-kundenstimmen .ms-sdc.story-cards ul > li > p:not(:first-child) img{
  display:block; width:100%; height:auto; border-radius:14px; margin:0;
}
.lp-kundenstimmen .ms-sdc.story-cards ul > li > p:not(:first-child){ margin:0 0 22px; }
/* quote box variant (cards 7–8) */
.lp-kundenstimmen .ms-sdc.story-cards ul > li blockquote{
  background:#EEF0F1; border:0; border-left:3px solid #8FE0D8; border-radius:14px;
  padding:16px 20px; margin:0 0 22px; color:#115759; font-size:15px; font-style:italic; line-height:1.5;
}
.lp-kundenstimmen .ms-sdc.story-cards ul > li blockquote p{ margin:0; font-size:15px; }
/* "Mehr erfahren →" read-more (last <p> a) */
.lp-kundenstimmen .ms-sdc.story-cards ul > li > p:last-child{ margin:0; }
.lp-kundenstimmen .ms-sdc.story-cards ul > li a{ color:#007375; font-weight:600; font-size:15px; text-decoration:none; }
/* ghost button (the <p> right after the ul) + note (last <p>) */
.lp-kundenstimmen .ms-sdc.story-cards .ms-sdc__body > ul + p{ text-align:center; margin:42px 0 0; }
.lp-kundenstimmen .ms-sdc.story-cards .ms-sdc__body > ul + p a{
  display:inline-flex; align-items:center; gap:8px; background:transparent; color:#007375;
  border:1.5px solid #BFE4DF; border-radius:12px; padding:15px 30px; font-weight:700; font-size:17px;
}
.lp-kundenstimmen .ms-sdc.story-cards .ms-sdc__body > ul + p + p{
  text-align:center; max-width:760px; margin:26px auto 0; color:#262626; font-size:14px !important; line-height:1.55;
}
@media (max-width:940px){
  .ms-sdc.ms-sdc.story-cards .ms-sdc__body ul{ grid-template-columns:1fr; }
}
/* mobile ≤600 — match the mockup so the card (and the stress-viz <img> inside it)
   render at the design's width. Mockup: .wrap{padding:0 20px} + .story{padding:24px 22px}.
   Base .ms-sdc gutter is 24px until ≤420; the card pad was a flat 30px — both over-inset
   the card on phones, which also shrank the viz image. */
@media (max-width:600px){
  .lp-kundenstimmen .ms-sdc.story-cards{ padding-left:20px; padding-right:20px; }
  .lp-kundenstimmen .ms-sdc.ms-sdc.story-cards .ms-sdc__body ul > li{ padding:24px 22px 22px; }
}

/* ---------- B4 · podcast-cards — dark petrol; 2-col grid of YouTube link cards.
   <ul> of <li> each = <a href><strong>Name</strong>desc</a>. Play circle (::before)
   + "▶ Auf YouTube ansehen" cta (::after) baked. Pair on-dark. Header centred white. ---------- */
.ms-sdc--normal.podcast-cards .ms-sdc__inner{ max-width:900px; }
.ms-sdc--normal.podcast-cards .ms-sdc__body > h2{ text-align:center; }
.ms-sdc--normal.podcast-cards .ms-sdc__body > h2 + p{
  text-align:center; max-width:660px; margin:0 auto 46px !important; color:#EAF4F4;
}
.ms-sdc.ms-sdc.podcast-cards .ms-sdc__body ul{
  list-style:none; margin:0 auto; padding:0; max-width:860px;
  display:grid; grid-template-columns:repeat(2,1fr); gap:18px;
}
.ms-sdc.ms-sdc.podcast-cards .ms-sdc__body ul > li{ margin:0; padding:0; position:static; }
.ms-sdc.ms-sdc.podcast-cards .ms-sdc__body ul > li::before{ content:none; }
.ms-sdc.podcast-cards .ms-sdc__body ul > li > a{
  display:block; position:relative; min-height:94px; padding:20px 22px 20px 90px;
  background:rgba(255,255,255,.06); border:1px solid rgba(143,224,216,.20); border-radius:16px;
  text-decoration:none; color:#EAF4F4; font-size:14px; line-height:1.4;
}
.ms-sdc.podcast-cards .ms-sdc__body ul > li > a::before{
  content:""; position:absolute; left:22px; top:50%; transform:translateY(-50%);
  width:54px; height:54px; border-radius:50%; background:#8FE0D8;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 5v14l11-7z' fill='%230C4143'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:56% center; background-size:20px 20px;
  box-shadow:0 8px 20px -6px rgba(0,0,0,.5);
}
.ms-sdc.podcast-cards .ms-sdc__body ul > li > a strong{
  display:block; font-family:var(--ms-display); font-weight:600; font-size:18px; color:#fff; margin:0 0 3px;
}
.ms-sdc.podcast-cards .ms-sdc__body ul > li > a::after{
  content:"\25B6  Auf YouTube ansehen"; display:block; margin-top:10px;
  color:#8FE0D8; font-weight:700; font-size:14px;
}
@media (max-width:600px){
  .ms-sdc.ms-sdc.podcast-cards .ms-sdc__body ul{ grid-template-columns:1fr; gap:14px; }
  /* match the mockup on phones: flat 20px page gutter (base .ms-sdc is 24px until ≤420),
     and the name/cta inherit the design's 1.65 line-height (SDC base tightens to 1.4),
     which is what made the card ~15px shorter than the original. */
  .lp-kundenstimmen .ms-sdc.podcast-cards{ padding-left:20px; padding-right:20px; }
  .lp-kundenstimmen .ms-sdc.podcast-cards .ms-sdc__body ul > li > a strong{ line-height:1.65; }
  .lp-kundenstimmen .ms-sdc.podcast-cards .ms-sdc__body ul > li > a::after{ line-height:1.65; }
}

/* ---------- B5 · review-grid overrides (REUSE homepage flag; do NOT edit review-grid).
   Design wants GOLD text stars (not the baked green SVG), 18px quotes, Recoleta name,
   small muted role, and a centred section head. ---------- */
.lp-kundenstimmen .ms-sdc.review-grid .ms-sdc__inner{ max-width:1120px; }
.lp-kundenstimmen .ms-sdc.review-grid .ms-sdc__body > h2{ text-align:center; }
.lp-kundenstimmen .ms-sdc.review-grid .ms-sdc__body > h2 + p{
  text-align:center; max-width:720px; margin:0 auto 46px; color:#262626;
}
.lp-kundenstimmen .ms-sdc.review-grid .ms-sdc__body > h2 + p em{ font-style:normal; color:#F2C14E; letter-spacing:2px; }
/* gold text stars instead of the baked green SVG */
.lp-kundenstimmen .ms-sdc.review-grid .ms-sdc__body ul > li::before{
  content:"\2605\2605\2605\2605\2605"; background:none; width:auto; height:auto;
  display:block; color:#F2C14E; font-size:15px; letter-spacing:3px; line-height:1; margin:0 0 12px;
}
/* quote text 18px; inline <strong> emphasis darker */
.lp-kundenstimmen .ms-sdc.review-grid .ms-sdc__body ul > li p{ font-size:18px; line-height:1.5; color:#1A1A1A; }
.lp-kundenstimmen .ms-sdc.review-grid .ms-sdc__body ul > li p strong{ color:#141414; font-weight:700; }
/* name / role line (last <p>): Recoleta name + small muted role */
.lp-kundenstimmen .ms-sdc.review-grid .ms-sdc__body ul > li p:last-child{ font-size:13.5px; color:#262626; }
.lp-kundenstimmen .ms-sdc.review-grid .ms-sdc__body ul > li p:last-child strong{
  display:block; font-family:var(--ms-display); font-weight:600; font-size:15px; color:#141414;
}
/* source line under the wall */
.lp-kundenstimmen .ms-sdc.review-grid .ms-sdc__body > ul + p{ text-align:center; color:#262626; font-size:15px; margin:10px 0 0; }

/* ---------- B6 · unt-final (REUSE hero.css) — widen to the design .fgrid:
   inner 1120 (not 1000) + larger photo (~520, design .95fr of 1120). Scoped to
   this page only; /unternehmen's unt-final is untouched. ---------- */
.lp-kundenstimmen .ms-sdc.unt-final .ms-sdc__inner{ max-width:1120px; }
@media (min-width:821px){
  .lp-kundenstimmen .ms-sdc.unt-final .ms-sdc__inner{ gap:48px; }
  .lp-kundenstimmen .ms-sdc.unt-final .ms-sdc__media{ max-width:520px; }
}

/* ============================================================================
   ANWENDUNGEN  (/mind-switch-anwendungen · basic_page_container · body.lp-anwendungen)
   Source of truth: ai-layout-paragraph/mind-switch-anwendungenv1.html.
   New flags (all reusable, scoped .ms-sdc*): switch-hint · photo-band ·
   flip-cards (+ normal.js) · benefit-cards · study-proof.
   Palette: petrol #115759, teal #007375 / dark #005E60 / mid #00A295,
   teal-soft #E4F1EF, mint #8FE0D8, orange #F3954A, yellow #F7D154,
   gold #F2C14E, cream #FBFAF6, grey #EEF0F1. Breakpoints 820/760/700/640/380.
   Page chrome (white body bg) = one line in styles.css (body.lp-anwendungen).
   ========================================================================= */

/* ---------- page-scope resets (body.lp-anwendungen) — style ONLY .ms-sdc ---------- */
.lp-anwendungen .ms-sdc{ font-family:'Archivo',sans-serif; }
.lp-anwendungen .ms-sdc h2::after{ content:none !important; }
/* Body <p> = 18px at EVERY width (Hard constraint 6a). Only the study-hero lead is 20px.
   Scoped to --normal so the hero bands (founder/nextstep) keep their own copy sizes. */
.lp-anwendungen .ms-sdc--normal:not(.study-hero) p{ font-size:18px; line-height:1.65; }
.lp-anwendungen .ms-sdc h2{
  font-family:var(--ms-display); font-weight:600; font-size:clamp(26px,4vw,40px) !important;
  color:#262626 !important; line-height:1.12;
}
.lp-anwendungen .ms-sdc.on-dark h2{ color:#fff !important; }
/* accent words: <em> → teal on light, mint on dark (mirrors lp-fmrt/lp-ueberuns) */
.lp-anwendungen .ms-sdc h1 em, .lp-anwendungen .ms-sdc h2 em{ font-style:normal; color:#007375; }
.lp-anwendungen .ms-sdc.on-dark h1 em, .lp-anwendungen .ms-sdc.on-dark h2 em{ color:#8FE0D8; }

/* ---------- B1 · switch-hint — the white "Tipp auf eine Karte" pill (last <p> of the hero) ---------- */
.ms-sdc--normal.switch-hint .ms-sdc__body > p:last-child{
  position:relative; display:inline-flex; align-items:center; gap:12px; margin:30px auto 0;
  color:#005E60 !important; font-size:15px !important; font-weight:700; line-height:1;
  background:#fff; padding:11px 20px 11px 18px; border-radius:999px;
  box-shadow:0 4px 14px rgba(18,52,48,.10);
}
/* animated toggle (matches the export .switch-icon slide): mint track + teal knob sliding */
.ms-sdc--normal.switch-hint .ms-sdc__body > p:last-child::before{
  content:""; width:44px; height:26px; border-radius:999px; flex:none; background:#CFE4E0;
}
.ms-sdc--normal.switch-hint .ms-sdc__body > p:last-child::after{
  content:""; position:absolute; left:21px; top:50%; margin-top:-10px;
  width:20px; height:20px; border-radius:50%; background:#007375;
  animation:ms-switch-slide 2.2s ease-in-out infinite;
}
@keyframes ms-switch-slide{ 0%,100%{ left:21px } 50%{ left:39px } }
@media (prefers-reduced-motion:reduce){
  .ms-sdc--normal.switch-hint .ms-sdc__body > p:last-child::after{ animation:none; }
}
/* mobile: shrink to 13px so the label stays on ONE line (matches the export .hint) */
@media (max-width:640px){
  .ms-sdc--normal.switch-hint .ms-sdc__body > p:last-child{ font-size:13px !important; padding:11px 16px 11px 18px; gap:10px; white-space:nowrap; }
}

/* ---------- B2/B5 · photo-band — full-width 16:6 rounded banner (body <img>) ---------- */
.ms-sdc--normal.photo-band .ms-sdc__inner{ max-width:1120px; }
.ms-sdc--normal.photo-band .ms-sdc__media{ margin:0; }
.ms-sdc--normal.photo-band .ms-sdc__media img{
  display:block; width:100%; aspect-ratio:16/6; object-fit:cover;
  border-radius:22px; border:1px solid #E4F1EF; box-shadow:0 4px 14px rgba(18,52,48,.06);
}
/* Mobile: the <picture> source swaps to the uploaded `field_image_mobile` crop at ≤768 (matches the
   twig <source> media). Show it at its OWN aspect — an uploaded image is displayed exactly as uploaded
   (our convention), never re-cropped by CSS. */
@media (max-width:768px){
  .ms-sdc--normal.photo-band .ms-sdc__media img{ aspect-ratio:auto; height:auto; object-fit:initial; border-radius:18px; }
}

/* ---------- B4 · benefit-cards — 3-col light cards, emoji medallion + centred text ---------- */
.ms-sdc--normal.benefit-cards .ms-sdc__inner{ max-width:1000px; }
.ms-sdc--normal.benefit-cards .ms-sdc__body > h4{
  font-family:'Archivo'; font-size:12.5px; font-weight:700; letter-spacing:2.5px;
  text-transform:uppercase; color:#00A295; margin:0 0 16px; text-align:center;
}
.ms-sdc--normal.benefit-cards .ms-sdc__body > p{
  max-width:680px; margin:20px auto 40px; color:#3D3D3D; font-size:18px !important; text-align:center;
}
.ms-sdc.ms-sdc--normal.benefit-cards .ms-sdc__body ul{
  list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:16px;
}
.ms-sdc.ms-sdc--normal.benefit-cards .ms-sdc__body ul > li{
  background:#F7FBFA; border:1px solid #E4F1EF; border-radius:18px; padding:32px 24px;
  text-align:center; font-size:18px; font-weight:600; line-height:1.4; color:#262626;
  box-shadow:0 2px 0 rgba(18,52,48,.05),0 5px 0 rgba(18,52,48,.035),0 16px 26px -10px rgba(18,52,48,.22);
}
.ms-sdc.ms-sdc--normal.benefit-cards .ms-sdc__body ul > li strong{
  display:flex; align-items:center; justify-content:center; width:62px; height:62px; border-radius:50%;
  background:#fff; border:1px solid #E4F1EF; margin:0 auto 18px; font-size:30px; font-weight:400; line-height:1;
}
@media (max-width:760px){ .ms-sdc.ms-sdc--normal.benefit-cards .ms-sdc__body ul{ grid-template-columns:1fr 1fr; } }
@media (max-width:640px){ .ms-sdc.ms-sdc--normal.benefit-cards .ms-sdc__body ul{ grid-template-columns:1fr; } }

/* ---------- B7 · study-proof — proof composite from a <ul> (li1 = figure card, li2/li3 = stat cards) ---------- */
.ms-sdc--normal.study-proof .ms-sdc__inner{ max-width:1080px; }
.ms-sdc--normal.study-proof .ms-sdc__body > h2{ text-align:center; }
.ms-sdc--normal.study-proof .ms-sdc__body > h2 + p{
  text-align:center; max-width:760px; margin:0 auto; color:#3D3D3D; font-size:18px !important; line-height:1.6;
}
.ms-sdc.ms-sdc--normal.study-proof .ms-sdc__body ul{
  list-style:none; margin:46px 0 0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:16px;
}
/* li1 = big figure card: text left, scan image right (flush) */
.ms-sdc.ms-sdc--normal.study-proof .ms-sdc__body ul > li:first-child{
  grid-column:1 / -1; display:grid; grid-template-columns:1.05fr 1fr; align-items:center;
  background:#fff; border:1px solid #CDE3DF; border-radius:22px; overflow:hidden; padding:0;
  box-shadow:0 8px 30px rgba(18,52,48,.07);
}
/* text column (JS wraps the figure li's h3/strong/p in .ms-sp-figtext for clean vertical centering) */
.ms-sdc.ms-sdc--normal.study-proof .ms-sdc__body ul > li:first-child > .ms-sp-figtext{
  grid-column:1; padding:clamp(28px,3.6vw,46px);
}
.ms-sdc.ms-sdc--normal.study-proof .ms-sdc__body ul > li:first-child > img{
  grid-column:2; align-self:stretch; width:100%; height:100%; min-height:100%; object-fit:cover;
}
/* pre-JS fallback: the scan renders as a plain block under the head; never left orphaned */
.ms-sdc--normal.study-proof .ms-sdc__media img{ width:100%; border-radius:16px; }
/* li2/li3 = white stat cards */
.ms-sdc.ms-sdc--normal.study-proof .ms-sdc__body ul > li:not(:first-child){
  background:#fff; border:1px solid #CDE3DF; border-radius:16px; padding:24px; box-shadow:0 4px 14px rgba(18,52,48,.05);
}
/* card headings + labels */
.ms-sdc.ms-sdc--normal.study-proof .ms-sdc__body ul > li h3{
  font-family:var(--ms-display) !important; font-weight:600 !important; color:#007375 !important;
  line-height:1.1 !important; margin:0 0 8px !important; font-size:34px !important;
}
.ms-sdc.ms-sdc--normal.study-proof .ms-sdc__body ul > li:not(:first-child) h3{ font-size:24px !important; }
.ms-sdc.ms-sdc--normal.study-proof .ms-sdc__body ul > li h3::after{ content:none !important; }
.ms-sdc.ms-sdc--normal.study-proof .ms-sdc__body ul > li strong{
  display:block; font-size:16px; font-weight:700; color:#262626; margin:0 0 8px;
}
.ms-sdc.ms-sdc--normal.study-proof .ms-sdc__body ul > li p{ font-size:18px !important; color:#3D3D3D; line-height:1.6; margin:0; }
.ms-sdc--normal.study-proof .ms-sdc__body > ul + p{
  text-align:center; margin:28px 0 0; font-size:14px !important; color:#005E60;
}
.ms-sdc--normal.study-proof .ms-sdc__body > ul + p a{ color:#005E60; font-weight:700; }
@media (max-width:760px){
  .ms-sdc.ms-sdc--normal.study-proof .ms-sdc__body ul{ grid-template-columns:1fr; }
  .ms-sdc.ms-sdc--normal.study-proof .ms-sdc__body ul > li:first-child{ display:flex; flex-direction:column; }
  .ms-sdc.ms-sdc--normal.study-proof .ms-sdc__body ul > li:first-child > img{ order:-1; aspect-ratio:16/9; width:100%; height:auto; min-height:0; flex:none; }
  .ms-sdc.ms-sdc--normal.study-proof .ms-sdc__body ul > li:first-child > .ms-sp-figtext{ padding:26px 24px; }
}

/* ---------- B6 · review-grid overrides (REUSE homepage flag; do NOT edit review-grid).
   Same treatment as Kundenstimmen: GOLD text stars, 18px quotes, Recoleta name, small role,
   centred head + rating pill. Scoped to this page only. ---------- */
.lp-anwendungen .ms-sdc.review-grid .ms-sdc__inner{ max-width:1120px; }
.lp-anwendungen .ms-sdc.review-grid .ms-sdc__body > h2{ text-align:center; }
.lp-anwendungen .ms-sdc.review-grid .ms-sdc__body > h2 + p{
  display:inline-flex; align-items:center; flex-wrap:wrap; justify-content:center; gap:6px 12px;
  text-align:center; margin:24px auto 46px;
  background:#fff; border:1px solid #E9E9E6; border-radius:999px; padding:11px 22px;
  box-shadow:0 4px 14px rgba(18,52,48,.06); color:#3D3D3D; font-size:15px !important; line-height:1.25; max-width:100%;
}
/* stars + bold rating are nowrap units, so on narrow widths the pill breaks BETWEEN the rating and
   the muted count (as in the export) instead of mid-phrase. */
.lp-anwendungen .ms-sdc.review-grid .ms-sdc__body > h2 + p em{ font-style:normal; color:#F2C14E; letter-spacing:2px; font-size:16px; white-space:nowrap; }
.lp-anwendungen .ms-sdc.review-grid .ms-sdc__body > h2 + p strong{ color:#262626; font-weight:700; white-space:nowrap; }
.lp-anwendungen .ms-sdc.review-grid .ms-sdc__body > h2{ margin-bottom:0; }
/* the rating pill is a centred inline block → wrap it */
.lp-anwendungen .ms-sdc.review-grid .ms-sdc__body{ text-align:center; }
.lp-anwendungen .ms-sdc.review-grid .ms-sdc__body ul{ text-align:left; }
/* this page's mockup uses teal-soft cards (not the kundenstimmen white) */
.lp-anwendungen .ms-sdc.review-grid .ms-sdc__body ul > li{
  background:#E4F1EF; border-color:#CDE3DF;
}
/* gold text stars instead of the baked green SVG */
.lp-anwendungen .ms-sdc.review-grid .ms-sdc__body ul > li::before{
  content:"\2605\2605\2605\2605\2605"; background:none; width:auto; height:auto;
  display:block; color:#F2C14E; font-size:15px; letter-spacing:3px; line-height:1; margin:0 0 12px;
}
.lp-anwendungen .ms-sdc.review-grid .ms-sdc__body ul > li p{ font-size:18px; line-height:1.5; color:#1A1A1A; }
.lp-anwendungen .ms-sdc.review-grid .ms-sdc__body ul > li p strong{ color:#141414; font-weight:700; }
/* divider between quote and name: export uses a teal hairline #CDE3DF (not the faint grey) */
.lp-anwendungen .ms-sdc.review-grid .ms-sdc__body ul > li p:last-child{
  font-size:13.5px; line-height:1.35; color:#005E60; margin-top:18px; padding-top:16px; border-top:1px solid #CDE3DF;
}
.lp-anwendungen .ms-sdc.review-grid .ms-sdc__body ul > li p:last-child strong{
  display:block; font-family:var(--ms-display); font-weight:600; font-size:16px; color:#262626; margin-bottom:2px;
}

/* ---------- B3 · flip-cards — 42 flip cards (JS builds them from a <ul>) + 3-flip lead modal.
   Content model (field_body): intro <p>, then a <ul> where each <li> =
   <strong>topic</strong><p>problem</p><p>solution</p>, then a trailing <blockquote> (modal source).
   normal.js (msSdcFlipCards) transforms the <ul> into the grid, builds the modal from the
   blockquote, and shows it once 3 distinct cards are flipped. Everything scoped .ms-sdc.flip-cards. */
.ms-sdc--normal.flip-cards .ms-sdc__inner{ max-width:1120px; }
.ms-sdc--normal.flip-cards .ms-sdc__body > p{
  text-align:center; max-width:760px; margin:0 auto 34px; color:#3D3D3D; font-size:18px !important; line-height:1.6;
}
.ms-sdc--normal.flip-cards .ms-sdc__body > p strong{ color:#262626; font-weight:700; }
.ms-sdc.flip-cards .ms-fc-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:20px; }
.ms-sdc.flip-cards .ms-fc-card{ perspective:1500px; cursor:pointer; }
.ms-sdc.flip-cards .ms-fc-inner{
  position:relative; display:grid; min-height:100%; transition:transform .7s cubic-bezier(.2,.8,.2,1); transform-style:preserve-3d;
}
.ms-sdc.flip-cards .ms-fc-card.flipped .ms-fc-inner{ transform:rotateY(180deg); }
.ms-sdc.flip-cards .ms-fc-face{
  grid-area:1/1; border-radius:18px; padding:26px 24px; backface-visibility:hidden;
  display:flex; flex-direction:column; box-shadow:0 2px 0 rgba(18,52,48,.05),0 5px 0 rgba(18,52,48,.035),0 16px 26px -10px rgba(18,52,48,.22);
}
.ms-sdc.flip-cards .ms-fc-front{ background:#FBFAF6; border:1px solid #ECE8DD; position:relative; overflow:hidden; }
.ms-sdc.flip-cards .ms-fc-front::before{
  content:""; position:absolute; top:0; left:0; right:0; height:4px; background:linear-gradient(90deg,#F3954A,#F7D154);
}
.ms-sdc.flip-cards .ms-fc-back{ background:#E4F1EF; border:1px solid #CDE3DF; transform:rotateY(180deg); }
.ms-sdc.flip-cards .ms-fc-topic{
  font-family:var(--ms-display); font-size:20px; font-weight:600; color:#262626; line-height:1.2; margin:0 0 14px;
}
.ms-sdc.flip-cards .ms-fc-tag{
  font-size:11px; letter-spacing:1.5px; text-transform:uppercase; font-weight:700;
  display:inline-flex; align-items:center; gap:7px; margin:0 0 12px;
}
.ms-sdc.flip-cards .ms-fc-tag.neg{ color:#B07A4E; }
.ms-sdc.flip-cards .ms-fc-tag.pos{ color:#005E60; }
.ms-sdc.flip-cards .ms-fc-dot{ width:7px; height:7px; border-radius:50%; background:currentColor; display:inline-block; }
.ms-sdc.flip-cards .ms-fc-quote{ font-size:16.5px; line-height:1.45; flex:1; color:#3D3D3D; }
.ms-sdc.flip-cards .ms-fc-cue{ margin-top:16px; display:flex; align-items:center; gap:10px; font-size:13px; font-weight:700; color:#007375; }
.ms-sdc.flip-cards .ms-fc-switch{ width:34px; height:20px; border-radius:999px; background:#dcd7c9; position:relative; flex:none; transition:background .3s; }
.ms-sdc.flip-cards .ms-fc-back .ms-fc-switch{ background:#00A295; }
.ms-sdc.flip-cards .ms-fc-switch::after{
  content:""; position:absolute; top:2px; left:2px; width:16px; height:16px; border-radius:50%; background:#007375; transition:left .3s;
}
.ms-sdc.flip-cards .ms-fc-back .ms-fc-switch::after{ left:16px; background:#fff; }
/* back (solution) face — teal-dark topic/cue + text-strong quote (matches the export .back) */
.ms-sdc.flip-cards .ms-fc-back .ms-fc-topic{ color:#005E60; }
.ms-sdc.flip-cards .ms-fc-back .ms-fc-quote{ color:#262626; }
.ms-sdc.flip-cards .ms-fc-back .ms-fc-cue{ color:#005E60; }
/* lead modal (JS appends it to the .ms-sdc.flip-cards root; root has no transform → fixed works) */
.ms-sdc.flip-cards .ms-fc-overlay{
  position:fixed; inset:0; background:rgba(11,60,73,.55); backdrop-filter:blur(3px);
  /* !important: a theme rule forces .ms-sdc descendants to display:block, which would
     kill the flex-centering and pin the modal to the top-left. */
  display:flex !important; align-items:center; justify-content:center; padding:24px;
  opacity:0; visibility:hidden; transition:opacity .3s; z-index:1000;
}
.ms-sdc.flip-cards .ms-fc-overlay.show{ opacity:1; visibility:visible; }
.ms-sdc.flip-cards .ms-fc-modal{
  background:#fff; border-radius:24px; max-width:480px; width:100%; padding:44px 38px 34px; text-align:center;
  position:relative; box-shadow:0 30px 80px rgba(11,60,73,.35); transform:translateY(16px) scale(.98); transition:transform .3s;
}
.ms-sdc.flip-cards .ms-fc-overlay.show .ms-fc-modal{ transform:none; }
.ms-sdc.flip-cards .ms-fc-x{
  position:absolute; top:16px; right:18px; background:none; border:none; font-size:26px; line-height:1; color:#B7BEBD; cursor:pointer; transition:color .15s;
}
.ms-sdc.flip-cards .ms-fc-x:hover{ color:#005E60; }
.ms-sdc.flip-cards .ms-fc-badge{
  display:inline-block; font-size:12px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase;
  color:#00A295; background:#E4F1EF; padding:7px 16px; border-radius:999px; margin:0 0 18px;
}
.ms-sdc.flip-cards .ms-fc-modal h3{
  font-family:var(--ms-display) !important; font-weight:600 !important; font-size:26px !important;
  line-height:1.2 !important; color:#262626 !important; margin:0 0 14px !important;
}
.ms-sdc.flip-cards .ms-fc-modal h3::after{ content:none !important; }
.ms-sdc.flip-cards .ms-fc-modal h3 em{ font-style:normal; color:#007375; }
.ms-sdc.flip-cards .ms-fc-modal p{ color:#3D3D3D; font-size:18px !important; line-height:1.6; margin:0 0 8px; }
.ms-sdc.flip-cards .ms-fc-btn{
  display:inline-block; width:100%; margin-top:26px; background:#F3954A; color:#fff; font-family:'Archivo';
  font-weight:700; font-size:18px; text-decoration:none; padding:18px 40px; border-radius:12px;
  box-shadow:0 8px 22px rgba(243,149,74,.38); transition:background .15s,transform .15s,box-shadow .15s;
}
.ms-sdc.flip-cards .ms-fc-btn:hover{ background:#E67F32; transform:translateY(-2px); box-shadow:0 12px 30px rgba(243,149,74,.5); }
.ms-sdc.flip-cards .ms-fc-later{
  display:block; margin:16px auto 0; background:none; border:none; color:#9AA3A2; font-size:14px;
  cursor:pointer; text-decoration:underline; font-family:'Archivo';
}
@media (max-width:640px){
  .ms-sdc.flip-cards .ms-fc-overlay{ padding:16px; }
  .ms-sdc.flip-cards .ms-fc-modal{ padding:26px 20px 22px; }
  .ms-sdc.flip-cards .ms-fc-badge{ margin-bottom:12px; font-size:11px; padding:6px 12px; }
  .ms-sdc.flip-cards .ms-fc-modal h3{ font-size:20px !important; }
  .ms-sdc.flip-cards .ms-fc-modal p{ font-size:18px !important; line-height:1.5; }
  .ms-sdc.flip-cards .ms-fc-btn{ margin-top:16px; }
  .ms-sdc.flip-cards .ms-fc-later{ margin-top:12px; }
}
@media (max-width:400px){
  .ms-sdc.flip-cards .ms-fc-grid{ grid-template-columns:1fr; }
}
/* ---------- B6 · imagine-proof — "Stell dir vor" petrol statement + 3 proof chips (white card).
   <h2> + intro <p> + a <ul> of 3 <li> (<strong>label</strong> + subtext); icon baked per position.
   Pair `on-dark centered`; band bg petrol. ---------- */
.ms-sdc--normal.imagine-proof .ms-sdc__inner{ max-width:940px; }
/* match the export .wrap gutter (24px) — the base .ms-sdc grows to 48px ≥720, which narrowed
   the card and left too much side-space on tablet. */
.ms-sdc.ms-sdc--normal.imagine-proof{ padding-left:24px; padding-right:24px; }
/* h2 has no bottom margin here; the 18px gap comes only from the intro <p> (matches the export). */
.ms-sdc--normal.imagine-proof .ms-sdc__body > h2{ margin:0 auto !important; }
.ms-sdc--normal.imagine-proof .ms-sdc__body > p{ color:#D8ECEC; font-size:18px !important; line-height:1.6; max-width:720px; margin:18px auto 0; }
.ms-sdc.ms-sdc--normal.imagine-proof .ms-sdc__body ul{
  list-style:none; margin:48px auto 0; padding:0; max-width:940px;
  background:#fff; border-radius:22px; box-shadow:0 22px 54px rgba(7,48,60,.30);
  display:grid; grid-template-columns:1fr 1fr 1fr;
}
.ms-sdc.ms-sdc--normal.imagine-proof .ms-sdc__body ul > li{
  padding:34px 20px; text-align:center; display:flex; flex-direction:column; align-items:center;
  border-right:1px solid #E9E9E6; color:#3D3D3D; font-size:13.5px; line-height:1.4;
}
.ms-sdc.ms-sdc--normal.imagine-proof .ms-sdc__body ul > li:last-child{ border-right:0; }
.ms-sdc.ms-sdc--normal.imagine-proof .ms-sdc__body ul > li::before{
  content:""; width:54px; height:54px; border-radius:14px; background-color:#E4F1EF;
  background-repeat:no-repeat; background-position:center; background-size:26px; margin-bottom:18px;
}
.ms-sdc.ms-sdc--normal.imagine-proof .ms-sdc__body ul > li:nth-child(1)::before{ background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23005E60' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='M12 7.5V12l3 1.8'/></svg>"); }
.ms-sdc.ms-sdc--normal.imagine-proof .ms-sdc__body ul > li:nth-child(2)::before{ background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23005E60' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12.5l4.5 4.5L19 7'/></svg>"); }
.ms-sdc.ms-sdc--normal.imagine-proof .ms-sdc__body ul > li:nth-child(3)::before{ background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23005E60' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='9' r='5'/><path d='M9 13.2L7.8 21l4.2-2.2L16.2 21 15 13.2'/></svg>"); }
.ms-sdc.ms-sdc--normal.imagine-proof .ms-sdc__body ul > li strong{
  display:block; font-family:var(--ms-display); font-size:clamp(22px,2.5vw,31px); color:#262626; font-weight:600; line-height:1.05; margin-bottom:9px; white-space:nowrap;
}
@media (max-width:720px){
  .ms-sdc.ms-sdc--normal.imagine-proof .ms-sdc__body ul{ grid-template-columns:1fr; max-width:420px; }
  .ms-sdc.ms-sdc--normal.imagine-proof .ms-sdc__body ul > li{ border-right:0; border-bottom:1px solid #E9E9E6; }
  .ms-sdc.ms-sdc--normal.imagine-proof .ms-sdc__body ul > li:last-child{ border-bottom:0; }
}
@media (max-width:640px){
  .ms-sdc.ms-sdc--normal.imagine-proof .ms-sdc__body ul{ margin-top:26px; }
  .ms-sdc.ms-sdc--normal.imagine-proof .ms-sdc__body ul > li{ padding:26px 22px; }
  .ms-sdc.ms-sdc--normal.imagine-proof .ms-sdc__body ul > li strong{ white-space:normal; }
}
/* ===== end ANWENDUNGEN ===== */

/* =====================================================================
   ZÜRICH LP (/lp/zuerich, body.lp-zuerich) — Source: ai-layout-paragraph/
   lp-zuerich-drupal.html · Mapping: ai-layout-paragraph/zuerich/zuerich_Mapping.md.
   Type sizes = the export's own values (user decision 2026-10-01): h1 52/30,
   h2 40/26, h3 24/21, lead 20/18, body 18 at every width, Recoleta 600 +
   Archivo. Palette: ink #141414, body #1A1A1A, teal #007375, mint #8FE0D8,
   petrol #115759, soft #E4F1EF, grey #efefef, line #E9E9E6, red #B5483C,
   red-bg #FBEEEA, gold #F2C14E, orange CTA #F3954A.
   Breakpoints = the export's: 980 / 900 / 720 / 660 / 640 / 560.
   `zh-*` flags are this page's; normal-layout flags live here, hero-layout
   flags (zh-hero · media-card · zh-fitnote · zh-case · zh-local · zh-final)
   in hero.css. Homepage flags reused: founder / founder-textleft · faq.
   ===================================================================== */

/* ---------- page-scope resets (style ONLY .ms-sdc) ---------- */
.lp-zuerich .ms-sdc{
  font-family:'Archivo'; font-size:18px; line-height:1.6; color:#1A1A1A;
  padding-left:28px; padding-right:28px;
}
.lp-zuerich .ms-sdc__inner{ max-width:1044px; }               /* export .wrap 1100 − 2×28 */
.lp-zuerich .ms-sdc p{ font-size:18px; line-height:1.74; color:#1A1A1A; margin:0; }
.lp-zuerich .ms-sdc strong, .lp-zuerich .ms-sdc b{ font-weight:700; color:#141414; }
.lp-zuerich .ms-sdc a{ color:#007375; }
.lp-zuerich .ms-sdc a:hover{ color:#005E60; }
.lp-zuerich .ms-sdc h1, .lp-zuerich .ms-sdc h2, .lp-zuerich .ms-sdc h3{
  font-family:'Recoleta' !important; font-weight:600 !important; font-style:normal !important;
  letter-spacing:-.01em !important; line-height:1.14 !important; color:#141414 !important;
  text-transform:none !important; margin:0 !important; text-wrap:wrap;
}
.lp-zuerich .ms-sdc h1{ font-size:52px !important; }
.lp-zuerich .ms-sdc h2{ font-size:40px !important; }
.lp-zuerich .ms-sdc h3{ font-size:24px !important; }
.lp-zuerich .ms-sdc h2::after{ content:none !important; display:none !important; }
/* highlight = <em> in a heading (export .hl): teal on light, mint on dark; head-neg → red (.neg) */
.lp-zuerich .ms-sdc h1 em, .lp-zuerich .ms-sdc h2 em{ font-style:normal; color:#007375; }
.lp-zuerich .ms-sdc.head-neg h2 em{ color:#B5483C; }
.lp-zuerich .ms-sdc sup{ font-size:.55em; line-height:0; }
/* dark bands (export .dark): everything white, highlight mint */
.lp-zuerich .ms-sdc.on-dark, .lp-zuerich .ms-sdc.on-dark p, .lp-zuerich .ms-sdc.on-dark li,
.lp-zuerich .ms-sdc.on-dark strong{ color:#fff; }
.lp-zuerich .ms-sdc.on-dark h1, .lp-zuerich .ms-sdc.on-dark h2, .lp-zuerich .ms-sdc.on-dark h3{ color:#fff !important; }
.lp-zuerich .ms-sdc.on-dark h1 em, .lp-zuerich .ms-sdc.on-dark h2 em{ color:#8FE0D8; }
/* centred section head (export .head-c): h2 + lead <p> */
.lp-zuerich .ms-sdc__body > h2{ text-align:center; }
.lp-zuerich .ms-sdc__body > h2 + p{
  font-size:20px; line-height:1.65; max-width:780px; margin:18px auto 0; text-align:center;
}
/* recurring orange CTA = tracked Simple Link (field_css_tag cta-orange) → export .btn */
.lp-zuerich .ms-sdc a.cta-orange, .lp-zuerich .ms-sdc a.cta-orange:link, .lp-zuerich .ms-sdc a.cta-orange:visited{
  font-size:18px !important; line-height:1.7 !important; padding:16px 34px !important;
  border-radius:12px !important; white-space:nowrap;
}
@media (max-width:640px){
  .lp-zuerich .ms-sdc{ padding-left:20px; padding-right:20px; }
  .lp-zuerich .ms-sdc h1{ font-size:30px !important; }
  .lp-zuerich .ms-sdc h2{ font-size:26px !important; }
  .lp-zuerich .ms-sdc h3{ font-size:21px !important; }
  .lp-zuerich .ms-sdc__body > h2 + p{ font-size:18px; }
  .lp-zuerich .ms-sdc a.cta-orange, .lp-zuerich .ms-sdc a.cta-orange:link, .lp-zuerich .ms-sdc a.cta-orange:visited{
    font-size:18px !important; padding:15px 22px !important; display:block; width:100%; text-align:center; /* 18 = body size (user 2026-10-02; export 16) */
  }
}
@media (max-width:560px){
  .lp-zuerich .ms-sdc a.cta-orange, .lp-zuerich .ms-sdc a.cta-orange:link{ white-space:normal; }
}

/* theme chrome adds h2 padding-bottom 20, actions padding-top 30 and a .btn margin-top 20 —
   none exist in the export; spacing comes from the explicit margins below. */
.lp-zuerich .ms-sdc h1, .lp-zuerich .ms-sdc h2, .lp-zuerich .ms-sdc h3{ padding:0 !important; }
.lp-zuerich .ms-sdc .ms-sdc__actions{ padding-top:0 !important; } /* beats `.no-margin .ms-sdc__actions` (ancestor class on this page) */
.lp-zuerich .ms-sdc a.cta-orange{ margin:0 !important; }

/* ---------- zh-cta — a stand-alone centred CTA band (export .cta-c): field_simple_link
   (cta-orange, centered) + optional body <p> = the small note BELOW the button
   ("Kostenlos & unverbindlich"). The SDC renders actions after the body, so the
   inner is a flex column and the actions are ordered first. ---------- */
.ms-sdc--normal.zh-cta .ms-sdc__inner{ display:flex; flex-direction:column; align-items:center; text-align:center; }
.ms-sdc--normal.zh-cta .ms-sdc__actions{ order:-1; margin:0; }
.ms-sdc--normal.zh-cta .ms-sdc__link .btn-wrapper, .ms-sdc--normal.zh-cta .ms-sdc__link{ text-align:center; }
.lp-zuerich .ms-sdc--normal.zh-cta .ms-sdc__body p{ font-size:14px; margin:10px 0 0; opacity:.8; }
.lp-zuerich .ms-sdc--normal.zh-cta.on-dark .ms-sdc__body p{ color:#EAF4F4; }
@media (max-width:640px){ .ms-sdc--normal.zh-cta .ms-sdc__actions{ align-self:stretch; } }

/* ---------- zh-trust — trust strip under the hero (export .trust). <ul> of 3:
   li = <p>icon</p><p><strong>title</strong>sub</p>; li1 = linked Expertenmarkt badge
   image (small image → inline in the body). Band padding 0 (the li owns 24px). ---------- */
.ms-sdc--normal.zh-trust{ border-bottom:1px solid #E9E9E6; }
.ms-sdc.ms-sdc.zh-trust .ms-sdc__body > ul{ list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(3,1fr); }
.ms-sdc.ms-sdc.zh-trust .ms-sdc__body > ul > li{ display:flex; align-items:center; gap:14px; padding:24px 22px; margin:0; }
.ms-sdc.ms-sdc.zh-trust .ms-sdc__body > ul > li + li{ border-left:1px solid #E9E9E6; }
.lp-zuerich .ms-sdc.zh-trust li:not(:first-child) > p:first-child{
  flex:none; width:46px; height:46px; border-radius:12px; background:#E4F1EF; color:#007375;
  display:flex; align-items:center; justify-content:center; font-size:20px; line-height:1;
}
.lp-zuerich .ms-sdc.zh-trust li:not(:first-child) > p:first-child:has(img){ background:none; }
.ms-sdc.zh-trust li:not(:first-child) > p:first-child img{ width:46px; height:46px; object-fit:contain; display:block; }
.ms-sdc.zh-trust li:first-child img{ display:block; height:auto; width:100%; max-width:260px; border-radius:6px; }
.lp-zuerich .ms-sdc.zh-trust li > p:last-child{ font-size:14px; line-height:1.4; }
.lp-zuerich .ms-sdc.zh-trust li > p:last-child strong{ display:block; font-size:17px; line-height:1.3; }
@media (max-width:900px){
  .ms-sdc.ms-sdc.zh-trust .ms-sdc__body > ul{ grid-template-columns:1fr; }
  .ms-sdc.ms-sdc.zh-trust .ms-sdc__body > ul > li{ padding:16px 0; }
  .ms-sdc.ms-sdc.zh-trust .ms-sdc__body > ul > li + li{ border-left:none; border-top:1px solid #E9E9E6; }
  .ms-sdc.ms-sdc.zh-trust .ms-sdc__body > ul > li:first-child{ justify-content:center; }
  .ms-sdc.zh-trust li:first-child a{ margin:0 auto; }
}

/* ---------- zh-pain — "Du funktionierst …" (export .g3 + .thoughts). Body: h2 (<em>
   red via head-neg) + lead, <ul> of 6 cards (li = <p>emoji</p><h3>title</h3><p>desc</p>),
   <h3> "Und du sagst dir:", <blockquote> of 3 <p> = speech bubbles, closing <p>. ---------- */
.ms-sdc.ms-sdc.zh-pain .ms-sdc__body > ul{
  list-style:none; padding:0; margin:48px 0 0; display:grid; grid-template-columns:repeat(3,1fr); gap:20px;
}
.ms-sdc.ms-sdc.zh-pain .ms-sdc__body > ul > li{
  margin:0; background:#fff; border:1px solid #E9E9E6; border-radius:18px; padding:30px 28px;
  box-shadow:0 8px 26px rgba(18,52,48,.06); color:#1A1A1A;
}
.lp-zuerich .ms-sdc.zh-pain li > p:first-child{
  width:50px; height:50px; border-radius:14px; background:#FBEEEA; display:flex; align-items:center;
  justify-content:center; font-size:26px; line-height:1; margin-bottom:18px;
}
.lp-zuerich .ms-sdc.zh-pain li > h3{ margin:0 0 10px !important; }
.lp-zuerich .ms-sdc.zh-pain .ms-sdc__body > h3{ text-align:center; margin:56px 0 22px !important; }
.ms-sdc--normal.zh-pain .ms-sdc__body > blockquote{
  display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin:0; padding:0; border:0; background:none;
}
.lp-zuerich .ms-sdc--normal.zh-pain .ms-sdc__body > blockquote p{
  position:relative; background:#fff; border-radius:18px; padding:22px 24px; margin:0; text-align:center;
  font-family:'Recoleta'; font-weight:600; font-size:21px; line-height:1.3; color:#141414;
  box-shadow:0 6px 20px rgba(18,52,48,.08);
}
.ms-sdc--normal.zh-pain .ms-sdc__body > blockquote p::after{
  content:""; position:absolute; left:34px; bottom:-12px; border:12px solid transparent; border-top-color:#fff; border-bottom:0;
}
.lp-zuerich .ms-sdc--normal.zh-pain .ms-sdc__body > blockquote + p{ margin-top:28px; font-size:20px; text-align:center; }
@media (max-width:900px){
  .ms-sdc.ms-sdc.zh-pain .ms-sdc__body > ul{ grid-template-columns:1fr 1fr; }
  .ms-sdc--normal.zh-pain .ms-sdc__body > blockquote{ grid-template-columns:1fr; }
}
@media (max-width:640px){
  .ms-sdc.ms-sdc.zh-pain .ms-sdc__body > ul{ grid-template-columns:1fr; }
  .ms-sdc.ms-sdc.zh-pain .ms-sdc__body > ul > li{ padding:24px 22px; }
  .lp-zuerich .ms-sdc--normal.zh-pain .ms-sdc__body > blockquote p{ font-size:19px; }
}

/* ---------- zh-drivers — dark band head + 4 glass cards (export .drivers).
   li = <p>emoji</p><p><strong>title</strong></p><p>desc</p>. Pair on-dark. ---------- */
.ms-sdc.ms-sdc.zh-drivers .ms-sdc__body > ul{
  list-style:none; padding:0; margin:44px 0 0; display:grid; grid-template-columns:repeat(4,1fr); gap:16px;
}
.ms-sdc.ms-sdc.zh-drivers .ms-sdc__body > ul > li{
  margin:0; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.18); border-radius:16px; padding:24px 22px;
}
.lp-zuerich .ms-sdc.zh-drivers li > p:first-child{ font-size:28px; margin-bottom:12px; }
.lp-zuerich .ms-sdc.zh-drivers li > p:nth-child(2) strong{ display:block; font-size:18px; margin-bottom:6px; }
.lp-zuerich .ms-sdc.zh-drivers li > p:last-child{ font-size:16px; line-height:1.5; }
@media (max-width:900px){ .ms-sdc.ms-sdc.zh-drivers .ms-sdc__body > ul{ grid-template-columns:1fr 1fr; } }
@media (max-width:640px){ .ms-sdc.ms-sdc.zh-drivers .ms-sdc__body > ul{ grid-template-columns:1fr; } }

/* ---------- zh-price — "Wer heute keine starke Resilienz hat …" (export .price + .warn).
   Body: <h3> + <p> (left) · <ul> ✕ list (right) · <blockquote> = the white warn box
   (its <strong> red). Pair on-dark. ---------- */
.ms-sdc--normal.zh-price .ms-sdc__body{ display:grid; grid-template-columns:1fr 1fr; grid-template-rows:auto 1fr; column-gap:28px; align-items:start; }
.lp-zuerich .ms-sdc--normal.zh-price .ms-sdc__body > h3{ grid-column:1; grid-row:1; font-size:28px !important; }
.lp-zuerich .ms-sdc--normal.zh-price .ms-sdc__body > h3 + p{ grid-column:1; grid-row:2; margin-top:14px; }
.ms-sdc.ms-sdc.zh-price .ms-sdc__body > ul{
  grid-column:2; grid-row:1 / span 2; list-style:none; padding:0; margin:0; display:grid; gap:12px;
}
.ms-sdc.ms-sdc.zh-price .ms-sdc__body > ul > li{ display:flex; gap:12px; margin:0; color:#fff; }
.ms-sdc.ms-sdc.zh-price .ms-sdc__body > ul > li::before{
  content:"✕"; flex:none; width:26px; height:26px; border-radius:50%; background:rgba(181,72,60,.9); color:#fff;
  font-weight:700; font-size:13px; line-height:1; display:flex; align-items:center; justify-content:center; margin-top:2px;
}
.ms-sdc--normal.zh-price .ms-sdc__body > blockquote{
  grid-column:1 / -1; grid-row:3; margin:40px 0 0; background:#fff; border:0; border-radius:18px; padding:28px 32px; text-align:center;
}
.lp-zuerich .ms-sdc--normal.zh-price .ms-sdc__body > blockquote p{
  font-family:'Archivo'; font-weight:400; font-size:20px; line-height:1.6; color:#141414;
}
.lp-zuerich .ms-sdc--normal.zh-price .ms-sdc__body > blockquote strong{ color:#B5483C; }
@media (max-width:900px){
  .ms-sdc--normal.zh-price .ms-sdc__body{ grid-template-columns:1fr; grid-template-rows:none; }
  .ms-sdc.ms-sdc.zh-price .ms-sdc__body > ul{ grid-column:1; grid-row:3; margin-top:28px; }
  .ms-sdc--normal.zh-price .ms-sdc__body > blockquote{ grid-row:4; }
}
@media (max-width:640px){
  .ms-sdc--normal.zh-price .ms-sdc__body > blockquote{ padding:22px 20px; }
  .lp-zuerich .ms-sdc--normal.zh-price .ms-sdc__body > blockquote p{ font-size:18px; }
}

/* ---------- zh-why — "Warum das, was du bisher probiert hast …" (export .chain + .g2).
   Body: h2 (head-neg) + lead · <p><strong>⏱ <em>Alles in </em>0,3–0,5 Sekunden</strong></p>
   (= the time bracket over steps 1–3; the <em> words only show on mobile) · <ol> of 4
   stress-chain boxes (li = <p><em>label</em><strong>title</strong>desc</p> + optional
   2nd <p> = "Hier setzt … an" pin) · <ul> of 2 "old way" cards (li = <p><em>tag</em></p>
   <h3> + nested <ul> chips + <p> + last <p><strong>verdict</strong></p>). ---------- */
.lp-zuerich .ms-sdc--normal.zh-why .ms-sdc__body > p:has(+ ol){
  position:relative; margin:52px 0 14px; height:16px; width:calc((100% - 108px) / 4 * 3 + 72px);
  border:2px solid #007375; border-bottom:0; border-radius:12px 12px 0 0;
}
.lp-zuerich .ms-sdc--normal.zh-why .ms-sdc__body > p:has(+ ol) strong{
  position:absolute; left:50%; top:-16px; transform:translateX(-50%); background:#fff; padding:2px 12px;
  font-weight:700; color:#007375; font-size:15px; line-height:1.6; white-space:nowrap;
}
.ms-sdc--normal.zh-why .ms-sdc__body > p:has(+ ol) strong em{ display:none; font-style:normal; }
.ms-sdc.ms-sdc.zh-why .ms-sdc__body > ol{
  display:grid; grid-template-columns:repeat(4,1fr); column-gap:36px; align-items:stretch;
  list-style:none; padding:0; margin:0 0 122px; counter-reset:none; /* 14 + pin ~52 (absolute) + export .g2 56 */
}
.ms-sdc.ms-sdc.zh-why .ms-sdc__body > ol > li{
  position:relative; margin:0; background:#fff; border:2px solid #E9E9E6; border-radius:16px; padding:20px 18px;
  text-align:center; display:flex; flex-direction:column; justify-content:center;
  font-size:15px; line-height:1.4; color:#1A1A1A;
}
.ms-sdc.ms-sdc.zh-why .ms-sdc__body > ol > li::before{ content:none; display:none; }
.ms-sdc.ms-sdc.zh-why .ms-sdc__body > ol > li:nth-child(2){ border-color:#007375; background:#E4F1EF; }
.ms-sdc.ms-sdc.zh-why .ms-sdc__body > ol > li:nth-child(n+3){ border-color:#EDD3CB; background:#FBEEEA; }
.ms-sdc.ms-sdc.zh-why .ms-sdc__body > ol > li:not(:last-child)::after{
  content:"→"; position:absolute; top:50%; right:-38px; width:36px; transform:translateY(-50%);
  display:flex; align-items:center; justify-content:center; color:#007375; font-size:24px; font-weight:700; line-height:1;
}
.lp-zuerich .ms-sdc.zh-why ol > li > p:first-child{ font-size:15px; line-height:1.4; }
.ms-sdc.zh-why ol > li > p:first-child em{
  display:block; font-style:normal; font-size:12.5px; font-weight:700; letter-spacing:1.4px; text-transform:uppercase;
  color:#007375; margin-bottom:6px;
}
.ms-sdc.zh-why ol > li:nth-child(n+3) > p:first-child em{ color:#B5483C; }
.lp-zuerich .ms-sdc.zh-why ol > li > p:first-child strong{
  display:block; font-family:'Recoleta'; font-weight:600; font-size:22px; margin-bottom:6px; color:#141414;
}
/* the "Hier setzt … an" pins — under the box on desktop (export .ch-at) */
.lp-zuerich .ms-sdc.zh-why ol > li > p + p{
  position:absolute; left:-2px; right:-2px; top:calc(100% + 16px); margin:0;
  font-size:14px; font-weight:700; text-align:center; border-radius:10px; padding:9px 8px; line-height:1.3;
  background:#efefef; color:#1A1A1A;
}
.lp-zuerich .ms-sdc.zh-why ol > li:nth-child(2) > p + p{ background:#007375; color:#fff; }
.ms-sdc.zh-why ol > li > p + p::before{ content:"▲"; display:block; font-size:11px; margin-bottom:2px; }
/* the two "old way" cards (export .g2 .card.old) */
.ms-sdc.ms-sdc.zh-why .ms-sdc__body > ul{
  list-style:none; padding:0; margin:56px 0 0; display:grid; grid-template-columns:1fr 1fr; gap:22px;
}
.ms-sdc.ms-sdc.zh-why .ms-sdc__body > ul > li{
  margin:0; background:#fff; border:1px solid #E9E9E6; border-radius:18px; padding:30px 28px;
  box-shadow:0 8px 26px rgba(18,52,48,.06); color:#1A1A1A;
}
.lp-zuerich .ms-sdc.zh-why ul > li > p:first-child{ margin-bottom:14px; }
.ms-sdc.zh-why ul > li > p:first-child em{
  display:inline-block; font-style:normal; font-size:12px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase;
  border-radius:999px; padding:5px 14px; background:#FBEEEA; color:#B5483C; line-height:1.6;
}
.lp-zuerich .ms-sdc.zh-why ul > li > h3{ margin:0 0 10px !important; }
.ms-sdc.ms-sdc.zh-why ul > li > ul{ list-style:none; padding:0; margin:14px 0 16px; display:flex; flex-wrap:wrap; gap:8px; }
.ms-sdc.ms-sdc.zh-why ul > li > ul > li{
  margin:0; font-size:15px; font-weight:600; line-height:1.6; border-radius:999px; padding:6px 14px; background:#FBEEEA; color:#1A1A1A;
}
.lp-zuerich .ms-sdc.zh-why ul > li > p:last-child{
  margin-top:16px; padding-top:16px; border-top:1px solid #E9E9E6; font-weight:700; color:#B5483C;
}
.lp-zuerich .ms-sdc.zh-why ul > li > p:last-child strong{ color:#B5483C; }
@media (max-width:900px){
  .lp-zuerich .ms-sdc--normal.zh-why .ms-sdc__body > p:has(+ ol){
    width:auto; height:auto; border:0; border-radius:0; text-align:center; margin:52px 0 14px;
  }
  .lp-zuerich .ms-sdc--normal.zh-why .ms-sdc__body > p:has(+ ol) strong{
    position:static; transform:none; background:none; padding:0; font-size:18px; white-space:normal;
  }
  .ms-sdc--normal.zh-why .ms-sdc__body > p:has(+ ol) strong em{ display:inline; }
  .ms-sdc.ms-sdc.zh-why .ms-sdc__body > ol{ grid-template-columns:1fr; row-gap:36px; margin-bottom:0; }
  .ms-sdc.ms-sdc.zh-why .ms-sdc__body > ol > li:not(:last-child)::after{
    top:calc(100% + 2px); right:auto; left:calc(50% - 18px); height:36px; transform:rotate(90deg);
  }
  /* export: its later `.ch-b .mob{display:none}` wins over the ≤900 pill → no pins on mobile */
  .lp-zuerich .ms-sdc.zh-why ol > li > p + p{ display:none; }
  .ms-sdc.ms-sdc.zh-why .ms-sdc__body > ul{ grid-template-columns:1fr; }
}
@media (max-width:640px){ .ms-sdc.ms-sdc.zh-why .ms-sdc__body > ul > li{ padding:24px 22px; } }

/* ---------- zh-usptop — "Mind Switch® setzt dort an …" (export .usp-top): left = h2 + 2
   lead <p> (<strong> teal), right = <blockquote> petrol claim card (1st <p> Recoleta
   claim, <em> mint; 2nd <p> sub). ---------- */
.ms-sdc--normal.zh-usptop .ms-sdc__body{
  display:grid; grid-template-columns:1.05fr .95fr; column-gap:52px; grid-template-rows:1fr auto auto auto 1fr;
}
.ms-sdc--normal.zh-usptop .ms-sdc__body > h2{ grid-column:1; grid-row:2; text-align:left; }
.lp-zuerich .ms-sdc--normal.zh-usptop .ms-sdc__body > p{
  grid-column:1; font-size:20px; line-height:1.65; max-width:780px; margin:18px 0 0; text-align:left;
}
.ms-sdc--normal.zh-usptop .ms-sdc__body > p:nth-of-type(1){ grid-row:3; }
.ms-sdc--normal.zh-usptop .ms-sdc__body > p:nth-of-type(2){ grid-row:4; }
.lp-zuerich .ms-sdc--normal.zh-usptop .ms-sdc__body > p strong{ color:#007375; }
.ms-sdc--normal.zh-usptop .ms-sdc__body > blockquote{
  grid-column:2; grid-row:1 / 6; align-self:center; margin:0; border:0; background:#115759; border-radius:22px; padding:34px 32px;
}
.lp-zuerich .ms-sdc--normal.zh-usptop .ms-sdc__body > blockquote p:first-child{
  font-family:'Recoleta'; font-weight:600; font-size:30px; line-height:1.2; color:#fff;
}
.lp-zuerich .ms-sdc--normal.zh-usptop .ms-sdc__body > blockquote p:first-child em{ font-style:normal; color:#8FE0D8; }
.lp-zuerich .ms-sdc--normal.zh-usptop .ms-sdc__body > blockquote p + p{
  font-family:'Archivo'; font-weight:400; font-size:17px; line-height:1.6; color:#fff; margin-top:14px;
}
@media (max-width:900px){
  .ms-sdc--normal.zh-usptop .ms-sdc__body{ grid-template-columns:1fr; grid-template-rows:none; }
  .ms-sdc--normal.zh-usptop .ms-sdc__body > h2{ grid-row:1; }
  .ms-sdc--normal.zh-usptop .ms-sdc__body > p:nth-of-type(1){ grid-row:2; }
  .ms-sdc--normal.zh-usptop .ms-sdc__body > p:nth-of-type(2){ grid-row:3; }
  .ms-sdc--normal.zh-usptop .ms-sdc__body > blockquote{ grid-column:1; grid-row:4; margin-top:28px; }
}
@media (max-width:640px){
  .lp-zuerich .ms-sdc--normal.zh-usptop .ms-sdc__body > p{ font-size:18px; }
  .ms-sdc--normal.zh-usptop .ms-sdc__body > blockquote{ padding:26px 22px; }
  .lp-zuerich .ms-sdc--normal.zh-usptop .ms-sdc__body > blockquote p:first-child{ font-size:24px; }
}

/* ---------- zh-usps — 4 USP cards (export .usps). li = <p><strong>big word</strong></p>
   <h3>title</h3><p>desc</p>. ---------- */
.ms-sdc.ms-sdc.zh-usps .ms-sdc__body > ul{
  list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(4,1fr); gap:18px;
}
.ms-sdc.ms-sdc.zh-usps .ms-sdc__body > ul > li{
  margin:0; background:#fff; border:1px solid #E9E9E6; border-radius:18px; padding:30px 28px;
  box-shadow:0 8px 26px rgba(18,52,48,.06); color:#1A1A1A;
}
.lp-zuerich .ms-sdc.zh-usps li > p:first-child strong{
  display:block; font-family:'Recoleta'; font-weight:600; font-size:34px; color:#007375; line-height:1.05; margin-bottom:12px;
}
.lp-zuerich .ms-sdc.zh-usps li > h3{ font-size:20px !important; margin:0 0 10px !important; }
.lp-zuerich .ms-sdc.zh-usps li > p:last-child{ font-size:16px; line-height:1.5; }
@media (max-width:900px){ .ms-sdc.ms-sdc.zh-usps .ms-sdc__body > ul{ grid-template-columns:1fr 1fr; } }
@media (max-width:640px){
  .ms-sdc.ms-sdc.zh-usps .ms-sdc__body > ul{ grid-template-columns:1fr; }
  .ms-sdc.ms-sdc.zh-usps .ms-sdc__body > ul > li{ padding:24px 22px; }
}

/* ---------- zh-compare — comparison (export .cmpw table + .cmpm mobile cards).
   Body = a <table> (desktop >720; 4th column = Mind Switch petrol; rows 2 + 5 of
   columns 2–3 red) + a <ul> of 3 column-cards (mobile ≤720): li = <p><strong>title
   </strong></p> + nested <ul> of rows <li><em>label</em>value</li>; card 3 petrol. ---------- */
.ms-sdc--normal.zh-compare .ms-sdc__body figure.table{ margin:0; }
.ms-sdc--normal.zh-compare .ms-sdc__body table{
  width:100%; border-collapse:separate; border-spacing:0; background:#fff; font-size:16px; line-height:1.4;
  border-radius:20px; overflow:hidden; box-shadow:0 8px 26px rgba(18,52,48,.08); border:0;
}
.ms-sdc--normal.zh-compare .ms-sdc__body th, .ms-sdc--normal.zh-compare .ms-sdc__body td{
  padding:16px 18px; text-align:left; vertical-align:top; border:0; border-bottom:1px solid #E9E9E6; color:#1A1A1A;
}
.ms-sdc--normal.zh-compare .ms-sdc__body thead th{
  font-family:'Recoleta'; font-weight:600; font-size:19px; color:#141414; background:#fff;
}
.ms-sdc--normal.zh-compare .ms-sdc__body tbody th{ font-weight:700; color:#141414; width:24%; }
.ms-sdc--normal.zh-compare .ms-sdc__body tr > :nth-child(4){ background:#115759; color:#fff; }
.lp-zuerich .ms-sdc--normal.zh-compare .ms-sdc__body tr > :nth-child(4) strong{ color:#8FE0D8; }
.ms-sdc--normal.zh-compare .ms-sdc__body tbody tr:last-child > *{ border-bottom:0; }
.ms-sdc--normal.zh-compare .ms-sdc__body tbody tr:nth-child(2) > td:nth-child(2),
.ms-sdc--normal.zh-compare .ms-sdc__body tbody tr:nth-child(2) > td:nth-child(3),
.ms-sdc--normal.zh-compare .ms-sdc__body tbody tr:nth-child(5) > td:nth-child(2),
.ms-sdc--normal.zh-compare .ms-sdc__body tbody tr:nth-child(5) > td:nth-child(3){ color:#B5483C; font-weight:700; }
.ms-sdc.ms-sdc.zh-compare .ms-sdc__body > ul{ display:none; }
@media (max-width:720px){
  .ms-sdc--normal.zh-compare .ms-sdc__body table, .ms-sdc--normal.zh-compare .ms-sdc__body figure.table{ display:none; }
  .ms-sdc.ms-sdc.zh-compare .ms-sdc__body > ul{ display:flex; flex-direction:column; gap:14px; list-style:none; padding:0; margin:0; }
  .ms-sdc.ms-sdc.zh-compare .ms-sdc__body > ul > li{
    margin:0; background:#fff; border-radius:18px; padding:22px 20px; box-shadow:0 8px 26px rgba(18,52,48,.08);
  }
  .lp-zuerich .ms-sdc.zh-compare .ms-sdc__body > ul > li > p:first-child{ margin-bottom:8px; }
  .lp-zuerich .ms-sdc.zh-compare .ms-sdc__body > ul > li > p:first-child strong{
    font-family:'Recoleta'; font-weight:600; font-size:22px; color:#141414;
  }
  .ms-sdc.ms-sdc.zh-compare .ms-sdc__body > ul > li > ul{ list-style:none; padding:0; margin:0; }
  .ms-sdc.ms-sdc.zh-compare .ms-sdc__body > ul > li > ul > li{
    display:grid; grid-template-columns:1fr 1.15fr; column-gap:14px; margin:0; padding:11px 0;
    border-top:1px solid #E9E9E6; font-size:16px; font-weight:600; line-height:1.35; color:#141414;
  }
  .ms-sdc.zh-compare .ms-sdc__body > ul > li > ul > li > em{ font-style:normal; font-size:14px; font-weight:600; color:#3D3D3D; }
  .ms-sdc.ms-sdc.zh-compare .ms-sdc__body > ul > li:nth-child(-n+2) > ul > li:nth-child(2),
  .ms-sdc.ms-sdc.zh-compare .ms-sdc__body > ul > li:nth-child(-n+2) > ul > li:nth-child(5){ color:#B5483C; font-weight:700; }
  .ms-sdc.ms-sdc.zh-compare .ms-sdc__body > ul > li:nth-child(3){ background:#115759; }
  .lp-zuerich .ms-sdc.zh-compare .ms-sdc__body > ul > li:nth-child(3) > p:first-child strong,
  .ms-sdc.ms-sdc.zh-compare .ms-sdc__body > ul > li:nth-child(3) > ul > li{ color:#fff; border-top-color:rgba(255,255,255,.18); }
  .ms-sdc.zh-compare .ms-sdc__body > ul > li:nth-child(3) > ul > li > em{ color:#CFE6E3; }
  .lp-zuerich .ms-sdc.zh-compare .ms-sdc__body > ul > li:nth-child(3) > ul > li strong{ color:#8FE0D8; }
}

/* ---------- zh-outs — 6 outcome items (export .outs): li = <p>emoji</p><h3>title</h3><p>desc</p>
   → icon tile left, text right. ---------- */
.ms-sdc.ms-sdc.zh-outs .ms-sdc__body > ul{
  list-style:none; padding:0; margin:48px 0 0; display:grid; grid-template-columns:repeat(3,1fr); gap:20px;
}
.ms-sdc.ms-sdc.zh-outs .ms-sdc__body > ul > li{
  margin:0; display:grid; grid-template-columns:52px 1fr; column-gap:16px; align-items:start; align-content:start;
}
.lp-zuerich .ms-sdc.zh-outs li > p:first-child{
  grid-column:1; grid-row:1 / span 2; width:52px; height:52px; border-radius:14px; background:#E4F1EF;
  display:flex; align-items:center; justify-content:center; font-size:26px; line-height:1;
}
.lp-zuerich .ms-sdc.zh-outs li > h3{ grid-column:2; font-size:21px !important; margin:0 0 4px !important; }
.lp-zuerich .ms-sdc.zh-outs li > p:last-child{ grid-column:2; font-size:16px; line-height:1.5; }
@media (max-width:900px){ .ms-sdc.ms-sdc.zh-outs .ms-sdc__body > ul{ grid-template-columns:1fr 1fr; } }
@media (max-width:640px){ .ms-sdc.ms-sdc.zh-outs .ms-sdc__body > ul{ grid-template-columns:1fr; } }

/* ---------- zh-fit — "Für wen ist das kostenlose Beratungsgespräch?" (export .fit).
   <ul> of 2 cards: li = <h3> + nested <ul>; card 1 ✓ teal markers, card 2 grey with –. ---------- */
.ms-sdc.ms-sdc.zh-fit .ms-sdc__body > ul{
  list-style:none; padding:0; margin:44px 0 0; display:grid; grid-template-columns:1.2fr .8fr; gap:22px;
}
.ms-sdc.ms-sdc.zh-fit .ms-sdc__body > ul > li{
  margin:0; background:#fff; border:1px solid #E9E9E6; border-radius:18px; padding:30px 28px;
  box-shadow:0 8px 26px rgba(18,52,48,.06); color:#1A1A1A;
}
.ms-sdc.ms-sdc.zh-fit .ms-sdc__body > ul > li:nth-child(2){ background:#efefef; border-color:#efefef; box-shadow:none; }
.ms-sdc.ms-sdc.zh-fit .ms-sdc__body > ul > li > ul{ list-style:none; padding:0; margin:18px 0 0; display:grid; gap:14px; }
.ms-sdc.ms-sdc.zh-fit .ms-sdc__body > ul > li > ul > li{ display:flex; gap:12px; margin:0; color:#1A1A1A; }
.ms-sdc.ms-sdc.zh-fit .ms-sdc__body > ul > li > ul > li::before{
  content:"✓"; flex:none; width:26px; height:26px; border-radius:50%; background:#007375; color:#fff;
  font-weight:700; font-size:14px; line-height:1; display:flex; align-items:center; justify-content:center; margin-top:2px;
}
.ms-sdc.ms-sdc.zh-fit .ms-sdc__body > ul > li:nth-child(2) > ul > li::before{ content:"–"; background:#fff; color:#141414; font-size:18px; }
@media (max-width:900px){ .ms-sdc.ms-sdc.zh-fit .ms-sdc__body > ul{ grid-template-columns:1fr; } }
@media (max-width:640px){ .ms-sdc.ms-sdc.zh-fit .ms-sdc__body > ul > li{ padding:24px 22px; } }

/* ---------- zh-gets — "Was du aus dem Gespräch mitnimmst" (export .gets). 2×2 white cards:
   li = <p>emoji</p><p><strong>title</strong><br>desc</p>. ---------- */
.ms-sdc.ms-sdc.zh-gets .ms-sdc__body > ul{
  list-style:none; padding:0; margin:40px 0 0; display:grid; grid-template-columns:1fr 1fr; gap:16px;
}
.ms-sdc.ms-sdc.zh-gets .ms-sdc__body > ul > li{
  margin:0; display:flex; gap:16px; background:#fff; border-radius:16px; padding:22px 24px;
  box-shadow:0 4px 18px rgba(18,52,48,.07); color:#1A1A1A;
}
.lp-zuerich .ms-sdc.zh-gets li > p:first-child{ flex:none; font-size:26px; }
@media (max-width:900px){ .ms-sdc.ms-sdc.zh-gets .ms-sdc__body > ul{ grid-template-columns:1fr; } }

/* ---------- zh-roadmap — "Dein Weg zu einer starken Resilienz" (export #ablauf .rm).
   <ol> of 4: li = <h3>title</h3><p>desc</p>. Number circle + "Schritt N" label are
   generated from a CSS counter; horizontal line on desktop, vertical ≤900. ---------- */
.ms-sdc.ms-sdc.zh-roadmap .ms-sdc__body > ol{
  position:relative; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:36px;
  list-style:none; padding:0; margin:48px 0 0; counter-reset:zhstep;
}
.ms-sdc.ms-sdc.zh-roadmap .ms-sdc__body > ol::before{
  content:""; position:absolute; top:24px; left:15px; right:15px; height:2px; background:#9FCFC9;
}
.ms-sdc.ms-sdc.zh-roadmap .ms-sdc__body > ol > li{
  position:relative; counter-increment:zhstep; margin:0; padding:58px 0 0; border:0;
  font-size:18px; line-height:1.6; color:#1A1A1A; text-align:left;
}
.ms-sdc.ms-sdc.zh-roadmap .ms-sdc__body > ol > li:last-child{ border:0; }
.ms-sdc.ms-sdc.zh-roadmap .ms-sdc__body > ol > li::before{
  content:counter(zhstep); position:absolute; top:10px; left:0; width:30px; height:30px; border-radius:50%;
  background:#007375; color:#fff; font-family:'Archivo'; font-weight:700; font-size:16px; line-height:1;
  display:flex; align-items:center; justify-content:center; box-shadow:0 0 0 6px #E4F1EF;
}
.lp-zuerich .ms-sdc.zh-roadmap ol > li > h3{ line-height:1.25 !important; margin:0 0 10px !important; }
.ms-sdc.zh-roadmap ol > li > h3::before{
  content:"Schritt " counter(zhstep); display:block; font-family:'Archivo'; font-weight:700; font-size:14px;
  line-height:1.6; letter-spacing:.12em; text-transform:uppercase; color:#007375; margin-bottom:8px;
}
@media (max-width:900px){
  .ms-sdc.ms-sdc.zh-roadmap .ms-sdc__body > ol{ grid-template-columns:1fr; gap:8px; }
  .ms-sdc.ms-sdc.zh-roadmap .ms-sdc__body > ol::before{ top:24px; bottom:24px; left:15px; right:auto; width:2px; height:auto; }
  .ms-sdc.ms-sdc.zh-roadmap .ms-sdc__body > ol > li{ padding:0 0 22px 56px; }
  .ms-sdc.ms-sdc.zh-roadmap .ms-sdc__body > ol > li::before{ top:0; }
}
/* export: inline 24px h3 survives the generic ≤640 21px; only ≤560 drops to 21 */
@media (max-width:640px){ .lp-zuerich .ms-sdc.zh-roadmap ol > li > h3{ font-size:24px !important; } }
@media (max-width:560px){ .lp-zuerich .ms-sdc.zh-roadmap ol > li > h3{ font-size:21px !important; } }

/* ---------- zh-reviews — "Unsere Kunden sind begeistert." (export .tfeat + .tgrid2).
   Body: h2 + rating <p> (<em>★★★★★</em> gold, link inline) + <ul> #1 = 3 featured cards
   + <ul> #2 = masonry wall. li = <p>quote</p><p><strong>name</strong>role</p>;
   the 5 gold stars are baked (li::before). ---------- */
.lp-zuerich .ms-sdc--normal.zh-reviews .ms-sdc__body > h2 + p{ font-size:18px; line-height:1.6; margin-top:18px; }
.ms-sdc--normal.zh-reviews .ms-sdc__body > h2 + p em{ font-style:normal; color:#F2C14E; letter-spacing:2px; font-size:20px; margin-right:10px; }
.ms-sdc.ms-sdc.zh-reviews .ms-sdc__body > ul{ list-style:none; padding:0; }
.ms-sdc.ms-sdc.zh-reviews .ms-sdc__body > ul:nth-of-type(1){ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin:44px 0 0; }
.ms-sdc.ms-sdc.zh-reviews .ms-sdc__body > ul:nth-of-type(1) > li{
  margin:0; background:#fff; border:1.5px solid #A9D2CC; border-radius:18px; padding:30px; box-shadow:0 4px 18px rgba(18,52,48,.07);
}
.ms-sdc.ms-sdc.zh-reviews .ms-sdc__body > ul:nth-of-type(2){ columns:3; column-gap:20px; margin:20px 0 0; }
.ms-sdc.ms-sdc.zh-reviews .ms-sdc__body > ul:nth-of-type(2) > li{
  break-inside:avoid; margin:0 0 20px; background:#fff; border:1px solid #E9E9E6; border-radius:16px; padding:24px;
  box-shadow:0 4px 18px rgba(18,52,48,.07);
}
.ms-sdc.ms-sdc.zh-reviews .ms-sdc__body > ul > li::before{
  content:"★★★★★"; display:block; color:#F2C14E; letter-spacing:2px; font-size:18px; line-height:1.6; margin-bottom:12px;
}
.lp-zuerich .ms-sdc.zh-reviews .ms-sdc__body > ul > li > p:first-child{ font-size:17px; line-height:1.6; color:#141414; }
.lp-zuerich .ms-sdc.zh-reviews .ms-sdc__body > ul > li > p:last-child{
  margin-top:15px; padding-top:13px; border-top:1px solid #E9E9E6; color:#007375; font-size:14px; font-weight:600;
}
.lp-zuerich .ms-sdc.zh-reviews .ms-sdc__body > ul > li > p:last-child strong{ display:block; font-size:15px; color:#141414; }
@media (max-width:980px){
  .ms-sdc.ms-sdc.zh-reviews .ms-sdc__body > ul:nth-of-type(1){ grid-template-columns:1fr; }
  .ms-sdc.ms-sdc.zh-reviews .ms-sdc__body > ul:nth-of-type(2){ columns:2; }
}
@media (max-width:660px){ .ms-sdc.ms-sdc.zh-reviews .ms-sdc__body > ul:nth-of-type(2){ columns:1; } }

/* ---------- faq (homepage layout) on this page: section title + questions BLACK (user
   request — not petrol), title centred with the export's 40px gap to the list. ---------- */
.lp-zuerich .ms-sdc--normal.faq .ms-sdc__body > h2{ margin-bottom:40px !important; }
.lp-zuerich .ms-sdc--normal.faq .ms-sdc__body summary,
.lp-zuerich .ms-sdc--normal.faq .ms-sdc__body > h4{ color:#141414 !important; }
/* ---------- logo-marquee (homepage "Bekannt aus", reused) on this page: white band with the
   export's .media-bar rhythm (28px top/bottom, hairline below). Paragraph padding = 0. ---------- */
.lp-zuerich .ms-sdc.ms-sdc--normal.logo-marquee{
  padding-top:28px !important; padding-bottom:28px !important; border-bottom:1px solid #E9E9E6;
}
/* ===== end ZÜRICH LP (normal) ===== */


/* =====================================================================
   STRESSTEST OPT-IN (/test/stress-selbsttest/danke, body.lp-stress) —
   Source: stresstest-optin-neu.html · Mapping: docs/Stresstest_Optin_Mapping.md.
   4 flags on the `normal` SDC: progress-steps · optin-head · optin-proof ·
   logo-grid. Type sizes = the export's own px values (h1 40/26, sub 20/17,
   body 18), Recoleta 600 + Archivo. Palette: ink #141414, body #1A1A1A,
   teal #007375, mint #8FE0D8, gold #F2C14E, line #C9D6D4.
   Breakpoints = the export's: 640 (all) + 900 (logo grid only).
   The hero gradient, the gaps between the bands and the form card are page
   chrome (style.css, body.lp-stress) — the card IS the webform.
   ===================================================================== */

/* ---------- shared column — export .in-n: max 720, gutter 24 → 672 content.
   The gutter is PINNED (the base grows it to 56px at ≥1040). ---------- */
.ms-sdc--normal.optin-head, .ms-sdc--normal.optin-proof{
  padding-left:24px; padding-right:24px;
  font-size:18px; line-height:1.6; color:#1A1A1A;
}
.ms-sdc--normal.optin-head .ms-sdc__inner,
.ms-sdc--normal.optin-proof .ms-sdc__inner{ max-width:672px; }

/* ---------- progress-steps — <ol> → 3-step tracker (export .steps / .st).
   State is AUTHORED: the <li> holding <strong> = current (ring + dot), every
   <li> before it = done (teal ✓), every <li> after = pending. The circle is an
   absolute ::before (never grid/flex on the <li>), the dot an ::after.
   The connector is the export's 50 % teal / 50 % grey line (= step 2 of 3).
   Labels are authored as plain text ("Test ausgefüllt"): the 36px side padding
   narrows the label box so each two-word label breaks after its first word on
   desktop (export: a hard <br>), and ≤640 the label is one nowrap line. The
   export hides its <br> there and so glues the words ("Testausgefüllt") — that
   source bug is NOT reproduced. A typed <br> still works (hidden ≤640). ---------- */
.ms-sdc.ms-sdc.progress-steps ol{
  display:grid; grid-template-columns:1fr 1fr 1fr; counter-reset:none;
  max-width:460px; margin:0 auto 24px; padding:0; position:relative;
}
.ms-sdc.ms-sdc.progress-steps ol::before{
  content:""; position:absolute; top:15px; left:16.6%; right:16.6%; height:2px;
  background:linear-gradient(90deg,#007375 50%,#C9D6D4 50%);
}
.ms-sdc.ms-sdc.progress-steps ol > li{
  counter-increment:none; position:relative; margin:0; padding:40px 36px 0; border:0;
  font-family:'Archivo'; font-size:13.5px; font-weight:700; line-height:1.25;
  color:#5D6B6A; text-align:center;
}
.ms-sdc.ms-sdc.progress-steps ol > li::before{
  content:""; box-sizing:border-box; position:absolute; top:0; left:50%; margin-left:-16px;
  width:32px; height:32px; border-radius:50%; background:#fff; border:2px solid #C9D6D4;
  display:flex; align-items:center; justify-content:center;
  font-family:'Archivo'; font-weight:700; font-size:16px; line-height:1.25; color:#fff;
}
.ms-sdc.ms-sdc.progress-steps ol > li strong{ font-weight:700; color:inherit; }
/* done */
.ms-sdc.ms-sdc.progress-steps ol > li:has(~ li strong){ color:#007375; }
.ms-sdc.ms-sdc.progress-steps ol > li:has(~ li strong)::before{
  content:"✓"; background:#007375; border-color:#007375;
}
/* current */
.ms-sdc.ms-sdc.progress-steps ol > li:has(strong){ color:#141414; }
.ms-sdc.ms-sdc.progress-steps ol > li:has(strong)::before{
  border-color:#007375; box-shadow:0 0 0 5px rgba(143,224,216,.5);
}
.ms-sdc.ms-sdc.progress-steps ol > li:has(strong)::after{
  content:""; position:absolute; top:10px; left:50%; margin-left:-6px;
  width:12px; height:12px; border-radius:50%; background:#007375;
}

/* ---------- optin-head — h1 (+ <em> = teal half) + sub line (export h1 / .sub) ---------- */
.ms-sdc--normal.optin-head h1{
  font-family:'Recoleta' !important; font-weight:600 !important; font-style:normal !important;
  font-size:40px !important; line-height:1.12 !important; letter-spacing:-.01em !important;
  color:#141414 !important; text-align:center !important; text-transform:none !important;
  text-wrap:balance; margin:0 !important; padding:0 !important;
}
.ms-sdc--normal.optin-head h1::after{ content:none !important; }
.ms-sdc--normal.optin-head h1 em{ font-style:normal; color:#007375; }
.ms-sdc--normal.optin-head .ms-sdc__body > p{
  font-size:20px; line-height:1.5; color:#1A1A1A; text-align:center; text-wrap:pretty;
  max-width:620px; margin:12px auto 0;
}
.ms-sdc--normal.optin-head .ms-sdc__body > p strong{ color:#141414; }

/* ---------- optin-proof — service line + rating (export .proof). <em> = the
   authorable star hook: upright + gold (same convention as gk-rating / gk-meta). ---------- */
.ms-sdc--normal.optin-proof .ms-sdc__body{
  display:flex; flex-direction:column; align-items:center; gap:6px;
}
.ms-sdc--normal.optin-proof .ms-sdc__body > p{
  font-size:16px; line-height:1.6; color:#141414; text-align:center; margin:0;
}
.ms-sdc--normal.optin-proof .ms-sdc__body > p strong{ color:#141414; }
.ms-sdc--normal.optin-proof .ms-sdc__body em{
  font-style:normal; color:#F2C14E; letter-spacing:2px; font-size:19px;
}

/* ---------- logo-grid — "Bekannt aus": <h4> label + inline <img> list → STATIC
   6-col grid, 3-col ≤900 (export .media / .logos). Owns its 44/56 vertical
   padding (off the 0/30/60/90/120 field scale) — paragraph padding fields = 0.
   CKEditor wraps the images in <p>: flattened with display:contents so each
   <img> is a grid item. Distinct from logo-marquee (scrolling, JS-built). ---------- */
.ms-sdc.ms-sdc.ms-sdc--normal.logo-grid{
  padding:44px 24px 56px !important;
}
.ms-sdc--normal.logo-grid .ms-sdc__inner{ max-width:952px; }   /* export .logos 1000 − 2×24 */
.ms-sdc--normal.logo-grid .ms-sdc__body{
  display:grid; grid-template-columns:repeat(6,minmax(0,1fr));
  justify-items:center; align-items:center; gap:22px 32px;
}
.ms-sdc--normal.logo-grid .ms-sdc__body > h4{
  grid-column:1 / -1; text-align:center; margin:0 !important;
  font-family:'Archivo' !important; font-weight:700 !important; font-size:12px !important;
  line-height:1.6 !important; letter-spacing:2.5px !important; text-transform:uppercase !important;
  color:#7A8584 !important;
}
.ms-sdc--normal.logo-grid .ms-sdc__body p:has(img){ display:contents; }
.ms-sdc--normal.logo-grid .ms-sdc__body p:has(img) br{ display:none; }
.ms-sdc--normal.logo-grid .ms-sdc__body img{
  display:block; height:34px; width:auto; max-width:150px; object-fit:contain; margin:0;
}
@media (max-width:900px){
  .ms-sdc--normal.logo-grid .ms-sdc__body{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width:640px){
  .ms-sdc.ms-sdc.progress-steps ol{ margin-bottom:12px; }
  .ms-sdc.ms-sdc.progress-steps ol::before{ top:12px; }
  .ms-sdc.ms-sdc.progress-steps ol > li{ padding:31px 0 0; font-size:11.5px; white-space:nowrap; }
  .ms-sdc.ms-sdc.progress-steps ol > li br{ display:none; }
  .ms-sdc.ms-sdc.progress-steps ol > li::before{ width:26px; height:26px; margin-left:-13px; font-size:13px; }
  .ms-sdc.ms-sdc.progress-steps ol > li:has(strong)::after{ top:7px; }
  .ms-sdc--normal.optin-head h1{ font-size:26px !important; line-height:1.15 !important; }
  .ms-sdc--normal.optin-head .ms-sdc__body > p{ font-size:17px; margin-top:8px; }
  .ms-sdc--normal.logo-grid .ms-sdc__body{ gap:18px 20px; }
  .ms-sdc--normal.logo-grid .ms-sdc__body > h4{ margin-bottom:4px !important; }  /* label gap stays 22 (18 row-gap + 4) */
  .ms-sdc--normal.logo-grid .ms-sdc__body img{ height:26px; max-width:120px; }
}
@media (max-width:360px){   /* a 3-col nowrap label no longer fits — let it wrap instead of overlapping */
  .ms-sdc.ms-sdc.progress-steps ol > li{ white-space:normal; padding-left:4px; padding-right:4px; }
}
/* ===== end STRESSTEST OPT-IN ===== */


/* =====================================================================
   STRESS-SELBSTTEST ROT (red4 → /test/stress-selbsttest/red4-v2, body.lp-red)
   Source: ai-layout-paragraph/lp-red-08-10-2026.html · Mapping: ai-layout-paragraph/
   red4/red4_Mapping.md. Type = the export's own computed values (user decision
   2026-10-08): h1 46/32, h2 38/1.18 → 29 (≤900), lead 20/18 (≤640), body 18 at every
   width, note (blockquote) Recoleta 26/22, Recoleta 600 + Archivo. Palette: ink #141414,
   body #1A1A1A, teal #007375, mint #8FE0D8, soft #E4F1EF, grey #efefef, line #E9E9E6,
   red #C8102E, red-bg #FDECEE, gold #F2C14E, orange CTA #F3954A.
   Breakpoints = the export's 900 / 760 / 700 / 640 / 560.
   `rd-*` flags are this page's: normal-layout ones here, hero-layout ones (rd-hero ·
   rd-gauge · rd-split · rd-sci · rd-offer) in hero.css, rd-diagram in
   image-in-middle-v2.css. Reused: zh-cta · zh-case/zh-rev · zh-reviews (Zürich) ·
   founder/founder-textleft (homepage) · media-card · head-neg — their `.lp-zuerich`
   page rules are MIRRORED under `.lp-red` below (Zürich rules untouched).
   ===================================================================== */

/* ---------- page-scope resets (style ONLY .ms-sdc) ---------- */
.lp-red .ms-sdc{
  font-family:'Archivo'; font-size:18px; line-height:1.6; color:#1A1A1A;
  padding-left:28px; padding-right:28px;
}
.lp-red .ms-sdc__inner{ max-width:1044px; }               /* export .wrap 1100 − 2×28 */
.lp-red .ms-sdc p{ font-size:18px; line-height:1.6; color:#1A1A1A; margin:0; }
.lp-red .ms-sdc strong, .lp-red .ms-sdc b{ font-weight:700; color:#141414; }
.lp-red .ms-sdc a{ color:#007375; }
.lp-red .ms-sdc a:hover{ color:#005E60; }
.lp-red .ms-sdc h1, .lp-red .ms-sdc h2, .lp-red .ms-sdc h3{
  font-family:'Recoleta' !important; font-weight:600 !important; font-style:normal !important;
  letter-spacing:-.01em !important; line-height:1.14 !important; color:#141414 !important;
  text-transform:none !important; margin:0 !important; padding:0 !important; text-wrap:wrap;
}
.lp-red .ms-sdc h1{ font-size:46px !important; }
.lp-red .ms-sdc h2{ font-size:38px !important; line-height:1.18 !important; }
.lp-red .ms-sdc h3{ font-size:22px !important; }
.lp-red .ms-sdc h2::after{ content:none !important; display:none !important; }
/* heading highlight = <em> (export .hl teal); head-neg → red (export .neg) */
.lp-red .ms-sdc h1 em, .lp-red .ms-sdc h2 em{ font-style:normal; color:#007375; }
.lp-red .ms-sdc.head-neg h1 em, .lp-red .ms-sdc.head-neg h2 em{ color:#C8102E; }
.lp-red .ms-sdc sup{ font-size:.55em; line-height:0; }
/* centred section head (export .hc): h2 + lead <p> on normal bands */
.lp-red .ms-sdc--normal .ms-sdc__body > h2{ text-align:center; }
.lp-red .ms-sdc--normal .ms-sdc__body > h2 + p{
  font-size:20px; line-height:1.65; max-width:780px; margin:18px auto 0; text-align:center;
}
/* recurring orange CTA = tracked Simple Link (cta-orange) → export .btn */
.lp-red .ms-sdc a.cta-orange, .lp-red .ms-sdc a.cta-orange:link, .lp-red .ms-sdc a.cta-orange:visited{
  font-size:18px !important; line-height:1.7 !important; padding:16px 34px !important;
  border-radius:12px !important; white-space:nowrap;
}
/* theme chrome adds heading padding, actions padding-top 30 and .btn margin-top 20 — not in the export */
.lp-red .ms-sdc .ms-sdc__actions{ padding-top:0 !important; }
.lp-red .ms-sdc a.cta-orange{ margin:0 !important; }
@media (max-width:900px){
  .lp-red .ms-sdc h1{ font-size:32px !important; }
  .lp-red .ms-sdc h2{ font-size:29px !important; }
}
@media (max-width:640px){
  .lp-red .ms-sdc{ padding-left:20px; padding-right:20px; }
  .lp-red .ms-sdc--normal .ms-sdc__body > h2 + p{ font-size:18px; }
  .lp-red .ms-sdc a.cta-orange, .lp-red .ms-sdc a.cta-orange:link, .lp-red .ms-sdc a.cta-orange:visited{
    font-size:16px !important; padding:15px 22px !important; display:block; width:100%; text-align:center;
  }
}
@media (max-width:560px){
  .lp-red .ms-sdc a.cta-orange, .lp-red .ms-sdc a.cta-orange:link{ white-space:normal; }
}

/* ---------- rd-cards — "Was passiert, wenn du jetzt nichts änderst" (export .cg/.cgi +
   .endnote). Body: h2 (<em>) + lead <p> · <ul> of 4: <li><p>emoji</p><h3>title</h3><p>text</p></li>
   → 2-col white cards, emoji in a red-soft circle · trailing <blockquote><p> note + <p>
   (centred). 1-col ≤900. ---------- */
.ms-sdc.ms-sdc.rd-cards .ms-sdc__body > ul{
  list-style:none; padding:0; margin:52px 0 0; display:grid; grid-template-columns:1fr 1fr; gap:22px;
}
.ms-sdc.ms-sdc.rd-cards .ms-sdc__body > ul > li{
  margin:0; background:#fff; border-radius:22px; padding:30px 30px 28px; box-shadow:0 10px 30px rgba(18,52,48,.06);
}
.lp-red .ms-sdc.rd-cards .ms-sdc__body > ul > li > p:first-child{
  width:52px; height:52px; border-radius:50%; background:#FDECEE; display:flex; align-items:center;
  justify-content:center; font-size:24px; line-height:1; margin:0 0 16px;
}
.lp-red .ms-sdc.rd-cards .ms-sdc__body > ul > li > h3{ font-size:22px !important; margin:0 0 8px !important; }
.lp-red .ms-sdc.rd-cards .ms-sdc__body > ul > li > h3 + p{ font-size:17px; line-height:1.6; }
.lp-red .ms-sdc.rd-cards .ms-sdc__body > blockquote{
  max-width:760px; margin:46px auto 0; padding:0; border:0; background:none; text-align:center;
}
.lp-red .ms-sdc.rd-cards .ms-sdc__body > blockquote + p{ max-width:760px; margin:10px auto 0; text-align:center; }
@media (max-width:900px){ .ms-sdc.ms-sdc.rd-cards .ms-sdc__body > ul{ grid-template-columns:1fr; gap:28px; } }

/* shared note style for the rd-* normal bands (cards · letter is separate) */
.lp-red .ms-sdc.rd-cards .ms-sdc__body > blockquote p,
.lp-red .ms-sdc.rd-tried .ms-sdc__body > blockquote p:first-child{
  font-family:'Recoleta'; font-weight:600; font-size:26px; line-height:1.3; color:#007375; margin:0;
}
.lp-red .ms-sdc.rd-cards.head-neg .ms-sdc__body > blockquote p{ color:#C8102E; }
@media (max-width:900px){ .lp-red .ms-sdc.rd-cards .ms-sdc__body > blockquote p{ font-size:22px; } }

/* ---------- rd-tried — "Warum Urlaub, Sport und Meditation …" (export .tl + .quote).
   Body: h2 + lead · <ul> <li><strong>Label:</strong> text</li> → 2-col ✕ rows with hairlines ·
   <blockquote><p>quote</p><p>source</p></blockquote> → centred Recoleta quote. ---------- */
.ms-sdc.ms-sdc.rd-tried .ms-sdc__body > ul{
  list-style:none; padding:0; margin:48px 0 0; display:grid; grid-template-columns:1fr 1fr; column-gap:48px;
}
.ms-sdc.ms-sdc.rd-tried .ms-sdc__body > ul > li{
  position:relative; margin:0; padding:20px 0 20px 42px; border-top:1px solid #E9E9E6;
  font-size:18px; line-height:1.6; color:#1A1A1A;
}
.ms-sdc.ms-sdc.rd-tried .ms-sdc__body > ul > li::before{
  content:"✕"; position:absolute; left:0; top:22px; width:26px; height:26px; border-radius:50%;
  background:#F1F1F1; color:#8A8A8A; font-weight:700; font-size:12px; line-height:1;
  display:flex; align-items:center; justify-content:center;
}
.lp-red .ms-sdc.rd-tried .ms-sdc__body > blockquote{
  max-width:820px; margin:52px auto 0; padding:0; border:0; background:none; text-align:center;
}
.lp-red .ms-sdc.rd-tried .ms-sdc__body > blockquote p:first-child{ font-size:32px; color:#141414; }
.lp-red .ms-sdc.rd-tried .ms-sdc__body > blockquote p + p{ font-size:15px; line-height:1.3; margin-top:12px; color:#141414; }
@media (max-width:900px){
  .ms-sdc.ms-sdc.rd-tried .ms-sdc__body > ul{ grid-template-columns:1fr; }
  .lp-red .ms-sdc.rd-tried .ms-sdc__body > blockquote p:first-child{ font-size:24px; }
}

/* ---------- rd-steps — "Mit unseren Klientinnen … drei Schritte" (export .steps3).
   Body: intro <p> (centred) + <ol><li><h3>title</h3><p>text</p></li></ol> → 3-col white
   cards, big mint Recoleta 01/02/03 (CSS counter). 1-col ≤900. ---------- */
.lp-red .ms-sdc.rd-steps .ms-sdc__body > p{ text-align:center; }
.ms-sdc.ms-sdc.rd-steps .ms-sdc__body > ol{
  list-style:none; counter-reset:rdstep; padding:0; margin:44px 0 0;
  display:grid; grid-template-columns:repeat(3,1fr); gap:22px;
}
.ms-sdc.ms-sdc.rd-steps .ms-sdc__body > ol > li,
.ms-sdc.ms-sdc.rd-steps .ms-sdc__body > ol > li:last-child{
  counter-increment:rdstep; position:static; margin:0; padding:30px 28px; border:0;
  background:#fff; border-radius:22px; box-shadow:0 10px 30px rgba(18,52,48,.06); color:#1A1A1A;
}
.ms-sdc.ms-sdc.rd-steps .ms-sdc__body > ol > li::before{
  content:counter(rdstep, decimal-leading-zero); position:static; display:block; width:auto; height:auto;
  border-radius:0; background:none; margin:0 0 14px; font-family:'Recoleta'; font-weight:600;
  font-size:44px; line-height:1; color:#9CD3CC;
}
.lp-red .ms-sdc.rd-steps .ms-sdc__body > ol > li > h3{ font-size:21px !important; margin:0 0 8px !important; }
.lp-red .ms-sdc.rd-steps .ms-sdc__body > ol > li > p{ font-size:17px; line-height:1.6; }
@media (max-width:900px){ .ms-sdc.ms-sdc.rd-steps .ms-sdc__body > ol{ grid-template-columns:1fr; gap:28px; } }

/* ---------- rd-letter — "Bitte lies diesen Abschnitt in Ruhe" (export .letter2), TOP of the
   letter card. Body: h2 (left) · first <p> = intro 19px · <blockquote><p> = Recoleta scene
   line (ink) · <blockquote><p><em> = teal "turn" line · <strong> = red (export b.q).
   The card's bottom (signature + CTA) is the next paragraph, `rd-letter-sig`: the two
   inners butt together (paragraph padding 0 at the seam) and clip their shadows there. ---------- */
.ms-sdc--normal.rd-letter .ms-sdc__inner{
  background:#fff; border:1px solid #E9E9E6; border-bottom:0; border-radius:24px 24px 0 0;
  padding:56px 64px 0; box-shadow:0 18px 50px rgba(18,52,48,.08); clip-path:inset(-60px -60px 0 -60px);
}
.lp-red .ms-sdc--normal.rd-letter .ms-sdc__body > h2{ text-align:left; }
.lp-red .ms-sdc.rd-letter .ms-sdc__body > p{ font-size:18px; line-height:1.7; margin-top:18px; }
.lp-red .ms-sdc--normal.rd-letter .ms-sdc__body > h2 + p{
  font-size:19px; line-height:1.7; max-width:none; margin:18px 0 0; text-align:left;
}
.lp-red .ms-sdc.rd-letter .ms-sdc__body strong{ color:#C8102E; }
.lp-red .ms-sdc.rd-letter .ms-sdc__body > blockquote{ margin:26px 0 0; padding:0; border:0; background:none; }
.lp-red .ms-sdc.rd-letter .ms-sdc__body > blockquote p{
  font-family:'Recoleta'; font-weight:600; font-size:22px; line-height:1.3; color:#141414; margin:0;
}
.lp-red .ms-sdc.rd-letter .ms-sdc__body > blockquote em{ font-style:normal; color:#007375; }
.lp-red .ms-sdc.rd-letter .ms-sdc__body > p + blockquote:has(em){ margin-top:30px; }
@media (max-width:900px){ .ms-sdc--normal.rd-letter .ms-sdc__inner{ padding:34px 22px 0; } }

/* ---------- rd-letter-sig — the letter card's BOTTOM (export .sig): hairline, then
   <p><img avatar><img signature><strong>name</strong>role</p> LEFT and the CTA (tracked
   Simple Link) RIGHT with the last <p> as the note under it. ≤760 stacks, button full width. ---------- */
.ms-sdc--normal.rd-letter-sig .ms-sdc__inner{
  position:relative; background:#fff; border:1px solid #E9E9E6; border-top:0; border-radius:0 0 24px 24px;
  padding:68px 64px 56px; box-shadow:0 18px 50px rgba(18,52,48,.08); clip-path:inset(0 -60px -60px -60px);
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,340px); grid-template-rows:auto auto;
  column-gap:24px; align-items:end;
}
.ms-sdc--normal.rd-letter-sig .ms-sdc__inner::before{
  content:""; position:absolute; left:64px; right:64px; top:40px; border-top:1px solid #E9E9E6;
}
.ms-sdc--normal.rd-letter-sig .ms-sdc__body{ display:contents; }
/* signature row */
.lp-red .ms-sdc.rd-letter-sig .ms-sdc__body > p:first-child{
  grid-column:1; grid-row:1 / 3; align-self:end;
  display:grid; grid-template-columns:84px auto; justify-content:start; column-gap:18px; align-items:end;
  font-size:15px; line-height:1.6; color:#1A1A1A;
}
.ms-sdc.rd-letter-sig .ms-sdc__body > p:first-child > img:first-child{
  grid-column:1; grid-row:1 / 4; align-self:end; width:84px !important; height:84px !important;
  border-radius:50%; object-fit:cover; object-position:60% 20%; display:block;
}
.ms-sdc.rd-letter-sig .ms-sdc__body > p:first-child > img + img{
  grid-column:2; grid-row:1; display:block; width:210px !important; height:auto !important; margin:-6px 0 2px -6px;
}
.lp-red .ms-sdc.rd-letter-sig .ms-sdc__body > p:first-child > strong{
  grid-column:2; grid-row:2; display:block; font-family:'Recoleta'; font-weight:600; font-size:20px; line-height:1.2; color:#141414;
}
.ms-sdc--normal.rd-letter-sig .ms-sdc__actions{ grid-column:2; grid-row:1; margin:0; text-align:center; }
.ms-sdc--normal.rd-letter-sig .ms-sdc__link, .ms-sdc--normal.rd-letter-sig .ms-sdc__link .btn-wrapper{ text-align:center; }
.lp-red .ms-sdc.rd-letter-sig a.cta-orange, .lp-red .ms-sdc.rd-letter-sig a.cta-orange:link{
  display:block; white-space:normal; text-align:center;
}
.lp-red .ms-sdc.rd-letter-sig .ms-sdc__body > p:last-child{   /* export .sig-cta .cta-note = 18px */
  grid-column:2; grid-row:2; text-align:center; font-size:18px; line-height:1.7; margin-top:8px; opacity:.8;
}
@media (max-width:900px){
  .ms-sdc--normal.rd-letter-sig .ms-sdc__inner{ padding:68px 22px 34px; }
  .ms-sdc--normal.rd-letter-sig .ms-sdc__inner::before{ left:22px; right:22px; }
}
/* ≤760 (export .sig flex-wrap): avatar on its own row, then signature / name / role
   stacked below it (18px gap), the full-width button 38px under the role, note below. */
@media (max-width:760px){
  .ms-sdc--normal.rd-letter-sig .ms-sdc__inner{ grid-template-columns:1fr; grid-template-rows:auto auto auto; }
  .lp-red .ms-sdc.rd-letter-sig .ms-sdc__body > p:first-child{ grid-row:1; grid-template-columns:1fr; }
  .ms-sdc.rd-letter-sig .ms-sdc__body > p:first-child > img:first-child{ grid-row:1; }
  .ms-sdc.rd-letter-sig .ms-sdc__body > p:first-child > img + img{ grid-column:1; grid-row:2; margin-top:12px; }
  .lp-red .ms-sdc.rd-letter-sig .ms-sdc__body > p:first-child > strong{ grid-column:1; grid-row:3; }
  .ms-sdc--normal.rd-letter-sig .ms-sdc__actions{ grid-column:1; grid-row:2; margin-top:38px !important; }
  .lp-red .ms-sdc.rd-letter-sig .ms-sdc__body > p:last-child{ grid-column:1; grid-row:3; }
}

/* ---------- reused Zürich flags — `.lp-zuerich` page rules mirrored for this page ---------- */
/* zh-cta: note under the button */
.lp-red .ms-sdc--normal.zh-cta .ms-sdc__body p{ font-size:14px; margin:10px 0 0; opacity:.8; }
/* zh-reviews (export .rate-h + .tfeat + .tgrid2 — same design as Zürich) */
.lp-red .ms-sdc--normal.zh-reviews .ms-sdc__body > h2 + p{ font-size:18px; line-height:1.6; margin-top:18px; }
.lp-red .ms-sdc.zh-reviews .ms-sdc__body > ul > li > p:first-child{ font-size:17px; line-height:1.6; color:#141414; }
.lp-red .ms-sdc.zh-reviews .ms-sdc__body > ul > li > p:last-child{
  margin-top:15px; padding-top:13px; border-top:1px solid #E9E9E6; color:#007375; font-size:14px; font-weight:600;
}
.lp-red .ms-sdc.zh-reviews .ms-sdc__body > ul > li > p:last-child strong{ display:block; font-size:15px; color:#141414; }
/* rd-head-left — Methode head band (homepage head-band pattern): centred on desktop like the
   homepage, LEFT-aligned ≤760 as in the export (where the h2 sits in the text column). */
@media (max-width:760px){ .lp-red .ms-sdc--normal.rd-head-left .ms-sdc__body > h2{ text-align:left; } }
/* ===== end STRESS-SELBSTTEST ROT (normal) ===== */


/* =====================================================================
   STRESS-SELBSTTEST GELB (yellow-5 → /test/stress-selbsttest/yellow-5, landing_page,
   body.lp-yellow). Source: ai-layout-paragraph/resultat-GELB-16-10-26.html · Mapping:
   ai-layout-paragraph/yellow5/yellow5_Mapping.md. Sibling of the ROT page: the rd-* /
   zh-* / founder flags are REUSED, and every `.lp-red` page rule they rely on is MIRRORED
   here under `.lp-yellow` (ROT rules untouched). New flags: ye-gauge (hero.twig branch +
   normal.js), ye-rowb (hero.css), ye-pnote · ye-steps4 · ye-head-left (here); logo-grid
   (Danke page) reused with page overrides.
   User decisions 2026-10-19: type = the export's own computed values (h1 46/32/29,
   h2 38/1.18 → 29 ≤900, h3 22) EXCEPT every non-hero lead / intro <p> = 18px (only the
   hero leads stay 20/18); buttons 18px at every width. Accent (export --red) = #C2570F,
   red-bg #FDF0E6, gauge/bar orange #EE7D3C. Breakpoints = the export's 1100 / 900 / 760 / 640.
   ===================================================================== */

/* ---------- page-scope resets (style ONLY .ms-sdc) ---------- */
.lp-yellow .ms-sdc{
  font-family:'Archivo'; font-size:18px; line-height:1.6; color:#1A1A1A;
  padding-left:28px; padding-right:28px;
}
.lp-yellow .ms-sdc__inner{ max-width:1044px; }               /* export .wrap 1100 − 2×28 */
.lp-yellow .ms-sdc p{ font-size:18px; line-height:1.6; color:#1A1A1A; margin:0; }
.lp-yellow .ms-sdc strong, .lp-yellow .ms-sdc b{ font-weight:700; color:#141414; }
.lp-yellow .ms-sdc a{ color:#007375; }
.lp-yellow .ms-sdc a:hover{ color:#005E60; }
.lp-yellow .ms-sdc h1, .lp-yellow .ms-sdc h2, .lp-yellow .ms-sdc h3{
  font-family:'Recoleta' !important; font-weight:600 !important; font-style:normal !important;
  letter-spacing:-.01em !important; line-height:1.14 !important; color:#141414 !important;
  text-transform:none !important; margin:0 !important; padding:0 !important; text-wrap:wrap;
}
.lp-yellow .ms-sdc h1{ font-size:46px !important; }
.lp-yellow .ms-sdc h2{ font-size:38px !important; line-height:1.18 !important; }
.lp-yellow .ms-sdc h3{ font-size:22px !important; }
.lp-yellow .ms-sdc h2::after{ content:none !important; display:none !important; }
/* heading highlight = <em> (export .hl teal); head-neg → accent (export .neg #C2570F) */
.lp-yellow .ms-sdc h1 em, .lp-yellow .ms-sdc h2 em{ font-style:normal; color:#007375; }
.lp-yellow .ms-sdc.head-neg h1 em, .lp-yellow .ms-sdc.head-neg h2 em{ color:#C2570F; }
.lp-yellow .ms-sdc sup{ font-size:.55em; line-height:0; vertical-align:super; position:static; top:auto; }   /* theme lifts sup via position:relative/top → export = plain super */
.lp-yellow .ms-sdc u{ text-decoration:underline; text-underline-offset:2px; }
/* centred section head (export .hc): h2 + intro <p> — 18px (user decision, not the export's 20) */
.lp-yellow .ms-sdc--normal .ms-sdc__body > h2{ text-align:center; }
/* export .hc = max 800 centred: centred heads wrap like the export */
.lp-yellow .ms-sdc--normal:not(.ye-head-left):not(.rd-letter) .ms-sdc__body > h2{
  max-width:800px; margin-left:auto !important; margin-right:auto !important;
}
.lp-yellow .ms-sdc--normal .ms-sdc__body > h2 + p{
  font-size:18px; line-height:1.65; max-width:780px; margin:18px auto 0; text-align:center;
}
/* recurring orange CTA = tracked Simple Link (cta-orange) → export .btn (18px at every width) */
.lp-yellow .ms-sdc a.cta-orange, .lp-yellow .ms-sdc a.cta-orange:link, .lp-yellow .ms-sdc a.cta-orange:visited{
  font-size:18px !important; line-height:1.7 !important; padding:16px 34px !important;
  border-radius:12px !important; white-space:nowrap;
}
.lp-yellow .ms-sdc .ms-sdc__actions{ padding-top:0 !important; }
.lp-yellow .ms-sdc a.cta-orange{ margin:0 !important; max-width:100% !important; }   /* theme .btn caps 310px ≤768 → clipped nowrap label */
@media (max-width:900px){
  .lp-yellow .ms-sdc h1{ font-size:32px !important; }
  .lp-yellow .ms-sdc h2{ font-size:29px !important; }
}
/* theme makes .btn.simple-link full-width block at 560–767 → keep the export's natural button above 640 */
@media (min-width:641px) and (max-width:767px){
  .lp-yellow .ms-sdc a.cta-orange{ width:auto; display:inline-block; }
}
@media (max-width:640px){
  .lp-yellow .ms-sdc{ padding-left:20px; padding-right:20px; }
  .lp-yellow .ms-sdc h1{ font-size:29px !important; }
  .lp-yellow .ms-sdc a.cta-orange, .lp-yellow .ms-sdc a.cta-orange:link, .lp-yellow .ms-sdc a.cta-orange:visited{
    line-height:1.35 !important; padding:18px 22px !important; display:block; width:100%;
    text-align:center; white-space:normal;
  }
}

/* ---------- logo-grid (Danke page flag, reused) — export .media-bar/.logos6: 28px band
   padding, grey label 18px above the row, logos 32px (24px ≤640). Band bg #F6FAF9 = field. ---------- */
.lp-yellow .ms-sdc.ms-sdc.ms-sdc--normal.logo-grid{ padding:28px 24px !important; }
.lp-yellow .ms-sdc--normal.logo-grid .ms-sdc__inner{ max-width:1052px; }   /* .logos6 1100 − 2×24 */
.lp-yellow .ms-sdc--normal.logo-grid .ms-sdc__body > h4{ color:#98a09d !important; margin:0 0 -4px !important; }
.lp-yellow .ms-sdc--normal.logo-grid .ms-sdc__body img{ height:32px !important; width:auto !important; max-width:140px; }
@media (max-width:900px){ .lp-yellow .ms-sdc--normal.logo-grid .ms-sdc__body{ gap:26px 24px; } }
@media (max-width:640px){
  .lp-yellow .ms-sdc.ms-sdc.ms-sdc--normal.logo-grid{ padding:28px 20px !important; }
  .lp-yellow .ms-sdc--normal.logo-grid .ms-sdc__body{ gap:18px 20px; }
  .lp-yellow .ms-sdc--normal.logo-grid .ms-sdc__body > h4{ margin:0 !important; }
  .lp-yellow .ms-sdc--normal.logo-grid .ms-sdc__body img{ height:24px !important; max-width:110px; }
}

/* ---------- ye-pnote — Pascal's personal note card (export .pnote). Body: <p><img avatar></p> ·
   <p> quote (italic) · <p><img signature></p> · <p><strong>Name</strong> · Rolle</p>.
   White card (max 760, radius 20, hairline + soft shadow): round 112px avatar LEFT, the rest
   RIGHT. ≤640 stacked + centred, avatar 84px. The card owns its 28/56 spacing (paragraph
   padding 0); band bg #F6FAF9 = field. ---------- */
.ms-sdc.ms-sdc.ms-sdc--normal.ye-pnote{ padding-top:28px !important; padding-bottom:56px !important; }   /* padding, not margin: stays inside the #F6FAF9 band */
.ms-sdc--normal.ye-pnote .ms-sdc__inner{
  max-width:760px; margin:0 auto; padding:26px 30px; background:#fff;
  border:1px solid #E9E9E6; border-radius:20px; box-shadow:0 8px 28px rgba(0,60,62,.07);
}
.ms-sdc--normal.ye-pnote .ms-sdc__body{
  display:grid; grid-template-columns:112px minmax(0,1fr); column-gap:22px; align-items:start;
}
.ms-sdc--normal.ye-pnote .ms-sdc__body > *{ grid-column:2; }
.ms-sdc--normal.ye-pnote .ms-sdc__body > p:first-child{ grid-column:1; grid-row:1 / span 3; margin:0; line-height:0; }
.ms-sdc--normal.ye-pnote .ms-sdc__body > p:first-child img{
  display:block; width:112px !important; height:112px !important; border-radius:50%; object-fit:cover; object-position:60% 20%;
}
.lp-yellow .ms-sdc--normal.ye-pnote .ms-sdc__body > p:nth-child(2){ font-style:italic; font-size:18px; line-height:1.6; }
.lp-yellow .ms-sdc--normal.ye-pnote .ms-sdc__body > p:nth-child(3){ margin:8px 0 0 -4px; line-height:0; }
.ms-sdc--normal.ye-pnote .ms-sdc__body > p:nth-child(3) img{ display:block; width:150px !important; height:auto !important; }
.lp-yellow .ms-sdc--normal.ye-pnote .ms-sdc__body > p:nth-child(4){ font-size:15px; line-height:1.6; margin-top:2px; }
@media (max-width:900px){ .ms-sdc.ms-sdc.ms-sdc--normal.ye-pnote{ padding-top:24px !important; } }
@media (max-width:760px){ .ms-sdc.ms-sdc.ms-sdc--normal.ye-pnote{ padding-bottom:40px !important; } }
@media (max-width:640px){
  .ms-sdc--normal.ye-pnote .ms-sdc__inner{ padding:22px 20px; }
  .ms-sdc--normal.ye-pnote .ms-sdc__body{ grid-template-columns:1fr; row-gap:16px; justify-items:center; text-align:center; }
  .ms-sdc--normal.ye-pnote .ms-sdc__body > *, .ms-sdc--normal.ye-pnote .ms-sdc__body > p:first-child{ grid-column:1; grid-row:auto; }
  .ms-sdc--normal.ye-pnote .ms-sdc__body > p:first-child img{ width:84px !important; height:84px !important; }
  .lp-yellow .ms-sdc--normal.ye-pnote .ms-sdc__body > p:nth-child(2){ font-size:17px; }
  .lp-yellow .ms-sdc--normal.ye-pnote .ms-sdc__body > p:nth-child(3){ margin:-8px 0 0; }
  .lp-yellow .ms-sdc--normal.ye-pnote .ms-sdc__body > p:nth-child(4){ margin-top:-14px; }
}

/* ---------- rd-cards (ROT flag, reused) — yellow spacing (export .cg 44 / .endnote 40)
   + accent; the ROT `.lp-red` card rules mirrored. ---------- */
.lp-yellow .ms-sdc.ms-sdc.rd-cards .ms-sdc__body > ul{ margin-top:44px; }
.lp-yellow .ms-sdc.rd-cards .ms-sdc__body > ul > li > p:first-child{
  width:52px; height:52px; border-radius:50%; background:#FDF0E6; display:flex; align-items:center;
  justify-content:center; font-size:24px; line-height:1; margin:0 0 16px;
}
.lp-yellow .ms-sdc.rd-cards .ms-sdc__body > ul > li > h3{ font-size:22px !important; margin:0 0 8px !important; }
.lp-yellow .ms-sdc.rd-cards .ms-sdc__body > ul > li > h3 + p{ font-size:17px; line-height:1.6; }
.lp-yellow .ms-sdc.rd-cards .ms-sdc__body > blockquote{
  max-width:760px; margin:40px auto 0; padding:0; border:0; background:none; text-align:center;
}
.lp-yellow .ms-sdc.rd-cards .ms-sdc__body > blockquote + p{ max-width:760px; margin:10px auto 0; text-align:center; }
.lp-yellow .ms-sdc.rd-cards .ms-sdc__body > blockquote p{
  font-family:'Recoleta'; font-weight:600; font-size:26px; line-height:1.3; color:#007375; margin:0;
}
.lp-yellow .ms-sdc.rd-cards.head-neg .ms-sdc__body > blockquote p{ color:#C2570F; }
@media (max-width:900px){ .lp-yellow .ms-sdc.rd-cards .ms-sdc__body > blockquote p{ font-size:22px; } }
@media (max-width:760px){
  .lp-yellow .ms-sdc.ms-sdc.rd-cards .ms-sdc__body > ul{ margin-top:32px; }
  .lp-yellow .ms-sdc.rd-cards .ms-sdc__body > blockquote{ margin-top:28px; }
}

/* ---------- rd-tried (ROT flag, reused) — yellow: 6 ✕ rows with accent labels, NO quote;
   instead two centred closing <p> after the list (export .tl-after, max 820). ---------- */
.lp-yellow .ms-sdc.ms-sdc.rd-tried .ms-sdc__body > ul{ margin-top:44px; }
.lp-yellow .ms-sdc.ms-sdc.rd-tried .ms-sdc__body > ul > li strong{ color:#C2570F; }
.lp-yellow .ms-sdc.rd-tried .ms-sdc__body > ul ~ p{
  max-width:820px; margin:20px auto 0; text-align:center; font-size:18px; line-height:1.65;
}
.lp-yellow .ms-sdc.rd-tried .ms-sdc__body > ul + p{ margin-top:44px; }
@media (max-width:760px){ .lp-yellow .ms-sdc.ms-sdc.rd-tried .ms-sdc__body > ul{ margin-top:32px; } }
@media (max-width:640px){
  .lp-yellow .ms-sdc.ms-sdc.rd-tried .ms-sdc__body > ul{ margin-top:20px; }
  .lp-yellow .ms-sdc.ms-sdc.rd-tried .ms-sdc__body > ul > li:last-child{ padding-bottom:0; }
  .lp-yellow .ms-sdc.rd-tried .ms-sdc__body > ul + p{ margin-top:28px; }
}

/* ---------- ye-head-left — the Methode head band: <h2> LEFT at every width (export inline
   text-align:left), no divider. ---------- */
.lp-yellow .ms-sdc--normal.ye-head-left .ms-sdc__body > h2{ text-align:left; }

/* ---------- ye-steps4 — "Mit unseren Klientinnen … vier Schritte" (export .cs4) + the
   following centred "Wirkung in Hirnscans nachgewiesen." head. Body: intro <p> (centred,
   <u> underline) · <ol><li><h3>title</h3><p>text</p></li></ol> → 4-col light cards
   (#F3F8F7, radius 6), teal Recoleta 01–04 (CSS counter); the LAST card is solid teal with
   white text · trailing <h2> (centred, 80px above). 2-col ≤1100, 1-col ≤640. ---------- */
.lp-yellow .ms-sdc.ye-steps4 .ms-sdc__body > p:first-child{ text-align:center; margin:0 0 40px; }
.ms-sdc.ms-sdc.ye-steps4 .ms-sdc__body > ol{
  list-style:none; counter-reset:yestep; padding:0; margin:0;
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px;
}
.ms-sdc.ms-sdc.ye-steps4 .ms-sdc__body > ol > li,
.ms-sdc.ms-sdc.ye-steps4 .ms-sdc__body > ol > li:last-child{
  counter-increment:yestep; position:static; margin:0; padding:28px 24px 30px; border:0;
  background:#F3F8F7; border-radius:6px; display:flex; flex-direction:column; text-align:left; color:#141414;
}
.ms-sdc.ms-sdc.ye-steps4 .ms-sdc__body > ol > li:last-child{ background:#007375; color:#fff; }
.ms-sdc.ms-sdc.ye-steps4 .ms-sdc__body > ol > li::before{
  content:counter(yestep, decimal-leading-zero); position:static; display:block; width:auto; height:auto;
  border-radius:0; background:none; margin:0 0 18px; font-family:'Recoleta'; font-weight:600;
  font-size:34px; line-height:1; color:#007375;
}
.ms-sdc.ms-sdc.ye-steps4 .ms-sdc__body > ol > li:last-child::before{ color:#fff; }
.lp-yellow .ms-sdc.ye-steps4 .ms-sdc__body > ol > li > h3{ font-size:21px !important; line-height:1.25 !important; letter-spacing:normal !important; margin:0 0 10px !important; }
.lp-yellow .ms-sdc.ye-steps4 .ms-sdc__body > ol > li > p{ font-size:16.5px; line-height:1.55; color:#141414; }
.lp-yellow .ms-sdc.ye-steps4 .ms-sdc__body > ol > li:last-child > h3,
.lp-yellow .ms-sdc.ye-steps4 .ms-sdc__body > ol > li:last-child > p{ color:#fff !important; }
.lp-yellow .ms-sdc--normal.ye-steps4 .ms-sdc__body > ol + h2{ margin-top:80px !important; text-align:center; }
@media (max-width:1100px){ .ms-sdc.ms-sdc.ye-steps4 .ms-sdc__body > ol{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px){
  .ms-sdc.ms-sdc.ye-steps4 .ms-sdc__body > ol{ grid-template-columns:1fr; gap:14px; }
  .ms-sdc.ms-sdc.ye-steps4 .ms-sdc__body > ol > li,
  .ms-sdc.ms-sdc.ye-steps4 .ms-sdc__body > ol > li:last-child{ padding:22px 20px; }
  .ms-sdc.ms-sdc.ye-steps4 .ms-sdc__body > ol > li::before{ font-size:28px; margin-bottom:12px; }
}

/* ---------- rd-letter + rd-letter-sig (ROT flags, reused) — yellow: no head-neg; intro 18px
   (user decision); <strong> stays ink, an <em> inside a <p> = the accent quote (export b.q,
   bold #C2570F, upright); the signature row has NO note under the button (one <p> only). ---------- */
.lp-yellow .ms-sdc--normal.rd-letter .ms-sdc__body > h2{ text-align:left; }
.lp-yellow .ms-sdc.rd-letter .ms-sdc__body > p{ font-size:18px; line-height:1.7; margin-top:18px; }
.lp-yellow .ms-sdc--normal.rd-letter .ms-sdc__body > h2 + p{
  font-size:18px; line-height:1.7; max-width:none; margin:18px 0 0; text-align:left;
}
.lp-yellow .ms-sdc.rd-letter .ms-sdc__body > p em{ font-style:normal; font-weight:700; color:#C2570F; }
.lp-yellow .ms-sdc.rd-letter .ms-sdc__body > blockquote{ margin:26px 0 0; padding:0; border:0; background:none; }
.lp-yellow .ms-sdc.rd-letter .ms-sdc__body > blockquote p{
  font-family:'Recoleta'; font-weight:600; font-size:22px; line-height:1.3; color:#141414; margin:0;
}
.lp-yellow .ms-sdc.rd-letter .ms-sdc__body > blockquote em{ font-style:normal; color:#007375; }
.lp-yellow .ms-sdc.rd-letter .ms-sdc__body > p + blockquote:has(em){ margin-top:30px; }
.lp-yellow .ms-sdc.rd-letter-sig .ms-sdc__body > p:first-child{
  grid-column:1; grid-row:1 / 3; align-self:center;
  display:grid; grid-template-columns:84px auto; justify-content:start; column-gap:18px; align-items:end;
  font-size:15px; line-height:1.6; color:#1A1A1A;
}
.lp-yellow .ms-sdc.rd-letter-sig .ms-sdc__body > p:first-child > strong{
  grid-column:2; grid-row:2; display:block; font-family:'Recoleta'; font-weight:600; font-size:20px; line-height:1.2; color:#141414;
}
.lp-yellow .ms-sdc--normal.rd-letter-sig .ms-sdc__actions{ grid-row:1 / 3; align-self:center; }
.lp-yellow .ms-sdc.rd-letter-sig a.cta-orange, .lp-yellow .ms-sdc.rd-letter-sig a.cta-orange:link{
  display:block; white-space:normal; text-align:center;
}
@media (max-width:760px){
  .lp-yellow .ms-sdc.rd-letter-sig .ms-sdc__body > p:first-child{ grid-row:1; grid-template-columns:1fr; }
  .lp-yellow .ms-sdc.rd-letter-sig .ms-sdc__body > p:first-child > strong{ grid-column:1; grid-row:3; }
  .lp-yellow .ms-sdc--normal.rd-letter-sig .ms-sdc__actions{ grid-row:2; }
}

/* ---------- zh-cta (Zürich flag, reused) — the export .ctaw: the note under the button is
   exactly as wide as the button (note width 0 + min-width 100% of a fit-content column). ---------- */
.lp-yellow .ms-sdc--normal.zh-cta .ms-sdc__inner{ width:fit-content; max-width:100%; margin:0 auto; }
.lp-yellow .ms-sdc--normal.zh-cta .ms-sdc__body{ width:0; min-width:100%; }
.lp-yellow .ms-sdc--normal.zh-cta .ms-sdc__body p{ font-size:14px; line-height:1.6; margin:10px 0 0; opacity:.8; text-align:center; }
@media (max-width:640px){ .lp-yellow .ms-sdc--normal.zh-cta .ms-sdc__inner{ width:auto; } }

/* ---------- zh-reviews (Zürich flag, reused) — `.lp-zuerich` rules mirrored ---------- */
.lp-yellow .ms-sdc--normal.zh-reviews .ms-sdc__body > h2 + p{ font-size:18px; line-height:1.6; margin-top:18px; }
.lp-yellow .ms-sdc.zh-reviews .ms-sdc__body > ul > li > p:first-child{ font-size:17px; line-height:1.6; color:#141414; }
.lp-yellow .ms-sdc.zh-reviews .ms-sdc__body > ul > li > p:last-child{
  margin-top:15px; padding-top:13px; border-top:1px solid #E9E9E6; color:#007375; font-size:14px; font-weight:600;
}
.lp-yellow .ms-sdc.zh-reviews .ms-sdc__body > ul > li > p:last-child strong{ display:block; font-size:15px; color:#141414; }
/* user request 2026-10-20: the "Warum Urlaub" intro ("Du warst nicht untätig …") = 20px on desktop (export .lead), 18 ≤640 */
.lp-yellow .ms-sdc--normal.rd-tried .ms-sdc__body > h2 + p{ font-size:20px; }
@media (max-width:640px){ .lp-yellow .ms-sdc--normal.rd-tried .ms-sdc__body > h2 + p{ font-size:18px; } }
/* ===== end STRESS-SELBSTTEST GELB (normal) ===== */

/* =====================================================================
   STRESS-SELBSTTEST ROT V5 (red-5 → /test/stress-selbsttest/red-5, landing_page,
   body `lp-yellow lp-red5`). The GELB export with red copy + red accent (#C8102E /
   #FDECEE): every GELB `.lp-yellow` rule applies; this layer only swaps the accent (same
   selectors, `.lp-red5`, placed after → wins the tie). New flag: rd5-head.
   ===================================================================== */
.lp-red5 .ms-sdc.head-neg h1 em, .lp-red5 .ms-sdc.head-neg h2 em{ color:#C8102E; }
.lp-red5 .ms-sdc.rd-cards .ms-sdc__body > ul > li > p:first-child{ background:#FDECEE; }
.lp-red5 .ms-sdc.rd-cards.head-neg .ms-sdc__body > blockquote p{ color:#C8102E; }
.lp-red5 .ms-sdc.ms-sdc.rd-tried .ms-sdc__body > ul > li strong{ color:#C8102E; }
.lp-red5 .ms-sdc.rd-letter .ms-sdc__body > p em{ color:#C8102E; }
/* rd5-head — the Methode head band: centred <h2> at every width, max 960 (export
   h2.c inline style; GELB's head was left via ye-head-left) */
.lp-red5 .ms-sdc--normal.rd5-head.rd5-head .ms-sdc__body > h2{ max-width:960px; }   /* doubled class = (0,5,1), beats the GELB :not():not() head rule */
/* ===== end STRESS-SELBSTTEST ROT V5 (normal) ===== */

/* =====================================================================
   STRESSTEST LANDING PAGE (stpost → /lp/stress-selbsttest-post-v3, landing_page,
   body.lp-stpost). Source ai-layout-paragraph/stresstest-landing-export.html. 6 bands:
   sp-hero (normal) · logo-grid (reused) · sp-gets (hero, hero.css) · sp-steps (normal) ·
   sp-expert (hero, hero.css) · sp-final (normal). Every band OWNS its vertical padding
   (export section 64 / 48 ≤640) → paragraph padding fields = 0. Type = the export's own
   values (user decision 2026-10-20): h1 48/1.1 → 30, h2 40 → 28, h3 22, lead 20 → 18
   (hero lead 20/1.55 → 17), body 18/1.6, button 18/1.5 at every width.
   Breakpoints = the export's 1020 / 900 / 640. Header/footer = landing_page default.
   "Note under the CTA" convention: on sp-hero / sp-steps / sp-final the LAST body block
   renders BELOW the button (inner = flex column, body display:contents, order).
   ===================================================================== */

/* ---------- page-scope resets (style ONLY .ms-sdc) ---------- */
.lp-stpost .ms-sdc{
  font-family:'Archivo'; font-size:18px; line-height:1.6; color:#1A1A1A;
  padding-left:28px; padding-right:28px;
}
.lp-stpost .ms-sdc__inner{ max-width:1044px; }               /* export .wrap 1100 − 2×28 */
.lp-stpost .ms-sdc p{ font-size:18px; line-height:1.6; color:#1A1A1A; margin:0; }
.lp-stpost .ms-sdc strong, .lp-stpost .ms-sdc b{ font-weight:700; color:#141414; }
.lp-stpost .ms-sdc a{ color:#007375; }
.lp-stpost .ms-sdc a:hover{ color:#005E60; }
.lp-stpost .ms-sdc h1, .lp-stpost .ms-sdc h2, .lp-stpost .ms-sdc h3{
  font-family:'Recoleta' !important; font-weight:600 !important; font-style:normal !important;
  letter-spacing:-.01em !important; line-height:1.14 !important; color:#141414 !important;
  text-transform:none !important; margin:0 !important; padding:0 !important; text-wrap:wrap;
}
.lp-stpost .ms-sdc h2{ font-size:40px !important; }
.lp-stpost .ms-sdc h3{ font-size:22px !important; }
.lp-stpost .ms-sdc h2::after{ content:none !important; display:none !important; }
/* heading highlight = <em> (export .hl teal) */
.lp-stpost .ms-sdc h1 em, .lp-stpost .ms-sdc h2 em{ font-style:normal; color:#007375; }
.lp-stpost .ms-sdc sup{ font-size:.55em; line-height:0; vertical-align:super; position:static; top:auto; }
/* centred section head: h2 + lead <p> (export .c .lead 20/1.6, max 680) */
.lp-stpost .ms-sdc--normal .ms-sdc__body > h2 + p{
  font-size:20px; line-height:1.6; max-width:680px; margin:16px auto 0;
}
/* orange CTA = tracked Simple Link (cta-orange) → export .btn (18/1.5 at every width) */
.lp-stpost .ms-sdc a.cta-orange, .lp-stpost .ms-sdc a.cta-orange:link, .lp-stpost .ms-sdc a.cta-orange:visited{
  font-size:18px !important; line-height:1.5 !important; padding:16px 34px !important;
  border-radius:12px !important; margin:0 !important; max-width:100% !important;   /* theme .btn caps 310px ≤768 */
}
.lp-stpost .ms-sdc .ms-sdc__actions{ padding-top:0 !important; }
/* note under the CTA (export .micro) — LAST body <p> ordered after the actions */
.lp-stpost .ms-sdc--normal.sp-hero .ms-sdc__inner,
.lp-stpost .ms-sdc--normal.sp-steps .ms-sdc__inner,
.lp-stpost .ms-sdc--normal.sp-final .ms-sdc__inner{ display:flex; flex-direction:column; }
.lp-stpost .ms-sdc--normal.sp-hero .ms-sdc__body,
.lp-stpost .ms-sdc--normal.sp-steps .ms-sdc__body,
.lp-stpost .ms-sdc--normal.sp-final .ms-sdc__body{ display:contents; }
.lp-stpost .ms-sdc--normal.sp-hero .ms-sdc__actions,
.lp-stpost .ms-sdc--normal.sp-steps .ms-sdc__actions,
.lp-stpost .ms-sdc--normal.sp-final .ms-sdc__actions{ order:1; text-align:center; }
.lp-stpost .ms-sdc--normal.sp-steps .ms-sdc__body > p:last-child,
.lp-stpost .ms-sdc--normal.sp-final .ms-sdc__body > p:last-child{
  order:2; font-size:14.5px; line-height:1.6; margin-top:12px; color:#3D4B4A;
}
@media (min-width:641px) and (max-width:767px){
  .lp-stpost .ms-sdc a.cta-orange{ width:auto; display:inline-block; }   /* theme: full-width block 560–767 */
}
@media (max-width:640px){
  .lp-stpost .ms-sdc{ padding-left:20px; padding-right:20px; }
  .lp-stpost .ms-sdc h2{ font-size:28px !important; }
  .lp-stpost .ms-sdc--normal .ms-sdc__body > h2 + p{ font-size:18px; }
  .lp-stpost .ms-sdc a.cta-orange, .lp-stpost .ms-sdc a.cta-orange:link, .lp-stpost .ms-sdc a.cta-orange:visited{
    display:block; width:100%; text-align:center; padding:16px 20px !important;
  }
}

/* ---------- sp-hero — light centred hero (export header.hero2). Body: <h4> pill · <h1>
   (<em> = teal 2nd line) · lead <p> · <ul> trust row (<em>★★★★★</em><strong>5,0</strong> …
   · <strong>Über 200'000</strong> …) rendered BELOW the CTA. Band bg #F2F6F5 = field. ---------- */
.lp-stpost .ms-sdc.ms-sdc.ms-sdc--normal.sp-hero{ padding-top:48px !important; padding-bottom:56px !important; text-align:center; }
.lp-stpost .ms-sdc--normal.sp-hero .ms-sdc__inner{ max-width:760px; }
.lp-stpost .ms-sdc--normal.sp-hero .ms-sdc__body > h4{
  align-self:center; display:inline-block; background:#fff; border:1px solid #D5E3E1; border-radius:99px;
  padding:8px 16px !important; margin:0 !important;
  font-family:'Archivo' !important; font-weight:700 !important; font-size:14px !important; line-height:1.6 !important;
  letter-spacing:normal !important; text-transform:none !important; color:#007375 !important;
}
.lp-stpost .ms-sdc--normal.sp-hero h1{
  font-size:48px !important; line-height:1.1 !important; margin-top:22px !important; text-wrap:balance;
}
.lp-stpost .ms-sdc--normal.sp-hero h1 em{ display:block; margin-top:6px; }
.lp-stpost .ms-sdc--normal.sp-hero .ms-sdc__body > p{
  font-size:20px; line-height:1.55; color:#141414; max-width:620px; margin:20px auto 0;
}
.lp-stpost .ms-sdc--normal.sp-hero .ms-sdc__actions{ margin-top:32px !important; }   /* !important: an ancestor .no-margin zeroes CTA margins */
.lp-stpost .ms-sdc.ms-sdc.sp-hero .ms-sdc__body > ul{
  order:2; display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:10px 16px;
  list-style:none; padding:0; margin:22px 0 0; font-size:15.5px; line-height:1.6; color:#141414;
}
.lp-stpost .ms-sdc.ms-sdc.sp-hero .ms-sdc__body > ul > li{
  display:inline-flex; align-items:center; gap:5px; line-height:1; margin:0; padding:0; color:#141414;
}
.lp-stpost .ms-sdc.ms-sdc.sp-hero .ms-sdc__body > ul > li::before{ content:none; }
.lp-stpost .ms-sdc.ms-sdc.sp-hero .ms-sdc__body > ul > li + li::before{
  content:""; display:block; flex:none; width:4px; height:4px; border-radius:50%; background:#9AABAA;
  margin-right:11px;   /* = the export's separate dot item: 16px gap each side (11 + 5) */
}
.lp-stpost .ms-sdc.sp-hero .ms-sdc__body > ul em{
  font-style:normal; color:#F2C14E; letter-spacing:2px; font-size:17px; line-height:1; position:relative; top:-1px;
}
@media (max-width:640px){
  .lp-stpost .ms-sdc.ms-sdc.ms-sdc--normal.sp-hero{ padding-top:28px !important; padding-bottom:40px !important; }
  .lp-stpost .ms-sdc--normal.sp-hero .ms-sdc__body > h4{ font-size:12.5px !important; padding:7px 13px !important; }
  .lp-stpost .ms-sdc--normal.sp-hero h1{ font-size:30px !important; margin-top:16px !important; }
  .lp-stpost .ms-sdc--normal.sp-hero .ms-sdc__body > p{ font-size:17px; margin-top:14px; }
  .lp-stpost .ms-sdc--normal.sp-hero .ms-sdc__actions{ margin-top:24px !important; }
  .lp-stpost .ms-sdc.ms-sdc.sp-hero .ms-sdc__body > ul{ flex-direction:column; gap:6px; font-size:14.5px; }
  .lp-stpost .ms-sdc.ms-sdc.sp-hero .ms-sdc__body > ul > li + li::before{ display:none; }
}

/* ---------- logo-grid (reused) — export .media: 34/38 band padding, hairline below, label
   20px above the 6-col row, logos 32px (24px ≤640). Band bg white = field. ---------- */
.lp-stpost .ms-sdc.ms-sdc.ms-sdc--normal.logo-grid{
  padding:34px 28px 38px !important; border-bottom:1px solid #DCE6E4;
}
.lp-stpost .ms-sdc--normal.logo-grid .ms-sdc__inner{ max-width:1044px; }
.lp-stpost .ms-sdc--normal.logo-grid .ms-sdc__body > h4{ margin:0 0 -2px !important; }   /* 22 row-gap − 2 = 20 */
.lp-stpost .ms-sdc--normal.logo-grid .ms-sdc__body img{ height:32px !important; width:auto !important; max-width:140px; }
@media (max-width:900px){ .lp-stpost .ms-sdc--normal.logo-grid .ms-sdc__body{ gap:26px 24px; } }
@media (max-width:640px){
  .lp-stpost .ms-sdc.ms-sdc.ms-sdc--normal.logo-grid{ padding:34px 20px 38px !important; }
  .lp-stpost .ms-sdc--normal.logo-grid .ms-sdc__body{ gap:18px 20px; }
  .lp-stpost .ms-sdc--normal.logo-grid .ms-sdc__body > h4{ margin:0 0 2px !important; }
  .lp-stpost .ms-sdc--normal.logo-grid .ms-sdc__body img{ height:24px !important; max-width:110px; }
}

/* ---------- sp-steps — "So einfach funktioniert der Test" (export .steps). Body: <h2> · lead <p> ·
   <ol> of 3 <li> (<h3> title + <p>) → white cards with a teal number circle · note <p> (below the
   CTA). 3-col → 1-col ≤900. Band bg white = field. ---------- */
.lp-stpost .ms-sdc.ms-sdc.ms-sdc--normal.sp-steps{ padding-top:64px !important; padding-bottom:64px !important; text-align:center; }
.lp-stpost .ms-sdc.ms-sdc.sp-steps ol{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin:44px 0 0; padding:0;
  list-style:none; counter-reset:spstep; text-align:left;
}
.lp-stpost .ms-sdc.ms-sdc.sp-steps ol > li{
  counter-increment:spstep; position:static; margin:0; padding:30px 26px; border:0 !important;
  background:#fff; border-radius:20px; box-shadow:0 14px 40px rgba(18,52,48,.08);
}
.lp-stpost .ms-sdc.ms-sdc.sp-steps ol > li::before{
  content:counter(spstep); position:static; display:flex; align-items:center; justify-content:center;
  width:42px; height:42px; border-radius:50%; background:#007375; color:#fff; border:0;
  font-family:'Recoleta'; font-weight:600; font-size:21px; line-height:1; margin:0; transform:none;
}
.lp-stpost .ms-sdc.ms-sdc.sp-steps ol > li h3{ margin-top:16px !important; }
.lp-stpost .ms-sdc.ms-sdc.sp-steps ol > li p{ margin-top:8px; }
.lp-stpost .ms-sdc--normal.sp-steps .ms-sdc__actions{ margin-top:36px !important; }
@media (max-width:900px){ .lp-stpost .ms-sdc.ms-sdc.sp-steps ol{ grid-template-columns:minmax(0,1fr); } }
@media (max-width:640px){
  .lp-stpost .ms-sdc.ms-sdc.ms-sdc--normal.sp-steps{ padding-top:48px !important; padding-bottom:48px !important; }
}

/* ---------- sp-final — petrol closing band (export section.final). Body: <h2> (<em> mint) ·
   lead <p> (max 640) · note <p> (below the CTA). Band bg #115759 = field. ---------- */
.lp-stpost .ms-sdc.ms-sdc.ms-sdc--normal.sp-final{ padding-top:64px !important; padding-bottom:64px !important; text-align:center; }
.lp-stpost .ms-sdc--normal.sp-final h2{ color:#fff !important; }
.lp-stpost .ms-sdc--normal.sp-final h2 em{ color:#8FE0D8; }
.lp-stpost .ms-sdc--normal.sp-final .ms-sdc__body > h2 + p{ max-width:640px; color:#fff; }
.lp-stpost .ms-sdc--normal.sp-final .ms-sdc__actions{ margin-top:30px !important; }
.lp-stpost .ms-sdc--normal.sp-final .ms-sdc__body > p:last-child{ color:#fff; }
@media (max-width:640px){
  .lp-stpost .ms-sdc.ms-sdc.ms-sdc--normal.sp-final{ padding-top:48px !important; padding-bottom:48px !important; }
}
/* ===== end STRESSTEST LANDING PAGE (normal) ===== */
