/* ==========================================================================
   SECONDA VISIONE — HOME (Mission 10B.2-R3)
   Minimale nel contenuto, massima nell'esperienza: cinque momenti curati
   (Hero, Cosa cerca, Come lavora, Patrimonio, Accesso Riservato) e il
   footer condiviso. Nessuna spiegazione di architettura, nessun dato
   inventato, nessuna capacità futura presentata come già disponibile.
   ========================================================================== */

/* ---------------------------------------------------------------------- */
/* 01. HERO                                                                */
/* ---------------------------------------------------------------------- */

.sv-hero {
  position: relative;
  min-height: 92vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: var(--sv-space-16) 0 var(--sv-space-16) 0;
  overflow: hidden;
}

.sv-hero__inner { position: relative; z-index: 1; }

.sv-hero__mark { margin-bottom: var(--sv-space-8); color: var(--sv-text); }

.sv-hero__kicker {
  font-family: var(--sv-font-sans);
  font-size: var(--sv-size-micro);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--sv-red);
  margin-bottom: var(--sv-space-6);
}

.sv-hero__title {
  display: block;
  font-family: var(--sv-font-display);
  font-size: var(--sv-size-display);
  line-height: 1.05;
  max-width: 30ch;
  margin-bottom: var(--sv-space-6);
  color: var(--sv-text);
}
.sv-hero__title .sv-focus-in__ghost { color: var(--sv-red-soft); }

.sv-hero__lede {
  font-family: var(--sv-font-sans);
  font-size: var(--sv-size-lede);
  line-height: var(--sv-line-body);
  color: var(--sv-text-dim);
  max-width: 42ch;
  margin-bottom: var(--sv-space-12);
}

.sv-hero__actions { display: flex; flex-wrap: wrap; gap: var(--sv-space-4); align-items: center; max-width: 100%; }

.sv-btn--lg { font-size: 1.05rem; padding: 0.9em 2em; }

.sv-hero__scroll-cue {
  position: absolute;
  bottom: var(--sv-space-8);
  left: var(--sv-space-6);
  font-family: var(--sv-font-sans);
  font-size: var(--sv-size-micro);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--sv-text-faint);
  display: flex;
  align-items: center;
  gap: var(--sv-space-2);
}
.sv-hero__scroll-cue::after {
  content: "";
  width: 1px; height: 22px;
  background: linear-gradient(var(--sv-text-faint), transparent);
  animation: sv-scroll-cue 1.8s var(--sv-ease) infinite;
}
@media (prefers-reduced-motion: reduce) { .sv-hero__scroll-cue::after { animation: none; } }
@keyframes sv-scroll-cue { 0% { opacity: 0; transform: translateY(-6px); } 40% { opacity: 1; } 100% { opacity: 0; transform: translateY(10px); } }

@media (max-width: 639px) {
  .sv-hero { min-height: 100vh; padding: var(--sv-space-12) 0 var(--sv-space-12) 0; }
  .sv-hero__scroll-cue { display: none; }
  .sv-hero__title { max-width: 100%; }
  .sv-hero__mark { margin-bottom: var(--sv-space-6); }
}

/* ---------------------------------------------------------------------- */
/* 04. PATRIMONIO — numeri reali, presentazione compatta                  */
/* ---------------------------------------------------------------------- */

.sv-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--sv-space-8); }
@media (max-width: 1023px) { .sv-stats { grid-template-columns: 1fr 1fr; } }
@media (max-width: 479px) { .sv-stats { grid-template-columns: 1fr; gap: var(--sv-space-6); } }

.sv-stat__value {
  font-family: var(--sv-font-display);
  font-size: var(--sv-size-stat);
  color: var(--sv-text);
  font-weight: 700;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.sv-stat__label {
  font-family: var(--sv-font-sans);
  font-size: var(--sv-size-meta);
  color: var(--sv-text-faint);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-top: var(--sv-space-2);
}

/* ---------------------------------------------------------------------- */
/* 05. ACCESSO RISERVATO — CTA finale                                      */
/* ---------------------------------------------------------------------- */

.sv-final-cta {
  border-top: 1px solid var(--sv-border);
  padding: var(--sv-space-24) 0;
  text-align: center;
}
.sv-final-cta__inner { display: flex; flex-direction: column; align-items: center; }
.sv-final-cta__kicker {
  font-family: var(--sv-font-sans);
  font-size: var(--sv-size-micro);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--sv-text-faint);
  margin-bottom: var(--sv-space-4);
}
.sv-final-cta__title {
  font-family: var(--sv-font-display);
  font-size: var(--sv-size-hero);
  color: var(--sv-text);
  margin-bottom: var(--sv-space-8);
}
@media (max-width: 639px) {
  .sv-final-cta { padding: var(--sv-space-16) 0; }
}
