/* ============================================================
   site-v21.css — Feature split (2 images left + content) v1.5.7
   ============================================================ */

.feature-split {
  background: #ffffff !important;
  padding: clamp(48px, 6vw, 88px) 0 !important;
  position: relative;
}
.feature-grid {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: clamp(32px, 5vw, 72px);
  align-items: center;
}

/* ── Image stack ── */
.feature-media {
  position: relative;
  isolation: isolate;
  padding: 14px 0;
  min-height: 460px;
}
.feature-card {
  position: absolute;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 20px 40px -16px rgba(20,33,61,0.25),
              0 8px 24px -8px rgba(79,142,220,0.18);
  transition: transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s;
  z-index: 2;
}
.feature-card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.feature-card-1 {
  top: 0; left: 0;
  width: 70%;
  aspect-ratio: 4 / 5;
  animation: fc-in-1 1000ms cubic-bezier(.2,.7,.2,1) both,
             fc-float 7s ease-in-out 1000ms infinite;
}
.feature-card-2 {
  bottom: 0; right: 0;
  width: 60%;
  aspect-ratio: 4 / 3;
  border: 4px solid #ffffff;
  z-index: 3;
  animation: fc-in-2 1200ms cubic-bezier(.2,.7,.2,1) both 200ms,
             fc-float 8s ease-in-out 1200ms infinite reverse;
}
.feature-card:hover {
  transform: translateY(-6px) scale(1.015);
  z-index: 4;
}
@keyframes fc-in-1 {
  from { opacity: 0; transform: translate(-20px, 14px) scale(.96); }
  to   { opacity: 1; transform: translate(0,0) scale(1); }
}
@keyframes fc-in-2 {
  from { opacity: 0; transform: translate(20px, -14px) scale(.96); }
  to   { opacity: 1; transform: translate(0,0) scale(1); }
}
@keyframes fc-float {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-8px); }
}

.feature-blob {
  position: absolute;
  width: 70%; height: 60%;
  bottom: -10%; left: -10%;
  border-radius: 50%;
  background: linear-gradient(135deg, #cfe5ff 0%, #66b3ff 100%);
  filter: blur(48px);
  opacity: 0.55;
  z-index: 1;
  pointer-events: none;
  animation: feature-blob-move 11s ease-in-out infinite;
}
@keyframes feature-blob-move {
  0%, 100% { transform: translate(0,0) scale(1); }
  50%      { transform: translate(12px,-10px) scale(1.05); }
}

/* ── Text column ── */
.feature-text { text-align: left; }
.feature-text .display.h2 { margin: 12px 0 14px !important; max-width: 18ch; text-align: left !important; }
.feature-text .lede { margin: 0 0 20px !important; max-width: 52ch; text-align: left !important; }
.feature-text .cta-row { justify-content: flex-start !important; }

.feature-points {
  list-style: none;
  padding: 0;
  margin: 0 0 26px;
  display: flex; flex-direction: column;
  gap: 12px;
}
.feature-points li {
  position: relative;
  padding: 12px 14px 12px 40px;
  background: #ffffff;
  border: 1px solid rgba(20,33,61,0.08);
  border-radius: 10px;
  font-size: 13px;
  line-height: 1.55;
  color: #4a5568;
  box-shadow: 0 1px 2px rgba(20,33,61,0.04);
  transition: border-color .25s, transform .25s;
}
.feature-points li:hover {
  border-color: rgba(79,142,220,0.35);
  transform: translateX(2px);
}
.feature-points li strong { color: #14213D; font-weight: 600; }
.feature-points li .dot {
  position: absolute;
  left: 14px; top: 16px;
  width: 14px; height: 14px;
  border-radius: 50%;
  background: rgba(79,142,220,0.12);
}
.feature-points li .dot::after {
  content: '✓';
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center; justify-content: center;
  font-size: 9px;
  font-weight: 700;
  color: #4F8EDC;
}

/* ── Responsive ── */
@media (max-width: 880px) {
  .feature-grid { grid-template-columns: 1fr; gap: 28px; }
  .feature-media {
    min-height: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    max-width: 480px;
    margin: 0 auto;
  }
  .feature-card { position: relative; width: 100%; }
  .feature-card-1 { aspect-ratio: 4/5; }
  .feature-card-2 { aspect-ratio: 4/5; border-width: 3px; }
  .feature-blob { display: none; }
  .feature-text { text-align: left; }
}
@media (max-width: 520px) {
  .feature-media { grid-template-columns: 1fr; max-width: 360px; }
  .feature-card-1, .feature-card-2 { aspect-ratio: 4/3; }
}

@media (prefers-reduced-motion: reduce) {
  .feature-card, .feature-blob { animation: none !important; }
}
