/* =========================================================
   PROGRAMS
   ========================================================= */
.ff-programs{
  background:var(--ff-black);
  padding:var(--ff-section-pad) 0;
}
.ff-section-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:40px;
  margin-bottom:48px;
}
.ff-section-head h2{
  font-size:clamp(30px,4vw,44px);
  color:var(--ff-white);
  max-width:560px;
}
.ff-section-head .ff-section-desc{
  max-width:420px;
  padding-bottom:4px;
}
.ff-section-desc p{ margin:0; }

.ff-programs-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:var(--ff-gap);
}
.ff-program-card{
  background:var(--ff-card);
  border:1px solid var(--ff-border);
  border-radius:var(--ff-radius);
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.ff-program-text{
  padding:34px 30px 30px;
  text-align:center;
}
.ff-program-label{
  display:block;
  color:var(--ff-white);
  font-family:var(--ff-font-display);
  font-size:16px;
  letter-spacing:1px;
  margin-bottom:2px;
}
.ff-program-title{
  color:var(--ff-lime);
  font-size:36px;
  margin-bottom:16px;
}
.ff-program-text p{ font-size:14.5px; margin:0; }
.ff-program-media{
  margin-top:auto;
  aspect-ratio:4/3;
  overflow:hidden;
}
.ff-program-media img{ width:100%; height:100%; object-fit:cover; }

@media (max-width:900px){
  .ff-programs-grid{ grid-template-columns:1fr; }
  .ff-section-head{ flex-direction:column; align-items:flex-start; }
}
