:root{
  --brand:#0b5fa5; --brand-2:#d92626; --ink:#111; --muted:#666; --bg:#f6f7fb; --card:#fff; --line:#e6e7ee;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--ink);line-height:1.5}
.container{max-width:1080px;margin:auto;padding:24px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px}
h1,h2{margin:.2rem 0 1rem}
a{color:var(--brand);text-decoration:none}
nav{background:var(--brand);color:#fff}
nav .container{display:flex;align-items:center;gap:24px;padding:14px 24px}
nav a{color:#fff;opacity:.95}
nav a:hover{opacity:1;text-decoration:underline}
.brand{font-weight:800;letter-spacing:.5px}
.btn{display:inline-block;background:var(--brand);color:#fff;padding:10px 16px;border-radius:10px;border:0}
.btn--ghost{background:#fff;color:var(--brand);border:1px solid var(--brand)}
.grid{display:grid;gap:14px}
.grid-2{grid-template-columns:1fr 1fr}
.grid-3{grid-template-columns:1fr 1fr 1fr}
label{font-weight:600;margin-bottom:6px;display:block}
input,select,textarea{width:100%;padding:10px;border:1px solid #ccd1d9;border-radius:10px;background:#fff}
small{color:var(--muted)}
footer{border-top:1px solid var(--line);margin-top:24px;padding:18px 0;color:var(--muted)}
.alert{padding:12px 14px;border-radius:10px;background:#fffbe6;border:1px solid #ffe58f}
.hero{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px}
/* —— Brands marquee (carosello testuale) —— */
.brands-bar{
  margin-top:22px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  box-shadow:0 6px 20px rgba(10,79,137,.07), 0 1px 3px rgba(16,24,40,.06);
  padding:0; overflow:hidden;
}
.brands-track{
  position:relative;
  display:flex; gap:0; white-space:nowrap;
  will-change: transform;
  animation: brands-scroll 30s linear infinite;
}
.brands-group{
  display:flex; gap:16px; padding:14px 16px; /* “spessore” della fascia */
}
.brands-pill{
  background:#f1f5f9; border:1px solid #e2e8f0; border-radius:999px;
  padding:6px 12px; font-weight:700; letter-spacing:.5px; color:var(--eurol-blue);
}

/* pausa su hover/focus per accessibilità */
.brands-bar:hover .brands-track,
.brands-bar:focus-within .brands-track { animation-play-state: paused; }

/* riduci movimento se l’utente lo chiede */
@media (prefers-reduced-motion: reduce){
  .brands-track { animation: none; }
}

/* loop infinito (duplico il contenuto) */
@keyframes brands-scroll{
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); } /* metà perché abbiamo due gruppi identici */
}