.jf-program-overview{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,#fff 0%,#fbf8fd 100%);
}
.jf-program-overview:before{
  content:"";
  position:absolute;
  width:420px;
  height:420px;
  right:-160px;
  top:80px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(204,0,102,.055),rgba(83,32,158,.02) 55%,transparent 72%);
  pointer-events:none;
}
.jf-program-overview-head{position:relative;z-index:1;margin-bottom:2rem}
.jf-program-promise{
  display:flex;
  align-items:center;
  gap:.8rem;
  max-width:360px;
  margin-left:auto;
  padding:.9rem 1rem;
  border:1px solid rgba(83,32,158,.09);
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 30px rgba(48,24,72,.06);
}
.jf-program-promise>i{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:13px;
  background:#f1e8fa;
  color:#53209e;
}
.jf-program-promise strong,.jf-program-promise span{display:block}
.jf-program-promise strong{font-size:.93rem;color:#2f2632}
.jf-program-promise span{margin-top:.1rem;color:#7c727f;font-size:.8rem}
.jf-program-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.25rem;
}
.jf-program-card{
  display:flex;
  min-width:0;
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(83,32,158,.09);
  border-radius:24px;
  background:#fff;
  box-shadow:0 14px 38px rgba(49,24,77,.075);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.jf-program-card:hover{
  transform:translateY(-4px);
  border-color:rgba(83,32,158,.16);
  box-shadow:0 20px 48px rgba(49,24,77,.12);
}
.jf-program-card-free{border-color:rgba(204,0,102,.16)}
.jf-program-image{
  position:relative;
  display:block;
  aspect-ratio:16/10;
  overflow:hidden;
  background:#eee7f4;
}
.jf-program-image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:transform .45s ease;
}
.jf-program-card:hover .jf-program-image img{transform:scale(1.025)}
.jf-program-image:after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:45%;
  background:linear-gradient(180deg,transparent,rgba(37,19,48,.16));
  pointer-events:none;
}
.jf-program-badge{
  position:absolute;
  z-index:2;
  left:1rem;
  top:1rem;
  display:inline-flex;
  align-items:center;
  min-height:31px;
  padding:.42rem .72rem;
  border-radius:999px;
  background:linear-gradient(135deg,#53209e,#cc0066);
  color:#fff;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.02em;
  box-shadow:0 7px 20px rgba(44,17,73,.18);
}
.jf-program-badge-soft{
  background:rgba(255,255,255,.94);
  color:#53209e;
  box-shadow:0 7px 20px rgba(44,17,73,.10);
}
.jf-program-body{
  display:flex;
  flex:1;
  flex-direction:column;
  padding:1.45rem 1.45rem 1.55rem;
}
.jf-program-kicker{
  margin-bottom:.55rem;
  color:#cc0066;
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.jf-program-body h3{
  margin:0 0 .75rem;
  color:#2f2632;
  font-size:clamp(1.45rem,2.15vw,1.95rem);
  line-height:1.08;
}
.jf-program-body>p{
  margin:0 0 1rem;
  color:#6f6571;
  font-size:.94rem;
  line-height:1.6;
}
.jf-program-meta{
  list-style:none;
  display:grid;
  gap:.55rem;
  margin:0 0 1.25rem;
  padding:0;
  color:#5f5662;
  font-size:.83rem;
}
.jf-program-meta li{display:flex;align-items:center;gap:.55rem}
.jf-program-meta i{width:18px;color:#53209e;text-align:center}
.jf-program-cta{
  width:fit-content;
  margin-top:auto;
  text-decoration:none;
}
.jf-program-login-note{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-top:1.35rem;
  padding:1rem 1.15rem;
  border:1px solid rgba(83,32,158,.08);
  border-radius:18px;
  background:#f5effa;
}
.jf-program-login-note strong,.jf-program-login-note span{display:block}
.jf-program-login-note strong{color:#35283a;font-size:.92rem}
.jf-program-login-note span{margin-top:.1rem;color:#766c79;font-size:.8rem}
.jf-program-login-note a{color:#53209e;font-size:.84rem;font-weight:800;text-decoration:none;white-space:nowrap}
.jf-program-login-note a:hover{color:#cc0066}
.fineprint a{color:inherit;text-decoration:none;opacity:.78}
.fineprint a:hover{opacity:1}
@media(max-width:991.98px){
  .jf-program-grid{grid-template-columns:1fr 1fr}
  .jf-program-card-free{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
  .jf-program-card-free .jf-program-image{height:100%;aspect-ratio:auto}
  .jf-program-promise{margin:0}
}
@media(max-width:767.98px){
  .jf-program-grid{grid-template-columns:1fr}
  .jf-program-card-free{display:flex;grid-column:auto}
  .jf-program-card-free .jf-program-image{height:auto;aspect-ratio:16/10}
  .jf-program-login-note{align-items:flex-start;flex-direction:column}
}
@media(max-width:575.98px){
  .jf-program-card{border-radius:20px}
  .jf-program-body{padding:1.2rem}
  .jf-program-body h3{font-size:1.5rem}
}
