/* ===========================================================
   SERVICES v4 — Per-section slider (auto, swipe, arrows, dots)
   =========================================================== */

.services-page .wrap{
  max-width:1100px;
  margin-inline:auto;
  padding-inline:12px;
}

.svc-card{
  background:#fff;
  border:1px solid var(--border, #e6eef4);
  border-radius:20px;
  padding:28px 18px 22px;
  box-shadow:0 14px 36px rgba(0,0,0,.06);
  margin:28px 0 42px;
  overflow:hidden;
}

.svc-head{
  text-align:center;
  margin-bottom:18px;
}
.svc-title{
  font-weight:900;
  letter-spacing:.2px;
  font-size:clamp(1.55rem, 1.15rem + 1.3vw, 2.05rem);
  color:var(--brand-blue-800, #0A4E73);
  margin:0 0 10px;
}
.svc-sub{
  max-width:860px;
  margin:0 auto;
  color:#4b5563;
  font-size:1.04rem;
  line-height:1.55;
}

/* ===== One image + service list per section ===== */
.svc-row{
  display:flex;
  flex-direction:column;
  gap:24px;
  align-items:stretch;
}
@media (min-width:860px){
  .svc-row{ flex-direction:row; gap:34px; }
  /* Alternate image side for visual rhythm */
  .svc-card:nth-child(even) .svc-row{ flex-direction:row-reverse; }
}

.svc-media{
  position:relative;
  flex:0 0 auto;
  width:100%;
  border-radius:18px;
  overflow:hidden;
  border:1px solid var(--border, #e6eef4);
  box-shadow:0 14px 34px rgba(10,40,70,.1);
}
@media (min-width:860px){
  .svc-media{ width:38%; max-width:380px; }
}
.svc-media .ratio{
  position:relative;
  width:100%;
}
.svc-media .ratio picture,
.svc-media .ratio img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .6s ease;
}
@media (hover:hover){
  .svc-media:hover picture img{ transform:scale(1.05); }
}

.svc-body{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  align-items:center;
}
.svc-list{
  width:100%;
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
}
.svc-list li{
  position:relative;
  padding:14px 0 14px 24px;
  border-top:1px solid rgba(10,78,115,.08);
}
.svc-list li:first-child{ border-top:0; padding-top:0; }
.svc-list li:last-child{ padding-bottom:0; }
.svc-list li::before{
  content:"";
  position:absolute; left:0; top:22px;
  width:9px; height:9px; border-radius:999px;
  background:var(--accent-electric, #12D8E0);
  box-shadow:0 0 0 3px rgba(18,216,224,.22);
}
.svc-item-title{
  display:block;
  font-weight:900;
  font-size:1.02rem;
  margin:0 0 4px;
  color:var(--brand-blue-800, #0A4E73);
}
.svc-item-text{
  display:block;
  margin:0;
  color:#4b5d6c;
  line-height:1.55;
  font-size:.96rem;
}

/* CTA stays full width */
.cta-wide-bleed{
  margin-top:56px;
  background:linear-gradient(90deg,#EAF6FC,#CFEAF7);
  border-top:1px solid #CFEAF7;
  border-bottom:1px solid #e6eef4;
}
.cta-wide-bleed .wrap{
  padding:52px 12px;
  max-width:1180px;
  margin-inline:auto;
}
.cta-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
@media (max-width: 820px){
  .cta-row{ flex-direction:column; align-items:flex-start; }
}

.cta-row .btn.btn-brand{
  background:var(--grad-brand, linear-gradient(135deg,#0A4E73,#218CCF,#12D8E0));
  color:#fff;
  border-radius:999px;
  padding:.75rem 1.4rem;
  border:0;
  box-shadow:0 10px 22px rgba(15,109,169,.18), 0 4px 10px rgba(15,109,169,.12);
  transition:transform .18s ease, box-shadow .18s ease;
}
.cta-row .btn.btn-brand:hover{
  transform:translateY(-2px);
  box-shadow:var(--glow-electric, 0 0 0 1px rgba(18,216,224,.18), 0 18px 40px rgba(18,216,224,.16));
}
/* --- slider stability patch --- */
 