.service-catalog-dialog {
  width: min(68rem, 100%);
  max-height: calc(100dvh - 4rem);
  padding: 0;
  overflow: auto;
  border: 1px solid rgba(183, 137, 94, .45);
  border-radius: .8rem;
  background: #faf7f1;
  box-shadow: 0 2rem 7rem rgba(0, 0, 0, .28);
}

.service-catalog-dialog .modal__close {
  position: sticky;
  z-index: 4;
  top: 1rem;
  float: right;
  display: grid;
  width: 3rem;
  height: 3rem;
  margin: 1rem 1rem -4rem 0;
  place-items: center;
  border: 1px solid rgba(21, 16, 13, .22);
  border-radius: 50%;
  background: rgba(250, 247, 241, .94);
  color: #15100d;
  cursor: pointer;
}

.service-catalog-dialog .modal__content { display: block; }
.service-catalog-dialog .service-modal__body { max-width: 58rem; margin: 0 auto; padding: 5rem 4rem 3.5rem; }
.service-catalog-dialog .modal-eyebrow { margin: 0 0 1rem; color: #9a6f47; font-size: .66rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; }
.service-catalog-dialog h2 { margin: 0; font-family: var(--serif); font-size: clamp(3rem, 4.5vw, 5.4rem); font-weight: 500; line-height: .96; }
.service-catalog-dialog .service-modal__copy { max-width: 36rem; margin: 1.2rem 0 2.2rem; color: #6f675f; font-size: .88rem; line-height: 1.75; }
.service-catalog-dialog .service-list { border-top: 1px solid #d8d0c6; }
.service-catalog-dialog .service-list__group { border-bottom: 1px solid #d8d0c6; }
.service-catalog-dialog .service-list__group > summary { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding: 1rem 0 .7rem; cursor: pointer; list-style: none; }
.service-catalog-dialog .service-list__group > summary::-webkit-details-marker { display: none; }
.service-catalog-dialog .service-list__group > summary::after { content: "−"; color: #6f675f; }
.service-catalog-dialog .service-list__group:not([open]) > summary::after { content: "+"; }
.service-catalog-dialog .service-list__group > summary strong { font-family: var(--serif); font-size: 1.45rem; }
.service-catalog-dialog .service-list__group > summary small { margin: 0; color: #786f67; font-size: .72rem; }
.service-catalog-dialog .service-list__options { padding-bottom: .35rem; }
.service-catalog-dialog .service-list button { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1.15rem 0; border: 0; border-bottom: 1px solid #d8d0c6; background: transparent; color: #15100d; text-align: left; cursor: pointer; }
.service-catalog-dialog .service-list button span,.service-catalog-dialog .service-list small { display: block; }
.service-catalog-dialog .service-list strong { font-family: var(--serif); font-size: 1.65rem; font-weight: 500; }
.service-catalog-dialog .service-list small { margin-top: .12rem; color: #786f67; font-size: .72rem; }
.service-catalog-dialog .service-list button > span:last-child { transition: transform 180ms ease; }
.service-catalog-dialog .service-list button:hover > span:last-child,.service-catalog-dialog .service-list button:focus-visible > span:last-child { transform: translateX(.3rem); }

@media (max-width: 760px) {
  .service-catalog-dialog { max-height: calc(100dvh - 2rem); }
  .service-catalog-dialog .service-modal__body { padding: 4.5rem 1.35rem 2.5rem; }
}
