/* TechVibz: service-detail presentation refinement, October 2026.
   Scoped to individual service pages; keep your existing app.css and service-detail.css. */
.tvz-sd-page.tvz-sd-refined .tvz-sd-sidebar {
  position: static;
  top: auto;
  align-self: start;
}
.tvz-sd-page.tvz-sd-refined .tvz-sd-side-photo img {
  width: 100%;
  height: auto;
  max-height: 220px;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.tvz-sd-page.tvz-sd-refined .tvz-sd-section {
  padding-bottom: 1.8rem;
  margin-bottom: 1.8rem;
}
.tvz-sd-page.tvz-sd-refined .tvz-sd-section > p:not(.tvz-sd-overline) {
  max-width: 74ch;
}
.tvz-sd-page.tvz-sd-refined .tvz-sd-cms-section > .tvz-sd-checklist,
.tvz-sd-page.tvz-sd-refined .tvz-sd-cms-section > .tvz-sd-benefits,
.tvz-sd-page.tvz-sd-refined .tvz-sd-cms-section > .tvz-sd-steps {
  margin-top: 1.2rem;
}
.tvz-sd-page.tvz-sd-refined .tvz-sd-challenges-list {
  padding-left: 1.3rem;
  margin: 0;
}
.tvz-sd-page.tvz-sd-refined .tvz-sd-challenges-list li {
  padding-left: .25rem;
  margin: .45rem 0;
}
.tvz-sd-page.tvz-sd-refined .tvz-sd-cms-section .tvz-sd-benefits {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.tvz-sd-page.tvz-sd-refined .tvz-sd-cms-section .tvz-sd-benefit {
  min-height: 106px;
}
.tvz-sd-page.tvz-sd-refined .tvz-sd-cms-section .tvz-sd-step {
  min-height: 128px;
}
@media (max-width: 850px) {
  .tvz-sd-page.tvz-sd-refined .tvz-sd-sidebar { position: static; }
}
@media (max-width: 640px) {
  .tvz-sd-page.tvz-sd-refined .tvz-sd-cms-section .tvz-sd-benefits {
    grid-template-columns: 1fr;
  }
  .tvz-sd-page.tvz-sd-refined .tvz-sd-cms-section .tvz-sd-benefit,
  .tvz-sd-page.tvz-sd-refined .tvz-sd-cms-section .tvz-sd-step {
    min-height: auto;
  }
  .tvz-sd-page.tvz-sd-refined .tvz-sd-side-photo img { max-height: 190px; }
}

/* Final balanced, full-width service details; only affects public /services/{slug}. */
.tvz-sd-page.tvz-sd-refined .tvz-sd-content {
  margin-bottom: clamp(1.8rem, 3vw, 3rem);
}
.tvz-sd-page.tvz-sd-refined .tvz-sd-main > .tvz-sd-section:last-child {
  border-bottom: 0;
  margin-bottom: 0;
  padding-bottom: 0;
}
.tvz-sd-page.tvz-sd-refined .tvz-sd-wide {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.3rem;
  width: 100%;
  min-width: 0;
  margin: 0 0 2rem;
}
.tvz-sd-page.tvz-sd-refined .tvz-sd-wide > .tvz-sd-section {
  margin: 0;
  padding: clamp(1.4rem, 2.7vw, 2.2rem);
  border: 1px solid #e2e9f2;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(14, 19, 48, .045);
}
.tvz-sd-page.tvz-sd-refined .tvz-sd-wide .tvz-sd-section > h2 {
  margin: 0 0 1.15rem;
}
.tvz-sd-page.tvz-sd-refined .tvz-sd-wide .tvz-sd-checklist {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.tvz-sd-page.tvz-sd-refined .tvz-sd-wide .tvz-sd-challenges-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 2rem;
  row-gap: .35rem;
}
.tvz-sd-page.tvz-sd-refined .tvz-sd-wide .tvz-sd-cms-section .tvz-sd-benefits,
.tvz-sd-page.tvz-sd-refined .tvz-sd-wide .tvz-sd-benefits {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.tvz-sd-page.tvz-sd-refined .tvz-sd-wide .tvz-sd-benefit {
  min-height: 125px;
  padding: 1.3rem;
  overflow-wrap: anywhere;
}
.tvz-sd-page.tvz-sd-refined .tvz-sd-wide .tvz-sd-steps {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.tvz-sd-page.tvz-sd-refined .tvz-sd-wide .tvz-sd-step {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: .65rem;
  min-height: 126px;
  padding: 1.3rem;
}
.tvz-sd-page.tvz-sd-refined .tvz-sd-wide .tvz-sd-step span {
  line-height: 1.15;
}
.tvz-sd-page.tvz-sd-refined .tvz-sd-wide .tvz-sd-step p {
  font-size: 1rem;
  line-height: 1.6;
  color: #31415d;
  margin: 0;
}
@media (max-width: 900px) {
  .tvz-sd-page.tvz-sd-refined .tvz-sd-wide .tvz-sd-benefits,
  .tvz-sd-page.tvz-sd-refined .tvz-sd-wide .tvz-sd-cms-section .tvz-sd-benefits {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .tvz-sd-page.tvz-sd-refined .tvz-sd-wide {
    gap: 1rem;
  }
  .tvz-sd-page.tvz-sd-refined .tvz-sd-wide > .tvz-sd-section {
    padding: 1.25rem;
  }
  .tvz-sd-page.tvz-sd-refined .tvz-sd-wide .tvz-sd-checklist,
  .tvz-sd-page.tvz-sd-refined .tvz-sd-wide .tvz-sd-challenges-list,
  .tvz-sd-page.tvz-sd-refined .tvz-sd-wide .tvz-sd-benefits,
  .tvz-sd-page.tvz-sd-refined .tvz-sd-wide .tvz-sd-cms-section .tvz-sd-benefits,
  .tvz-sd-page.tvz-sd-refined .tvz-sd-wide .tvz-sd-steps {
    grid-template-columns: minmax(0, 1fr);
  }
  .tvz-sd-page.tvz-sd-refined .tvz-sd-wide .tvz-sd-benefit,
  .tvz-sd-page.tvz-sd-refined .tvz-sd-wide .tvz-sd-step {
    min-height: auto;
  }
}
