  :root { --glass-bg: rgba(255,255,255,0.16); --glass-blur: 14px; --glass-border: rgba(255,255,255,0.4); }
  html { scroll-behavior: smooth; }
  body { background: var(--surface-page); }
  .impulse-link { transition: gap var(--dur-base) var(--ease-out); }
  .impulse-link:hover { gap: 0.7rem; }
  .pf-copy { text-wrap: pretty; }
  /* Gentle hover lift on the "Was ist PERMAfit®" + Learning Journey cards (matches .glass-card in Impulse) */
  .about-grid > .reveal > .sc-host-x,
  .impulse-teasers > .reveal > .sc-host-x,
  .journey-cards > .sc-host-x { transition: transform var(--dur-base) var(--ease-out); }
  .about-grid > .reveal > .sc-host-x:hover,
  .impulse-teasers > .reveal > .sc-host-x:hover,
  .journey-cards > .sc-host-x:hover { transform: translateY(-4px); }
  .cta-grad-strong a, .cta-grad-strong button { background: #fff !important; mix-blend-mode: screen; box-shadow: none !important; }
  .cta-grad-strong a > *, .cta-grad-strong button > * { background: none !important; color: #000 !important; -webkit-text-fill-color: #000 !important; }
  .cta-pill, .btn-glass, .outline-cta, .cta-grad-warm, .pf-btn { text-transform: uppercase; }
  .pf-btn { letter-spacing: 0.04em; }
  /* Hero + reveal motion */
  .hero-rise { opacity:0; transform:translateY(16px); transition:opacity 0.85s var(--ease-out), transform 0.85s var(--ease-out); }
  .hero-rise.in { opacity:1; transform:none; }
  .hero-rise.reveal-glass { opacity:1; transition:transform 0.85s var(--ease-out); }

  /* Milchglas: opacity-Animation schaltet backdrop-filter ab -> nur Bewegung animieren */
  .reveal.reveal-glass { opacity:1; transition:transform 0.8s var(--ease-out); }
  /* ===== Was ist PERMAfit® — Knowing→Doing bridge ===== */
  .about-hook { font-family:var(--font-display); font-size:var(--fs-h2); line-height:1.1; letter-spacing:var(--ls-display); color:var(--text-strong); margin:var(--space-4) 0 0; text-wrap:balance; }
  .about-hook .hook-2 { display:block; color:var(--text-muted); }
  .about-bridge { display:grid; grid-template-columns:1fr auto 1fr; align-items:stretch; gap:clamp(0.5rem, 2vw, 1.75rem); margin:clamp(3.25rem, 6vw, 5rem) auto 0; max-width:820px; }
  .about-bridge.reveal { opacity:1; transform:none; transition:none; }
  .bridge-block { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:0.4rem; padding:clamp(1.25rem,2.4vw,1.9rem) clamp(0.9rem,2.5vw,1.75rem); border-radius:var(--radius-lg); border:1px solid var(--border-faint); background:var(--surface-page); box-shadow:var(--shadow-sm); text-align:center; }
  .bridge-block .bb-cap { font-family:var(--font-body); font-weight:600; font-size:var(--fs-caption); letter-spacing:0.14em; text-transform:uppercase; color:var(--text-muted); }
  .bridge-block .bb-word { font-family:var(--font-display); font-size:clamp(1.5rem, 1.1rem + 1.4vw, 2.15rem); letter-spacing:var(--ls-display); line-height:1; }
  .bridge-from .bb-word { color:var(--text-strong); }
  .bridge-to .bb-word { color:var(--text-strong); }
  .bridge-connector { position:relative; display:flex; align-items:center; justify-content:center; min-width:clamp(168px, 26vw, 260px); }
  .bridge-line { position:absolute; left:-2px; right:-2px; top:50%; height:3px; transform:translateY(-50%); border-radius:2px; background:var(--pf-magenta); }
  .bridge-mark { position:relative; z-index:1; align-self:stretch; display:inline-flex; align-items:center; justify-content:center; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-glow); }
  .bridge-mark .bm-img { display:block; width:clamp(172px,27vw,210px); height:100%; object-fit:cover; object-position:center; }
  /* gap-close choreography (only transform/opacity) */
  .about-bridge .bridge-from, .about-bridge .bridge-to { transition:transform 0.9s var(--ease-out); }
  .about-bridge .bridge-from { transform:translateX(-54px); }
  .about-bridge .bridge-to { transform:translateX(54px); }
  .about-bridge.in .bridge-from, .about-bridge.in .bridge-to { transform:translateX(0); }
  .about-bridge .bridge-line { transform:translateY(-50%) scaleX(0); transform-origin:center; transition:transform 0.85s var(--ease-out) 0.15s; }
  .about-bridge.in .bridge-line { transform:translateY(-50%) scaleX(1); }
  .about-bridge .bridge-mark { opacity:0; transform:scale(0.82); transition:opacity 0.6s var(--ease-out) 0.5s, transform 0.6s var(--ease-out) 0.5s; }
  .about-bridge.in .bridge-mark { opacity:1; transform:scale(1); }
  /* pillar chips */
  .about-chips { display:flex; flex-wrap:wrap; justify-content:center; align-items:flex-start; gap:clamp(0.7rem,2vw,1.4rem); margin-top:clamp(2rem,4vw,3rem); }
  .about-chip-col { display:flex; flex-direction:column; align-items:center; gap:0.65rem; }
  .about-chip { display:inline-flex; align-items:center; gap:0.55rem; padding:0.55rem 1.15rem 0.55rem 0.6rem; border-radius:var(--radius-pill); background:var(--surface-page); border:1px solid var(--border-faint); box-shadow:var(--shadow-xs); font-family:var(--font-body); font-weight:600; font-size:var(--fs-small); color:var(--text-strong); white-space:nowrap; }
  .about-chip .chip-ic { display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:9px; color:#fff; flex:0 0 auto; }
  @media (max-width:620px) {
    .about-bridge { grid-template-columns:1fr; justify-items:center; gap:28px; max-width:340px; }
    .bridge-block { width:100%; }
    .bridge-connector { width:auto; min-width:0; height:74px; }
    .about-bridge .bridge-line { left:50%; right:auto; top:-7px; bottom:-7px; width:3px; height:auto; transform:translateX(-50%) scaleY(0); transform-origin:top center; }
    .about-bridge.in .bridge-line { transform:translateX(-50%) scaleY(1); }
    .about-bridge .bridge-from { transform:translateY(-34px); }
    .about-bridge .bridge-to { transform:translateY(34px); }
    .about-bridge.in .bridge-from, .about-bridge.in .bridge-to { transform:translateY(0); }
  }
  @media (prefers-reduced-motion: reduce) {
    html { scroll-behavior:auto; }
    .hero-rise, .reveal { opacity:1 !important; transform:none !important; transition:none !important; }
    .journey-station.reveal { transform:translate(-50%, -50%) !important; }
    #hero-depth, #hero-veil { transform:none !important; }
    .about-bridge .bridge-from, .about-bridge .bridge-to, .about-bridge .bridge-mark { transform:none !important; opacity:1 !important; transition:none !important; }
    .about-bridge .bridge-line { transform:translateY(-50%) scaleX(1) !important; transition:none !important; }
  }
  .prog-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:var(--space-4); margin-top:var(--space-8); align-items:stretch; }
  .prog-grid > .reveal { min-width:0; grid-template-columns:minmax(0, 1fr); }
  .prog-grid .sc-host-x { min-width:0; }
  @media (max-width: 1080px) { .prog-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); } }
  @media (max-width: 768px) { .prog-grid { grid-template-columns:1fr; } }
  @media (max-width: 768px) { .hero-cards { grid-template-columns:1fr !important; } }
  .trainer-grid { grid-template-columns:1.1fr 1fr; grid-template-rows:1fr auto; grid-template-areas:"intro facts" "cta facts"; }
  .trainer-intro { grid-area:intro; }
  .trainer-cta { grid-area:cta; margin-top:auto; padding-top:var(--space-6); }
  .trainer-facts { grid-area:facts; }
  @media (max-width: 820px) { .trainer-grid { grid-template-columns:1fr; grid-template-rows:auto; grid-template-areas:"intro" "facts" "cta"; } .trainer-cta { margin-top:0; } .trainer-intro p { max-width:100% !important; } }
  /* Trust band */
  .trust-metrics { display:grid; grid-template-columns:repeat(4, 1fr); gap:clamp(1rem, 3vw, 3rem); max-width:1080px; margin:0 auto; }
  .pf-count { white-space:nowrap; padding-block:0.14em; margin-block:-0.14em; }
  .trust-metric + .trust-metric { position:relative; }
  .trust-metric + .trust-metric::before { content:""; position:absolute; left:0; top:12%; bottom:12%; width:1px; background:var(--border-faint); }
  @media (max-width: 900px) { .trust-metrics { grid-template-columns:repeat(2, 1fr); max-width:520px; } }
  @media (max-width: 640px) {
    .trust-metrics { gap:var(--space-6); }
    .trust-metric + .trust-metric::before { display:none; }
  }
  .trust-viewport { overflow:hidden; -webkit-mask-image:linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); mask-image:linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); }
  .trust-marquee { display:flex; width:max-content; animation:pf-marquee 90s linear infinite; will-change:transform; }
  .trust-marquee:hover { animation-play-state:paused; }
  .trust-group { display:flex; align-items:center; }
  .trust-cell { flex:0 0 auto; display:flex; align-items:center; justify-content:center; padding-inline:clamp(1.6rem, 3.2vw, 3.2rem); }
  @keyframes pf-marquee { from { transform:translateX(0); } to { transform:translateX(-50%); } }
  @media (prefers-reduced-motion: reduce) { .trust-marquee { animation-duration:90s !important; animation-iteration-count:infinite !important; } }
  /* App-Showcase */
  .app-grid { display:grid; grid-template-columns:1.05fr 1fr; gap:clamp(2rem, 4.5vw, 5rem); align-items:center; }
  @media (max-width: 860px) {
    .app-grid { grid-template-columns:1fr; gap:clamp(2.25rem, 8vw, 3.5rem); }
    .app-visual-wrap { order:-1; max-width:520px; margin-inline:auto; }
  }
  /* Learning Journey */
  .journey-mobile { display:none; }
  .journey-path-zone { position:relative; height:clamp(210px, 25vw, 262px); }
  .journey-svg { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
  .journey-line { fill:none; stroke:url(#journeyGrad); stroke-width:2; stroke-linecap:round; }
  .journey-station { position:absolute; transform:translate(-50%, -50%); }
  /* Keep station centering intact through the reveal animation (reveal.in would otherwise reset transform to none) */
  .journey-station.reveal { transform:translate(-50%, calc(-50% + 14px)); }
  .journey-station.reveal.in { transform:translate(-50%, -50%); }
  .journey-dot { width:20px; height:20px; border-radius:50%; background:var(--pf-gradient); box-shadow:0 0 0 6px var(--surface-page), 0 6px 16px rgba(21,19,26,0.18); }
  .journey-label { position:absolute; left:50%; transform:translateX(-50%); bottom:calc(100% + 16px); width:max-content; max-width:200px; white-space:normal; text-align:center; text-wrap:balance; }
  .journey-label .jl-title { font-family:var(--font-display); font-size:clamp(1.02rem, 0.9rem + 0.5vw, 1.3rem); letter-spacing:var(--ls-display); color:var(--text-strong); line-height:1.14; }
  .journey-glyph { position:relative; z-index:1; width:52px; height:52px; border-radius:15px; display:flex; align-items:center; justify-content:center; gap:5px; background:linear-gradient(135deg, #FFC52E 0%, #FF8A00 33%, #C2187A 66%, #6A3CFF 100%); box-shadow:0 8px 22px rgba(21,19,26,0.20); }
  .journey-glyph .jg-bar { width:7px; height:22px; border-radius:4px; background:#FFFFFF; }
  @media (max-width: 860px) {
    .journey-desktop { display:none; }
    .journey-mobile { display:block; }
  }
  /* Mobile vertical timeline */
  .journey-vtimeline { position:relative; padding-left:calc(20px + var(--space-5)); }
  .journey-vtimeline::before { content:""; position:absolute; left:9px; top:10px; bottom:10px; width:2px; background:linear-gradient(var(--pf-blue), var(--pf-violet), var(--pf-magenta)); border-radius:2px; }
  .journey-vstation { position:relative; padding-bottom:var(--space-6); }
  .journey-vstation:last-child { padding-bottom:0; }
  .journey-vstation::before { content:""; position:absolute; left:calc(-1 * (20px + var(--space-5)) + 1px); top:4px; width:18px; height:18px; border-radius:50%; background:var(--pf-gradient); box-shadow:0 0 0 4px var(--surface-page); }
  .journey-vstation .jv-title { font-family:var(--font-display); font-size:var(--fs-h4); letter-spacing:var(--ls-display); color:var(--text-strong); line-height:1.12; }
  .journey-vstation .jv-sub { font-family:var(--font-body); font-size:var(--fs-caption); color:var(--text-muted); margin-top:0.2rem; }
  .journey-vstation.has-glyph::before { display:none; }
  .journey-vstation.has-glyph .jv-title { min-height:36px; display:flex; align-items:center; }
  .journey-vglyph { position:absolute; left:calc(-1 * (30px + var(--space-5))); top:-2px; width:40px; height:40px; border-radius:11px; display:flex; align-items:center; justify-content:center; gap:4px; background:linear-gradient(135deg, #FFC52E 0%, #FF8A00 33%, #C2187A 66%, #6A3CFF 100%); box-shadow:0 6px 16px rgba(21,19,26,0.18); }
  .journey-vglyph .jg-bar { width:5.5px; height:17px; border-radius:3px; background:#FFFFFF; }
  /* Learning Journey – supporting image band */
  .journey-band { display:grid; grid-template-columns:1.45fr 0.9fr 1.25fr; gap:clamp(10px, 1.2vw, 16px); margin-top:var(--space-7); }
  .journey-band .jb-item { margin:0; border-radius:var(--radius-lg); overflow:hidden; height:clamp(175px, 16vw, 215px); box-shadow:0 6px 20px rgba(21,19,26,0.06); }
  .journey-band img { width:100%; height:100%; object-fit:cover; object-position:center center; display:block; }
  @media (max-width:899px){
    .journey-band { grid-template-columns:repeat(2, minmax(0, 1fr)); }
    .journey-band .jb-item:first-child { grid-column:1 / -1; height:210px; }
    .journey-band .jb-item:not(:first-child) { height:175px; }
  }
  @media (max-width:599px){
    .journey-band .jb-item:first-child { height:clamp(165px, 48vw, 205px); }
    .journey-band .jb-item:not(:first-child) { height:clamp(130px, 36vw, 165px); }
  }
  @media (max-width:379px){
    .journey-band { grid-template-columns:1fr; }
    .journey-band .jb-item:not(:first-child) { height:clamp(140px, 40vw, 170px); }
  }
  /* Impulse teasers */
  .impulse-teasers { display:grid; grid-template-columns:repeat(3, 1fr); gap:var(--space-4); margin-top:var(--space-8); }
  @media (max-width:820px){ .impulse-teasers { grid-template-columns:1fr; max-width:460px; margin-inline:auto; } }
  .impulse-slot { width:100%; height:170px; display:block; margin-bottom:var(--space-5); }
  /* Hero-tile whole-card overlay link (no nested <a>) */
  .hero-tile-link { position:absolute; inset:0; z-index:0; border-radius:inherit; }
  @media (max-width: 640px) {
    .trust-metrics { grid-template-columns:minmax(0,1fr) !important; gap:0 !important; max-width:440px !important; }
    .trust-metric { flex-direction:row !important; align-items:center !important; text-align:left !important; gap:var(--space-4); padding:var(--space-4) 0 !important; border-top:1px solid var(--border-faint); }
    .trust-metric:last-child { border-bottom:1px solid var(--border-faint); }
    .trust-metric .pf-count { font-size:1.75rem !important; flex:0 0 8.5rem; min-width:8.5rem; }
    .trust-metric > div:last-child { margin-top:0 !important; max-width:none !important; min-width:0; flex:1 1 auto; overflow-wrap:break-word; hyphens:auto; }
    .trust-metric + .trust-metric::before { display:none; }
  }
