/* ============================
   SERVICES PAGES ONLY
   (services.html + service subtabs)
   ============================ */

/* Page safety */
.svc-no-x,
.page-services{
  overflow-x: hidden;
}

/* Services helpers */
.svc-section { padding: clamp(28px, 5vw, 48px) 0; }
.svc-center { text-align: center; }

/* Only affect images INSIDE the page content, not the header/logo */
.page-services main img{
  max-width: 100%;
  height: auto;
  display: block;
}

/* ---------- HERO ---------- */
.svc-hero{
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: clamp(16px, 3vw, 28px);
  align-items: center;
  background: #E7F6F2;
  border-radius: 20px;
  padding: clamp(20px, 3.5vw, 32px);
  margin: clamp(20px, 4vw, 36px) auto 0;
  box-shadow: 0 8px 24px rgba(0,0,0,.06);
}

.svc-hero__copy h1{
  font-family: var(--font-heading);
  font-size: clamp(26px, 3.2vw, 40px);
  line-height: 1.2;
  color: #144936;
  margin: 0 0 .4rem;
}

.svc-light{ font-weight: 600; color:#1b6d56; }

.svc-hero__copy p{
  margin: .25rem 0 0;
  max-width: 60ch;
  line-height: 1.6;
}

.svc-hero__media img{
  width: 100%;
  border-radius: 14px;
  object-fit: cover;
}

/* ---------- CATEGORY GRID (4 cards) ---------- */
.svc-grid4{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(14px,2vw,22px);
  margin-top: clamp(16px,3vw,24px);
}

@media (max-width: 1100px){ .svc-grid4{ grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 820px){ .svc-grid4{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px){ .svc-grid4{ grid-template-columns: 1fr; } }

.svc-card{
  background:#fff;
  border-radius:18px;
  padding: clamp(16px,2.2vw,22px);
  box-shadow: 0 6px 18px rgba(0,0,0,.08);
  display:grid;
  grid-template-rows:auto auto 1fr auto;
  gap:.55rem;
  text-align:left;
  border: 1px solid rgba(0,0,0,.06);
}

.svc-card__icon{
  width:44px;height:44px;border-radius:12px;
  display:grid;place-items:center;
  font-size:26px;background:#f3faf6;color:#144936;
}

.svc-card h3{
  margin:.15rem 0 .1rem;
  font-family: var(--font-heading);
  font-size: clamp(18px,2vw,20px);
  color:#10352d;
}

.svc-card p{ margin:0; line-height:1.55; color:#2b2b2b; }

.svc-link{
  display:inline-block;
  margin-top:.5rem;
  font-weight:700;
  color:#144936;
  text-decoration:none;
  border:2px solid #144936;
  padding:.5rem .9rem;
  border-radius:999px;
  transition:background .18s ease,color .18s ease,transform .18s ease;
}

.svc-link:hover{ background:#144936; color:#fff; transform:translateY(-1px); }

/* ---------- STRIP (quote + image) ---------- */
.svc-strip{
  background:#f7fbf9;
  padding: clamp(26px, 5vw, 46px) 0;
}

.svc-strip__grid{
  display:grid;
  gap: clamp(18px, 3vw, 28px);
  grid-template-columns: 1fr 1.2fr;
  align-items:center;
}

.svc-strip__lead{
  font-size: clamp(20px, 2.2vw, 26px);
  color:#144936;
  margin:0;
  font-family: var(--font-heading);
}

.svc-strip__media img{
  width: 100%;
  border-radius: 16px;
  object-fit: cover;
}

/* ---------- FEATURE ROWS (alternating) ---------- */
.svc-feature{
  display:grid;
  gap: clamp(16px, 3vw, 26px);
  grid-template-columns: 1.15fr 1fr;
  align-items:center;
  padding: clamp(18px, 3vw, 28px) 0;
  border-bottom:1px solid rgba(0,0,0,.06);
}

.svc-feature:last-child{ border-bottom:0; }

.svc-feature--reverse{ grid-template-columns: 1fr 1.15fr; }
.svc-feature--reverse .svc-feature__media{ order:2; }
.svc-feature--reverse .svc-feature__copy{ order:1; }

.svc-feature__media img{
  width: 100%;
  border-radius:16px;
  object-fit:cover;
}

.svc-feature__copy h3{
  margin:.1rem 0 .35rem;
  font-family: var(--font-heading);
  font-size: clamp(20px, 2.2vw, 24px);
  color:#10352d;
}

.svc-feature__copy p{ margin:0; color:#2b2b2b; line-height: 1.6; }

/* ---------- QUICK ICONS ROW ---------- */
.svc-quick{
  background:linear-gradient(180deg,#eaf6f0, #e3f2ea);
  padding: clamp(28px, 5vw, 50px) 0;
}

.svc-quick__grid{
  display:grid;
  gap:20px;
  align-items:start;
  grid-template-columns: repeat(3,1fr);
}

.svc-quick__item{ text-align:center; }
.svc-quick__icon{
  font-size: 34px;
  line-height:1;
  margin-bottom:.35rem;
  color:#144936;
}
.svc-quick__item p{ margin:0; font-weight:600; color:#144936; }

/* ---------- RESPONSIVE STACKING ---------- */
@media (max-width: 900px){
  .svc-hero{ grid-template-columns: 1fr; text-align:center; }
  .svc-hero__media{ order:-1; }
  .svc-strip__grid{ grid-template-columns:1fr; }
  .svc-feature,
  .svc-feature--reverse{ grid-template-columns:1fr; }
}

/* District partnership CTA box */
.svc-partner-cta{
  margin-top: 18px;
  padding: clamp(16px, 2.2vw, 22px);
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 6px 18px rgba(0,0,0,.08);
  border: 1px solid rgba(0,0,0,.06);
}

.svc-partner-cta h3{
  margin: 0 0 .4rem;
  font-family: var(--font-heading);
  color: #10352d;
}

.svc-partner-cta p{ margin: .35rem 0; }

.svc-partner-cta__actions{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 10px;
}

.svc-partner-cta__note{
  margin-top: 10px;
  font-size: .95rem;
  opacity: .9;
}

/* Clean CTA row */
.cta-row{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:14px;
}

.cta-secondary{
  font-weight:700;
  color:#144936;
  text-decoration:none;
  padding:.55rem .2rem;
}

.cta-secondary:hover{ text-decoration:underline; }

@media (max-width: 520px){
  .cta-row{ flex-direction:column; align-items:stretch; }
  .cta-secondary{ text-align:center; }
}

/* ==========================================
   MOBILE SPACING CLEANUP (SERVICES PAGES)
   ========================================== */
@media (max-width: 900px){

  /* Make sections less tall */
  .svc-section{
    padding: 2rem 0;
  }

  /* Hero: tighten copy + image spacing */
  .svc-hero{
    gap: 16px;
    padding-top: 12px;
    padding-bottom: 10px;
  }
  .svc-hero__copy h1{
    line-height: 1.15;
    margin-bottom: .65rem;
  }
  .svc-hero__copy p{
    margin-top: 0;
  }

  /* Services grid: tighter */
  .svc-grid4{
    gap: 14px;
  }
  .svc-card{
    padding: 16px;
  }
  .svc-card h3{
    margin: .4rem 0 .35rem;
  }

  /* Strip spacing */
  .svc-strip{
    padding: 1.75rem 0;
  }

  /* Feature blocks */
  .svc-feature{
    gap: 16px;
    margin-top: 14px;
  }
  .svc-feature__media img{
    border-radius: 16px;
  }

  /* Quick icons row */
  .svc-quick{
    padding: 1.75rem 0 2.25rem;
  }
  .svc-quick__grid{
    gap: 12px;
  }
}
.check-list{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 12px;
  list-style: none;
  padding: 0;
  margin: 1.5rem 0 0;
}
.check-list li{
  background: #fff;
  padding: 15px;
  border-radius: 8px;
  box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

.check-list{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 12px;
  list-style: none;
  padding: 0;
  margin: 1.5rem 0 0;
}
.check-list li{
  background: #fff;
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

