/* Kurs-Karten mit Motiv (Quelle: kurse.html, 26.10.2026). Genutzt von /all-access. Änderungen an den Karten hier und in kurse.html nachziehen. */
  @font-face { font-family: 'Anton'; font-style: normal; font-weight: 400; font-display: swap;
    src: url('/app/fonts/Anton-normal-400-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+2000-206F, U+20AC, U+2122; }
  @font-face { font-family: 'Cinzel'; font-style: normal; font-weight: 500; font-display: swap;
    src: url('/app/fonts/Cinzel-normal-500-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+2000-206F, U+20AC, U+2122; }
  @font-face { font-family: 'KU Cormorant'; font-style: italic; font-weight: 500; font-display: swap;
    src: url('/app/fonts/CormorantGaramond-italic-500-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+2000-206F, U+20AC, U+2122; }
  @font-face { font-family: 'Instrument Serif'; font-style: normal; font-weight: 400; font-display: swap;
    src: url('/app/fonts/InstrumentSerif-normal-400-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+2000-206F, U+20AC, U+2122; }

  /* ---------- Kurs-Karten ---------- */
  .ku-courses { padding-top: 1rem; }
  .ku-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
  @media (min-width: 640px) { .ku-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.4rem; } }
  @media (min-width: 1080px) { .ku-grid { gap: 1.6rem; } }
  .ku-grid > .scroll-in:nth-child(2n) { transition-delay: 0.08s; }
  
  .ku-card { --acc: 233,199,154; --bg: #1b1638; --ink: #fff; --tfont: var(--font-headline);
    position: relative; isolation: isolate; display: flex; flex-direction: column; overflow: hidden; border-radius: var(--r, 22px);
    background: var(--bg); border: 1px solid rgba(var(--acc), 0.18); color: var(--sp-fg); text-decoration: none !important;
    box-shadow: 0 30px 60px -40px rgba(0,0,0,0.9);
    transition: transform 0.5s cubic-bezier(.2,.7,.2,1), border-color 0.4s ease, box-shadow 0.5s ease, opacity 0.5s ease, filter 0.5s ease; }
  main a.ku-card, main a.ku-card:hover { color: var(--sp-fg); }
  /* Atmendes Licht am unteren Rand der Karte */
  .ku-card::after { content: ''; position: absolute; z-index: -1; left: 50%; bottom: -40%; width: 120%; height: 70%; translate: -50% 0; border-radius: 50%;
    background: radial-gradient(closest-side, rgba(var(--acc), 0.16), rgba(var(--acc), 0)); pointer-events: none;
    animation: ku-breathe 7s ease-in-out infinite; animation-delay: var(--bd, 0s); }
  @media (hover: hover) {
    .ku-card:hover { transform: translateY(-6px); border-color: rgba(var(--acc), 0.55); box-shadow: 0 40px 80px -40px rgba(0,0,0,0.95), 0 0 60px -20px rgba(var(--acc), 0.45); }
    .ku-card:hover .ku-art > img { scale: 1.06; }
    .ku-card:hover .ku-go { gap: 0.8rem; }
  }
  .ku-card:focus-visible { outline: 2px solid rgb(var(--acc)); outline-offset: 4px; }
  .ku-card.is-dim { opacity: 0.38; filter: saturate(0.4); }
  .ku-card.is-match { border-color: rgba(var(--acc), 0.7); box-shadow: 0 0 0 1px rgba(var(--acc), 0.35), 0 0 70px -18px rgba(var(--acc), 0.55); }
  .ku-card.is-pop { animation: ku-pop 0.6s cubic-bezier(.2,.7,.2,1); }
  @keyframes ku-pop { from { transform: translateY(14px); opacity: 0.4; } to { transform: none; opacity: 1; } }

  .ku-art { position: relative; overflow: hidden; aspect-ratio: 16 / 10; background: var(--bg); }
  @media (min-width: 640px) { .ku-art { aspect-ratio: 5 / 4; } }
  .ku-art > * { position: absolute; }
  .ku-art > img { inset: 0; width: 100%; height: 100%; object-fit: cover; transition: scale 1.2s cubic-bezier(.2,.7,.2,1); }
  .ku-art::after { content: ''; position: absolute; inset: 0; z-index: 3; background: linear-gradient(180deg, rgba(0,0,0,0) 55%, var(--bg) 100%); pointer-events: none; }

  .ku-body { position: relative; z-index: 4; display: flex; flex-direction: column; flex: 1; padding: 0.2rem 1.4rem 1.4rem; }
  @media (min-width: 768px) { .ku-body { padding: 0.2rem 1.6rem 1.6rem; } }
  .ku-kick { font-family: var(--sp-mono); font-size: 0.66rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: rgb(var(--acc)); }
  .ku-title { margin: 0.5rem 0 0.7rem; font-family: var(--tfont); font-weight: var(--tw, 700); font-size: var(--ts, 1.9rem); line-height: 1.02; letter-spacing: var(--tt, -0.02em); text-transform: var(--tc, none); font-style: var(--ti, normal); color: var(--ink); }
  .ku-text { margin: 0 0 1.25rem; font-size: 0.98rem; line-height: 1.65; color: var(--sp-fg); }
  .ku-foot { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-top: auto; padding-top: 1rem; border-top: 1px solid rgba(255,255,255,0.08); }
  .ku-price { font-family: var(--font-headline); font-weight: 700; font-size: 1.15rem; color: #fff; line-height: 1.2; }
  .ku-price small { display: block; font-family: var(--font-body, 'Work Sans'), sans-serif; font-weight: 400; font-size: 0.8rem; color: var(--sp-mute); }
  .ku-go { display: inline-flex; align-items: center; gap: 0.5rem; flex: 0 0 auto; padding: 0.7rem 1.05rem; border-radius: 999px; background: rgb(var(--acc)); color: var(--go-ink, #1a1233);
    font-family: var(--font-headline); font-weight: 700; font-size: 0.92rem; white-space: nowrap; transition: gap 0.3s ease; }
  .ku-go svg { width: 14px; height: 14px; }

  /* Sternenstaub, von mehreren Motiven geteilt */
  .ku-dust { inset: 0; z-index: 1; pointer-events: none;
    background-image:
      radial-gradient(1px 1px at 12% 18%, #fff 50%, transparent 52%), radial-gradient(1px 1px at 82% 12%, rgba(255,255,255,0.8) 50%, transparent 52%),
      radial-gradient(1.5px 1.5px at 70% 64%, #fff 50%, transparent 52%), radial-gradient(1px 1px at 22% 58%, rgba(255,255,255,0.8) 50%, transparent 52%),
      radial-gradient(1px 1px at 90% 44%, rgba(255,255,255,0.7) 50%, transparent 52%), radial-gradient(1.5px 1.5px at 38% 8%, #fff 50%, transparent 52%),
      radial-gradient(1px 1px at 8% 82%, rgba(255,255,255,0.6) 50%, transparent 52%), radial-gradient(1px 1px at 60% 26%, rgba(255,255,255,0.75) 50%, transparent 52%);
    animation: ku-twinkle 6s ease-in-out infinite; }
  @keyframes ku-twinkle { 0%, 100% { opacity: 0.45; } 50% { opacity: 1; } }

  /* ===== Inner Winner Zone: Schwarz, Weiß, Volt ===== */
  .ku-card--iwz { --acc: 212,255,58; --bg: #0a0a0a; --r: 8px; --tfont: 'Anton', Impact, sans-serif; --tw: 400; --ts: 2.5rem; --tt: 0.01em; --tc: uppercase; --go-ink: #0a0a0a; border-color: #262626; }
  .ku-card--iwz .ku-go { border-radius: 4px; text-transform: uppercase; letter-spacing: 0.04em; }
  .ku-art--iwz > img { object-position: 30% 38%; filter: grayscale(1) contrast(1.15) brightness(0.62); }
  .ku-art--iwz::before { content: ''; position: absolute; inset: 0; z-index: 1; background: repeating-linear-gradient(0deg, rgba(255,255,255,0.05) 0 1px, transparent 1px 22px); }
  .ku-iwz-zone { right: -6px; top: 4px; z-index: 2; font-family: 'Anton', Impact, sans-serif; font-style: normal; font-size: clamp(96px, 30cqi, 150px); line-height: 0.85;
    color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,0.32); animation: ku-zone 14s ease-in-out infinite alternate; }
  .ku-art--iwz { container-type: inline-size; }
  @keyframes ku-zone { from { translate: 0 0; } to { translate: -18px 0; } }
  .ku-iwz-slash { inset: 0; z-index: 2; background: linear-gradient(102deg, transparent 0 60%, #d4ff3a 60% 62.4%, transparent 62.4% 65%, rgba(212,255,58,0.35) 65% 66%, transparent 66%);
    -webkit-mask: linear-gradient(180deg, #000 0 70%, transparent); mask: linear-gradient(180deg, #000 0 70%, transparent); }
  .ku-iwz-slash::after { content: ''; position: absolute; inset: 0; background: linear-gradient(102deg, transparent 0 40%, rgba(255,255,255,0.55) 50%, transparent 60%);
    background-size: 300% 100%; background-position: 120% 0; mix-blend-mode: overlay; animation: ku-sheen 6s ease-in-out infinite; }
  @keyframes ku-sheen { 0%, 55% { background-position: 120% 0; } 100% { background-position: -40% 0; } }

  /* ===== Chakrenreise: Lichtsäule von der Wurzel zur Krone ===== */
  .ku-card--ck { --acc: 242,201,76; --bg: #1a1120; --tfont: 'KU Cormorant', 'Cormorant Garamond', Georgia, serif; --tw: 500; --ts: 2.5rem; --ti: italic; --tt: 0; --go-ink: #1a1120; border-color: rgba(255,236,214,0.14); }
  .ku-art--ck { background:
      radial-gradient(circle at 50% 22%, rgba(168,109,219,0.42), transparent 36%),
      radial-gradient(circle at 50% 82%, rgba(226,72,61,0.34), transparent 40%),
      radial-gradient(circle at 50% 52%, rgba(93,187,122,0.18), transparent 34%),
      linear-gradient(180deg, #24152e, #1a1120 60%, #140c18); }
  .ku-ck-col { left: 50%; top: 9%; bottom: 13%; width: 26px; margin-left: -13px; z-index: 2; display: flex; flex-direction: column; justify-content: space-between; align-items: center; }
  .ku-ck-col::before { content: ''; position: absolute; left: 50%; top: 6px; bottom: 6px; width: 2px; margin-left: -1px; opacity: 0.6;
    background: linear-gradient(180deg, #a86ddb, #767ce2, #4fa6dc, #5dbb7a, #f2c94c, #f08a3a, #e8524a); }
  .ku-ck-col i { position: relative; width: 16px; height: 16px; border-radius: 50%; background: var(--c); box-shadow: 0 0 14px var(--c), 0 0 0 4px rgba(255,255,255,0.04);
    animation: ku-chakra 7s ease-in-out infinite; animation-delay: calc(var(--n) * -0.7s); }
  @keyframes ku-chakra { 0%, 100% { scale: 0.8; filter: brightness(0.85); } 50% { scale: 1.35; filter: brightness(1.25); } }
  .ku-ck-halo { left: 50%; top: 50%; width: 70%; aspect-ratio: 1; translate: -50% -50%; z-index: 1; border-radius: 50%;
    border: 1px solid rgba(255,236,214,0.08); box-shadow: inset 0 0 60px rgba(168,109,219,0.12); animation: ku-breathe 7s ease-in-out infinite; }

  /* ===== Manifestation Mastery: Kosmos, Warmgold ===== */
  .ku-card--mm { --acc: 232,194,122; --bg: #05040a; --tfont: 'Cinzel', 'Times New Roman', serif; --tw: 500; --ts: 1.75rem; --tt: 0.03em; --go-ink: #05040a; border-color: rgba(232,194,122,0.26); }
  .ku-card--mm .ku-title { background: linear-gradient(180deg, #fff1cf, #e8c27a); -webkit-background-clip: text; background-clip: text; color: transparent; }
  .ku-card--mm .ku-go { background: linear-gradient(135deg, #fff1cf, #e8c27a 55%, #a77b34); }
  .ku-art--mm { background: radial-gradient(ellipse at 50% 120%, #1a1622, #05040a 70%); }
  .ku-art--mm > img { object-position: 50% 45%; opacity: 0.42; filter: saturate(0.75) sepia(0.35); }
  .ku-mm-rays { left: 50%; top: 42%; width: 220%; aspect-ratio: 1; translate: -50% -50%; z-index: 1;
    background: repeating-conic-gradient(from 0deg, rgba(243,220,156,0.26) 0 1.2deg, transparent 1.2deg 14deg);
    -webkit-mask: radial-gradient(circle, #000 3%, transparent 34%); mask: radial-gradient(circle, #000 3%, transparent 34%);
    animation: ku-spin 120s linear infinite; }
  @keyframes ku-spin { to { rotate: 360deg; } }
  .ku-mm-core { left: 50%; top: 42%; width: 46%; aspect-ratio: 1; translate: -50% -50%; z-index: 2; border-radius: 50%;
    background: radial-gradient(circle, #fff 0 2%, rgba(255,236,190,0.95) 5%, rgba(232,194,122,0.55) 14%, rgba(167,123,52,0.2) 40%, transparent 66%);
    animation: ku-breathe 7s ease-in-out infinite; }

  /* ===== Schlafkurs: Nacht, Mondlicht ===== */
  .ku-card--sk { --acc: 230,211,179; --bg: #0f0c21; --tfont: 'Instrument Serif', Georgia, serif; --tw: 400; --ts: 2.5rem; --tt: -0.01em; --go-ink: #15112c; border-color: rgba(230,211,179,0.15); }
  .ku-art--sk { background: linear-gradient(180deg, #1a1538 0%, #0f0c21 70%); }
  .ku-art--sk > img { object-position: 40% 40%; filter: brightness(0.7) saturate(0.8) hue-rotate(-8deg); animation: ku-float 10s ease-in-out infinite; inset: -4% 0; height: 108%; }
  @keyframes ku-float { 0%, 100% { translate: 0 0; } 50% { translate: 0 -8px; } }
  .ku-art--sk::before { content: ''; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(15,12,33,0.55) 0%, rgba(15,12,33,0.05) 40%, rgba(15,12,33,0.2) 70%); }
  .ku-sk-moon { right: 14%; top: 13%; z-index: 2; width: 42px; height: 42px; border-radius: 50%; box-shadow: inset -9px 5px 0 0 #e6d3b3;
    filter: drop-shadow(0 0 12px rgba(230,211,179,0.45)); rotate: -12deg; animation: ku-moon 7s ease-in-out infinite; }
  @keyframes ku-moon { 0%, 100% { scale: 0.92; filter: drop-shadow(0 0 8px rgba(230,211,179,0.25)); } 50% { scale: 1.05; filter: drop-shadow(0 0 22px rgba(230,211,179,0.65)); } }
  /* Wal-Loop (Schwanzflosse bewegt sich, Fabian 14.10.2026), lädt erst, wenn die Karte ins Bild kommt; Mond raus */
  .ku-art--sk > video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 28% 40%;
    filter: brightness(0.7) saturate(0.8) hue-rotate(-8deg); opacity: 0; transition: opacity 1s ease; }
  .ku-art--sk.is-playing > video { opacity: 1; }
  .ku-art--sk .ku-dust { z-index: 1; -webkit-mask: linear-gradient(180deg, #000 0 45%, transparent 60%); mask: linear-gradient(180deg, #000 0 45%, transparent 60%); }

  /* ===== Essentials: Hauptmarke pur, offener Ring ===== */
  .ku-card--es { --acc: 233,199,154; --bg: #14102a; --ts: 2.2rem; }
  .ku-art--es { background: radial-gradient(circle at 50% 46%, rgba(183,156,255,0.3), transparent 52%), linear-gradient(180deg, #1d1738, #14102a); }
  .ku-es-ring { left: 50%; top: 46%; height: 58%; aspect-ratio: 1; translate: -50% -50%; z-index: 2; border-radius: 50%;
    background: conic-gradient(from 30deg, transparent 0 18deg, #E9C79A 18deg 342deg, transparent 342deg);
    -webkit-mask: radial-gradient(circle, transparent 62%, #000 63% 69%, transparent 70%); mask: radial-gradient(circle, transparent 62%, #000 63% 69%, transparent 70%);
    filter: drop-shadow(0 0 10px rgba(233,199,154,0.5)); animation: ku-spin 40s linear infinite; }
  .ku-es-orbit { left: 50%; top: 46%; height: 58%; aspect-ratio: 1; translate: -50% -50%; z-index: 2; animation: ku-spin 26s linear infinite reverse; }
  .ku-es-orbit b { position: absolute; width: 9px; height: 9px; margin: -4.5px 0 0 -4.5px; border-radius: 50%; background: #fff3dc; box-shadow: 0 0 12px #E9C79A; }
  .ku-es-orbit b:nth-child(1) { left: 50%; top: 0; }
  .ku-es-orbit b:nth-child(2) { left: 93.3%; top: 75%; }
  .ku-es-orbit b:nth-child(3) { left: 6.7%; top: 75%; }
  .ku-es-glow { left: 50%; top: 46%; width: 40%; aspect-ratio: 1; translate: -50% -50%; z-index: 1; border-radius: 50%;
    background: radial-gradient(circle, rgba(183,156,255,0.4), transparent 70%); animation: ku-breathe 7s ease-in-out infinite; }

  /* ===== Der Direkte Weg: Steg in den Abend ===== */
  .ku-card--dw { --acc: 236,197,143; --bg: #14102a; --ts: 2.2rem; }
  .ku-art--dw { background: radial-gradient(ellipse 70% 30% at 50% 40%, rgba(240,168,107,0.5), transparent 70%), linear-gradient(180deg, #2a1f45 0%, #1c1538 40%, #14102a 60%); perspective: 260px; }
  .ku-dw-sun { left: 50%; top: 40%; width: 34%; aspect-ratio: 2 / 1; translate: -50% -100%; z-index: 1; border-radius: 999px 999px 0 0;
    background: radial-gradient(circle at 50% 100%, #ffd9a8 0 18%, rgba(240,168,107,0.7) 34%, rgba(240,168,107,0) 70%); animation: ku-breathe 7s ease-in-out infinite; }
  .ku-dw-horizon { left: 0; right: 0; top: 40%; height: 1px; z-index: 1; background: linear-gradient(90deg, transparent, rgba(236,197,143,0.55), transparent); }
  .ku-dw-sea { left: 0; right: 0; top: 40%; bottom: 0; z-index: 0; background: repeating-linear-gradient(180deg, rgba(240,168,107,0.07) 0 1px, transparent 1px 9px); }
  .ku-dw-steg { left: 50%; bottom: 0; width: 48%; height: 330%; margin-left: -24%; z-index: 2; transform-origin: 50% 100%; transform: rotateX(80deg);
    background: repeating-linear-gradient(180deg, rgba(236,197,143,0.75) 0 7px, rgba(42,31,69,0.9) 7px 10px);
    border-left: 2px solid rgba(236,197,143,0.5); border-right: 2px solid rgba(236,197,143,0.5);
    -webkit-mask: linear-gradient(0deg, #000 40%, transparent 100%); mask: linear-gradient(0deg, #000 40%, transparent 100%);
    animation: ku-walk 4s linear infinite; }
  @keyframes ku-walk { to { background-position: 0 40px; } }

  @media (prefers-reduced-motion: reduce) {
    .ku-art--sk > video { display: none; }
    .ku-sky i, .ku-card::after, .ku-dust, .ku-iwz-zone, .ku-iwz-slash::after, .ku-ck-col i, .ku-ck-halo, .ku-mm-rays, .ku-mm-core,
    .ku-art--sk > img, .ku-es-ring, .ku-es-orbit, .ku-es-glow, .ku-dw-sun, .ku-dw-steg, .ku-pro .ku-art::before,
    .ku-hero .sp-eyebrow, .ku-hero .sp-h1, .ku-hero .sp-lead, .ku-hero .ku-facts, .ku-card.is-pop { animation: none; }
    .ku-card, .ku-art > img, .ku-chip, .ku-go { transition: none; }
    .ku-card:hover { transform: none; }
    .ku-card:hover .ku-art > img { scale: none; }
  }
  /* Mobil-Pruefung 08.10.2026 */

/* Atem-Shots: Atemkreis weitet sich, hält, schließt sich */
.ku-art--as { background: radial-gradient(ellipse at 50% 55%, #241a3d, #0d0a1c 75%); }
.ku-as-ring { left: 50%; top: 50%; width: 46%; aspect-ratio: 1; translate: -50% -50%; z-index: 2; border-radius: 50%; border: 1px solid rgba(233,199,154,0.5); }
.ku-as-core { left: 50%; top: 50%; width: 46%; aspect-ratio: 1; translate: -50% -50%; z-index: 2; border-radius: 50%;
  background: radial-gradient(closest-side, #f6dfbd, #E9C79A 55%, rgba(233,199,154,0.15)); box-shadow: 0 0 60px rgba(233,199,154,0.45);
  animation: ku-as-breathe 9s ease-in-out infinite; }
@keyframes ku-as-breathe { 0% { scale: 0.45; } 40%, 60% { scale: 1; } 100% { scale: 0.45; } }
@media (prefers-reduced-motion: reduce) { .ku-as-core { animation: none; } }
