/* ════════ front-page.css — Homepage ════════ */

/* ── Hero principale ── */
.fp-hero {
  padding: 96px 0 80px;
  background: var(--bg-soft);
  position: relative;
  overflow: hidden;
}
.fp-hero::after {
  content: '';
  position: absolute;
  top: 0; right: 0;
  width: 50%;
  height: 100%;
  background: linear-gradient(135deg, var(--bg-teal) 0%, transparent 60%);
  opacity: .5;
  pointer-events: none;
}
.fp-hero .container { position: relative; z-index: 1; }
.fp-hero-eyebrow { margin-bottom: 20px; }
.fp-hero h1 { margin-bottom: 20px; max-width: 620px; }
.fp-hero .hero-lead { max-width: 520px; margin-bottom: 32px; }
.fp-hero-trust {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  padding-top: 32px;
  margin-top: 32px;
  border-top: 1px solid var(--border);
}
.fp-hero-trust-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--ink-mid);
}
.fp-hero-trust-item strong { color: var(--ink); }

/* ── Sezione KPI ── */
.fp-kpi-section { background: var(--teal-d); padding: 40px 0; }
.fp-kpi-grid { display: flex; gap: 0; }
.fp-kpi-item {
  flex: 1;
  text-align: center;
  padding: 20px 12px;
  border-right: 1px solid rgba(255,255,255,.12);
}
.fp-kpi-item:last-child { border-right: none; }

/* ── Servizi grid ── */
.fp-services { padding: var(--section-py) 0; }
.fp-services-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }

/* ── Trust bar ── */
.fp-trust-bar { background: var(--bg-soft); padding: 40px 0; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.fp-trust-items { display: flex; gap: 40px; flex-wrap: wrap; align-items: center; justify-content: center; }
.fp-trust-item { display: flex; align-items: center; gap: 10px; }

/* ── Centro DSA banner ── */
.fp-dsa-banner { padding: var(--section-py) 0; background: var(--bg-teal); }

/* ── Team preview ── */
.fp-team { padding: var(--section-py) 0; }
.fp-team-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }

/* ── Testimonials ── */
.fp-testimonials { padding: var(--section-py) 0; background: var(--bg-warm); }
.fp-testimonials-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }

/* ── Blog preview ── */
.fp-blog { padding: var(--section-py) 0; background: var(--bg-soft); }
.fp-blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }

/* ── CTA finale ── */
.fp-cta { padding: var(--section-py) 0; }

@media (max-width: 991px) {
  .fp-services-grid  { grid-template-columns: repeat(2, 1fr); }
  .fp-team-grid      { grid-template-columns: repeat(2, 1fr); }
  .fp-blog-grid      { grid-template-columns: repeat(2, 1fr); }
  .fp-testimonials-grid { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  .fp-hero { padding: 56px 0 48px; }
  .fp-hero::after { display: none; }
  .fp-services-grid  { grid-template-columns: 1fr; }
  .fp-team-grid      { grid-template-columns: repeat(2, 1fr); }
  .fp-blog-grid      { grid-template-columns: 1fr; }
  .fp-kpi-grid       { flex-wrap: wrap; }
  .fp-kpi-item       { flex-basis: 50%; border-right: none; border-bottom: 1px solid rgba(255,255,255,.12); }
}
