.apc-feature-boxes { display: grid; gap: var(--apc-gap,16px); }
.apc-feature-box {
  background: var(--apc-bg,#f7f6f6);
  border-radius: var(--apc-radius,16px);
  padding: var(--apc-pad,20px);
}
.apc-feature-top {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 6px;
}
.apc-feature-icon i { font-size: 18px; line-height: 1; color:#222}
.apc-feature-title { margin: 0; font-size: 20px; font-weight: 700; }
.apc-feature-desc { margin: 0; font-size: 15px; color: #222; }


/* Stats board */
.apc-stats-board {
  --_g: linear-gradient(var(--apc-gdeg,135deg), var(--apc-g1,#13101c), var(--apc-g2,#4b3f58));
  border-radius: var(--apc-radius,24px);
  background: var(--_g);
  padding: var(--apc-pad,28px);
  color: #fff;
}

.apc-stats-inner {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--apc-gap,0);
}

.apc-stats-item {
  position: relative;
  padding: 12px 20px;
}

.apc-stats-item:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 10%;
  right: 0;
  height: 80%;
  width: 1px;
  background: var(--apc-divider, rgba(255,255,255,0.22));
}

.apc-stats-big {
  font-size: clamp(32px, 6vw, 64px);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.02em;
}

.apc-stats-small {
  margin-top: 22px;
  font-size: 16px;
  font-weight: 600;
  opacity: 0.95;
}

/* Responsive */
@media (max-width: 1024px) {
  .apc-stats-inner { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .apc-stats-item:nth-child(2n)::after { display: none; }
}

@media (max-width: 640px) {
  .apc-stats-inner { grid-template-columns: 1fr; }
  .apc-stats-item::after { display: none; }
}


/* Services Scroller */
/* ===== Services Scroller (robust; left pinned via JS) ===== */
.apc-ss--pure { --apc-stick:40px; --apc-right-h:85vh; background:#f8f9fa; position:relative; }

/* Layout */
.apc-ss--pure .apc-ss-wrapper{ display:flex; align-items:stretch; gap:48px; min-height:100vh; }
.apc-ss--pure .apc-ss-left   { flex:0 0 50%; max-width:50%; padding:3rem; display:flex; flex-direction:column; }
.apc-ss--pure .apc-ss-right  { flex:1 1 50%; max-width:50%; padding:2rem; }


/* Text + CTA (keep your style) */
.apc-ss--pure .apc-ss-title{ margin:0 0 12px; font-size:clamp(28px,4vw,44px); font-weight:800; line-height:1.1; letter-spacing:-0.02em; }
.apc-ss--pure .apc-ss-desc { margin:0 0 20px; font-size:17px; line-height:1.55; opacity:.95; max-width:520px; }
.apc-ss--pure .apc-ss-btn  { display:inline-block; padding:12px 20px; border-radius:999px; background:#0b0812; color:#fff; text-decoration:none; font-weight:600; }

/* Image pinned to bottom @ 350px */
.apc-ss--pure .apc-ss-image{ margin-top:auto; }
.apc-ss--pure .apc-ss-image img{ width:350px; max-width:100%; height:auto; display:block; border-radius:18px; }

/* Placeholder used when left is fixed (prevents right column jump) */
.apc-ss--pure .apc-ss-left-ph{
  display:none;               /* shown by JS only while pinned */

}



/* Cards (keep your look; vars are supported but default here if empty) */
.apc-ss--pure .apc-ss-card{
  background: var(--card-bg, #fff);
  border: 1px solid var(--card-bd, #e9ecef);
  border-radius: var(--card-r, 20px);
  padding: var(--card-pad, 28px);
  margin-bottom: var(--card-gap, 22px);
  box-shadow: 0 10px 40px rgba(0,0,0,0.08);
  display:flex; flex-direction:column; justify-content:center;
  min-height:70vh;  /* adjust if you want faster scroll cadence */
}
.apc-ss--pure .apc-ss-card-title{ font-size:2rem; font-weight:800; margin:0 0 1.25rem; color:#1e3c72; }

/* Icon size + spacing */
.apc-ss--pure .apc-ss-card-icon i{ font-size:40px; line-height:1; display:block; margin-bottom:3em; }

/* Checklist */
.apc-ss--pure .apc-ss-checklist{ list-style:none; padding:0; margin:0; display:grid; gap:12px; }
.apc-ss--pure .apc-ss-checklist li{ display:flex; align-items:flex-start; gap:10px; color:#555; }
.apc-ss--pure .apc-ss-checklist i{ margin-top:2px; }

/* When JS pins left (adds .is-pinned on the SECTION) */
.apc-ss--pure.is-pinned .apc-ss-left{
  position:fixed;
  top:var(--apc-stick,40px);
  left:var(--left-left,0px);   /* computed by JS */
  width:var(--left-w, 600px);  /* computed by JS */
  max-width:none;
  z-index:3;
  max-height: calc(100vh - var(--apc-stick,40px));
  overflow:hidden;
}
.apc-ss--pure.is-pinned .apc-ss-left-ph{ display:block; }  /* reserve space so layout doesn't shift */

/* Mobile fallback */
@media (max-width:1024px){
  .apc-ss--pure .apc-ss-wrapper{ display:block; min-height:auto; }
  .apc-ss--pure .apc-ss-left,
  .apc-ss--pure .apc-ss-right{ max-width:none; width:100%; position:static; }
  .apc-ss--pure.is-pinned .apc-ss-left{ position:static; width:auto; left:auto; }
  .apc-ss--pure .apc-ss-card{ min-height:70vh; }

}

.apc-ss--pure .apc-ss-right-outer{ position:static !important; height:auto !important; overflow:visible !important; }
.apc-ss--pure .apc-ss-right{ transform:none !important; }