/* Approved service layouts; blog styles remain independent. */
.sv-refined .sv-introduction {
  padding: 0 0 20px;
  border: 0;
  background: transparent;
}
.sv-refined .sv-introduction p {
  margin: 0 0 14px;
  font-size: 18px;
  line-height: 1.8;
}
.sv-refined .sv-introduction p:last-child {
  margin-bottom: 0;
}
.sv-refined .sv-inline-media {
  padding-block: 8px 24px;
}
.sv-refined .sv-inline-media .sv-video-group {
  margin-block: 0;
}
.sv-refined .sv-inline-media > .sv-content + .sv-content {
  margin-top: 32px;
}
/* Exact B4 Microneedling review typography, stars, surface and spacing. */
.sv-refined .sv-content .sv-review {
  background: #f8f6f7;
  border: 0;
  border-radius: 8px;
  padding: 28px;
  margin: 0 0 18px;
  color: #4c4146;
  font:
    400 17px/1.8 Outfit,
    sans-serif;
}
.sv-refined .sv-review:last-child {
  margin-bottom: 0;
}
.sv-refined .sv-review-person {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 18px;
  font-size: 14px;
  line-height: 1.5;
}
.sv-refined .sv-review-person .sv-review-name,
.sv-refined .sv-review-person .sv-review-meta {
  color: inherit;
  font: inherit;
  margin: 0;
}
.sv-refined .sv-review-rating {
  color: inherit;
  font-size: 14px;
  line-height: 1.8;
  margin: 0 0 14px;
}
.sv-refined .sv-review-rating > span {
  margin: 0;
}
.sv-refined .sv-content .sv-review .sv-review-quote {
  font:
    400 16px/1.4 Outfit,
    sans-serif;
  margin: 0 0 18px;
  color: inherit;
}
.sv-refined .sv-review a {
  font:
    400 13px/1.8 Outfit,
    sans-serif;
  color: #a92e3d;
}
.sv-refined .sv-choice-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  grid-auto-rows: 1fr;
  margin: 8px 0 20px;
}
.sv-refined .sv-choice {
  display: flex;
  flex-direction: column;
  min-width: 0;
  border: 1px solid #e4dadd;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  color: var(--bd-ink);
  text-decoration: none;
  transition:
    border-color 180ms ease-out,
    box-shadow 180ms ease-out;
}
.sv-refined .sv-choice-image {
  aspect-ratio: 4/3;
  overflow: hidden;
  background: #f8f6f7;
}
.sv-refined .sv-choice-image img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-height: none;
  object-fit: cover;
  border-radius: 0;
  margin: 0;
  transition: transform 220ms ease-out;
}
.sv-refined .sv-choice-copy {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 20px;
}
.sv-refined .sv-choice h3 {
  font:
    500 22px/1.3 Outfit,
    sans-serif;
  margin: 0 0 12px;
  text-wrap: balance;
}
.sv-refined .sv-choice p {
  color: #65575d;
  font:
    400 16px/1.6 Outfit,
    sans-serif;
  margin: 0 0 18px;
}

.sv-refined .sv-choice:hover {
  border-color: #a02b3d;
  box-shadow: 0 5px 16px #33232b0d;
}
.sv-refined .sv-choice:hover img {
  transform: scale(1.025);
}
.sv-refined .sv-choice:focus-visible,
.sv-refined .sv-clinic:focus-visible {
  outline: 2px solid #a02b3d;
  outline-offset: 4px;
}
/* Branch choices keep their name, city and destination together. */
.sv-refined .sv-clinic-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.sv-refined .sv-clinic {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #e4dadd;
  border-radius: 8px;
  background: #fff;
  color: var(--bd-ink);
  text-decoration: none;
}
.sv-refined .sv-clinic img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-radius: 0;
  margin: 0;
}
.sv-refined .sv-clinic-name {
  padding: 18px;
  font:
    500 19px/1.4 Outfit,
    sans-serif;
}
.sv-refined .sv-clinic:hover {
  border-color: #943246;
  color: #943246;
}
.sv-refined .sv-related-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 20px 0 8px;
}

.sv-refined .sv-content .sv-benefits {
  padding-left: 22px;
  margin: 18px 0 22px;
}
.sv-refined .sv-benefits > li {
  padding-left: 4px;
  margin: 0 0 16px;
}
.sv-refined .sv-benefits > li::marker {
  color: #943246;
}
.sv-refined .sv-benefits strong {
  font-weight: 500;
}
.sv-refined .sv-benefits p {
  display: inline;
  margin: 0;
}
.sv-refined .sv-content .sv-process {
  list-style: none;
  counter-reset: service-step;
  padding: 0;
  margin: 22px 0;
}
.sv-refined .sv-process > li {
  counter-increment: service-step;
  position: relative;
  padding: 0 0 24px 46px;
  margin: 0;
}
.sv-refined .sv-process > li::before {
  content: counter(service-step);
  position: absolute;
  left: 0;
  top: 0;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #f8f0f3;
  color: #943246;
  text-align: center;
  font-size: 15px;
  line-height: 28px;
}
.sv-refined .sv-process > li:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 14px;
  top: 34px;
  bottom: 6px;
  border-left: 1px solid #e4dadd;
}
.sv-refined .sv-process h3 {
  margin: 0 0 8px;
  font-size: 21px;
}
.sv-refined .sv-process p {
  margin: 0;
}
.sv-refined .sv-process > li:last-child {
  padding-bottom: 0;
}
/* Slightly tighter reading rhythm without compressing media or reviews. */
.sv-refined .sv-content > h3 {
  margin-top: 22px;
  margin-bottom: 10px;
}
.sv-refined .sv-content > p {
  margin-bottom: 14px;
}
.sv-refined .sv-content > ul,
.sv-refined .sv-content > ol {
  margin-block: 14px 20px;
}
/* Two aligned comparison columns, stacked in reading order on small screens. */
.sv-refined .sv-comparison {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border: 1px solid #e4dadd;
  border-radius: 8px;
  overflow: hidden;
}
.sv-refined .sv-comparison-column {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 6;
  min-width: 0;
  padding-bottom: 22px;
}
.sv-refined .sv-comparison-column + .sv-comparison-column {
  border-left: 1px solid #e4dadd;
}
.sv-refined .sv-comparison-column > * {
  margin: 0 22px 18px;
}
.sv-refined .sv-comparison-column h3 {
  padding: 18px 22px;
  margin: 0 0 20px;
  background: #f8f0f3;
  font:
    500 22px/1.35 Outfit,
    sans-serif;
}
.sv-refined .sv-comparison-column h4 {
  font:
    500 18px/1.5 Outfit,
    sans-serif;
  margin-bottom: 10px;
}
.sv-refined .sv-comparison-column p,
.sv-refined .sv-comparison-column li {
  font-size: 16px;
  line-height: 1.65;
}
.sv-refined .sv-comparison-column img {
  width: calc(100% - 44px);
  aspect-ratio: 4 / 3;
  object-fit: contain;
  margin-bottom: 0;
  align-self: end;
}
/* Recovery dates follow a single continuous sequence. */
.sv-refined .sv-content .sv-recovery-timeline {
  list-style: none;
  padding: 0;
  margin: 24px 0 12px;
}
.sv-refined .sv-recovery-step {
  position: relative;
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 26px;
  padding: 0 0 24px 28px;
  margin: 0;
}
.sv-refined .sv-recovery-step::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 10px;
  bottom: -10px;
  border-left: 1px solid #ddc4cc;
}
.sv-refined .sv-recovery-step:last-child::before {
  display: none;
}
.sv-refined .sv-recovery-step::after {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  width: 9px;
  height: 9px;
  background: #943246;
  border-radius: 50%;
}
.sv-refined .sv-recovery-step p {
  margin: 0;
}
.sv-refined .sv-recovery-day {
  font-weight: 500;
  color: var(--bd-ink);
}
.sv-refined .sv-recovery-step .sv-recovery-label {
  font-size: 13px;
  color: #75676d;
  margin-top: 2px;
}
.sv-refined .sv-recovery-step .sv-recovery-copy {
  font-size: 16px;
  color: #65575d;
}
.sv-refined .sv-recovery-step:last-child {
  padding-bottom: 0;
}
/* A bounded portrait and one readable profile, using the original doctor copy. */
.sv-refined .sv-specialist {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  align-items: start;
  gap: 26px;
  padding: 26px;
  background: #f8f6f7;
  border-radius: 8px;
}
.sv-refined .sv-specialist-photo {
  width: 100%;
  height: auto;
  margin: 0;
  border-radius: 6px;
}
.sv-refined .sv-specialist-focus {
  display: block;
  color: #943246;
  font-size: 13px;
  line-height: 1.5;
  margin-bottom: 10px;
}
.sv-refined .sv-specialist h3,
.sv-refined .sv-specialist h4 {
  font:
    500 24px/1.3 Outfit,
    sans-serif;
  margin: 0 0 8px;
}
.sv-refined .sv-specialist p,
.sv-refined .sv-specialist li {
  font-size: 16px;
  line-height: 1.65;
}
.sv-refined .sv-specialist p {
  margin-bottom: 14px;
}
.sv-refined .sv-specialist .sv-specialist-qualification {
  color: #65575d;
  font-size: 14px;
}
.sv-refined .sv-specialist ul {
  margin: 0 0 18px;
  padding-left: 18px;
}
.sv-refined .sv-specialist a {
  font-size: 15px;
  text-underline-offset: 4px;
}
@media (max-width: 1100px) and (min-width: 701px) {
  .sv-refined .sv-choice-grid,
  .sv-refined .sv-clinic-list,
  .sv-refined .sv-related-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .sv-refined .sv-specialist {
    grid-template-columns: 140px minmax(0, 1fr);
    padding: 20px;
    gap: 20px;
  }
}
@media (max-width: 700px) {
  .sv-refined .sv-choice-grid,
  .sv-refined .sv-related-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }
  .sv-refined .sv-choice-copy {
    padding: 14px;
  }
  .sv-refined .sv-choice h3 {
    font-size: 18px;
  }
  .sv-refined .sv-choice p {
    font-size: 14px;
    margin-bottom: 18px;
  }
  .sv-refined .sv-introduction p {
    font-size: 17px;
  }
  .sv-refined .sv-content .sv-review {
    padding: 22px;
  }
  .sv-refined .sv-clinic-list,
  .sv-refined .sv-comparison {
    grid-template-columns: minmax(0, 1fr);
  }
  .sv-refined .sv-clinic-name {
    padding: 16px;
  }
  .sv-refined .sv-comparison-column {
    display: block;
    grid-row: auto;
  }
  .sv-refined .sv-comparison-column + .sv-comparison-column {
    border-left: 0;
    border-top: 1px solid #e4dadd;
  }
  .sv-refined .sv-recovery-step {
    grid-template-columns: minmax(0, 1fr);
    gap: 6px;
  }
  .sv-refined .sv-specialist {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
    padding: 20px;
  }
  .sv-refined .sv-specialist-photo {
    width: 140px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .sv-refined .sv-choice,
  .sv-refined .sv-choice-image img {
    transition: none;
  }
  .sv-refined .sv-choice:hover img {
    transform: none;
  }
}

.sv-refined .sv-treatment-detail {
  display: grid;
  grid-template-columns: 160px minmax(0, 1fr);
  align-items: start;
  gap: 24px;
  padding-block: 22px;
  border-bottom: 1px solid #e4dadd;
}
.sv-refined .sv-treatment-detail > img {
  width: 160px;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.sv-refined .sv-treatment-detail h3 {
  margin-top: 0;
}
.sv-refined .sv-treatment-detail p:last-child {
  margin-bottom: 0;
}
@media (max-width: 700px) {
  .sv-refined .sv-treatment-detail {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }
}

/* A pair shares the full row; static treatment cards have no false hover affordance. */
.sv-refined .sv-choice-grid:has(> .sv-choice:first-child:nth-last-child(2)) {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.sv-refined .sv-choice-static:hover {
  border-color: #e4dadd;
  box-shadow: none;
}
.sv-refined .sv-choice-static:hover img {
  transform: none;
}
.sv-page .sv-video-group:has(> :only-child) {
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
}
.sv-page .sv-video-group > .sv-video-item:only-child {
  width: 100%;
  max-width: 720px;
  margin-inline: auto;
}
.sv-page .sv-video-group > .sv-video-item-portrait:only-child {
  max-width: 360px;
}

@media (max-width: 1000px) {
  .sv-refined .sv-content .sv-review {
    font-size: 16px;
  }
}

/* Treatment links need only their image, name and brief description. */
.sv-refined a.sv-choice .sv-choice-copy {
  padding: 16px;
}
.sv-refined a.sv-choice h3 {
  font-size: 20px;
  margin-bottom: 8px;
}
.sv-refined a.sv-choice p:last-child {
  margin-bottom: 0;
}
@media (max-width: 700px) {
  .sv-refined a.sv-choice .sv-choice-copy {
    padding: 14px;
  }
  .sv-refined a.sv-choice h3 {
    font-size: 18px;
  }
}
