/* Section 1n: compact service stages in the existing site palette. */
.service-overview {
  position: relative;
  margin-top: 16px;
  padding-block: 64px 52px;
  border-radius: 25.6px;
  background: var(--sand);
  color: var(--ink);
}
.service-overview > .wrap { max-width: 1240px; }
main > .service-overview:first-child { margin-top: 0; }
.service-overview__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  align-items: start;
  gap: clamp(32px, 4vw, 64px);
}
.service-overview__copy { min-width: 0; }
.service-overview .hero-intro__portrait {
  grid-row: auto;
  width: 100%;
  max-width: 453.6px;
  margin: 82px 0 0;
  justify-self: end;
  align-self: start;
}
.service-overview .hero-flowers { top: -130px; }
.service-overview__title {
  margin-top: 16px;
}
@media (min-width: 901px) {
  .service-overview__copy { container-type: inline-size; }
  .service-overview .hero-flowers { transform: translateX(24px) scaleX(-1); }
  .service-overview__title > span {
    width: 120%;
    font-size: min(1.2em, 10.44cqw);
    letter-spacing: -.045em;
    white-space: nowrap;
  }
}
.service-overview__accordion {
  margin-top: 28px;
  border-top: 1px solid var(--line);
}
.service-overview__stage { border-bottom: 1px solid var(--line); }
.service-overview__stage > summary {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 20px;
  align-items: center;
  gap: 16px;
  padding: 14px 0;
  list-style: none;
  cursor: pointer;
  border-radius: 8px;
}
.service-overview__stage > summary::-webkit-details-marker { display: none; }
.service-overview__stage > summary::marker { content: ''; }
.service-overview__stage > summary:hover .service-overview__label strong { color: var(--brass-dark); }
.service-overview__stage > summary:focus-visible { outline: 2px solid var(--brass); outline-offset: 4px; }
.service-overview__symbol {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  color: var(--brass-dark);
  background: var(--clay);
}
.service-overview__symbol svg,
.service-overview__chevron,
.service-overview__check {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.service-overview__symbol svg { width: 21px; height: 21px; }
.service-overview__label { min-width: 0; }
.service-overview__label strong { display: block; font-size: 18px; line-height: 1.4; font-weight: 600; }
.service-overview__label small { display: block; margin-top: 4px; font-size: 14px; line-height: 1.6; color: var(--muted); }
.service-overview__chevron { width: 20px; height: 20px; color: var(--brass); transition: transform .18s ease; }
.service-overview__stage[open] .service-overview__chevron { transform: rotate(180deg); }
.service-overview__panel { padding: 0 0 24px 58px; }
.service-overview__benefits { display: grid; gap: 19px; margin: 0; padding: 0; list-style: none; }
.service-overview__benefits > li { display: grid; grid-template-columns: 18px minmax(0, 1fr); align-items: start; gap: 12px; }
.service-overview__check { width: 18px; height: 18px; margin-top: 3px; color: var(--brass); }
.service-overview__benefits strong { display: block; font-size: 16px; line-height: 1.4; font-weight: 600; }
.service-overview__benefits p { margin: 5px 0 0; font-size: 14px; line-height: 1.6; color: var(--muted); }
.service-overview__scope { margin: 18px 0 0; max-width: 680px; font-size: 14px; line-height: 1.6; color: var(--muted); }
.service-overview__actions { margin-top: 25px; }
@media (max-width: 900px) {
  .service-overview__grid { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  /* Reserve room for the flowers above the portrait so they clear the contact note. */
  .service-overview .hero-intro__portrait { justify-self: center; margin-top: 112px; }
}
@media (max-width: 600px) {
  .service-overview { margin-top: 12px; padding-block: 52px 36px; }
  .service-overview__accordion { margin-top: 24px; }
  .service-overview__stage > summary { grid-template-columns: 36px minmax(0, 1fr) 18px; gap: 12px; padding-block: 14px; }
  .service-overview__symbol { width: 36px; height: 36px; }
  .service-overview__symbol svg { width: 19px; height: 19px; }
  .service-overview__chevron { width: 18px; height: 18px; }
  .service-overview__label strong { font-size: 17px; }
  .service-overview__panel { padding: 0 0 22px; }
  .service-overview__benefits strong { font-size: 15px; }
  .service-overview .hero-intro__portrait { max-width: 378px; }
}
