@font-face {
  font-family: Tenor;
  src: url("tenor-sans.ttf") format("truetype");
  font-display: swap;
}
@font-face {
  font-family: Montserrat;
  src: url("montserrat.woff2") format("woff2");
  font-display: swap;
}
:root {
  --wine: #995164;
  --wine-deep: #693445;
  --wine-soft: #b77988;
  --ink: #30242a;
  --muted: #71686d;
  --ivory: #fbf8f5;
  --blush: #f5eae7;
  --line: #e7d9db;
  --white: #fff;
  --shadow: 0 20px 55px rgba(74, 18, 48, 0.1);
  --radius: 24px;
  --container: 1180px;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: 92px;
  overflow-x: hidden;
}
body {
  margin: 0;
  background: var(--ivory);
  color: var(--ink);
  font-family: Montserrat, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.65;
  overflow-x: hidden;
}
body.menu-open {
  overflow: hidden;
}
img,
video {
  display: block;
  max-width: 100%;
}
a {
  color: inherit;
  text-decoration: none;
}
button {
  font: inherit;
}
h1,
h2,
h3,
p {
  margin-top: 0;
}
h1,
h2,
h3 {
  font-family: Tenor, Georgia, serif;
  font-weight: 400;
  line-height: 1.08;
}
h1 {
  font-size: clamp(2.7rem, 5.5vw, 5.5rem);
  letter-spacing: -0.045em;
}
h2 {
  font-size: clamp(2.05rem, 4vw, 3.75rem);
  letter-spacing: -0.035em;
}
h3 {
  font-size: clamp(1.35rem, 2vw, 1.8rem);
}
p {
  color: var(--muted);
}
.container {
  width: min(var(--container), calc(100% - 48px));
  margin: auto;
}
.section {
  padding: 104px 0;
}
.section-soft {
  background: var(--blush);
}
.eyebrow {
  display: block;
  margin-bottom: 16px;
  color: var(--wine);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 420px);
  gap: 50px;
  align-items: end;
  margin-bottom: 48px;
}
.section-heading h2 {
  max-width: 780px;
  margin-bottom: 0;
}
.section-heading p {
  margin-bottom: 4px;
}
.section-heading.center {
  display: block;
  text-align: center;
  max-width: 780px;
  margin: 0 auto 48px;
}
.section-heading.center p {
  max-width: 620px;
  margin: 18px auto 0;
}
.button {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  padding: 14px 24px;
  border: 1px solid var(--wine);
  border-radius: 999px;
  background: var(--wine);
  color: #fff;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.075em;
  text-align: center;
  text-transform: uppercase;
  transition:
    background 0.2s,
    border-color 0.2s,
    color 0.2s;
}
.button:hover {
  background: var(--wine-deep);
  border-color: var(--wine-deep);
}
.button-outline {
  background: transparent;
  color: var(--wine);
}
.button-outline:hover {
  background: var(--wine);
  color: #fff;
}
.button-light {
  background: #fff;
  border-color: #fff;
  color: var(--wine);
}
.button-light:hover {
  background: var(--blush);
  border-color: var(--blush);
}
.button-small {
  min-height: 44px;
  padding: 11px 18px;
  font-size: 0.68rem;
}
.text-link {
  display: inline-flex;
  color: var(--wine);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border-bottom: 1px solid currentColor;
  padding-bottom: 4px;
}
.breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 20px;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 600;
}
.breadcrumbs a {
  color: var(--wine);
}
.breadcrumbs span:before {
  content: "/";
  margin-right: 8px;
  color: #b7a9b0;
}
.catalog-card .text-link {
  margin-top: 16px;
}
.content-narrow {
  max-width: 780px;
}
.content-narrow p:last-child {
  margin-bottom: 0;
}
.result-feature {
  align-items: center;
}
.result-feature img {
  width: 100%;
  max-height: 560px;
  object-fit: cover;
}
.location-bar {
  position: fixed;
  z-index: 1001;
  inset: 0 0 auto;
  height: 34px;
  background: var(--wine-deep);
  color: #fff;
}
.location-bar-inner {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  font-size: 0.69rem;
  font-weight: 600;
  letter-spacing: 0.02em;
}
.location-bar a {
  border-bottom: 1px solid rgba(255, 255, 255, 0.65);
}
.location-address-short {
  display: none;
}
.site-header {
  position: fixed;
  z-index: 1000;
  inset: 0 0 auto;
  height: 82px;
  border-bottom: 1px solid transparent;
  transition:
    background 0.25s,
    border-color 0.25s,
    box-shadow 0.25s;
}
.has-location-bar .site-header {
  top: 34px;
}
.has-location-bar .mobile-nav {
  top: 116px;
}
.site-header.scrolled,
.site-header.service-header {
  background: rgba(250, 247, 244, 0.97);
  border-color: var(--line);
  box-shadow: 0 8px 24px rgba(54, 23, 40, 0.05);
  backdrop-filter: blur(12px);
}
.has-location-bar .site-header {
  background: rgba(250, 247, 244, 0.98);
  border-color: var(--line);
  box-shadow: 0 8px 24px rgba(54, 23, 40, 0.05);
  backdrop-filter: blur(12px);
}
.header-inner {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  min-width: 0;
}
.brand-logo {
  width: 47px;
  height: 47px;
  object-fit: contain;
  flex: 0 0 auto;
}
.brand-copy {
  display: grid;
  line-height: 1;
}
.brand-copy strong {
  font-family: Tenor, Georgia, serif;
  font-size: 0.9rem;
  font-weight: 400;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  white-space: nowrap;
}
.brand-copy small {
  margin-top: 6px;
  color: var(--wine);
  font-size: 0.47rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}
.desktop-nav {
  display: flex;
  align-items: center;
  gap: 25px;
}
.desktop-nav a:not(.button) {
  font-size: 0.74rem;
  font-weight: 600;
}
.menu-toggle {
  display: none;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: transparent;
  color: var(--wine);
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.menu-toggle span,
.menu-toggle:before,
.menu-toggle:after {
  content: "";
  display: block;
  width: 17px;
  height: 1.5px;
  background: currentColor;
  transition: 0.2s;
}
.menu-toggle span {
  margin: 4px 0;
}
.menu-toggle.active span {
  opacity: 0;
}
.menu-toggle.active:before {
  transform: translateY(5.5px) rotate(45deg);
}
.menu-toggle.active:after {
  transform: translateY(-5.5px) rotate(-45deg);
}
.mobile-nav {
  display: none;
  position: fixed;
  z-index: 999;
  inset: 82px 0 0;
  background: var(--ivory);
  padding: 26px 24px 32px;
  transform: translateX(100%);
  transition: transform 0.28s ease;
}
.mobile-nav.open {
  transform: none;
}
.mobile-nav a {
  display: flex;
  align-items: center;
  min-height: 55px;
  border-bottom: 1px solid var(--line);
  font-family: Tenor, Georgia, serif;
  font-size: 1.35rem;
}
.mobile-nav .button {
  margin-top: 26px;
  border: 0;
  font-family: Montserrat, Arial, sans-serif;
  font-size: 0.73rem;
}
.hero {
  min-height: 760px;
  padding: 150px 0 80px;
  display: flex;
  align-items: center;
}
.has-location-bar .hero {
  padding-top: 184px;
}
.hero .hero-grid {
  grid-template-columns: minmax(0, 0.8fr) minmax(440px, 1fr);
  gap: 60px;
}
.hero .hero-copy h1 {
  font-size: clamp(3rem, 4.9vw, 4.8rem);
}
.hero-grid,
.service-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(360px, 0.78fr);
  gap: 72px;
  align-items: center;
}
.hero-grid > *,
.service-hero-grid > *,
.final-cta-grid > * {
  min-width: 0;
}
.hero-simple {
  min-height: 650px;
  background: radial-gradient(circle at 82% 42%, #f1e2e7 0, rgba(241, 226, 231, 0) 34%);
}
.hero-simple .hero-grid {
  display: block;
}
.hero-simple .hero-copy {
  max-width: 900px;
}
.hero-simple .hero-copy h1 {
  max-width: 880px;
}
.hero-simple .hero-copy p {
  max-width: 690px;
}
.hero-image {
  position: relative;
  isolation: isolate;
  height: 100svh;
  min-height: 680px;
  padding: 0;
  overflow: hidden;
  background: var(--ink);
  color: #fff;
}
.has-location-bar .hero-image {
  padding: 0;
}
.hero-image .hero-background,
.hero-image .hero-image-shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.hero-image .hero-background {
  z-index: -2;
  object-fit: cover;
  object-position: 50% 52%;
}
.hero-image .hero-image-shade {
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(41, 11, 29, 0.26) 0%, rgba(41, 11, 29, 0.03) 72%),
    linear-gradient(0deg, rgba(41, 11, 29, 0.88) 0%, rgba(41, 11, 29, 0.55) 34%, rgba(41, 11, 29, 0.1) 68%, rgba(41, 11, 29, 0) 86%);
}
.hero-image .hero-grid {
  position: relative;
  z-index: 2;
  display: flex;
  width: 100%;
  max-width: none;
  height: 100svh;
  min-height: 680px;
  align-items: flex-end;
  padding-inline: clamp(24px, 6vw, 80px);
  padding-top: 0;
  padding-bottom: clamp(58px, 8vh, 96px);
}
.hero-image .hero-copy {
  max-width: 600px;
}
.hero-image .hero-copy h1 {
  font-size: clamp(2.8rem, 3.8vw, 4.1rem);
  color: #fff;
}
.hero-image .hero-copy h1 span {
  display: block;
  white-space: nowrap;
}
.hero-image .hero-copy p {
  max-width: 570px;
  font-size: 0.98rem;
}
.hero-image .hero-copy p,
.hero-image .hero-note {
  color: rgba(255, 255, 255, 0.88);
}
.hero-image .hero-note {
  text-align: left;
}
.hero-image .hero-actions {
  margin-top: 24px;
}
.hero-image .hero-actions .button {
  min-height: 48px;
  padding: 12px 18px;
  font-size: 0.68rem;
}
.hero-image .eyebrow {
  color: #f0c4d8;
}
/* The cover hero keeps the image full-bleed while the clinic header remains clear and stable. */
.cover-page.has-location-bar .site-header:not(.scrolled) {
  background: rgba(250, 247, 244, 0.98);
  border-color: var(--line);
  box-shadow: 0 8px 24px rgba(54, 23, 40, 0.05);
  backdrop-filter: blur(12px);
}
.cover-page.has-location-bar .site-header:not(.scrolled) .brand-copy strong,
.cover-page.has-location-bar .site-header:not(.scrolled) .desktop-nav a:not(.button) {
  color: var(--ink);
  text-shadow: none;
}
.cover-page.has-location-bar .site-header:not(.scrolled) .brand-copy small {
  color: var(--wine);
}
.cover-page.has-location-bar .site-header:not(.scrolled) .menu-toggle {
  border-color: var(--line);
  color: var(--wine);
}
.hero-copy h1,
.service-hero-copy h1,
.final-cta h2 {
  overflow-wrap: break-word;
}
.hero-copy p,
.service-hero-copy p {
  max-width: 610px;
  font-size: 1.08rem;
}
.hero-copy h1 em {
  color: var(--wine);
  font-style: italic;
}
.hero-actions {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
  margin-top: 30px;
}
.hero-note {
  display: block;
  margin-top: 18px;
  color: var(--muted);
  font-size: 0.72rem;
}
.hero-media,
.service-hero-media {
  position: relative;
}
.hero-media-badge {
  position: absolute;
  left: 22px;
  bottom: 22px;
  padding: 11px 16px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  color: var(--wine-deep);
  box-shadow: 0 12px 30px rgba(47, 28, 41, 0.14);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  backdrop-filter: blur(8px);
}
.hero-media img,
.service-hero-media img,
.service-hero-media video {
  width: 100%;
  height: 610px;
  object-fit: cover;
  border-radius: var(--radius);
}
.service-hero-media:after {
  content: "";
  position: absolute;
  z-index: -1;
  right: -22px;
  bottom: -22px;
  width: 55%;
  height: 48%;
  border-radius: var(--radius);
  background: var(--wine);
}
.trust-strip {
  background: var(--wine-deep);
  color: #fff;
}
.trust-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
.trust-item {
  padding: 31px 28px;
  border-right: 1px solid rgba(255, 255, 255, 0.16);
}
.trust-item:last-child {
  border: 0;
}
.trust-item strong {
  display: block;
  font-family: Tenor, Georgia, serif;
  font-size: 1.25rem;
  font-weight: 400;
}
.trust-item span {
  color: #dfc8d4;
  font-size: 0.76rem;
}
.goal-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.goal-card {
  min-height: 140px;
  padding: 25px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
  transition:
    border-color 0.2s,
    background 0.2s;
}
.goal-card:hover {
  border-color: #c891ac;
  background: #fffafb;
}
.goal-card strong {
  display: block;
  margin-bottom: 7px;
  font-family: Tenor, Georgia, serif;
  font-size: 1.28rem;
  font-weight: 400;
}
.goal-card span {
  color: var(--muted);
  font-size: 0.83rem;
}
.service-card-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 22px;
}
.service-card {
  grid-column: span 6;
  min-height: 470px;
  position: relative;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  border-radius: var(--radius);
  background: var(--wine-deep);
  color: #fff;
}
.service-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.service-card:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    transparent 30%,
    rgba(52, 0, 30, 0.88) 100%
  );
}
.service-card-content {
  position: relative;
  z-index: 1;
  width: 100%;
  padding: 28px;
}
.service-card h3 {
  margin-bottom: 7px;
  font-size: 2rem;
}
.service-card p {
  margin-bottom: 17px;
  color: #f1dfe8;
  font-size: 0.86rem;
}
.service-card .text-link {
  color: #fff;
}
.service-card:hover img {
  transform: scale(1.025);
}
.popular-grid {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 22px;
}
.popular-main,
.popular-list {
  border-radius: var(--radius);
}
.popular-main {
  min-height: 430px;
  padding: 42px;
  background: var(--wine);
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.popular-main p {
  max-width: 500px;
  color: #eed9e4;
}
.popular-list {
  display: grid;
  gap: 1px;
  overflow: hidden;
  background: var(--line);
}
.popular-list a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 27px 30px;
  background: #fff;
  font-family: Tenor, Georgia, serif;
  font-size: 1.35rem;
  transition:
    background 0.2s,
    color 0.2s;
}
.popular-list a:hover {
  background: #fff9fb;
  color: var(--wine);
}
.popular-list a span {
  font-family: Montserrat;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.about-grid {
  display: grid;
  grid-template-columns: 0.78fr 1fr;
  grid-template-areas:
    "photo heading"
    "photo copy";
  column-gap: 80px;
  row-gap: 18px;
  align-items: center;
}
.about-heading {
  grid-area: heading;
  align-self: end;
}
.about-heading h2 {
  font-size: clamp(2.05rem, 3.2vw, 3.25rem);
  margin-bottom: 18px;
}
.about-copy {
  grid-area: copy;
  align-self: start;
}
.about-grid img {
  width: 100%;
  max-height: 690px;
  object-fit: cover;
  border-radius: var(--radius);
}
.about-grid .about-photo {
  grid-area: photo;
  width: min(100%, 500px);
  height: auto;
  aspect-ratio: 3 / 4;
  justify-self: end;
}
.check-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin: 28px 0;
}
.check-list span {
  display: flex;
  gap: 9px;
  color: var(--ink);
  font-size: 0.84rem;
}
.check-list span:before {
  content: "✓";
  color: var(--wine);
  font-weight: 700;
}
.results-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 15px;
}
.result-card {
  padding: 0;
  border: 0;
  border-radius: 18px;
  background: #fff;
  overflow: hidden;
  text-align: left;
  cursor: zoom-in;
}
.result-card img {
  width: 100%;
  height: 260px;
  object-fit: cover;
}
.result-card span {
  display: block;
  padding: 14px 16px;
  color: var(--ink);
  font-size: 0.75rem;
  font-weight: 600;
}
.process-grid {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 70px;
  align-items: start;
}
.process-list {
  display: grid;
  gap: 0;
  border-top: 1px solid var(--line);
}
.process-item {
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 16px;
  padding: 24px 0;
  border-bottom: 1px solid var(--line);
}
.process-item span {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--blush);
  color: var(--wine);
  font-weight: 700;
}
.process-item h3 {
  margin: 2px 0 5px;
  font-size: 1.25rem;
}
.process-item p {
  margin: 0;
  font-size: 0.84rem;
}
.location-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 70px;
  align-items: center;
}
.location-photo {
  height: 470px;
  width: 100%;
  object-fit: cover;
  border-radius: var(--radius);
}
.location-map {
  height: auto;
  aspect-ratio: 993 / 785;
}
address {
  font-style: normal;
  color: var(--ink);
  font-family: Tenor, Georgia, serif;
  font-size: 1.4rem;
}
.location-features {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  margin: 25px 0;
}
.location-features span {
  font-size: 0.76rem;
  font-weight: 600;
}
.faq-grid {
  display: grid;
  grid-template-columns: 0.72fr 1.28fr;
  gap: 80px;
}
.faq-list details {
  border-bottom: 1px solid var(--line);
}
.faq-list summary {
  cursor: pointer;
  list-style: none;
  padding: 23px 42px 23px 0;
  position: relative;
  color: var(--ink);
  font-weight: 600;
}
.faq-list summary::-webkit-details-marker {
  display: none;
}
.faq-list summary:after {
  content: "+";
  position: absolute;
  right: 4px;
  color: var(--wine);
  font-size: 1.35rem;
  font-weight: 400;
}
.faq-list details[open] summary:after {
  content: "−";
}
.faq-list details p {
  padding: 0 42px 22px 0;
  margin: 0;
  font-size: 0.9rem;
}
.final-cta {
  padding: 82px 0;
  background: var(--wine-deep);
  color: #fff;
}
.final-cta .eyebrow {
  color: #fff;
}
.final-cta-grid {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 60px;
  align-items: center;
}
.final-cta h2 {
  max-width: 780px;
  margin-bottom: 13px;
}
.final-cta p {
  margin: 0;
  color: #e5ceda;
}
.final-cta-action {
  display: grid;
  justify-items: start;
  gap: 10px;
}
.final-cta small {
  color: #d6bac9;
  font-size: 0.68rem;
}
.service-page {
  padding-top: 82px;
}
.service-hero {
  padding: 76px 0 84px;
  background: linear-gradient(135deg, #fff 0%, #f7edef 100%);
}
.service-hero-copy h1 {
  font-size: clamp(2.65rem, 5vw, 4.85rem);
}
.service-hero-copy .button {
  margin-top: 13px;
}
.service-hero-media img,
.service-hero-media video {
  height: 560px;
}
.intro-copy {
  max-width: 760px;
}
.intro-copy p {
  font-size: 1.03rem;
}
.catalog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
}
.catalog-card {
  padding: 25px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
}
.catalog-card h3 {
  margin-bottom: 9px;
  font-size: 1.3rem;
}
.catalog-card p {
  margin: 0;
  font-size: 0.82rem;
}
.category-block + .category-block {
  margin-top: 55px;
}
.category-title {
  margin-bottom: 24px;
  font-size: 2.1rem;
}
.area-list {
  columns: 3;
  column-gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.area-list li {
  break-inside: avoid;
  margin-bottom: 10px;
  padding: 13px 15px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  color: var(--ink);
  font-size: 0.82rem;
}
.area-list li:before {
  content: "✓";
  margin-right: 8px;
  color: var(--wine);
  font-weight: 700;
}
.notice {
  margin-top: 25px;
  padding: 22px;
  border-left: 3px solid var(--wine);
  border-radius: 0 14px 14px 0;
  background: #fff;
}
.notice p {
  margin: 0;
  font-size: 0.85rem;
}
.split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px;
  align-items: center;
}
.split img {
  width: 100%;
  height: 520px;
  object-fit: cover;
  border-radius: var(--radius);
}
.feature-list {
  display: grid;
  gap: 14px;
}
.feature-item {
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
}
.feature-item strong {
  display: block;
  margin-bottom: 4px;
}
.feature-item p {
  margin: 0;
  font-size: 0.84rem;
}
.inline-cta {
  margin-top: 32px;
}
.media-panel {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
}
.media-panel video,
.media-panel img {
  width: 100%;
  height: 520px;
  object-fit: cover;
  border-radius: var(--radius);
}
.media-panel.single {
  grid-template-columns: minmax(0, 700px);
  justify-content: center;
}
.depilation-result {
  width: 100%;
  max-width: 700px;
  margin: 0;
  padding: 0;
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--blush);
}
.depilation-result img {
  object-fit: contain;
}
.depilation-result figcaption {
  padding: 14px 18px;
  color: var(--ink);
  font-size: 0.75rem;
  font-weight: 600;
  text-align: center;
}
.related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.related-card {
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
}
.related-card h3 {
  margin-bottom: 7px;
}
.related-card p {
  font-size: 0.8rem;
}
.related-card .text-link {
  font-size: 0.67rem;
}
footer {
  padding: 68px 0 24px;
  background: #290b1d;
  color: #fff;
}
.footer-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  gap: 70px;
}
.footer-grid > div {
  display: grid;
  align-content: start;
  gap: 11px;
}
.footer-grid a,
.footer-grid span {
  color: #d8c6cf;
  font-size: 0.76rem;
}
.footer-grid > div > strong {
  margin-bottom: 7px;
  font-size: 0.78rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.brand-footer .brand-copy small {
  color: #d8a9bf;
}
.footer-grid > .brand-footer {
  display: flex;
  align-items: center;
  gap: 18px;
}
.brand-footer .brand-logo {
  width: 100px;
  height: 100px;
}
.brand-footer .brand-copy strong {
  font-size: 1.35rem;
  letter-spacing: 0.11em;
}
.brand-footer .brand-copy small {
  margin-top: 9px;
  font-size: 0.65rem;
}
.footer-instagram {
  display: flex;
  align-items: center;
  gap: 8px;
}
.footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-top: 45px;
  padding-top: 22px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  color: #a9909c;
  font-size: 0.68rem;
}
.whatsapp-float {
  position: fixed;
  z-index: 900;
  right: 22px;
  bottom: 22px;
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #25d366;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.19);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(14px) scale(0.92);
  transition:
    opacity 0.25s,
    visibility 0.25s,
    transform 0.25s;
}
.whatsapp-float.visible {
  opacity: 1;
  visibility: visible;
  transform: none;
}
.whatsapp-float img {
  width: 29px;
  height: 29px;
}
.lightbox {
  position: fixed;
  z-index: 2000;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(22, 8, 16, 0.92);
  opacity: 0;
  visibility: hidden;
  transition: 0.2s;
}
.lightbox.open {
  opacity: 1;
  visibility: visible;
}
.lightbox img {
  max-height: 86vh;
  max-width: min(100%, 1000px);
  border-radius: 14px;
}
.lightbox-close {
  position: absolute;
  right: 25px;
  top: 20px;
  border: 0;
  background: transparent;
  color: #fff;
  font-size: 2rem;
  cursor: pointer;
}
.cookie-banner {
  position: fixed;
  z-index: 2200;
  left: 20px;
  bottom: 20px;
  width: min(460px, calc(100% - 40px));
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
  box-shadow: var(--shadow);
}
.cookie-banner p {
  font-size: 0.76rem;
  margin-bottom: 15px;
}
.cookie-actions {
  display: flex;
  gap: 9px;
}
.cookie-actions button {
  min-height: 40px;
  padding: 8px 14px;
}
.reveal {
  opacity: 1;
  transform: none;
}
.legal-main {
  padding: 145px 0 90px;
}
.legal-main .container {
  max-width: 820px;
}
.legal-main h1 {
  font-size: 3.5rem;
}
.legal-main h2 {
  font-size: 1.7rem;
  margin-top: 38px;
}
@media (max-width: 980px) {
  .desktop-nav {
    display: none;
  }
  .menu-toggle {
    display: flex;
  }
  .mobile-nav {
    display: block;
  }
  .hero-grid,
  .service-hero-grid,
  .about-grid,
  .process-grid,
  .location-grid,
  .faq-grid,
  .split {
    grid-template-columns: 1fr;
    gap: 48px;
  }
  .hero .hero-grid {
    grid-template-columns: 1fr;
    gap: 48px;
  }
  .about-grid {
    grid-template-areas:
      "heading"
      "photo"
      "copy";
    row-gap: 18px;
  }
  .about-heading h2 {
    margin-bottom: 18px;
  }
  .about-grid .about-photo {
    margin-bottom: 0;
    justify-self: center;
  }
  .hero {
    padding-top: 130px;
  }
  .has-location-bar .hero {
    padding-top: 164px;
  }
  .hero-media {
    max-width: 650px;
  }
  .trust-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .trust-item:nth-child(2) {
    border-right: 0;
  }
  .goal-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .service-card {
    grid-column: span 6;
  }
  .popular-grid {
    grid-template-columns: 1fr;
  }
  .results-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .catalog-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .final-cta-grid {
    grid-template-columns: 1fr;
  }
  .footer-grid {
    grid-template-columns: 1.2fr 1fr 1fr;
    gap: 35px;
  }
}
@media (max-width: 680px) {
  body {
    font-size: 15px;
  }
  .button {
    max-width: 100%;
    padding-inline: 16px;
    font-size: clamp(0.64rem, 2.8vw, 0.74rem);
    letter-spacing: 0.055em;
    white-space: nowrap;
  }
  .container {
    width: calc(100% - 32px);
  }
  .section {
    padding: 72px 0;
  }
  .site-header {
    height: 68px;
  }
  .location-bar {
    height: 30px;
  }
  .location-bar-inner {
    font-size: 0.64rem;
  }
  .location-address-full {
    display: none;
  }
  .location-address-short {
    display: inline;
  }
  .has-location-bar .site-header {
    top: 30px;
  }
  .mobile-nav {
    inset: 68px 0 0;
  }
  .has-location-bar .mobile-nav {
    top: 98px;
  }
  .brand-logo {
    width: 35px;
    height: 35px;
  }
  .brand-copy strong {
    font-size: 0.67rem;
    letter-spacing: 0.1em;
  }
  .brand-copy small {
    margin-top: 4px;
    font-size: 0.37rem;
  }
  .menu-toggle {
    width: 40px;
    height: 40px;
    border-radius: 11px;
  }
  .hero {
    min-height: auto;
    padding: 112px 0 68px;
  }
  .has-location-bar .hero {
    padding-top: 142px;
  }
  .hero-grid,
  .service-hero-grid {
    gap: 38px;
  }
  .hero .hero-grid {
    gap: 38px;
  }
  .hero-copy h1,
  .service-hero-copy h1 {
    font-size: clamp(2.25rem, 11.5vw, 3.25rem);
  }
  .hero-simple .hero-copy h1 {
    font-size: clamp(1.75rem, 8.7vw, 2.25rem);
  }
  .hero-simple .hero-copy h1 span {
    display: block;
    white-space: nowrap;
  }
  .hero-simple .hero-note {
    text-align: center;
  }
  .hero-image,
  .has-location-bar .hero-image {
    height: 100svh;
    min-height: 640px;
    padding: 0;
    align-items: stretch;
  }
  .hero-image .hero-grid {
    height: 100svh;
    min-height: 640px;
    align-items: flex-end;
    padding-top: 0;
    padding-bottom: clamp(32px, 5.5vh, 52px);
  }
  .hero-image .hero-background {
    object-position: 50% 54%;
  }
  .hero-image .hero-image-shade {
    background: linear-gradient(0deg, rgba(41, 11, 29, 0.92) 0%, rgba(41, 11, 29, 0.56) 38%, rgba(41, 11, 29, 0.12) 70%, rgba(41, 11, 29, 0) 88%);
  }
  .hero-image .hero-copy {
    max-width: none;
  }
  .hero-image .hero-copy h1 {
    font-size: clamp(1.75rem, 8.7vw, 2.25rem);
  }
  .hero-image .hero-actions {
    display: flex;
    width: auto;
    margin-top: 20px;
    gap: 12px;
  }
  .hero-image .hero-actions .button {
    width: auto;
    max-width: none;
    min-height: 46px;
    padding: 11px 16px;
    font-size: 0.63rem;
  }
  .process-section h2 {
    font-size: clamp(1.45rem, 6.6vw, 1.72rem);
    white-space: nowrap;
  }
  .process-section .inline-cta {
    width: max-content;
    margin-right: auto;
    margin-left: auto;
  }
  .hero-copy p,
  .service-hero-copy p {
    font-size: 0.97rem;
  }
  .hero-actions {
    display: grid;
    gap: 12px;
  }
  .hero-actions .button,
  .hero-actions .text-link {
    width: 100%;
    max-width: 100%;
    white-space: nowrap;
  }
  .hero-actions .text-link {
    justify-content: center;
    border: 0;
  }
  .hero-media img,
  .service-hero-media img,
  .service-hero-media video {
    height: 440px;
  }
  .hero-media-badge {
    left: 14px;
    bottom: 14px;
    padding: 9px 12px;
    font-size: 0.58rem;
  }
  .service-hero-media:after {
    right: -10px;
    bottom: -10px;
  }
  .trust-grid {
    grid-template-columns: 1fr 1fr;
  }
  .trust-item {
    min-height: 62px;
    padding: 13px 12px;
    display: flex;
    align-items: center;
  }
  .trust-item strong {
    font-size: 0.92rem;
    line-height: 1.25;
  }
  .trust-item span {
    display: none;
  }
  .trust-item:nth-child(-n + 2) {
    border-bottom: 0;
  }
  .trust-item:nth-child(n + 3) {
    display: none;
  }
  .section-heading {
    display: block;
    margin-bottom: 32px;
  }
  .section-heading p {
    margin-top: 16px;
  }
  .goal-grid {
    grid-template-columns: 1fr;
  }
  .goal-card {
    min-height: 0;
  }
  .service-card-grid {
    display: grid;
    grid-template-columns: 1fr;
  }
  .service-card {
    grid-column: auto;
    min-height: 390px;
  }
  .service-card h3 {
    font-size: 1.7rem;
  }
  .popular-main {
    min-height: 370px;
    padding: 28px;
  }
  .check-list {
    grid-template-columns: 1fr;
  }
  .about-grid .about-photo {
    width: min(100%, 360px);
    aspect-ratio: 3 / 4;
    justify-self: center;
    margin-bottom: 0;
  }
  .results-grid {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  .result-card img {
    height: 185px;
  }
  .result-card span {
    padding: 11px;
    font-size: 0.67rem;
  }
  .process-grid {
    gap: 28px;
  }
  .location-photo {
    height: 390px;
  }
  .location-map {
    height: auto;
  }
  .faq-grid {
    gap: 20px;
  }
  .final-cta {
    padding: 65px 0;
  }
  .final-cta-grid {
    gap: 30px;
  }
  .final-cta-action,
  .final-cta-action .button {
    width: 100%;
  }
  .service-page {
    padding-top: 74px;
  }
  .service-hero {
    padding: 50px 0 64px;
  }
  .service-hero-media img,
  .service-hero-media video {
    height: 430px;
  }
  .catalog-grid {
    grid-template-columns: 1fr;
  }
  .catalog-card {
    padding: 21px;
  }
  .area-list {
    columns: 1;
  }
  .split img {
    height: 420px;
  }
  .media-panel {
    grid-template-columns: 1fr;
  }
  .media-panel video,
  .media-panel img {
    height: 430px;
  }
  .related-grid {
    grid-template-columns: 1fr;
  }
  .footer-grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }
  .footer-grid > .brand-footer {
    gap: 14px;
  }
  .brand-footer .brand-logo {
    width: 74px;
    height: 74px;
  }
  .brand-footer .brand-copy strong {
    font-size: 1.05rem;
  }
  .brand-footer .brand-copy small {
    margin-top: 7px;
    font-size: 0.55rem;
  }
  .footer-bottom {
    display: grid;
  }
  .whatsapp-float {
    width: 52px;
    height: 52px;
    right: 15px;
    bottom: 15px;
  }
  .cookie-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
  .cookie-actions button {
    width: 100%;
  }
  .cookie-banner {
    left: 10px;
    bottom: 10px;
    width: calc(100% - 20px);
    padding: 15px;
  }
  .cookie-banner p {
    margin-bottom: 10px;
    font-size: 0.7rem;
  }
  .legal-main {
    padding-top: 120px;
  }
  .legal-main h1 {
    font-size: 2.5rem;
  }
}
.acne-results.results-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: 24px;
}
.acne-results .result-card img {
  height: auto;
  object-fit: contain;
}
@media (min-width: 981px) {
  .acne-results.results-grid {
    max-width: 900px;
    height: clamp(620px, 60vw, 840px);
    grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr);
    grid-template-rows: repeat(2, minmax(0, 1fr));
    align-items: stretch;
  }
  .acne-results .result-card {
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    min-height: 0;
  }
  .acne-results .result-card:first-child {
    grid-column: 1;
    grid-row: 1 / 3;
  }
  .acne-results .result-card:nth-child(n + 2) {
    grid-column: 2;
  }
  .acne-results .result-card img {
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: contain;
  }
}
@media (max-width: 980px) {
  .acne-results.results-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 680px) {
  .acne-results.results-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }
}
.procedure-directory {
  background: #fff;
}
.procedure-directory-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 24px;
}
.procedure-directory-card {
  min-width: 0;
  padding: 30px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: var(--ivory);
}
.procedure-directory-card h3 {
  margin-bottom: 20px;
  color: var(--wine-deep);
}
.procedure-directory-card ul {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
.procedure-directory-card li {
  min-width: 0;
}
.procedure-directory-card li a {
  display: block;
  padding: 10px 0;
  color: var(--ink);
  font-size: 0.86rem;
  line-height: 1.5;
  border-bottom: 1px solid var(--line);
  transition: color 0.2s;
}
.procedure-directory-card li a:hover,
.procedure-directory-card li a:focus-visible {
  color: var(--wine);
}
.procedure-directory-laser {
  grid-column: 1 / -1;
}
.procedure-directory-laser ul {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 28px;
}
.procedure-directory-card p {
  font-size: 0.85rem;
}
.procedure-directory-note {
  margin: 24px 0 0;
  max-width: 840px;
}
.procedure-directory-contact {
  margin: 30px 0 0;
}
.procedure-directory-contact .button {
  font-size: 0.68rem;
}
@media (min-width: 981px) {
  .procedure-directory .section-heading {
    display: block;
    margin-bottom: 36px;
  }
  .procedure-directory .section-heading h2 {
    max-width: none;
    margin-bottom: 16px;
    font-size: clamp(2.2rem, 3vw, 2.8rem);
  }
  .procedure-directory .section-heading p {
    max-width: 780px;
    margin: 0;
  }
  .procedure-directory-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .procedure-directory-card {
    display: grid;
    grid-template-columns: 230px minmax(0, 1fr);
    column-gap: 42px;
    row-gap: 12px;
    padding: 30px 32px;
  }
  .procedure-directory-card h3 {
    grid-column: 1;
    grid-row: 1 / span 3;
    margin: 8px 0 0;
    font-size: 1.55rem;
    line-height: 1.2;
  }
  .procedure-directory-card ul {
    grid-column: 2;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 28px;
    align-items: stretch;
  }
  .procedure-directory-card li a {
    display: flex;
    align-items: center;
    min-height: 44px;
    height: 100%;
  }
  .procedure-directory-laser ul {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 24px;
  }
  .procedure-directory-card p {
    grid-column: 2;
    margin: 0;
  }
  .procedure-directory-note {
    padding-top: 12px;
  }
}
@media (max-width: 680px) {
  .procedure-directory-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .procedure-directory-card {
    padding: 24px 20px;
  }
  .procedure-directory-laser ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 18px;
  }
  .procedure-directory-card li a {
    font-size: 0.8rem;
  }
}
@media (max-width: 360px) {
  .procedure-directory-laser ul {
    grid-template-columns: 1fr;
  }
}
.clinic-intro {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  min-height: 100vh;
  min-height: 100svh;
  padding: 140px 0 36px;
  overflow: hidden;
}
.clinic-intro-photo {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.clinic-intro::after {
  position: absolute;
  z-index: 1;
  inset: 0;
  background: rgba(76, 39, 56, 0.06);
  content: "";
  pointer-events: none;
}
.clinic-intro > .container {
  position: relative;
  z-index: 2;
}
.clinic-intro-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
  gap: 64px;
  max-width: 1060px;
  margin: 0 auto;
  padding: 48px 56px;
  border-radius: 24px;
  border: 1px solid rgba(255, 255, 255, 0.72);
  background: rgba(251, 248, 245, 0.93);
  box-shadow: 0 16px 48px rgba(54, 23, 40, 0.08);
  backdrop-filter: blur(12px);
  scroll-margin-top: 132px;
}
.clinic-intro-copy h1 {
  max-width: 600px;
  margin-bottom: 20px;
  color: var(--wine-deep);
  font-size: clamp(2rem, 3.1vw, 2.8rem);
  line-height: 1.12;
}
.clinic-intro-copy p {
  max-width: 420px;
  margin-bottom: 26px;
  font-size: 0.95rem;
}
.clinic-intro-copy .button {
  min-height: 46px;
  padding: 12px 18px;
  font-size: 0.68rem;
  white-space: nowrap;
}
.clinic-intro-services {
  display: grid;
  align-content: center;
}
.clinic-intro-services a {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 48px;
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  font-size: 0.9rem;
  transition: color 0.2s;
}
.clinic-intro-services a::before {
  content: "✓";
  display: grid;
  place-items: center;
  flex: 0 0 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--wine);
  color: #fff;
  font-size: 0.7rem;
  font-weight: 700;
}
.clinic-intro-services a:last-child {
  border-bottom: 0;
}
.clinic-intro-services a:hover,
.clinic-intro-services a:focus-visible {
  color: var(--wine);
}
@media (max-width: 980px) {
  .clinic-intro-card {
    gap: 32px;
    padding: 36px;
  }
}
@media (max-width: 680px) {
  .clinic-intro {
    padding: 132px 0 28px;
  }
  .clinic-intro-card {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 24px 20px;
    border-radius: 20px;
    scroll-margin-top: 114px;
  }
  .clinic-intro-copy h1 {
    margin-bottom: 16px;
    font-size: clamp(1.6rem, 6.7vw, 2rem);
    letter-spacing: -0.035em;
  }
  .clinic-intro-copy p {
    margin-bottom: 22px;
    font-size: 0.85rem;
    line-height: 1.6;
  }
  .clinic-intro-copy .button {
    padding-inline: 14px;
    font-size: clamp(0.57rem, 2.6vw, 0.66rem);
    letter-spacing: 0.04em;
  }
  .clinic-intro-services a {
    min-height: 44px;
    font-size: 0.84rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  .reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
  .service-card img {
    transition: none;
  }
}
/* Renata Camargo: preserve the reference layout and interactions with her palette. */
:root{--wine:#995164;--wine-deep:#693445;--wine-soft:#b56c7f;--ink:#31252a;--muted:#675d61;--ivory:#fbf8f5;--blush:#f5eae7;--line:#e8d9d8;--shadow:0 20px 55px rgba(83,43,52,.10)}
.site-header.scrolled,.site-header.service-header,.has-location-bar .site-header,.cover-page.has-location-bar .site-header:not(.scrolled){background:rgba(251,248,245,.97)}
.clinic-intro-services a::before{background:var(--wine)}
.results-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:780px;margin:auto}
.result-card img{display:block;height:350px;object-fit:cover;object-position:center}
.result-card-portrait img{object-fit:cover;background:var(--ivory)}
.results-note{max-width:780px;margin:18px auto 0;font-size:.78rem;text-align:center}
.whatsapp-float{pointer-events:none;transform:translateY(14px) scale(.92);transition:opacity .25s,visibility 0s linear .25s,transform .25s}
.whatsapp-float.visible{pointer-events:auto;transition:opacity .25s,visibility 0s,transform .25s}
.clinic-intro-copy .eyebrow{margin-bottom:12px}
.clinic-intro-copy h1{max-width:670px;font-size:clamp(2rem,3vw,2.7rem)}
.service-card-content p{max-width:45ch}
.brand-footer .brand-logo{width:48px;height:48px}
@media(max-width:680px){.clinic-intro-copy h1{font-size:clamp(1.72rem,6.4vw,2rem)}.results-grid{grid-template-columns:1fr 1fr}.result-card img{height:200px}.whatsapp-float{right:18px;bottom:18px}}
@media(max-width:380px){.result-card img{height:160px}.clinic-intro-copy .button{white-space:normal}}
@media(prefers-reduced-motion:reduce){.whatsapp-float{transform:none;transition:opacity .15s,visibility 0s linear .15s}.whatsapp-float.visible{transition:opacity .15s,visibility 0s}}
.detail-hero{padding-top:190px;background:var(--ivory)}
.detail-grid,.detail-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(35px,6vw,90px);align-items:center}
.detail-grid h1{font-size:clamp(2.5rem,4.3vw,4.7rem)}
.detail-grid p{font-size:1.1rem;max-width:55ch}
.detail-grid img{width:100%;max-height:550px;object-fit:cover;border-radius:var(--radius)}
.detail-content{align-items:start}.detail-content h2{max-width:480px}.detail-content p{max-width:65ch}
.detail-related{display:flex;flex-wrap:wrap;gap:12px}.detail-related a{border:1px solid var(--line);border-radius:999px;padding:12px 20px;color:var(--wine-deep);background:#fff}
.detail-related a:hover{border-color:var(--wine)}.content-narrow h2{font-size:2rem;margin-top:42px}
@media(max-width:680px){.detail-hero{padding-top:145px}.detail-grid,.detail-content{grid-template-columns:1fr}.detail-grid h1{font-size:clamp(2.1rem,9vw,3rem)}.detail-grid img{max-height:390px}.detail-content{gap:12px}}


/* Renata: apresentação curta com leitura destacada. */
.about-copy{display:grid;gap:20px}
.about-copy-text{max-width:58ch;margin:0;padding:23px 25px;border-radius:18px;background:var(--blush);color:var(--ink);font-size:.94rem;line-height:1.75;font-variant-numeric:lining-nums}
@media(max-width:680px){.about-copy{gap:16px}.about-copy-text{padding:19px 20px;font-size:.88rem}}

/* V2 service media */
.detail-visual {
  width: 100%;
  min-width: 0;
  margin: 0;
}
.detail-visual figcaption,
.detail-comparison figcaption {
  margin: 9px 2px 0;
  color: var(--muted);
  font-size: 0.72rem;
  line-height: 1.45;
}
.detail-comparison {
  width: 100%;
  min-width: 0;
  margin: 0;
}
.detail-comparison .v2-comparison {
  position: relative;
  width: 100%;
  aspect-ratio: 2 / 1;
  overflow: hidden;
  isolation: isolate;
  border-radius: var(--radius);
  background: #f7f1ee;
}
.detail-grid .detail-comparison .v2-comparison-before,
.detail-grid .detail-comparison .v2-comparison-after img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-height: none;
  border-radius: 0;
  object-fit: cover;
}
.detail-comparison .v2-comparison-after {
  position: absolute;
  inset: 0;
  clip-path: inset(0 0 0 var(--split, 50%));
}
.detail-comparison .v2-comparison::before {
  position: absolute;
  z-index: 3;
  top: 0;
  bottom: 0;
  left: var(--split, 50%);
  width: 2px;
  background: #fff;
  box-shadow: 0 0 7px rgba(25, 17, 19, 0.26);
  content: "";
  pointer-events: none;
  transform: translateX(-50%);
}
.detail-comparison .v2-comparison-label {
  position: absolute;
  z-index: 2;
  top: 12px;
  padding: 6px 10px;
  border: 1px solid rgba(105, 52, 69, 0.09);
  border-radius: 999px;
  background: rgba(251, 248, 245, 0.9);
  color: var(--wine-deep);
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
}
.detail-comparison .v2-comparison-label-before { left: 12px; }
.detail-comparison .v2-comparison-label-after { right: 12px; }
.detail-comparison .v2-comparison-handle {
  position: absolute;
  z-index: 4;
  top: 50%;
  left: var(--split, 50%);
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border: 2px solid #fff;
  border-radius: 50%;
  background: var(--wine);
  box-shadow: 0 3px 12px rgba(35, 19, 25, 0.28);
  color: #fff;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.detail-comparison .v2-comparison-handle::before {
  content: "↔";
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
}
.detail-comparison .v2-comparison-range {
  position: absolute;
  z-index: 5;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  appearance: none;
  background: transparent;
  cursor: ew-resize;
  opacity: 0;
  touch-action: pan-y;
}
.detail-comparison .v2-comparison-range::-webkit-slider-runnable-track { height: 100%; background: transparent; }
.detail-comparison .v2-comparison-range::-webkit-slider-thumb { width: 42px; height: 100%; appearance: none; background: transparent; border: 0; }
.detail-comparison .v2-comparison-range::-moz-range-track { height: 100%; background: transparent; border: 0; }
.detail-comparison .v2-comparison-range::-moz-range-thumb { width: 42px; height: 100%; background: transparent; border: 0; }
.detail-comparison .v2-comparison:focus-within { outline: 3px solid var(--wine-soft); outline-offset: 3px; }
@media(max-width:680px) {
  .detail-comparison .v2-comparison { aspect-ratio: 3 / 2; }
}

/* V2 client-supplied treatment photos and narrated procedure video */
.detail-proof-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
  align-items: center;
  gap: clamp(30px, 6vw, 88px);
}
.detail-proof-grid h2 {
  max-width: 520px;
  font-size: clamp(2rem, 3.2vw, 3.2rem);
}
.detail-proof-grid p { max-width: 55ch; }
.detail-proof-figure {
  width: 100%;
  min-width: 0;
  margin: 0;
}
.detail-proof-figure--portrait {
  max-width: 520px;
  justify-self: center;
}
.detail-proof-figure--landscape { max-width: 760px; }
.detail-proof-figure img {
  display: block;
  width: 100%;
  max-height: 650px;
  height: auto;
  border-radius: var(--radius);
  object-fit: contain;
  object-position: center;
}
.detail-proof-figure figcaption {
  margin: 9px 2px 0;
  color: var(--muted);
  font-size: 0.72rem;
  line-height: 1.45;
}
.detail-video-grid { grid-template-columns: minmax(0, 1fr) minmax(250px, 0.72fr); }
.detail-treatment-video {
  display: block;
  width: auto;
  max-width: min(100%, 380px);
  max-height: min(72vh, 640px);
  aspect-ratio: 9 / 16;
  justify-self: center;
  border-radius: var(--radius);
  background: #161214;
  object-fit: contain;
}
@media(max-width:680px) {
  .detail-proof-grid,
  .detail-video-grid { grid-template-columns: 1fr; gap: 22px; }
  .detail-proof-grid h2 { font-size: clamp(1.9rem, 8vw, 2.5rem); }
  .detail-proof-figure--portrait { max-width: min(100%, 430px); }
  .detail-proof-figure img { max-height: 560px; }
  .detail-treatment-video { max-width: min(100%, 340px); max-height: min(72vh, 560px); }
}
