/* ============================================================
   UniCandidate — custom styles (Tailwind + self-hosted fonts)
   Nessuna dipendenza esterna oltre a Tailwind.
   ============================================================ */

@font-face { font-family:'Open Sans'; font-style:normal; font-weight:400; font-display:swap; src:url('../fonts/opensans-400.woff2') format('woff2'); }
@font-face { font-family:'Open Sans'; font-style:normal; font-weight:600; font-display:swap; src:url('../fonts/opensans-600.woff2') format('woff2'); }
@font-face { font-family:'Open Sans'; font-style:normal; font-weight:700; font-display:swap; src:url('../fonts/opensans-700.woff2') format('woff2'); }
@font-face { font-family:'Open Sans'; font-style:normal; font-weight:800; font-display:swap; src:url('../fonts/opensans-800.woff2') format('woff2'); }

:root {
  --uc-green: #37d42f;
  --uc-navy:  #050229;
  --uc-text:  #676788;
  --uc-neutral-200: #f9f9fb;
}

html { scroll-behavior: smooth; }

body {
  font-family: 'Open Sans', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  color: var(--uc-navy);
  -webkit-font-smoothing: antialiased;
}

/* Motivo del brand: angolo in alto a destra squadrato (come il pittogramma) */
.uc-corner   { border-radius: 40px; border-top-right-radius: 0; }
.uc-corner-lg{ border-radius: 60px; border-top-right-radius: 0; }
.uc-frame    { border: 5px solid var(--uc-green); border-radius: 60px; border-top-right-radius: 0; }
.uc-icon-tile{ border-radius: 10px; border-top-right-radius: 0; }

/* Ombra morbida dei mockup, come nell'originale */
.uc-shadow-mockup { box-shadow: 0 12px 74px 0 rgba(5, 2, 41, 0.16); }
.uc-shadow-card   { box-shadow: 0 18px 50px -30px rgba(5, 2, 41, 0.22); }

/* Bottone primario */
.uc-btn {
  display: inline-flex; align-items: center; justify-content: center;
  background-color: var(--uc-navy); color: #fff;
  border-radius: 14px; padding: 18px 34px;
  font-weight: 800; line-height: 1.111;
  transition: background-color .3s, transform .2s;
}
.uc-btn:hover { background-color: var(--uc-green); transform: translateY(-2px); }
.uc-btn-light:hover { background-color:#fff; color: var(--uc-navy); }

/* Marquee loghi — scroll orizzontale infinito */
.uc-marquee {
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent);
          mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent);
}
.uc-marquee-track {
  display: flex;
  width: max-content;
  animation: uc-scroll 44s linear infinite;
}
.uc-marquee:hover .uc-marquee-track { animation-play-state: paused; }
.uc-marquee-group {
  display: flex;
  align-items: center;
  gap: 3.5rem;
  padding-right: 3.5rem;
  margin: 0;
  list-style: none;
  flex-shrink: 0;
}
@keyframes uc-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .uc-marquee-track { animation: none; }
}

/* Reveal on scroll */
[data-reveal] { opacity: 0; transform: translateY(48px); transition: opacity .7s ease, transform .7s ease; }
[data-reveal].uc-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  [data-reveal] { opacity: 1; transform: none; transition: none; }
}
