/* Homepage-only corrections requested for Café Social 57 v2.1. */
body.cs57-home h1{
  font-size:clamp(3rem,5vw,5.65rem);
  line-height:.99;
}
body.cs57-home h2,
body.cs57-home .intro .section-heading h2,
body.cs57-home .impact__topline h2,
body.cs57-home .project__copy h2,
body.cs57-home .volunteers__copy h2,
body.cs57-home .visit__copy h2{
  font-size:clamp(2.25rem,3.55vw,4.15rem);
  line-height:1.06;
  text-wrap:balance;
}
body.cs57-home h3{
  line-height:1.15;
}
body.cs57-home .section-heading,
body.cs57-home .activities__intro,
body.cs57-home .project__copy,
body.cs57-home .volunteers__copy,
body.cs57-home .visit__copy{
  min-width:0;
}

body.cs57-home .hero__grid{
  grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);
  min-height:0;
  align-items:center;
}
body.cs57-home .hero__visual{
  min-height:0;
  aspect-ratio:4/3;
  align-self:center;
}
body.cs57-home .hero__image{
  inset:0;
  border-radius:42px;
}
body.cs57-home .hero__image img{
  object-fit:cover;
  object-position:center;
}
body.cs57-home .hero__description{
  max-width:610px;
  line-height:1.72;
}

body.cs57-home .activity-card__image{
  aspect-ratio:1/1;
}
body.cs57-home .activity-card__image img,
body.cs57-home .admin-support__image img,
body.cs57-home .impact__image img,
body.cs57-home .project__image img,
body.cs57-home .volunteers__image img,
body.cs57-home .visit__image img{
  object-fit:cover;
  object-position:center;
}
body.cs57-home .admin-support__image{
  aspect-ratio:1/1;
}

body.cs57-home .impact__stats{
  grid-template-columns:repeat(5,minmax(0,1fr));
  align-items:stretch;
}
body.cs57-home .impact-item{
  min-width:0;
  min-height:220px;
  padding-inline:clamp(12px,1.6vw,24px);
  overflow:hidden;
}
body.cs57-home .impact-item strong{
  color:var(--coral);
  font-size:clamp(2rem,2.7vw,3.2rem);
  line-height:1;
  overflow-wrap:anywhere;
}
body.cs57-home .impact-item span{
  color:rgba(255,255,255,.84);
  font-size:clamp(.84rem,.95vw,1rem);
  line-height:1.5;
}
body.cs57-home .impact__image{
  min-height:0;
  aspect-ratio:1/1;
}

body.cs57-home .project__grid{
  align-items:center;
}
body.cs57-home .project__image{
  aspect-ratio:4/3;
}
body.cs57-home .project__copy>p:not(.section-label){
  margin-bottom:0;
}
body.cs57-home .project__copy h2{
  margin-bottom:26px;
}

body.cs57-home .volunteers__image{
  aspect-ratio:4/3;
  min-height:0;
}
body.cs57-home .volunteers__image img{
  object-position:center;
}

body.cs57-home .team{
  padding-bottom:clamp(80px,8vw,125px);
}
body.cs57-home .partners{
  padding-top:clamp(72px,7vw,105px)!important;
}

body.cs57-home .visit__image img{
  object-position:center 62%;
}

@media(max-width:1100px){
  body.cs57-home .hero__grid{
    grid-template-columns:minmax(0,.9fr) minmax(380px,1.1fr);
  }
  body.cs57-home .impact__stats{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  body.cs57-home .impact-item:nth-child(3){border-right:0}
  body.cs57-home .impact-item:nth-child(4),
  body.cs57-home .impact-item:nth-child(5){border-top:1px solid rgba(255,255,255,.18)}
}

@media(max-width:980px){
  body.cs57-home .hero__grid{
    grid-template-columns:1fr;
  }
  body.cs57-home .hero__visual{
    width:100%;
    max-width:760px;
    margin:20px auto 0;
  }
  body.cs57-home .project__image,
  body.cs57-home .volunteers__image{
    aspect-ratio:4/3;
  }
}

@media(max-width:720px){
  body.cs57-home h1{
    font-size:clamp(2.75rem,12.5vw,4.15rem);
    line-height:1.01;
  }
  body.cs57-home h2,
  body.cs57-home .intro .section-heading h2,
  body.cs57-home .impact__topline h2,
  body.cs57-home .project__copy h2,
  body.cs57-home .volunteers__copy h2,
  body.cs57-home .visit__copy h2{
    font-size:clamp(2.05rem,9.5vw,3.2rem);
    line-height:1.08;
  }
  body.cs57-home .hero__content{
    order:1;
  }
  body.cs57-home .hero__visual{
    order:2;
    aspect-ratio:4/3;
    min-height:0;
    margin-left:0;
  }
  body.cs57-home .hero__image{
    border-radius:28px;
  }
  body.cs57-home .impact__stats{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  body.cs57-home .impact-item,
  body.cs57-home .impact-item:nth-child(3),
  body.cs57-home .impact-item:nth-child(4),
  body.cs57-home .impact-item:nth-child(5){
    min-height:165px;
    border-right:1px solid rgba(255,255,255,.2);
    border-bottom:1px solid rgba(255,255,255,.2);
    border-top:0;
  }
  body.cs57-home .impact-item:nth-child(2n){border-right:0}
  body.cs57-home .impact-item:last-child{
    grid-column:1/-1;
    border-right:0;
  }
}

@media(max-width:430px){
  body.cs57-home .impact__stats{
    grid-template-columns:1fr;
  }
  body.cs57-home .impact-item,
  body.cs57-home .impact-item:last-child{
    grid-column:auto;
    border-right:0;
  }
}
