/* Service heroes */
.page-hero--service {
  min-height: 85svh;
  isolation: isolate;
}
.page-hero--service .page-hero-art {
  opacity: 0.58;
}
.page-hero--service::after {
  z-index: 0;
  background: linear-gradient(90deg, rgba(3, 5, 9, 0.94), rgba(3, 5, 9, 0.3));
}
.page-hero--service .container {
  z-index: 1;
}
.page-hero--service h1 {
  max-width: 16ch;
}

/* Service cards and supporting content */
.service-step-label {
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
}

.service-benefits {
  padding-left: 1.2rem;
  margin-bottom: 0;
  color: rgba(255, 255, 255, 0.75);
}
.service-benefits li + li {
  margin-top: 0.9rem;
}
.service-note,
.field-optional {
  color: rgba(255, 255, 255, 0.62);
  font-size: 0.9rem;
  line-height: 1.7;
}
.service-note a,
.service-faq a {
  color: var(--color-accent);
}
.service-faq {
  padding: 1.2rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
.service-faq summary {
  color: #fff;
  cursor: pointer;
  font-weight: 600;
  transition: color 0.2s ease;
}
.service-faq summary:hover,
.service-faq[open] summary {
  color: var(--color-accent);
}
.service-faq p {
  margin: 0.9rem 0 0;
  color: rgba(255, 255, 255, 0.72);
  line-height: 1.8;
}
.service-faq summary:focus-visible {
  outline: 3px solid var(--color-accent);
  outline-offset: 5px;
}

/* Optional website care */
.care-plan .ds-cap-num {
  color: rgba(255, 255, 255, 0.65);
}

.care-plan--recommended {
  border-color: rgba(243, 185, 0, 0.45);
}

.care-plan--recommended .ds-cap-num {
  color: var(--color-accent);
}

.care-price {
  color: var(--color-accent);
  font-size: 2.3rem;
  font-weight: 700;
}
.care-price small {
  color: rgba(255, 255, 255, 0.65);
  font-size: 0.9rem;
  font-weight: 400;
}
.care-plan ul {
  padding-left: 1.15rem;
  color: rgba(255, 255, 255, 0.75);
}
.care-plan li + li {
  margin-top: 0.65rem;
}

/* Cropped virtual-room previews */
.virtual-preview {
  margin: 0 0 1.5rem;
}

.virtual-preview a {
  display: block;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(243, 185, 0, 0.22);
}

.virtual-preview img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.virtual-preview a:hover img,
.virtual-preview a:focus-visible img {
  transform: scale(1.025);
}

.virtual-preview figcaption {
  margin-top: 0.75rem;
  color: rgba(255, 255, 255, 0.65);
  font-size: 0.8rem;
  line-height: 1.7;
}

/* Estimator and enquiry details */
.estimate-result {
  margin-top: 1.5rem;
  padding: 1.2rem;
  border-left: 3px solid var(--color-accent);
  border-radius: 0 10px 10px 0;
  background: rgba(243, 185, 0, 0.06);
  color: rgba(255, 255, 255, 0.85);
  line-height: 1.8;
}
.estimate-result p:last-child {
  margin-bottom: 0;
}
.party-form-wrap .form-text {
  color: rgba(255, 255, 255, 0.65);
}

/* Fictional workflow demonstrations */
.workflow-steps {
  padding: 0;
  margin: 0 0 1.5rem;
  list-style: none;
}
.workflow-step {
  min-height: 12rem;
}
.workflow-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.workflow-controls button:disabled {
  opacity: 0.45;
  cursor: default;
  transform: none;
}

/* Small-screen service layouts */
@media (max-width: 991.98px) {
  .page-hero--service .page-hero-art img {
    object-position: 80% center;
  }
}

@media (max-width: 575.98px) {
  .page-hero--service {
    min-height: auto;
    padding-top: 8rem;
  }
  .workflow-step {
    min-height: 17rem;
  }
}
