/*!
 * GWS Marquee 1.1 — scritta infinita che scorre lungo un arco (o una fascia inclinata); alcune parole possono avere un altro colore.
 * Prefisso "gwsm-": nessun selettore globale.
 * Personalizzazione (su [data-gwsm]): --gwsm-bg, --gwsm-ink (testo), --gwsm-accent (parole evidenziate),
 *   --gwsm-size (corpo del testo), --gwsm-font, --gwsm-height (altezza della sezione)
 */
.gwsm {
  position: relative;
  overflow: hidden;
  height: var(--gwsm-height, clamp(260px, 52vh, 520px));
  --gwsm-bg: #171717;
  --gwsm-ink: #4a4a4a;
  --gwsm-accent: #e91e8c;
  --gwsm-size: clamp(2rem, 5.6vw, 5rem);
  --gwsm-font: "JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;
  background-color: var(--gwsm-bg);
  /* reticolo di puntini appena visibile */
  background-image: radial-gradient(rgba(255, 255, 255, .07) 1px, transparent 1.2px);
  background-size: 26px 26px;
}
/* la fascia è più larga dello schermo, così inclinata copre tutta la sezione */
.gwsm__band {
  position: absolute;
  left: -15vw;
  right: -15vw;
  top: 50%;
  transform: translateY(-50%) rotate(var(--gwsm-angle, -6deg));
  white-space: nowrap;
  font-family: var(--gwsm-font);
  font-size: var(--gwsm-size);
  font-weight: 800;
  letter-spacing: .05em;
  line-height: 1.2;
  text-transform: uppercase;
  color: var(--gwsm-ink);
  user-select: none;
}
.gwsm__track { display: inline-flex; will-change: transform; }
.gwsm__item { flex: none; padding-right: .6em; }
.gwsm__item em, .gwsm__item mark { font-style: normal; background: none; color: var(--gwsm-accent); }
.gwsm__item i { font-style: normal; margin: 0 .35em; opacity: .9; }
@media (prefers-reduced-motion: reduce) { .gwsm__track { transform: none !important; } }

/* forma ad arco: il testo vero sta nell'SVG; la fascia HTML resta solo per i lettori di schermo */
.gwsm--arc .gwsm__band--sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; transform: none; left: 0; top: 0; }
.gwsm__svg { position: absolute; left: 0; top: 0; width: 100%; height: 100%; display: block; overflow: hidden; }
.gwsm__svg path { fill: none; stroke: none; }
.gwsm__svg text { fill: var(--gwsm-ink); text-transform: uppercase; font-weight: 800; user-select: none; }
.gwsm__svg .gwsm__acc { fill: var(--gwsm-accent); }
