/* ==========================================================
   CASE STUDY — EXTRA VISIVI
   ========================================================== */

/* ----------------------------------------------------------
   HERO
   ---------------------------------------------------------- */
.case-study-hero__shell{
  background:
    radial-gradient(900px 500px at 16% 18%, rgba(59,130,246,.18), rgba(255,255,255,0) 58%),
    radial-gradient(700px 440px at 88% 20%, rgba(15,23,42,.10), rgba(255,255,255,0) 60%),
    linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,255,255,.84));
  box-shadow:
    0 24px 70px rgba(15,23,42,.10),
    0 1px 0 rgba(255,255,255,.75) inset;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

.case-study-hero__noise{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(520px 220px at 20% 30%, rgba(255,255,255,.75), rgba(255,255,255,0) 60%),
    radial-gradient(420px 220px at 75% 25%, rgba(59,130,246,.08), rgba(59,130,246,0) 65%);
  opacity:.8;
}

.case-study-hero__pill{
  box-shadow:0 10px 28px rgba(15,23,42,.06);
}

.case-study-hero__glow{
  background: radial-gradient(circle at 30% 30%, rgba(59,130,246,.28), rgba(59,130,246,0) 62%);
  filter: blur(10px);
}

.case-study-hero__photo-shell{
  background:
    radial-gradient(520px 260px at 50% 12%, rgba(59,130,246,.12), rgba(255,255,255,0) 65%),
    linear-gradient(180deg, rgba(255,255,255,.90), rgba(255,255,255,.74));
  box-shadow:
    0 26px 70px rgba(15,23,42,.12),
    0 1px 0 rgba(255,255,255,.72) inset;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

.case-study-hero__img{
  filter: drop-shadow(0 26px 36px rgba(15,23,42,.14));
}

.case-study-btn{
  transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease, border-color .15s ease;
}

.case-study-btn--primary{
  box-shadow:0 16px 35px rgba(15,23,42,.20);
}
.case-study-btn--primary:hover{
  transform:translateY(-1px);
  box-shadow:0 18px 45px rgba(15,23,42,.26);
}
.case-study-btn--ghost:hover{
  transform:translateY(-1px);
  border-color:rgba(59,130,246,.30) !important;
  box-shadow:0 14px 32px rgba(15,23,42,.12);
}

/* ----------------------------------------------------------
   INTRO / RISULTATO WRAP
   ---------------------------------------------------------- */
.case-study-intro__wrap,
.case-study-risultato__wrap{
  background:
    radial-gradient(900px 420px at 12% 0%, rgba(15,23,42,.05), rgba(255,255,255,0) 55%),
    radial-gradient(900px 420px at 85% 0%, rgba(59,130,246,.10), rgba(255,255,255,0) 55%),
    linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,255,255,.87));
  box-shadow:0 24px 70px rgba(15,23,42,.08);
}

.case-study-block{
  background:rgba(255,255,255,.68);
  -webkit-backdrop-filter:blur(10px) saturate(140%);
  backdrop-filter:blur(10px) saturate(140%);
  box-shadow:
    0 16px 42px rgba(15,23,42,.06),
    0 1px 0 rgba(255,255,255,.72) inset;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.case-study-block:hover{
  transform:translateY(-2px);
  box-shadow:
    0 22px 56px rgba(15,23,42,.10),
    0 1px 0 rgba(255,255,255,.72) inset;
  border-color:rgba(59,130,246,.16) !important;
}

/* ----------------------------------------------------------
   INTERVENTO
   ---------------------------------------------------------- */
.case-study-intervento-card{
  background:rgba(255,255,255,.72);
  -webkit-backdrop-filter:blur(12px) saturate(145%);
  backdrop-filter:blur(12px) saturate(145%);
  box-shadow:
    0 20px 56px rgba(15,23,42,.10),
    0 1px 0 rgba(255,255,255,.78) inset;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.case-study-intervento-card:hover{
  transform:translateY(-3px);
  box-shadow:
    0 28px 72px rgba(15,23,42,.14),
    0 1px 0 rgba(255,255,255,.78) inset;
  border-color:rgba(59,130,246,.18) !important;
}

.case-study-intervento-card__badge{
  box-shadow:0 14px 30px rgba(59,130,246,.18);
}

/* ----------------------------------------------------------
   METRICHE — BLOCCO SCURO
   ---------------------------------------------------------- */
.case-study-metriche{
  background:
    radial-gradient(1000px 480px at 50% 100%, rgba(59,130,246,.22), rgba(59,130,246,0) 60%),
    radial-gradient(680px 280px at 20% 15%, rgba(255,255,255,.05), rgba(255,255,255,0) 55%),
    linear-gradient(180deg, rgba(7,14,34,1), rgba(10,20,54,1));
}

.case-study-metric-card{
  background:rgba(255,255,255,.10);
  -webkit-backdrop-filter:blur(12px) saturate(140%);
  backdrop-filter:blur(12px) saturate(140%);
  box-shadow:
    0 20px 56px rgba(0,0,0,.16),
    0 1px 0 rgba(255,255,255,.10) inset;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.case-study-metric-card:hover{
  transform:translateY(-2px);
  box-shadow:
    0 26px 68px rgba(0,0,0,.24),
    0 1px 0 rgba(255,255,255,.12) inset;
  border-color:rgba(255,255,255,.18) !important;
}

/* ----------------------------------------------------------
   CTA FINALE
   ---------------------------------------------------------- */
.case-study-cta__wrap{
  background:
    radial-gradient(900px 420px at 10% 0%, rgba(59,130,246,.10), rgba(255,255,255,0) 55%),
    linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.84));
  box-shadow:0 22px 60px rgba(15,23,42,.08);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
}

/* ----------------------------------------------------------
   RESPONSIVE
   ---------------------------------------------------------- */
@media (max-width: 1180px){
  .case-study-intervento > div:last-child,
  .case-study-metriche > div > div:last-child{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 980px){
  .case-study-hero__shell{
    padding:55px 28px 45px 28px !important;
  }

  .case-study-intro__wrap > div,
  .case-study-risultato__wrap > div{
    grid-template-columns:1fr !important;
  }

  .case-study-intervento > div:last-child,
  .case-study-metriche > div > div:last-child{
    grid-template-columns:1fr !important;
  }
}

@media (max-width: 780px){
  .case-study-hero__visual{
    display:none !important;
  }

  .case-study-hero__shell{
    padding:52px 22px 40px 22px !important;
  }
}

@media (prefers-reduced-motion: reduce){
  .case-study-btn,
  .case-study-block,
  .case-study-intervento-card,
  .case-study-metric-card{
    transition:none;
  }
}