.service-card{
  overflow:hidden;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  transition:box-shadow .18s ease, border-color .18s ease;
  content-visibility:auto;
  contain:layout paint style;
  contain-intrinsic-size:520px;
}

.service-card:hover{
  border-color:rgba(127,208,210,0.24);
}

.service-image{
  width:100%;
  height:clamp(220px, 22vw, 280px);
  overflow:hidden;
  border-radius:var(--radius-lg);
  background:rgba(255,255,255,0.03);
}

.service-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 30%;
  display:block;
}

.service-placeholder{
  color:#d7f2f3;
  font-weight:600;
  font-size:15px;
  letter-spacing:.02em;
  text-align:center;
  padding:20px;
}

.service-content{padding:24px 24px 26px}
.service-content h3{margin:0 0 12px 0}

.service-content p,
.tech-content p{
  margin:0 0 16px 0;
  font-family:'Inter', Arial, sans-serif;
  font-size:16px;
  font-weight:400;
  line-height:1.8;
  letter-spacing:-0.012em;
  color:var(--muted);
}

.service-content p:last-child,
.tech-content p:last-child{
  margin-bottom:0;
}

.service-content h3,
.tech-content h3{
  margin:0 0 12px 0;
  font-family:'Inter', Arial, sans-serif;
  font-size:24px;
  font-weight:700;
  line-height:1.18;
  letter-spacing:-0.025em;
}

.visual-block{
  border:1px solid var(--border);
  border-radius:var(--radius);
  background:var(--panel);
  box-shadow:var(--shadow);
  overflow:hidden;
}

.visual-block + .visual-block{margin-top:28px}

.visual-media{
  min-height:320px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:linear-gradient(135deg, rgba(127,208,210,0.14), rgba(85,195,165,0.10));
  border-bottom:1px solid rgba(255,255,255,0.08);
}

.visual-media.placeholder{
  min-height:360px;
}

.visual-media img{
  width:100%;
  height:auto;
  max-height:520px;
  object-fit:contain;
  display:block;
}

.visual-placeholder{
  width:100%;
  min-height:260px;
  border:1.5px dashed rgba(127,208,210,0.35);
  border-radius:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:30px;
  color:#d7f2f3;
  font-size:18px;
  font-weight:600;
  letter-spacing:-0.015em;
}

.visual-content{
  padding:24px 26px 26px;
}

.visual-content h3{margin:0 0 10px 0}

.visual-content p{
  margin:0;
  color:var(--muted);
  font-size:16px;
  line-height:1.8;
  letter-spacing:-0.012em;
}

.dc-architecture{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:30px;
  border-radius:var(--radius);
  border:1px solid var(--border);
  background:var(--panel);
}

.dc-left, .dc-right{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.dc-box{
  padding:14px 18px;
  border-radius:12px;
  border:1px solid rgba(127,208,210,0.25);
  background:rgba(255,255,255,0.05);
  font-weight:600;
  text-align:center;
}

.dc-bus{
  padding:18px 26px;
  border-radius:14px;
  background:linear-gradient(90deg, var(--accent), var(--accent2));
  color:#172338;
  font-weight:800;
  letter-spacing:0.05em;
}

@supports not (content-visibility: auto) {
  .service-card,
  .reference-project {
    contain: none;
  }
}

@media (max-width: 900px) {
  .service-image {
    height: 220px;
  }

  .visual-media,
  .visual-media.placeholder{
    min-height:240px;
    padding:16px;
  }

  .dc-architecture{flex-direction:column; padding:22px}
  .dc-left,.dc-right{width:100%}
  .dc-bus{width:100%; text-align:center}
}
