/* ===== Sections TMF (fond clair) ===== */
.tmf-section{ padding:64px 0; }
.tmf-wrap{ width:min(1180px, calc(100% - 48px)); margin:0 auto; }

.tmf-h2{
  font-size:clamp(28px, 3vw, 40px);
  line-height:1.1;
  margin:0 0 10px 0;
  letter-spacing:-0.02em;
  color:#111827;
}
.tmf-sub{ margin:0 0 22px 0; max-width:70ch; color:#4b5563; }

.tmf-grid-2{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:18px; }
.tmf-grid-3{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:18px; }
.tmf-grid-4{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:18px; }
.tmf-mt{ margin-top:18px; }

.tmf-card{
  padding:22px;
  border-radius:18px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(17,24,39,.08);
  box-shadow:0 10px 30px rgba(17,24,39,.08), 0 1px 0 rgba(255,255,255,.8) inset;
  backdrop-filter:blur(6px);
}
.tmf-card h3{ margin:0 0 8px 0; font-size:18px; color:#111827; }
.tmf-card p{ margin:0; line-height:1.45; color:#4b5563; }

.tmf-photo{
  position:relative;
  border-radius:18px;
  aspect-ratio:4/3;
  background:linear-gradient(135deg, rgba(17,24,39,.03), rgba(17,24,39,.01));
  border:1px solid rgba(17,24,39,.08);
  box-shadow:0 10px 30px rgba(17,24,39,.08);
  overflow:hidden;
}

/* Images */
.tmf-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

@media (max-width:980px){
  .tmf-grid-3{ grid-template-columns:1fr; }
  .tmf-grid-2{ grid-template-columns:1fr; }
  .tmf-grid-4{ grid-template-columns:repeat(2, 1fr); }
}
@media (max-width:520px){
  .tmf-grid-4{ grid-template-columns:1fr; }
}
