/*
Theme Name: TipTop-KI Cinema
Theme URI: https://tiptop-ki.de
Author: Jürgen Henne
Author URI: https://tiptop-ki.de
Description: Cinema-Stage B2B Landingpage für TipTop-KI — 1:1-Port aus index.html.
Version: 1.0
Text Domain: tiptop-ki-cinema
*/
/* ══════════════════════════════════════════════════════════════════════════
   TOKENS · GLOBAL RESET · TYPE DEFAULTS
   ══════════════════════════════════════════════════════════════════════════ */
:root {
  --graphit:    #121417;
  --tief:       #0A0C0E;
  --elevated:   #1A1D21;
  --linie:      #1F2226;
  --gold:       #C9A24B;
  --gold-soft:  rgba(201,162,75,0.10);
  --nebel:      #F4F2ED;
  --stein:      #6A6A6A;
  --b2b-orange: #FF6B35;
  --font-display: 'Space Grotesk', system-ui, sans-serif;
  --font-body:    'Inter', system-ui, sans-serif;
  --font-mono:    'JetBrains Mono', ui-monospace, monospace;
  --ease-cinema:  cubic-bezier(0.25, 1, 0.5, 1);
}
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; background: var(--graphit); color: var(--nebel); }
body {
  font-family: var(--font-body);
  -webkit-font-smoothing: antialiased;
  line-height: 1.5;
}
img, svg { display: block; max-width: 100%; }
a { color: inherit; }

.container { max-width: 1200px; margin: 0 auto; padding: 0 2rem; }

/* Shared Section-Rhythm */
.section { padding: clamp(80px, 11vw, 140px) 0; position: relative; }
.section-head { margin-bottom: clamp(3rem, 6vw, 4.5rem); max-width: 820px; }
.eyebrow {
  display: inline-block;
  font-family: var(--font-mono); font-size: 12px; font-weight: 400;
  letter-spacing: 0.15em; text-transform: uppercase;
  color: var(--gold); margin: 0 0 1.25rem;
}
.eyebrow::before { content: "— "; }
.h2 {
  font-family: var(--font-display); font-weight: 600;
  font-size: clamp(2rem, 4.5vw, 3.25rem);
  letter-spacing: -0.028em; line-height: 1.04;
  color: var(--nebel); margin: 0 0 1.25rem;
  text-wrap: balance;
}
.h2 .gold, .h2 em { color: var(--gold); font-style: normal; display: block; }
.lead {
  font-family: var(--font-body); font-weight: 400;
  font-size: clamp(1rem, 1.2vw, 1.125rem);
  line-height: 1.55; color: var(--stein);
  max-width: 60ch; margin: 0;
}
.lead strong { color: var(--nebel); font-weight: 500; }

/* Shared CTA Button */
.btn {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 13px 22px;
  background: var(--gold); color: var(--graphit);
  border: none; border-radius: 4px;
  font-family: var(--font-display); font-weight: 600;
  font-size: 14px; letter-spacing: -0.005em;
  text-decoration: none; cursor: pointer;
  transition: opacity 0.25s var(--ease-cinema), transform 0.15s var(--ease-cinema);
}
.btn:hover  { opacity: 0.88; }
.btn:active { transform: scale(0.98); }
.btn__arrow { transition: transform 0.3s var(--ease-cinema); }
.btn:hover .btn__arrow { transform: translateX(3px); }
.btn--ghost {
  background: transparent; color: var(--nebel);
  border: 1px solid rgba(244,242,237,0.25);
}
.btn--ghost:hover { border-color: var(--gold); color: var(--gold); opacity: 1; }

/* ══════════════════════════════════════════════════════════════════════════
   SECTION · Navigation
   ══════════════════════════════════════════════════════════════════════════ */
.nav {
  position: sticky; top: 0; z-index: 50;
  padding: 18px 2rem;
  background: rgba(18,20,23,0.65);
  backdrop-filter: blur(20px) saturate(1.4);
  -webkit-backdrop-filter: blur(20px) saturate(1.4);
  border-bottom: 1px solid rgba(244,242,237,0.06);
  box-shadow: 0 8px 32px rgba(0,0,0,0.5);
  transition: padding 0.3s var(--ease-cinema),
              background 0.3s var(--ease-cinema),
              border-color 0.3s var(--ease-cinema);
}
.nav.is-scrolled {
  padding: 10px 2rem;
  background: rgba(10,12,14,0.82);
  border-bottom-color: rgba(201,162,75,0.15);
}
.nav__inner {
  max-width: 1400px; margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between;
  gap: 1.5rem;
}
.nav__logo {
  display: inline-flex; align-items: center;
  text-decoration: none; position: relative;
  transition: filter 0.3s var(--ease-cinema);
}
.nav__logo img { height: 28px; width: auto; max-width: none; flex-shrink: 0; }
.nav__logo:hover {
  filter: drop-shadow(0 0 14px rgba(201,162,75,0.45));
}
.nav__akte {
  display: flex; gap: 2.25rem;
  list-style: none; margin: 0; padding: 0;
}
.nav__link {
  position: relative;
  display: inline-flex; gap: 6px; align-items: baseline;
  padding: 6px 2px;
  font-family: var(--font-mono);
  font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase;
  color: rgba(244,242,237,0.55);
  text-decoration: none;
  transition: color 0.3s var(--ease-cinema);
}
.nav__link::after {
  content: ""; position: absolute; left: 0; bottom: -2px;
  width: 0; height: 1px; background: var(--gold);
  transition: width 0.35s var(--ease-cinema);
}
.nav__link:hover { color: var(--nebel); }
.nav__link:hover::after { width: 100%; }
.nav__link.is-active { color: var(--nebel); }
.nav__link.is-active::after { width: 100%; }
.nav__roman { color: var(--gold); }
.nav__cta {
  position: relative;
  padding: 9px 18px;
  background: var(--gold); color: var(--graphit);
  border-radius: 4px;
  font-family: var(--font-display); font-weight: 600;
  font-size: 13px; text-decoration: none;
  transition: opacity 0.25s var(--ease-cinema);
  box-shadow: 0 0 0 0 rgba(201,162,75,0);
  animation: nav-cta-glow 4s var(--ease-cinema) infinite;
}
.nav__cta:hover { opacity: 0.9; }
@keyframes nav-cta-glow {
  0%,100% { box-shadow: 0 0 0 0 rgba(201,162,75,0); }
  50%     { box-shadow: 0 0 0 4px rgba(201,162,75,0.08); }
}
@media (max-width: 820px) {
  .nav__akte { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .nav__cta { animation: none; }
}

/* ══════════════════════════════════════════════════════════════════════════
   SECTION · Cinema-Stage Hero   [PROTECTED GEOMETRY]
   ══════════════════════════════════════════════════════════════════════════ */
.cinema-hero {
  position: relative;
  min-height: 100vh;
  display: flex; align-items: flex-end;
  padding: 0 4rem 7rem;
  overflow: hidden;
  background: var(--graphit);
}
@media (max-width: 780px) {
  .cinema-hero { padding: 0 1.5rem 4rem; min-height: 90vh; }
}

/* Cinema-Stage wrapper — object-fit: fill preserves screen geometry */
.cinema-stage {
  position: absolute;
  top: 50%; left: 50%;
  width: max(100vw, calc(100vh * 1.7916667));
  height: max(100vh, calc(100vw / 1.7916667));
  transform: translate(-50%, -50%);
  z-index: 0;
  will-change: transform;
  pointer-events: none;
}
.cinema-stage__bg {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  background-image: url('assets/cinema/cinema_interior_v1.png');
  background-size: 100% 100%;
  background-position: top left;
  background-repeat: no-repeat;
  background-color: #0A0C0E;
}
.cinema-stage__bg::after {
  /* Lesbarkeits-Gradient nur für Textbereich links-unten */
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(
    to right,
    rgba(10,12,14,0.65) 0%,
    rgba(10,12,14,0.35) 35%,
    rgba(10,12,14,0.0)  65%
  );
  pointer-events: none;
}
.cinema-stage__vignette {
  position: absolute; inset: 0;
  box-shadow: inset 0 0 80px rgba(0,0,0,0.35);
  pointer-events: none;
}

/* Screen container — aspect-ratio-based calc() positioning preserved from v1 */
.cinema-stage__screen {
  position: absolute;
  top: 19.4%; left: 30.99%;
  width: 38.26%; height: 35.81%;
  background: #0A0C0E;
  border-radius: 6px;
  box-shadow:
    0 16px 64px rgba(0,0,0,0.7),
    0 0 0 1px rgba(201,162,75,0.18),
    inset 0 0 40px rgba(0,0,0,0.7);
  overflow: hidden;
  display: flex; align-items: center; justify-content: center;
  z-index: 1;
}
/* Video container — the replaceable slot. Path stays exactly assets/leinwand/01_hero_reel.mp4 */
.cinema-stage__video {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 1.2s var(--ease-cinema);
  z-index: 1;
}
.cinema-stage__video.is-playing { opacity: 1; }
/* Placeholder fallback when no video is present */
.cinema-stage__clip {
  position: absolute; inset: 0;
  z-index: 0;
  background: linear-gradient(135deg, #3a2818 0%, #8b5a2b 50%, #c9a24b 100%);
  opacity: 1;
  animation: cinema-clip-a 10s ease-in-out infinite;
}
.cinema-stage__clip--b {
  background: linear-gradient(135deg, #1f2226 0%, #4a4238 50%, #6a5838 100%);
  opacity: 0;
  animation: cinema-clip-b 10s ease-in-out infinite;
}
@keyframes cinema-clip-a { 0%,45% { opacity: 1; } 55%,100% { opacity: 0; } }
@keyframes cinema-clip-b { 0%,45% { opacity: 0; } 55%,100% { opacity: 1; } }
.cinema-stage__placeholder-tag {
  position: relative; z-index: 2;
  font-family: var(--font-mono); font-size: 11px;
  letter-spacing: 0.15em;
  color: rgba(244,242,237,0.85);
  text-shadow: 0 2px 8px rgba(0,0,0,0.9);
}

/* Subtle projection edge-flicker on the screen frame */
.cinema-stage__screen::before {
  content: ""; position: absolute; inset: -1px;
  border-radius: 6px;
  box-shadow: inset 0 0 0 1px rgba(201,162,75,0.25);
  pointer-events: none;
  animation: projector-flicker 5.3s var(--ease-cinema) infinite;
}
@keyframes projector-flicker {
  0%,92%,100% { opacity: 0.85; }
  93%         { opacity: 0.6; }
  94%         { opacity: 1; }
  95%         { opacity: 0.75; }
  96%         { opacity: 0.95; }
}

/* Dust particles in projector beam */
.cinema-stage__dust {
  position: absolute;
  top: 25%; height: 50%;
  width: 6px;
  pointer-events: none;
  z-index: 2;
  opacity: 0.35;
}
.cinema-stage__dust--left  { left: 15%; }
.cinema-stage__dust--right { right: 15%; }
.cinema-stage__dust span {
  position: absolute; left: 50%;
  width: 2px; height: 2px;
  border-radius: 50%;
  background: rgba(201,162,75,0.8);
  filter: blur(0.4px);
  animation: dust-drift 9s linear infinite;
}
.cinema-stage__dust span:nth-child(2) { animation-delay: -2.5s; left: 20%; }
.cinema-stage__dust span:nth-child(3) { animation-delay: -5s;   left: 80%; }
.cinema-stage__dust span:nth-child(4) { animation-delay: -7s;   left: 40%; }
@keyframes dust-drift {
  0%   { top: 100%; opacity: 0; }
  15%  { opacity: 0.7; }
  85%  { opacity: 0.7; }
  100% { top: -10%;  opacity: 0; }
}

/* ANIMATION 1 — Wandleuchten-Flackern */
@keyframes cinema-wall-flicker {
  0%   { filter: brightness(1.00); }
  17%  { filter: brightness(0.97); }
  31%  { filter: brightness(1.02); }
  48%  { filter: brightness(0.98); }
  62%  { filter: brightness(1.01); }
  79%  { filter: brightness(0.965); }
  91%  { filter: brightness(1.015); }
  100% { filter: brightness(1.00); }
}
.cinema-stage--visible .cinema-stage__bg {
  animation: cinema-wall-flicker 11s ease-in-out infinite;
}

/* ANIMATION 2 — Ambient-Staub (Raumpartikel) */
.cinema-stage__motes {
  position: absolute; inset: 0;
  pointer-events: none; z-index: 0; overflow: hidden;
}
.cinema-stage__mote {
  position: absolute;
  border-radius: 50%;
  background: rgba(201,162,75,0.5);
  animation: cinema-mote-drift var(--mote-dur, 20s) linear var(--mote-delay, 0s) infinite;
}
@keyframes cinema-mote-drift {
  0%   { transform: translate(0, 0); opacity: 0; }
  10%  { opacity: var(--mote-op, 0.3); }
  88%  { opacity: var(--mote-op, 0.3); }
  100% { transform: translate(var(--mote-dx, 6px), -90px); opacity: 0; }
}
.cinema-stage--visible .cinema-stage__mote {
  animation-play-state: running;
}
.cinema-stage:not(.cinema-stage--visible) .cinema-stage__mote {
  animation-play-state: paused;
}

/* prefers-reduced-motion — alle drei deaktivieren */
@media (prefers-reduced-motion: reduce) {
  .cinema-stage__bg,
  .cinema-stage__mote,
  .cinema-stage__dust span { animation: none !important; }
}
@media (max-width: 780px) {
  .cinema-stage__dust { display: none; }
}

.cinema-hero__content { position: relative; z-index: 3; max-width: 620px; }
.cinema-hero__eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--font-mono);
  font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
  color: rgba(244,242,237,0.75);
  margin-bottom: 1.5rem;
  text-shadow: 0 2px 8px rgba(0,0,0,0.9);
}
.cinema-hero__live-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--gold);
  animation: hero-pulse 2s var(--ease-cinema) infinite;
}
@keyframes hero-pulse { 0%,100% { opacity: 1; } 50% { opacity: 0.3; } }

.cinema-hero__h1 {
  font-family: var(--font-display); font-weight: 600;
  font-size: clamp(2.5rem, 6vw, 4.5rem);
  letter-spacing: -0.03em; line-height: 1.02;
  color: var(--nebel); margin: 0 0 1.5rem;
  text-shadow: 0 2px 8px rgba(0,0,0,0.9), 0 12px 32px rgba(0,0,0,0.7);
}
.cinema-hero__gold { color: var(--gold); }
.cinema-hero__lead {
  font-size: 1.1rem; line-height: 1.55;
  color: rgba(244,242,237,0.88);
  max-width: 520px; margin: 0 0 2rem;
  text-shadow: 0 2px 8px rgba(0,0,0,0.9);
}
.cinema-hero__cta-row { display: flex; gap: 1rem; flex-wrap: wrap; align-items: center; }

/* ══════════════════════════════════════════════════════════════════════════
   SECTION · Formate
   ══════════════════════════════════════════════════════════════════════════ */
#formate { background: var(--graphit); }
.formate-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem;
}
@media (max-width: 980px) { .formate-grid { grid-template-columns: 1fr; } }

.format {
  position: relative;
  display: flex; flex-direction: column;
  background: var(--elevated);
  border: 1px solid rgba(244,242,237,0.08);
  border-radius: 8px; overflow: hidden;
  transition:
    border-color 0.4s var(--ease-cinema),
    transform    0.4s var(--ease-cinema),
    box-shadow   0.4s var(--ease-cinema);
}
.format:hover {
  border-color: rgba(201,162,75,0.30);
  transform: translateY(-4px) scale(1.01);
  box-shadow: 0 22px 60px rgba(0,0,0,0.5), 0 0 0 1px rgba(201,162,75,0.10);
}
.format__media {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
}
.format__photo {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  transform: scale(1.04);
  transition: transform 0.7s var(--ease-cinema);
}
.format:hover .format__photo { transform: scale(1.08); }
.format__photo--01 {
  background: linear-gradient(135deg, #2b1a0d 0%, #8b5a2b 55%, #e4b96a 100%);
}
.format__photo--02 {
  background: linear-gradient(145deg, #1a1f1d 0%, #3a4035 55%, #6a7a5e 100%);
}
.format__photo--03 {
  background: linear-gradient(150deg, #1b1a1e 0%, #3d2f45 55%, #a06548 100%);
}
.format__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(180deg,
    rgba(10,12,14,0.45) 0%,
    rgba(10,12,14,0.75) 100%);
  transition: background 0.5s var(--ease-cinema);
}
.format:hover .format__overlay {
  background: linear-gradient(180deg,
    rgba(10,12,14,0.20) 0%,
    rgba(10,12,14,0.55) 100%);
}
.format__status {
  position: absolute; top: 14px; right: 14px;
  font-family: var(--font-mono); font-size: 10px;
  letter-spacing: 0.16em; text-transform: uppercase;
  padding: 4px 10px;
  background: rgba(10,12,14,0.80);
  border: 1px solid rgba(201,162,75,0.50);
  border-radius: 100px;
  color: var(--gold);
  backdrop-filter: blur(14px);
  box-shadow: 0 4px 16px rgba(0,0,0,0.5);
}
.format__num {
  position: absolute; bottom: 18px; left: 20px;
  font-family: var(--font-mono); font-size: 28px; font-weight: 400;
  color: var(--gold); letter-spacing: -0.01em;
  text-shadow: 0 2px 8px rgba(0,0,0,0.8);
}
.format__body {
  padding: 1.5rem 1.75rem 1.75rem;
  display: flex; flex-direction: column; gap: 0.75rem;
  flex: 1;
}
.format__kategorie {
  font-family: var(--font-mono); font-size: 10px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gold);
}
.format__titel {
  font-family: var(--font-display); font-weight: 600;
  font-size: 1.3rem; letter-spacing: -0.02em; line-height: 1.2;
  color: var(--nebel); margin: 0;
}
.format__copy {
  font-family: var(--font-body); font-weight: 500;
  font-size: 0.95rem; line-height: 1.65;
  color: var(--stein); margin: 0;
  text-wrap: pretty;
}

/* ══════════════════════════════════════════════════════════════════════════
   SECTION · Referenzen
   ══════════════════════════════════════════════════════════════════════════ */
#referenzen { background: var(--tief); }
.ref-rail {
  display: flex; gap: 1.25rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding: 0.5rem 2rem 2rem;
  margin: 0 -2rem;
  scrollbar-width: thin;
  scrollbar-color: rgba(201,162,75,0.3) transparent;
}
.ref-rail::-webkit-scrollbar { height: 6px; }
.ref-rail::-webkit-scrollbar-track { background: transparent; }
.ref-rail::-webkit-scrollbar-thumb {
  background: rgba(201,162,75,0.25); border-radius: 3px;
}
.ref-card {
  flex: 0 0 min(440px, 85vw);
  scroll-snap-align: start;
  display: flex; flex-direction: column; justify-content: space-between;
  padding: 2rem 1.75rem 1.5rem;
  background: rgba(26,29,33,0.75);
  border: 1px solid rgba(201,162,75,0.15);
  border-radius: 8px;
  min-height: 260px;
  transition: border-color 0.4s var(--ease-cinema),
              transform    0.4s var(--ease-cinema);
}
.ref-card:hover {
  border-color: rgba(201,162,75,0.35);
  transform: translateY(-2px);
}
.ref-card__quote-mark {
  font-family: var(--font-display); font-weight: 500;
  font-size: 3rem; line-height: 0.5;
  color: var(--gold); opacity: 0.55;
  margin-bottom: 1rem;
}
.ref-card__quote {
  font-family: var(--font-display); font-weight: 300;
  font-size: 1.15rem; line-height: 1.45;
  letter-spacing: -0.01em; color: var(--nebel);
  margin: 0 0 1.5rem; text-wrap: pretty;
}
.ref-card__meta {
  display: flex; align-items: center; gap: 10px;
  font-family: var(--font-mono); font-size: 11px;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--stein);
}
.ref-card__meta strong {
  color: var(--nebel); font-weight: 500;
}
.ref-card__meta .sep { color: var(--gold); opacity: 0.6; }
.ref-card--todo {
  border-style: dashed; border-color: rgba(244,242,237,0.15);
}
.ref-card--todo .ref-card__quote {
  color: rgba(244,242,237,0.35); font-style: italic;
}
.ref-card--todo .ref-card__quote-mark { opacity: 0.2; }

.ref-logos {
  margin-top: 3rem;
  display: flex; align-items: center; justify-content: center;
  gap: 3rem; flex-wrap: wrap;
  opacity: 0.35;
}
.ref-logos__label {
  font-family: var(--font-mono); font-size: 10px;
  letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--stein);
}
.ref-logos__item {
  font-family: var(--font-display); font-weight: 500;
  font-size: 1rem; letter-spacing: 0.02em;
  color: var(--nebel);
}

/* ══════════════════════════════════════════════════════════════════════════
   SECTION · Preise
   ══════════════════════════════════════════════════════════════════════════ */
#preise { background: var(--graphit); }
.preise-grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem; align-items: stretch;
  padding-top: 1rem;
}
@media (max-width: 980px) { .preise-grid { grid-template-columns: 1fr; } }

.preis {
  position: relative;
  display: flex; flex-direction: column;
  padding: 2rem 1.75rem 1.75rem;
  background: var(--elevated);
  border: 1px solid rgba(244,242,237,0.08);
  border-radius: 8px;
  transition: transform 0.4s var(--ease-cinema), border-color 0.4s var(--ease-cinema);
}
.preis:hover { transform: translateY(-3px); border-color: rgba(244,242,237,0.16); }
.preis--featured {
  border: 1px solid rgba(201,162,75,0.55);
  background:
    radial-gradient(ellipse at 50% -20%, rgba(201,162,75,0.08) 0%, transparent 60%),
    var(--elevated);
  box-shadow: 0 0 0 1px rgba(201,162,75,0.25),
              0 30px 60px rgba(201,162,75,0.08);
}
.preis--featured:hover {
  transform: translateY(-6px);
  border-color: rgba(201,162,75,0.7);
}
.preis--premium {
  transform: translateY(-8px);
  background:
    linear-gradient(180deg, rgba(244,242,237,0.02) 0%, transparent 40%),
    var(--elevated);
}
.preis--premium:hover { transform: translateY(-11px); }

.preis__pill {
  position: absolute; top: -12px; left: 50%;
  transform: translateX(-50%);
  padding: 5px 14px;
  background: var(--gold); color: var(--graphit);
  border-radius: 100px;
  font-family: var(--font-mono); font-size: 10px; font-weight: 400;
  letter-spacing: 0.18em; text-transform: uppercase;
  white-space: nowrap;
}
.preis__label {
  font-family: var(--font-mono); font-size: 11px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 1.25rem;
}
.preis__price {
  display: flex; align-items: baseline; gap: 8px;
  margin-bottom: 1rem;
}
.preis__amount {
  font-family: var(--font-display); font-weight: 600;
  font-size: clamp(3rem, 5vw, 4rem);
  line-height: 1; letter-spacing: -0.035em;
  color: var(--gold);
}
.preis__cadence {
  font-family: var(--font-body); font-weight: 400;
  font-size: 0.95rem; color: var(--stein);
}
.preis__sub {
  font-family: var(--font-body); font-weight: 400;
  font-size: 0.95rem; line-height: 1.55;
  color: rgba(244,242,237,0.72);
  margin: 0 0 1.5rem;
}
.preis__features {
  list-style: none; margin: 0 0 2rem; padding: 0;
  display: flex; flex-direction: column; gap: 0.7rem;
  flex: 1;
}
.preis__feature {
  display: flex; gap: 10px; align-items: flex-start;
  font-size: 0.9rem; line-height: 1.45;
  color: rgba(244,242,237,0.88);
}
.preis__plus {
  flex: 0 0 14px;
  color: var(--gold);
  font-family: var(--font-display); font-weight: 500;
  font-size: 14px; line-height: 1.45;
}
.preis__cta { align-self: stretch; justify-content: center; }
.preis--featured .preis__cta { background: var(--gold); }
.preis:not(.preis--featured) .preis__cta {
  background: transparent; color: var(--nebel);
  border: 1px solid rgba(244,242,237,0.25);
}
.preis:not(.preis--featured) .preis__cta:hover {
  border-color: var(--gold); color: var(--gold); opacity: 1;
}

.preise-fuss {
  text-align: center; margin-top: 2.5rem;
  font-family: var(--font-body); font-size: 13px;
  color: var(--stein);
}

/* ══════════════════════════════════════════════════════════════════════════
   SECTION · Kapitel-Break
   ══════════════════════════════════════════════════════════════════════════ */
.kapitel {
  padding: 3rem 0 0;
  max-width: 1200px; margin: 0 auto;
  border-top: 1px solid rgba(244,242,237,0.06);
  padding-left: 2rem; padding-right: 2rem;
  display: flex; align-items: baseline; gap: 1rem;
}
.kapitel__akt {
  font-family: var(--font-mono); font-size: 11px;
  letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--gold);
}
.kapitel__titel {
  font-family: var(--font-display); font-weight: 500;
  font-size: 0.95rem; letter-spacing: 0.04em;
  color: rgba(244,242,237,0.55);
}


/* ══════════════════════════════════════════════════════════════════════════
   SECTION · KI-Automation  (v5 — identical to AutomationSection.html)
   ══════════════════════════════════════════════════════════════════════════ */
.automation {
  position: relative;
  padding: clamp(60px, 10vw, 120px) 0;
  background: var(--graphit);
  overflow: hidden;
}
.automation::before,
.automation::after {
  content: ""; position: absolute; top: 20%;
  width: 40%; height: 60%;
  background: radial-gradient(ellipse at center,
    rgba(201,162,75,0.07) 0%, transparent 65%);
  pointer-events: none; z-index: 0;
}
.automation::before { left: -10%; }
.automation::after  { right: -10%; }
.automation__inner { position: relative; z-index: 1; max-width: 1200px; margin: 0 auto; padding: 0 2rem; }
.automation__head {
  display: grid; grid-template-columns: 1fr auto;
  gap: 1.5rem 2rem; align-items: start;
  margin-bottom: clamp(3rem, 6vw, 4.5rem);
}
.automation__badge {
  grid-column: 2; grid-row: 1 / span 3; align-self: start;
  display: inline-flex; align-items: center; gap: 8px;
  padding: 8px 16px;
  background: rgba(201,162,75,0.10);
  border: 1px solid rgba(201,162,75,0.35);
  border-radius: 100px;
  font-family: var(--font-mono); font-size: 11px; font-weight: 400;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--gold); white-space: nowrap;
}
.automation__badge-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--gold);
  animation: auto-pulse 2s var(--ease-cinema) infinite;
}
@keyframes auto-pulse {
  0%,100% { opacity: 1; transform: scale(1); }
  50%     { opacity: 0.4; transform: scale(0.85); }
}
@media (max-width: 720px) {
  .automation__head { grid-template-columns: 1fr; }
  .automation__badge { grid-column: 1; grid-row: auto; justify-self: start; }
}

.automation__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
@media (max-width: 980px) { .automation__grid { grid-template-columns: 1fr; } }

.tile {
  position: relative; display: flex; flex-direction: column;
  padding: 1.75rem 1.75rem 1.5rem;
  background: var(--elevated);
  border: 1px solid rgba(244,242,237,0.08);
  border-radius: 8px; overflow: hidden;
  transition: border-color 0.4s var(--ease-cinema),
              transform    0.4s var(--ease-cinema),
              box-shadow   0.4s var(--ease-cinema);
}
.tile:hover {
  border-color: rgba(201,162,75,0.25);
  transform: translateY(-3px);
  box-shadow: 0 20px 60px rgba(0,0,0,0.45), 0 0 0 1px rgba(201,162,75,0.10);
}
.tile__num {
  font-family: var(--font-mono); font-size: 12px;
  color: var(--gold); letter-spacing: 0.08em; margin-bottom: 1rem;
}
.stage {
  position: relative; aspect-ratio: 16 / 10;
  background:
    radial-gradient(ellipse at 50% 100%, rgba(201,162,75,0.05) 0%, transparent 55%),
    linear-gradient(180deg, #0E1013 0%, #14171B 100%);
  border: 1px solid rgba(244,242,237,0.06);
  border-radius: 6px; margin-bottom: 1.5rem; overflow: hidden;
}

/* Tile 1 — Flow */
.flow {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 clamp(14px, 4%, 28px);
}
.flow__node { position: relative; display: flex; flex-direction: column; align-items: center; gap: 10px; z-index: 2; }
.flow__icon { width: 34px; height: 34px; color: var(--nebel); }
.flow__icon svg { width: 100%; height: 100%; stroke: currentColor; fill: none; stroke-width: 1.25; stroke-linecap: round; stroke-linejoin: round; }
.flow__label {
  font-family: var(--font-mono); font-size: 10px;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: rgba(244,242,237,0.55); white-space: nowrap;
}
.flow__core {
  position: relative; width: 60px; height: 60px; border-radius: 50%;
  background: radial-gradient(circle at 50% 50%, rgba(201,162,75,0.35) 0%, rgba(201,162,75,0.12) 60%, transparent 100%);
  border: 1px solid rgba(201,162,75,0.45);
  display: flex; align-items: center; justify-content: center; gap: 5px;
  animation: core-pulse 2s var(--ease-cinema) infinite;
  animation-play-state: paused;
}
.tile.is-visible .flow__core { animation-play-state: running; }
@keyframes core-pulse {
  0%,100% { transform: scale(1);    box-shadow: 0 0 0 0 rgba(201,162,75,0); }
  50%     { transform: scale(1.08); box-shadow: 0 0 0 4px rgba(201,162,75,0.08); }
}
.flow__core-dot {
  width: 5px; height: 5px; border-radius: 50%; background: var(--gold);
  opacity: 0.35;
  animation: core-dot 1.4s var(--ease-cinema) infinite;
  animation-play-state: paused;
}
.tile.is-visible .flow__core-dot { animation-play-state: running; }
.flow__core-dot:nth-child(2) { animation-delay: 0.18s; }
.flow__core-dot:nth-child(3) { animation-delay: 0.36s; }
@keyframes core-dot { 0%,100% { opacity: 0.25; } 50% { opacity: 1; } }
.flow__rail {
  position: absolute; top: 50%; transform: translateY(-50%);
  height: 1px;
  background: linear-gradient(90deg, rgba(244,242,237,0.10), rgba(244,242,237,0.20), rgba(244,242,237,0.10));
  z-index: 1; overflow: hidden;
}
.flow__rail--left  { left: calc(clamp(14px, 4%, 28px) + 40px); right: calc(50% + 36px); }
.flow__rail--right { left: calc(50% + 36px); right: calc(clamp(14px, 4%, 28px) + 40px); }
.flow__particle {
  position: absolute; top: -3px; left: 0;
  width: 28px; height: 7px;
  background: linear-gradient(90deg, transparent 0%, rgba(201,162,75,0.9) 50%, transparent 100%);
  filter: blur(0.5px); opacity: 0;
  animation-duration: 8s; animation-iteration-count: infinite;
  animation-timing-function: var(--ease-cinema); animation-play-state: paused;
}
.tile.is-visible .flow__particle { animation-play-state: running; }
.flow__rail--left  .flow__particle { animation-name: particle-left; }
.flow__rail--right .flow__particle { animation-name: particle-right; }
@keyframes particle-left {
  0%   { left: -20%; opacity: 0; }
  5%   { opacity: 1; }
  24%  { left: 100%; opacity: 1; }
  28%,100% { left: 100%; opacity: 0; }
}
@keyframes particle-right {
  0%,28%   { left: -20%; opacity: 0; }
  32%      { opacity: 1; }
  52%      { left: 100%; opacity: 1; }
  56%,100% { left: 100%; opacity: 0; }
}
.stage__footline {
  position: absolute; left: 0; right: 0; bottom: 14px;
  text-align: center;
  font-family: var(--font-mono); font-size: 10px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gold); opacity: 0;
  animation: footline-in 8s var(--ease-cinema) infinite;
  animation-play-state: paused;
}
.tile.is-visible .stage__footline { animation-play-state: running; }
@keyframes footline-in {
  0%,50%   { opacity: 0; }
  58%,100% { opacity: 0.9; }
}

/* Tile 2 — Quote */
.quote {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  padding: 0 clamp(36px, 8%, 64px);
}
.quote__mark {
  font-family: var(--font-display); font-weight: 500;
  font-size: clamp(2.5rem, 5vw, 3.75rem);
  color: var(--gold); opacity: 0.55;
  line-height: 0.5; user-select: none; align-self: center;
}
.quote__mark--open  { transform: translateY(0.15em); margin-right: clamp(8px, 1.5%, 14px); }
.quote__mark--close { transform: translateY(0.15em); margin-left:  clamp(8px, 1.5%, 14px); }
.quote__stack { position: relative; flex: 1 1 auto; min-width: 0; height: 70px; }
.quote__item {
  position: absolute; inset: 0;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 8px; opacity: 0;
  animation-duration: 8s; animation-iteration-count: infinite;
  animation-timing-function: var(--ease-cinema); animation-play-state: paused;
}
.tile.is-visible .quote__item { animation-play-state: running; }
.quote__lang {
  font-family: var(--font-mono); font-size: 10px;
  letter-spacing: 0.18em; color: var(--stein);
}
.quote__text {
  font-family: var(--font-body); font-weight: 400;
  font-size: clamp(0.95rem, 1.5vw, 1.15rem);
  color: var(--nebel); line-height: 1.3; text-align: center;
  text-wrap: balance; margin: 0;
}
@keyframes quote-1 {
  0%   { opacity: 0; transform: translateY(6px); }
  5%   { opacity: 1; transform: translateY(0); }
  30%  { opacity: 1; }
  35%  { opacity: 0; transform: translateY(-6px); }
  100% { opacity: 0; }
}
@keyframes quote-2 {
  0%,33%   { opacity: 0; transform: translateY(6px); }
  38%      { opacity: 1; transform: translateY(0); }
  63%      { opacity: 1; }
  68%,100% { opacity: 0; transform: translateY(-6px); }
}
@keyframes quote-3 {
  0%,66%   { opacity: 0; transform: translateY(6px); }
  71%      { opacity: 1; transform: translateY(0); }
  96%      { opacity: 1; }
  100%     { opacity: 0; }
}
.q1 { animation-name: quote-1; }
.q2 { animation-name: quote-2; }
.q3 { animation-name: quote-3; }
.stage__live {
  position: absolute; left: 0; right: 0; bottom: 14px;
  display: flex; align-items: center; justify-content: center; gap: 10px;
  font-family: var(--font-mono); font-size: 10px;
  letter-spacing: 0.16em; text-transform: uppercase;
  color: rgba(244,242,237,0.55);
}
.stage__live-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 8px rgba(201,162,75,0.6);
  animation: live-pulse 1.8s var(--ease-cinema) infinite;
  animation-play-state: paused;
}
.tile.is-visible .stage__live-dot { animation-play-state: running; }
@keyframes live-pulse {
  0%,100% { opacity: 1; transform: scale(1); }
  50%     { opacity: 0.4; transform: scale(0.8); }
}

/* Tile 3 — Ribbon */
.ribbon {
  position: absolute; left: 8%; right: 8%; top: 50%;
  transform: translateY(-50%);
  display: flex; align-items: center; justify-content: space-between;
  height: 60px;
}
.ribbon__slot {
  position: relative; flex: 1; height: 60px;
  display: flex; align-items: center; justify-content: center;
}
.ribbon__slot::before {
  content: ""; width: 1.5px; height: 20px;
  background: rgba(244,242,237,0.25);
}
.ribbon__slot.is-active::before {
  animation-duration: 8s; animation-iteration-count: infinite;
  animation-timing-function: var(--ease-cinema); animation-play-state: paused;
}
.tile.is-visible .ribbon__slot.is-active::before { animation-play-state: running; }
@keyframes slot-1 {
  0%,6%    { background: rgba(244,242,237,0.25); box-shadow: none; height: 20px; }
  10%,100% { background: var(--gold); box-shadow: 0 0 10px rgba(201,162,75,0.55); height: 24px; }
}
@keyframes slot-2 {
  0%,24%   { background: rgba(244,242,237,0.25); box-shadow: none; height: 20px; }
  28%,100% { background: var(--gold); box-shadow: 0 0 10px rgba(201,162,75,0.55); height: 24px; }
}
@keyframes slot-3 {
  0%,42%   { background: rgba(244,242,237,0.25); box-shadow: none; height: 20px; }
  46%,100% { background: var(--gold); box-shadow: 0 0 10px rgba(201,162,75,0.55); height: 24px; }
}
.ribbon__slot[data-slot="3"]::before  { animation-name: slot-1; }
.ribbon__slot[data-slot="7"]::before  { animation-name: slot-2; }
.ribbon__slot[data-slot="10"]::before { animation-name: slot-3; }
.ribbon__chip {
  position: absolute; top: -14px; left: 50%;
  transform: translate(-50%, 4px);
  font-family: var(--font-mono); font-size: 10px;
  letter-spacing: 0.08em; color: var(--gold);
  white-space: nowrap; opacity: 0;
  animation-duration: 8s; animation-iteration-count: infinite;
  animation-timing-function: var(--ease-cinema); animation-play-state: paused;
}
.tile.is-visible .ribbon__chip { animation-play-state: running; }
@keyframes chip-1 {
  0%,6%    { opacity: 0; transform: translate(-50%, 4px); }
  12%,22%  { opacity: 1; transform: translate(-50%, 0); }
  28%,100% { opacity: 0; transform: translate(-50%, 0); }
}
@keyframes chip-2 {
  0%,24%   { opacity: 0; transform: translate(-50%, 4px); }
  30%,40%  { opacity: 1; transform: translate(-50%, 0); }
  46%,100% { opacity: 0; transform: translate(-50%, 0); }
}
@keyframes chip-3 {
  0%,42%   { opacity: 0; transform: translate(-50%, 4px); }
  48%,58%  { opacity: 1; transform: translate(-50%, 0); }
  64%,100% { opacity: 0; transform: translate(-50%, 0); }
}
.ribbon__slot[data-slot="3"]  .ribbon__chip { animation-name: chip-1; }
.ribbon__slot[data-slot="7"]  .ribbon__chip { animation-name: chip-2; }
.ribbon__slot[data-slot="10"] .ribbon__chip { animation-name: chip-3; }
.ribbon__sweep {
  position: absolute; left: 8%; right: 8%; top: 50%;
  transform: translateY(-50%);
  height: 1px;
  background: linear-gradient(90deg,
    transparent 0%, rgba(201,162,75,0) 30%,
    rgba(201,162,75,0.9) 50%, rgba(201,162,75,0) 70%, transparent 100%);
  background-size: 40% 100%; background-repeat: no-repeat;
  background-position: -40% 0; opacity: 0;
  animation: ribbon-sweep 8s var(--ease-cinema) infinite;
  animation-play-state: paused;
}
.tile.is-visible .ribbon__sweep { animation-play-state: running; }
@keyframes ribbon-sweep {
  0%,64%   { background-position: -40% 0; opacity: 0; }
  68%      { opacity: 1; }
  86%      { background-position: 140% 0; opacity: 1; }
  92%,100% { background-position: 140% 0; opacity: 0; }
}
.stage__caption {
  position: absolute; left: 0; right: 0; bottom: 14px;
  text-align: center;
  font-family: var(--font-mono); font-size: 10px;
  letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--gold); opacity: 0.9;
}

.tile__headline {
  font-family: var(--font-display); font-weight: 600;
  font-size: 1.375rem; letter-spacing: -0.02em;
  line-height: 1.2; color: var(--nebel);
  margin: 0 0 0.5rem; text-wrap: balance;
}
.tile__subline {
  font-family: var(--font-body); font-weight: 500;
  font-size: 0.95rem; color: var(--gold); margin: 0 0 1rem;
}
.tile__pitch {
  font-family: var(--font-body); font-weight: 400;
  font-size: 0.9rem; line-height: 1.6;
  color: var(--stein); margin: 0 0 1.75rem;
  text-wrap: pretty;
}
.tile__cta {
  display: inline-flex; align-items: center; gap: 10px;
  align-self: flex-start; margin-top: auto;
  padding: 12px 20px;
  background: var(--gold); color: var(--graphit);
  border: none; border-radius: 4px;
  font-family: var(--font-display); font-weight: 600;
  font-size: 14px;
  text-decoration: none; cursor: pointer;
  transition: opacity 0.25s var(--ease-cinema), transform 0.15s var(--ease-cinema);
}
.tile__cta:hover  { opacity: 0.88; }
.tile__cta:active { transform: scale(0.98); }
.tile__cta-arrow  { transition: transform 0.3s var(--ease-cinema); }
.tile__cta:hover .tile__cta-arrow { transform: translateX(3px); }

.outro {
  margin: clamp(56px, 7vw, 80px) auto 0;
  max-width: 620px; padding: 0 1rem; text-align: center;
}
.outro__eyebrow {
  font-family: var(--font-mono); font-size: 12px;
  letter-spacing: 0.15em; text-transform: uppercase;
  color: var(--gold); margin: 0 0 1.5rem;
}
.outro__eyebrow::before { content: "— "; }
.outro__h3 {
  font-family: var(--font-display); font-weight: 600;
  font-size: clamp(1.5rem, 2.6vw, 2rem);
  letter-spacing: -0.025em; line-height: 1.15;
  color: var(--nebel); margin: 0 0 1.75rem;
  text-wrap: balance;
}
.outro__h3 .gold { color: var(--gold); display: block; }
.outro__branches {
  font-family: var(--font-body); font-size: 14px;
  line-height: 1.7; color: var(--stein); opacity: 0.7;
  margin: 0 auto 2.25rem; max-width: 560px;
}
.outro__branches .sep { display: inline-block; margin: 0 0.45em; color: rgba(201,162,75,0.55); font-weight: 500; }
.outro__branches .self { color: var(--nebel); opacity: 0.85; font-style: italic; }
.trust {
  position: relative; margin: 0 auto 2.5rem;
  padding: clamp(18px, 2.2vw, 22px) clamp(18px, 2.5vw, 26px);
  max-width: 520px;
  background: rgba(201,162,75,0.04);
  border: 1px solid rgba(201,162,75,0.28);
  border-radius: 6px; text-align: left;
}
.trust::before {
  content: ""; position: absolute; left: 0; top: 20%;
  width: 2px; height: 60%; background: var(--gold); opacity: 0.55;
}
.trust__eyebrow {
  font-family: var(--font-mono); font-size: 11px;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--gold); margin: 0 0 0.75rem;
}
.trust__eyebrow::before { content: "— "; }
.trust__main {
  font-family: var(--font-body); font-weight: 500;
  font-size: 1rem; color: var(--nebel); margin: 0 0 0.35rem;
}
.trust__sub {
  font-family: var(--font-body); font-size: 0.875rem;
  line-height: 1.5; color: var(--stein); margin: 0;
}
.outro__cta {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 14px 24px;
  background: var(--gold); color: var(--graphit);
  border: none; border-radius: 4px;
  font-family: var(--font-display); font-weight: 600;
  font-size: 15px; text-decoration: none; cursor: pointer;
  transition: opacity 0.25s var(--ease-cinema), transform 0.15s var(--ease-cinema);
}
.outro__cta:hover  { opacity: 0.88; }
.outro__cta:active { transform: scale(0.98); }
.outro__cta-arrow  { transition: transform 0.3s var(--ease-cinema); }
.outro__cta:hover .outro__cta-arrow { transform: translateX(3px); }

/* ══════════════════════════════════════════════════════════════════════════
   SECTION · Regie / Kontakt
   ══════════════════════════════════════════════════════════════════════════ */
#regie { background: var(--tief); }
.regie-grid {
  display: grid; grid-template-columns: 1fr 1.2fr;
  gap: 3rem; align-items: start;
}
@media (max-width: 820px) { .regie-grid { grid-template-columns: 1fr; } }

.regie-channels { display: flex; flex-direction: column; gap: 1.1rem; }
.regie-channel {
  display: flex; align-items: center; gap: 14px;
  padding: 14px 16px;
  background: var(--elevated);
  border: 1px solid rgba(244,242,237,0.08);
  border-radius: 6px;
  text-decoration: none; color: var(--nebel);
  transition: border-color 0.3s var(--ease-cinema), transform 0.2s var(--ease-cinema);
}
.regie-channel:hover { border-color: rgba(201,162,75,0.45); transform: translateX(4px); }
.regie-channel__bullet {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--gold); flex: 0 0 auto;
  box-shadow: 0 0 8px rgba(201,162,75,0.5);
}
.regie-channel__label {
  font-family: var(--font-mono); font-size: 11px;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--stein); display: block; margin-bottom: 2px;
}
.regie-channel__value {
  font-family: var(--font-body); font-weight: 500;
  font-size: 0.95rem; color: var(--nebel);
}

.regie-trust {
  margin-top: 1.25rem;
  font-family: var(--font-mono); font-size: 11px;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--stein);
}
.regie-trust::before { content: "— "; color: var(--gold); }

.regie-form {
  padding: 2rem 1.75rem;
  background: var(--elevated);
  border: 1px solid rgba(244,242,237,0.08);
  border-radius: 8px;
  display: flex; flex-direction: column; gap: 1rem;
}
.regie-form label {
  font-family: var(--font-mono); font-size: 11px;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--stein); margin-bottom: 6px; display: block;
}
.regie-form input, .regie-form textarea {
  width: 100%; padding: 12px 14px;
  background: rgba(10,12,14,0.6);
  border: 1px solid rgba(244,242,237,0.1);
  border-radius: 4px;
  font-family: var(--font-body); font-size: 14px;
  color: var(--nebel);
  transition: border-color 0.25s, background 0.25s;
}
.regie-form input:focus, .regie-form textarea:focus {
  outline: none; border-color: var(--gold); background: rgba(10,12,14,0.85);
}
.regie-form textarea { resize: vertical; min-height: 110px; }
.regie-form__trust {
  margin-top: 0.5rem;
  font-family: var(--font-body); font-size: 13px;
  color: var(--stein);
}
.regie-form__trust::before { content: "· "; color: var(--gold); }

/* ══════════════════════════════════════════════════════════════════════════
   SECTION · Footer
   ══════════════════════════════════════════════════════════════════════════ */
.footer {
  position: relative;
  padding: 3rem 2rem 2.5rem;
  background: var(--graphit);
  border-top: 1px solid rgba(201,162,75,0.10);
}
.footer__inner {
  max-width: 1200px; margin: 0 auto;
  display: grid; grid-template-columns: 1fr auto 1fr;
  align-items: center; gap: 2rem;
}
@media (max-width: 720px) {
  .footer__inner { grid-template-columns: 1fr; text-align: center; gap: 1rem; }
}
.footer__brand img { height: 24px; opacity: 0.85; margin-bottom: 0.75rem; }
.footer__brand span {
  font-family: var(--font-mono); font-size: 11px;
  letter-spacing: 0.14em; color: var(--stein);
}
.footer__anchor {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--gold); justify-self: center;
  box-shadow: 0 0 16px rgba(201,162,75,0.6);
}
@media (max-width: 720px) { .footer__anchor { display: none; } }
.footer__links {
  justify-self: end; display: flex; gap: 1.75rem;
  font-family: var(--font-mono); font-size: 11px;
  letter-spacing: 0.14em; text-transform: uppercase;
}
@media (max-width: 720px) { .footer__links { justify-self: center; } }
.footer__links a {
  color: var(--stein); text-decoration: none;
  transition: color 0.25s;
}
.footer__links a:hover { color: var(--gold); }

/* ══════════════════════════════════════════════════════════════════════════
   GLOBAL · Prefers-reduced-motion
   ══════════════════════════════════════════════════════════════════════════ */
@media (prefers-reduced-motion: reduce) {
  .automation__badge-dot,
  .flow__core, .flow__core-dot, .flow__particle,
  .quote__item, .stage__live-dot,
  .ribbon__slot.is-active::before, .ribbon__chip, .ribbon__sweep,
  .stage__footline,
  .cinema-hero__live-dot, .cinema-stage__screen::before,
  .cinema-stage__dust span, .cinema-stage__clip, .cinema-stage__clip--b,
  .nav__cta, .format__photo {
    animation: none !important;
    transition: none !important;
  }
  .quote__item.q1 { opacity: 1; }
  .ribbon__slot.is-active::before {
    background: var(--gold) !important;
    box-shadow: 0 0 10px rgba(201,162,75,0.55) !important;
  }
}
/* ══════════════════════════════════════════════════════════════════════════
   SECTION · Demo-Videos  "Sehen Sie selbst"
   ══════════════════════════════════════════════════════════════════════════ */
#demos { background: var(--tief); }
.demos-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
@media (max-width: 980px) { .demos-grid { grid-template-columns: 1fr; } }

.demo {
  margin: 0;
  display: flex; flex-direction: column;
  background: var(--elevated);
  border: 1px solid rgba(244,242,237,0.08);
  border-radius: 10px; overflow: hidden;
  transition: border-color 0.4s var(--ease-cinema),
              transform    0.4s var(--ease-cinema),
              box-shadow   0.4s var(--ease-cinema);
}
.demo:hover {
  border-color: rgba(201,162,75,0.30);
  transform: translateY(-3px);
  box-shadow: 0 22px 60px rgba(0,0,0,0.5);
}
.demo__frame {
  position: relative;
  aspect-ratio: 9 / 16;
  background: #0A0C0E;
  overflow: hidden;
}
.demo__video {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 0.8s var(--ease-cinema);
}
.demo__video.is-ready { opacity: 1; }
.demo__poster {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  filter: saturate(0.85);
}
.demo__poster--01 {
  background: radial-gradient(ellipse 80% 60% at 50% 40%, #c9a24b 0%, #4a2a10 55%, #1a0e05 100%);
}
.demo__poster--02 {
  background: radial-gradient(ellipse 80% 60% at 50% 40%, #8b9a8e 0%, #3a4239 55%, #1a1f1d 100%);
}
.demo__poster--03 {
  background: radial-gradient(ellipse 80% 60% at 50% 40%, #a86a4a 0%, #5a2d1c 55%, #1d120a 100%);
}
.demo__frame::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(10,12,14,0.15) 0%, rgba(10,12,14,0.65) 100%);
  pointer-events: none;
}
.demo__badge {
  position: absolute; top: 14px; left: 14px; z-index: 2;
  font-family: var(--font-mono); font-size: 10px;
  letter-spacing: 0.16em; text-transform: uppercase;
  padding: 4px 10px; border-radius: 100px;
  background: rgba(10,12,14,0.85);
  backdrop-filter: blur(14px);
  box-shadow: 0 4px 16px rgba(0,0,0,0.5);
}
.demo__badge--live {
  color: var(--gold);
  border: 1px solid rgba(201,162,75,0.45);
}
.demo__badge--soon {
  color: rgba(244,242,237,0.7);
  border: 1px solid rgba(244,242,237,0.18);
}
.demo__num {
  position: absolute; top: 14px; right: 16px; z-index: 2;
  font-family: var(--font-mono); font-size: 28px;
  color: var(--gold); letter-spacing: -0.01em;
  text-shadow: 0 2px 8px rgba(0,0,0,0.8);
}
.demo__play {
  position: absolute; left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  width: 62px; height: 62px; border-radius: 50%;
  border: 1px solid rgba(201,162,75,0.55);
  background: rgba(10,12,14,0.65);
  backdrop-filter: blur(18px);
  color: var(--gold); cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 8px 32px rgba(0,0,0,0.5);
  transition: transform 0.3s var(--ease-cinema), background 0.3s var(--ease-cinema);
  z-index: 3;
}
.demo__play:hover { transform: translate(-50%, -50%) scale(1.08); background: rgba(201,162,75,0.15); }
.demo__play svg { margin-left: 3px; }
.demo.is-playing .demo__play { opacity: 0; pointer-events: none; }

.demo__caption {
  padding: 1.25rem 1.5rem 1.5rem;
  display: flex; flex-direction: column; gap: 0.5rem;
}
.demo__kat {
  font-family: var(--font-mono); font-size: 10px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gold);
}
.demo__title {
  font-family: var(--font-display); font-weight: 600;
  font-size: 1.2rem; letter-spacing: -0.02em; line-height: 1.2;
  color: var(--nebel); margin: 0;
}
.demo__sub {
  font-family: var(--font-body); font-weight: 500;
  font-size: 0.92rem; line-height: 1.55;
  color: var(--stein); margin: 0;
  text-wrap: pretty;
}

/* ══════════════════════════════════════════════════════════════════════════
   SECTION · Einführungsphase (Rabatt-Block)
   ══════════════════════════════════════════════════════════════════════════ */
.einfuehrung {
  background: var(--tief);
  padding: 0 0 clamp(60px, 8vw, 100px);
}
.einfuehrung__card {
  position: relative;
  padding: clamp(2.5rem, 5vw, 4rem);
  background:
    radial-gradient(ellipse 60% 100% at 90% 50%, rgba(201,162,75,0.12) 0%, transparent 60%),
    var(--elevated);
  border: 1px solid rgba(201,162,75,0.25);
  border-radius: 12px;
  overflow: hidden;
}
.einfuehrung__card::before {
  content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
  background: linear-gradient(180deg, transparent 0%, var(--gold) 50%, transparent 100%);
}
.einfuehrung__ornament {
  position: absolute; right: -120px; top: 50%; transform: translateY(-50%);
  width: 420px; height: 420px; border-radius: 50%;
  background: radial-gradient(circle, rgba(201,162,75,0.10) 0%, transparent 70%);
  pointer-events: none;
}
.einfuehrung__body { position: relative; z-index: 1; max-width: 780px; }
.einfuehrung__eyebrow {
  display: inline-block;
  font-family: var(--font-mono); font-size: 11px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 1rem;
}
.einfuehrung__headline {
  font-family: var(--font-display); font-weight: 600;
  font-size: clamp(1.75rem, 3.5vw, 2.5rem);
  letter-spacing: -0.025em; line-height: 1.1;
  color: var(--gold); margin: 0 0 1rem;
}
.einfuehrung__copy {
  font-family: var(--font-body); font-weight: 400;
  font-size: 1.05rem; line-height: 1.6;
  color: rgba(244,242,237,0.82);
  max-width: 60ch; margin: 0 0 2rem;
}
.einfuehrung__copy strong { color: var(--nebel); font-weight: 600; }
.einfuehrung__cta-row {
  display: flex; gap: 1.5rem; flex-wrap: wrap; align-items: center;
}
.einfuehrung__code {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--font-mono); font-size: 12px;
  color: var(--stein);
}
.einfuehrung__code-label { letter-spacing: 0.14em; text-transform: uppercase; }
.einfuehrung__code-value {
  padding: 4px 10px; border-radius: 4px;
  background: rgba(201,162,75,0.12);
  border: 1px dashed rgba(201,162,75,0.5);
  color: var(--gold); font-weight: 500; letter-spacing: 0.08em;
}
.einfuehrung__code-note { font-size: 11px; opacity: 0.8; }
@media (max-width: 720px) {
  .einfuehrung__code { width: 100%; flex-wrap: wrap; }
}

/* ══════════════════════════════════════════════════════════════════════════
   SECTION · Inhaber
   ══════════════════════════════════════════════════════════════════════════ */
#inhaber { background: var(--graphit); }
.inhaber-grid {
  display: grid;
  grid-template-columns: minmax(280px, 420px) 1fr;
  gap: clamp(2.5rem, 5vw, 4.5rem);
  align-items: start;
}
@media (max-width: 900px) {
  .inhaber-grid { grid-template-columns: 1fr; max-width: 640px; }
}

.inhaber-portrait { margin: 0; position: sticky; top: 100px; }
@media (max-width: 900px) { .inhaber-portrait { position: static; } }
.inhaber-portrait__frame {
  position: relative;
  aspect-ratio: 4 / 5;
  border-radius: 6px;
  overflow: hidden;
  background: var(--elevated);
  border: 1px solid rgba(244,242,237,0.08);
}
.inhaber-portrait__img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
}
  .inhaber-portrait__placeholder {
  display: flex; /* default visible until real image loads */
  position: absolute; inset: 0;
  flex-direction: column; align-items: center; justify-content: center;
  gap: 1rem;
  background: linear-gradient(145deg, #1a1d21 0%, #2a2420 50%, #1f1a15 100%);
}
.inhaber-portrait__monogram {
  font-family: var(--font-display); font-weight: 500;
  font-size: 64px; letter-spacing: 0.08em;
  color: var(--gold);
  text-shadow: 0 4px 16px rgba(0,0,0,0.5);
}
.inhaber-portrait__note {
  font-family: var(--font-mono); font-size: 11px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--stein);
}
.inhaber-portrait__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(10,12,14,0.55) 100%);
  pointer-events: none;
}
.inhaber-portrait__meta {
  display: flex; flex-direction: column; gap: 4px;
  margin-top: 1rem;
  padding-left: 14px;
  border-left: 1px solid rgba(201,162,75,0.4);
}
.inhaber-portrait__name {
  font-family: var(--font-display); font-weight: 600;
  font-size: 1rem; color: var(--nebel);
}
.inhaber-portrait__role {
  font-family: var(--font-mono); font-size: 11px;
  letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--stein);
}

.inhaber-text__body {
  display: flex; flex-direction: column; gap: 1.25rem;
  margin-top: 1.5rem;
}
.inhaber-text__body p {
  font-family: var(--font-body); font-weight: 400;
  font-size: 1.05rem; line-height: 1.65;
  color: rgba(244,242,237,0.80);
  margin: 0; max-width: 60ch;
  text-wrap: pretty;
}
.inhaber-text__body p strong { color: var(--nebel); font-weight: 500; }
.inhaber-text__foot {
  display: inline-flex; align-items: center; gap: 10px;
  margin-top: 2.5rem; padding-top: 1.25rem;
  border-top: 1px solid rgba(244,242,237,0.08);
  font-family: var(--font-mono); font-size: 11px;
  letter-spacing: 0.15em; text-transform: uppercase;
  color: var(--stein);
}
.inhaber-text__bullet {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--gold);
}

/* ══════════════════════════════════════════════════════════════════════════
   SECTION · Kontakt — Pills + Zwei-Spalten
   ══════════════════════════════════════════════════════════════════════════ */
.kontakt-pills {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem;
  margin-bottom: 3rem;
}
@media (max-width: 780px) { .kontakt-pills { grid-template-columns: 1fr; } }
.kontakt-pill {
  display: flex; align-items: center; gap: 14px;
  padding: 18px 22px;
  background: var(--elevated);
  border: 1px solid rgba(244,242,237,0.08);
  border-radius: 8px;
  text-decoration: none;
  transition: border-color 0.3s var(--ease-cinema),
              transform 0.3s var(--ease-cinema);
}
.kontakt-pill:hover {
  border-color: rgba(201,162,75,0.4);
  transform: translateY(-2px);
}
.kontakt-pill__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; border-radius: 50%;
  background: rgba(201,162,75,0.12);
  color: var(--gold);
  flex-shrink: 0;
}
.kontakt-pill__label {
  display: block;
  font-family: var(--font-mono); font-size: 10px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--stein); margin-bottom: 2px;
}
.kontakt-pill__value {
  display: block;
  font-family: var(--font-display); font-weight: 500;
  font-size: 0.95rem; color: var(--nebel);
}
.kontakt-pill > span:nth-child(2),
.kontakt-pill > span:nth-child(3) {
  display: flex; flex-direction: column;
}
.kontakt-pill > span:nth-child(2) {
  /* icon column placeholder — not used, but kept for safe layout */
}

.kontakt-cols {
  display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem;
}
@media (max-width: 980px) { .kontakt-cols { grid-template-columns: 1fr; } }

.kontakt-col {
  position: relative;
  background: var(--elevated);
  border: 1px solid rgba(244,242,237,0.08);
  border-radius: 12px;
  padding: clamp(1.75rem, 3vw, 2.5rem);
  display: flex; flex-direction: column;
}
.kontakt-col__head { margin-bottom: 2rem; }
.kontakt-col__num {
  display: inline-block;
  font-family: var(--font-mono); font-size: 12px;
  letter-spacing: 0.18em;
  color: var(--gold); margin-bottom: 0.75rem;
}
.kontakt-col__title {
  font-family: var(--font-display); font-weight: 600;
  font-size: 1.5rem; letter-spacing: -0.02em;
  color: var(--nebel); margin: 0 0 0.5rem;
}
.kontakt-col__sub {
  font-family: var(--font-body); font-size: 0.95rem;
  color: var(--stein); margin: 0; max-width: 45ch;
}
.kontakt-col__foot {
  font-family: var(--font-mono); font-size: 10px;
  letter-spacing: 0.15em; text-transform: uppercase;
  color: var(--stein); margin: 1.5rem 0 0;
}

/* Stepper */
.stepper {
  position: relative;
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 0;
  margin-bottom: 2rem;
  border-bottom: 1px solid rgba(244,242,237,0.08);
}
.stepper__tab {
  background: transparent; border: 0;
  padding: 14px 0 16px;
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  font-family: var(--font-mono); font-size: 11px;
  letter-spacing: 0.16em; text-transform: uppercase;
  color: rgba(244,242,237,0.45);
  cursor: pointer;
  transition: color 0.3s var(--ease-cinema);
}
.stepper__tab:hover { color: var(--nebel); }
.stepper__tab.is-active { color: var(--nebel); }
.stepper__idx {
  display: inline-flex; align-items: center; justify-content: center;
  width: 22px; height: 22px; border-radius: 50%;
  font-size: 11px; font-weight: 500;
  background: rgba(244,242,237,0.08);
  color: var(--stein);
  transition: background 0.3s var(--ease-cinema), color 0.3s var(--ease-cinema);
}
.stepper__tab.is-active .stepper__idx {
  background: var(--gold); color: var(--graphit);
}
.stepper__tab.is-done .stepper__idx {
  background: rgba(201,162,75,0.25); color: var(--gold);
}
.stepper__rail {
  position: absolute; left: 0; right: 0; bottom: -1px;
  height: 2px;
  background: transparent;
}
.stepper__progress {
  height: 100%; width: 33.33%;
  background: var(--gold);
  transition: width 0.4s var(--ease-cinema);
}

/* Form steps */
.anfrage-form { display: flex; flex-direction: column; flex: 1; }
.step {
  border: 0; padding: 0; margin: 0;
  display: none; flex-direction: column; gap: 1.25rem;
}
.step.is-active { display: flex; }
.field { display: flex; flex-direction: column; gap: 6px; }
.field__label {
  font-family: var(--font-mono); font-size: 10px;
  letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--stein);
}
.field input[type="text"],
.field input[type="email"],
.field input[type="tel"],
.field textarea {
  font-family: var(--font-body); font-size: 0.95rem;
  padding: 12px 14px;
  background: rgba(10,12,14,0.5);
  border: 1px solid rgba(244,242,237,0.12);
  border-radius: 6px;
  color: var(--nebel);
  transition: border-color 0.3s var(--ease-cinema);
  resize: vertical;
}
.field input:focus,
.field textarea:focus {
  outline: none; border-color: var(--gold);
}
.field input::placeholder,
.field textarea::placeholder { color: rgba(244,242,237,0.3); }

.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 580px) { .field-row { grid-template-columns: 1fr; } }

.choice-row { display: flex; gap: 10px; flex-wrap: wrap; }
.choice-row--grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
@media (max-width: 580px) { .choice-row--grid { grid-template-columns: 1fr; } }
.choice {
  flex: 1;
  display: inline-flex; align-items: center; justify-content: center;
  padding: 12px 14px;
  background: rgba(10,12,14,0.5);
  border: 1px solid rgba(244,242,237,0.12);
  border-radius: 6px;
  cursor: pointer;
  font-family: var(--font-body); font-size: 0.9rem;
  color: rgba(244,242,237,0.7);
  transition: border-color 0.3s var(--ease-cinema),
              background 0.3s var(--ease-cinema),
              color 0.3s var(--ease-cinema);
}
.choice:hover { color: var(--nebel); border-color: rgba(201,162,75,0.3); }
.choice input { position: absolute; opacity: 0; pointer-events: none; }
.choice:has(input:checked) {
  color: var(--gold);
  border-color: var(--gold);
  background: rgba(201,162,75,0.08);
}

.summary {
  display: flex; flex-direction: column; gap: 4px;
  padding: 12px 14px;
  background: rgba(201,162,75,0.08);
  border: 1px dashed rgba(201,162,75,0.35);
  border-radius: 6px;
}
.summary__label {
  font-family: var(--font-mono); font-size: 10px;
  letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--gold);
}
.summary__value {
  font-family: var(--font-body); font-size: 0.9rem; color: rgba(244,242,237,0.85);
}
.summary__value strong { color: var(--gold); font-weight: 600; letter-spacing: 0.05em; }

.consent {
  display: flex; align-items: flex-start; gap: 10px;
  font-family: var(--font-body); font-size: 0.82rem; color: var(--stein);
  line-height: 1.5;
}
.consent input { margin-top: 3px; accent-color: var(--gold); }

.form-nav {
  display: flex; gap: 0.75rem; margin-top: 1.75rem; flex-wrap: wrap;
}
.btn--submit { background: var(--gold); color: var(--graphit); }
.btn[disabled] { opacity: 0.35; pointer-events: none; }
.btn[hidden] { display: none !important; }

.news-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr));
  gap: 1.5rem;
}

.news-card {
  background: rgba(255,255,255,0.03);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,0.06);
  border-top: 1px solid rgba(255,255,255,0.08);
  border-radius: 16px;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  transition: border-color 200ms ease-out, box-shadow 200ms ease-out;
}

.news-card:hover {
  border-color: rgba(201,162,75,0.3);
  box-shadow: 0 0 24px rgba(201,162,75,0.08), inset 0 1px 0 rgba(255,255,255,0.1);
}

.news-meta {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--stein);
  display: block;
}

.news-title {
  font-family: var(--font-display);
  font-size: clamp(1rem, 2vw, 1.15rem);
  font-weight: 600;
  color: var(--nebel);
  line-height: 1.35;
  margin: 0;
}

.news-title a {
  text-decoration: none;
  color: inherit;
  transition: color 150ms ease;
}

.news-title a:hover { color: var(--gold); }

.news-excerpt {
  font-family: var(--font-body);
  font-size: 0.9rem;
  line-height: 1.65;
  color: var(--stein);
  flex-grow: 1;
  margin: 0;
}

.news-link {
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.08em;
  color: var(--gold);
  text-decoration: none;
  align-self: flex-start;
  transition: opacity 150ms ease;
}

.news-link:hover { opacity: 0.7; }

.news-all {
  text-align: center;
  margin-top: 2.5rem;
  margin-bottom: 0;
}

.news-all-link {
  font-family: var(--font-mono);
  font-size: 13px;
  letter-spacing: 0.1em;
  color: var(--gold);
  text-decoration: none;
  border: 1px solid rgba(201,162,75,0.4);
  padding: 0.65rem 1.75rem;
  border-radius: 8px;
  display: inline-block;
  transition: border-color 200ms ease-out, background 200ms ease-out;
}

.news-all-link:hover {
  border-color: var(--gold);
  background: rgba(201,162,75,0.08);
}

.ttk-archive, .ttk-single-news {
  min-height: 60vh;
  background: var(--graphit);
  color: var(--nebel);
}

.news-body h2, .news-body h3 {
  font-family: var(--font-display);
  color: var(--nebel);
  margin: 2rem 0 0.75rem;
}

.news-body a {
  color: var(--gold);
  text-decoration: none;
}

.news-body a:hover { text-decoration: underline; }

.news-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr));
  gap: 1.5rem;
}

.news-card {
  background: rgba(255,255,255,0.03);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,0.06);
  border-top: 1px solid rgba(255,255,255,0.08);
  border-radius: 16px;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  transition: border-color 200ms ease-out, box-shadow 200ms ease-out;
}

.news-card:hover {
  border-color: rgba(201,162,75,0.3);
  box-shadow: 0 0 24px rgba(201,162,75,0.08), inset 0 1px 0 rgba(255,255,255,0.1);
}

.news-meta {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--stein);
  display: block;
}

.news-title {
  font-family: var(--font-display);
  font-size: clamp(1rem, 2vw, 1.15rem);
  font-weight: 600;
  color: var(--nebel);
  line-height: 1.35;
  margin: 0;
}

.news-title a {
  text-decoration: none;
  color: inherit;
  transition: color 150ms ease;
}

.news-title a:hover { color: var(--gold); }

.news-excerpt {
  font-family: var(--font-body);
  font-size: 0.9rem;
  line-height: 1.65;
  color: var(--stein);
  flex-grow: 1;
  margin: 0;
}

.news-link {
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.08em;
  color: var(--gold);
  text-decoration: none;
  align-self: flex-start;
  transition: opacity 150ms ease;
}

.news-link:hover { opacity: 0.7; }

.news-all {
  text-align: center;
  margin-top: 2.5rem;
  margin-bottom: 0;
}

.news-all-link {
  font-family: var(--font-mono);
  font-size: 13px;
  letter-spacing: 0.1em;
  color: var(--gold);
  text-decoration: none;
  border: 1px solid rgba(201,162,75,0.4);
  padding: 0.65rem 1.75rem;
  border-radius: 8px;
  display: inline-block;
  transition: border-color 200ms ease-out, background 200ms ease-out;
}

.news-all-link:hover {
  border-color: var(--gold);
  background: rgba(201,162,75,0.08);
}

.ttk-archive, .ttk-single-news {
  min-height: 60vh;
  background: var(--graphit);
  color: var(--nebel);
}

.news-body h2, .news-body h3 {
  font-family: var(--font-display);
  color: var(--nebel);
  margin: 2rem 0 0.75rem;
}

.news-body a {
  color: var(--gold);
  text-decoration: none;
}

.news-body a:hover { text-decoration: underline; }

.news-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr));
  gap: 1.5rem;
}

.news-card {
  background: rgba(255,255,255,0.03);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,0.06);
  border-top: 1px solid rgba(255,255,255,0.08);
  border-radius: 16px;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  transition: border-color 200ms ease-out, box-shadow 200ms ease-out;
}

.news-card:hover {
  border-color: rgba(201,162,75,0.3);
  box-shadow: 0 0 24px rgba(201,162,75,0.08), inset 0 1px 0 rgba(255,255,255,0.1);
}

.news-meta {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--stein);
  display: block;
}

.news-title {
  font-family: var(--font-display);
  font-size: clamp(1rem, 2vw, 1.15rem);
  font-weight: 600;
  color: var(--nebel);
  line-height: 1.35;
  margin: 0;
}

.news-title a {
  text-decoration: none;
  color: inherit;
  transition: color 150ms ease;
}

.news-title a:hover { color: var(--gold); }

.news-excerpt {
  font-family: var(--font-body);
  font-size: 0.9rem;
  line-height: 1.65;
  color: var(--stein);
  flex-grow: 1;
  margin: 0;
}

.news-link {
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.08em;
  color: var(--gold);
  text-decoration: none;
  align-self: flex-start;
  transition: opacity 150ms ease;
}

.news-link:hover { opacity: 0.7; }

.news-all {
  text-align: center;
  margin-top: 2.5rem;
  margin-bottom: 0;
}

.news-all-link {
  font-family: var(--font-mono);
  font-size: 13px;
  letter-spacing: 0.1em;
  color: var(--gold);
  text-decoration: none;
  border: 1px solid rgba(201,162,75,0.4);
  padding: 0.65rem 1.75rem;
  border-radius: 8px;
  display: inline-block;
  transition: border-color 200ms ease-out, background 200ms ease-out;
}

.news-all-link:hover {
  border-color: var(--gold);
  background: rgba(201,162,75,0.08);
}

.ttk-archive, .ttk-single-news {
  min-height: 60vh;
  background: var(--graphit);
  color: var(--nebel);
}

.news-body h2, .news-body h3 {
  font-family: var(--font-display);
  color: var(--nebel);
  margin: 2rem 0 0.75rem;
}

.news-body a {
  color: var(--gold);
  text-decoration: none;
}

.news-body a:hover { text-decoration: underline; }

.news-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr));
  gap: 1.5rem;
}

.news-card {
  background: rgba(255,255,255,0.03);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,0.06);
  border-top: 1px solid rgba(255,255,255,0.08);
  border-radius: 16px;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  transition: border-color 200ms ease-out, box-shadow 200ms ease-out;
}

.news-card:hover {
  border-color: rgba(201,162,75,0.3);
  box-shadow: 0 0 24px rgba(201,162,75,0.08), inset 0 1px 0 rgba(255,255,255,0.1);
}

.news-meta {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--stein);
  display: block;
}

.news-title {
  font-family: var(--font-display);
  font-size: clamp(1rem, 2vw, 1.15rem);
  font-weight: 600;
  color: var(--nebel);
  line-height: 1.35;
  margin: 0;
}

.news-title a {
  text-decoration: none;
  color: inherit;
  transition: color 150ms ease;
}

.news-title a:hover { color: var(--gold); }

.news-excerpt {
  font-family: var(--font-body);
  font-size: 0.9rem;
  line-height: 1.65;
  color: var(--stein);
  flex-grow: 1;
  margin: 0;
}

.news-link {
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.08em;
  color: var(--gold);
  text-decoration: none;
  align-self: flex-start;
  transition: opacity 150ms ease;
}

.news-link:hover { opacity: 0.7; }

.news-all {
  text-align: center;
  margin-top: 2.5rem;
  margin-bottom: 0;
}

.news-all-link {
  font-family: var(--font-mono);
  font-size: 13px;
  letter-spacing: 0.1em;
  color: var(--gold);
  text-decoration: none;
  border: 1px solid rgba(201,162,75,0.4);
  padding: 0.65rem 1.75rem;
  border-radius: 8px;
  display: inline-block;
  transition: border-color 200ms ease-out, background 200ms ease-out;
}

.news-all-link:hover {
  border-color: var(--gold);
  background: rgba(201,162,75,0.08);
}

.ttk-archive, .ttk-single-news {
  min-height: 60vh;
  background: var(--graphit);
  color: var(--nebel);
}

.news-body h2, .news-body h3 {
  font-family: var(--font-display);
  color: var(--nebel);
  margin: 2rem 0 0.75rem;
}

.news-body a {
  color: var(--gold);
  text-decoration: none;
}

.news-body a:hover { text-decoration: underline; }

.news-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr));
  gap: 1.5rem;
}

.news-card {
  background: rgba(255,255,255,0.03);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,0.06);
  border-top: 1px solid rgba(255,255,255,0.08);
  border-radius: 16px;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  transition: border-color 200ms ease-out, box-shadow 200ms ease-out;
}

.news-card:hover {
  border-color: rgba(201,162,75,0.3);
  box-shadow: 0 0 24px rgba(201,162,75,0.08), inset 0 1px 0 rgba(255,255,255,0.1);
}

.news-meta {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--stein);
  display: block;
}

.news-title {
  font-family: var(--font-display);
  font-size: clamp(1rem, 2vw, 1.15rem);
  font-weight: 600;
  color: var(--nebel);
  line-height: 1.35;
  margin: 0;
}

.news-title a {
  text-decoration: none;
  color: inherit;
  transition: color 150ms ease;
}

.news-title a:hover { color: var(--gold); }

.news-excerpt {
  font-family: var(--font-body);
  font-size: 0.9rem;
  line-height: 1.65;
  color: var(--stein);
  flex-grow: 1;
  margin: 0;
}

.news-link {
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.08em;
  color: var(--gold);
  text-decoration: none;
  align-self: flex-start;
  transition: opacity 150ms ease;
}

.news-link:hover { opacity: 0.7; }

.news-all {
  text-align: center;
  margin-top: 2.5rem;
  margin-bottom: 0;
}

.news-all-link {
  font-family: var(--font-mono);
  font-size: 13px;
  letter-spacing: 0.1em;
  color: var(--gold);
  text-decoration: none;
  border: 1px solid rgba(201,162,75,0.4);
  padding: 0.65rem 1.75rem;
  border-radius: 8px;
  display: inline-block;
  transition: border-color 200ms ease-out, background 200ms ease-out;
}

.news-all-link:hover {
  border-color: var(--gold);
  background: rgba(201,162,75,0.08);
}

.ttk-archive, .ttk-single-news {
  min-height: 60vh;
  background: var(--graphit);
  color: var(--nebel);
}

.news-body h2, .news-body h3 {
  font-family: var(--font-display);
  color: var(--nebel);
  margin: 2rem 0 0.75rem;
}

.news-body a {
  color: var(--gold);
  text-decoration: none;
}

.news-body a:hover { text-decoration: underline; }

.news-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr));
  gap: 1.5rem;
}

.news-card {
  background: rgba(255,255,255,0.03);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,0.06);
  border-top: 1px solid rgba(255,255,255,0.08);
  border-radius: 16px;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  transition: border-color 200ms ease-out, box-shadow 200ms ease-out;
}

.news-card:hover {
  border-color: rgba(201,162,75,0.3);
  box-shadow: 0 0 24px rgba(201,162,75,0.08), inset 0 1px 0 rgba(255,255,255,0.1);
}

.news-meta {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--stein);
  display: block;
}

.news-title {
  font-family: var(--font-display);
  font-size: clamp(1rem, 2vw, 1.15rem);
  font-weight: 600;
  color: var(--nebel);
  line-height: 1.35;
  margin: 0;
}

.news-title a {
  text-decoration: none;
  color: inherit;
  transition: color 150ms ease;
}

.news-title a:hover { color: var(--gold); }

.news-excerpt {
  font-family: var(--font-body);
  font-size: 0.9rem;
  line-height: 1.65;
  color: var(--stein);
  flex-grow: 1;
  margin: 0;
}

.news-link {
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.08em;
  color: var(--gold);
  text-decoration: none;
  align-self: flex-start;
  transition: opacity 150ms ease;
}

.news-link:hover { opacity: 0.7; }

.news-all {
  text-align: center;
  margin-top: 2.5rem;
  margin-bottom: 0;
}

.news-all-link {
  font-family: var(--font-mono);
  font-size: 13px;
  letter-spacing: 0.1em;
  color: var(--gold);
  text-decoration: none;
  border: 1px solid rgba(201,162,75,0.4);
  padding: 0.65rem 1.75rem;
  border-radius: 8px;
  display: inline-block;
  transition: border-color 200ms ease-out, background 200ms ease-out;
}

.news-all-link:hover {
  border-color: var(--gold);
  background: rgba(201,162,75,0.08);
}

.ttk-archive, .ttk-single-news {
  min-height: 60vh;
  background: var(--graphit);
  color: var(--nebel);
}

.news-body h2, .news-body h3 {
  font-family: var(--font-display);
  color: var(--nebel);
  margin: 2rem 0 0.75rem;
}

.news-body a {
  color: var(--gold);
  text-decoration: none;
}

.news-body a:hover { text-decoration: underline; }

.footer-legal {
  background: var(--graphit);
  border-top: 1px solid var(--linie);
  padding: 0.75rem 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.06em;
}

.footer-legal a {
  color: var(--stein);
  text-decoration: none;
  transition: color 150ms ease;
}

.footer-legal a:hover { color: var(--gold); }

.footer-legal span[aria-hidden] { color: var(--linie); }

@media (max-width: 480px) {
  .footer-legal { font-size: 10px; gap: 0.75rem; padding: 0.65rem 1rem; }
}
.kontakt-cols { grid-template-columns: 1fr; }
.kontakt-cols .kontakt-col { max-width: 640px; margin-left: auto; margin-right: auto; width: 100%; }

/* === PAGE LAYOUT (28.04.2026) === */
.page-main { padding: clamp(80px,10vw,120px) 0; }
.page-article { max-width: 800px; margin: 0 auto; padding-left: 1.5rem; padding-right: 1.5rem; }
.page-title { margin: 0 0 2rem; }
.entry-content { font-size: 1.05rem; line-height: 1.65; color: rgba(244,242,237,0.85); max-width: 720px; }
.entry-content h2 { margin-top: 2.5rem; margin-bottom: 0.75rem; }
.entry-content h3 { margin-top: 1.75rem; margin-bottom: 0.5rem; }
.page-backlink { max-width: 720px; margin: 3rem 0 4rem; }
.page-backlink a { color: var(--gold); text-decoration: none; font-size: 0.9rem; letter-spacing: 0.05em; }
.page-backlink a:hover { text-decoration: underline; }
/* === AKT II AKTUELLES + NEWS CARDS (28.04.2026) === */
.akt { padding: clamp(60px,8vw,100px) 0; }
.akt-aktuelles { background: transparent; }
.akt-meta { display: flex; align-items: baseline; gap: 1rem; margin-bottom: 2rem; padding: 0 clamp(1rem,4vw,3rem); }
.akt-nummer { font-family: 'JetBrains Mono',monospace; font-size: .7rem; letter-spacing: .2em; color: #C9A24B; text-transform: uppercase; }
.akt-titel { font-size: .9rem; color: #6A6A6A; font-style: italic; }
.akt-inhalt { max-width: 1100px; margin: 0 auto; padding: 0 clamp(1rem,4vw,3rem); }
.kicker { font-family: 'JetBrains Mono',monospace; font-size: .65rem; letter-spacing: .25em; color: #C9A24B; text-transform: uppercase; display: block; margin-bottom: 1.25rem; }
.akt-headline { font-size: clamp(2rem,4vw,3rem); line-height: 1.1; margin: 0 0 2.5rem; }
.akt-headline em { font-style: italic; color: #C9A24B; }
.news-grid-3 { list-style: none; padding: 0; margin: 0 0 3rem; display: grid; grid-template-columns: repeat(3,1fr); gap: 2rem; }
.news-card { background: #1A1D21; border: 1px solid rgba(255,255,255,.06); border-radius: 12px; overflow: hidden; transition: border-color 200ms ease; }
.news-card:hover { border-color: #C9A24B; }
.news-card-img { display: block; overflow: hidden; aspect-ratio: 16/9; }
.news-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 400ms ease; }
.news-card:hover .news-card-img img { transform: scale(1.04); }
.news-card-body { padding: 1.25rem 1.5rem 1.5rem; }
.news-meta { font-family: 'JetBrains Mono',monospace; font-size: .65rem; letter-spacing: .1em; color: #6A6A6A; display: block; margin-bottom: .75rem; }
.news-card-title { font-size: 1.05rem; font-weight: 600; margin: 0 0 .75rem; line-height: 1.3; }
.news-card-title a { color: #F4F2ED; text-decoration: none; }
.news-card-title a:hover { color: #C9A24B; }
.news-card-excerpt { font-size: .9rem; color: rgba(244,242,237,.6); line-height: 1.55; margin: 0 0 1.25rem; }
.news-card-link { font-size: .85rem; color: #C9A24B; text-decoration: none; letter-spacing: .03em; }
.news-card-link:hover { text-decoration: underline; }
.akt-cta { text-align: center; margin-top: 1rem; }
.btn-ghost { display: inline-block; padding: .7rem 1.75rem; border: 1px solid #C9A24B; border-radius: 6px; color: #C9A24B; text-decoration: none; font-size: .9rem; letter-spacing: .05em; transition: background 200ms,color 200ms; }
.btn-ghost:hover { background: #C9A24B; color: #121417; }
@media (max-width: 768px) { .news-grid-3 { grid-template-columns: 1fr; } }

/* === JOURNAL HUB (home.php) === */
.journal-main { padding: clamp(80px,10vw,120px) 0; }
.journal-head { margin: 2.5rem 0 2rem; }
.journal-cats { display: flex; flex-wrap: wrap; gap: .6rem; margin-bottom: 3rem; }
.journal-cat-link { font-family: 'JetBrains Mono',monospace; font-size: .7rem; letter-spacing: .15em; text-transform: uppercase; color: #6A6A6A; border: 1px solid rgba(255,255,255,.08); border-radius: 4px; padding: .35rem .85rem; text-decoration: none; transition: color 200ms,border-color 200ms; }
.journal-cat-link:hover, .journal-cat-link.is-active { color: #C9A24B; border-color: #C9A24B; }
.journal-grid { margin-top: 0; }
.journal-pagination { margin: 3rem 0 2rem; text-align: center; }
.journal-pagination .nav-links a, .journal-pagination .nav-links span { display: inline-block; padding: .5rem 1rem; margin: .25rem; border: 1px solid rgba(255,255,255,.1); border-radius: 4px; color: #F4F2ED; text-decoration: none; font-size: .9rem; transition: border-color 200ms,color 200ms; }
.journal-pagination .nav-links a:hover { border-color: #C9A24B; color: #C9A24B; }
.journal-pagination .nav-links .current { border-color: #C9A24B; color: #C9A24B; }
.journal-empty { color: #6A6A6A; font-size: 1.05rem; margin-top: 3rem; }


.akt-aktuelles{position:relative}
.akt-aktuelles::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:min(900px,80%);height:1px;background:linear-gradient(90deg,transparent,var(--gold) 50%,transparent);opacity:.3;pointer-events:none}
.news-stage{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,3vw,2.5rem);margin-top:clamp(2.5rem,5vw,4rem);margin-bottom:clamp(2.5rem,4vw,3.5rem)}
@media(max-width:960px){.news-stage{grid-template-columns:1fr;gap:2rem}}
.news-card{position:relative;display:flex;flex-direction:column;gap:1rem;background:transparent;border:none;border-radius:0;overflow:visible;opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease-cinema),transform .9s var(--ease-cinema);transition-delay:var(--reveal-delay,0ms)}
.news-card.is-revealed{opacity:1;transform:translateY(0)}
.news-card-frame{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;border-radius:6px;background:linear-gradient(135deg,rgba(201,162,75,.08),rgba(0,0,0,.4));transition:transform .6s var(--ease-cinema);text-decoration:none}
.news-card-frame::after{content:"";position:absolute;inset:0;border:1px solid rgba(201,162,75,0);border-radius:6px;transition:border-color .6s ease,box-shadow .6s ease;pointer-events:none}
.news-card:hover .news-card-frame{transform:scale(1.012)}
.news-card:hover .news-card-frame::after{border-color:rgba(201,162,75,.45);box-shadow:0 18px 60px -28px rgba(201,162,75,.4)}
.news-card-img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(1.05) contrast(1.02);transition:transform 1.2s var(--ease-cinema)}
.news-card:hover .news-card-img{transform:scale(1.04)}
.news-card-placeholder{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(circle at 30% 30%,rgba(201,162,75,.18),transparent 60%),linear-gradient(135deg,#14110d,#1f1a12)}
.news-card-placeholder-mark{font-family:var(--font-display);font-weight:600;letter-spacing:.08em;font-size:.95rem;color:rgba(255,255,255,.55);text-transform:uppercase}
.news-card-vignette{position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.55) 100%);pointer-events:none}
.news-card-meta{display:flex;align-items:center;gap:.75rem;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.16em;color:rgba(255,255,255,.55);text-transform:uppercase;padding-top:.25rem}
.news-card-date{color:var(--gold)}
.news-card-divider{width:18px;height:1px;background:rgba(255,255,255,.25);flex-shrink:0}
.news-card-title{font-family:var(--font-display);font-weight:500;font-size:clamp(1.15rem,1.5vw,1.4rem);line-height:1.25;letter-spacing:-.005em;margin:0}
.news-card-title a{color:var(--nebel);text-decoration:none;background-image:linear-gradient(var(--gold),var(--gold));background-repeat:no-repeat;background-size:0 1px;background-position:0 100%;transition:background-size .5s var(--ease-cinema)}
.news-card:hover .news-card-title a{background-size:100% 1px;color:var(--nebel)}
.news-card-excerpt{color:rgba(255,255,255,.65);font-size:.92rem;line-height:1.6;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.news-card-cta{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);text-decoration:none;padding-top:.25rem;margin-top:auto}
.news-card-cta-arrow{transition:transform .5s var(--ease-cinema);display:inline-block}
.news-card:hover .news-card-cta-arrow{transform:translateX(6px)}
.news-stage-cta{text-align:center;margin-top:0}
.btn--ghost{background:transparent;color:var(--gold);border:1px solid var(--gold);opacity:1}
.btn--ghost:hover{background:var(--gold);color:var(--graphit);opacity:1}
@media(prefers-reduced-motion:reduce){.news-card,.news-card-frame,.news-card-img,.news-card-cta-arrow,.news-card-title a{transition:none!important;transform:none!important}.news-card{opacity:1}}
/* === AKT II ROUND 2 (2026-04-28) === */
.news-stage{margin-bottom:0}
.news-stage-cta{margin-bottom:0}
.news-card{opacity:0;transform:translateY(40px);transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,0ms)}
.news-card.is-revealed{opacity:1;transform:translateY(0)}
.news-card-frame{transition:transform .7s cubic-bezier(.16,1,.3,1)}
.news-card:hover .news-card-frame{transform:scale(1.035) translateY(-4px)}
.news-card-frame::after{content:"";position:absolute;inset:0;border-radius:6px;border:1px solid rgba(201,162,75,0);pointer-events:none;transition:border-color .5s ease,box-shadow .5s ease}
.news-card:hover .news-card-frame::after{border-color:rgba(201,162,75,.7);box-shadow:0 24px 70px -18px rgba(201,162,75,.35),0 0 0 1px rgba(201,162,75,.4)}
.news-card-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.4s cubic-bezier(.16,1,.3,1),filter .6s ease}
.news-card:hover .news-card-img{transform:scale(1.08);filter:saturate(1.15) contrast(1.05) brightness(1.05)}
.news-card-vignette{position:absolute;inset:0;border-radius:6px;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.55) 100%);pointer-events:none;transition:opacity .5s ease,background .5s ease}
.news-card:hover .news-card-vignette{opacity:.7;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.7) 100%)}
.news-card-title a{background-image:linear-gradient(var(--gold,#c9a24b),var(--gold,#c9a24b));background-repeat:no-repeat;background-position:0 100%;background-size:0 1.5px;transition:background-size .6s cubic-bezier(.16,1,.3,1),color .4s ease;text-decoration:none;color:var(--nebel,#f4f2ed)}
.news-card:hover .news-card-title a{background-size:100% 1.5px;color:var(--gold,#c9a24b)}
.news-card-cta-arrow{display:inline-block;transition:transform .5s cubic-bezier(.16,1,.3,1)}
.news-card:hover .news-card-cta-arrow{transform:translateX(10px)}
.news-card-cta-label{position:relative}
.news-card-cta-label::after{content:"";position:absolute;left:0;right:100%;bottom:-3px;height:1px;background:var(--gold,#c9a24b);transition:right .5s cubic-bezier(.16,1,.3,1)}
.news-card:hover .news-card-cta-label::after{right:0}
.post-backnav{max-width:760px;margin:clamp(3rem,6vw,5rem) auto clamp(4rem,8vw,6rem);padding:0 1.5rem;display:grid;gap:2rem}
.post-backnav-main{display:inline-flex;align-items:center;gap:1rem;text-decoration:none;color:var(--nebel,#f4f2ed);padding:1.25rem 1.75rem;border:1px solid rgba(201,162,75,.25);border-radius:6px;background:linear-gradient(135deg,rgba(201,162,75,.04),transparent);transition:border-color .4s ease,transform .5s cubic-bezier(.16,1,.3,1),background .5s ease}
.post-backnav-main:hover{border-color:rgba(201,162,75,.6);transform:translateX(-4px);background:linear-gradient(135deg,rgba(201,162,75,.1),transparent)}
.post-backnav-arrow{font-size:1.25rem;color:var(--gold,#c9a24b);transition:transform .5s cubic-bezier(.16,1,.3,1)}
.post-backnav-main:hover .post-backnav-arrow{transform:translateX(-6px)}
.post-backnav-label{display:flex;flex-direction:column;gap:.15rem}
.post-backnav-kicker{font-family:var(--font-mono,"JetBrains Mono",monospace);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold,#c9a24b)}
.post-backnav-text{font-family:var(--font-display,"Inter",sans-serif);font-size:1rem;color:var(--nebel,#f4f2ed)}
.post-backnav-sib{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.08)}
@media(max-width:640px){.post-backnav-sib{grid-template-columns:1fr}}
.post-backnav-prev,.post-backnav-next{display:flex;flex-direction:column;gap:.4rem;text-decoration:none;padding:1rem 0;transition:transform .4s cubic-bezier(.16,1,.3,1)}
.post-backnav-prev:hover{transform:translateX(-4px)}
.post-backnav-next:hover{transform:translateX(4px)}
.post-backnav-next{text-align:right;grid-column:2}
@media(max-width:640px){.post-backnav-next{text-align:left;grid-column:1}}
.post-backnav-prev .post-backnav-text,.post-backnav-next .post-backnav-text{color:var(--nebel,#f4f2ed);font-size:.95rem;line-height:1.4}
@media(prefers-reduced-motion:reduce){.news-card,.news-card-frame,.news-card-img,.news-card-vignette,.news-card-title a,.news-card-cta-arrow,.news-card-cta-label::after,.post-backnav-main,.post-backnav-arrow,.post-backnav-prev,.post-backnav-next{transition:none!important;transform:none!important;animation:none!important}.news-card{opacity:1}}
/* === AKT II ROUND 3 (2026-04-28) === */
.news-stage-cta{margin-top:clamp(2rem,3vw,3rem);margin-bottom:0}
.news-card-frame{transition:transform .7s cubic-bezier(.16,1,.3,1),box-shadow .5s ease}
.akt-aktuelles .news-card:hover .news-card-frame{transform:scale(1.05) translateY(-8px);box-shadow:0 0 0 1.5px rgba(201,162,75,.8),0 28px 80px -16px rgba(201,162,75,.5)}
.akt-aktuelles .news-card:hover .news-card-img{transform:scale(1.12);filter:saturate(1.25) contrast(1.08) brightness(1.08)}
.akt-aktuelles .news-card:hover .news-card-title a{color:var(--gold,#c9a24b);background-size:100% 1.5px}
.akt-aktuelles .news-card:hover .news-card-cta-arrow{transform:translateX(12px)}
.akt-aktuelles .news-card:hover .news-card-vignette{opacity:.75;background:linear-gradient(180deg,transparent 25%,rgba(0,0,0,.75) 100%)}
.post-backnav{grid-template-columns:1fr 1fr;gap:1rem}
.post-backnav-sib{grid-column:1/-1}
@media(max-width:640px){.post-backnav{grid-template-columns:1fr}}
.page-article .post-backnav{padding:0;max-width:100%;margin-top:clamp(3rem,6vw,5rem);margin-bottom:clamp(2rem,4vw,3rem)}
.post-backnav-home,.post-backnav-journal{display:inline-flex;align-items:center;gap:1rem;text-decoration:none;color:var(--nebel,#f4f2ed);padding:1.25rem 1.75rem;border:1px solid rgba(201,162,75,.25);border-radius:6px;background:linear-gradient(135deg,rgba(201,162,75,.04),transparent);transition:border-color .4s ease,transform .5s cubic-bezier(.16,1,.3,1),background .5s ease;width:100%}
.post-backnav-home:hover,.post-backnav-journal:hover{border-color:rgba(201,162,75,.6);transform:translateX(-4px);background:linear-gradient(135deg,rgba(201,162,75,.1),transparent)}
.post-backnav-home:hover .post-backnav-arrow,.post-backnav-journal:hover .post-backnav-arrow{transform:translateX(-6px)}
.post-meta{font-family:var(--font-mono,"JetBrains Mono",monospace);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--stein,#6a6a6a);margin:0 0 2.5rem;display:block}
.post-hero{margin:0 0 2.5rem;border-radius:8px;overflow:hidden}
.post-hero img{width:100%;height:auto;display:block}
.page-main .entry-content{font-family:var(--font-body,"Inter",sans-serif)}
.page-main .entry-content p,.page-main .entry-content li{font-family:var(--font-body,"Inter",sans-serif);font-size:1.05rem;line-height:1.7;color:rgba(244,242,237,.85)}
@media(prefers-reduced-motion:reduce){.news-card-frame,.akt-aktuelles .news-card:hover .news-card-frame,.akt-aktuelles .news-card:hover .news-card-img,.post-backnav-home,.post-backnav-journal{transition:none!important;transform:none!important}}
/* autoplay-Video sofort sichtbar machen (kein JS-Delay) */
.demo__video[autoplay].is-ready,
.demo__video[autoplay] { opacity: 1; }


/* Karte 01 hat Video — Poster-Gradient ausblenden, Video zeigen */
.demo[data-demo="01"] .demo__video {
  opacity: 1 !important;
  z-index: 3;
}
.demo[data-demo="01"] .demo__poster--01 {
  opacity: 0;
}
.demo[data-demo="01"] .demo__play {
  opacity: 0;
  pointer-events: none;
}

/* aktion-banner editorial - 2026-04-30 */
.aktion-banner {
  position: relative;
  padding: 64px 24px;
  margin: 48px 0 56px;
  text-align: center;
  background: transparent;
  border: none;
  border-radius: 0;
}

.aktion-banner::before,
.aktion-banner::after {
  content: '';
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: min(100%, 720px);
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(200, 169, 110, 0.45) 20%,
    rgba(200, 169, 110, 0.45) 80%,
    transparent 100%
  );
}

.aktion-banner::before { top: 0; }
.aktion-banner::after  { bottom: 0; }

.aktion-banner__eyebrow {
  display: block;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.4em;
  text-transform: uppercase;
  color: #C8A96E;
  margin-bottom: 28px;
  font-weight: 400;
}

.aktion-banner__text {
  font-size: 18px;
  line-height: 1.7;
  color: #E8E8F0;
  max-width: 580px;
  margin: 0 auto 24px;
  font-weight: 300;
}

.aktion-banner__text strong {
  color: #FFFFFF;
  font-weight: 500;
}

.aktion-banner__meta {
  font-size: 12px;
  letter-spacing: 0.08em;
  color: rgba(200, 169, 110, 0.75);
  margin: 0;
  font-family: 'JetBrains Mono', monospace;
}

.aktion-banner__code {
  color: #C8A96E;
  font-weight: 500;
  letter-spacing: 0.12em;
}

.aktion-banner__sep {
  display: inline-block;
  margin: 0 10px;
  opacity: 0.5;
}

@media (max-width: 720px) {
  .aktion-banner { padding: 48px 16px; margin: 32px 0 40px; }
  .aktion-banner__text { font-size: 16px; }
  .aktion-banner__eyebrow { letter-spacing: 0.3em; }
}