/* StudyFlow v35 — Degree programmes section only */

/* Tighten the transition from the approved start-point section */
.sf-guide-hub{
  padding-bottom:34px !important;
}
.sf-programs-v21{
  padding:18px 0 78px !important;
  background:#fff !important;
}
.sf-programs-v21 .container{
  width:min(1540px,calc(100% - 34px)) !important;
  max-width:none !important;
}

.sf-programs-panel{
  position:relative;
  overflow:hidden;
  padding:48px;
  border:1px solid #dce8e1;
  border-radius:32px;
  background:
    radial-gradient(circle at 96% 4%,rgba(116,151,133,.14),transparent 24%),
    linear-gradient(145deg,#f4f8f6 0%,#edf5f1 100%);
  box-shadow:0 24px 65px rgba(7,31,22,.07);
}
.sf-programs-panel:after{
  content:"";
  position:absolute;
  width:210px;
  height:210px;
  right:-110px;
  bottom:-110px;
  border-radius:50%;
  border:1px solid rgba(29,91,64,.10);
  pointer-events:none;
}

.sf-programs-v21 .sf-section-head{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
  gap:54px;
  align-items:end;
  max-width:none !important;
  margin:0 0 34px !important;
  padding-bottom:32px;
  border-bottom:1px solid #cfddd5;
}
.sf-programs-v21 .sf-section-head .sf-kicker{
  grid-column:1/-1;
  display:inline-flex !important;
  width:auto !important;
  max-width:max-content !important;
  align-items:center;
  gap:9px;
  margin:0 0 18px !important;
  padding:8px 13px !important;
  border:1px solid #bfd2c7 !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.76) !important;
  color:#15553b !important;
  font-size:.68rem !important;
  line-height:1 !important;
  letter-spacing:.13em !important;
  font-weight:900 !important;
}
.sf-programs-v21 .sf-section-head .sf-kicker:before{
  content:"";
  width:17px;
  height:2px;
  border-radius:999px;
  background:#1d6b4a;
}
.sf-programs-v21 .sf-section-head h2{
  max-width:760px !important;
  margin:0 !important;
  color:#082f20 !important;
  font-size:clamp(2.65rem,4vw,4.5rem) !important;
  line-height:.96 !important;
  letter-spacing:-.055em !important;
  text-wrap:balance;
}
.sf-programs-v21 .sf-section-head p{
  max-width:430px !important;
  margin:0 0 5px !important;
  color:#5f7168 !important;
  font-size:1.03rem !important;
  line-height:1.68 !important;
}

.sf-program-grid-v21{
  position:relative;
  z-index:1;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
  margin:0 !important;
}
.sf-program-editorial{
  min-height:310px !important;
  padding:26px 26px 24px !important;
  border:1px solid #d7e3dc !important;
  border-radius:24px !important;
  background:rgba(255,255,255,.95) !important;
  box-shadow:0 12px 34px rgba(10,49,34,.055) !important;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease !important;
}
.sf-program-editorial:after{
  width:145px !important;
  height:145px !important;
  right:-44px !important;
  top:-46px !important;
  background:#eef5f1 !important;
}
.sf-program-editorial:hover{
  transform:translateY(-6px) !important;
  border-color:#afcbbb !important;
  box-shadow:0 22px 48px rgba(10,49,34,.11) !important;
}
.sf-program-index{
  display:grid !important;
  place-items:center;
  width:42px;
  height:42px;
  border:1px solid #d8e5dd;
  border-radius:50%;
  background:#f2f7f4;
  color:#15553b !important;
  font-size:.72rem !important;
  font-weight:900 !important;
  letter-spacing:.08em !important;
}
.sf-program-symbol{
  width:56px !important;
  height:56px !important;
  margin-top:24px !important;
  border-radius:16px !important;
  background:#0b4a33 !important;
  box-shadow:0 8px 18px rgba(11,74,51,.14);
  font-size:.7rem !important;
}
.sf-program-editorial h3{
  margin:20px 0 10px !important;
  color:#082f20 !important;
  font-size:1.5rem !important;
  line-height:1.12 !important;
  letter-spacing:-.035em !important;
}
.sf-program-editorial p{
  min-height:0 !important;
  margin:0 !important;
  color:#63746c !important;
  font-size:.96rem !important;
  line-height:1.58 !important;
}
.sf-program-open-link{
  margin-top:auto !important;
  padding-top:24px !important;
  color:#0c563b !important;
  font-size:.86rem !important;
  font-weight:900 !important;
}

@media(max-width:980px){
  .sf-guide-hub{padding-bottom:26px !important}
  .sf-programs-v21{padding-top:14px !important;padding-bottom:70px !important}
  .sf-programs-panel{padding:36px}
  .sf-programs-v21 .sf-section-head{
    grid-template-columns:1fr;
    gap:18px;
    align-items:start;
  }
  .sf-programs-v21 .sf-section-head p{max-width:650px !important}
  .sf-program-grid-v21{grid-template-columns:1fr !important}
  .sf-program-editorial{min-height:0 !important}
}

@media(max-width:640px){
  .sf-guide-hub{padding-bottom:20px !important}
  .sf-programs-v21{padding:10px 0 58px !important}
  .sf-programs-v21 .container{width:min(100% - 28px,1540px) !important}
  .sf-programs-panel{
    padding:24px 18px 18px;
    border-radius:24px;
  }
  .sf-programs-v21 .sf-section-head{
    margin-bottom:22px !important;
    padding-bottom:22px;
  }
  .sf-programs-v21 .sf-section-head .sf-kicker{
    margin-bottom:14px !important;
    padding:7px 11px !important;
    font-size:.62rem !important;
  }
  .sf-programs-v21 .sf-section-head h2{
    font-size:clamp(2.25rem,10.5vw,3.3rem) !important;
  }
  .sf-programs-v21 .sf-section-head p{
    font-size:.94rem !important;
    line-height:1.58 !important;
  }
  .sf-program-grid-v21{gap:12px !important}
  .sf-program-editorial{
    padding:21px 20px 19px !important;
    border-radius:20px !important;
  }
  .sf-program-index{width:38px;height:38px}
  .sf-program-symbol{margin-top:19px !important}
}

html[dir="rtl"] .sf-programs-v21 .sf-section-head{text-align:right}
