/* =============================
   MATERIALI — stile istituzionale
   Prefisso: mt-
   ============================= */
:root{
  --mt-dark:#161616;
  --mt-gray:#6a6f74;
  --mt-soft:#f6f8fa;
  --mt-line:#e7e9ec;
  --mt-accent:#d31919;
  --mt-accent2:#ff4a4a;
  --mt-container:min(1180px, 92vw);
  --mt-radius:22px;
}

.mt-page{ color:var(--mt-dark); overflow-x:clip; }
.mt-container{ width:var(--mt-container); margin-inline:auto; padding-inline:16px; }

/* INTRO */
.mt-intro{ padding: clamp(36px, 6vw, 64px) 0 18px; }
.mt-intro__title{
  margin:0 0 12px; text-align:center; font-weight:800;
  font-size: clamp(28px, 4vw, 40px); line-height:1.1;
  background: linear-gradient(180deg, var(--mt-accent), var(--mt-accent2));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.mt-intro__lead{
  max-width:900px; margin:0 auto; text-align:left;
  color:var(--mt-gray); line-height:1.7; font-size: clamp(16px, 1.15vw, 18px);
}

/* GRID */
.mt-grid{ padding: clamp(22px, 4vw, 40px) 0; }
.mt-grid__wrap{
  display:grid; gap: clamp(18px, 2.2vw, 28px);
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 980px){
  .mt-grid__wrap{ grid-template-columns: repeat(2, 1fr); }
}

/* CARD */
.mt-card{ margin:0; }
.mt-card__media{
  display:block; position:relative; overflow:hidden; border-radius: 28px;
  aspect-ratio: 1 / 1; /* sempre quadrata */
  box-shadow: 0 18px 46px rgba(0,0,0,.12);
  transition: transform .25s cubic-bezier(.2,.65,.2,1), box-shadow .25s ease;
  background:#fff;
}
.mt-card__media:hover{
  transform: translateY(-4px);
  box-shadow: 0 26px 70px rgba(0,0,0,.16);
}
.mt-card__img{
  width:100%; height:100%; object-fit: cover; display:block;
}

/* SQUIRCLE shape “premium” */
.mt-shape--squircle{
  -webkit-mask:
    radial-gradient(100% 100% at 0 0,#0000 28%,#000 29%) top left,
    radial-gradient(100% 100% at 100% 0,#0000 28%,#000 29%) top right,
    radial-gradient(100% 100% at 100% 100%,#0000 28%,#000 29%) bottom right,
    radial-gradient(100% 100% at 0 100%,#0000 28%,#000 29%) bottom left;
  -webkit-mask-size:52% 52%; -webkit-mask-repeat:no-repeat;
          mask:
    radial-gradient(100% 100% at 0 0,#0000 28%,#000 29%) top left,
    radial-gradient(100% 100% at 100% 0,#0000 28%,#000 29%) top right,
    radial-gradient(100% 100% at 100% 100%,#0000 28%,#000 29%) bottom right,
    radial-gradient(100% 100% at 0 100%,#0000 28%,#000 29%) bottom left;
  mask-size:52% 52%; mask-repeat:no-repeat;
}

/* didascalia */
.mt-card__caption{
  margin:12px 0 0; padding:10px 0 0;
  text-align:center; font-size:15px; color:var(--mt-dark);
  border-top:1px solid var(--mt-line);
}

/* CTA finale */
.mt-cta{
  padding: clamp(30px, 5vw, 54px) 0 clamp(46px, 6vw, 72px);
  background: linear-gradient(180deg, #fff 0, var(--mt-soft) 100%);
  border-top:1px solid var(--mt-line);
}
.mt-cta__title{
  margin:0; text-align:center; font-weight:800;
  font-size: clamp(22px, 3vw, 30px);
}

.mt-card__placeholder{
  width:100%; height:100%;
  background: repeating-linear-gradient(45deg,#f1f3f5 0 10px,#e9ecef 10px 20px);
}
