/* ============================================================
   Digital Management School — Themenschicht ueber dem gemeinsamen
   Designsystem (site.css, aus dem AI Business Manager).

   Farbwelt nach der bisherigen DMS-Seite: warmes Papier statt Weiss,
   Schiefer-Navy statt Schwarz, pro Programm eine eigene Akzentfarbe
   (Dach Pink, Head of AI Gruen, Chief AI Officer Babyblau).
   Bauteile bleiben die des Hauses; hier kommen nur Farbe, Papier,
   das Mentoren-Band und die Stufen-Karten dazu.
   ============================================================ */

/* ---------- Grundtoene ---------- */
:root{
  --bg: #f6f2ec;                 /* Papier */
  --bg-soft: #eee8df;            /* dunkleres Papier fuer Baender */
  --bg-soft-2: #e5ded3;
  --paper-raised: #fbf9f5;       /* leicht erhoehte Flaechen (Karten) */
  --ink: #1b2136;                /* Schiefer-Navy */
  --ink-soft: #545c74;           /* das Schiefer der DMS-Navigation */
  --ink-faint: #858ba0;
  --line: rgba(27, 33, 54, 0.13);
  --line-soft: rgba(27, 33, 54, 0.085);
  --dark: #1f2945;               /* dunkle Flaechen: Navy statt Schwarz */
  --dark-2: #161c30;
  --dark-3: #0f1424;
  --on-dark-soft: rgba(246, 242, 236, 0.72);
  --on-dark-faint: rgba(246, 242, 236, 0.5);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-press: cubic-bezier(0.2, 0, 0, 1);

  /* Dach: Pink der DMS. Auf Papier etwas satter (Lesbarkeit),
     auf dunklen Flaechen das helle Original. */
  --accent: #cf2d88;
  --accent-rgb: 207, 45, 136;
  --accent-bright: #ff66c4;
  --accent-dim: rgba(207, 45, 136, 0.09);
  --accent-dim-2: rgba(207, 45, 136, 0.16);
  --accent-on-dark: #ff8ad2;
}
.theme-caio{
  --accent: #1a72c4;
  --accent-rgb: 26, 114, 196;
  --accent-bright: #7fccf7;
  --accent-dim: rgba(26, 114, 196, 0.09);
  --accent-dim-2: rgba(26, 114, 196, 0.16);
  --accent-on-dark: #8fd3fa;
}
.theme-hoai{
  --accent: #12855a;
  --accent-rgb: 18, 133, 90;
  --accent-bright: #3ccb7a;
  --accent-dim: rgba(18, 133, 90, 0.09);
  --accent-dim-2: rgba(18, 133, 90, 0.16);
  --accent-on-dark: #6fe0a3;
}
.theme-abm{
  --accent: #e31c5f;
  --accent-rgb: 227, 28, 95;
  --accent-bright: #ff4d86;
  --accent-dim: rgba(227, 28, 95, 0.09);
  --accent-dim-2: rgba(227, 28, 95, 0.16);
  --accent-on-dark: #ff7aa6;
}
/* Programmfarben auch dort verfuegbar, wo alle drei nebeneinander stehen */
:root{
  --c-abm: #e31c5f; --c-hoai: #12855a; --c-caio: #1a72c4;
  --c-abm-bright: #ff4d86; --c-hoai-bright: #3ccb7a; --c-caio-bright: #7fccf7;
}

body{ background: var(--bg); color: var(--ink); }
::selection{ background: rgba(var(--accent-rgb), 0.22); }

/* Papierkorn entfernt: ein fixiertes Vollbild-Overlay mit Blend-Modus kostete bei jedem Scroll-Frame ein Neuzeichnen. */

/* ---------- Typografie: Tracking nach Groesse ---------- */
h1{ letter-spacing: -0.035em; }
h2{ letter-spacing: -0.03em; }
h3{ letter-spacing: -0.015em; }
.hero-solo h1{ font-size: clamp(36px, 5.4vw, 62px); line-height: 1.04; }
.hero-sub{ color: var(--ink-soft); }
.hook-accent{ color: var(--accent); }

/* ---------- Navigation: Papier-Glas, Programmseiten mit Farblinie ---------- */
.theme-caio .nav::before, .theme-hoai .nav::before, .theme-abm .nav::before{
  content: ""; position: absolute; inset: 0 0 auto 0; height: 3px;
  background: linear-gradient(90deg, var(--accent), var(--accent-bright));
}
.nav{
  background: rgba(246, 242, 236, 0.72);
  backdrop-filter: blur(16px) saturate(140%);
  -webkit-backdrop-filter: blur(16px) saturate(140%);
}
.nav.scrolled{
  background: rgba(246, 242, 236, 0.86);
  border-bottom-color: var(--line-soft);
  box-shadow: 0 1px 0 rgba(255,255,255,0.5) inset;
}
@media (prefers-reduced-transparency: reduce){
  .nav{ background: var(--bg); backdrop-filter: none; -webkit-backdrop-filter: none; }
}
.nav-logo{ font-weight: 600; letter-spacing: -0.01em; }
.logo-dot{ background: var(--accent); box-shadow: 0 0 0 4px var(--accent-dim); }
.nav-links a{ color: var(--ink-soft); }
.nav-links a:hover, .nav-links a[aria-current="page"]{ color: var(--ink); }
.nav-cta{ background: var(--ink); color: #fff; }
.nav-cta:hover{ background: var(--dark-2); }
.nav-mobile{ background: var(--bg); }

/* ---------- Knoepfe: Druck spuerbar, Loslassen schnell ---------- */
.btn{ transition: transform 0.18s var(--ease-press), background 0.25s ease, box-shadow 0.25s ease, color 0.25s ease; }
.btn:active, .nav-cta:active, .journey-tab:active, .faq-trigger:active, .path-card:active{ transform: scale(0.97); transition-duration: 0.08s; }
.btn-primary{ background: var(--ink); color: #fff; box-shadow: 0 1px 2px rgba(27,33,54,0.12), 0 8px 20px -12px rgba(27,33,54,0.5); }
.btn-primary:hover{ background: var(--dark-2); transform: translateY(-1px); box-shadow: 0 2px 4px rgba(27,33,54,0.12), 0 14px 28px -14px rgba(27,33,54,0.55); }
.btn-ghost{ color: var(--ink); }
.btn-ghost:hover{ background: rgba(27,33,54,0.06); }
.btn-ghost svg{ transition: transform 0.35s var(--ease-out); }
.btn-ghost:hover svg{ transform: translateX(3px); }
.btn:focus-visible, a:focus-visible, button:focus-visible{ outline: 2px solid var(--accent); outline-offset: 3px; }

/* ---------- Hero: Papier, Akzentschein, Mentoren-Band ---------- */
.hero{ background: var(--bg); }
.hero-glow{ opacity: 0.9; }
.hero-orb-a{ background: rgba(var(--accent-rgb), 0.10); }
.hero-orb-b{ background: rgba(84, 92, 116, 0.10); }
.hero-grid{ opacity: 0.45; }
.hero-format-note{ background: var(--paper-raised); border: 1px solid var(--line-soft); color: var(--ink-soft); }
.hero-format-dot{ background: var(--accent); box-shadow: 0 0 0 4px var(--accent-dim); }
.hero-stats-row{ border-top-color: var(--line); }
.hero-stat-value{ font-weight: 700; }
.hero-stat-accent .hero-stat-value, .hero-stat-accent .hero-stat-value span{ color: var(--accent); }
.hero-mbs-name{ color: var(--ink); }
.hero-mbs-tagline{ color: var(--ink-faint); }

/* ---------- Hook: Navy statt Schwarz ---------- */
.hook{ background: var(--dark); }
.hook-media::after{
  background: radial-gradient(120% 100% at 50% 32%, rgba(31, 41, 69, 0.5) 0%, rgba(22, 28, 48, 0.88) 66%, rgba(15, 20, 36, 0.96) 100%);
}
.hook-media img{ filter: grayscale(1) contrast(1.05) sepia(0.08); }
.hook-eyebrow{ color: var(--accent-on-dark); }
.hook-inner h2{ color: #fff; }
.qm-quote p{ color: rgba(255,255,255,0.92); }
.qm-quote footer{ color: var(--on-dark-faint); }
.qm-quote footer span{ color: var(--on-dark-faint); }
.qm-dot{ background: rgba(255,255,255,0.28); }
.qm-dot.is-active{ background: var(--accent-bright); }

/* ---------- Fotos: Schwarzweiss mit warmem Stich, passend zum Papier ---------- */
.photo-feature img, .divider-photo img{ filter: grayscale(1) sepia(0.14) contrast(0.98) brightness(1.02); }
.photo-feature-line{ color: #fff; }
.photo-feature-rule{ background: var(--accent-bright); }
.mini-gallery-item img{ filter: grayscale(1) sepia(0.1) contrast(1); transition: transform 0.7s var(--ease-out), filter 0.5s ease; }
.mini-gallery-item:hover img{ filter: grayscale(0) sepia(0); }

/* ---------- Die Stufen: drei Karten, treppenfoermig ---------- */
.paths{ padding: clamp(64px, 9vw, 120px) 32px clamp(56px, 7vw, 96px); position: relative; }
.paths-inner{ max-width: 1180px; margin: 0 auto; }
.paths-head{ max-width: 720px; margin-bottom: clamp(40px, 5vw, 64px); }
.paths-eyebrow{
  font-size: 12.5px; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--accent); font-weight: 600; margin: 0 0 14px;
}
.paths-head h2{ font-size: clamp(30px, 3.8vw, 48px); line-height: 1.06; margin: 0 0 18px; }
.paths-head p{ color: var(--ink-soft); font-size: 17px; line-height: 1.6; margin: 0; }
.paths-grid{ display: grid; gap: 22px; grid-template-columns: repeat(3, 1fr); align-items: end; }
.path-card{
  position: relative; display: flex; flex-direction: column;
  background: var(--paper-raised);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 0 0 30px;
  color: inherit; overflow: hidden;
  box-shadow: 0 1px 2px rgba(27,33,54,0.04), 0 24px 48px -36px rgba(27,33,54,0.35);
  transition: transform 0.35s var(--ease-out), box-shadow 0.35s var(--ease-out), border-color 0.3s ease;
}
.path-card::before{ content: ""; position: absolute; inset: 0 0 auto 0; height: 4px; background: var(--path); z-index: 2; }
.path-card:hover{ transform: translateY(-6px); border-color: rgba(27,33,54,0.2); box-shadow: 0 2px 4px rgba(27,33,54,0.05), 0 32px 56px -30px rgba(27,33,54,0.45); }
.path-card--abm{  --path: var(--c-abm);  --path-bright: var(--c-abm-bright); }
.path-card--hoai{ --path: var(--c-hoai); --path-bright: var(--c-hoai-bright); }
.path-card--caio{ --path: var(--c-caio); --path-bright: var(--c-caio-bright); }
/* Treppe: jede Stufe steht ein Stueck hoeher */
@media (min-width: 900px){
  .path-card--abm{ margin-top: 72px; }
  .path-card--hoai{ margin-top: 36px; }
  .path-card--caio{ margin-top: 0; }
}
.path-media{ aspect-ratio: 16 / 10; overflow: hidden; background: var(--bg-soft-2); position: relative; }
.path-media img{ width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) sepia(0.12) contrast(1.02); transition: transform 0.8s var(--ease-out), filter 0.5s ease; display: block; }
.path-card:hover .path-media img{ transform: scale(1.04); filter: grayscale(0.2) sepia(0); }
.path-media::after{ content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(27,33,54,0.35), rgba(27,33,54,0) 55%); }
.path-body{ padding: 26px 28px 0; display: flex; flex-direction: column; flex: 1; }
.path-step{
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase;
  font-weight: 600; color: var(--path); margin-bottom: 14px;
}
.path-step::before{ content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--path); box-shadow: 0 0 0 4px color-mix(in srgb, var(--path) 14%, transparent); }
.path-card h3{ font-size: 26px; line-height: 1.1; margin: 0 0 10px; }
.path-card h3 span{ color: var(--path); }
.path-body > p{ color: var(--ink-soft); font-size: 15.5px; line-height: 1.62; margin: 0 0 22px; }
.path-meta{ display: flex; gap: 26px; margin-top: auto; padding-top: 20px; border-top: 1px solid var(--line-soft); }
.path-meta div b{ font-size: 19px; font-weight: 600; letter-spacing: -0.01em; display: block; }
.path-meta div span{ display: block; font-size: 12px; color: var(--ink-faint); margin-top: 3px; }
.path-go{ display: inline-flex; align-items: center; gap: 7px; margin-top: 22px; font-size: 14.5px; font-weight: 600; color: var(--path); }
.path-go svg{ transition: transform 0.4s var(--ease-out); }
.path-card:hover .path-go svg{ transform: translateX(4px); }
.paths-note{
  margin: clamp(36px, 4vw, 56px) auto 0; max-width: 640px; text-align: center;
  color: var(--ink-soft); font-size: 15.5px; line-height: 1.6;
}
.paths-note a{ color: var(--ink); font-weight: 600; border-bottom: 1px solid var(--line); }
@media (max-width: 900px){
  .paths-grid{ grid-template-columns: 1fr; max-width: 520px; margin: 0 auto; }
}

/* ---------- Ergebnisse, Etappen, Journey ---------- */
.outcomes-eyebrow{ color: var(--accent); }
.outcome-num{ color: var(--accent); }
.outcome-item{ border-top-color: var(--line); }
.outcomes-close{ color: var(--ink); }
.journey-meta-value{ color: var(--ink); }
.journey-nav{ background: var(--paper-raised); border-color: var(--line); }
.journey-detail{
  background: linear-gradient(165deg, var(--paper-raised) 0%, var(--bg-soft) 140%);
  border-color: var(--line);
  box-shadow: 0 40px 80px -50px rgba(27,33,54,0.3);
}
.journey-tab[aria-selected="true"]{ background: var(--accent-dim); }
.journey-tab[aria-selected="true"]::before, .journey-tab[aria-selected="true"] .jt-num{ color: var(--accent); }
.journey-nav-progress-fill{ background: var(--accent); }
.jd-num-badge{ background: var(--ink); color: #fff; }
.jd-hook{ border-left-color: var(--accent); }
.jd-bullets li{ background: rgba(27,33,54,0.045); }
.jd-bullets li svg{ color: var(--accent); }
.jd-nav-btn.jd-next{ background: var(--ink); color: #fff; }

/* ---------- Mentoren, Referenzen, Stimmen ---------- */
.mentors.mentors-soft{ background: var(--bg-soft); }
.mentor-photo{ background: var(--paper-raised); border: 1px solid var(--line-soft); }
.mentor-photo img{ filter: grayscale(1) contrast(1.04); transition: filter 0.5s ease, transform 0.6s var(--ease-out); }
.mentor:hover .mentor-photo img{ filter: grayscale(0); }
.mentor-rule{ background: var(--accent); }
.mentors-more{ color: var(--ink); }
.ref-card{ background: #fff; border-color: var(--line-soft); }
.ref-card img{ filter: grayscale(1); opacity: 0.85; transition: filter 0.35s ease, opacity 0.35s ease; }
.ref-card:hover img{ filter: grayscale(0); opacity: 1; }
.ref-marquee-card{ background: #fff; border-color: var(--line-soft); box-shadow: 0 18px 32px -24px rgba(27,33,54,0.2); }
.ref-marquee-card img{ width: auto; height: auto; max-height: 56px; max-width: 100%; object-fit: contain; opacity: 0.82; }
.story-item{ background: var(--paper-raised); border-color: var(--line); }
.story-item-featured{ background: linear-gradient(155deg, var(--dark) 0%, var(--dark-2) 60%, #1a1830 100%); color: #fff; border-color: transparent; }
.story-item-featured p{ color: #fff; }
.story-item-featured footer{ color: var(--on-dark-soft); }
.story-stars{ color: var(--accent); }
.story-item-featured .story-stars{ color: var(--accent-bright); }
.story-quotes-sub{ color: var(--ink-soft); }

/* ---------- Naechster Schritt, Kohorten, Partner, FAQ, CTA ---------- */
.next-step-card{ background: var(--paper-raised); border-color: var(--line); }
.next-step-card-primary{ background: linear-gradient(160deg, var(--dark) 0%, var(--dark-2) 70%); color: #fff; border-color: transparent; }
.next-step-card-primary .btn-primary{ background: var(--accent-bright); color: var(--dark-3); box-shadow: none; }
.next-step-card-primary .btn-primary:hover{ background: #fff; }
.cohorts-card{ background: linear-gradient(155deg, var(--dark) 0%, var(--dark-2) 55%, #1c1a33 100%); }
.cohorts-eyebrow{ color: var(--accent-on-dark); }
.cohorts-card .cohorts-sub{ color: var(--on-dark-soft); }
.cohort-date-card, .cohort-seats{ background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.12); }
.cohort-date-season{ color: var(--on-dark-faint); }
.cohort-seats-num{ color: var(--accent-bright); }
.cohort-seats-label{ color: var(--on-dark-faint); }
.cohorts-card .btn-primary{ background: #fff; color: var(--ink); }
.cohorts-card .btn-primary:hover{ background: var(--accent-bright); color: var(--dark-3); }
.coop{ background: var(--bg); border-top: 1px solid var(--line-soft); }
.coop-eyebrow, .coop-grid-label, .mbs-lockup-tag{ color: var(--accent); }
.coop-intro{ color: var(--ink); }
.faq-item{ border-color: var(--line); }
.faq-trigger[aria-expanded="true"] .faq-q{ color: var(--accent); }
.faq-icon{ border-color: var(--line); }
.faq-trigger[aria-expanded="true"] .faq-icon{ background: var(--ink); color: #fff; border-color: var(--ink); }
.faq-intro{ color: var(--ink-soft); }
.cta{ background: var(--bg); }
.cta::before{ background: radial-gradient(closest-side, rgba(var(--accent-rgb), 0.12), rgba(var(--accent-rgb), 0) 70%); }
.cta-note{ color: var(--ink-faint); }
.audience-row{ border-top-color: var(--line); }
.audience-row h3{ color: var(--ink); }
.page-header-bg{ background: radial-gradient(closest-side, rgba(var(--accent-rgb), 0.10), rgba(var(--accent-rgb), 0) 70%); }
.page-eyebrow{ color: var(--accent); }
.page-header p{ color: var(--ink-soft); }
.legal-main{ color: var(--ink); }
.legal-box{ background: var(--paper-raised); border: 1px solid var(--line); }
.footer{ border-top-color: var(--line); background: var(--bg-soft); }
.footer-col-title{ color: var(--ink-faint); }
.footer a:hover{ color: var(--accent); }
.footer-legal a{ color: var(--ink-soft); }

/* Programmseiten: die Zahlenreihe des Heros in vier Feldern */
@media (min-width: 760px){
  .hero-stats-row.hero-stats-4{ gap: 0; flex-wrap: nowrap; }
  .hero-stats-4 .hero-stat{ padding: 0 18px; flex: 1 1 0; min-width: 0; }
  .hero-stats-4 .hero-stat-value{ font-size: clamp(28px, 3.4vw, 40px); }
  .hero-stats-4 .hero-stat-label{ font-size: 12.5px; }
}

/* Journey-Panel als Programm-Reiter auf dem Dach: Kennzahlen + Aktionen */
.jd-meta{ display:flex; flex-wrap:wrap; gap:10px 28px; margin:22px 0 4px; padding-top:18px; border-top:1px solid var(--line-soft); }
.jd-meta div b{ display:block; font-size:19px; font-weight:600; letter-spacing:-0.01em; }
.jd-meta div span{ display:block; font-size:12px; color:var(--ink-faint); margin-top:3px; }
.jd-actions{ display:flex; flex-wrap:wrap; gap:10px 16px; margin-top:22px; align-items:center; }

/* Impressionen: Mini-Galerie im Seitenraster */
.gallery-section{ padding: clamp(56px, 8vw, 104px) 32px; background: var(--bg-soft); border-top: 1px solid var(--line-soft); border-bottom: 1px solid var(--line-soft); }
.gallery-inner{ max-width:1180px; margin:0 auto; }
.gallery-inner h2{ font-size:clamp(28px, 3vw, 40px); line-height:1.08; margin:0 0 10px; }
.gallery-inner > p{ color:var(--ink-soft); margin:0 0 28px; max-width:60ch; }
.mini-gallery-item{ background: var(--bg-soft-2); border-radius: var(--radius-md); }

/* Lightbox auf Navy */
.lightbox{ background: rgba(15, 20, 36, 0.94); }

/* Stimmen-Karten und Karten allgemein: Druck spuerbar */
@media (hover: hover) and (pointer: fine){
  .story-item:hover, .next-step-card:hover{ transform: translateY(-4px); box-shadow: 0 24px 40px -30px rgba(27,33,54,0.4); }
}

/* Bewegungsreduktion: Fotos bleiben, Verschiebungen fallen weg */
@media (prefers-reduced-motion: reduce){
  .path-card, .story-item, .next-step-card, .btn{ transition: none; }
  .path-card:hover, .story-item:hover, .next-step-card:hover{ transform: none; }
}

/* ============================================================
   Runde 3: Logo-Marke, Vergleichstabelle, Stufen-Navigation
   ============================================================ */

/* Doppelchevron der Digital Management School (aus dem Wix-Logo) */
.nav-logo{ display: inline-flex; align-items: center; gap: 10px; }
.dms-mark{ color: var(--accent); flex: 0 0 auto; }
.nav-logo-text b, .footer-logo b{ font-weight: 700; }
.footer-logo{ display: inline-flex; align-items: center; gap: 9px; font-weight: 600; }
.footer-logo .dms-mark{ width: 18px; height: 12px; }
.statement p{ color: var(--ink); }
.statement .dim{ color: var(--ink-soft); }
.mentors-trust-strip{ border-top-color: var(--line); color: var(--ink-soft); font-size: 13.5px; }
.mentors-trust-strip .mts-dot{ background: var(--accent); }

/* Vergleich: eine Tabelle, drei Programmfarben */
.compare{ padding: clamp(24px, 4vw, 48px) 32px clamp(72px, 9vw, 120px); }
.compare-inner{ max-width: 1180px; margin: 0 auto; }
.compare-head{ max-width: 720px; margin-bottom: clamp(28px, 4vw, 44px); }
.compare-head h2{ font-size: clamp(28px, 3.4vw, 42px); line-height: 1.06; margin: 0 0 14px; }
.compare-head p{ color: var(--ink-soft); font-size: 16.5px; line-height: 1.6; margin: 0; }
.compare-scroll{ overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--paper-raised); box-shadow: 0 24px 48px -40px rgba(27,33,54,0.35); }
.compare-table{ width: 100%; min-width: 760px; border-collapse: separate; border-spacing: 0; font-size: 15px; line-height: 1.5; }
.compare-table th, .compare-table td{ padding: 18px 22px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line-soft); }
.compare-table thead th{ padding-top: 26px; padding-bottom: 20px; border-bottom: 1px solid var(--line); background: var(--bg-soft); }
.compare-table thead th:first-child{ width: 150px; }
.compare-table thead th a{ display: flex; flex-direction: column; gap: 6px; font-size: 19px; font-weight: 600; letter-spacing: -0.015em; color: var(--ink); }
.compare-table thead th a:hover{ color: var(--cmp); }
.cmp-step{ font-size: 11.5px; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 600; color: var(--cmp); }
.cmp-abm{ --cmp: var(--c-abm); } .cmp-hoai{ --cmp: var(--c-hoai); } .cmp-caio{ --cmp: var(--c-caio); }
.compare-table thead th.cmp-abm, .compare-table thead th.cmp-hoai, .compare-table thead th.cmp-caio{ box-shadow: inset 0 4px 0 var(--cmp); }
.compare-table tbody th{ font-size: 12.5px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink-faint); font-weight: 600; padding-top: 21px; }
.compare-table tbody td{ color: var(--ink); }
.compare-table tbody tr:nth-child(1) td, .compare-table tbody tr:nth-child(8) td{ font-weight: 600; }
.compare-table tbody tr:nth-child(8) td{ font-size: 17px; }
.compare-table tfoot td{ border-bottom: 0; padding-top: 20px; padding-bottom: 24px; }
.cmp-go{ display: inline-flex; align-items: center; gap: 7px; font-weight: 600; font-size: 14.5px; color: var(--cmp); }
.cmp-go svg{ transition: transform 0.35s var(--ease-out); }
.cmp-go:hover svg{ transform: translateX(4px); }
@media (hover: hover) and (pointer: fine){
  .compare-table tbody tr:hover td{ background: rgba(27,33,54,0.03); }
}
@media (max-width: 760px){
  .compare{ padding-left: 0; padding-right: 0; }
  .compare-head{ padding: 0 24px; }
  .compare-scroll{ border-radius: 0; border-left: 0; border-right: 0; }
  .compare-table{ min-width: 720px; font-size: 14px; }
  .compare-table th, .compare-table td{ padding: 14px 16px; }
  .compare-table thead th:first-child{ width: 96px; }
  /* Merkmalspalte bleibt stehen, die Programme wischen darunter durch */
  .compare-table tbody th, .compare-table thead th:first-child, .compare-table tfoot td:first-child{
    position: sticky; left: 0; z-index: 2; background: var(--paper-raised);
    box-shadow: 1px 0 0 var(--line-soft);
  }
  .compare-table thead th:first-child{ background: var(--bg-soft); }
  .compare-hint{ display: flex; }
}
.compare-hint{ display: none; align-items: center; gap: 8px; padding: 0 24px 12px; font-size: 12.5px; color: var(--ink-faint); letter-spacing: 0.02em; }
.compare-hint svg{ animation: hint-nudge 1.6s var(--ease-out) infinite; }
@keyframes hint-nudge{ 0%,100%{ transform: translateX(0); } 50%{ transform: translateX(4px); } }
@media (prefers-reduced-motion: reduce){ .compare-hint svg{ animation: none; } }

/* Stufen-Navigation am Ende jeder Programmseite: zurueck, weiter */
.stufen-nav{ padding: clamp(40px, 6vw, 72px) 32px clamp(56px, 8vw, 104px); }
.stufen-nav + .cta{ padding-top: clamp(72px, 9vw, 120px); }
.stufen-nav-inner{ max-width: 1120px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.stufe-card{
  --sc: var(--ink);
  display: flex; flex-direction: column; gap: 6px;
  padding: 28px 30px; border-radius: var(--radius-lg);
  border: 1px solid var(--line); background: var(--paper-raised);
  position: relative; overflow: hidden;
  transition: transform 0.35s var(--ease-out), box-shadow 0.35s var(--ease-out), border-color 0.3s ease;
}
.stufe-card::before{ content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--sc); }
.stufe-card.is-next{ text-align: right; }
.stufe-card.is-next::before{ inset: 0 0 0 auto; }
.stufe-card--abm{ --sc: var(--c-abm); } .stufe-card--hoai{ --sc: var(--c-hoai); } .stufe-card--caio{ --sc: var(--c-caio); }
.stufe-card--all{ --sc: var(--accent); }
.stufe-label{ font-size: 11.5px; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 600; color: var(--sc); }
.stufe-label::before{ content: "← "; }
.is-next .stufe-label::before{ content: ""; }
.is-next .stufe-label::after{ content: " →"; }
.stufe-name{ font-size: 22px; font-weight: 600; letter-spacing: -0.02em; color: var(--ink); }
.stufe-claim{ font-size: 14px; color: var(--ink-soft); }
@media (hover: hover) and (pointer: fine){
  .stufe-card:hover{ transform: translateY(-4px); box-shadow: 0 24px 40px -30px rgba(27,33,54,0.45); border-color: rgba(27,33,54,0.2); }
}
@media (max-width: 640px){
  .stufen-nav{ padding-left: 20px; padding-right: 20px; }
  .stufen-nav-inner{ grid-template-columns: 1fr; }
  .stufe-card.is-next{ text-align: left; }
  .stufe-card.is-next::before{ inset: 0 auto 0 0; }
}


/* ============================================================
   Runde 4: Stufen-Hero (Dach), Wix-Komposit-Hero, Icons,
   Phasen-Abschnitte, Videos, Jury
   ============================================================ */

/* Dach: Text links, die drei Stufen als Treppe rechts */
.hero-stairs{ padding-bottom: 40px; display: flex; flex-direction: column; justify-content: center; }
.hero-stairs .hero-split{ width: 100%; grid-template-columns: 1.05fr 0.95fr; gap: clamp(32px, 5vw, 72px); align-items: center; }
.hero-stairs .hero-content{ max-width: 560px; text-align: left; margin: 0; }
.hero-stairs .hero-mbs-lockup{ justify-content: flex-start; margin-left: 0; }
.hero-stairs h1{ font-size: clamp(36px, 4.6vw, 58px); line-height: 1.04; }
.hero-stairs h1 .hook-accent{ white-space: nowrap; }
.hero-stairs .hero-sub{ margin-left: 0; }
.hero-stairs .hero-actions{ justify-content: flex-start; }
.hero-stairs .hero-format-note{ margin-left: 0; }
.hero-stats-wide{ position: relative; z-index: 1; width: 100%; max-width: 1220px; margin: 56px auto 0; }
.stairs{
  position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; align-items: end;
  padding: 0 0 14px; min-height: 380px;
}
.stair{
  --sc: var(--ink);
  display: flex; flex-direction: column; gap: 4px; justify-content: flex-start;
  padding: 22px 20px 26px; border-radius: var(--radius-md);
  background: var(--paper-raised); border: 1px solid var(--line);
  box-shadow: 0 1px 2px rgba(27,33,54,0.04), 0 24px 44px -34px rgba(27,33,54,0.4);
  min-height: calc(150px + (var(--i) - 1) * 80px);
  position: relative; overflow: hidden;
  transition: transform 0.35s var(--ease-out), box-shadow 0.35s var(--ease-out), border-color 0.3s ease;
}
.stair::before{ content: ""; position: absolute; inset: 0 0 auto 0; height: 5px; background: var(--sc); }
.stair::after{
  content: ""; position: absolute; right: -30px; bottom: -40px; width: 130px; height: 130px; border-radius: 50%;
  background: radial-gradient(closest-side, color-mix(in srgb, var(--sc) 16%, transparent), transparent 72%);
}
.stair--abm{ --sc: var(--c-abm); } .stair--hoai{ --sc: var(--c-hoai); } .stair--caio{ --sc: var(--c-caio); }
.stair-num{ font-size: 12px; letter-spacing: 0.12em; font-weight: 700; color: var(--sc); font-variant-numeric: tabular-nums; }
.stair-name{ font-size: clamp(15px, 1.25vw, 18px); font-weight: 600; letter-spacing: -0.015em; line-height: 1.15; color: var(--ink); margin-top: 6px; }
.stair-meta{ font-size: 12.5px; color: var(--ink-soft); margin-top: 8px; }
.stair-claim{ font-size: 12px; color: var(--ink-faint); margin-top: auto; padding-top: 14px; }
.stairs-base{ position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: linear-gradient(90deg, var(--c-abm), var(--c-hoai), var(--c-caio)); opacity: 0.7; }
@media (hover: hover) and (pointer: fine){
  .stair:hover{ transform: translateY(-6px); box-shadow: 0 2px 4px rgba(27,33,54,0.05), 0 32px 52px -30px rgba(27,33,54,0.5); border-color: color-mix(in srgb, var(--sc) 45%, var(--line)); }
}
@media (max-width: 900px){
  .hero-stairs .hero-split{ grid-template-columns: 1fr; gap: 40px; }
  .hero-stairs .hero-content{ max-width: 100%; text-align: center; margin: 0 auto; }
  .hero-stairs .hero-mbs-lockup{ justify-content: center; }
  .hero-stairs .hero-sub{ margin-left: auto; margin-right: auto; }
  .hero-stairs .hero-actions{ justify-content: center; }
  .hero-stairs .hero-format-note{ margin-left: auto; margin-right: auto; }
  .stairs{ min-height: 0; max-width: 560px; margin: 0 auto; width: 100%; }
  .stair{ min-height: calc(120px + (var(--i) - 1) * 40px); padding: 16px 14px 18px; }
  .stair-claim{ display: none; }
}
@media (max-width: 600px){
  /* Auf dem Telefon: eine Leiter von oben nach unten, jede Stufe rueckt ein */
  .stairs{ grid-template-columns: 1fr; gap: 10px; align-items: stretch; padding-bottom: 0; }
  .stair{ min-height: 0; padding: 14px 16px 16px; margin-left: calc((var(--i) - 1) * 22px); flex-direction: row; align-items: center; gap: 12px 16px; flex-wrap: wrap; }
  .stair::before{ inset: 0 auto 0 0; width: 5px; height: auto; }
  .stair-num{ min-width: 24px; }
  .stair-name{ margin-top: 0; font-size: 16px; flex: 1 1 auto; }
  .stair-meta{ margin-top: 0; flex: 0 0 100%; padding-left: 40px; }
  .stairs-base{ display: none; }
}

/* Programmseiten: das bekannte Bild mit den Mentoren und dem Programmnamen */
.hero-wix .hero-content{ max-width: 1040px; }
.hero-composite{ margin: 0 auto 36px; max-width: 1040px; }
.hero-composite img{ width: 100%; height: auto; display: block; filter: drop-shadow(0 18px 30px rgba(27,33,54,0.16)); }
.hero-wix h1{ font-size: clamp(26px, 3.2vw, 40px); max-width: 820px; margin: 0 auto; }
.hero-wix .hero-sub{ max-width: 640px; }
@media (max-width: 640px){ .hero-composite{ margin-bottom: 26px; } .hero-wix h1{ font-size: clamp(24px, 6.4vw, 30px); } }

/* Ergebnisse mit den Icons der Programmseiten */
.outcome-item.has-icon{ grid-template-columns: 64px 1fr; column-gap: 22px; }
.outcome-icon{ grid-column: 1; grid-row: 1 / span 2; width: 56px; height: 56px; display: flex; align-items: flex-start; justify-content: center; padding-top: 2px; }
.outcome-icon img{ width: 52px; height: 52px; object-fit: contain; }
@media (max-width: 640px){ .outcome-item.has-icon{ grid-template-columns: 48px 1fr; column-gap: 16px; } .outcome-icon img{ width: 42px; height: 42px; } }

/* Phasen: alles sichtbar, Text und Grafik im Wechsel */
.phases{ padding: clamp(72px, 9vw, 128px) 32px clamp(56px, 7vw, 96px); background: var(--bg-soft); border-top: 1px solid var(--line-soft); border-bottom: 1px solid var(--line-soft); }
.phases-inner{ max-width: 1180px; margin: 0 auto; }
.phases-head{ max-width: 760px; margin-bottom: clamp(32px, 4vw, 56px); }
.phases-head h2{ font-size: clamp(30px, 3.8vw, 48px); line-height: 1.06; margin: 0 0 16px; }
.phases-head p{ color: var(--ink-soft); font-size: 17px; line-height: 1.6; margin: 0; }
.timeline-card{ margin: 0 0 clamp(40px, 5vw, 72px); background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: clamp(14px, 2vw, 28px); box-shadow: 0 24px 48px -36px rgba(27,33,54,0.35); }
.timeline-card img{ width: 100%; height: auto; display: block; }
.phase-row{
  display: grid; grid-template-columns: 1.05fr 0.95fr; gap: clamp(28px, 5vw, 72px); align-items: center;
  padding: clamp(36px, 5vw, 64px) 0; border-top: 1px solid var(--line);
}
.phase-row.is-flip .phase-text{ order: 2; }
.phase-row.is-flip .phase-media{ order: 1; }
.phase-kicker{ display: flex; align-items: center; gap: 12px; font-size: 12.5px; letter-spacing: 0.08em; text-transform: uppercase; font-weight: 600; color: var(--accent); margin: 0 0 14px; }
.phase-num{ display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 10px; border-radius: 50%; background: var(--ink); color: #fff; font-size: 14px; letter-spacing: 0; font-weight: 700; }
.phase-text h3{ font-size: clamp(24px, 2.6vw, 32px); line-height: 1.12; margin: 0 0 16px; }
.phase-text p{ color: var(--ink-soft); font-size: 16px; line-height: 1.65; margin: 0 0 14px; }
.phase-bullets{ margin: 6px 0 14px; display: grid; gap: 8px; }
.phase-bullets li{ display: flex; gap: 10px; align-items: flex-start; font-size: 15px; line-height: 1.5; color: var(--ink); padding: 10px 14px; background: rgba(27,33,54,0.045); border-radius: var(--radius-sm); }
.phase-bullets li svg{ flex: 0 0 auto; margin-top: 3px; color: var(--accent); }
.phase-note{ color: var(--ink) !important; font-weight: 500; border-left: 3px solid var(--accent); padding-left: 14px; }
.phase-media{ margin: 0; border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--line); box-shadow: 0 30px 60px -40px rgba(27,33,54,0.5); background: #0d1b3a; }
.phase-media img{ width: 100%; height: auto; display: block; transition: transform 0.8s var(--ease-out); }
@media (hover: hover) and (pointer: fine){ .phase-row:hover .phase-media img{ transform: scale(1.02); } }
.phase-subs{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; padding: 0 0 clamp(36px, 5vw, 64px); }
.phase-sub{ background: var(--paper-raised); border: 1px solid var(--line); border-radius: var(--radius-lg); overflow: hidden; display: flex; flex-direction: column; }
.phase-sub img{ width: 100%; height: auto; display: block; aspect-ratio: 16 / 9; object-fit: cover; }
.phase-sub h4{ font-size: 18px; margin: 18px 22px 8px; letter-spacing: -0.015em; }
.phase-sub p{ color: var(--ink-soft); font-size: 14.5px; line-height: 1.6; margin: 0 22px 22px; }
@media (max-width: 900px){
  .phase-row{ grid-template-columns: 1fr; gap: 24px; }
  .phase-row.is-flip .phase-text{ order: 1; } .phase-row.is-flip .phase-media{ order: 2; }
  .phase-subs{ grid-template-columns: 1fr; }
}

/* Videos: Hochkant-Statements, selbst gehostet */
.videos{ padding: clamp(72px, 9vw, 128px) 32px; }
.videos-inner{ max-width: 1180px; margin: 0 auto; }
.videos-head{ max-width: 720px; text-align: left; }
.videos-head h2{ font-size: clamp(28px, 3.6vw, 44px); line-height: 1.06; margin: 0 0 14px; }
.videos-head p{ color: var(--ink-soft); font-size: 16.5px; line-height: 1.6; margin: 0; }
.video-grid.is-portrait{ grid-template-columns: repeat(3, minmax(0, 300px)); justify-content: start; gap: 22px; margin-top: 40px; }
.video-grid.is-portrait .video-frame{ aspect-ratio: 9 / 16; }
.video-grid.is-portrait .video-frame video{ width: 100%; height: 100%; object-fit: cover; display: block; background: #000; }
.video-card{ background: var(--dark); border-color: transparent; box-shadow: 0 24px 48px -36px rgba(27,33,54,0.5); }
.video-play-icon{ color: var(--ink); }
.video-meta p{ color: var(--on-dark-faint); }
@media (max-width: 860px){
  .video-grid.is-portrait{ grid-template-columns: repeat(3, 1fr); gap: 10px; max-width: none; margin-left: 0; margin-right: 0; }
  .video-meta{ padding: 12px 12px 14px; } .video-meta h3{ font-size: 13px; } .video-meta p{ font-size: 11.5px; }
  .video-play-icon{ width: 44px; height: 44px; }
}

/* C-Level-Jury: fuenf Mitglieder mit ihrem Statement */
.jury-head{ max-width: 780px; margin-bottom: 8px; }
.jury-head h2{ font-size: clamp(28px, 3.6vw, 44px); line-height: 1.06; margin: 0 0 18px; }
.jury-intro p{ color: var(--ink-soft); font-size: 16.5px; line-height: 1.65; margin: 0 0 12px; }
.mentors-grid.mentors-grid-5{ grid-template-columns: repeat(5, 1fr); gap: 32px 18px; margin-top: 44px; }
.jury-quote{ margin: 14px 0 0; font-size: 13.5px; line-height: 1.55; color: var(--ink-soft); border-top: 1px solid var(--line-soft); padding-top: 12px; }
@media (max-width: 1100px){ .mentors-grid.mentors-grid-5{ grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 640px){ .mentors-grid.mentors-grid-5{ grid-template-columns: repeat(2, 1fr); gap: 24px 14px; } .jury-quote{ font-size: 12.5px; } }
.jury + .mentors{ padding-top: clamp(56px, 7vw, 96px); }

/* ============================================================
   Runde 5: Programmseiten nach der Wix-Struktur
   ============================================================ */

/* Hero der Programmseiten ohne Kennzahlen, kompakter */
.hero-wix{ min-height: 0; padding-bottom: 8px; }

/* Key Facts: grosse Zahlen in der Programmfarbe, Beschriftung in Versalien */
.facts-wix{ padding: clamp(28px, 4vw, 48px) 32px clamp(56px, 7vw, 88px); }
.facts-wix-inner{ max-width: 1180px; margin: 0 auto; display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px; }
.fact-wix{
  display: flex; flex-direction: column; align-items: center; text-align: center; gap: 12px;
  padding: 28px 16px 26px; border-radius: var(--radius-lg); background: var(--paper-raised); border: 1px solid var(--line);
  transition: transform 0.35s var(--ease-out), box-shadow 0.35s var(--ease-out), border-color 0.3s ease;
}
.fact-value{ font-size: clamp(44px, 5vw, 68px); font-weight: 700; letter-spacing: -0.03em; line-height: 1; color: var(--accent); font-variant-numeric: tabular-nums; }
.fact-value small{ font-size: 0.42em; font-weight: 700; margin-left: 4px; letter-spacing: 0; vertical-align: 0.5em; }
.fact-label{ font-size: 11.5px; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 600; color: var(--ink); line-height: 1.45; max-width: 190px; }
.fact-wix-link{ border-color: var(--accent); background: var(--accent-dim); }
.fact-wix-link .fact-label{ color: var(--accent); }
@media (hover: hover) and (pointer: fine){
  .fact-wix-link:hover{ transform: translateY(-4px); box-shadow: 0 24px 40px -28px rgba(var(--accent-rgb), 0.6); }
}
@media (max-width: 1000px){ .facts-wix-inner{ grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 640px){
  .facts-wix{ padding-left: 20px; padding-right: 20px; }
  .facts-wix-inner{ grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .fact-wix{ padding: 18px 10px 16px; gap: 8px; }
  .fact-value{ font-size: 40px; }
  .fact-label{ font-size: 10.5px; letter-spacing: 0.06em; }
  .facts-wix-inner > :last-child:nth-child(odd){ grid-column: span 2; }
}

/* Munich Business School: Logo, Satz, drei Knoepfe */
.mbs-block{ padding: clamp(56px, 7vw, 96px) 32px; background: #fff; border-top: 1px solid var(--line-soft); border-bottom: 1px solid var(--line-soft); }
.mbs-block-inner{ max-width: 760px; margin: 0 auto; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 26px; }
.mbs-block-logo{ height: 78px; width: auto; }
.mbs-block h2{ font-size: clamp(22px, 2.6vw, 30px); line-height: 1.2; letter-spacing: -0.02em; max-width: 560px; margin: 0; }
.mbs-block-actions{ display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.btn-secondary{ background: var(--accent); color: #fff; }
.btn-secondary:hover{ background: var(--ink); color: #fff; transform: translateY(-1px); }
@media (max-width: 640px){ .mbs-block-logo{ height: 60px; } .mbs-block-actions .btn{ width: 100%; justify-content: center; } }

/* Worum geht es: vier Textkarten */
.info{ padding: clamp(72px, 9vw, 120px) 32px; }
.info-inner{ max-width: 1180px; margin: 0 auto; }
.info-head{ max-width: 820px; margin-bottom: clamp(32px, 4vw, 48px); }
.info-head h2{ font-size: clamp(30px, 3.8vw, 46px); line-height: 1.06; margin: 0 0 16px; }
.info-head p{ color: var(--ink-soft); font-size: 17px; line-height: 1.65; margin: 0; }
.info-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.info-card{ background: var(--paper-raised); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 30px 30px 28px; }
.info-card h3{ font-size: 21px; line-height: 1.2; margin: 0 0 12px; }
.info-card p{ color: var(--ink-soft); font-size: 15.5px; line-height: 1.6; margin: 0 0 12px; }
.info-card ul{ display: grid; gap: 8px; margin-top: 4px; }
.info-card li{ display: flex; gap: 10px; align-items: flex-start; font-size: 15px; line-height: 1.5; color: var(--ink); }
.info-card li svg{ flex: 0 0 auto; margin-top: 3px; color: var(--accent); }
@media (max-width: 800px){ .info-grid{ grid-template-columns: 1fr; } }

/* Phasen: Bild immer rechts, Fotos gleich behandelt wie die Grafiken */
.phase-media img{ aspect-ratio: 16 / 9; object-fit: cover; }
.phase-media.is-photo img{ filter: grayscale(1) sepia(0.12) contrast(1.02); object-position: 50% 28%; }
.theme-hoai .phase-media{ background: var(--bg-soft-2); }

/* Jury als Abschluss: etwas mehr Luft, danach Partner */
.jury{ padding-bottom: clamp(72px, 9vw, 128px); }
.jury + .coop{ border-top: 0; }

/* ============================================================
   Runde 6: typografische Heros, Markenzeile, Zahlenzeile,
   eigene Zeitachse, Stage-Raster, mehr Luft um Videos
   ============================================================ */

/* Marke im Dach-Hero statt MBS-Lockup; MBS wandert in die Notiz */
.hero-brandline{ display: inline-flex; align-items: center; gap: 10px; font-size: 12.5px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 600; color: var(--ink-soft); margin: 0 0 26px; }
.hero-brandline .dms-mark{ color: var(--accent); }
.hero-format-note .hero-eyebrow-crest{ height: 22px; width: auto; margin-right: 8px; }

/* Programmseiten: Eyebrow mit kleinem Wappen, Programmname riesig, Claim darunter */
.hero-eyebrow{ display: inline-flex; align-items: center; gap: 10px; font-size: 12.5px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 600; color: var(--ink-soft); margin: 0 0 22px; }
.hero-eyebrow-crest{ height: 30px; width: auto; }
.hero-big{ min-height: 0; padding-bottom: 8px; }
.hero-big .hero-content{ max-width: 900px; }
.hero-big h1{ display: flex; flex-direction: column; gap: 14px; }
.hero-big-name{
  display: block; font-size: clamp(56px, 9.6vw, 128px); line-height: 0.92; letter-spacing: -0.045em; font-weight: 700;
  color: var(--accent); text-wrap: balance;
}
.hero-big-claim{ display: block; font-size: clamp(22px, 2.6vw, 34px); line-height: 1.15; letter-spacing: -0.025em; font-weight: 600; color: var(--ink); max-width: 760px; margin: 6px auto 0; }
.hero-big .hero-sub{ max-width: 640px; margin-top: 22px; }
.hero-big .hero-glow{ opacity: 1; top: -20%; left: 10%; width: 1100px; }
@media (max-width: 640px){ .hero-eyebrow{ font-size: 11px; letter-spacing: 0.08em; text-align: left; } .hero-big-name{ font-size: clamp(44px, 14vw, 60px); } }

/* Key Facts: eine ruhige Zahlenzeile, keine Kaesten */
.facts-wix{ padding: clamp(40px, 5vw, 64px) 32px clamp(64px, 8vw, 104px); }
.facts-wix-inner{ display: flex; justify-content: center; align-items: stretch; gap: 0; max-width: 1180px; margin: 0 auto; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.fact-wix{ flex: 1 1 0; min-width: 0; background: none; border: 0; border-left: 1px solid var(--line); border-radius: 0; padding: 30px 18px 28px; gap: 10px; box-shadow: none; }
.fact-wix:first-child{ border-left: 0; }
.fact-value{ font-size: clamp(40px, 4.4vw, 60px); }
.fact-label{ font-size: 11px; letter-spacing: 0.1em; color: var(--ink-soft); max-width: 170px; }
.fact-wix-link{ background: none; border-color: var(--line); }
.fact-wix-link .fact-value{ color: var(--accent); }
.fact-wix-link .fact-label{ color: var(--ink); }
@media (hover: hover) and (pointer: fine){ .fact-wix-link:hover{ transform: none; box-shadow: none; background: var(--accent-dim); } }
@media (max-width: 1000px){
  .facts-wix-inner{ flex-wrap: wrap; border-top: 0; }
  .fact-wix{ flex: 1 1 33%; border-left: 0; border-top: 1px solid var(--line); }
}
@media (max-width: 640px){
  .facts-wix-inner{ display: grid; grid-template-columns: 1fr 1fr; gap: 0; }
  .fact-wix{ padding: 20px 10px 18px; }
  .fact-wix:nth-child(even){ border-left: 1px solid var(--line); }
  .facts-wix-inner > :last-child:nth-child(odd){ grid-column: span 2; }
}

/* Eigene Zeitachse: vier Abschnitte in vier Farben */
.timeline{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin: 0 0 clamp(40px, 5vw, 72px); }
.tl-seg{ position: relative; background: var(--paper-raised); border: 1px solid var(--line); border-radius: var(--radius-md); padding: 22px 20px 22px; display: flex; flex-direction: column; gap: 6px; overflow: hidden; }
.tl-seg::before{ content: ""; position: absolute; inset: 0 0 auto 0; height: 5px; background: var(--tl); }
.tl-seg::after{ content: ""; position: absolute; right: -14px; top: 50%; width: 22px; height: 22px; transform: translateY(-50%) rotate(45deg); background: var(--paper-raised); border-right: 1px solid var(--line); border-top: 1px solid var(--line); z-index: 2; }
.tl-seg:last-child::after{ display: none; }
.tl-months{ font-size: 11.5px; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 700; color: var(--tl); }
.tl-title{ font-size: 18px; font-weight: 600; letter-spacing: -0.015em; color: var(--ink); line-height: 1.2; }
.tl-desc{ font-size: 13.5px; line-height: 1.5; color: var(--ink-soft); }
@media (max-width: 900px){ .timeline{ grid-template-columns: 1fr 1fr; } .tl-seg::after{ display: none; } }
@media (max-width: 520px){ .timeline{ grid-template-columns: 1fr; } }

/* Stage-Raster fuer den AI Business Manager */
.stages-grid-section{ padding: clamp(72px, 9vw, 120px) 32px; background: var(--bg-soft); border-top: 1px solid var(--line-soft); border-bottom: 1px solid var(--line-soft); }
.stages-grid-inner{ max-width: 1180px; margin: 0 auto; }
.stages-grid-head{ max-width: 720px; margin-bottom: clamp(28px, 4vw, 44px); }
.stages-grid-head h2{ font-size: clamp(30px, 3.8vw, 46px); line-height: 1.06; margin: 0 0 14px; }
.stages-grid-head p{ color: var(--ink-soft); font-size: 17px; line-height: 1.6; margin: 0; }
.stages-grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; counter-reset: stage; }
.stages-grid li{ display: flex; align-items: center; gap: 14px; padding: 18px 20px; background: var(--paper-raised); border: 1px solid var(--line); border-radius: var(--radius-md); }
.sg-num{ font-size: 13px; font-weight: 700; color: var(--accent); font-variant-numeric: tabular-nums; letter-spacing: 0.04em; }
.sg-title{ font-size: 16px; font-weight: 600; letter-spacing: -0.01em; }
.stages-grid-more{ margin: 28px 0 0; }
@media (max-width: 900px){ .stages-grid{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px){ .stages-grid{ grid-template-columns: 1fr; } }

/* Videos: mehr Luft */
.videos{ padding: clamp(96px, 11vw, 160px) 32px; }
.video-grid.is-portrait{ gap: 32px; margin-top: 56px; }
.videos-head p{ max-width: 640px; }
@media (max-width: 860px){ .video-grid.is-portrait{ gap: 12px; margin-top: 36px; } }


/* ============================================================
   Runde 7: durchgehender Papierstil, engere Key Facts,
   Video-Karten ohne Untertitel-Standbilder
   ============================================================ */

/* Programmseiten: ein Papierton, nur der Hook bleibt dunkel */
.mbs-block{ background: var(--bg); border-top: 0; border-bottom: 0; padding-top: clamp(24px, 3vw, 40px); }
.phases, .stages-grid-section, .gallery-section{ background: var(--bg); border-top: 1px solid var(--line-soft); border-bottom: 0; }
.jury.mentors.mentors-soft{ background: var(--bg); border-top: 1px solid var(--line-soft); border-bottom: 0; }
.videos{ border-top: 1px solid var(--line-soft); }
.tl-seg, .phase-bullets li{ background: var(--paper-raised); }
.phase-bullets li{ border: 1px solid var(--line-soft); }

/* Key Facts: gerahmte Karte, enger, direkt unter dem Hero */
.hero-big{ padding-bottom: 0; }
.facts-wix{ padding: clamp(20px, 3vw, 36px) 32px clamp(36px, 5vw, 64px); }
.facts-wix-inner{ border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--paper-raised); box-shadow: 0 1px 2px rgba(27,33,54,0.04), 0 24px 48px -40px rgba(27,33,54,0.35); overflow: hidden; }
.fact-wix{ padding: 24px 14px 22px; gap: 8px; }
.fact-value{ font-size: clamp(36px, 3.8vw, 52px); }
.fact-label{ font-size: 10.5px; letter-spacing: 0.09em; }
.fact-wix-link{ background: var(--accent-dim); }
@media (max-width: 1000px){ .facts-wix-inner{ border-top: 1px solid var(--line); } }
@media (max-width: 640px){ .facts-wix-inner{ border-radius: var(--radius-md); } }
.mbs-block-inner{ gap: 22px; }
.mbs-block-logo{ height: 70px; }

/* Videos: Ausschnitt ohne eingebrannte Untertitel, Name unter dem Bild */
.video-grid.is-portrait{ grid-template-columns: repeat(3, minmax(0, 320px)); gap: 28px; margin-top: 48px; }
.video-card{ background: transparent; border: 0; box-shadow: none; border-radius: 0; overflow: visible; }
.video-grid.is-portrait .video-frame{ aspect-ratio: 4 / 5; border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--line); background: var(--dark); box-shadow: 0 30px 60px -40px rgba(27,33,54,0.55); transition: transform 0.5s var(--ease-out), box-shadow 0.5s var(--ease-out); }
.video-card.is-playing .video-frame{ aspect-ratio: 9 / 16; }
.video-play img{ object-position: 50% 42%; filter: saturate(0.85) contrast(1.02); }
.video-play::after{ background: linear-gradient(180deg, rgba(15,20,36,0.05) 0%, rgba(15,20,36,0.15) 55%, rgba(15,20,36,0.65) 100%); }
.video-play-icon{ width: 66px; height: 66px; background: rgba(255,255,255,0.96); box-shadow: 0 0 0 8px rgba(255,255,255,0.18), 0 12px 30px -10px rgba(0,0,0,0.5); }
.video-play-hint{ position: absolute; left: 0; right: 0; bottom: 20px; text-align: center; font-size: 12.5px; letter-spacing: 0.08em; text-transform: uppercase; font-weight: 600; color: rgba(255,255,255,0.9); z-index: 1; }
.video-meta{ padding: 16px 4px 0; color: var(--ink); }
.video-meta h3{ font-size: 16px; }
.video-meta p{ color: var(--ink-soft); font-size: 13.5px; }
@media (hover: hover) and (pointer: fine){
  .video-card:hover .video-frame{ transform: translateY(-4px); box-shadow: 0 36px 64px -36px rgba(27,33,54,0.6); }
}
@media (max-width: 860px){
  .video-grid.is-portrait{ grid-template-columns: repeat(3, 1fr); gap: 10px; }
  .video-play-hint{ display: none; }
  .video-meta{ padding: 10px 2px 0; } .video-meta h3{ font-size: 13px; } .video-meta p{ font-size: 11.5px; }
}


/* ============================================================
   Runde 8: Dach-Erklaerung auf der Startseite
   ============================================================ */
.statement-wide{ max-width: 980px; padding: clamp(40px, 6vw, 80px) 32px 8px; }
.statement-wide p{ font-size: clamp(22px, 2.9vw, 34px); line-height: 1.35; letter-spacing: -0.02em; }
.wwd{ padding: clamp(80px, 10vw, 140px) 32px; }
.wwd-inner{ max-width: 1180px; margin: 0 auto; }
.wwd-head h2{ font-size: clamp(30px, 3.8vw, 48px); line-height: 1.06; margin: 0 0 24px; max-width: 820px; }
.wwd-cols{ display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.wwd-cols p{ color: var(--ink-soft); font-size: 16.5px; line-height: 1.65; margin: 0; }
.wwd-points{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: clamp(36px, 4vw, 56px); }
.wwd-point{ display: flex; gap: 14px; align-items: flex-start; padding: 22px 22px; background: var(--paper-raised); border: 1px solid var(--line); border-radius: var(--radius-md); }
.wwd-check{ flex: 0 0 auto; width: 30px; height: 30px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--accent-dim); color: var(--accent); }
.wwd-point b{ display: block; font-weight: 600; font-size: 16px; letter-spacing: -0.01em; margin-bottom: 4px; }
.wwd-point span span{ display: block; color: var(--ink-soft); font-size: 14px; line-height: 1.5; }
@media (max-width: 900px){ .wwd-points{ grid-template-columns: 1fr 1fr; } .wwd-cols{ grid-template-columns: 1fr; gap: 16px; } }
@media (max-width: 560px){ .wwd-points{ grid-template-columns: 1fr; } }


/* Uebergabe zur offiziellen Website des AI Business Managers */
.handoff{ padding: 0 32px clamp(48px, 6vw, 80px); }
.handoff-inner{ max-width: 1120px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; padding: 22px 28px; background: var(--paper-raised); border: 1px solid var(--line); border-left: 4px solid var(--accent); border-radius: var(--radius-lg); }
.handoff p{ margin: 0; color: var(--ink-soft); font-size: 15.5px; line-height: 1.55; max-width: 620px; }
.handoff p b{ color: var(--ink); font-weight: 600; }
@media (max-width: 640px){ .handoff-inner{ padding: 18px 20px; } .handoff .btn{ width: 100%; justify-content: center; } }


/* ============================================================
   Runde 10: elegante Serife fuer Statements, festes Logo,
   Vergleich neu gestaltet, farbiges Laufband, Programmseiten fliessend
   ============================================================ */
:root{ --font-serif: "Sentient", "Iowan Old Style", Georgia, serif; }

/* Logo: Zeichen in Navy auf allen Seiten, Wortmarke deutlicher */
.dms-mark, .theme-caio .dms-mark, .theme-hoai .dms-mark, .theme-abm .dms-mark, .hero-brandline .dms-mark{ color: var(--ink); }
.nav-logo-text{ font-size: 16.5px; font-weight: 600; letter-spacing: -0.015em; color: var(--ink); }
.nav-logo-text b{ font-weight: 700; }
.nav-logo .dms-mark{ width: 24px; height: 16px; }
.footer-logo .dms-mark{ color: var(--ink); }

/* Statements und Leitsaetze in der Serife */
.statement p, .statement-wide p{ font-family: var(--font-serif); font-weight: 400; letter-spacing: -0.012em; line-height: 1.32; font-size: clamp(26px, 3.2vw, 40px); }
.statement-wide p{ font-size: clamp(28px, 3.4vw, 44px); }
.statement .dim{ font-style: italic; font-weight: 400; color: var(--ink-soft); }
.hook-lede{ font-family: var(--font-serif); font-weight: 400; letter-spacing: -0.015em; line-height: 1.12; }
.mbs-block h2{ font-family: var(--font-serif); font-weight: 400; letter-spacing: -0.012em; font-size: clamp(24px, 2.8vw, 34px); }
.phase-note, .outcomes-close{ font-family: var(--font-serif); font-weight: 400 !important; font-size: 18px; letter-spacing: -0.005em; }
.outcomes-close{ font-size: clamp(22px, 2.4vw, 28px); }
.jury-quote{ font-family: var(--font-serif); font-style: italic; font-size: 14.5px; }
.story-item p, .qm-quote p{ font-family: var(--font-serif); letter-spacing: -0.005em; }
.story-item p{ font-size: 17px; line-height: 1.5; }

/* Vergleich: ohne Zellenlinien, grosse Werte, Programmspalten farbig */
.compare-scroll{ background: transparent; border: 0; box-shadow: none; }
.compare-table{ border-spacing: 0; font-size: 15.5px; }
.compare-table th, .compare-table td{ border-bottom: 1px solid var(--line-soft); padding: 22px 24px; }
.compare-table thead th{ background: transparent; border-bottom: 1px solid var(--line); box-shadow: none; padding: 0 24px 22px; vertical-align: bottom; }
.compare-table thead th.cmp-abm, .compare-table thead th.cmp-hoai, .compare-table thead th.cmp-caio{ box-shadow: none; }
.compare-table thead th a{ font-size: clamp(22px, 2.2vw, 30px); letter-spacing: -0.025em; color: var(--cmp); gap: 8px; }
.compare-table thead th a:hover{ color: var(--ink); }
.cmp-step{ color: var(--ink-faint); }
.compare-table tbody th{ padding-top: 26px; }
.compare-table tbody td{ color: var(--ink-soft); line-height: 1.55; }
.compare-table tbody tr.cmp-big td{ font-size: clamp(24px, 2.4vw, 32px); font-weight: 600; letter-spacing: -0.025em; color: var(--ink); font-variant-numeric: tabular-nums; padding-top: 18px; padding-bottom: 18px; }
.compare-table tbody tr.cmp-big th{ padding-top: 24px; }
.compare-table tbody tr.cmp-price td{ color: var(--cmp); }
.compare-table tr.cmp-cert td{ display: table-cell; }
.compare-table tr.cmp-cert td svg{ color: var(--cmp); vertical-align: -3px; margin-right: 6px; }
.compare-table tfoot td{ padding-top: 26px; border-bottom: 0; }
.compare-table tfoot .cmp-go{ color: var(--ink); background: var(--paper-raised); border: 1px solid var(--line); padding: 12px 20px; }
.compare-table tfoot .cmp-go:hover{ background: var(--cmp); color: #fff; border-color: transparent; }
@media (hover: hover) and (pointer: fine){
  .compare-table tbody tr:hover td{ background: transparent; }
  .compare-table td.cmp-abm:hover, .compare-table td.cmp-hoai:hover, .compare-table td.cmp-caio:hover{ background: color-mix(in srgb, var(--cmp) 6%, transparent); }
}
@media (max-width: 760px){
  .compare-table thead th:first-child{ background: transparent; }
  .compare-table tbody tr.cmp-big td{ font-size: 22px; }
}

/* Laufband auf der Startseite: farbig, groesser, mit Ueberschrift */
.ref-marquee-section{ padding: clamp(72px, 9vw, 120px) 0 clamp(56px, 7vw, 96px); }
.ref-marquee-h2{ font-size: clamp(24px, 3.2vw, 36px); text-align: center; margin: 0 0 40px; padding: 0 24px; }
.ref-marquee-color .ref-marquee-card{ height: 120px; width: 200px; background: #fff; border-color: var(--line-soft); }
.ref-marquee-color .ref-marquee-card{ padding: 18px 26px; }
.ref-marquee-color .ref-marquee-card img{ filter: none; opacity: 1; width: auto; height: auto; max-width: 100%; max-height: 64px; object-fit: contain; }
.ref-marquee-color .ref-marquee-card:hover{ transform: translateY(-4px); box-shadow: 0 22px 36px -26px rgba(27,33,54,0.4); }
.ref-marquee-more{ text-align: center; margin: 32px 0 0; }

/* Programmseiten: keine harten Trennlinien, Phasen mit Geisterziffer */
.phases, .videos, .stages-grid-section, .jury.mentors.mentors-soft, .gallery-section, .coop, .jury + .coop{ border-top: 0; border-bottom: 0; }
.phase-row{ border-top: 0; position: relative; }
.phase-row + .phase-row{ margin-top: 0; }
.phase-text{ position: relative; }
.phase-text::before{
  content: attr(data-num); position: absolute; left: -12px; top: -54px; z-index: 0; pointer-events: none;
  font-family: var(--font-serif); font-weight: 400; font-size: clamp(120px, 14vw, 200px); line-height: 1; letter-spacing: -0.04em;
  color: color-mix(in srgb, var(--accent) 9%, transparent);
}
.phase-text > *{ position: relative; z-index: 1; }
.phase-subs{ padding-top: 12px; }
.info-card{ border: 0; box-shadow: 0 1px 2px rgba(27,33,54,0.04), 0 24px 48px -40px rgba(27,33,54,0.3); }
.phase-sub{ border: 0; box-shadow: 0 1px 2px rgba(27,33,54,0.04), 0 24px 48px -40px rgba(27,33,54,0.3); }
.mbs-block-logo{ height: 56px; }
@media (max-width: 640px){ .phase-text::before{ font-size: 96px; top: -36px; left: -6px; } }


/* ============================================================
   Runde 11: edleres Papier, engere Abstaende, Statements,
   Programmseiten aus einem Guss, Key Facts als Glas
   ============================================================ */

/* Papier: waermer, mit sanftem Verlauf statt flacher Flaeche */
:root{ --bg: #f3eee6; --bg-soft: #ebe4d9; --bg-soft-2: #e2d9cb; --paper-raised: #faf7f1; }
body{ background: var(--bg); background-image: radial-gradient(120% 60% at 50% -10%, #fbf8f2 0%, var(--bg) 55%); background-repeat: no-repeat; background-size: 100% 1400px; }



/* Abstaende: Abschnitte naeher zusammen */
.outcomes{ padding: clamp(64px, 8vw, 96px) 32px clamp(48px, 6vw, 72px); }
.wwd{ padding: clamp(64px, 8vw, 96px) 32px; }
.wwd-points{ margin-top: clamp(28px, 3vw, 40px); }
.mentors{ padding: clamp(72px, 9vw, 112px) 32px; }
.compare{ padding-bottom: clamp(56px, 7vw, 88px); }
.paths{ padding-top: clamp(48px, 6vw, 80px); }
.statement-wide{ padding-top: clamp(32px, 5vw, 64px); }
.ref-marquee-section{ padding: clamp(56px, 7vw, 88px) 0 clamp(40px, 5vw, 64px); }
.story-quotes{ padding-top: clamp(56px, 7vw, 88px); }
.videos{ padding: clamp(64px, 8vw, 96px) 32px clamp(48px, 6vw, 72px); }
.video-grid.is-portrait{ margin-top: 36px; }
.info{ padding: clamp(56px, 7vw, 88px) 32px; }
.phases{ padding-top: clamp(48px, 6vw, 80px); padding-bottom: clamp(32px, 4vw, 56px); }
.phases-head{ margin-bottom: clamp(16px, 2vw, 28px); }
.phase-row{ padding: clamp(28px, 4vw, 48px) 0; }
.timeline{ margin-bottom: clamp(24px, 3vw, 40px); }
.jury.mentors.mentors-soft{ padding-top: clamp(56px, 7vw, 88px); }
.stages-grid-section{ padding: clamp(56px, 7vw, 88px) 32px; }
.stufen-nav{ padding-top: clamp(24px, 4vw, 48px); }
.next-step{ padding-top: clamp(48px, 6vw, 72px); }
.handoff{ padding-bottom: clamp(32px, 4vw, 48px); }

/* Abschluss-Statements: Serife, kursiv, letzter Satz in Programmfarbe */
.outcomes-close{ margin-top: clamp(28px, 4vw, 44px); font-size: clamp(26px, 3vw, 38px) !important; line-height: 1.25; letter-spacing: -0.015em; max-width: 820px; margin-left: auto; margin-right: auto; }
.outcomes-close em{ font-style: italic; color: var(--accent); }
.phase-note{ font-style: italic; }

/* Programmseiten: Hero und MBS-Block als ein Stueck */
.hero-big{ background: transparent; }
.hero-big .hero-glow{ opacity: 0.75; }
.mbs-block{ background: transparent; padding-top: 0; padding-bottom: clamp(40px, 5vw, 64px); }
.mbs-block-inner{ gap: 18px; }
.mbs-block-logo{ height: 64px; width: auto; }
.mbs-block h2{ font-size: clamp(22px, 2.4vw, 30px); max-width: 520px; color: var(--ink-soft); }
.mbs-block-actions{ margin-top: 6px; gap: 10px; }
.mbs-block .btn{ box-shadow: 0 1px 2px rgba(27,33,54,0.08), 0 10px 24px -14px rgba(27,33,54,0.35); }
.btn-secondary{ background: var(--paper-raised); color: var(--ink); border: 1px solid var(--line); }
.btn-secondary:hover{ background: var(--accent); color: #fff; border-color: transparent; }
.mbs-lockup-logo{ height: 72px !important; }
.mbs-lockup-centered .mbs-lockup-logo{ height: 84px !important; }

/* Key Facts: durchscheinende Glasflaeche mit feinem Lichtrand */
.facts-wix{ padding-top: 0; }
.facts-wix-inner{
  background: linear-gradient(135deg, rgba(255,255,255,0.72) 0%, rgba(255,255,255,0.38) 100%);
  border: 1px solid rgba(255,255,255,0.85); box-shadow: 0 1px 0 rgba(255,255,255,0.9) inset, 0 30px 60px -40px rgba(27,33,54,0.45), 0 2px 6px rgba(27,33,54,0.05);
}
.fact-wix{ border-left-color: rgba(27,33,54,0.09); }
.fact-value{ background: linear-gradient(180deg, var(--accent) 0%, color-mix(in srgb, var(--accent) 70%, var(--ink)) 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.fact-wix-link{ background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 14%, transparent), color-mix(in srgb, var(--accent) 6%, transparent)); }
@media (prefers-reduced-transparency: reduce){ .facts-wix-inner{ background: var(--paper-raised); backdrop-filter: none; -webkit-backdrop-filter: none; } }

/* Phasen: nur die grosse Ziffer, Kicker daneben */
.phase-text{ padding-top: clamp(28px, 3vw, 44px); }
.phase-text::before{ top: -8px; left: -6px; color: color-mix(in srgb, var(--accent) 14%, transparent); font-size: clamp(110px, 12vw, 176px); }
.phase-kicker{ padding-left: 0; }
@media (max-width: 640px){ .phase-text::before{ font-size: 88px; top: -4px; } .phase-text{ padding-top: 24px; } }

/* Jury: hervorgehoben als Karte in der Programmfarbe */
.jury.mentors.mentors-soft{ background: transparent; }
.jury .mentors-inner{ background: linear-gradient(160deg, var(--dark) 0%, var(--dark-2) 70%); color: #fff; border-radius: var(--radius-lg); padding: clamp(40px, 5vw, 64px); box-shadow: 0 40px 80px -50px rgba(27,33,54,0.6); }
.jury .paths-eyebrow{ color: var(--accent-on-dark); }
.jury .jury-head h2{ color: #fff; }
.jury .jury-intro p{ color: var(--on-dark-soft); }
.jury .mentor h3{ color: #fff; }
.jury .mentor p{ color: var(--on-dark-faint); }
.jury .mentor-photo{ background: #fff; border-color: rgba(255,255,255,0.15); }
.jury .mentor-photo img{ mix-blend-mode: normal; }
.jury .mentor-rule{ background: var(--accent-bright); }
.jury-quote{ color: rgba(255,255,255,0.78); border-top-color: rgba(255,255,255,0.14); }


/* Hero laeuft weich ins Papier aus, kein Schnitt */
.hero-bg{ mask-image: linear-gradient(to bottom, black 55%, transparent 100%); -webkit-mask-image: linear-gradient(to bottom, black 55%, transparent 100%); }
.hero-big{ padding-bottom: 28px; }
.facts-wix{ padding-top: 8px; }

/* Uebergabe zur offiziellen Website: ruhig, mittig, im Papierton */
.handoff{ padding: 0 32px clamp(40px, 5vw, 64px); }
.handoff-inner{ flex-direction: column; text-align: center; gap: 18px; padding: clamp(28px, 4vw, 44px) 32px; background: transparent; border: 1px solid var(--line); border-left: 1px solid var(--line); border-radius: var(--radius-lg); max-width: 760px; }
.handoff-kicker{ display: block; font-size: 11.5px; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 600; color: var(--accent); margin-bottom: 10px; }
.handoff p{ font-family: var(--font-serif); font-size: clamp(18px, 2vw, 22px); line-height: 1.4; max-width: 620px; }
.handoff p b{ font-weight: 400; color: var(--ink); display: block; }


/* ============================================================
   Runde 12: Original-Logo, Hero mit Fotostreifen, Statement waermer
   ============================================================ */
.nav-logo-img{ height: 22px; width: auto; display: block; }
.footer-logo-img{ height: 20px; width: auto; display: block; }
.hero-brandmark{ height: 14px; width: auto; }
.hero-brandline{ margin-bottom: 22px; }
@media (max-width: 640px){ .nav-logo-img{ height: 18px; } }

/* Fotostreifen unter dem Hero: fuenf schmale Ausschnitte, leicht versetzt */
.hero-stairs{ padding-bottom: 0; }
.hero-strip{ position: relative; z-index: 1; max-width: 1220px; margin: clamp(32px, 4vw, 48px) auto 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; align-items: end; padding-bottom: clamp(24px, 3vw, 40px); }
.hero-strip img{ width: 100%; height: clamp(120px, 15vw, 210px); aspect-ratio: auto; position: static; object-fit: cover; border-radius: var(--radius-md); filter: grayscale(1) sepia(0.12) contrast(1.02); box-shadow: 0 20px 40px -30px rgba(27,33,54,0.5); transition: filter 0.5s ease, transform 0.5s var(--ease-out); }
.hero-strip img:nth-child(2), .hero-strip img:nth-child(4){ height: clamp(140px, 17vw, 240px); }
.hero-strip img:nth-child(3){ height: clamp(160px, 19vw, 270px); }
@media (hover: hover) and (pointer: fine){ .hero-strip img:hover{ filter: grayscale(0) sepia(0); transform: translateY(-4px); } }
@media (max-width: 760px){ .hero-strip{ grid-template-columns: repeat(3, 1fr); gap: 8px; } .hero-strip img:nth-child(n+4){ display: none; } .hero-strip img, .hero-strip img:nth-child(2), .hero-strip img:nth-child(3){ height: 120px; } }

/* Statement: waermer, mit Akzentmarke, dunklerer Nebensatz */
.statement-wide{ position: relative; padding-top: clamp(48px, 6vw, 80px); }
.statement-wide::before{ content: ""; display: block; width: 56px; height: 3px; background: var(--accent); margin: 0 auto 28px; border-radius: 2px; }
.statement-wide p{ color: var(--ink); }
.statement-wide .dim{ color: color-mix(in srgb, var(--accent) 78%, var(--ink)); font-style: italic; }


/* ============================================================
   Runde 13: Hero mit Partnerzeile statt Fotos, Silber-Glas fuer
   Key Facts, Phasen-Ueberschriften staerker
   ============================================================ */
.hero-strip{ display: none; }
.hero-partners{ position: relative; z-index: 1; max-width: 1220px; margin: clamp(32px, 4vw, 52px) auto 0; padding: clamp(22px, 3vw, 32px) 0 clamp(28px, 4vw, 44px); border-top: 1px solid var(--line); display: flex; align-items: center; gap: 28px 40px; flex-wrap: wrap; justify-content: center; }
.hero-partners-label{ font-size: 11.5px; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 600; color: var(--ink-faint); white-space: nowrap; }
.hero-partners-logos{ display: flex; align-items: center; gap: 36px 44px; flex-wrap: wrap; justify-content: center; }
.hero-partners-logos img{ height: 26px; width: auto; max-width: 140px; object-fit: contain; filter: grayscale(1); opacity: 0.6; transition: opacity 0.3s ease, filter 0.3s ease; }
.hero-partners-logos img.hp-mbs{ height: 40px; }
@media (hover: hover) and (pointer: fine){ .hero-partners-logos img:hover{ filter: none; opacity: 1; } }
@media (max-width: 760px){ .hero-partners{ gap: 16px; } .hero-partners-logos{ gap: 20px 28px; } .hero-partners-logos img{ height: 24px; max-width: 110px; } .hero-partners-logos img.hp-mbs{ height: 36px; } }

/* Key Facts: silbernes Glas, wie ein Produkt fotografiert */
.facts-wix-inner{
  position: relative; overflow: hidden; border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.78) 0%, rgba(255,255,255,0.28) 45%, rgba(255,255,255,0.62) 100%),
    linear-gradient(180deg, rgba(27,33,54,0.04) 0%, rgba(27,33,54,0.0) 60%);
  border: 1px solid rgba(255,255,255,0.9);
  box-shadow:
    0 1px 0 rgba(255,255,255,1) inset, 0 -1px 0 rgba(27,33,54,0.06) inset,
    0 40px 80px -48px rgba(27,33,54,0.55), 0 2px 6px rgba(27,33,54,0.05);
}
.facts-wix-inner::before{ content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(115deg, transparent 30%, rgba(255,255,255,0.55) 48%, transparent 62%); mix-blend-mode: screen; }
.facts-wix-inner::after{ content: ""; position: absolute; left: 6%; right: 6%; bottom: -1px; height: 1px; background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--accent) 45%, transparent), transparent); }
.fact-wix{ border-left: 1px solid rgba(27,33,54,0.08); box-shadow: 1px 0 0 rgba(255,255,255,0.6); }
.fact-wix:first-child{ box-shadow: none; }
.fact-value{ background: linear-gradient(180deg, var(--accent) 0%, color-mix(in srgb, var(--accent) 60%, var(--ink)) 100%); -webkit-background-clip: text; background-clip: text; color: transparent; filter: drop-shadow(0 1px 0 rgba(255,255,255,0.7)); }
.fact-label{ color: var(--ink-soft); }
.fact-wix-link{ background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 16%, white), color-mix(in srgb, var(--accent) 6%, transparent)); }

/* Phasen: Ueberschrift praesenter, Ziffer bleibt */
.phase-text h3{ font-size: clamp(26px, 2.9vw, 36px); letter-spacing: -0.025em; }
.phase-kicker{ color: var(--accent); }
.phase-text::before{ color: color-mix(in srgb, var(--accent) 16%, transparent); }


/* ============================================================
   Runde 14: Partnerzeile komplett + verlinkt, mehr Stimmen und
   Mentoren, Key Facts wirklich silbern
   ============================================================ */
.hero-partners{ flex-direction: column; gap: 18px; }
.hero-partners-logos{ gap: 22px 30px; max-width: 1180px; }
.hero-partners-logos a{ display: inline-flex; align-items: center; border-radius: 4px; outline-offset: 4px; }
.hero-partners-logos img{ height: 24px; max-width: 112px; opacity: 0.62; }
.hero-partners-logos img.logo-thalia, .hero-partners-logos img.logo-bfb{ height: 32px; }
.hero-partners-logos img.logo-mid{ height: 30px; }
.hero-partners-logos img.hp-mbs{ height: 38px; }
.hero-partners-note{ margin: 0; font-size: 12.5px; color: var(--ink-faint); }
@media (max-width: 760px){ .hero-partners-logos img{ height: 22px; max-width: 100px; } .hero-partners-logos img.hp-mbs{ height: 32px; } }

/* Zwoelf Mentoren auf dem Dach: zwei Reihen à sechs */
.mentors-grid.mentors-grid-6{ gap: 34px 20px; }

/* Key Facts: silbernes Metall, nicht nur Glas */
.facts-wix-inner{
  background:
    linear-gradient(180deg, rgba(255,255,255,0.92) 0%, rgba(232,229,224,0.85) 100%),
    linear-gradient(115deg, #f7f5f1 0%, #dedad3 30%, #f2efea 52%, #d6d2cb 78%, #efece6 100%);
  background-blend-mode: soft-light, normal;
  border: 1px solid rgba(255,255,255,0.95);
  box-shadow:
    0 1px 0 rgba(255,255,255,1) inset, 0 -1px 0 rgba(27,33,54,0.10) inset, 0 0 0 1px rgba(27,33,54,0.06),
    0 44px 80px -48px rgba(27,33,54,0.6), 0 3px 8px rgba(27,33,54,0.06);
}
.facts-wix-inner::before{ background: linear-gradient(115deg, transparent 20%, rgba(255,255,255,0.75) 40%, transparent 52%, rgba(255,255,255,0.35) 70%, transparent 82%); }
.fact-wix{ border-left: 1px solid rgba(27,33,54,0.10); box-shadow: 1px 0 0 rgba(255,255,255,0.9); }
.fact-value{ font-weight: 700; }
.fact-label{ color: color-mix(in srgb, var(--ink) 75%, var(--ink-soft)); }
.fact-wix-link{ background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 18%, white), color-mix(in srgb, var(--accent) 8%, white)); }


/* ============================================================
   Runde 15: Leistung (fluessiges Scrollen) + englische Zahlenreihe dezenter
   ============================================================ */
/* Einblendungen nur mit Transform+Opacity, kein Filter */
[data-reveal], [data-reveal-stagger] > *{ will-change: auto; }
.hero-orb{ animation: none; }
.hero-glow{ filter: none; }
/* Grosse Fotos: Graustufen ueber CSS ist teuer bei Transitions -> Hover-Farbwechsel nur auf kleinen Kacheln */
.photo-feature img, .divider-photo img, .hook-media img{ transition: none; }

/* Englische ABM-Kopie: Zahlenreihe in Tinte, ruhig, gleiche Groesse wie die deutsche Kennzahlenreihe */
.glance .fact-value{ background: none; -webkit-background-clip: initial; background-clip: initial; color: var(--ink); filter: none; font-size: clamp(24px, 2.8vw, 34px); font-weight: 700; letter-spacing: -0.025em; line-height: 1.1; }
.glance .fact:last-child .fact-value{ color: var(--accent); }
.glance .fact-label{ font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-faint); max-width: 200px; margin: 8px auto 0; }

/* ============================================================
   Runde 16: Mobil — Partner als gleichmaessiges Raster, Kennzahlen in einer Reihe
   ============================================================ */
@media (max-width: 640px){
  .hero-partners-logos{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; width: 100%; }
  .hero-partners-logos a{ display: flex; align-items: center; justify-content: center; height: 52px; padding: 8px 10px; background: var(--paper-raised); border: 1px solid var(--line-soft); border-radius: 12px; }
  .hero-partners-logos img, .hero-partners-logos img.hp-mbs, .hero-partners-logos img.logo-thalia, .hero-partners-logos img.logo-bfb, .hero-partners-logos img.logo-mid{ height: auto; max-height: 30px; width: auto; max-width: 100%; opacity: 0.75; }
  .hero-stairs .hero-stats-wide{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin-top: 32px; padding-top: 22px; }
  .hero-stairs .hero-stats-wide .hero-stat{ padding: 0 6px; border: 0; align-items: center; text-align: center; }
  .hero-stairs .hero-stats-wide .hero-stat + .hero-stat{ border-left: 1px solid var(--line); }
  .hero-stairs .hero-stat-value{ font-size: 30px; display: flex; flex-direction: column; align-items: center; line-height: 1; }
  .hero-stairs .hero-stat-unit{ font-size: 13px; margin: 6px 0 0; }
  .hero-stairs .hero-stat-label{ font-size: 11px; line-height: 1.35; margin-top: 6px; }
}

/* Runde 17 (30.09.): Referenz-Logos auf dem Handy als ruhiges, kompaktes Raster statt Laufband.
   Grosse Kacheln, die seitlich durchlaufen, wirkten auf dem Handy nicht mobiltauglich (David). */
@media (max-width: 640px){
  .ref-marquee{ mask-image:none; -webkit-mask-image:none; overflow:visible; }
  .ref-marquee-rows{ gap:10px; padding:0 16px; }
  .ref-marquee-section .ref-marquee-track,
  .ref-marquee-section .ref-marquee-track.ref-marquee-track-reverse{
    animation:none; transform:none; width:100%; padding:0;
    display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px;
  }
  .ref-marquee-section .ref-marquee-card,
  .ref-marquee-color .ref-marquee-card{
    width:auto; height:64px; padding:10px 12px; border-radius:12px;
    box-shadow:none; transform:none;
  }
  .ref-marquee-section .ref-marquee-card img,
  .ref-marquee-color .ref-marquee-card img{
    height:auto; width:auto; max-width:100%; max-height:30px;
  }
  /* zweite Kopie der Laufband-Logos ausblenden (nur fuer die Endlosschleife da) */
  .ref-marquee-rows > .ref-marquee:first-child .ref-marquee-card:nth-child(n+15),
  .ref-marquee-rows > .ref-marquee:last-child .ref-marquee-card:nth-child(n+14){ display:none; }
  /* Startseite: nur 12 bekannte Logos, der Link fuehrt zu allen 27 */
  .ref-marquee-color .ref-marquee-rows > .ref-marquee .ref-marquee-card:nth-child(n+7){ display:none; }
}
