:root{
  --blue:#2f6bff;
  --blue-soft:#eaf1ff;
  --text:#0f172a;
  --muted:#475569;
}

/* =========================
   BASE (DESKTOP)
========================= */
.services-inner{
  max-width:1200px;
  margin:0 auto;
  padding: 24px 24px; /* evita bordi attaccati su schermi piccoli */
}

.services-title{
  text-align:center;
  font-weight:900;
  letter-spacing:.08em;
  color:var(--blue);
  font-size:clamp(28px, 3.6vw, 40px);
  margin:0 0 56px;
}

.services-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 44px 64px;
  align-items:start;
}

/* box */
.service-item{
  display:grid;
  grid-template-columns: 112px 1fr;
  gap:22px;
  align-items:start;
}

.service-copy{ min-width:0; }

.service-title{
  font-weight:900;
  font-size:22px;
  margin:0 0 10px;
  line-height:1.15;
  color:var(--text);
}

.service-text{
  font-size:17px;
  line-height:1.65;
  color:var(--muted);
  margin:0;
}

/* icon/media */
.service-icon,
.service-media{
  width:96px;
  height:96px;
  border-radius:50%;
  border:none;
  background:#fff;
  box-shadow:
    0 10px 28px rgba(47,107,255,.18),
    0 2px 6px rgba(15,23,42,.08);
  display:grid;
  place-items:center;
  overflow:hidden;
}

.service-icon svg{
  width:38px;
  height:38px;
  stroke:var(--blue);
  fill:none;
  stroke-width:2;
}

.service-media img{
  width:72%;
  height:72%;
  object-fit:contain;
  display:block;
}

.service-media--svg svg{
  width:72%;
  height:72%;
  display:block;
}

.service-media--svg svg *{
  vector-effect: non-scaling-stroke;
}

/* hover */
.service-item:hover .service-icon,
.service-item:hover .service-media{
  box-shadow:
    0 16px 40px rgba(47,107,255,.28),
    0 4px 10px rgba(15,23,42,.12);
  transform:translateY(-2px);
  transition: box-shadow .25s ease, transform .25s ease;
}

/* figure desktop (a destra) */
.services-figure{
  grid-column: 2 / -1;
  display:flex;
  justify-content:flex-end;
  align-items:flex-start;
  margin-top:0;
  padding-right:24px;
}

.services-figure img{
  width:min(420px, 85%);
  max-width:420px;
  height:auto;
  display:block;
  filter: drop-shadow(0 20px 40px rgba(0,0,0,.12));
}

/* =========================
   RESPONSIVE: TABLET + MOBILE
   ✅ UNA SOLA COLONNA, ELEMENTI IMPILATI
========================= */

/* TABLET (e sotto): 1 colonna */
@media (max-width: 900px){
  .services-inner{
    padding: 0 16px;
  }

  .services-title{
    margin-bottom: 28px;
    font-size: clamp(22px, 4.6vw, 34px);
  }

  .services-grid{
    grid-template-columns: 1fr;  /* ✅ una colonna */
    gap: 22px;                   /* ✅ spazi più stretti */
  }

  /* ogni item resta a due colonne (icona + testo) ma tutto in pila */
  .service-item{
    grid-template-columns: 92px 1fr;
    gap: 16px;
  }

  /* la figure diventa un blocco sotto, centrato */
  .services-figure{
    grid-column: 1 / -1;
    justify-content:center;
    padding-right:0;
    margin-top: 10px;
  }

  .services-figure img{
    width: min(360px, 92%);
    max-width: 360px;
  }
}

/* MOBILE: ancora più compatto */
@media (max-width: 560px){
  .services-grid{
    gap: 18px;
  }

  .service-item{
    grid-template-columns: 64px 1fr;
    gap: 12px;
  }

  .service-icon,
  .service-media{
    width:72px;
    height:72px;
  }

  .service-icon svg{
    width:28px;
    height:28px;
  }

  .service-title{ font-size: 18px; margin-bottom: 6px; }
  .service-text{ font-size: 15px; line-height: 1.55; }

  .services-figure img{
    width: min(320px, 96%);
    max-width: 320px;
  }
}