/* v69 — hero aligned closely to approved reference */
.sf-hero-exact .container{max-width:1500px !important;}
.sf-hero-exact .sf-hero-v23-card{
  position:relative !important;
  min-height:820px !important;
  border-radius:34px !important;
  overflow:hidden !important;
  padding:0 !important;
  box-shadow:0 20px 48px rgba(8,31,22,.08) !important;
  background:#eef3ef !important;
}
.sf-hero-exact .sf-hero-static-image{
  position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;object-fit:cover !important;object-position:center center !important;z-index:0 !important;
}
.sf-hero-exact .sf-hero-exact-shade{
  position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(90deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.92) 24%, rgba(255,255,255,.74) 37%, rgba(255,255,255,.18) 53%, rgba(255,255,255,0) 66%),
    radial-gradient(circle at 18% 22%, rgba(255,255,255,.72) 0%, rgba(255,255,255,0) 40%);
}
.sf-hero-exact .sf-hero-exact-main{
  position:relative;z-index:2;display:flex;flex-direction:column;min-height:820px;padding:58px 58px 32px;
}
.sf-hero-exact .sf-hero-exact-copy{max-width:660px;width:min(47%,660px);}
.sf-hero-exact .sf-hero-exact-eyebrow{
  margin:0 0 20px;font-size:.95rem;line-height:1;letter-spacing:.34em;text-transform:uppercase;font-weight:800;color:#174c3b;
}
.sf-hero-exact .sf-hero-exact-title{
  margin:0 0 28px;font-size:clamp(4.1rem,6vw,6.35rem);line-height:.92;letter-spacing:-.06em;font-weight:900;color:#000;max-width:640px;
}
.sf-hero-exact .sf-hero-exact-title span{color:#34725f;display:inline-block;}
.sf-hero-exact .sf-hero-exact-features{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;max-width:620px;margin:0 0 22px;
}
.sf-hero-exact .sf-hero-exact-feature{
  padding:0 16px 0 0;display:flex;flex-direction:column;align-items:flex-start;gap:10px;color:#163a2f;position:relative;min-width:0;
}
.sf-hero-exact .sf-hero-exact-feature:not(:last-child){border-right:1px solid rgba(17,69,53,.14);margin-right:16px;}
.sf-hero-exact .sf-hero-exact-feature svg{width:48px;height:48px;stroke:#174c3b;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto;}
.sf-hero-exact .sf-hero-exact-feature span{font-size:1rem;line-height:1.18;font-weight:750;display:block;}
.sf-hero-exact .sf-hero-exact-lead{
  margin:0 0 22px;max-width:690px;color:#18392f;font-size:1.18rem;line-height:1.45;font-weight:500;
}
.sf-hero-exact .sf-hero-exact-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 18px;}
.sf-hero-exact .sf-hero-exact-btn{
  display:inline-flex;align-items:center;gap:14px;justify-content:center;text-decoration:none;font-weight:800;border-radius:20px;min-height:64px;padding:0 28px;font-size:1rem;transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.sf-hero-exact .sf-hero-exact-btn:hover{transform:translateY(-1px);}
.sf-hero-exact .sf-hero-exact-btn--primary{background:#0d5a41;color:#fff;box-shadow:0 10px 24px rgba(7,44,31,.16);}
.sf-hero-exact .sf-hero-exact-btn--secondary{background:rgba(255,255,255,.92);color:#0a2f21;border:1px solid rgba(14,63,47,.16);box-shadow:0 10px 24px rgba(7,44,31,.10);}
.sf-hero-exact .sf-hero-exact-search{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:999px;font-size:1.4rem;line-height:1;font-weight:700;}
.sf-hero-exact .sf-hero-exact-rail{margin-top:auto;}
.sf-hero-exact .sf-hero-exact-rail-head{display:none;}
.sf-hero-exact .sf-hero-university-scroller{
  display:flex !important;gap:14px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scroll-behavior:smooth;scrollbar-width:none;padding:4px 2px 2px;cursor:grab;
}
.sf-hero-exact .sf-hero-university-scroller::-webkit-scrollbar{display:none;}
.sf-hero-exact .sf-hero-university-scroller.is-dragging{cursor:grabbing;scroll-behavior:auto;user-select:none;}
.sf-hero-exact .sf-hero-university-card{
  flex:0 0 246px;height:138px;display:grid;grid-template-columns:108px minmax(0,1fr) 36px;align-items:end;gap:12px;padding:10px 12px;border-radius:18px;border:1px solid rgba(17,69,53,.12);background:rgba(255,255,255,.96);box-shadow:0 14px 32px rgba(7,44,31,.12);text-decoration:none;color:#0a2f21;scroll-snap-align:start;
}
.sf-hero-exact .sf-hero-university-card img{width:108px;height:118px;object-fit:cover;border-radius:12px;align-self:stretch;}
.sf-hero-exact .sf-hero-university-card-copy{min-width:0;display:block;align-self:center;}
.sf-hero-exact .sf-hero-university-card-copy strong{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:1rem;line-height:1.18;font-weight:850;color:#0a2f21;}
.sf-hero-exact .sf-hero-university-card-copy small{display:block;margin-top:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;line-height:1.25;color:#65756d;font-weight:600;}
.sf-hero-exact .sf-hero-university-card-arrow{width:34px;height:34px;display:grid;place-items:center;border-radius:999px;border:1px solid rgba(17,69,53,.16);color:#174c3b;font-size:1.05rem;font-weight:900;align-self:center;}
.sf-hero-exact .sf-hero-university-card--more{
  flex:0 0 160px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:8px;padding:16px 18px;background:#06543c;color:#fff;border:none;
}
.sf-hero-exact .sf-hero-university-card-more-plus{font-size:3rem;line-height:.9;font-weight:300;}
.sf-hero-exact .sf-hero-university-card-more-copy{font-size:1rem;line-height:1.14;font-weight:750;display:block;}
.sf-hero-exact .sf-hero-v23-note{display:none !important;}
@media (max-width:1320px){
  .sf-hero-exact .sf-hero-exact-main{padding:48px 40px 28px;min-height:790px;}
  .sf-hero-exact .sf-hero-v23-card{min-height:790px;}
  .sf-hero-exact .sf-hero-exact-copy{width:min(50%,650px);}
  .sf-hero-exact .sf-hero-exact-title{font-size:clamp(3.5rem,5.7vw,5.2rem);} 
}
@media (max-width:1100px){
  .sf-hero-exact .sf-hero-exact-main{min-height:760px;}
  .sf-hero-exact .sf-hero-v23-card{min-height:760px;}
  .sf-hero-exact .sf-hero-exact-copy{width:min(57%,660px);} 
  .sf-hero-exact .sf-hero-exact-features{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 10px;}
  .sf-hero-exact .sf-hero-exact-feature:not(:last-child){border-right:none;margin-right:0;padding-right:10px;}
}
@media (max-width:820px){
  .sf-hero-exact .sf-hero-v23-card{min-height:0;border-radius:28px;}
  .sf-hero-exact .sf-hero-exact-shade{background:linear-gradient(180deg, rgba(255,255,255,.90) 0%, rgba(255,255,255,.86) 26%, rgba(255,255,255,.70) 42%, rgba(255,255,255,.32) 62%, rgba(255,255,255,.12) 74%, rgba(255,255,255,0) 100%);} 
  .sf-hero-exact .sf-hero-exact-main{padding:28px 18px 18px;min-height:760px;}
  .sf-hero-exact .sf-hero-exact-copy{width:100%;max-width:none;}
  .sf-hero-exact .sf-hero-exact-eyebrow{font-size:.82rem;letter-spacing:.23em;margin-bottom:14px;}
  .sf-hero-exact .sf-hero-exact-title{font-size:clamp(2.7rem,12vw,4.45rem);max-width:100%;margin-bottom:20px;}
  .sf-hero-exact .sf-hero-exact-lead{font-size:1.03rem;max-width:100%;}
  .sf-hero-exact .sf-hero-exact-actions{gap:12px;}
  .sf-hero-exact .sf-hero-exact-btn{min-height:58px;padding:0 20px;border-radius:18px;}
  .sf-hero-exact .sf-hero-exact-btn--primary,.sf-hero-exact .sf-hero-exact-btn--secondary{flex:1 1 100%;}
  .sf-hero-exact .sf-hero-university-card{flex-basis:280px;height:128px;grid-template-columns:92px minmax(0,1fr) 34px;}
  .sf-hero-exact .sf-hero-university-card img{width:92px;height:108px;}
}
@media (max-width:560px){
  .sf-hero-exact .sf-hero-exact-main{min-height:720px;padding:24px 14px 16px;}
  .sf-hero-exact .sf-hero-exact-features{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px;}
  .sf-hero-exact .sf-hero-exact-feature{padding-right:0;}
  .sf-hero-exact .sf-hero-exact-feature svg{width:42px;height:42px;}
  .sf-hero-exact .sf-hero-exact-feature span{font-size:.92rem;}
  .sf-hero-exact .sf-hero-exact-lead{font-size:.96rem;line-height:1.42;}
  .sf-hero-exact .sf-hero-university-card{flex-basis:84vw;height:124px;grid-template-columns:84px minmax(0,1fr) 32px;}
  .sf-hero-exact .sf-hero-university-card img{width:84px;height:104px;}
  .sf-hero-exact .sf-hero-university-card--more{flex-basis:148px;}
}
html[dir="rtl"] .sf-hero-exact .sf-hero-exact-copy{text-align:right;}
html[dir="rtl"] .sf-hero-exact .sf-hero-exact-feature{align-items:flex-end;}
html[dir="rtl"] .sf-hero-exact .sf-hero-exact-feature:not(:last-child){border-right:none;border-left:1px solid rgba(17,69,53,.14);margin-right:0;margin-left:16px;padding-right:0;padding-left:16px;}
html[dir="rtl"] .sf-hero-exact .sf-hero-university-card{grid-template-columns:36px minmax(0,1fr) 108px;}
html[dir="rtl"] .sf-hero-exact .sf-hero-university-card img{grid-column:3;}
html[dir="rtl"] .sf-hero-exact .sf-hero-university-card-copy{grid-column:2;text-align:right;}
html[dir="rtl"] .sf-hero-exact .sf-hero-university-card-arrow{grid-column:1;transform:rotate(180deg);}

/* v71 — force approved headline colors over legacy hero !important rules */
html body main .sf-hero-exact .sf-hero-exact-title,
html body main .sf-hero-exact .sf-hero-exact-title:not(span){
  color:#050505 !important;
  -webkit-text-fill-color:#050505 !important;
  opacity:1 !important;
  text-shadow:none !important;
}
html body main .sf-hero-exact .sf-hero-exact-title span{
  color:#34725f !important;
  -webkit-text-fill-color:#34725f !important;
  opacity:1 !important;
}

/* v71 — explicit manual controls for the university rail */
.sf-hero-exact .sf-hero-exact-rail{
  position:relative !important;
  padding-inline:48px 48px !important;
}
.sf-hero-exact .sf-hero-rail-control{
  position:absolute !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  z-index:12 !important;
  width:40px !important;
  height:40px !important;
  padding:0 !important;
  display:grid !important;
  place-items:center !important;
  border:1px solid rgba(17,69,53,.18) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.96) !important;
  color:#0a5139 !important;
  font-size:1.25rem !important;
  font-weight:900 !important;
  line-height:1 !important;
  cursor:pointer !important;
  box-shadow:0 10px 24px rgba(7,44,31,.14) !important;
  transition:transform .18s ease, opacity .18s ease, box-shadow .18s ease !important;
}
.sf-hero-exact .sf-hero-rail-control:hover:not(:disabled),
.sf-hero-exact .sf-hero-rail-control:focus-visible:not(:disabled){
  transform:translateY(-50%) scale(1.05) !important;
  box-shadow:0 14px 28px rgba(7,44,31,.18) !important;
}
.sf-hero-exact .sf-hero-rail-control:disabled{
  opacity:.34 !important;
  cursor:default !important;
}
.sf-hero-exact .sf-hero-rail-control--prev{left:0 !important;}
.sf-hero-exact .sf-hero-rail-control--next{right:0 !important;}
.sf-hero-exact .sf-hero-university-scroller{
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  overscroll-behavior-inline:contain !important;
  touch-action:pan-x pan-y !important;
  -webkit-overflow-scrolling:touch !important;
}
.sf-hero-exact .sf-hero-university-card,
.sf-hero-exact .sf-hero-university-card img{
  -webkit-user-drag:none !important;
  user-drag:none !important;
}
@media (max-width:820px){
  .sf-hero-exact .sf-hero-exact-rail{padding-inline:38px !important;}
  .sf-hero-exact .sf-hero-rail-control{width:34px !important;height:34px !important;font-size:1.05rem !important;}
}
@media (max-width:560px){
  .sf-hero-exact .sf-hero-exact-rail{padding-inline:34px !important;}
  .sf-hero-exact .sf-hero-rail-control{width:31px !important;height:31px !important;}
}
html[dir="rtl"] .sf-hero-exact .sf-hero-rail-control--prev{left:auto !important;right:0 !important;}
html[dir="rtl"] .sf-hero-exact .sf-hero-rail-control--next{right:auto !important;left:0 !important;}
