/* ==========================================================================
   Green Basilisk – Schlagwort-Ticker als diagonaler CORNER-RIBBON
   (oben rechts in der Hero). Version 2: MITTIGER platziert und läuft HART
   in Ober-/Rechtskante hinein (kein weiches Ausfaden – es scrollt ohnehin,
   jedes Wort läuft vorbei).
   -----------------------------------------------------------------------
   Methode: Das um 45° gedrehte Band wird direkt von der Hero
   (position:relative + overflow:hidden) an Ober- und Rechtskante GERADE
   abgeschnitten. Die Bandmitte liegt fix D px von der oberen rechten Ecke
   entfernt (top/right sind breitenunabhängig):
     center = (rand_rechts − D, D),  top = D − Bandhöhe/2,  right = D − W/2.
   W ist so groß gewählt, dass beide Enden über die Kanten hinausragen
   (harter Schnitt). .gb-ticker-vp: overflow:hidden nur für die Scroll-Spur,
   KEINE Maske. pointer-events:none → Klicks auf die Hero gehen durch.
   Responsive: Desktop D≈230, Tablet D≈165, Mobil D≈100. Fallback-Farben.
   ========================================================================== */
.gb-ticker {
  position: absolute;
  top: 215px;
  right: -160px;
  width: 780px;
  z-index: 5;
  transform: rotate(45deg);
  transform-origin: center;
  pointer-events: none;
}
.gb-ticker-vp {
  overflow: hidden;
  border-top: 1px solid var(--we-border, rgba(239, 231, 240, 0.14));
  border-bottom: 1px solid var(--we-border, rgba(239, 231, 240, 0.14));
  background: color-mix(in srgb, var(--we-bg, #0a0a0a) 88%, transparent);
  box-shadow: 0 10px 30px -14px rgba(0, 0, 0, 0.7);
}
.gb-ticker-track {
  display: flex;
  align-items: center;
  width: max-content;
  animation: gbTkScroll var(--tk-speed, 34s) linear infinite;
  will-change: transform;
}
.gb-tk-item {
  flex: none;
  padding: 9px 0;
  font: 700 12.5px/1 var(--we-font-heading, "Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif);
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--we-text, #efe7f0);
  white-space: nowrap;
}
.gb-tk-dot {
  flex: none;
  width: 5px;
  height: 5px;
  margin: 0 20px;
  border-radius: 50%;
  background: var(--we-primary, #00ff00);
  box-shadow: 0 0 8px var(--we-primary, #00ff00);
}
@keyframes gbTkScroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
@media (max-width: 768px) {
  .gb-ticker { top: 161px; right: -115px; width: 580px; }
  .gb-tk-item { font-size: 11px; padding: 8px 0; }
  .gb-tk-dot { margin: 0 16px; }
}
@media (max-width: 480px) {
  .gb-ticker { top: 88px; right: -58px; width: 320px; }
  .gb-tk-item { font-size: 9.5px; letter-spacing: 0.1em; padding: 6px 0; }
  .gb-tk-dot { width: 4px; height: 4px; margin: 0 12px; box-shadow: 0 0 6px var(--we-primary, #00ff00); }
}
@media (prefers-reduced-motion: reduce) {
  .gb-ticker-track { animation: none; }
}
