/* Home CORE CAPABILITIES ([data-ari-services]).
   Outer frame border + per-card left-edge dividers (cards 2–4).
   Avoids CSS-grid gap rounding (which can collapse the first 1px gap)
   and L-technique paint-over (next card covers previous border-right).
*/

[data-ari-services] .ari-svc-frame {
  display: block;
}

[data-ari-services] .ari-svc-grid {
  align-items: stretch;
}

/* ── Desktop (lg+) ─────────────────────────────────────────────────────── */
@media (min-width: 1024px) {
  [data-ari-services] .ari-svc-frame {
    border: 1px solid rgba(200, 166, 152, 0.65) !important;
    background: transparent !important;
  }

  [data-ari-services] .ari-svc-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 0 !important;
    background: transparent !important;
    border: 0 !important;
  }

  [data-ari-services] .ari-svc-grid > .ari-svc-card {
    display: grid !important;
    grid-template-rows: minmax(0, 1fr) auto !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-content: stretch !important;
    justify-content: stretch !important;
    height: 100% !important;
    min-height: 0 !important;
    min-width: 0 !important;
    background-color: #ffffff !important;
    transform: none !important;
    border: 0 !important;
    position: relative !important;
  }

  /* Column dividers live ON cards 2–4 (inside their box) — never covered, never rounded away */
  [data-ari-services] .ari-svc-grid > .ari-svc-card:not(:first-child)::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 1px !important;
    background-color: rgba(200, 166, 152, 0.65) !important;
    z-index: 25 !important;
    pointer-events: none !important;
  }

  /* Image strip seam — match divider color */
  [data-ari-services] .ari-svc-media {
    border-top-width: 1px !important;
    border-top-style: solid !important;
    border-top-color: rgba(200, 166, 152, 0.65) !important;
  }
}

/* ── Mobile / tablet: spaced cards, each with own full border ──────────── */
@media (max-width: 1023px) {
  [data-ari-services] .ari-svc-frame {
    border: 0 !important;
    background: transparent !important;
  }

  [data-ari-services] .ari-svc-grid {
    gap: 1.5rem !important;
    background: transparent !important;
    border: 0 !important;
  }

  [data-ari-services] .ari-svc-card {
    display: grid !important;
    grid-template-rows: minmax(0, 1fr) auto !important;
    border: 1px solid rgba(200, 166, 152, 0.65) !important;
    background-color: #ffffff !important;
  }

  [data-ari-services] .ari-svc-grid > .ari-svc-card:not(:first-child)::before {
    content: none !important;
    display: none !important;
  }
}

@media (min-width: 640px) and (max-width: 1023px) {
  [data-ari-services] .ari-svc-grid {
    gap: 2rem !important;
  }
}

/* ── Body layout (equal CTA baseline) ──────────────────────────────────── */
[data-ari-services] .ari-svc-body {
  display: grid !important;
  grid-template-rows: auto auto minmax(0, 1fr) !important;
  grid-template-columns: minmax(0, 1fr) !important;
  height: 100% !important;
  min-height: 0 !important;
  flex: unset !important;
  background-color: #ffffff !important;
}

[data-ari-services] .ari-svc-body > :nth-child(1) {
  grid-row: 1;
}

[data-ari-services] .ari-svc-body > :nth-child(2) {
  grid-row: 2;
}

[data-ari-services] .ari-svc-foot {
  grid-row: 3 !important;
  align-self: end !important;
  margin-top: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  width: 100%;
  flex-shrink: 0;
}

[data-ari-services] .ari-svc-specs {
  width: 100%;
}

[data-ari-services] .ari-svc-cta {
  margin-top: 1rem !important;
  width: 100%;
}

[data-ari-services] .ari-svc-media {
  grid-row: 2;
  flex-shrink: 0 !important;
  margin-top: 0 !important;
  width: 100%;
}

[data-ari-services] .ari-svc-specs > div {
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  gap: 0.75rem;
  width: 100%;
}

/* Opacity-only entrance — transform breaks border alignment */
[data-ari-services] .ari-svc-card.ari-anim {
  transform: none !important;
}
[data-ari-services] .ari-svc-card.ari-anim:not(.ari-in) {
  opacity: 0;
}
[data-ari-services] .ari-svc-card.ari-anim.ari-in {
  opacity: 1;
  transform: none !important;
}
