/* StudyFlow v32 — hero-only final layout. Desktop clipping fix; mobile unchanged. Loaded after all legacy/refactor CSS. */

.sf-hero-v23{
  padding:18px 0 72px !important;
}

.sf-hero-v23 .container{
  max-width:1700px !important;
}

.sf-hero-v23-card{
  position:relative !important;
  min-height:650px !important;
  height:auto !important;
  overflow:hidden !important;
  border-radius:34px !important;
}

.sf-hero-v23-image{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  transform:none !important;
}

.sf-hero-v23-overlay{
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  background:
    linear-gradient(90deg, rgba(5,30,20,.50) 0%, rgba(5,30,20,.30) 28%, rgba(5,30,20,.13) 58%, rgba(5,30,20,.26) 100%),
    linear-gradient(0deg, rgba(5,30,20,.56) 0%, rgba(5,30,20,.20) 38%, rgba(5,30,20,.03) 70%) !important;
}

.sf-hero-v23-kicker{
  position:absolute !important;
  z-index:4 !important;
  top:14px !important;
  left:24px !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:9px !important;
  padding:10px 16px !important;
  border:1px solid rgba(11,74,51,.12) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.90) !important;
  color:#0b4a33 !important;
  box-shadow:0 10px 28px rgba(7,31,22,.12) !important;
  backdrop-filter:blur(10px) !important;
  -webkit-backdrop-filter:blur(10px) !important;
  font-size:.72rem !important;
  font-weight:900 !important;
  letter-spacing:.12em !important;
  white-space:nowrap !important;
}

.sf-hero-v23-kicker::before{
  content:"" !important;
  width:19px !important;
  height:2px !important;
  background:#0d6a48 !important;
  border-radius:999px !important;
}

.sf-hero-v23-content{
  position:absolute !important;
  z-index:3 !important;
  left:52px !important;
  right:auto !important;
  bottom:28px !important;
  width:min(840px, 55%) !important;
  padding:0 !important;
  color:#fff !important;
}

.sf-hero-v23 h1{
  max-width:820px !important;
  margin:0 0 14px !important;
  font-size:clamp(3.45rem,4.65vw,4.85rem) !important;
  line-height:.92 !important;
  letter-spacing:-.06em !important;
  color:#fff !important;
  text-wrap:balance !important;
}

.sf-hero-v23-lead{
  max-width:720px !important;
  margin:0 !important;
  color:rgba(255,255,255,.95) !important;
  font-size:1.02rem !important;
  line-height:1.55 !important;
}

.sf-hero-v23-actions{
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:14px 22px !important;
  margin-top:18px !important;
}

.sf-hero-v23-primary{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:54px !important;
  padding:15px 22px !important;
  background:#fff !important;
  color:#0b3b2a !important;
  border-color:#fff !important;
  box-shadow:0 12px 30px rgba(0,0,0,.15) !important;
}

.sf-hero-v23-secondary{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:#fff !important;
  font-size:1rem !important;
  font-weight:850 !important;
  padding:12px 0 !important;
}

.sf-hero-v23-metrics{
  position:static !important;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:10px !important;
  width:100% !important;
  margin-top:14px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
}

.sf-hero-v23-metrics > div{
  min-width:0 !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  align-content:center !important;
  gap:6px !important;
  padding:12px 15px !important;
  border:1px solid rgba(255,255,255,.25) !important;
  border-radius:18px !important;
  background:rgba(20,54,41,.44) !important;
  backdrop-filter:blur(10px) !important;
  -webkit-backdrop-filter:blur(10px) !important;
}

.sf-hero-v23-metrics strong{
  font-size:1.35rem !important;
  line-height:1 !important;
  color:#fff !important;
}

.sf-hero-v23-metrics span{
  min-width:0 !important;
  color:rgba(255,255,255,.94) !important;
  font-size:.82rem !important;
  line-height:1.25 !important;
  font-weight:750 !important;
}

@media (max-width:1180px){
  .sf-hero-v23-content{
    left:34px !important;
    width:min(760px,60%) !important;
  }
  .sf-hero-v23 h1{
    font-size:clamp(3.15rem,4.8vw,4.45rem) !important;
  }
}

@media (max-width:820px){
  .sf-hero-v23{
    padding:10px 0 60px !important;
  }

  .sf-hero-v23 .container{
    padding-inline:14px !important;
  }

  .sf-hero-v23-card{
    min-height:710px !important;
    border-radius:26px !important;
  }

  .sf-hero-v23-image{
    object-position:center center !important;
  }

  .sf-hero-v23-overlay{
    background:linear-gradient(0deg,rgba(5,28,19,.88) 0%,rgba(5,28,19,.63) 45%,rgba(5,28,19,.10) 78%,rgba(5,28,19,.01) 100%) !important;
  }

  .sf-hero-v23-kicker{
    top:8px !important;
    left:14px !important;
    padding:9px 14px !important;
    font-size:.64rem !important;
    letter-spacing:.09em !important;
  }

  .sf-hero-v23-content{
    left:0 !important;
    right:0 !important;
    bottom:18px !important;
    width:auto !important;
    padding:0 18px !important;
  }

  .sf-hero-v23 h1{
    max-width:none !important;
    margin:0 0 16px !important;
    font-size:clamp(2.8rem,12.7vw,4rem) !important;
    line-height:.93 !important;
  }

  .sf-hero-v23-lead{
    font-size:.96rem !important;
    line-height:1.58 !important;
  }

  .sf-hero-v23-actions{
    margin-top:18px !important;
    gap:8px !important;
    flex-direction:column !important;
    align-items:stretch !important;
  }

  /* Mobile has the persistent bottom CTA, so hide only the duplicate hero CTA. */
  .sf-hero-v23-primary{
    display:none !important;
  }

  .sf-hero-v23-secondary{
    justify-content:center !important;
    padding:8px 0 !important;
    font-size:1.02rem !important;
  }

  .sf-hero-v23-metrics{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:10px !important;
    margin-top:14px !important;
  }

  .sf-hero-v23-metrics > div{
    min-height:102px !important;
    padding:13px 12px !important;
    border-radius:18px !important;
    background:rgba(255,255,255,.10) !important;
  }

  .sf-hero-v23-metrics strong{
    font-size:1.35rem !important;
  }

  .sf-hero-v23-metrics span{
    font-size:.76rem !important;
    line-height:1.2 !important;
  }
}

@media (max-width:420px){
  .sf-hero-v23-kicker{
    max-width:calc(100% - 28px) !important;
    white-space:normal !important;
  }
  .sf-hero-v23-metrics{
    gap:8px !important;
  }
  .sf-hero-v23-metrics > div{
    padding:12px 10px !important;
  }
  .sf-hero-v23-metrics span{
    font-size:.72rem !important;
  }
}

html[dir="rtl"] .sf-hero-v23-kicker{
  left:auto !important;
  right:24px !important;
}
html[dir="rtl"] .sf-hero-v23-content{
  left:auto !important;
  right:52px !important;
  text-align:right !important;
}
@media (max-width:1180px){
  html[dir="rtl"] .sf-hero-v23-content{right:34px !important;}
}
@media (max-width:820px){
  html[dir="rtl"] .sf-hero-v23-kicker{left:auto !important;right:14px !important;}
  html[dir="rtl"] .sf-hero-v23-content{left:0 !important;right:0 !important;}
}
