/* pages/services.css — alternating service rows on the archive */
.service-row { display: grid; grid-template-columns: 340px 1fr; gap: clamp(30px, 5vw, 70px); align-items: start; padding: clamp(36px, 5vw, 60px) 0; border-bottom: 1px solid var(--b-line); scroll-margin-top: 110px; }
.service-row:last-child { border-bottom: 0; }
.service-row.is-reverse { grid-template-columns: 1fr 340px; }
.service-row.is-reverse .sr-media { order: 2; }

.sr-media {
  position: relative; display: grid; place-items: center; aspect-ratio: 1 / 1; border-radius: var(--radius-lg); overflow: hidden;
  background: linear-gradient(145deg, #0B1730, #14305F); border: 1px solid rgba(103,232,249,.25); box-shadow: var(--shadow-lg);
}
.sr-media::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(103,232,249,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(103,232,249,.08) 1px, transparent 1px); background-size: 34px 34px; }
.sr-media::after { content: ""; position: absolute; width: 220px; height: 220px; border-radius: 50%; background: var(--b-blue); filter: blur(70px); opacity: .55; }
.sr-num { position: absolute; top: 18px; left: 24px; z-index: 2; font: 800 2.4rem/1 var(--font-head); color: rgba(255,255,255,.15); }
.sr-icon { position: relative; z-index: 2; display: grid; place-items: center; width: 108px; height: 108px; border-radius: 30px; font-size: 2.8rem; color: #fff; background: var(--grad-primary); box-shadow: var(--glow); transition: transform .6s var(--ease); }
.service-row:hover .sr-icon { transform: scale(1.08) rotate(-6deg); }

.sr-body h2 { font-size: clamp(1.6rem, 2.8vw, 2.3rem); margin-bottom: 10px; }
.sr-body h2 a { color: inherit; }
.sr-body h2 a:hover { color: var(--b-blue); }
.sr-tagline { margin-bottom: 14px; font: 600 1.05rem/1.4 var(--font-head); color: var(--b-blue) !important; }

.banner-sec { background: linear-gradient(180deg, #0B1730, #08112A); }
.banner-sec .section-lead { margin-bottom: 32px; }
