:root { color-scheme: dark; }
body { font-family: 'Inter', system-ui, sans-serif; font-weight: 400; -webkit-font-smoothing: antialiased; }
h1, h2, h3 { font-weight: 700; letter-spacing: -0.025em; line-height: 1.15; }
p { line-height: 1.6; }

/* Hero glow / atmosphere */
.hero-glow {
  background:
    radial-gradient(60% 50% at 50% 0%, rgba(52,215,127,0.16) 0%, rgba(52,215,127,0) 70%),
    radial-gradient(40% 40% at 85% 20%, rgba(22,163,74,0.14) 0%, rgba(22,163,74,0) 70%),
    radial-gradient(40% 40% at 10% 30%, rgba(34,197,94,0.10) 0%, rgba(34,197,94,0) 70%);
}
.grid-mask {
  background-image:
    linear-gradient(to right, rgba(28,51,40,0.5) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(28,51,40,0.5) 1px, transparent 1px);
  background-size: 56px 56px;
  -webkit-mask-image: radial-gradient(70% 60% at 50% 0%, #000 0%, transparent 75%);
          mask-image: radial-gradient(70% 60% at 50% 0%, #000 0%, transparent 75%);
}
.card-glow:hover { border-color: rgba(52,215,127,0.45); box-shadow: 0 0 0 1px rgba(52,215,127,0.12), 0 20px 50px -20px rgba(0,0,0,0.7); }

/* Marquee proof strip */
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.marquee { animation: marquee 30s linear infinite; }
.marquee-wrap:hover .marquee { animation-play-state: paused; }

/* FAQ */
details > summary { list-style: none; cursor: pointer; }
details > summary::-webkit-details-marker { display: none; }
details[open] .faq-icon { transform: rotate(45deg); }
.faq-icon { transition: transform .2s ease; }

/* Reveal on scroll */
.reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s ease; }
.reveal.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1 !important; transform: none !important; }
  .marquee { animation: none; }
  html { scroll-behavior: auto; }
}
::selection { background: rgba(52,215,127,0.3); color: #fff; }

/* Case-Study-Slider: Scrollbar ausblenden */
.cs-noscroll { scrollbar-width: none; -ms-overflow-style: none; }
.cs-noscroll::-webkit-scrollbar { display: none; }

/* Lehrplan / Roadmap-Timeline */
.timeline-line { transform-origin: top; transform: scaleY(0); transition: transform 1.4s cubic-bezier(.22,1,.36,1); }
.timeline-line.in { transform: scaleY(1); }
.phase-dot { transform: translate(-50%, 0) scale(0); transition: transform .55s cubic-bezier(.34,1.56,.64,1); }
.phase-dot.in { transform: translate(-50%, 0) scale(1); }
/* Pills laufen gestaffelt rein */
.phase-pills .pill-anim { opacity: 0; transform: translateY(10px); transition: opacity .5s ease, transform .5s ease; }
.phase-pills.in .pill-anim { opacity: 1; transform: none; }
.phase-pills.in .pill-anim:nth-child(1) { transition-delay: .05s; }
.phase-pills.in .pill-anim:nth-child(2) { transition-delay: .12s; }
.phase-pills.in .pill-anim:nth-child(3) { transition-delay: .19s; }
.phase-pills.in .pill-anim:nth-child(4) { transition-delay: .26s; }
.phase-pills.in .pill-anim:nth-child(5) { transition-delay: .33s; }
.phase-pills.in .pill-anim:nth-child(6) { transition-delay: .40s; }
@media (prefers-reduced-motion: reduce) {
  .timeline-line, .phase-dot { transform: none !important; }
  .phase-pills .pill-anim { opacity: 1 !important; transform: none !important; }
}
