/* ============================================================
   SDC — homepage sections (native rebuild of the Elementor home)
   ============================================================ */

.hm-section{padding:72px 0;}
.hm-h2{text-align:center;font-size:clamp(26px,3.2vw,36px);color:var(--green-dark);margin:0 0 46px;font-weight:600;}

/* ---------- Hero — exact match of the Elementor "Slides" widget on the live home ----------
   slides_height 700px · content_max_width 75% · slides_padding top 32% · heading extra 40px · centred · no overlay */
.hm-hero{
  position:relative;min-height:700px;box-sizing:border-box;
  background-size:cover;background-position:center center;
  padding:32% 0 0;                 /* slides_padding: 32% of width, pushes the title to the lower third */
  display:flex;justify-content:center;align-items:center;   /* vertical_position: middle */
}
.hm-hero__inner{width:75%;max-width:75%;text-align:center;}   /* content_max_width: 75%, horizontal_position: center */
.hm-hero__title{
  font-family:var(--font-heading);font-weight:400;
  font-size:40px;line-height:1.1;color:#fff;margin:0;letter-spacing:.01em;
  text-shadow:0 2px 12px rgba(0,0,0,.38);
  animation:hmHeroIn 1.1s cubic-bezier(.2,.7,.2,1) both;
}
@keyframes hmHeroIn{from{opacity:0;transform:translateY(26px);}to{opacity:1;transform:none;}}

/* ---------- Our Priorities ---------- */
/* heading: grey #54595F, "extra" 600, zoomIn (exact from live) */
.hm-priorities .hm-h2{color:#54595F;animation:hmZoomIn .9s ease both .2s;}
@keyframes hmZoomIn{from{opacity:0;transform:scale(.82);}to{opacity:1;transform:none;}}

.hm-prio-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:44px 20px;margin-top:30px;
}
/* tile = image + white card side by side (Elementor: two 50% flex children, card offset 7px/5px) + heavy shadow */
.hm-prio{
  display:flex;min-height:250px;box-shadow:0 10px 22px rgba(0,0,0,.5);
  /* live entrance: fadeInLeft — revealed on scroll-into-view (.is-in). Only hidden when JS
     is active (body.sdc-anim) so the cards never stay invisible if JS fails. */
  transition:opacity .9s ease, transform .9s ease;
}
.sdc-anim .hm-prio{opacity:0;transform:translateX(-60px);}
.sdc-anim .hm-prio.is-in{opacity:1;transform:none;}
.hm-prio__img{flex:1 1 50%;background-size:cover;background-position:100% 50%;min-height:250px;}  /* per-image focus set inline from ACF */
.hm-prio__label{
  flex:1 1 50%;background:#fff;margin:7px 0 0 5px;min-height:250px;
  display:flex;align-items:center;justify-content:center;padding:14px 18px;
}
.hm-prio__label span{font-family:var(--font-heading);font-size:18px;color:#54595F;line-height:1.35;text-align:center;}
/* second row: image on the right (Elementor _flex_order:end) — the staggered look */
.hm-prio:nth-child(n+4){flex-direction:row-reverse;}
.hm-prio:nth-child(n+4) .hm-prio__label{margin:7px 5px 0 0;}
.hm-prio:nth-child(1){transition-delay:.05s}.hm-prio:nth-child(2){transition-delay:.15s}.hm-prio:nth-child(3){transition-delay:.25s}
.hm-prio:nth-child(4){transition-delay:.35s}.hm-prio:nth-child(5){transition-delay:.45s}.hm-prio:nth-child(6){transition-delay:.55s}
/* safety: never leave content hidden if entrance animations are disabled / JS off */
.no-js .hm-prio{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  .hm-prio,.hm-hero__title{opacity:1!important;transform:none!important;animation:none!important;}
}

/* ---------- Our Work ---------- */
.hm-work{background-size:cover;background-position:center;background-attachment:fixed;}
.hm-stats{display:flex;justify-content:center;flex-wrap:wrap;gap:56px;margin:0 0 56px;}
.hm-stat{width:155px;height:155px;border-radius:50%;display:flex;flex-direction:column;
  align-items:center;justify-content:center;color:#fff;box-shadow:0 14px 30px rgba(0,40,20,.18);text-align:center;}
.hm-stat--c1{background:#2E689D;}
.hm-stat--c2{background:#38C6F3;}
.hm-stat--c3{background:#136835;}
.hm-stat--c4{background:#44B749;}
.hm-stat__ic{font-size:38px;line-height:1;margin-bottom:8px;color:#fff;}   /* live circle icons (globe/book/users/map) */
.hm-stat__n{font-size:28px;font-weight:700;line-height:1;}
.hm-stat__l{font-size:13px;margin-top:5px;font-weight:500;}

.hm-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;}
.hm-card{background:#fff;border-radius:6px;overflow:hidden;box-shadow:0 16px 34px rgba(0,40,20,.14);display:flex;flex-direction:column;}
.hm-card__head{padding:22px 20px 20px;color:#fff;flex:1;}
.hm-card__head--c1{background:#2E689D;}
.hm-card__head--c2{background:#38C6F3;}
.hm-card__head--c3{background:#136835;}
.hm-card__head--c4{background:#44B749;}
.hm-card__head h3{color:#fff;font-size:20px;margin:0 0 10px;}
.hm-card__head a{color:#fff;text-decoration:none;}
a.hm-card__more:hover{text-decoration:underline;}
.hm-card__head p{font-size:13.5px;line-height:1.55;margin:0 0 14px;color:rgba(255,255,255,.92);}
.hm-card__more{font-size:13px;font-weight:600;color:#fff;opacity:.95;display:inline-flex;align-items:center;gap:7px;}
.hm-card__more i{font-size:16px;}
.hm-card__img{height:325px;background-size:cover;background-position:50% 0%;}  /* live: taller portrait crop, top-aligned */

/* ---------- Partners — native logo grid (plugin-free) ---------- */
.hm-h2--grey{color:#54595F!important;}
.hm-partner-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:24px;align-items:center;margin-top:34px;}
.hm-partner{display:flex;align-items:center;justify-content:center;padding:10px;min-height:90px;}
.hm-partner img{max-width:100%;max-height:80px;width:auto;height:auto;object-fit:contain;filter:none;transition:transform .3s ease;}
.hm-partner img:hover{transform:scale(1.06);}

/* ---------- Responsive ---------- */
@media (max-width:1000px){
  .hm-prio-grid{grid-template-columns:repeat(2,1fr);}
  .hm-cards{grid-template-columns:repeat(2,1fr);}
  .hm-partner-grid{grid-template-columns:repeat(4,1fr);}
  .hm-work{background-attachment:scroll;}
}
@media (max-width:620px){
  .hm-section{padding:52px 0;}
  .hm-prio-grid{grid-template-columns:1fr;gap:22px;}
  .hm-prio,.hm-prio:nth-child(n+4){flex-direction:column;}   /* stack image over card on mobile */
  .hm-prio__img{flex:none;width:100%;height:200px;}          /* min_height_mobile: 200 */
  .hm-prio__label,.hm-prio:nth-child(n+4) .hm-prio__label{flex:none;width:100%;margin:0;min-height:auto;padding:16px 18px;}
  .hm-stats{gap:26px;}
  .hm-stat{width:120px;height:120px;}
  .hm-cards{grid-template-columns:1fr;}
  .hm-partner-grid{grid-template-columns:repeat(3,1fr);gap:18px;}
  /* hero mobile — exact: slides_height_mobile 375px, padding-top 65%, font 18px */
  .hm-hero{min-height:375px;padding:65% 0 0;}
  .hm-hero__inner{width:86%;max-width:86%;}
  .hm-hero__title{font-size:18px;}
}
