/* ── Service Feature Rows ───────────────────────────────────── */
.service-row { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 80px; align-items: center; scroll-margin-top: 100px; }
.service-row.reverse { grid-template-columns: 1.1fr 0.9fr; }
.service-row.reverse .service-row-visual { order: 2; }
.service-row-visual { position: relative; aspect-ratio: 4/5; border-radius: 14px; overflow: hidden; background: var(--navy); box-shadow: 0 30px 60px -25px rgba(20,41,61,0.35); }
.service-row-visual img { width: 100%; height: 100%; object-fit: cover; display: block; }
.service-row-tag { position: absolute; top: 24px; left: 24px; background: white; padding: 10px 16px; border-radius: 100px; font-size: 11px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--navy); display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 10px 30px -10px rgba(20,41,61,0.25); }
.service-row.reverse .service-row-tag { left: auto; right: 24px; }
.service-row-tag .dot { width: 6px; height: 6px; background: var(--sage); border-radius: 50%; }
.service-row-icon { width: 52px; height: 52px; border-radius: 10px; background: var(--navy); display: flex; align-items: center; justify-content: center; color: white; margin-bottom: 22px; }
.service-row-body h2 { font-family: 'Poppins', sans-serif; font-weight: 400; font-size: clamp(28px, 3vw, 38px); line-height: 1.15; color: var(--navy); margin: 0 0 18px; letter-spacing: -0.012em; }
.service-row-body h2 em { font-style: italic; font-weight: 300; color: var(--sage); }
.service-row-body p { font-size: 16px; color: var(--muted); line-height: 1.72; margin: 0 0 24px; max-width: 520px; }
.service-row-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.service-row-list li { display: flex; align-items: flex-start; gap: 11px; font-size: 14px; color: var(--ink); }
.service-row-list li i { color: var(--sage-hover); flex-shrink: 0; margin-top: 2px; }

/* ── Service Detail Grid (compact cards) ───────────────────── */
.service-detail-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.service-detail-card { background: white; border: 1px solid var(--silver-light); border-radius: 14px; padding: 40px 36px; scroll-margin-top: 100px; transition: all 0.3s ease; position: relative; overflow: hidden; }
.service-detail-card::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 3px; background: var(--sage); transform: scaleX(0); transform-origin: left; transition: transform 0.4s ease; }
.service-detail-card:hover { transform: translateY(-4px); box-shadow: 0 24px 50px -20px rgba(20,41,61,0.18); border-color: transparent; }
.service-detail-card:hover::before { transform: scaleX(1); }
.service-detail-icon { width: 52px; height: 52px; border-radius: 10px; background: var(--sage-soft); display: flex; align-items: center; justify-content: center; color: var(--sage-hover); margin-bottom: 22px; }
.service-detail-card h3 { font-family: 'Poppins', sans-serif; font-size: 22px; font-weight: 500; color: var(--navy); margin: 0 0 12px; letter-spacing: -0.01em; }
.service-detail-card p { font-size: 15px; color: var(--muted); line-height: 1.68; margin: 0; }

/* ── Divider Spacing ────────────────────────────────────────── */
.services-divider { height: 1px; background: var(--silver-light); margin: 90px 0; }

/* ── Responsive ─────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .service-row, .service-row.reverse { grid-template-columns: 1fr; gap: 44px; }
  .service-row.reverse .service-row-visual { order: -1; }
  .service-row-visual { order: -1; aspect-ratio: 16/9; }
  .service-detail-grid { grid-template-columns: 1fr; }
  .services-divider { margin: 64px 0; }
}
@media (max-width: 640px) {
  .service-detail-card { padding: 30px 26px; }
}
