/* v1.0.47 approved free mental health support feature — fluid Coastal Breeze design.
   Layout and CTA are native HTML; only the user-approved counseling photo is an image. */
.so-v27-home .so-free-feature{
  padding:clamp(34px,4.4vw,75px) clamp(13px,2vw,35px);
  background:linear-gradient(180deg,#f8fbfc 0%,#edf6f9 61%,#fff 100%);
}
.so-v27-home .so-free-feature__frame{
  max-width:1770px;
  border:1px solid #dfedf2;
  border-radius:clamp(23px,2.5vw,42px);
  box-shadow:0 24px 65px rgba(25,77,107,.11);
  overflow:hidden;
  background:linear-gradient(120deg,#f6fbfd,#fff6ed);
}
.so-v27-home .so-free-feature__hero{
  min-height:620px;
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);
  background:linear-gradient(115deg,#fffdf9 0%,#f5fbfe 50%,#e5f2f7 100%);
}
.so-v27-home .so-free-feature__content{
  padding:clamp(37px,4.9vw,86px) clamp(27px,4.2vw,74px) clamp(36px,4.6vw,75px);
  position:relative;
  z-index:2;
}
.so-v27-home .so-free-feature__eyebrow{
  font-size:clamp(10px,.74vw,12px);letter-spacing:.055em;padding:11px 17px;
  background:#ffe9db;color:#345977;box-shadow:0 3px 13px #f2b99126;
}
.so-v27-home .so-free-feature h2{
  font-size:clamp(36px,3.55vw,64px);letter-spacing:-.045em;
  line-height:1.08;max-width:770px;margin:24px 0 20px;
  color:#143f64;
}
.so-v27-home .so-free-feature h2 span{color:#4298a8}
.so-v27-home .so-free-feature__intro{
  font-size:clamp(15px,1.2vw,19px);line-height:1.65;max-width:690px;
  color:#365975;margin:0 0 21px;
}
.so-v27-home .so-free-feature__services{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;
  margin:25px 0 23px;
}
.so-v27-home .so-free-feature__service{
  border-radius:19px;padding:18px 15px;min-height:103px;
}
.so-v27-home .so-free-feature__service strong{font-size:clamp(13px,.96vw,16px)}
.so-v27-home .so-free-feature__service small{font-size:12px}
.so-v27-home .so-free-feature__service-icon{flex:0 0 48px;width:48px;height:48px}
.so-v27-home .so-free-feature__benefits{gap:15px 22px}
.so-v27-home .so-free-feature__benefits span{font-size:12px}
.so-v27-home .so-free-feature__actions{margin-top:23px}
.so-v27-home .so-free-feature__primary{
  background:linear-gradient(105deg,#0c5485,#427e9d);
  min-height:60px;font-size:clamp(14px,1vw,17px);
  padding:18px 28px;box-shadow:0 12px 25px #216a9033;
}
.so-v27-home .so-free-feature__primary:hover,
.so-v27-home .so-free-feature__primary:focus-visible{
  background:linear-gradient(105deg,#0a456e,#235f85)
}
.so-v27-home .so-free-feature__visual--counseling{
  min-height:620px;
  position:relative;
  background:#e3f1f5;
  overflow:hidden;
  border-radius:21% 0 0 20% / 51% 0 0 45%;
  box-shadow:-12px 0 0 rgba(178,221,230,.55);
}
.so-v27-home .so-free-feature__visual--counseling img{
  inset:0;position:absolute;display:block;height:100%;width:100%;
  object-fit:cover;object-position:48% 50%;max-width:none;
}
.so-v27-home .so-free-feature__visual--counseling::before,
.so-v27-home .so-free-feature__visual--counseling::after{display:none}
.so-v27-home .so-free-feature__visual-caption{
  bottom:25px;right:25px;padding:12px 17px;
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  color:#1f5974;border:1px solid rgba(255,255,255,.8);
}
.so-v27-home .so-free-feature__info{
  background:linear-gradient(95deg,#f8fcfd,#fff6ec 65%,#f0f8fa);
  border-top:1px solid #dfebef;
  padding:23px clamp(22px,3vw,50px);
}
.so-v27-home .so-free-feature__info-icon{
  border-radius:50%;background:#dff2f8;color:#258dad;
}
.so-v27-home .so-free-feature__info-item strong{font-size:clamp(13px,.94vw,15px)}
.so-v27-home .so-free-feature__info-item p{font-size:12px}
@media(max-width:1320px){
  .so-v27-home .so-free-feature__content{padding:44px 31px 38px}
  .so-v27-home .so-free-feature h2{font-size:clamp(36px,4.05vw,55px)}
  .so-v27-home .so-free-feature__services{gap:10px}
  .so-v27-home .so-free-feature__service{min-height:96px;padding:13px 11px}
  .so-v27-home .so-free-feature__benefits{gap:11px}
}
@media(max-width:1120px){
  .so-v27-home .so-free-feature__hero{grid-template-columns:1fr;min-height:0}
  .so-v27-home .so-free-feature__content{padding:48px clamp(25px,5vw,70px) 40px}
  .so-v27-home .so-free-feature h2{font-size:clamp(37px,5vw,60px)}
  .so-v27-home .so-free-feature__visual--counseling{
    min-height:clamp(340px,50vw,530px);border-radius:22% 22% 0 0 / 10% 10% 0 0;
    box-shadow:0 -10px 0 rgba(178,221,230,.45)
  }
  .so-v27-home .so-free-feature__visual--counseling img{object-position:center 46%}
}
@media(max-width:920px){
  .so-v27-home .so-free-feature__info{grid-template-columns:1fr;gap:0;padding:9px 25px}
  .so-v27-home .so-free-feature__info-item,
  .so-v27-home .so-free-feature__info-item:first-child,
  .so-v27-home .so-free-feature__info-item:last-child{
    padding:17px 5px;border-right:0;border-bottom:1px solid #dbe9ee;
  }
  .so-v27-home .so-free-feature__info-item:last-child{border-bottom:0}
}
@media(max-width:540px){
  .so-v27-home .so-free-feature{padding:27px 11px 40px}
  .so-v27-home .so-free-feature__frame{border-radius:22px}
  .so-v27-home .so-free-feature__content{padding:32px 20px 29px}
  .so-v27-home .so-free-feature h2{font-size:clamp(33px,8.9vw,45px)}
  .so-v27-home .so-free-feature__intro{font-size:14px}
  .so-v27-home .so-free-feature__services{grid-template-columns:1fr;gap:10px}
  .so-v27-home .so-free-feature__service{min-height:0}
  .so-v27-home .so-free-feature__visual--counseling{min-height:310px}
  .so-v27-home .so-free-feature__visual--counseling img{object-position:49% 50%}
  .so-v27-home .so-free-feature__benefits{gap:10px 12px}
  .so-v27-home .so-free-feature__primary{width:100%;font-size:14px;padding:15px 14px;min-height:55px}
  .so-v27-home .so-free-feature__visual-caption{right:11px;bottom:11px;font-size:10px;padding:9px 11px}
}
@media(prefers-reduced-motion:reduce){
  .so-v27-home .so-free-feature__service,
  .so-v27-home .so-free-feature__primary{transition:none!important}
}
