/* =========================================================
GLOBAL / FOUNDATION
========================================================= */
:root {
  --hc-bg: #F5F1E7;
  --hc-surface: rgba(249, 246, 239, 0.72);
  --hc-surface-strong: rgba(249, 246, 239, 0.88);
  --hc-text: #1A3626;
  --hc-text-soft: #596B5F;
  --hc-line: #D5C7A5;
  --hc-accent: #D4AF37;
  --hc-accent-dark: #AA8C2C;
  --hc-shadow: 0 24px 60px rgba(26, 54, 38, 0.1);
  --hc-shadow-soft: 0 12px 28px rgba(26, 54, 38, 0.08);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--hc-bg);
  color: var(--hc-text);
  font-family: 'Urbanist', sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

a {
  text-decoration: none;
}

.hero-font-serif {
  font-family: 'Playfair Display', serif;
  font-style: italic;
  font-weight: 400;
  letter-spacing: -0.02em;
}

/* =========================================================
SECTION 1: HERO
========================================================= */
.hero-homecare {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: linear-gradient(180deg, #F5F1E7 0%, #EDE9DF 62%, #E6EADB 100%);
}

.hero-shell {
  position: relative;
  z-index: 2;
  max-width: 1440px;
  margin: -60px auto 0;
  padding: 0 24px 36px;
  filter: drop-shadow(0 18px 30px rgba(26, 54, 38, 0.08)) drop-shadow(0 4px 12px rgba(26, 54, 38, 0.04));
}

.hero-frame {
  position: relative;
  min-height: 620px;
  overflow: hidden;
  background: #F5F1E7;
  border: 1px solid var(--hc-line);
  box-shadow: 0 4px 12px rgba(26, 54, 38, 0.03);
  clip-path: polygon(20px 0, 100% 0, 100% calc(100% - 20px), calc(100% - 20px) 100%, 0 100%, 0 20px);
}

.hero-grid-lines {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  padding: 0 28px;
  pointer-events: none;
  opacity: 0.45;
}

.hero-grid-line {
  width: 1px;
  height: 100%;
  background: linear-gradient(180deg, rgba(26, 54, 38, 0.06), rgba(26, 54, 38, 0.10), rgba(26, 54, 38, 0.04));
}

.hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.hero-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: right center;
  display: block;
}

.hero-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(245, 241, 231, 0.85) 0%, rgba(245, 241, 231, 0.72) 48%, rgba(245, 241, 231, 0.40) 70%, rgba(245, 241, 231, 0.05) 100%);
  pointer-events: none;
}

.hero-nav-wrap {
  position: fixed;
  top: 10px;
  left: 0;
  right: 0;
  z-index: 9999;
  display: flex;
  justify-content: center;
  padding: 0 28px;
  pointer-events: none;
  overflow: visible !important;
}

.hero-nav {
  width: min(100%, 1120px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 10px 14px 10px 20px;
  background: rgba(252, 250, 247, 0.94);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(212, 175, 55, 0.45);
  box-shadow: 0 18px 40px rgba(26, 54, 38, 0.14), 0 6px 18px rgba(26, 54, 38, 0.08);
  border-radius: 50px;
  overflow: visible !important;
  pointer-events: auto;
}

.hero-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.hero-brand-mark {
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--hc-text);
  color: #fcfaf7;
  border: 1px solid rgba(26, 54, 38, 0.10);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  clip-path: polygon(8px 0, 100% 0, 100% calc(100% - 8px), calc(100% - 8px) 100%, 0 100%, 0 8px);
  flex: 0 0 auto;
}

.hero-brand-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.hero-brand-name {
  font-family: 'Playfair Display', serif;
  font-size: 17px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0.10em;
  color: #1A3626;
  text-transform: uppercase;
}

.hero-brand-sub {
  font-family: 'Urbanist', sans-serif;
  font-size: 9.5px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: #AA8C2C;
}

.hero-nav-links {
  display: flex;
  align-items: center;
  gap: 34px;
}

.hero-nav-links a {
  font-size: 13px;
  font-weight: 600;
  color: var(--hc-text-soft);
  transition: color 180ms ease, opacity 180ms ease;
}

.hero-nav-links a:hover,
.hero-nav-links a.is-active {
  color: var(--hc-text);
}

.hero-nav-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: 42px;
  padding: 0 18px;
  background: var(--hc-accent);
  color: #fcfaf7;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition: background 180ms ease, transform 180ms ease;
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
}

.hero-nav-cta:hover {
  background: var(--hc-accent-dark);
  transform: translateY(-1px);
}

.hero-content {
  position: relative;
  z-index: 3;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 180px 40px 65px;
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 42px;
  align-items: center;
  min-height: 620px;
}

.hero-copy {
  max-width: 600px;
}

.hero-visual {
  position: relative;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hero-arch-container {
  position: relative;
  width: 100%;
  max-width: 460px;
  display: flex;
  justify-content: center;
  padding: 14px 0;
}

.hero-photo-arch {
  position: relative;
  width: 100%;
  height: 520px;
  border-radius: 220px 220px 32px 32px;
  overflow: hidden;
  border: 2px solid rgba(212, 175, 55, 0.55);
  box-shadow: 0 24px 65px rgba(26, 54, 38, 0.15), 0 0 40px rgba(212, 175, 55, 0.18);
  background: #EBE3D5;
  outline: 1px solid rgba(212, 175, 55, 0.3);
  outline-offset: 8px;
  transition: transform 300ms ease;
}

.hero-photo-arch:hover {
  transform: scale(1.015);
}

.hero-photo-arch img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.hero-rating-badge {
  position: absolute;
  top: 28px;
  left: -12px;
  z-index: 10;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 18px;
  background: rgba(249, 246, 239, 0.94);
  border: 1px solid rgba(212, 175, 55, 0.45);
  border-radius: 50px;
  color: #1A3626;
  font-size: 12px;
  font-weight: 700;
  backdrop-filter: blur(12px);
  box-shadow: 0 12px 30px rgba(26, 54, 38, 0.12);
  animation: floatSoft 4s ease-in-out infinite;
}

.hero-rating-badge svg,
.hero-rating-badge i {
  color: #D4AF37;
  fill: #D4AF37;
  width: 14px;
  height: 14px;
}

.hero-photo-badge {
  position: absolute;
  bottom: 28px;
  right: -10px;
  z-index: 10;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 18px;
  background: rgba(26, 54, 38, 0.92);
  border: 1px solid rgba(212, 175, 55, 0.55);
  border-radius: 50px;
  color: #F5F1E7;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  backdrop-filter: blur(12px);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.2);
  animation: floatSoft 4s ease-in-out infinite 2s;
}

.hero-photo-badge-dot {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: #D4AF37;
  box-shadow: 0 0 0 4px rgba(212, 175, 55, 0.3);
}

.hero-eyebrow-pulse {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: #D4AF37;
  box-shadow: 0 0 0 0 rgba(212, 175, 55, 0.6);
  animation: pulseGlow 2s infinite;
}

@keyframes pulseGlow {
  0% {
    box-shadow: 0 0 0 0 rgba(212, 175, 55, 0.6);
  }

  70% {
    box-shadow: 0 0 0 8px rgba(212, 175, 55, 0);
  }

  100% {
    box-shadow: 0 0 0 0 rgba(212, 175, 55, 0);
  }
}

@keyframes floatSoft {

  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-6px);
  }
}

.hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 34px;
  padding: 0 14px;
  margin-bottom: 28px;
  background: rgba(249, 246, 239, 0.58);
  border: 1px solid rgba(216, 209, 199, 0.90);
  color: var(--hc-text-soft);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  backdrop-filter: blur(10px);
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
}

.hero-eyebrow-dot {
  width: 7px;
  height: 7px;
  background: var(--hc-accent);
  box-shadow: 0 0 0 6px rgba(212, 175, 55, 0.14);
  border-radius: 999px;
  flex: 0 0 auto;
}

.hero-title {
  margin: 0 0 20px;
  font-size: clamp(2.2rem, 4.2vw, 3.8rem);
  line-height: 1.12;
  letter-spacing: -0.04em;
  font-weight: 600;
  color: #0E2418;
  text-shadow: 0 1px 3px rgba(245, 241, 231, 0.9), 0 2px 14px rgba(245, 241, 231, 0.7);
}

.hero-title-accent {
  display: block;
  color: #B58D20;
  text-shadow: 0 1px 3px rgba(245, 241, 231, 0.9);
}

.hero-quote-highlight {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 22px;
  padding: 8px 20px;
  background: rgba(249, 246, 239, 0.92);
  border: 1px solid rgba(181, 141, 32, 0.5);
  border-radius: 50px;
  color: #0E2418;
  font-family: 'Playfair Display', serif;
  font-style: italic;
  font-size: 15px;
  font-weight: 600;
  box-shadow: 0 4px 15px rgba(26, 54, 38, 0.08);
}

.hero-quote-highlight svg,
.hero-quote-highlight i {
  color: #B58D20;
}

.hero-description {
  max-width: 510px;
  margin: 0 0 34px;
  padding-left: 18px;
  border-left: 2px solid #D4AF37;
  font-size: 17px;
  line-height: 1.85;
  color: #0E2418;
  font-weight: 600;
  text-shadow: 0 1px 3px rgba(245, 241, 231, 0.9);
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-bottom: 30px;
}

.hero-btn-primary,
.hero-btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 10px;
  min-height: 52px;
  padding: 20px 26px 16px;
  line-height: 1.4;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition: transform 180ms ease, background 180ms ease, border-color 180ms ease, color 180ms ease;
}

.hero-btn-primary {
  background: var(--hc-text);
  color: #fcfaf7;
  clip-path: polygon(12px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%, 0 12px);
}

.hero-btn-primary:hover {
  background: #112419;
  transform: translateY(-1px);
}

.hero-btn-secondary {
  background: rgba(249, 246, 239, 0.72);
  border: 1px solid rgba(216, 209, 199, 0.95);
  color: var(--hc-text);
  clip-path: polygon(12px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%, 0 12px);
}

.hero-btn-secondary:hover {
  background: rgba(249, 246, 239, 0.62);
  border-color: rgba(212, 175, 55, 0.80);
  transform: translateY(-1px);
}

.hero-trust {
  display: flex;
  align-items: center;
  gap: 14px;
  max-width: 430px;
  padding-top: 20px;
  border-top: 1px solid rgba(212, 175, 55, 0.42);
}

.hero-trust-stack {
  display: flex;
  margin-left: 2px;
}

.hero-trust-dot {
  width: 30px;
  height: 30px;
  margin-left: -8px;
  border: 2px solid #F5F1E7;
  border-radius: 999px;
  background: linear-gradient(180deg, #dcd4ca, #cfc7bc);
}

.hero-trust-dot:first-child {
  margin-left: 0;
  background: linear-gradient(180deg, #ece6dd, #d9d0c4);
}

.hero-trust-dot:nth-child(2) {
  background: linear-gradient(180deg, #b9c4b5, #9dad99);
}

.hero-trust-dot:nth-child(3) {
  background: linear-gradient(180deg, #e2d7cb, #ccbda9);
}

.hero-trust-text {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--hc-text-soft);
}

.hero-visual {
  position: relative;
  min-height: 560px;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
}

.hero-floating-card {
  position: relative;
  width: min(100%, 390px);
  padding: 26px 24px 24px;
  background: rgba(249, 246, 239, 0.88);
  border: 1px solid rgba(216, 209, 199, 0.92);
  backdrop-filter: blur(18px);
  box-shadow: var(--hc-shadow);
  clip-path: polygon(16px 0, 100% 0, 100% calc(100% - 16px), calc(100% - 16px) 100%, 0 100%, 0 16px);
}

.hero-card-kicker {
  display: inline-block;
  margin-bottom: 14px;
  color: var(--hc-accent-dark);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.hero-card-title {
  margin: 0 0 18px;
  color: var(--hc-text);
  font-size: 28px;
  line-height: 1;
  letter-spacing: -0.05em;
  font-weight: 600;
}

.hero-card-list {
  display: grid;
  gap: 14px;
  margin: 0 0 20px;
  padding: 0;
  list-style: none;
}

.hero-card-item {
  display: grid;
  grid-template-columns: 18px 1fr;
  gap: 12px;
  align-items: start;
  padding-top: 14px;
  border-top: 1px solid rgba(212, 175, 55, 0.34);
}

.hero-card-item:first-child {
  padding-top: 0;
  border-top: none;
}

.hero-card-icon {
  color: var(--hc-accent);
  margin-top: 1px;
}

.hero-card-item strong {
  display: block;
  margin-bottom: 4px;
  color: var(--hc-text);
  font-size: 14px;
  line-height: 1.3;
  font-weight: 700;
}

.hero-card-item span {
  display: block;
  color: var(--hc-text-soft);
  font-size: 13px;
  line-height: 1.75;
}

.hero-card-footer {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  padding-top: 18px;
  border-top: 1px solid rgba(212, 175, 55, 0.34);
}

.hero-card-meta {
  color: var(--hc-text-soft);
  font-size: 11px;
  line-height: 1.45;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.hero-card-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--hc-text);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  white-space: nowrap;
}

@media (max-width: 1080px) {
  .hero-content {
    grid-template-columns: 1fr;
    gap: 28px;
    padding-top: 180px;
    min-height: auto;
  }

  .hero-bg img {
    object-position: center center !important;
  }

  .hero-bg::after {
    background:
      linear-gradient(90deg, rgba(245, 241, 231, 0.92) 0%, rgba(245, 241, 231, 0.80) 50%, rgba(245, 241, 231, 0.40) 75%, rgba(245, 241, 231, 0.10) 100%),
      linear-gradient(180deg, rgba(245, 241, 231, 0.70) 0%, transparent 60%, rgba(245, 241, 231, 0.20) 100%);
  }

  .hero-copy {
    max-width: 100%;
  }

  .hero-nav-links {
    display: none;
  }
}

@media (max-width: 720px) {
  .hero-shell {
    margin: 10px auto 0;
    padding: 10px 10px 20px;
  }

  .hero-frame {
    min-height: auto;
  }

  .hero-nav-wrap {
    top: 10px;
    left: 10px;
    right: 10px;
    padding: 0;
  }

  .hero-nav {
    padding: 8px 12px;
  }

  .hero-brand-sub {
    display: none;
  }

  .hero-nav-cta {
    min-height: 36px;
    padding: 0 12px;
    font-size: 10px;
  }

  .hero-bg img {
    object-position: center center !important;
  }

  .hero-bg::after {
    background:
      linear-gradient(90deg, rgba(245, 241, 231, 0.94) 0%, rgba(245, 241, 231, 0.82) 55%, rgba(245, 241, 231, 0.45) 80%, rgba(245, 241, 231, 0.10) 100%),
      linear-gradient(180deg, rgba(245, 241, 231, 0.75) 0%, transparent 60%, rgba(245, 241, 231, 0.25) 100%);
  }

  .hero-content {
    min-height: auto;
    padding: 110px 16px 28px;
  }

  .hero-copy {
    padding: 0;
    background: transparent;
    backdrop-filter: none;
    border: none;
    box-shadow: none;
  }

  .hero-eyebrow {
    margin-bottom: 8px;
    min-height: 26px;
    font-size: 10px;
    padding: 0 10px;
  }

  .hero-title {
    font-size: clamp(2.1rem, 7.5vw, 2.4rem);
    line-height: 1.18;
    margin-bottom: 10px;
    letter-spacing: -0.03em;
    font-weight: 600;
    text-shadow: 0 1px 3px rgba(245, 241, 231, 0.95), 0 2px 10px rgba(245, 241, 231, 0.8);
  }

  .hero-quote-highlight {
    margin: 0 0 12px;
    padding: 6px 14px;
    font-size: 14px;
    background: rgba(249, 246, 239, 0.95);
  }

  .hero-grid-lines {
    padding: 0 14px;
  }

  .hero-grid-line:nth-child(2),
  .hero-grid-line:nth-child(3) {
    display: none;
  }

  .hero-description {
    padding-left: 12px;
    font-size: 16px;
    line-height: 1.5;
    margin-bottom: 16px;
    font-weight: 600;
    color: #0E2418;
    text-shadow: 0 1px 3px rgba(245, 241, 231, 0.95);
  }

  .hero-actions {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
  }

  .hero-btn-primary,
  .hero-btn-secondary {
    width: auto;
    min-height: 42px;
    padding: 14px 16px 10px;
    font-size: 11px;
    flex: 0 1 auto;
  }

  .hero-trust {
    max-width: 100%;
    padding-top: 14px;
  }

  .hero-floating-card {
    width: 100%;
  }

  .hero-card-footer {
    flex-direction: column;
    align-items: flex-start;
  }

  .fundadora-hero {
    padding-top: 120px !important;
  }

  .ut-custom-017d14 {
    padding: 30px 0 !important;
  }
}

/* =========================================================
SECTION 1.5: SOBRE LIMA'S THERAPY
========================================================= */
.sobre-limas-therapy {
  position: relative;
  width: 100%;
  padding: 100px 0;
  background: linear-gradient(180deg, #F5F1E7 0%, #EDE9DF 100%);
  border-top: 1px solid rgba(212, 175, 55, 0.25);
  border-bottom: 1px solid rgba(212, 175, 55, 0.25);
  overflow: hidden;
}

.sobre-shell {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 28px;
}

.sobre-grid {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: 56px;
  align-items: center;
}

.sobre-visual {
  position: relative;
  display: flex;
  justify-content: center;
}

.sobre-image-wrapper {
  position: relative;
  width: 100%;
  max-width: 480px;
}

.sobre-image-frame {
  position: relative;
  width: 100%;
  height: 520px;
  border-radius: 180px 24px 180px 24px;
  overflow: hidden;
  border: 2px solid rgba(212, 175, 55, 0.5);
  box-shadow: 0 24px 60px rgba(26, 54, 38, 0.12);
  outline: 1px solid rgba(212, 175, 55, 0.25);
  outline-offset: 8px;
}

.sobre-image-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform 500ms ease;
}

.sobre-image-frame:hover img {
  transform: scale(1.03);
}

.sobre-crefito-badge {
  position: absolute;
  bottom: -16px;
  right: -16px;
  z-index: 10;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 20px;
  background: rgba(26, 54, 38, 0.94);
  border: 1px solid rgba(212, 175, 55, 0.6);
  border-radius: 16px;
  color: #F5F1E7;
  backdrop-filter: blur(12px);
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.18);
}

.sobre-crefito-badge i,
.sobre-crefito-badge svg {
  width: 22px;
  height: 22px;
  color: #D4AF37;
  flex: 0 0 auto;
}

.sobre-crefito-badge strong {
  display: block;
  font-size: 13px;
  letter-spacing: 0.05em;
  color: #D4AF37;
}

.sobre-crefito-badge span {
  display: block;
  font-size: 11px;
}

.sobre-kicker {
  display: inline-block;
  margin-bottom: 12px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #B58D20;
}

.sobre-title {
  margin: 0 0 14px;
  font-size: clamp(2.2rem, 4vw, 3.4rem);
  line-height: 1.1;
  color: #0E2418;
  font-weight: 600;
}

.sobre-title-accent {
  color: #B58D20;
}

.sobre-founder-divider {
  width: 60px;
  height: 2px;
  background: #D4AF37;
  margin-bottom: 24px;
}

.sobre-description {
  margin: 0 0 32px;
  font-size: 16px;
  line-height: 1.8;
  color: #1A3626;
  font-weight: 500;
}

.sobre-pillars {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  padding-top: 24px;
  border-top: 1px solid rgba(212, 175, 55, 0.3);
  margin-bottom: 32px;
}

.sobre-pillar-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.sobre-pillar-icon {
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.4);
  border-radius: 10px;
  color: #B58D20;
  flex: 0 0 auto;
}

.sobre-pillar-icon svg,
.sobre-pillar-icon i {
  width: 18px;
  height: 18px;
}

.sobre-pillar-item strong {
  display: block;
  font-size: 14px;
  color: #0E2418;
  margin-bottom: 2px;
  font-weight: 700;
}

.sobre-pillar-item span {
  display: block;
  font-size: 12px;
  color: #596B5F;
}

@media (max-width: 1080px) {
  .sobre-limas-therapy {
    padding: 70px 0;
  }

  .fundadora-hero {
    padding-top: 130px !important;
  }

  .sobre-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .sobre-visual {
    order: -1;
  }

  .sobre-image-wrapper {
    max-width: 420px;
  }

  .sobre-crefito-badge {
    right: 0;
    bottom: -16px;
  }
}

@media (max-width: 720px) {
  .sobre-limas-therapy {
    padding: 50px 0;
  }

  .sobre-shell {
    padding: 0 16px;
  }

  .sobre-image-frame {
    height: 380px;
    border-radius: 120px 20px 120px 20px;
  }

  .sobre-crefito-badge {
    padding: 10px 14px;
    font-size: 11px;
    right: 0;
  }

  .sobre-pillars {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

/* =========================================================
SECTION 1.8: TRATAMENTOS LIMA'S THERAPY
========================================================= */
.tratamentos-limas-therapy {
  position: relative;
  width: 100%;
  padding: 100px 0;
  background: #F5F1E7;
  overflow: hidden;
}

.tratamentos-shell {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 28px;
}

.tratamentos-head {
  text-align: center;
  max-width: 820px;
  margin: 0 auto 56px;
}

.tratamentos-kicker {
  display: inline-block;
  margin-bottom: 12px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #B58D20;
}

.tratamentos-title {
  margin: 0 0 18px;
  font-size: clamp(2.4rem, 4.5vw, 3.6rem);
  line-height: 1.1;
  color: #0E2418;
  font-weight: 600;
}

.tratamentos-title-accent {
  color: #B58D20;
}

.tratamentos-subtitle {
  margin: 0;
  font-size: 16px;
  line-height: 1.85;
  color: #596B5F;
  font-weight: 500;
}

.tratamentos-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
  justify-items: center;
  margin-bottom: 54px;
}

.tratamento-card {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 560px;
  background: rgba(252, 250, 247, 0.85);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 16px 36px rgba(26, 54, 38, 0.06);
  transition: transform 300ms ease, box-shadow 300ms ease, border-color 300ms ease;
}

.tratamento-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 50px rgba(26, 54, 38, 0.12);
  border-color: rgba(212, 175, 55, 0.65);
}

.tratamento-media {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9.5;
  min-height: 200px;
  max-height: 320px;
  overflow: hidden;
  background: #EBE3D5;
}

.tratamento-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform 600ms ease;
}

.tratamento-card:hover .tratamento-media img {
  transform: scale(1.06);
}

.tratamento-tag {
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 2;
  padding: 6px 14px;
  background: rgba(26, 54, 38, 0.90);
  border: 1px solid rgba(212, 175, 55, 0.5);
  border-radius: 50px;
  color: #F5F1E7;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  backdrop-filter: blur(8px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
}

.tratamento-body {
  padding: 28px 26px 30px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.tratamento-card-title {
  margin: 0 0 12px;
  font-size: 22px;
  line-height: 1.25;
  color: #0E2418;
  font-weight: 700;
}

.tratamento-card-text {
  margin: 0 0 22px;
  font-size: 15px;
  line-height: 1.7;
  color: #596B5F;
  flex: 1;
}

.tratamento-card-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #B58D20;
  transition: color 180ms ease, transform 180ms ease;
}

.tratamento-card-link i,
.tratamento-card-link svg {
  width: 16px;
  height: 16px;
  transition: transform 180ms ease;
}

.tratamento-card:hover .tratamento-card-link {
  color: #0E2418;
}

.tratamento-card:hover .tratamento-card-link i,
.tratamento-card:hover .tratamento-card-link svg {
  transform: translateX(4px);
}

.tratamentos-cta-wrap {
  display: flex;
  justify-content: center;
}

.tratamentos-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 10px;
  min-height: 52px;
  padding: 12px 34px;
  background: #0E2418;
  border: 1px solid rgba(212, 175, 55, 0.4);
  color: #F5F1E7;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  border-radius: 50px;
  box-shadow: 0 12px 28px rgba(26, 54, 38, 0.15);
  transition: background 200ms ease, transform 200ms ease, box-shadow 200ms ease;
}

.tratamentos-cta-btn i,
.tratamentos-cta-btn svg {
  width: 18px;
  height: 18px;
  color: #D4AF37;
  transition: transform 200ms ease;
}

.tratamentos-cta-btn:hover {
  background: #112419;
  transform: translateY(-2px);
  box-shadow: 0 18px 36px rgba(26, 54, 38, 0.22);
}

.tratamentos-cta-btn:hover i,
.tratamentos-cta-btn:hover svg {
  transform: translate(2px, -2px);
}

@media (max-width: 900px) {
  .tratamentos-limas-therapy {
    padding: 60px 0;
  }

  .tratamentos-head {
    margin-bottom: 36px;
  }

  .tratamentos-grid {
    grid-template-columns: 1fr;
    gap: 28px;
    justify-items: center;
  }

  .tratamento-card {
    max-width: 580px;
    width: 100%;
  }

  .tratamento-media {
    aspect-ratio: 16 / 9.5;
  }
}

@media (max-width: 600px) {
  .tratamentos-limas-therapy {
    padding: 48px 0;
  }

  .tratamentos-shell {
    padding: 0 16px;
  }

  .tratamentos-grid {
    gap: 20px;
  }

  .tratamento-card {
    max-width: 100%;
    border-radius: 20px;
  }

  .tratamento-media {
    aspect-ratio: 16 / 10;
  }

  .tratamento-body {
    padding: 20px 18px 22px;
  }

  .tratamentos-cta-btn {
    width: auto;
    max-width: 100%;
    padding: 0 24px;
    font-size: 11px;
    min-height: 44px;
    justify-content: center;
  }
}

/* =========================================================
SECTION 1.9: DIA DA NOIVA
========================================================= */
.dia-da-noiva {
  position: relative;
  width: 100%;
  padding: 100px 0;
  background: linear-gradient(180deg, #EDE9DF 0%, #F5F1E7 100%);
  border-top: 1px solid rgba(212, 175, 55, 0.25);
  border-bottom: 1px solid rgba(212, 175, 55, 0.25);
  overflow: hidden;
}

.noiva-shell {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 28px;
}

.noiva-grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 56px;
  align-items: center;
}

.noiva-kicker {
  display: inline-block;
  margin-bottom: 12px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #B58D20;
}

.noiva-title {
  margin: 0 0 14px;
  font-size: clamp(2.4rem, 4.5vw, 3.6rem);
  line-height: 1.1;
  color: #0E2418;
  font-weight: 600;
}

.noiva-title-accent {
  color: #B58D20;
}

.noiva-divider {
  width: 60px;
  height: 2px;
  background: #D4AF37;
  margin-bottom: 24px;
}

.noiva-description {
  margin: 0 0 28px;
  font-size: 16px;
  line-height: 1.8;
  color: #1A3626;
  font-weight: 500;
}

.noiva-highlights {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 34px;
}

.noiva-pill-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 18px;
  background: rgba(252, 250, 247, 0.92);
  border: 1px solid rgba(212, 175, 55, 0.4);
  border-radius: 50px;
  color: #0E2418;
  font-size: 13px;
  font-weight: 600;
  width: fit-content;
  box-shadow: 0 4px 14px rgba(26, 54, 38, 0.05);
}

.noiva-pill-badge i,
.noiva-pill-badge svg {
  width: 16px;
  height: 16px;
  color: #B58D20;
}

.noiva-cta-wrap {
  display: flex;
  justify-content: flex-start;
}

.noiva-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 10px;
  min-height: 52px;
  padding: 0 34px;
  background: #0E2418;
  border: 1px solid rgba(212, 175, 55, 0.4);
  color: #F5F1E7;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  border-radius: 50px;
  box-shadow: 0 12px 28px rgba(26, 54, 38, 0.15);
  transition: background 200ms ease, transform 200ms ease;
}

.noiva-cta-btn span {
  text-align: center;
}

.noiva-cta-btn i,
.noiva-cta-btn svg {
  width: 16px;
  height: 16px;
  color: #D4AF37;
  transition: transform 200ms ease;
}

.noiva-cta-btn:hover {
  background: #112419;
  transform: translateY(-2px);
}

.noiva-cta-btn:hover i,
.noiva-cta-btn:hover svg {
  transform: translateX(4px);
}

.noiva-visual {
  position: relative;
  display: flex;
  justify-content: center;
}

.noiva-image-card {
  position: relative;
  width: 100%;
  max-width: 480px;
  height: 500px;
  border-radius: 200px 200px 24px 24px;
  overflow: hidden;
  border: 2px solid rgba(212, 175, 55, 0.5);
  box-shadow: 0 24px 60px rgba(26, 54, 38, 0.14);
  outline: 1px solid rgba(212, 175, 55, 0.3);
  outline-offset: 8px;
}

.noiva-image-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.noiva-floating-badge {
  position: absolute;
  bottom: 24px;
  left: 20px;
  z-index: 10;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  background: rgba(26, 54, 38, 0.92);
  border: 1px solid rgba(212, 175, 55, 0.55);
  border-radius: 50px;
  color: #F5F1E7;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  backdrop-filter: blur(10px);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
}

.noiva-floating-badge i,
.noiva-floating-badge svg {
  width: 14px;
  height: 14px;
  color: #D4AF37;
}

/* =========================================================
SECTION 1.95: GESTANTE & PÃ“S-PARTO
========================================================= */
.gestante-pos-parto {
  position: relative;
  width: 100%;
  padding: 100px 0;
  background: #F5F1E7;
  overflow: hidden;
}

.gestante-shell {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 28px;
}

.gestante-grid {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: 56px;
  align-items: center;
}

.gestante-visual {
  position: relative;
  display: flex;
  justify-content: center;
}

.gestante-image-card {
  position: relative;
  width: 100%;
  max-width: 480px;
  height: 500px;
  border-radius: 24px 200px 24px 200px;
  overflow: hidden;
  border: 2px solid rgba(212, 175, 55, 0.5);
  box-shadow: 0 24px 60px rgba(26, 54, 38, 0.14);
  outline: 1px solid rgba(212, 175, 55, 0.3);
  outline-offset: 8px;
}

.gestante-image-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.gestante-floating-badge {
  position: absolute;
  bottom: 24px;
  right: 20px;
  z-index: 10;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  background: rgba(26, 54, 38, 0.92);
  border: 1px solid rgba(212, 175, 55, 0.55);
  border-radius: 50px;
  color: #F5F1E7;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  backdrop-filter: blur(10px);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
}

.gestante-floating-badge i,
.gestante-floating-badge svg {
  width: 14px;
  height: 14px;
  color: #D4AF37;
}

.gestante-kicker {
  display: inline-block;
  margin-bottom: 12px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #B58D20;
}

.gestante-title {
  margin: 0 0 14px;
  font-size: clamp(2.4rem, 4.5vw, 3.6rem);
  line-height: 1.1;
  color: #0E2418;
  font-weight: 600;
}

.gestante-title-accent {
  color: #B58D20;
}

.gestante-divider {
  width: 60px;
  height: 2px;
  background: #D4AF37;
  margin-bottom: 24px;
}

.gestante-description {
  margin: 0 0 28px;
  font-size: 16px;
  line-height: 1.8;
  color: #1A3626;
  font-weight: 500;
}

.gestante-pillars-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 34px;
}

.gestante-pillar-chip {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 18px;
  background: rgba(252, 250, 247, 0.92);
  border: 1px solid rgba(212, 175, 55, 0.4);
  border-radius: 50px;
  color: #0E2418;
  font-size: 13.5px;
  font-weight: 600;
  width: fit-content;
  box-shadow: 0 4px 14px rgba(26, 54, 38, 0.05);
}

.gestante-pillar-chip i,
.gestante-pillar-chip svg {
  width: 16px;
  height: 16px;
  color: #B58D20;
}

.gestante-cta-wrap {
  display: flex;
  justify-content: flex-start;
}

.gestante-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 10px;
  min-height: 52px;
  padding: 12px 34px;
  background: #0E2418;
  border: 1px solid rgba(212, 175, 55, 0.4);
  color: #F5F1E7;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  border-radius: 50px;
  box-shadow: 0 12px 28px rgba(26, 54, 38, 0.15);
  transition: background 200ms ease, transform 200ms ease;
}

.gestante-cta-btn i,
.gestante-cta-btn svg {
  width: 16px;
  height: 16px;
  color: #D4AF37;
  transition: transform 200ms ease;
}

.gestante-cta-btn:hover {
  background: #112419;
  transform: translateY(-2px);
}

.gestante-cta-btn:hover i,
.gestante-cta-btn:hover svg {
  transform: translateX(4px);
}

@media (max-width: 1080px) {

  .dia-da-noiva,
  .gestante-pos-parto {
    padding: 70px 0;
  }

  .noiva-grid,
  .gestante-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .noiva-visual,
  .gestante-visual {
    order: -1;
  }

  .noiva-image-card,
  .gestante-image-card {
    max-width: 440px;
    height: 420px;
  }
}

@media (max-width: 720px) {

  .dia-da-noiva,
  .gestante-pos-parto {
    padding: 50px 0;
  }

  .noiva-shell,
  .gestante-shell {
    padding: 0 16px;
  }

  .noiva-image-card {
    height: 360px;
    border-radius: 140px 140px 20px 20px;
  }

  .gestante-image-card {
    height: 360px;
    border-radius: 20px 140px 20px 140px;
  }

  .noiva-cta-wrap,
  .gestante-cta-wrap {
    width: 100%;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .noiva-cta-btn,
  .gestante-cta-btn {
    width: auto;
    max-width: 100%;
    padding: 0 22px;
    font-size: 11px;
    min-height: 44px;
    justify-content: flex-start;
    text-align: left;
    align-self: flex-start;
  }

  .noiva-pill-badge,
  .gestante-pillar-chip {
    width: fit-content;
    max-width: 100%;
    font-size: 12px;
    align-self: flex-start;
  }
}

@media (min-width: 721px) {

  .noiva-cta-btn,
  .gestante-cta-btn,
  .tratamentos-cta-btn,
  .funciona-cta-btn,
  .clube-cta-btn {
    width: 320px;
    max-width: 100%;
  }
}

/* =========================================================
SECTION 1.96: COMO FUNCIONA
========================================================= */
.como-funciona {
  position: relative;
  width: 100%;
  padding: 100px 0;
  background:
    linear-gradient(180deg, rgba(245, 241, 231, 0.74) 0%, rgba(238, 234, 225, 0.68) 100%),
    url('../img/fundo-hero.png') center/cover no-repeat fixed !important;
  border-bottom: 1px solid rgba(212, 175, 55, 0.25);
  overflow: hidden;
}

.funciona-shell {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 28px;
}

.funciona-head {
  text-align: center;
  max-width: 820px;
  margin: 0 auto 56px;
}

.funciona-kicker {
  display: inline-block;
  margin-bottom: 12px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #B58D20;
}

.funciona-title {
  margin: 0 0 18px;
  font-size: clamp(2.4rem, 4.5vw, 3.6rem);
  line-height: 1.1;
  color: #0E2418;
  font-weight: 600;
}

.funciona-title-accent {
  color: #B58D20;
}

.funciona-subtitle {
  margin: 0;
  font-size: 16px;
  line-height: 1.85;
  color: #596B5F;
  font-weight: 500;
}

.funciona-steps {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  margin-bottom: 54px;
}

.funciona-step-card {
  position: relative;
  flex: 1;
  max-width: 360px;
  padding: 32px 26px;
  background: rgba(252, 250, 247, 0.85);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 20px;
  box-shadow: 0 12px 32px rgba(26, 54, 38, 0.05);
  transition: transform 300ms ease, box-shadow 300ms ease;
}

.funciona-step-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 45px rgba(26, 54, 38, 0.10);
  border-color: rgba(212, 175, 55, 0.6);
}

.step-num {
  position: absolute;
  top: 20px;
  right: 20px;
  font-family: 'Playfair Display', serif;
  font-size: 28px;
  font-weight: 700;
  color: rgba(212, 175, 55, 0.35);
}

.step-icon {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.4);
  border-radius: 12px;
  color: #B58D20;
  margin-bottom: 20px;
}

.step-icon i,
.step-icon svg {
  width: 22px;
  height: 22px;
}

.step-title {
  margin: 0 0 10px;
  font-size: 18px;
  color: #0E2418;
  font-weight: 700;
}

.step-text {
  margin: 0;
  font-size: 14px;
  line-height: 1.65;
  color: #596B5F;
}

.funciona-step-arrow {
  display: flex;
  align-items: center;
  color: #D4AF37;
  flex: 0 0 auto;
}

.funciona-step-arrow i,
.funciona-step-arrow svg {
  width: 24px;
  height: 24px;
}

.funciona-cta-wrap {
  display: flex;
  justify-content: center;
}

.funciona-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 10px;
  min-height: 52px;
  padding: 12px 34px;
  background: #0E2418;
  border: 1px solid rgba(212, 175, 55, 0.4);
  color: #F5F1E7;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  border-radius: 50px;
  box-shadow: 0 12px 28px rgba(26, 54, 38, 0.15);
  transition: background 200ms ease, transform 200ms ease;
}

.funciona-cta-btn i,
.funciona-cta-btn svg {
  width: 16px;
  height: 16px;
  color: #D4AF37;
  transition: transform 200ms ease;
}

.funciona-cta-btn:hover {
  background: #112419;
  transform: translateY(-2px);
}

.funciona-cta-btn:hover i,
.funciona-cta-btn:hover svg {
  transform: translateX(4px);
}

/* =========================================================
SECTION 1.97: CLUBE LT
========================================================= */
.clube-lt {
  position: relative;
  width: 100%;
  padding: 100px 0;
  background: linear-gradient(180deg, #EDE9DF 0%, #F5F1E7 100%);
  overflow: hidden;
}

.clube-shell {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 28px;
}

.clube-card-frame {
  background: #0E2418;
  border: 1px solid rgba(212, 175, 55, 0.45);
  border-radius: 32px;
  padding: 56px 48px;
  box-shadow: 0 28px 70px rgba(14, 36, 24, 0.25);
  color: #F5F1E7;
}

.clube-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 56px;
  align-items: center;
}

.clube-kicker {
  display: inline-block;
  margin-bottom: 12px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #D4AF37;
}

.clube-title {
  margin: 0 0 14px;
  font-size: clamp(2.4rem, 4.5vw, 3.6rem);
  line-height: 1.1;
  color: #F5F1E7;
  font-weight: 600;
}

.clube-title-accent {
  color: #D4AF37;
}

.clube-divider {
  width: 60px;
  height: 2px;
  background: #D4AF37;
  margin-bottom: 24px;
}

.clube-description {
  margin: 0 0 28px;
  font-size: 16.5px;
  line-height: 1.8;
  color: rgba(245, 241, 231, 0.90);
  font-weight: 500;
}

.clube-benefits-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-bottom: 36px;
}

.clube-benefit-item {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: #F5F1E7;
  font-size: 14.5px;
  font-weight: 600;
}

.clube-benefit-item i,
.clube-benefit-item svg {
  width: 18px;
  height: 18px;
  color: #D4AF37;
  flex: 0 0 auto;
}

.clube-cta-wrap {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}

.clube-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 10px;
  min-height: 52px;
  padding: 0 34px;
  background: linear-gradient(135deg, #D4AF37 0%, #B58D20 100%);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #0E2418;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  border-radius: 50px;
  box-shadow: 0 12px 28px rgba(212, 175, 55, 0.22);
  transition: transform 200ms ease, box-shadow 200ms ease;
}

.clube-cta-btn i,
.clube-cta-btn svg {
  width: 16px;
  height: 16px;
  color: #0E2418;
  transition: transform 200ms ease;
}

.clube-cta-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 36px rgba(212, 175, 55, 0.32);
}

.clube-cta-btn:hover i,
.clube-cta-btn:hover svg {
  transform: translateX(4px);
}

.clube-badge-visual {
  display: flex;
  justify-content: center;
}

.clube-vip-card {
  width: 100%;
  max-width: 360px;
  padding: 36px 30px;
  background: rgba(245, 241, 231, 0.06);
  border: 1px solid rgba(212, 175, 55, 0.4);
  border-radius: 24px;
  backdrop-filter: blur(12px);
  text-align: center;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.2);
}

.clube-vip-icon {
  width: 54px;
  height: 54px;
  margin: 0 auto 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(212, 175, 55, 0.15);
  border: 1px solid #D4AF37;
  border-radius: 999px;
  color: #D4AF37;
}

.clube-vip-icon i,
.clube-vip-icon svg {
  width: 26px;
  height: 26px;
}

.clube-vip-tag {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  color: #D4AF37;
  margin-bottom: 16px;
}

.clube-vip-quote {
  font-family: 'Playfair Display', serif;
  font-style: italic;
  font-size: 15px;
  line-height: 1.6;
  color: rgba(245, 241, 231, 0.9);
  margin: 0 0 24px;
}

.clube-vip-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding-top: 16px;
  border-top: 1px solid rgba(212, 175, 55, 0.2);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #D4AF37;
}

.clube-vip-footer i,
.clube-vip-footer svg {
  width: 14px;
  height: 14px;
}

@media (max-width: 1080px) {

  .como-funciona,
  .clube-lt {
    padding: 70px 0;
  }

  .funciona-steps {
    flex-direction: column;
    gap: 20px;
  }

  .funciona-step-arrow {
    transform: rotate(90deg);
  }

  .funciona-step-card {
    max-width: 100%;
    width: 100%;
  }

  .clube-card-frame {
    padding: 36px 24px;
  }

  .clube-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .clube-badge-visual {
    order: -1;
  }
}

@media (max-width: 720px) {

  .como-funciona,
  .clube-lt {
    padding: 50px 0;
  }

  .funciona-shell,
  .clube-shell {
    padding: 0 16px;
  }

  .funciona-cta-btn,
  .clube-cta-btn {
    width: auto;
    max-width: 100%;
    padding: 0 22px;
    font-size: 11px;
    min-height: 44px;
    justify-content: flex-start;
    text-align: left;
    align-self: flex-start;
  }
}

@media (min-width: 721px) {

  .noiva-cta-btn,
  .gestante-cta-btn,
  .tratamentos-cta-btn,
  .funciona-cta-btn,
  .clube-cta-btn,
  .limmea-cta-btn {
    width: 320px;
    max-width: 100%;
  }
}

/* =========================================================
SECTION 1.98: DEPOIMENTOS
========================================================= */
.depoimentos-limas-therapy {
  position: relative;
  width: 100%;
  padding: 100px 0;
  background: #F5F1E7;
  border-bottom: 1px solid rgba(212, 175, 55, 0.25);
  overflow: hidden;
}

.depoimentos-shell {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 28px;
}

.depoimentos-head {
  text-align: center;
  max-width: 820px;
  margin: 0 auto 56px;
}

.depoimentos-kicker {
  display: inline-block;
  margin-bottom: 12px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #B58D20;
}

.depoimentos-title {
  margin: 0 0 18px;
  font-size: clamp(2.4rem, 4.5vw, 3.6rem);
  line-height: 1.1;
  color: #0E2418;
  font-weight: 600;
}

.depoimentos-title-accent {
  color: #B58D20;
}

.depoimentos-subtitle {
  margin: 0;
  font-size: 16px;
  line-height: 1.85;
  color: #596B5F;
  font-weight: 500;
}

.depoimentos-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  align-items: stretch;
}

.depoimento-card {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 32px 28px;
  background: rgba(252, 250, 247, 0.90);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 24px;
  box-shadow: 0 14px 36px rgba(26, 54, 38, 0.06);
  transition: transform 300ms ease, box-shadow 300ms ease, border-color 300ms ease;
}

.depoimento-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 22px 50px rgba(26, 54, 38, 0.12);
  border-color: rgba(212, 175, 55, 0.65);
}

.depoimento-stars {
  display: flex;
  gap: 4px;
  color: #D4AF37;
  margin-bottom: 18px;
}

.depoimento-stars i,
.depoimento-stars svg {
  width: 16px;
  height: 16px;
  fill: #D4AF37;
}

.depoimento-quote {
  font-size: 14.5px;
  line-height: 1.75;
  color: #1A3626;
  font-weight: 500;
  margin: 0 0 24px;
  flex: 1;
}

.depoimento-author {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-top: 18px;
  border-top: 1px solid rgba(212, 175, 55, 0.25);
}

.author-avatar {
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #0E2418;
  border: 1px solid #D4AF37;
  border-radius: 999px;
  color: #D4AF37;
  font-size: 14px;
  font-weight: 700;
  flex: 0 0 auto;
}

.author-name {
  margin: 0 0 2px;
  font-size: 15px;
  color: #0E2418;
  font-weight: 700;
}

.author-tag {
  font-size: 11px;
  color: #B58D20;
  font-weight: 600;
}

/* =========================================================
SECTION 1.99: LINHA LIMMÃ‰A
========================================================= */
.linha-limmea {
  position: relative;
  width: 100%;
  padding: 100px 0;
  background:
    linear-gradient(180deg, rgba(237, 233, 223, 0.70) 0%, rgba(245, 241, 231, 0.62) 100%),
    url('../img/fundo-hero.png') center/cover no-repeat fixed !important;
  overflow: hidden;
}

.limmea-shell {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 28px;
}

.limmea-card-frame {
  background: linear-gradient(135deg, #1A3626 0%, #0E2418 100%);
  border: 1px solid rgba(212, 175, 55, 0.5);
  border-radius: 32px;
  padding: 56px 48px;
  box-shadow: 0 28px 70px rgba(14, 36, 24, 0.25);
  color: #F5F1E7;
}

.limmea-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 56px;
  align-items: center;
}

.limmea-kicker {
  display: inline-block;
  margin-bottom: 12px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #D4AF37;
}

.limmea-title {
  margin: 0 0 14px;
  font-size: clamp(2.4rem, 4.5vw, 3.6rem);
  line-height: 1.1;
  color: #F5F1E7;
  font-weight: 600;
}

.limmea-title-accent {
  color: #D4AF37;
}

.limmea-divider {
  width: 60px;
  height: 2px;
  background: #D4AF37;
  margin-bottom: 24px;
}

.limmea-description {
  margin: 0 0 28px;
  font-size: 16.5px;
  line-height: 1.8;
  color: rgba(245, 241, 231, 0.90);
  font-weight: 500;
}

.limmea-features {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 36px;
}

.limmea-feature-chip {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 18px;
  background: rgba(245, 241, 231, 0.08);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 50px;
  color: #F5F1E7;
  font-size: 13.5px;
  font-weight: 600;
  width: fit-content;
}

.limmea-feature-chip i,
.limmea-feature-chip svg {
  width: 16px;
  height: 16px;
  color: #D4AF37;
}

.limmea-cta-wrap {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}

.limmea-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 10px;
  min-height: 52px;
  padding: 0 34px;
  background: linear-gradient(135deg, #D4AF37 0%, #B58D20 100%);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #0E2418;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  border-radius: 50px;
  box-shadow: 0 12px 28px rgba(212, 175, 55, 0.22);
  transition: transform 200ms ease, box-shadow 200ms ease;
}

.limmea-cta-btn i,
.limmea-cta-btn svg {
  width: 16px;
  height: 16px;
  color: #0E2418;
  transition: transform 200ms ease;
}

.limmea-cta-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 36px rgba(212, 175, 55, 0.32);
}

.limmea-cta-btn:hover i,
.limmea-cta-btn:hover svg {
  transform: translateX(4px);
}

.limmea-visual {
  display: flex;
  justify-content: center;
}

.limmea-product-badge {
  width: 100%;
  max-width: 360px;
  padding: 44px 32px;
  background: rgba(245, 241, 231, 0.05);
  border: 1px solid rgba(212, 175, 55, 0.45);
  border-radius: 200px 200px 24px 24px;
  backdrop-filter: blur(12px);
  text-align: center;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.22);
}

.limmea-badge-brand {
  display: block;
  font-size: 32px;
  font-weight: 700;
  letter-spacing: 0.22em;
  color: #D4AF37;
  margin-bottom: 6px;
}

.limmea-badge-sub {
  display: block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.24em;
  color: rgba(245, 241, 231, 0.7);
  margin-bottom: 24px;
}

.limmea-badge-divider {
  width: 40px;
  height: 1px;
  background: #D4AF37;
  margin: 0 auto 20px;
}

.limmea-badge-tagline {
  font-style: italic;
  font-size: 15px;
  line-height: 1.6;
  color: rgba(245, 241, 231, 0.95);
  margin: 0;
}

@media (max-width: 1080px) {

  .depoimentos-limas-therapy,
  .linha-limmea {
    padding: 70px 0;
  }

  .depoimentos-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .limmea-card-frame {
    padding: 36px 24px;
  }

  .limmea-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .limmea-visual {
    order: -1;
  }
}

@media (max-width: 720px) {

  .depoimentos-limas-therapy,
  .linha-limmea {
    padding: 50px 0;
  }

  .depoimentos-shell,
  .limmea-shell {
    padding: 0 16px;
  }

  .limmea-cta-btn {
    width: auto;
    max-width: 100%;
    padding: 0 22px;
    font-size: 11px;
    min-height: 44px;
    justify-content: flex-start;
    text-align: left;
    align-self: flex-start;
  }

  .limmea-feature-chip {
    width: fit-content;
    max-width: 100%;
    font-size: 12px;
  }
}

/* =========================================================
SECTION 2.0: FAQ (PERGUNTAS FREQUENTES)
========================================================= */
.faq-limas-therapy {
  position: relative;
  width: 100%;
  padding: 100px 0;
  background:
    linear-gradient(180deg, rgba(245, 241, 231, 0.72) 0%, rgba(238, 234, 225, 0.65) 100%),
    url('../img/fundo-hero.png') center/cover no-repeat fixed !important;
  border-bottom: 1px solid rgba(212, 175, 55, 0.25);
  overflow: hidden;
}

.faq-shell {
  max-width: 900px;
  margin: 0 auto;
  padding: 0 28px;
}

.faq-head {
  text-align: center;
  margin-bottom: 54px;
}

.faq-kicker {
  display: inline-block;
  margin-bottom: 12px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #B58D20;
}

.faq-title {
  margin: 0 0 18px;
  font-size: clamp(2.4rem, 4.5vw, 3.6rem);
  line-height: 1.1;
  color: #0E2418;
  font-weight: 600;
}

.faq-title-accent {
  color: #B58D20;
}

.faq-subtitle {
  margin: 0;
  font-size: 16px;
  line-height: 1.85;
  color: #596B5F;
  font-weight: 500;
}

.faq-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.faq-item {
  background: rgba(252, 250, 247, 0.90);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(26, 54, 38, 0.04);
  transition: border-color 200ms ease, box-shadow 200ms ease;
}

.faq-item[open] {
  border-color: rgba(212, 175, 55, 0.65);
  box-shadow: 0 14px 36px rgba(26, 54, 38, 0.08);
}

.faq-question {
  padding: 22px 28px;
  font-size: 17px;
  font-weight: 700;
  color: #0E2418;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  list-style: none;
}

.faq-question::-webkit-details-marker {
  display: none;
}

.faq-question i,
.faq-question svg {
  width: 20px;
  height: 20px;
  color: #B58D20;
  transition: transform 300ms ease;
  flex: 0 0 auto;
}

.faq-item[open] .faq-question i,
.faq-item[open] .faq-question svg {
  transform: rotate(180deg);
}

.faq-answer {
  padding: 0 28px 24px;
}

.faq-answer p {
  margin: 0;
  font-size: 15.5px;
  line-height: 1.8;
  color: #596B5F;
  font-weight: 500;
}

/* =========================================================
SECTION 2.1: AGENDE SUA CONSULTA (CONTATO)
========================================================= */
.agende-consulta {
  position: relative;
  width: 100%;
  padding: 110px 0;
  background: #0E2418;
  overflow: hidden;
  color: #F5F1E7;
}

.contact-bg {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.contact-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.contact-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(14, 36, 24, 0.94) 0%, rgba(14, 36, 24, 0.88) 55%, rgba(14, 36, 24, 0.65) 100%),
    linear-gradient(180deg, rgba(14, 36, 24, 0.70) 0%, transparent 60%, rgba(14, 36, 24, 0.80) 100%);
  pointer-events: none;
}

.contact-shell {
  position: relative;
  z-index: 2;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 28px;
}

.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}

.contact-kicker {
  display: inline-block;
  margin-bottom: 12px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #D4AF37;
}

.contact-title {
  margin: 0 0 14px;
  font-size: clamp(2.4rem, 4.5vw, 3.6rem);
  line-height: 1.1;
  color: #F5F1E7;
  font-weight: 600;
}

.contact-title-accent {
  color: #D4AF37;
}

.contact-divider {
  width: 60px;
  height: 2px;
  background: #D4AF37;
  margin-bottom: 24px;
}

.contact-description {
  margin: 0 0 32px;
  font-size: 16.5px;
  line-height: 1.8;
  color: rgba(245, 241, 231, 0.90);
  font-weight: 500;
}

.contact-direct-wrap {
  margin-bottom: 40px;
}

.contact-wsp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 12px;
  min-height: 56px;
  padding: 0 36px;
  background: #25D366;
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #0E2418;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border-radius: 50px;
  box-shadow: 0 14px 32px rgba(37, 211, 102, 0.3);
  transition: transform 200ms ease, box-shadow 200ms ease;
}

.contact-wsp-btn i,
.contact-wsp-btn svg {
  width: 22px;
  height: 22px;
  color: #0E2418;
}

.contact-wsp-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 42px rgba(37, 211, 102, 0.42);
}

.contact-details-box {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding-top: 28px;
  border-top: 1px solid rgba(212, 175, 55, 0.3);
}

.detail-item {
  display: flex;
  align-items: center;
  gap: 14px;
}

.detail-item i,
.detail-item svg {
  width: 22px;
  height: 22px;
  color: #D4AF37;
  flex: 0 0 auto;
}

.detail-item strong {
  display: block;
  font-size: 14px;
  color: #F5F1E7;
  margin-bottom: 2px;
}

.detail-item span {
  display: block;
  font-size: 13px;
  color: rgba(245, 241, 231, 0.8);
}

.contact-form-wrap {
  position: relative;
}

.contact-form {
  padding: 44px 36px;
  background: rgba(26, 54, 38, 0.85);
  border: 1px solid rgba(212, 175, 55, 0.45);
  border-radius: 28px;
  backdrop-filter: blur(16px);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.3);
}

.form-title {
  margin: 0 0 24px;
  font-size: 22px;
  color: #F5F1E7;
  font-weight: 700;
}

.form-group {
  margin-bottom: 20px;
}

.form-group label {
  display: block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #D4AF37;
  margin-bottom: 8px;
}

.form-group input,
.form-group select,
.form-group textarea {
  width: 100%;
  padding: 14px 18px;
  background: rgba(245, 241, 231, 0.08);
  border: 1px solid rgba(212, 175, 55, 0.3);
  border-radius: 12px;
  color: #F5F1E7;
  font-size: 14.5px;
  outline: none;
  transition: border-color 200ms ease, background 200ms ease;
}

.form-group select option {
  background: #0E2418;
  color: #F5F1E7;
}

.form-group input::placeholder,
.form-group textarea::placeholder {
  color: rgba(245, 241, 231, 0.45);
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  border-color: #D4AF37;
  background: rgba(245, 241, 231, 0.14);
}

.form-submit-btn {
  width: 100%;
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 10px;
  background: linear-gradient(135deg, #D4AF37 0%, #B58D20 100%);
  border: none;
  border-radius: 50px;
  color: #0E2418;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow: 0 12px 28px rgba(212, 175, 55, 0.25);
  transition: transform 200ms ease, box-shadow 200ms ease;
}

.form-submit-btn i,
.form-submit-btn svg {
  width: 16px;
  height: 16px;
  color: #0E2418;
}

.form-submit-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 36px rgba(212, 175, 55, 0.35);
}

@media (max-width: 1080px) {

  .faq-limas-therapy,
  .agende-consulta {
    padding: 70px 0;
  }

  .contact-grid {
    grid-template-columns: 1fr;
    gap: 48px;
  }
}

@media (max-width: 720px) {

  .faq-limas-therapy,
  .agende-consulta {
    padding: 50px 0;
  }

  .faq-shell,
  .contact-shell {
    padding: 0 16px;
  }

  .faq-question {
    padding: 18px 20px;
    font-size: 15px;
  }

  .contact-form {
    padding: 28px 20px;
  }

  .contact-wsp-btn {
    width: auto;
    max-width: 100%;
    padding: 0 24px;
    font-size: 12px;
    min-height: 48px;
  }
}

/* =========================================================
LOGO, NAV ACTIONS & MEGA MENU STYLES
========================================================= */
.hero-nav-right {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 0 0 auto;
}

.nav-menu-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 44px;
  padding: 0 18px;
  background: rgba(14, 36, 24, 0.08);
  border: 1px solid rgba(212, 175, 55, 0.4);
  border-radius: 50px;
  color: #0E2418;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 200ms ease, transform 200ms ease;
}

.nav-menu-toggle i,
.nav-menu-toggle svg {
  width: 18px;
  height: 18px;
  color: #B58D20;
}

.nav-menu-toggle:hover {
  background: #0E2418;
  color: #F5F1E7;
}

/* MEGA MENU FULLSCREEN OVERLAY */
.mega-menu-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(14, 36, 24, 0.94);
  backdrop-filter: blur(24px);
  padding: 40px 28px;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 300ms ease, visibility 300ms ease;
  overflow-y: auto;
}

.mega-menu-overlay.is-open {
  opacity: 1;
  visibility: visible;
}

.mega-menu-content {
  width: 100%;
  max-width: 1100px;
  background: rgba(26, 54, 38, 0.92);
  border: 1px solid rgba(212, 175, 55, 0.45);
  border-radius: 32px;
  padding: 48px;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.5);
  color: #F5F1E7;
}

.mega-menu-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 28px;
  border-bottom: 1px solid rgba(212, 175, 55, 0.25);
  margin-bottom: 36px;
}

.mega-menu-close {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(245, 241, 231, 0.1);
  border: 1px solid rgba(212, 175, 55, 0.4);
  border-radius: 999px;
  color: #D4AF37;
  cursor: pointer;
  transition: background 200ms ease, transform 200ms ease;
}

.mega-menu-close i,
.mega-menu-close svg {
  width: 20px;
  height: 20px;
}

.mega-menu-close:hover {
  background: #D4AF37;
  color: #0E2418;
  transform: rotate(90deg);
}

.mega-menu-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 36px;
  margin-bottom: 40px;
}

.mega-col-title {
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #D4AF37;
  margin-bottom: 18px;
}

.mega-link {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14.5px;
  font-weight: 600;
  color: rgba(245, 241, 231, 0.9);
  padding: 10px 12px;
  border-radius: 12px;
  transition: background 150ms ease, color 150ms ease, transform 150ms ease;
  text-decoration: none;
}

.mega-link i,
.mega-link svg {
  width: 16px;
  height: 16px;
  color: #D4AF37;
}

.mega-link:hover {
  background: rgba(212, 175, 55, 0.15);
  color: #F5F1E7;
  transform: translateX(4px);
}

.mega-menu-footer {
  padding-top: 24px;
  border-top: 1px solid rgba(212, 175, 55, 0.25);
  display: flex;
  justify-content: flex-end;
}

.mega-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 28px;
  background: linear-gradient(135deg, #D4AF37 0%, #B58D20 100%);
  color: #0E2418;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  border-radius: 50px;
  text-decoration: none;
}

/* Mega Menu & Top Nav Responsiveness */
@media (max-width: 991px) {
  .hero-nav-cta {
    display: none !important;
  }

  .mega-menu-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }
}

@media (max-width: 640px) {
  .mega-menu-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .mega-menu-content {
    padding: 24px 20px;
    max-height: 90vh;
    overflow-y: auto;
  }

  .mega-menu-footer {
    justify-content: center;
  }

  .mega-cta-btn {
    width: 100%;
  }
}

.hero-brand-logo {
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.hero-brand-logo img {
  height: 82px !important;
  width: auto !important;
  max-height: 88px !important;
  object-fit: contain !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: block !important;
}

.hero-brand {
  display: flex;
  align-items: center;
  gap: 12px;
}

.hero-nav-links a {
  white-space: nowrap;
}

.nav-dropdown {
  position: relative;
  display: inline-block;
  z-index: 1001 !important;
}

.dropdown-trigger {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  white-space: nowrap;
}

.dropdown-trigger i,
.dropdown-trigger svg {
  width: 14px;
  height: 14px;
  color: #B58D20;
  transition: transform 200ms ease;
}

.nav-dropdown:hover .dropdown-trigger i,
.nav-dropdown:hover .dropdown-trigger svg,
.nav-dropdown.is-active .dropdown-trigger i,
.nav-dropdown.is-active .dropdown-trigger svg {
  transform: rotate(180deg);
}

.dropdown-menu {
  position: absolute;
  top: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%) translateY(8px);
  min-width: 270px;
  padding: 12px;
  background: #FCFAF7 !important;
  border: 1px solid rgba(212, 175, 55, 0.5) !important;
  border-radius: 20px;
  box-shadow: 0 24px 60px rgba(14, 36, 24, 0.22);
  backdrop-filter: blur(16px);
  opacity: 0;
  visibility: hidden;
  transition: opacity 200ms ease, transform 200ms ease, visibility 200ms ease;
  display: flex;
  flex-direction: column;
  gap: 4px;
  z-index: 99999 !important;
}

.nav-dropdown:hover .dropdown-menu,
.nav-dropdown.is-active .dropdown-menu {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateX(-50%) translateY(0) !important;
  pointer-events: auto !important;
}

.dropdown-menu a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 600;
  color: #0E2418;
  transition: background 150ms ease, color 150ms ease;
}

.dropdown-menu a i,
.dropdown-menu a svg {
  width: 16px;
  height: 16px;
  color: #B58D20;
}

.dropdown-menu a:hover {
  background: rgba(212, 175, 55, 0.14);
  color: #0E2418;
}

/* =========================================================
FOOTER STYLES
========================================================= */
.site-footer {
  position: relative;
  width: 100%;
  padding: 80px 0 32px;
  background: #0E2418 !important;
  color: #F5F1E7 !important;
  border-top: 1px solid rgba(212, 175, 55, 0.35);
  overflow: hidden;
}

.footer-shell {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 28px;
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr 1fr;
  gap: 48px;
  margin-bottom: 64px;
}

.footer-brand {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
  text-decoration: none;
}

.footer-brand-logo {
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.footer-brand-logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-brand-name {
  display: block;
  font-family: 'Playfair Display', serif;
  font-size: 18px;
  font-weight: 800;
  color: #1A3626;
  letter-spacing: 0.12em;
  line-height: 1;
  text-transform: uppercase;
}

.hero-brand-sub {
  display: block;
  font-family: 'Urbanist', sans-serif;
  font-size: 9.5px;
  font-weight: 700;
  color: #AA8C2C;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  margin-top: 3px;
}

/* Mega Menu Drawer Dark Theme Brand Styling */
.mega-menu-overlay .hero-brand-name {
  color: #F5F1E7 !important;
}

.mega-menu-overlay .hero-brand-sub {
  color: #D4AF37 !important;
}

.footer-brand-name {
  display: block;
  font-family: 'Playfair Display', serif;
  font-size: 21px;
  font-weight: 700;
  color: #F5F1E7 !important;
  letter-spacing: 0.16em;
  line-height: 1;
  text-transform: uppercase;
}

.footer-brand-sub {
  display: block;
  font-family: 'Inter', sans-serif;
  font-size: 9.5px;
  font-weight: 600;
  color: #D4AF37 !important;
  letter-spacing: 0.38em;
  text-transform: uppercase;
  margin-top: 3px;
}

.footer-tagline {
  font-family: 'Playfair Display', serif;
  font-style: italic;
  font-size: 14.5px;
  line-height: 1.6;
  color: rgba(245, 241, 231, 0.90) !important;
  margin: 0 0 20px;
}

.footer-crefito {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: #D4AF37 !important;
  padding: 6px 14px;
  background: rgba(212, 175, 55, 0.15) !important;
  border: 1px solid rgba(212, 175, 55, 0.4) !important;
  border-radius: 50px;
}

.footer-crefito i,
.footer-crefito svg {
  width: 14px;
  height: 14px;
  color: #D4AF37 !important;
}

.footer-col-title {
  margin: 0 0 20px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #D4AF37 !important;
}

.footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.footer-links a {
  font-size: 14px;
  color: #F5F1E7 !important;
  opacity: 0.9;
  transition: color 150ms ease, transform 150ms ease, opacity 150ms ease;
  display: inline-block;
  text-decoration: none;
}

.footer-links a:hover {
  color: #D4AF37 !important;
  opacity: 1;
  transform: translateX(4px);
}

.footer-contact-info {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-bottom: 24px;
}

.f-contact-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13.5px;
  color: #F5F1E7 !important;
  opacity: 0.9;
}

.f-contact-item i,
.f-contact-item svg {
  width: 16px;
  height: 16px;
  color: #D4AF37 !important;
  flex: 0 0 auto;
}

.footer-socials {
  display: flex;
  gap: 10px;
}

.social-icon-btn {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(245, 241, 231, 0.10) !important;
  border: 1px solid rgba(212, 175, 55, 0.45) !important;
  border-radius: 999px;
  color: #D4AF37 !important;
  transition: background 200ms ease, transform 200ms ease, border-color 200ms ease;
}

.social-icon-btn svg {
  width: 20px;
  height: 20px;
  stroke: #D4AF37 !important;
  color: #D4AF37 !important;
  transition: stroke 200ms ease;
}

.social-icon-btn:hover {
  background: #D4AF37 !important;
  border-color: #D4AF37 !important;
  transform: translateY(-2px);
}

.social-icon-btn:hover svg {
  stroke: #0E2418 !important;
  color: #0E2418 !important;
}

.footer-bottom {
  padding-top: 28px;
  border-top: 1px solid rgba(212, 175, 55, 0.25);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  font-size: 13px;
  color: rgba(245, 241, 231, 0.75) !important;
}

.footer-copyright {
  margin: 0;
  color: rgba(245, 241, 231, 0.85) !important;
}

.footer-location-tag {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #D4AF37 !important;
  font-weight: 600;
}

.footer-location-tag a {
  color: inherit;
  text-decoration: none;
  transition: opacity 0.2s ease;
}

.footer-location-tag a:hover {
  opacity: 0.8;
  text-decoration: underline;
}

.footer-location-tag i,
.footer-location-tag svg {
  width: 14px;
  height: 14px;
  color: #D4AF37 !important;
}

@media (max-width: 1080px) {
  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 40px;
  }
}

@media (max-width: 720px) {
  .site-footer {
    padding: 60px 0 24px;
  }

  .footer-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .footer-bottom {
    flex-direction: column;
    text-align: center;
    gap: 12px;
  }
}

/* FLOATING WHATSAPP BUTTON */
.floating-wsp-btn {
  position: fixed;
  bottom: 28px;
  right: 28px;
  z-index: 999;
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #25D366;
  color: #0E2418;
  border-radius: 999px;
  box-shadow: 0 12px 32px rgba(37, 211, 102, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.3);
  transition: transform 250ms ease, box-shadow 250ms ease;
  text-decoration: none;
}

.floating-wsp-btn svg {
  width: 28px;
  height: 28px;
  stroke: #0E2418;
}

.floating-wsp-btn:hover {
  transform: scale(1.08) translateY(-3px);
  box-shadow: 0 18px 42px rgba(37, 211, 102, 0.6);
}

@media (max-width: 720px) {
  .floating-wsp-btn {
    bottom: 20px;
    right: 20px;
    width: 52px;
    height: 52px;
  }

  .floating-wsp-btn svg {
    width: 24px;
    height: 24px;
  }
}

/* =========================================================
SECTION 2: SERVICES CATALOG
========================================================= */
.services-catalog {
  position: relative;
  width: 100%;
  background:
    radial-gradient(circle at top left, rgba(212, 175, 55, 0.08), transparent 24%),
    linear-gradient(180deg, #eef2ec 0%, #E6EADB 100%);
  border-top: 1px solid rgba(212, 175, 55, 0.12);
  border-bottom: 1px solid rgba(212, 175, 55, 0.12);
  overflow: hidden;
}

.services-catalog-shell {
  max-width: 1400px;
  margin: 0 auto;
  padding: 116px 28px 124px;
}

.services-catalog-head {
  max-width: 1080px;
  margin: 0 auto 64px;
  text-align: center;
}

.services-catalog-title {
  margin: 0;
  color: var(--hc-text);
  font-size: clamp(3rem, 5vw, 5.2rem);
  line-height: 0.95;
  letter-spacing: -0.06em;
  font-weight: 600;
}

.services-catalog-title-accent {
  color: #D4AF37;
}

.services-catalog-description {
  max-width: 58ch;
  margin: 28px auto 0;
  color: rgba(26, 54, 38, 0.68);
  font-size: 18px;
  line-height: 1.75;
}

.services-catalog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  align-items: stretch;
}

.service-catalog-column {
  display: grid;
  grid-template-rows: repeat(2, 1fr);
  gap: 16px;
}

.service-catalog-card {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 28px;
  background: linear-gradient(180deg, rgba(236, 242, 234, 0.96) 0%, rgba(230, 237, 228, 0.98) 100%);
  border: 1px solid rgba(212, 175, 55, 0.10);
  box-shadow:
    0 10px 22px rgba(26, 54, 38, 0.04),
    0 2px 8px rgba(26, 54, 38, 0.025);
  transition: background 180ms ease, box-shadow 180ms ease, transform 180ms ease, border-color 180ms ease;
}

.service-catalog-column.is-outer .service-catalog-card {
  background: linear-gradient(180deg, rgba(223, 232, 220, 0.98) 0%, rgba(216, 226, 213, 0.99) 100%);
}

.service-catalog-column.is-middle .service-catalog-card {
  background: linear-gradient(180deg, rgba(244, 248, 241, 0.96) 0%, rgba(239, 245, 236, 0.98) 100%);
}

.service-catalog-card:hover {
  transform: translateY(-2px);
  box-shadow:
    0 14px 28px rgba(26, 54, 38, 0.05),
    0 4px 10px rgba(26, 54, 38, 0.03);
}

.service-catalog-media {
  position: relative;
  margin-bottom: 22px;
  overflow: hidden;
  background: #d9ded7;
  aspect-ratio: 16 / 10;
  clip-path: polygon(12px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%, 0 12px);
  box-shadow: 0 10px 24px rgba(26, 54, 38, 0.06);
}

.service-catalog-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 700ms ease;
}

.service-catalog-card:hover .service-catalog-media img {
  transform: scale(1.04);
}

.service-catalog-body {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.service-catalog-label {
  margin: 0 0 4px;
  color: var(--hc-text);
  font-size: 18px;
  line-height: 1.15;
  letter-spacing: -0.03em;
  font-weight: 700;
}

.service-catalog-meta {
  margin: 0 0 14px;
  color: #D4AF37;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.20em;
  text-transform: uppercase;
}

.service-catalog-copy {
  margin: 0;
  color: rgba(26, 54, 38, 0.68);
  font-size: 15px;
  line-height: 1.75;
}

.service-catalog-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  padding-top: 22px;
  color: var(--hc-text);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.service-catalog-link iconify-icon {
  transition: transform 180ms ease;
}

.service-catalog-card:hover .service-catalog-link iconify-icon {
  transform: translateX(2px);
}

.services-catalog-cta-wrap {
  display: flex;
  justify-content: center;
  margin-top: 56px;
}

.services-catalog-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: 42px;
  padding: 0 18px;
  background: var(--hc-accent);
  color: #fcfaf7;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition: background 180ms ease, transform 180ms ease;
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
}

.services-catalog-button:hover {
  background: var(--hc-accent-dark);
  transform: translateY(-1px);
}

.service-catalog-reveal {
  opacity: 0;
  animation: heroFadeUp 0.8s ease-out forwards;
  animation-play-state: paused;
}

.service-catalog-reveal.is-visible {
  animation-play-state: running;
}

@media (max-width: 1080px) {
  .services-catalog-shell {
    padding: 102px 24px 112px;
  }

  .services-catalog-head {
    max-width: 860px;
    margin-bottom: 52px;
  }

  .services-catalog-description {
    max-width: 46ch;
  }

  .services-catalog-grid {
    grid-template-columns: 1fr;
  }

  .service-catalog-column {
    grid-template-rows: auto;
  }
}

@media (max-width: 720px) {
  .services-catalog-shell {
    padding: 88px 16px 94px;
  }

  .services-catalog-description {
    max-width: 100%;
    font-size: 16px;
  }

  .service-catalog-card {
    padding: 22px;
  }

  .service-catalog-label {
    font-size: 17px;
  }

  .services-catalog-cta-wrap {
    margin-top: 42px;
  }
}

/* =========================================================
SECTION 3: STANDARD OF CARE
========================================================= */
.standard-care {
  position: relative;
  width: 100%;
  background:
    radial-gradient(circle at top right, rgba(212, 175, 55, 0.05), transparent 22%),
    linear-gradient(180deg, #f8faf6 0%, #f2f5f0 100%);
  border-top: 1px solid rgba(212, 175, 55, 0.08);
  border-bottom: 1px solid rgba(212, 175, 55, 0.08);
}

.standard-care-shell {
  max-width: 1400px;
  margin: 0 auto;
  padding: 116px 28px 124px;
}

.standard-care-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 32px;
  margin-bottom: 52px;
}

.standard-care-head-copy {
  max-width: 760px;
}

.standard-care-title {
  margin: 0;
  color: var(--hc-text);
  font-size: clamp(2.6rem, 4.6vw, 4.6rem);
  line-height: 0.95;
  letter-spacing: -0.06em;
  font-weight: 600;
}

.standard-care-description {
  margin: 14px 0 0;
  max-width: 42ch;
  color: rgba(26, 54, 38, 0.68);
  font-size: 18px;
  line-height: 1.75;
}

.standard-care-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--hc-text);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -0.01em;
  white-space: nowrap;
  transition: color 180ms ease, transform 180ms ease;
}

.standard-care-link iconify-icon {
  transition: transform 180ms ease;
}

.standard-care-link:hover {
  color: var(--hc-accent-dark);
}

.standard-care-link:hover iconify-icon {
  transform: translateX(2px);
}

.standard-care-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
}

.standard-care-card {
  position: relative;
  min-height: 320px;
  padding: 26px 26px 28px;
  background: linear-gradient(180deg, rgba(238, 243, 236, 0.96) 0%, rgba(231, 238, 229, 0.98) 100%);
  border: 1px solid rgba(212, 175, 55, 0.18);
  box-shadow:
    0 10px 24px rgba(26, 54, 38, 0.05),
    0 2px 8px rgba(26, 54, 38, 0.03);
  transition: transform 220ms ease, background 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
  clip-path: polygon(14px 0, 100% 0, 100% calc(100% - 14px), calc(100% - 14px) 100%, 0 100%, 0 14px);
}

.standard-care-card:hover {
  transform: translateY(-2px);
  background: linear-gradient(180deg, rgba(242, 247, 240, 0.98) 0%, rgba(235, 242, 233, 1) 100%);
  border-color: rgba(212, 175, 55, 0.26);
  box-shadow:
    0 14px 30px rgba(26, 54, 38, 0.06),
    0 4px 10px rgba(26, 54, 38, 0.04);
}

.standard-care-card-badge-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 24px;
}

.standard-care-card-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  padding: 0 12px;
  border: 1px solid rgba(111, 127, 109, 0.22);
  background: rgba(212, 175, 55, 0.12);
  color: #5f705d;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: -0.01em;
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
}

.standard-care-card-badge iconify-icon {
  color: var(--hc-accent-dark);
}

.standard-care-card-index {
  color: rgba(26, 54, 38, 0.42);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.standard-care-card-title {
  margin: 0 0 10px;
  color: var(--hc-text);
  font-size: 28px;
  line-height: 1.02;
  letter-spacing: -0.045em;
  font-weight: 600;
}

.standard-care-card-text {
  margin: 0;
  color: rgba(26, 54, 38, 0.68);
  font-size: 16px;
  line-height: 1.7;
}

.standard-care-card-list {
  display: grid;
  gap: 12px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}

.standard-care-card-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: rgba(26, 54, 38, 0.74);
  font-size: 15px;
  line-height: 1.6;
}

.standard-care-card-list iconify-icon {
  color: var(--hc-accent);
  margin-top: 2px;
  flex: 0 0 auto;
}

.standard-care-reveal {
  opacity: 0;
  animation: heroFadeUp 0.8s ease-out forwards;
  animation-play-state: paused;
}

.standard-care-reveal.is-visible {
  animation-play-state: running;
}

@media (max-width: 1200px) {
  .standard-care-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1080px) {
  .standard-care-shell {
    padding: 102px 24px 112px;
  }

  .standard-care-head {
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 44px;
  }

  .standard-care-description {
    max-width: 48ch;
  }
}

@media (max-width: 720px) {
  .standard-care-shell {
    padding: 88px 16px 94px;
  }

  .standard-care-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .standard-care-card {
    min-height: auto;
    padding: 22px 22px 24px;
  }

  .standard-care-title {
    font-size: clamp(2.2rem, 10vw, 3.2rem);
  }

  .standard-care-description {
    max-width: 100%;
    font-size: 16px;
  }

  .standard-care-card-title {
    font-size: 24px;
  }
}

/* =========================================================
SECTION 4: PROCESS
========================================================= */
.process-section {
  position: relative;
  width: 100%;
  background: linear-gradient(180deg, #edf1eb 0%, #e7ece5 100%);
  border-top: 1px solid rgba(212, 175, 55, 0.12);
  border-bottom: 1px solid rgba(212, 175, 55, 0.12);
}

.process-shell {
  max-width: 1280px;
  margin: 0 auto;
  padding: 112px 28px 120px;
}

.process-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 42px;
  align-items: center;
}

.process-visual {
  position: relative;
  min-height: 560px;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(242, 246, 240, 0.9) 0%, rgba(235, 241, 233, 0.94) 100%);
  border: 1px solid rgba(212, 175, 55, 0.16);
  box-shadow:
    0 16px 34px rgba(26, 54, 38, 0.06),
    0 5px 14px rgba(26, 54, 38, 0.035);
  clip-path: polygon(18px 0, 100% 0, 100% calc(100% - 18px), calc(100% - 18px) 100%, 0 100%, 0 18px);
}

.process-visual::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle at 1px 1px, rgba(212, 175, 55, 0.16) 1px, transparent 0);
  background-size: 18px 18px;
  opacity: 0.46;
  pointer-events: none;
}

.process-stage {
  position: relative;
  width: min(100%, 520px);
  height: 320px;
  margin: 118px auto 0;
}

.process-plane-back,
.process-plane-mid,
.process-plane-front {
  position: absolute;
  inset: 0;
}

.process-plane-back {
  inset: 32px;
  transform: rotate(-10deg);
  border: 1px dashed rgba(111, 127, 109, 0.22);
  background: rgba(245, 248, 243, 0.26);
}

.process-plane-mid {
  inset: 16px;
  transform: rotate(-6deg);
  border: 1px dashed rgba(111, 127, 109, 0.24);
  background: rgba(238, 243, 236, 0.34);
}

.process-plane-front {
  overflow: hidden;
  transform: rotate(-3deg);
  border: 1px solid rgba(212, 175, 55, 0.18);
  background: #dfe6dc;
  box-shadow: 0 20px 36px rgba(26, 54, 38, 0.08);
}

.process-plane-front img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(0.9) contrast(0.97) brightness(1.01);
}

.process-chip-row {
  position: absolute;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 10px;
}

.process-chip-row.top-left {
  top: 22px;
  left: -8px;
}

.process-chip-row.mid-right {
  top: 116px;
  right: -10px;
}

.process-chip-row.bottom-left {
  bottom: 54px;
  left: -2px;
}

.process-step-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 32px;
  background: var(--hc-text);
  color: #fcfaf7;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  clip-path: polygon(8px 0, 100% 0, 100% calc(100% - 8px), calc(100% - 8px) 100%, 0 100%, 0 8px);
}

.process-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  padding: 0 14px;
  background: rgba(249, 246, 239, 0.92);
  color: var(--hc-text);
  border: 1px solid rgba(212, 175, 55, 0.18);
  font-size: 12px;
  font-weight: 700;
  box-shadow: 0 8px 18px rgba(26, 54, 38, 0.05);
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
}

.process-chip iconify-icon {
  color: var(--hc-accent-dark);
}

.process-copy {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.process-kicker {
  margin: 0;
  color: var(--hc-text-soft);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.process-title {
  margin: 0;
  color: var(--hc-text);
  font-size: clamp(2.8rem, 5vw, 4.4rem);
  line-height: 0.95;
  letter-spacing: -0.06em;
  font-weight: 600;
}

.process-description {
  max-width: 34ch;
  margin: 0;
  color: rgba(26, 54, 38, 0.7);
  font-size: 18px;
  line-height: 1.75;
}

.process-steps {
  display: grid;
  gap: 20px;
  margin-top: 4px;
}

.process-step {
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: 14px;
  align-items: start;
}

.process-step-index {
  padding-top: 2px;
  color: var(--hc-text);
  font-size: 21px;
  line-height: 1;
  font-weight: 600;
  letter-spacing: -0.04em;
}

.process-step-title {
  margin: 0 0 6px;
  color: var(--hc-text);
  font-size: 22px;
  line-height: 1.08;
  letter-spacing: -0.04em;
  font-weight: 600;
}

.process-step-text {
  max-width: 40ch;
  margin: 0;
  color: rgba(26, 54, 38, 0.68);
  font-size: 16px;
  line-height: 1.7;
}

.process-cta-wrap {
  margin-top: 8px;
}

.process-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 10px;
  min-height: 42px;
  padding: 0 18px;
  background: var(--hc-accent);
  color: #fcfaf7;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition: background 180ms ease, transform 180ms ease;
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
}

.process-cta:hover {
  background: var(--hc-accent-dark);
  transform: translateY(-1px);
}

.process-reveal {
  opacity: 0;
  animation: heroFadeUp 0.8s ease-out forwards;
  animation-play-state: paused;
}

.process-reveal.is-visible {
  animation-play-state: running;
}

@media (max-width: 1080px) {
  .process-shell {
    padding: 100px 24px 108px;
  }

  .process-grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .process-copy {
    order: 2;
  }

  .process-visual {
    order: 1;
    min-height: 500px;
  }

  .process-stage {
    margin-top: 92px;
  }
}

@media (max-width: 720px) {
  .process-shell {
    padding: 88px 16px 94px;
  }

  .process-visual {
    min-height: 420px;
  }

  .process-stage {
    width: 100%;
    max-width: 340px;
    height: 240px;
    margin-top: 96px;
  }

  .process-step {
    grid-template-columns: 44px 1fr;
    gap: 12px;
  }

  .process-step-title {
    font-size: 19px;
  }

  .process-step-text,
  .process-description {
    font-size: 15px;
  }

  .process-chip-row.top-left {
    top: 6px;
    left: -2px;
  }

  .process-chip-row.mid-right {
    top: 82px;
    right: -2px;
  }

  .process-chip-row.bottom-left {
    bottom: 38px;
    left: 0;
  }

  .process-chip {
    min-height: 30px;
    padding: 0 12px;
    font-size: 11px;
  }

  .process-step-number {
    width: 38px;
    height: 30px;
    font-size: 10px;
  }
}

/* =========================================================
SECTION 5: LIFESTYLE OUTCOME
========================================================= */
.lifestyle-section {
  position: relative;
  width: 100%;
  background: linear-gradient(180deg, #f8faf6 0%, #f3f6f1 100%);
  border-top: 1px solid rgba(212, 175, 55, 0.08);
  border-bottom: 1px solid rgba(212, 175, 55, 0.08);
  overflow: hidden;
}

.lifestyle-shell {
  max-width: 1400px;
  margin: 0 auto;
  padding: 116px 28px 124px;
}

.lifestyle-grid {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: 54px;
  align-items: center;
}

.lifestyle-copy {
  max-width: 620px;
}

.lifestyle-title {
  margin: 0 0 24px;
  color: var(--hc-text);
  font-size: clamp(3.2rem, 5.2vw, 5.4rem);
  line-height: 0.92;
  letter-spacing: -0.07em;
  font-weight: 500;
  max-width: 13ch;
}

.lifestyle-title-line {
  display: block;
  white-space: nowrap;
}

.lifestyle-title-accent {
  display: block;
  color: #D4AF37;
}

.lifestyle-description {
  margin: 0 0 32px;
  padding-bottom: 28px;
  border-bottom: 1px solid rgba(212, 175, 55, 0.16);
  color: rgba(26, 54, 38, 0.7);
  font-size: 18px;
  line-height: 1.8;
  max-width: 42ch;
}

.lifestyle-outcomes {
  margin-bottom: 32px;
}

.lifestyle-outcomes-label {
  margin: 0 0 16px;
  color: var(--hc-text-soft);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.lifestyle-outcomes-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 16px;
}

.lifestyle-outcomes-list li {
  display: flex;
  align-items: center;
  gap: 14px;
  color: rgba(26, 54, 38, 0.9);
  font-size: 18px;
  line-height: 1.45;
  font-weight: 500;
  letter-spacing: -0.02em;
}

.lifestyle-outcomes-list iconify-icon {
  color: var(--hc-accent-dark);
  flex: 0 0 auto;
}

.lifestyle-note {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 28px;
  padding: 18px 18px 18px 16px;
  background: rgba(249, 246, 239, 0.76);
  border: 1px solid rgba(212, 175, 55, 0.12);
  box-shadow:
    0 12px 28px rgba(26, 54, 38, 0.04),
    0 2px 8px rgba(26, 54, 38, 0.03);
  clip-path: polygon(14px 0, 100% 0, 100% calc(100% - 14px), calc(100% - 14px) 100%, 0 100%, 0 14px);
}

.lifestyle-note-avatar {
  width: 54px;
  height: 54px;
  border-radius: 999px;
  object-fit: cover;
  flex: 0 0 auto;
}

.lifestyle-note-quote {
  margin: 0;
  color: var(--hc-text);
  font-size: 15px;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: -0.02em;
}

.lifestyle-note-meta {
  margin: 5px 0 0;
  color: var(--hc-text-soft);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.lifestyle-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 10px;
  min-height: 44px;
  padding: 0 20px;
  background: var(--hc-accent);
  color: #fcfaf7;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition: background 180ms ease, transform 180ms ease;
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
}

.lifestyle-cta:hover {
  background: var(--hc-accent-dark);
  transform: translateY(-1px);
}

.lifestyle-visual {
  position: relative;
  min-height: 620px;
  overflow: hidden;
  background: rgba(249, 246, 239, 0.52);
  border: 1px solid rgba(212, 175, 55, 0.14);
  box-shadow:
    0 18px 38px rgba(26, 54, 38, 0.06),
    0 6px 16px rgba(26, 54, 38, 0.04);
  clip-path: polygon(18px 0, 100% 0, 100% calc(100% - 18px), calc(100% - 18px) 100%, 0 100%, 0 18px);
}

.lifestyle-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(0.92) contrast(0.98) brightness(1.01);
}

.lifestyle-reveal {
  opacity: 0;
  animation: heroFadeUp 0.8s ease-out forwards;
  animation-play-state: paused;
}

.lifestyle-reveal.is-visible {
  animation-play-state: running;
}

@media (max-width: 1080px) {
  .lifestyle-shell {
    padding: 102px 24px 112px;
  }

  .lifestyle-grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .lifestyle-copy {
    max-width: 100%;
  }

  .lifestyle-title {
    max-width: 100%;
  }

  .lifestyle-visual {
    min-height: 500px;
  }
}

@media (max-width: 720px) {
  .lifestyle-shell {
    padding: 88px 16px 94px;
  }

  .lifestyle-title {
    font-size: clamp(2.4rem, 10vw, 3.5rem);
    max-width: 100%;
  }

  .lifestyle-title-line {
    white-space: normal;
  }

  .lifestyle-description {
    font-size: 16px;
    max-width: 100%;
  }

  .lifestyle-outcomes-list li {
    font-size: 16px;
  }

  .lifestyle-note {
    align-items: flex-start;
  }

  .lifestyle-visual {
    min-height: 420px;
  }
}

/* =========================================================
SECTION 6: TESTIMONIALS CAROUSEL
========================================================= */
.testimonials-section {
  position: relative;
  width: 100%;
  background: linear-gradient(180deg, #F5F1E7 0%, #f2eee7 100%);
  border-top: 1px solid rgba(216, 209, 199, 0.72);
  border-bottom: 1px solid rgba(216, 209, 199, 0.72);
  overflow: hidden;
}

.testimonials-shell {
  max-width: 1400px;
  margin: 0 auto;
  padding: 116px 28px 124px;
}

.testimonials-head {
  max-width: 860px;
  margin: 0 auto 52px;
  text-align: center;
}

.testimonials-kicker {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 14px;
  margin-bottom: 18px;
  background: rgba(249, 246, 239, 0.7);
  border: 1px solid rgba(216, 209, 199, 0.9);
  color: var(--hc-text-soft);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
}

.testimonials-title {
  margin: 0;
  color: var(--hc-text);
  font-size: clamp(2.9rem, 4.8vw, 4.8rem);
  line-height: 0.95;
  letter-spacing: -0.06em;
  font-weight: 500;
}

.testimonials-title-line {
  display: block;
  white-space: nowrap;
}

.testimonials-title-accent {
  display: block;
  color: #D4AF37;
}

.testimonials-description {
  margin: 18px auto 0;
  max-width: 46ch;
  color: rgba(26, 54, 38, 0.7);
  font-size: 18px;
  line-height: 1.75;
}

.testimonials-carousel-wrap {
  position: relative;
  margin-top: 42px;
}

.testimonials-carousel-viewport {
  overflow: hidden;
}

.testimonials-carousel-track {
  display: flex;
  transition: transform 500ms ease;
  will-change: transform;
}

.testimonials-slide {
  width: 100%;
  flex-shrink: 0;
}

.testimonials-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.testimonial-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 320px;
  padding: 28px 26px 24px;
  background: linear-gradient(180deg, rgba(249, 246, 239, 0.92) 0%, rgba(248, 245, 240, 0.96) 100%);
  border: 1px solid rgba(216, 209, 199, 0.84);
  box-shadow:
    0 10px 22px rgba(26, 54, 38, 0.035),
    0 2px 8px rgba(26, 54, 38, 0.025);
  transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
  clip-path: polygon(14px 0, 100% 0, 100% calc(100% - 14px), calc(100% - 14px) 100%, 0 100%, 0 14px);
}

.testimonial-card:hover {
  transform: translateY(-3px);
  border-color: rgba(212, 175, 55, 0.26);
  box-shadow:
    0 14px 30px rgba(26, 54, 38, 0.05),
    0 4px 12px rgba(26, 54, 38, 0.03);
}

.testimonial-avatar-row {
  display: flex;
  align-items: center;
  gap: 12px;
}

.testimonial-avatar {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  background: linear-gradient(180deg, #ddd4ca, #cfc6bb);
  color: var(--hc-text);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  flex: 0 0 auto;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

.testimonial-stars {
  display: flex;
  align-items: center;
  gap: 4px;
  margin: 18px 0 16px;
  color: var(--hc-accent);
}

.testimonial-quote {
  margin: 0;
  color: rgba(26, 54, 38, 0.86);
  font-size: 16px;
  line-height: 1.8;
  flex: 1;
}

.testimonial-quote-accent {
  color: #D4AF37;
}

.testimonial-footer {
  margin-top: 24px;
  padding-top: 16px;
  border-top: 1px solid rgba(212, 175, 55, 0.14);
}

.testimonial-name {
  color: var(--hc-text);
  font-size: 14px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.testimonial-detail {
  margin-top: 5px;
  color: var(--hc-text-soft);
  font-size: 11px;
  line-height: 1.3;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.testimonials-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin-top: 24px;
}

.testimonials-nav-btn {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(249, 246, 239, 0.74);
  border: 1px solid rgba(216, 209, 199, 0.92);
  color: var(--hc-text-soft);
  transition: background 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
}

.testimonials-nav-btn:hover {
  background: rgba(249, 246, 239, 0.96);
  border-color: rgba(212, 175, 55, 0.24);
  color: var(--hc-text);
  transform: translateY(-1px);
}

.testimonials-indicators {
  display: flex;
  align-items: center;
  gap: 10px;
}

.testimonials-indicator {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(26, 54, 38, 0.18);
  transition: background 180ms ease, transform 180ms ease;
  cursor: pointer;
}

.testimonials-indicator.is-active {
  background: var(--hc-accent);
  transform: scale(1.08);
}

.testimonials-reveal {
  opacity: 0;
  animation: heroFadeUp 0.8s ease-out forwards;
  animation-play-state: paused;
}

.testimonials-reveal.is-visible {
  animation-play-state: running;
}

@media (max-width: 1080px) {
  .testimonials-shell {
    padding: 102px 24px 112px;
  }

  .testimonials-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .testimonials-shell {
    padding: 88px 16px 94px;
  }

  .testimonials-title {
    font-size: clamp(2.3rem, 10vw, 3.4rem);
  }

  .testimonials-title-line {
    white-space: normal;
  }

  .testimonials-description {
    font-size: 16px;
    max-width: 100%;
  }

  .testimonial-card {
    min-height: auto;
    padding: 24px 22px 22px;
  }

  .testimonial-quote {
    font-size: 15px;
  }

  .testimonials-controls {
    gap: 12px;
    margin-top: 20px;
  }

  .testimonials-nav-btn {
    width: 38px;
    height: 38px;
  }

  .testimonials-indicators {
    gap: 8px;
  }
}

/* =========================================================
SECTION 7: FINAL CONVERSION
========================================================= */
.final-conversion-section {
  position: relative;
  width: 100%;
  background:
    radial-gradient(circle at top left, rgba(212, 175, 55, 0.10), transparent 22%),
    radial-gradient(circle at bottom right, rgba(111, 127, 109, 0.08), transparent 20%),
    linear-gradient(180deg, #eef3ed 0%, #f5f2ec 52%, #f8f5f0 100%);
  border-top: 1px solid rgba(212, 175, 55, 0.12);
  border-bottom: 1px solid rgba(216, 209, 199, 0.72);
  overflow: hidden;
}

.final-conversion-shell {
  max-width: 1400px;
  margin: 0 auto;
  padding: 116px 28px 124px;
}

.final-conversion-intro {
  max-width: 760px;
  margin: 0 auto 34px;
  text-align: center;
}

.final-conversion-intro-kicker {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 14px;
  margin-bottom: 18px;
  background: rgba(249, 246, 239, 0.72);
  border: 1px solid rgba(212, 175, 55, 0.16);
  color: var(--hc-text-soft);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
}

.final-conversion-intro-title {
  margin: 0;
  color: var(--hc-text);
  font-size: clamp(2.4rem, 4.2vw, 3.8rem);
  line-height: 0.98;
  letter-spacing: -0.05em;
  font-weight: 500;
}

.final-conversion-intro-accent {
  color: #D4AF37;
}

.final-conversion-intro-text {
  margin: 16px auto 0;
  max-width: 40ch;
  color: rgba(26, 54, 38, 0.68);
  font-size: 16px;
  line-height: 1.75;
}

@media (max-width: 720px) {
  .final-conversion-intro {
    margin-bottom: 26px;
  }

  .final-conversion-intro-title {
    font-size: clamp(2rem, 9vw, 3rem);
  }

  .final-conversion-intro-text {
    max-width: 100%;
    font-size: 15px;
  }
}

.final-conversion-quote {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  overflow: hidden;
  background: rgba(249, 246, 239, 0.84);
  border: 1px solid rgba(216, 209, 199, 0.88);
  box-shadow:
    0 18px 38px rgba(26, 54, 38, 0.05),
    0 6px 16px rgba(26, 54, 38, 0.03);
  clip-path: polygon(18px 0, 100% 0, 100% calc(100% - 18px), calc(100% - 18px) 100%, 0 100%, 0 18px);
}

.final-conversion-context {
  padding: 44px 42px 42px;
  background: linear-gradient(180deg, #f4efe8 0%, #ede7de 100%);
  border-right: 1px solid rgba(216, 209, 199, 0.82);
}

.final-conversion-kicker {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 14px;
  margin-bottom: 18px;
  background: rgba(249, 246, 239, 0.72);
  border: 1px solid rgba(212, 175, 55, 0.16);
  color: var(--hc-text-soft);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
}

.final-conversion-title {
  margin: 0 0 18px;
  color: var(--hc-text);
  font-size: clamp(2.6rem, 4.4vw, 4.2rem);
  line-height: 0.96;
  letter-spacing: -0.06em;
  font-weight: 500;
  max-width: 10ch;
}

.final-conversion-title-accent {
  display: block;
  color: #D4AF37;
}

.final-conversion-description {
  margin: 0 0 30px;
  color: rgba(26, 54, 38, 0.7);
  font-size: 17px;
  line-height: 1.8;
  max-width: 34ch;
}

.final-conversion-points {
  margin: 0;
  padding: 24px 0 0;
  list-style: none;
  display: grid;
  gap: 16px;
  border-top: 1px solid rgba(212, 175, 55, 0.16);
}

.final-conversion-points li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  color: rgba(26, 54, 38, 0.88);
  font-size: 15px;
  line-height: 1.65;
}

.final-conversion-points iconify-icon {
  color: var(--hc-accent);
  flex: 0 0 auto;
  margin-top: 2px;
}

.final-conversion-form-wrap {
  padding: 44px 42px 42px;
  background: linear-gradient(180deg, rgba(249, 246, 239, 0.94) 0%, rgba(249, 246, 241, 0.98) 100%);
}

.final-conversion-form {
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.final-conversion-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px 26px;
}

.final-conversion-field {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.final-conversion-field-label {
  color: var(--hc-text-soft);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.final-conversion-input,
.final-conversion-select {
  width: 100%;
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(216, 209, 199, 0.92);
  padding: 0 0 12px;
  color: var(--hc-text);
  font-size: 15px;
  line-height: 1.4;
  outline: none;
  transition: border-color 180ms ease, color 180ms ease;
}

.final-conversion-input::placeholder {
  color: rgba(126, 128, 120, 0.8);
}

.final-conversion-input:focus,
.final-conversion-select:focus {
  border-color: var(--hc-accent);
}

.final-conversion-select {
  appearance: none;
  cursor: pointer;
}

.final-conversion-checkbox-wrap {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 18px;
  margin-top: 2px;
}

.final-conversion-check {
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
}

.final-conversion-check-box {
  width: 18px;
  height: 18px;
  border: 1px solid rgba(216, 209, 199, 0.94);
  background: rgba(249, 246, 239, 0.72);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.final-conversion-check input {
  display: none;
}

.final-conversion-check-box::after {
  content: "";
  width: 9px;
  height: 9px;
  background: var(--hc-accent);
  opacity: 0;
  transition: opacity 180ms ease;
}

.final-conversion-check input:checked+.final-conversion-check-box::after {
  opacity: 1;
}

.final-conversion-check-text {
  color: var(--hc-text);
  font-size: 14px;
  line-height: 1.4;
}

.final-conversion-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  min-height: 48px;
  padding: 0 20px;
  background: var(--hc-accent);
  color: #fcfaf7;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  border: none;
  cursor: pointer;
  transition: background 180ms ease, transform 180ms ease;
  clip-path: polygon(12px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%, 0 12px);
}

.final-conversion-submit:hover {
  background: var(--hc-accent-dark);
  transform: translateY(-1px);
}

.final-conversion-faq {
  margin-top: 44px;
  padding: 40px 42px 10px;
  background: rgba(249, 246, 239, 0.78);
  border: 1px solid rgba(216, 209, 199, 0.82);
  box-shadow:
    0 12px 28px rgba(26, 54, 38, 0.04),
    0 3px 10px rgba(26, 54, 38, 0.025);
  clip-path: polygon(16px 0, 100% 0, 100% calc(100% - 16px), calc(100% - 16px) 100%, 0 100%, 0 16px);
}

.final-conversion-faq-head {
  max-width: 720px;
  margin: 0 auto 32px;
  text-align: center;
}

.final-conversion-faq-title {
  margin: 0 0 12px;
  color: var(--hc-text);
  font-size: clamp(2.2rem, 3.8vw, 3.4rem);
  line-height: 0.98;
  letter-spacing: -0.05em;
  font-weight: 500;
}

.final-conversion-faq-description {
  margin: 0 auto;
  max-width: 44ch;
  color: rgba(26, 54, 38, 0.68);
  font-size: 16px;
  line-height: 1.75;
}

.final-conversion-faq-list {
  max-width: 920px;
  margin: 0 auto;
}

.final-conversion-faq-item {
  border-bottom: 1px solid rgba(216, 209, 199, 0.72);
}

.final-conversion-faq-item:last-child {
  border-bottom: none;
}

.final-conversion-faq-item summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 24px 0;
  color: var(--hc-text);
  font-size: 16px;
  line-height: 1.5;
  font-weight: 600;
  letter-spacing: -0.02em;
}

.final-conversion-faq-item summary::-webkit-details-marker {
  display: none;
}

.final-conversion-faq-icon {
  color: var(--hc-text-soft);
  transition: transform 180ms ease, color 180ms ease;
  flex: 0 0 auto;
}

.final-conversion-faq-item[open] .final-conversion-faq-icon {
  transform: rotate(180deg);
  color: var(--hc-accent-dark);
}

.final-conversion-faq-answer {
  padding: 0 42px 22px 0;
  color: rgba(26, 54, 38, 0.68);
  font-size: 15px;
  line-height: 1.8;
}

.final-conversion-reveal {
  opacity: 0;
  animation: heroFadeUp 0.8s ease-out forwards;
  animation-play-state: paused;
}

.final-conversion-reveal.is-visible {
  animation-play-state: running;
}

@media (max-width: 1080px) {
  .final-conversion-shell {
    padding: 102px 24px 112px;
  }

  .final-conversion-quote {
    grid-template-columns: 1fr;
  }

  .final-conversion-context {
    border-right: none;
    border-bottom: 1px solid rgba(216, 209, 199, 0.82);
  }

  .final-conversion-form-grid {
    grid-template-columns: 1fr;
  }

  .final-conversion-checkbox-wrap {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 720px) {
  .final-conversion-shell {
    padding: 88px 16px 94px;
  }

  .final-conversion-context,
  .final-conversion-form-wrap,
  .final-conversion-faq {
    padding-left: 22px;
    padding-right: 22px;
  }

  .final-conversion-title {
    max-width: 100%;
    font-size: clamp(2.3rem, 10vw, 3.4rem);
  }

  .final-conversion-description,
  .final-conversion-faq-description {
    max-width: 100%;
    font-size: 15px;
  }

  .final-conversion-checkbox-wrap {
    grid-template-columns: 1fr;
  }

  .final-conversion-faq-answer {
    padding-right: 0;
  }
}

/* =========================================================
SECTION 8: FOOTER
========================================================= */
.site-footer {
  position: relative;
  width: 100%;
  background: linear-gradient(180deg, #f3eee7 0%, #efe8df 100%);
}

.site-footer-shell {
  max-width: 1400px;
  margin: 0 auto;
  padding: 110px 28px 38px;
}

.site-footer-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.7fr 0.9fr 0.95fr;
  gap: 56px;
}

.site-footer-brand {
  max-width: 280px;
}

.site-footer-brand-mark {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 26px;
}

.site-footer-brand-square {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--hc-text);
  color: #fcfaf7;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  clip-path: polygon(8px 0, 100% 0, 100% calc(100% - 8px), calc(100% - 8px) 100%, 0 100%, 0 8px);
}

.site-footer-brand-name-wrap {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.site-footer-brand-name {
  color: var(--hc-text);
  font-size: 24px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: -0.05em;
}

.site-footer-brand-sub {
  color: var(--hc-text-soft);
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.site-footer-brand-text {
  color: rgba(26, 54, 38, 0.68);
  font-size: 16px;
  line-height: 1.8;
}

.site-footer-col-title {
  display: block;
  margin-bottom: 24px;
  color: rgba(126, 128, 120, 0.7);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.site-footer-links,
.site-footer-contact {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.site-footer-links a,
.site-footer-contact a,
.site-footer-contact p,
.site-footer-note {
  color: var(--hc-text);
  font-size: 16px;
  line-height: 1.7;
  font-weight: 500;
  transition: color 180ms ease;
}

.site-footer-links a:hover,
.site-footer-contact a:hover {
  color: var(--hc-accent-dark);
}

.site-footer-contact p.is-soft,
.site-footer-note,
.site-footer-hours {
  color: rgba(26, 54, 38, 0.66);
  font-weight: 400;
}

.site-footer-hours-wrap {
  margin-top: 26px;
}

.site-footer-hours {
  font-size: 16px;
  line-height: 1.75;
}

.site-footer-service-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 18px;
  color: var(--hc-text);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition: color 180ms ease, transform 180ms ease;
}

.site-footer-service-link:hover {
  color: var(--hc-accent-dark);
  transform: translateY(-1px);
}

.site-footer-bottom {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-top: 78px;
  padding-top: 24px;
  border-top: 1px solid rgba(216, 209, 199, 0.82);
}

.site-footer-bottom-left {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.site-footer-bottom-line {
  color: rgba(126, 128, 120, 0.62);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.site-footer-bottom-right {
  display: flex;
  align-items: center;
  gap: 28px;
}

.site-footer-meta-links {
  display: flex;
  align-items: center;
  gap: 24px;
}

.site-footer-meta-links a,
.site-footer-social a {
  color: rgba(126, 128, 120, 0.72);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  transition: color 180ms ease;
}

.site-footer-meta-links a:hover,
.site-footer-social a:hover {
  color: var(--hc-text);
}

.site-footer-social {
  display: flex;
  align-items: center;
  gap: 14px;
}

.site-footer-social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: 1px solid rgba(216, 209, 199, 0.92);
  background: rgba(249, 246, 239, 0.54);
  clip-path: polygon(8px 0, 100% 0, 100% calc(100% - 8px), calc(100% - 8px) 100%, 0 100%, 0 8px);
}

@media (max-width: 1080px) {
  .site-footer-shell {
    padding: 94px 24px 34px;
  }

  .site-footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 42px 28px;
  }

  .site-footer-bottom {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 720px) {
  .site-footer-shell {
    padding: 78px 16px 28px;
  }

  .site-footer-grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .site-footer-bottom-right {
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
  }

  .site-footer-meta-links {
    gap: 18px;
  }

  .site-footer-brand-text,
  .site-footer-links a,
  .site-footer-contact a,
  .site-footer-contact p,
  .site-footer-note,
  .site-footer-hours {
    font-size: 15px;
  }
}

/* =========================================================
SHARED ANIMATION / REVEAL SYSTEM
========================================================= */
@keyframes heroFadeUp {
  0% {
    opacity: 0;
    transform: translateY(28px);
    filter: blur(6px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}

@keyframes heroFloatSoft {

  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-12px);
  }
}

.hero-fade-up {
  opacity: 0;
  animation: heroFadeUp 0.85s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.hero-float-soft {
  animation: heroFloatSoft 7s ease-in-out infinite;
}

/* =========================================================
SCROLL REVEAL ANIMATIONS (INTERSECTION OBSERVER)
========================================================= */
.reveal,
.reveal-fade-up,
.reveal-fade-in,
.reveal-slide-left,
.reveal-slide-right,
.reveal-zoom-out {
  opacity: 0;
  visibility: hidden;
}

.reveal-fade-up {
  transform: translateY(40px);
  transition: opacity 1s cubic-bezier(0.16, 1, 0.3, 1), transform 1s cubic-bezier(0.16, 1, 0.3, 1), filter 1s ease-out;
  filter: blur(4px);
}

.reveal-fade-up.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  filter: blur(0);
}

.reveal-fade-in {
  transition: opacity 1.2s ease-in-out;
}

.reveal-fade-in.is-visible {
  opacity: 1;
  visibility: visible;
}

.reveal-slide-left {
  transform: translateX(40px);
  transition: opacity 1s cubic-bezier(0.16, 1, 0.3, 1), transform 1s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal-slide-left.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
}

.reveal-slide-right {
  transform: translateX(-40px);
  transition: opacity 1s cubic-bezier(0.16, 1, 0.3, 1), transform 1s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal-slide-right.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
}

.reveal-zoom-out {
  transform: scale(1.05);
  transition: opacity 1.2s cubic-bezier(0.16, 1, 0.3, 1), transform 1.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal-zoom-out.is-visible {
  opacity: 1;
  visibility: visible;
  transform: scale(1);
}

.delay-100 {
  transition-delay: 100ms;
}

.delay-200 {
  transition-delay: 200ms;
}

.delay-300 {
  transition-delay: 300ms;
}

.delay-400 {
  transition-delay: 400ms;
}

.delay-500 {
  transition-delay: 500ms;
}

.delay-600 {
  transition-delay: 600ms;
}

/* =========================================================
HERO OPÃ‡ÃƒO 2: SPLIT OVERLAY BANNER (SEAMLESS CLEAN TEXT)
========================================================= */
.hero-sobre-split {
  position: relative;
  width: 100%;
  min-height: 600px;
  display: flex;
  align-items: center;
  padding-top: 140px;
  padding-bottom: 70px;
  background: #F5F1E7;
  overflow: hidden;
}

/* Widescreen Background Photo on Right */
.hero-split-bg {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 55%;
  z-index: 0;
}

.hero-split-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
}

/* Soft Edge Fade on Left Edge of Image */
.hero-split-bg::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 220px;
  background: linear-gradient(90deg, #F5F1E7 0%, rgba(245, 241, 231, 0.75) 50%, transparent 100%);
  z-index: 1;
  pointer-events: none;
}

.hero-split-shell {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 28px;
  position: relative;
  z-index: 2;
  width: 100%;
}

/* Left Content Wrapper (Seamless without Box/Card) */
.hero-split-card {
  max-width: 650px;
  position: relative;
}

.hero-sobre-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 18px;
  background: rgba(26, 54, 38, 0.08);
  border: 1px solid rgba(212, 175, 55, 0.45);
  border-radius: 50px;
  color: #1A3626;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 24px;
}

.hero-sobre-badge-pulse {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #D4AF37;
  box-shadow: 0 0 0 4px rgba(212, 175, 55, 0.25);
  animation: sobrePulse 2s infinite;
}

@keyframes sobrePulse {
  0% {
    box-shadow: 0 0 0 0 rgba(212, 175, 55, 0.5);
  }

  70% {
    box-shadow: 0 0 0 8px rgba(212, 175, 55, 0);
  }

  100% {
    box-shadow: 0 0 0 0 rgba(212, 175, 55, 0);
  }
}

.hero-sobre-title {
  font-size: clamp(2.4rem, 5vw, 3.8rem);
  line-height: 1.12;
  font-weight: 800;
  color: #1A3626;
  margin-bottom: 20px;
  letter-spacing: -0.02em;
}

.hero-sobre-title-accent {
  color: #1A3626;
  position: relative;
  display: inline-block;
}

.hero-sobre-quote-box {
  position: relative;
  padding: 14px 18px;
  background: rgba(255, 255, 255, 0.8);
  border-left: 3px solid #D4AF37;
  border-radius: 0 14px 14px 0;
  margin-bottom: 22px;
  box-shadow: 0 4px 16px rgba(26, 54, 38, 0.04);
}

.hero-sobre-quote-box span {
  font-family: 'Playfair Display', serif;
  font-style: italic;
  font-size: 1.15rem;
  color: #1A3626;
  font-weight: 600;
}

.hero-sobre-description {
  font-size: 1.1rem;
  line-height: 1.68;
  color: #2D3E33;
  margin-bottom: 28px;
  font-weight: 500;
}

.hero-sobre-highlights {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 32px;
}

.hero-sobre-highlight-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  background: #FFFFFF;
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 12px;
  font-size: 0.85rem;
  font-weight: 700;
  color: #1A3626;
  box-shadow: 0 4px 12px rgba(26, 54, 38, 0.04);
}

.hero-sobre-highlight-item i,
.hero-sobre-highlight-item svg {
  width: 16px;
  height: 16px;
  color: #D4AF37;
}

/* Mobile & Tablet Responsiveness */
@media (max-width: 991px) {
  .hero-sobre-split {
    padding-top: 125px;
    padding-bottom: 50px;
    min-height: auto;
  }

  .hero-split-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    margin-top: 0;
    border-radius: 0;
    box-shadow: none;
  }

  .hero-split-bg img {
    object-position: center center !important;
  }

  .hero-split-bg::before {
    display: block;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(245, 241, 231, 0.85) 0%, rgba(245, 241, 231, 0.75) 60%, rgba(245, 241, 231, 0.60) 100%);
    z-index: 1;
  }

  .hero-split-shell {
    padding: 0 20px;
  }

  .hero-split-card {
    max-width: 100%;
    padding: 0;
  }

  .hero-sobre-badge {
    margin-bottom: 14px;
    font-size: 0.76rem;
    padding: 6px 14px;
  }

  .hero-sobre-title {
    font-size: clamp(1.9rem, 6.5vw, 2.5rem);
    margin-bottom: 14px;
    line-height: 1.2;
  }

  .hero-sobre-quote-box {
    padding: 8px 14px;
    margin-bottom: 14px;
  }

  .hero-sobre-quote-box span {
    font-size: 0.9rem;
    line-height: 1.4;
  }

  .hero-sobre-description {
    font-size: 0.98rem;
    line-height: 1.55;
    margin-bottom: 24px;
  }

  .hero-sobre-highlights {
    display: none;
  }

  .hero-split-card .hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    width: 100%;
  }

  .hero-split-card .hero-actions a {
    flex: 1 1 200px;
    text-align: center;
    justify-content: center;
    min-height: 48px;
    padding: 12px 20px;
  }
}

@media (max-width: 576px) {
  .hero-sobre-split {
    padding-top: 120px;
    padding-bottom: 40px;
  }

  .hero-sobre-title {
    font-size: clamp(1.8rem, 7.5vw, 2.2rem);
    line-height: 1.2;
  }

  .hero-split-card .hero-actions a {
    flex: 1 1 100%;
    width: 100%;
  }

  .sobre-title, .hero-card-title, .ut-custom-541b97 {
    font-size: clamp(1.8rem, 7.5vw, 2.2rem) !important;
  }
}

/* =========================================================
SECTION: COMO NASCEU O LIMA'S THERAPY (LIGHT THEME)
========================================================= */
.como-nasceu-limas-therapy {
  position: relative;
  width: 100%;
  padding: 100px 0;
  background: #F9F7F2;
  color: #1A3626;
  overflow: hidden;
  border-top: 1px solid rgba(212, 175, 55, 0.25);
  border-bottom: 1px solid rgba(212, 175, 55, 0.25);
}

.como-nasceu-bg {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 55%;
  z-index: 0;
}

.como-nasceu-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left center;
  display: block;
}

.como-nasceu-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(270deg, #F9F7F2 0%, rgba(249, 247, 242, 0.92) 45%, rgba(249, 247, 242, 0.50) 75%, transparent 100%);
  pointer-events: none;
}

.como-nasceu-shell {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 28px;
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: flex-end;
}

.como-nasceu-content {
  max-width: 620px;
}

.como-nasceu-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #AA8C2C;
  margin-bottom: 16px;
}

.como-nasceu-title {
  font-size: clamp(2.2rem, 4vw, 3.2rem);
  line-height: 1.15;
  font-weight: 800;
  color: #1A3626;
  margin-bottom: 24px;
  letter-spacing: -0.02em;
}

.como-nasceu-title-accent {
  color: #1A3626;
}

.como-nasceu-text {
  font-size: 1.1rem;
  line-height: 1.75;
  color: #2D3E33;
  font-weight: 500;
}

/* Responsividade Mobile & Tablet */
@media (max-width: 991px) {
  .como-nasceu-limas-therapy {
    padding: 70px 0;
  }

  .como-nasceu-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }

  .como-nasceu-bg img {
    object-position: left center;
  }

  .como-nasceu-bg::after {
    background: linear-gradient(180deg, rgba(249, 247, 242, 0.95) 0%, rgba(249, 247, 242, 0.88) 60%, rgba(249, 247, 242, 0.75) 100%);
  }

  .como-nasceu-shell {
    justify-content: center;
    padding: 0 20px;
  }

  .como-nasceu-content {
    max-width: 100%;
  }

  .como-nasceu-title {
    font-size: clamp(1.85rem, 6vw, 2.5rem);
    margin-bottom: 18px;
  }

  .como-nasceu-text {
    font-size: 0.98rem;
    line-height: 1.6;
  }
}

/* =========================================================
SECTION: NOSSA HISTÃ“RIA
========================================================= */
.nossa-historia {
  position: relative;
  width: 100%;
  padding: 100px 0;
  background: #F5F1E7;
  color: #1A3626;
  overflow: hidden;
}

.nossa-historia-shell {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 28px;
}

.nossa-historia-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: center;
}

.nossa-historia-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #AA8C2C;
  margin-bottom: 16px;
}

.nossa-historia-title {
  font-size: clamp(2.2rem, 4vw, 3.2rem);
  line-height: 1.15;
  font-weight: 800;
  color: #1A3626;
  margin-bottom: 24px;
  letter-spacing: -0.02em;
}

.nossa-historia-text {
  font-size: 1.08rem;
  line-height: 1.75;
  color: #2D3E33;
  font-weight: 500;
}

.nossa-historia-visual {
  position: relative;
}

.nossa-historia-img-frame {
  position: relative;
  width: 100%;
  height: 440px;
  border-radius: 32px;
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(26, 54, 38, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.35);
}

.nossa-historia-img-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
  transition: transform 500ms cubic-bezier(0.25, 1, 0.5, 1);
}

.nossa-historia-img-frame:hover img {
  transform: scale(1.04);
}

/* Responsividade Mobile & Tablet */
@media (max-width: 991px) {
  .nossa-historia {
    padding: 70px 0;
  }

  .nossa-historia-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .nossa-historia-shell {
    padding: 0 20px;
  }

  .nossa-historia-title {
    font-size: clamp(1.85rem, 6vw, 2.5rem);
    margin-bottom: 18px;
  }

  .nossa-historia-text {
    font-size: 0.98rem;
    line-height: 1.6;
  }

  .nossa-historia-img-frame {
    height: 280px;
    border-radius: 24px;
  }
}

@media (max-width: 576px) {
  .nossa-historia {
    padding: 55px 0;
  }

  .nossa-historia-img-frame {
    height: 240px;
    border-radius: 20px;
  }
}

/* =========================================================
SECTION: MISSÃƒO, VISÃƒO E VALORES (LIGHT THEME)
========================================================= */
.valores {
  position: relative;
  width: 100%;
  padding: 100px 0;
  background: #F9F7F2;
  color: #1A3626;
  overflow: hidden;
  border-top: 1px solid rgba(212, 175, 55, 0.25);
  border-bottom: 1px solid rgba(212, 175, 55, 0.25);
}

.valores-shell {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 28px;
}

.valores-header {
  max-width: 760px;
  margin: 0 auto 56px;
  text-align: center;
}

.valores-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #AA8C2C;
  margin-bottom: 16px;
}

.valores-title {
  font-size: clamp(2.2rem, 4.5vw, 3.4rem);
  line-height: 1.15;
  font-weight: 800;
  color: #1A3626;
  margin-bottom: 22px;
  letter-spacing: -0.02em;
}

.valores-title-accent {
  color: #1A3626;
}

.valores-intro {
  font-size: 1.1rem;
  line-height: 1.75;
  color: #2D3E33;
  font-weight: 500;
}

.valores-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 28px;
}

.valores-card {
  position: relative;
  background: #FFFFFF;
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 24px;
  padding: 32px 30px;
  box-shadow: 0 10px 30px rgba(26, 54, 38, 0.05);
  transition: transform 300ms ease, border-color 300ms ease, box-shadow 300ms ease;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.valores-card:hover {
  transform: translateY(-4px);
  border-color: #D4AF37;
  box-shadow: 0 18px 45px rgba(26, 54, 38, 0.1);
}

.valores-card-icon {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: rgba(26, 54, 38, 0.06);
  border: 1px solid rgba(212, 175, 55, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #D4AF37;
}

.valores-card-icon i,
.valores-card-icon svg {
  width: 24px;
  height: 24px;
  color: #D4AF37;
}

.valores-card-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: #1A3626;
  line-height: 1.3;
}

.valores-card-text {
  font-size: 1rem;
  line-height: 1.6;
  color: #2D3E33;
  font-weight: 500;
}

/* Responsividade Mobile & Tablet */
@media (max-width: 991px) {
  .valores {
    padding: 70px 0;
  }

  .valores-header {
    margin-bottom: 40px;
    text-align: left;
  }

  .valores-shell {
    padding: 0 20px;
  }

  .valores-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .valores-card {
    padding: 24px 22px;
    border-radius: 20px;
  }

  .valores-card-title {
    font-size: 1.15rem;
  }

  .valores-card-text {
    font-size: 0.95rem;
  }
}

@media (max-width: 576px) {
  .valores {
    padding: 55px 0;
  }
}

/* =========================================================
SECTION: NOSSA FUNDADORA
========================================================= */
.fundadora {
  position: relative;
  width: 100%;
  padding: 100px 0;
  background: #F5F1E7;
  color: #1A3626;
  overflow: hidden;
}

.fundadora-shell {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 28px;
}

.fundadora-grid {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: 56px;
  align-items: center;
}

.fundadora-visual {
  position: relative;
}

.fundadora-img-frame {
  position: relative;
  width: 100%;
  height: 580px;
  border-radius: 36px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(26, 54, 38, 0.14);
  border: 1px solid rgba(212, 175, 55, 0.35);
}

.fundadora-img-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
  transition: transform 500ms cubic-bezier(0.25, 1, 0.5, 1);
}

.fundadora-img-frame:hover img {
  transform: scale(1.03);
}

.fundadora-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #AA8C2C;
  margin-bottom: 16px;
}

.fundadora-title {
  font-size: clamp(2.2rem, 4vw, 3.2rem);
  line-height: 1.15;
  font-weight: 800;
  color: #1A3626;
  margin-bottom: 16px;
  letter-spacing: -0.02em;
}

.fundadora-name-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  background: rgba(26, 54, 38, 0.08);
  border: 1px solid rgba(212, 175, 55, 0.3);
  border-radius: 50px;
  color: #1A3626;
  font-size: 0.88rem;
  font-weight: 700;
  margin-bottom: 22px;
}

.fundadora-text {
  font-size: 1.08rem;
  line-height: 1.75;
  color: #2D3E33;
  font-weight: 500;
}

.fundadora-crefito-box {
  position: relative;
  margin-top: 24px;
  padding: 20px 24px;
  background: #FFFFFF;
  border-left: 3.5px solid #D4AF37;
  border-radius: 0 18px 18px 0;
  box-shadow: 0 8px 24px rgba(26, 54, 38, 0.06);
  border-top: 1px solid rgba(212, 175, 55, 0.2);
  border-right: 1px solid rgba(212, 175, 55, 0.2);
  border-bottom: 1px solid rgba(212, 175, 55, 0.2);
}

.fundadora-crefito-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}

.fundadora-crefito-header i,
.fundadora-crefito-header svg {
  width: 20px;
  height: 20px;
  color: #D4AF37;
  flex: 0 0 auto;
}

.fundadora-crefito-header h3 {
  font-size: 1.05rem;
  font-weight: 700;
  color: #1A3626;
}

.fundadora-crefito-box p {
  font-size: 0.95rem;
  line-height: 1.65;
  color: #2D3E33;
  font-weight: 500;
}

/* Responsividade Mobile & Tablet */
@media (max-width: 991px) {
  .fundadora {
    padding: 70px 0;
  }

  .fundadora-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .fundadora-shell {
    padding: 0 20px;
  }

  .fundadora-img-frame {
    height: 360px;
    border-radius: 24px;
  }

  .fundadora-title {
    font-size: clamp(1.85rem, 6vw, 2.5rem);
    margin-bottom: 14px;
  }

  .fundadora-text {
    font-size: 0.98rem;
    line-height: 1.6;
  }
}

@media (max-width: 576px) {
  .fundadora {
    padding: 55px 0;
  }

  .fundadora-img-frame {
    height: 300px;
    border-radius: 20px;
  }
}

/* =========================================================
SECTION: PERGUNTAS FREQUENTES (FAQ)
========================================================= */
.faq {
  position: relative;
  width: 100%;
  padding: 100px 0;
  background: #F9F7F2;
  color: #1A3626;
  overflow: hidden;
  border-top: 1px solid rgba(212, 175, 55, 0.25);
}

.faq-shell {
  max-width: 920px;
  margin: 0 auto;
  padding: 0 28px;
}

.faq-header {
  text-align: center;
  margin-bottom: 48px;
}

.faq-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #AA8C2C;
  margin-bottom: 16px;
}

.faq-title {
  font-size: clamp(2.2rem, 4.5vw, 3.2rem);
  line-height: 1.15;
  font-weight: 800;
  color: #1A3626;
  letter-spacing: -0.02em;
}

.faq-accordion {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.faq-item {
  background: #FFFFFF;
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 20px;
  padding: 24px 28px;
  box-shadow: 0 8px 24px rgba(26, 54, 38, 0.04);
  transition: border-color 300ms ease, box-shadow 300ms ease;
}

.faq-item[open] {
  border-color: #D4AF37;
  box-shadow: 0 12px 32px rgba(26, 54, 38, 0.08);
}

.faq-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  font-size: 1.15rem;
  font-weight: 700;
  color: #1A3626;
  cursor: pointer;
  list-style: none;
}

.faq-summary::-webkit-details-marker {
  display: none;
}

.faq-icon {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(26, 54, 38, 0.06);
  border: 1px solid rgba(212, 175, 55, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #D4AF37;
  flex: 0 0 auto;
  transition: transform 300ms ease, background 300ms ease, color 300ms ease;
}

.faq-icon i,
.faq-icon svg {
  width: 16px;
  height: 16px;
}

.faq-item[open] .faq-icon {
  transform: rotate(180deg);
  background: #D4AF37;
  color: #1A3626;
}

.faq-answer {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid rgba(212, 175, 55, 0.2);
  font-size: 1.05rem;
  line-height: 1.7;
  color: #2D3E33;
  font-weight: 500;
}

/* Responsividade Mobile & Tablet */
@media (max-width: 991px) {
  .faq {
    padding: 70px 0;
  }

  .faq-shell {
    padding: 0 20px;
  }

  .faq-header {
    text-align: left;
    margin-bottom: 36px;
  }

  .faq-title {
    font-size: clamp(1.85rem, 6vw, 2.5rem);
  }

  .faq-item {
    padding: 20px 20px;
    border-radius: 16px;
  }

  .faq-summary {
    font-size: 1.02rem;
  }

  .faq-answer {
    font-size: 0.95rem;
    line-height: 1.6;
  }
}

@media (max-width: 576px) {
  .faq {
    padding: 55px 0;
  }
}

/* =========================================================
SECTION: COMO NASCEU O LIMA'S THERAPY (SUAVE, DIREITA & FUNDO)
========================================================= */
.como-nasceu-limas-therapy {
  position: relative;
  width: 100%;
  padding: 90px 0;
  background: #F5F1E7;
  overflow: hidden;
}

.como-nasceu-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.como-nasceu-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left center;
}

.como-nasceu-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(245, 241, 231, 0.25) 0%, rgba(245, 241, 231, 0.85) 42%, #F5F1E7 75%);
  pointer-events: none;
}

.como-nasceu-shell {
  position: relative;
  z-index: 2;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 32px;
}

.como-nasceu-header {
  text-align: left;
  margin-bottom: 44px;
}

.como-nasceu-kicker {
  display: inline-block;
  margin-bottom: 10px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #AA8C2C;
}

.como-nasceu-title {
  margin: 0;
  font-size: clamp(2.2rem, 4vw, 3.2rem);
  line-height: 1.15;
  color: #1A3626;
  font-weight: 600;
}

.como-nasceu-title-accent {
  color: #AA8C2C;
}

.como-nasceu-content-wrap {
  display: flex;
  justify-content: flex-end;
  width: 100%;
}

.como-nasceu-body {
  max-width: 720px;
  margin-left: auto;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.como-nasceu-text {
  font-size: 1.08rem;
  line-height: 1.85;
  color: #3D4F43;
  margin: 0;
}

.como-nasceu-text strong {
  color: #1A3626;
  font-weight: 700;
}

.como-nasceu-lead {
  font-size: 1.16rem;
  line-height: 1.85;
  color: #1A3626;
  font-weight: 500;
}

.como-nasceu-highlight-box {
  padding: 24px 28px;
  background: rgba(252, 250, 247, 0.88);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-left: 3px solid #AA8C2C;
  border-radius: 0 16px 16px 0;
  box-shadow: 0 4px 20px rgba(26, 54, 38, 0.04);
}

.como-nasceu-highlight-box .como-nasceu-text {
  font-size: 1.08rem;
  color: #2D3E33;
}

@media (max-width: 992px) {
  .como-nasceu-limas-therapy {
    padding: 50px 0;
  }

  .como-nasceu-bg::after {
    background: linear-gradient(180deg, rgba(245, 241, 231, 0.82) 0%, rgba(245, 241, 231, 0.96) 100%);
  }

  .como-nasceu-shell {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0 20px;
    max-width: 100%;
  }

  .como-nasceu-header {
    width: 100%;
    text-align: left;
    margin-bottom: 24px;
  }

  .como-nasceu-title {
    font-size: clamp(1.6rem, 5.5vw, 2.2rem);
    line-height: 1.2;
  }

  .como-nasceu-content-wrap {
    display: block;
    width: 100%;
  }

  .como-nasceu-body {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    gap: 20px;
  }

  .como-nasceu-text,
  .como-nasceu-lead,
  .como-nasceu-highlight-box .como-nasceu-text {
    font-size: 1rem;
    line-height: 1.75;
  }

  .como-nasceu-highlight-box {
    padding: 18px 20px;
  }
}

@media (max-width: 576px) {
  .como-nasceu-title {
    font-size: clamp(1.35rem, 5vw, 1.7rem);
  }
}

/* =========================================================
SECTION: O QUE OFERECEMOS
========================================================= */
.oferecemos-section {
  position: relative;
  padding: 90px 0;
  background: linear-gradient(180deg, #FBF9F5 0%, #F5F1E7 50%, #FBF9F5 100%);
  overflow: hidden;
}

.oferecemos-container {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 24px;
}

.oferecemos-header {
  margin-bottom: 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.oferecemos-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #8A6D15;
  margin-bottom: 20px;
}

.oferecemos-badge i,
.oferecemos-badge svg {
  width: 16px;
  height: 16px;
  color: #AA8C2C;
}

.oferecemos-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2rem, 4vw, 2.75rem);
  font-weight: 700;
  line-height: 1.25;
  color: #0E2418;
  max-width: 900px;
  margin: 0 auto 20px;
}

.oferecemos-title-accent {
  color: #AA8C2C;
  font-style: italic;
}

.oferecemos-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
  max-width: 260px;
  margin-top: 10px;
}

.oferecemos-divider-line {
  height: 1px;
  flex: 1;
  background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.5), transparent);
}

.oferecemos-divider i,
.oferecemos-divider svg {
  width: 18px;
  height: 18px;
  color: #AA8C2C;
}

.oferecemos-intro-card {
  background: rgba(255, 255, 255, 0.82);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(212, 175, 55, 0.28);
  border-radius: 28px;
  padding: 40px 48px;
  margin-bottom: 48px;
  box-shadow: 0 16px 40px rgba(14, 36, 24, 0.05);
  position: relative;
}

.oferecemos-intro-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 48px;
  width: 60px;
  height: 4px;
  background: linear-gradient(90deg, #D4AF37, #AA8C2C);
  border-radius: 0 0 4px 4px;
}

.oferecemos-text-block {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.oferecemos-lead {
  font-size: 1.15rem;
  line-height: 1.85;
  color: #1A3023;
}

.oferecemos-lead strong {
  color: #0E2418;
  font-weight: 700;
}

.oferecemos-subtext {
  font-size: 1.05rem;
  line-height: 1.75;
  color: #384D40;
  font-weight: 500;
  padding-left: 20px;
  border-left: 3px solid #D4AF37;
}

.oferecemos-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin-bottom: 56px;
}

.oferecemos-card {
  background: #FFFFFF;
  border: 1px solid rgba(212, 175, 55, 0.22);
  border-radius: 24px;
  padding: 32px 26px;
  display: flex;
  flex-direction: column;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
  position: relative;
}

.oferecemos-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(14, 36, 24, 0.1);
  border-color: rgba(212, 175, 55, 0.6);
}

.oferecemos-card-icon {
  width: 54px;
  height: 54px;
  border-radius: 16px;
  background: linear-gradient(135deg, #1A3626 0%, #0E2418 100%);
  color: #E5C76B;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 22px;
  box-shadow: 0 8px 20px rgba(14, 36, 24, 0.15);
  border: 1px solid rgba(212, 175, 55, 0.3);
}

.oferecemos-card-icon i,
.oferecemos-card-icon svg {
  width: 26px;
  height: 26px;
}

.oferecemos-card-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: #0E2418;
  margin-bottom: 12px;
}

.oferecemos-card-desc {
  font-size: 0.95rem;
  line-height: 1.65;
  color: #4A5D50;
  margin-bottom: 20px;
  flex-grow: 1;
}

.oferecemos-card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: auto;
}

.oferecemos-card-tags span {
  font-size: 0.78rem;
  font-weight: 600;
  color: #8A6D15;
  background: rgba(212, 175, 55, 0.1);
  border: 1px solid rgba(212, 175, 55, 0.2);
  padding: 4px 12px;
  border-radius: 999px;
}

.oferecemos-cta-banner {
  background: linear-gradient(135deg, #0E2418 0%, #1A3626 100%);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 28px;
  padding: 40px 52px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  box-shadow: 0 20px 50px rgba(14, 36, 24, 0.2);
  position: relative;
  overflow: hidden;
}

.oferecemos-cta-banner::after {
  content: '';
  position: absolute;
  right: -50px;
  bottom: -50px;
  width: 200px;
  height: 200px;
  background: radial-gradient(circle, rgba(212, 175, 55, 0.15) 0%, transparent 70%);
  pointer-events: none;
}

.oferecemos-cta-content h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.45rem;
  color: #F5F1E7;
  margin-bottom: 8px;
}

.oferecemos-cta-content p {
  font-size: 1rem;
  color: rgba(245, 241, 231, 0.82);
}

.oferecemos-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 16px 32px;
  background: linear-gradient(135deg, #D4AF37 0%, #AA8C2C 100%);
  color: #0E2418;
  font-weight: 700;
  font-size: 1rem;
  border-radius: 999px;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 10px 25px rgba(170, 140, 44, 0.3);
  transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}

.oferecemos-cta-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 32px rgba(170, 140, 44, 0.45);
  color: #0E2418;
}

.oferecemos-cta-btn i,
.oferecemos-cta-btn svg {
  width: 20px;
  height: 20px;
}

/* Responsividade O Que Oferecemos */
@media (max-width: 1024px) {
  .oferecemos-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }

  .oferecemos-cta-banner {
    flex-direction: column;
    text-align: center;
    padding: 36px 28px;
  }
}

@media (max-width: 640px) {
  .oferecemos-section {
    padding: 60px 0;
  }

  .oferecemos-intro-card {
    padding: 28px 24px;
    border-radius: 20px;
  }

  .oferecemos-intro-card::before {
    left: 24px;
  }

  .oferecemos-lead {
    font-size: 1.02rem;
    line-height: 1.75;
  }

  .oferecemos-subtext {
    font-size: 0.95rem;
    padding-left: 14px;
  }

  .oferecemos-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .oferecemos-cta-banner {
    padding: 30px 20px;
    border-radius: 20px;
  }

  .oferecemos-cta-content h3 {
    font-size: 1.25rem;
  }

  .oferecemos-cta-btn {
    width: 100%;
    justify-content: center;
    padding: 14px 24px;
  }
}

/* =========================================================
SECTION: MASSOTERAPIA
========================================================= */
.massoterapia-section {
  position: relative;
  padding: 90px 0;
  overflow: hidden;
}

.massoterapia-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.massoterapia-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.massoterapia-bg-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(251, 249, 245, 0.52) 0%, rgba(245, 241, 231, 0.62) 100%);
}

.massoterapia-container {
  position: relative;
  z-index: 1;
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 24px;
}

.massoterapia-grid {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: 56px;
  align-items: center;
}

.massoterapia-image-wrapper {
  position: relative;
  border-radius: 28px;
  overflow: hidden;
  border: 1px solid rgba(212, 175, 55, 0.35);
  box-shadow: 0 20px 50px rgba(14, 36, 24, 0.12);
}

.massoterapia-image-wrapper img {
  width: 100%;
  height: 540px;
  object-fit: cover;
  display: block;
  transition: transform 0.6s ease;
}

.massoterapia-image-wrapper:hover img {
  transform: scale(1.04);
}

.massoterapia-image-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(14, 36, 24, 0.15) 0%, rgba(14, 36, 24, 0.4) 100%);
  pointer-events: none;
}

.massoterapia-img-badge {
  position: absolute;
  top: 24px;
  left: 24px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  background: rgba(14, 36, 24, 0.85);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(212, 175, 55, 0.4);
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 700;
  color: #E5C76B;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

.massoterapia-img-badge i,
.massoterapia-img-badge svg {
  width: 16px;
  height: 16px;
  color: #D4AF37;
}

.massoterapia-content-col {
  display: flex;
  flex-direction: column;
}

.massoterapia-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #8A6D15;
  margin-bottom: 18px;
  align-self: flex-start;
}

.massoterapia-badge i,
.massoterapia-badge svg {
  width: 16px;
  height: 16px;
  color: #AA8C2C;
}

.massoterapia-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.2rem, 4vw, 3rem);
  font-weight: 700;
  color: #0E2418;
  margin-bottom: 20px;
  line-height: 1.2;
}

.massoterapia-lead {
  font-size: 1.08rem;
  line-height: 1.8;
  color: #2D4034;
  margin-bottom: 24px;
}

.massoterapia-protocols-intro p {
  font-size: 1rem;
  font-weight: 600;
  color: #0E2418;
  margin-bottom: 16px;
}

.massoterapia-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px 16px;
  list-style: none;
  padding: 0;
  margin: 0 0 28px 0;
}

.massoterapia-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.95rem;
  font-weight: 600;
  color: #1E3326;
  background: #FFFFFF;
  border: 1px solid rgba(212, 175, 55, 0.22);
  padding: 10px 14px;
  border-radius: 14px;
  box-shadow: 0 4px 12px rgba(14, 36, 24, 0.03);
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.massoterapia-list li:hover {
  transform: translateX(4px);
  border-color: rgba(212, 175, 55, 0.55);
  box-shadow: 0 6px 18px rgba(14, 36, 24, 0.08);
}

.massoterapia-list li i,
.massoterapia-list li svg {
  width: 18px;
  height: 18px;
  color: #AA8C2C;
  flex: 0 0 auto;
}

.massoterapia-conclusion {
  font-size: 1rem;
  line-height: 1.75;
  color: #384D40;
  font-style: italic;
  padding-left: 18px;
  border-left: 3px solid #D4AF37;
  margin-bottom: 32px;
}

.massoterapia-actions {
  display: flex;
  align-items: center;
}

.massoterapia-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 16px 32px;
  background: linear-gradient(135deg, #0E2418 0%, #1A3626 100%);
  color: #F5F1E7;
  font-weight: 700;
  font-size: 1rem;
  border: 1px solid rgba(212, 175, 55, 0.4);
  border-radius: 999px;
  text-decoration: none;
  box-shadow: 0 10px 25px rgba(14, 36, 24, 0.2);
  transition: transform 0.25s ease, box-shadow 0.25s ease, color 0.25s ease;
}

.massoterapia-cta-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 32px rgba(14, 36, 24, 0.35);
  color: #E5C76B;
}

.massoterapia-cta-btn i,
.massoterapia-cta-btn svg {
  width: 20px;
  height: 20px;
  transition: transform 0.25s ease;
}

.massoterapia-cta-btn:hover i,
.massoterapia-cta-btn:hover svg {
  transform: translateX(4px);
}

/* Responsividade Massoterapia */
@media (max-width: 1024px) {
  .massoterapia-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .massoterapia-image-wrapper img {
    height: 420px;
  }
}

@media (max-width: 640px) {
  .massoterapia-section {
    padding: 60px 0;
  }

  .massoterapia-list {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .massoterapia-image-wrapper img {
    height: 320px;
  }

  .massoterapia-cta-btn {
    width: 100%;
    justify-content: center;
    padding: 14px 20px;
    font-size: 0.92rem;
  }
}

/* =========================================================
SECTION: FISIOTERAPIA REABILITATÃ“RIA
========================================================= */
.fisioterapia-section {
  position: relative;
  padding: 90px 0;
  overflow: hidden;
}

.fisioterapia-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.fisioterapia-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.fisioterapia-bg-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(245, 241, 231, 0.58) 0%, rgba(251, 249, 245, 0.68) 100%);
}

.fisioterapia-container {
  position: relative;
  z-index: 1;
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 24px;
}

.fisioterapia-grid {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 56px;
  align-items: center;
}

.fisioterapia-content-col {
  display: flex;
  flex-direction: column;
}

.fisioterapia-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #8A6D15;
  margin-bottom: 18px;
  align-self: flex-start;
}

.fisioterapia-badge i,
.fisioterapia-badge svg {
  width: 16px;
  height: 16px;
  color: #AA8C2C;
}

.fisioterapia-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.2rem, 4vw, 3rem);
  font-weight: 700;
  color: #0E2418;
  margin-bottom: 20px;
  line-height: 1.2;
}

.fisioterapia-lead {
  font-size: 1.08rem;
  line-height: 1.8;
  color: #2D4034;
  margin-bottom: 24px;
}

.fisioterapia-protocols-intro p {
  font-size: 1rem;
  font-weight: 600;
  color: #0E2418;
  margin-bottom: 16px;
}

.fisioterapia-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px 16px;
  list-style: none;
  padding: 0;
  margin: 0 0 28px 0;
}

.fisioterapia-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.95rem;
  font-weight: 600;
  color: #1E3326;
  background: #FFFFFF;
  border: 1px solid rgba(212, 175, 55, 0.22);
  padding: 10px 14px;
  border-radius: 14px;
  box-shadow: 0 4px 12px rgba(14, 36, 24, 0.03);
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.fisioterapia-list li:hover {
  transform: translateX(4px);
  border-color: rgba(212, 175, 55, 0.55);
  box-shadow: 0 6px 18px rgba(14, 36, 24, 0.08);
}

.fisioterapia-list li i,
.fisioterapia-list li svg {
  width: 18px;
  height: 18px;
  color: #AA8C2C;
  flex: 0 0 auto;
}

.fisioterapia-conclusion {
  font-size: 1rem;
  line-height: 1.75;
  color: #384D40;
  font-style: italic;
  padding-left: 18px;
  border-left: 3px solid #D4AF37;
  margin-bottom: 32px;
}

.fisioterapia-actions {
  display: flex;
  align-items: center;
}

.fisioterapia-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 16px 32px;
  background: linear-gradient(135deg, #0E2418 0%, #1A3626 100%);
  color: #F5F1E7;
  font-weight: 700;
  font-size: 1rem;
  border: 1px solid rgba(212, 175, 55, 0.4);
  border-radius: 999px;
  text-decoration: none;
  box-shadow: 0 10px 25px rgba(14, 36, 24, 0.2);
  transition: transform 0.25s ease, box-shadow 0.25s ease, color 0.25s ease;
}

.fisioterapia-cta-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 32px rgba(14, 36, 24, 0.35);
  color: #E5C76B;
}

.fisioterapia-cta-btn i,
.fisioterapia-cta-btn svg {
  width: 20px;
  height: 20px;
  transition: transform 0.25s ease;
}

.fisioterapia-cta-btn:hover i,
.fisioterapia-cta-btn:hover svg {
  transform: translateX(4px);
}

.fisioterapia-image-wrapper {
  position: relative;
  border-radius: 28px;
  overflow: hidden;
  border: 1px solid rgba(212, 175, 55, 0.35);
  box-shadow: 0 20px 50px rgba(14, 36, 24, 0.12);
}

.fisioterapia-image-wrapper img {
  width: 100%;
  height: 540px;
  object-fit: cover;
  display: block;
  transition: transform 0.6s ease;
}

.fisioterapia-image-wrapper:hover img {
  transform: scale(1.04);
}

.fisioterapia-image-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(14, 36, 24, 0.15) 0%, rgba(14, 36, 24, 0.4) 100%);
  pointer-events: none;
}

.fisioterapia-img-badge {
  position: absolute;
  top: 24px;
  right: 24px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  background: rgba(14, 36, 24, 0.85);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(212, 175, 55, 0.4);
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 700;
  color: #E5C76B;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

.fisioterapia-img-badge i,
.fisioterapia-img-badge svg {
  width: 16px;
  height: 16px;
  color: #D4AF37;
}

/* Responsividade Fisioterapia */
@media (max-width: 1024px) {
  .fisioterapia-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .fisioterapia-image-wrapper img {
    height: 420px;
  }

  .fisioterapia-image-col {
    order: -1;
  }
}

@media (max-width: 640px) {
  .fisioterapia-section {
    padding: 60px 0;
  }

  .fisioterapia-list {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .fisioterapia-image-wrapper img {
    height: 320px;
  }

  .fisioterapia-cta-btn {
    width: 100%;
    justify-content: center;
    padding: 14px 20px;
    font-size: 0.92rem;
  }
}

/* =========================================================
SECTION: TERAPIAS DE SPA E ESTÃ‰TICA NATURAL
========================================================= */
.spa-estetica-section {
  position: relative;
  padding: 90px 0;
  overflow: hidden;
}

.spa-estetica-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.spa-estetica-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.spa-estetica-bg-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(251, 249, 245, 0.52) 0%, rgba(245, 241, 231, 0.62) 100%);
}

.spa-estetica-container {
  position: relative;
  z-index: 1;
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 24px;
}

.spa-estetica-grid {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: 56px;
  align-items: center;
}

.spa-estetica-collage {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  position: relative;
}

.spa-estetica-img-card {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid rgba(212, 175, 55, 0.35);
  box-shadow: 0 16px 40px rgba(14, 36, 24, 0.1);
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.spa-estetica-img-card.card-primary {
  transform: translateY(-16px);
}

.spa-estetica-img-card.card-secondary {
  transform: translateY(16px);
}

.spa-estetica-img-card:hover {
  transform: translateY(-4px) scale(1.02);
  box-shadow: 0 22px 50px rgba(14, 36, 24, 0.16);
}

.spa-estetica-img-card img {
  width: 100%;
  height: 380px;
  object-fit: cover;
  display: block;
}

.spa-estetica-img-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(14, 36, 24, 0.1) 0%, rgba(14, 36, 24, 0.35) 100%);
  pointer-events: none;
}

.spa-estetica-img-badge {
  position: absolute;
  bottom: 16px;
  left: 16px;
  right: 16px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  background: rgba(14, 36, 24, 0.82);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(212, 175, 55, 0.4);
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 700;
  color: #E5C76B;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.spa-estetica-img-badge i,
.spa-estetica-img-badge svg {
  width: 14px;
  height: 14px;
  color: #D4AF37;
  flex: 0 0 auto;
}

.spa-estetica-content-col {
  display: flex;
  flex-direction: column;
}

.spa-estetica-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #8A6D15;
  margin-bottom: 18px;
  align-self: flex-start;
}

.spa-estetica-badge i,
.spa-estetica-badge svg {
  width: 16px;
  height: 16px;
  color: #AA8C2C;
}

.spa-estetica-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.2rem, 4vw, 3rem);
  font-weight: 700;
  color: #0E2418;
  margin-bottom: 20px;
  line-height: 1.2;
}

.spa-estetica-lead {
  font-size: 1.08rem;
  line-height: 1.8;
  color: #2D4034;
  margin-bottom: 24px;
}

.spa-estetica-protocols-intro p {
  font-size: 1rem;
  font-weight: 600;
  color: #0E2418;
  margin-bottom: 16px;
}

.spa-estetica-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px 16px;
  list-style: none;
  padding: 0;
  margin: 0 0 28px 0;
}

.spa-estetica-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.95rem;
  font-weight: 600;
  color: #1E3326;
  background: #FFFFFF;
  border: 1px solid rgba(212, 175, 55, 0.22);
  padding: 10px 14px;
  border-radius: 14px;
  box-shadow: 0 4px 12px rgba(14, 36, 24, 0.03);
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.spa-estetica-list li:hover {
  transform: translateX(4px);
  border-color: rgba(212, 175, 55, 0.55);
  box-shadow: 0 6px 18px rgba(14, 36, 24, 0.08);
}

.spa-estetica-list li i,
.spa-estetica-list li svg {
  width: 18px;
  height: 18px;
  color: #AA8C2C;
  flex: 0 0 auto;
}

.spa-estetica-conclusion {
  font-size: 1rem;
  line-height: 1.75;
  color: #384D40;
  font-style: italic;
  padding-left: 18px;
  border-left: 3px solid #D4AF37;
  margin-bottom: 32px;
}

.spa-estetica-actions {
  display: flex;
  align-items: center;
}

.spa-estetica-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 16px 32px;
  background: linear-gradient(135deg, #0E2418 0%, #1A3626 100%);
  color: #F5F1E7;
  font-weight: 700;
  font-size: 1rem;
  border: 1px solid rgba(212, 175, 55, 0.4);
  border-radius: 999px;
  text-decoration: none;
  box-shadow: 0 10px 25px rgba(14, 36, 24, 0.2);
  transition: transform 0.25s ease, box-shadow 0.25s ease, color 0.25s ease;
}

.spa-estetica-cta-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 32px rgba(14, 36, 24, 0.35);
  color: #E5C76B;
}

.spa-estetica-cta-btn i,
.spa-estetica-cta-btn svg {
  width: 20px;
  height: 20px;
  transition: transform 0.25s ease;
}

.spa-estetica-cta-btn:hover i,
.spa-estetica-cta-btn:hover svg {
  transform: translateX(4px);
}

/* Responsividade Spa & EstÃ©tica Natural */
@media (max-width: 1024px) {
  .spa-estetica-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .spa-estetica-collage {
    gap: 16px;
  }

  .spa-estetica-img-card.card-primary,
  .spa-estetica-img-card.card-secondary {
    transform: none;
  }

  .spa-estetica-img-card img {
    height: 280px;
  }
}

@media (max-width: 640px) {
  .spa-estetica-section {
    padding: 60px 0;
  }

  .spa-estetica-collage {
    grid-template-columns: 1fr;
  }

  .spa-estetica-list {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .spa-estetica-img-card img {
    height: 240px;
  }

  .spa-estetica-cta-btn {
    width: 100%;
    justify-content: center;
    padding: 14px 20px;
    font-size: 0.92rem;
  }
}

/* =========================================================
SECTION: DEPILAÃ‡ÃƒO NA CERA
========================================================= */
.depilacao-section {
  position: relative;
  padding: 90px 0;
  overflow: hidden;
}

.depilacao-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.depilacao-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.depilacao-bg-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(245, 241, 231, 0.58) 0%, rgba(251, 249, 245, 0.68) 100%);
}

.depilacao-container {
  position: relative;
  z-index: 1;
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 24px;
}

.depilacao-grid {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 56px;
  align-items: center;
}

.depilacao-content-col {
  display: flex;
  flex-direction: column;
}

.depilacao-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #8A6D15;
  margin-bottom: 18px;
  align-self: flex-start;
}

.depilacao-badge i,
.depilacao-badge svg {
  width: 16px;
  height: 16px;
  color: #AA8C2C;
}

.depilacao-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.2rem, 4vw, 3rem);
  font-weight: 700;
  color: #0E2418;
  margin-bottom: 20px;
  line-height: 1.2;
}

.depilacao-lead {
  font-size: 1.08rem;
  line-height: 1.8;
  color: #2D4034;
  margin-bottom: 24px;
}

.depilacao-protocols-intro p {
  font-size: 1rem;
  font-weight: 600;
  color: #0E2418;
  margin-bottom: 16px;
}

.depilacao-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px 16px;
  list-style: none;
  padding: 0;
  margin: 0 0 28px 0;
}

.depilacao-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.95rem;
  font-weight: 600;
  color: #1E3326;
  background: #FFFFFF;
  border: 1px solid rgba(212, 175, 55, 0.22);
  padding: 10px 14px;
  border-radius: 14px;
  box-shadow: 0 4px 12px rgba(14, 36, 24, 0.03);
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.depilacao-list li:hover {
  transform: translateX(4px);
  border-color: rgba(212, 175, 55, 0.55);
  box-shadow: 0 6px 18px rgba(14, 36, 24, 0.08);
}

.depilacao-list li i,
.depilacao-list li svg {
  width: 18px;
  height: 18px;
  color: #AA8C2C;
  flex: 0 0 auto;
}

.depilacao-conclusion {
  font-size: 1rem;
  line-height: 1.75;
  color: #384D40;
  font-style: italic;
  padding-left: 18px;
  border-left: 3px solid #D4AF37;
  margin-bottom: 32px;
}

.depilacao-actions {
  display: flex;
  align-items: center;
}

.depilacao-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 16px 32px;
  background: linear-gradient(135deg, #0E2418 0%, #1A3626 100%);
  color: #F5F1E7;
  font-weight: 700;
  font-size: 1rem;
  border: 1px solid rgba(212, 175, 55, 0.4);
  border-radius: 999px;
  text-decoration: none;
  box-shadow: 0 10px 25px rgba(14, 36, 24, 0.2);
  transition: transform 0.25s ease, box-shadow 0.25s ease, color 0.25s ease;
}

.depilacao-cta-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 32px rgba(14, 36, 24, 0.35);
  color: #E5C76B;
}

.depilacao-cta-btn i,
.depilacao-cta-btn svg {
  width: 20px;
  height: 20px;
  transition: transform 0.25s ease;
}

.depilacao-cta-btn:hover i,
.depilacao-cta-btn:hover svg {
  transform: translateX(4px);
}

.depilacao-image-wrapper {
  position: relative;
  border-radius: 28px;
  overflow: hidden;
  border: 1px solid rgba(212, 175, 55, 0.35);
  box-shadow: 0 20px 50px rgba(14, 36, 24, 0.12);
}

.depilacao-image-wrapper img {
  width: 100%;
  height: 540px;
  object-fit: cover;
  display: block;
  transition: transform 0.6s ease;
}

.depilacao-image-wrapper:hover img {
  transform: scale(1.04);
}

.depilacao-image-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(14, 36, 24, 0.15) 0%, rgba(14, 36, 24, 0.4) 100%);
  pointer-events: none;
}

.depilacao-img-badge {
  position: absolute;
  top: 24px;
  right: 24px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  background: rgba(14, 36, 24, 0.85);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(212, 175, 55, 0.4);
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 700;
  color: #E5C76B;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

.depilacao-img-badge i,
.depilacao-img-badge svg {
  width: 16px;
  height: 16px;
  color: #D4AF37;
}

/* Responsividade DepilaÃ§Ã£o */
@media (max-width: 1024px) {
  .depilacao-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .depilacao-image-wrapper img {
    height: 420px;
  }

  .depilacao-image-col {
    order: -1;
  }
}

@media (max-width: 640px) {
  .depilacao-section {
    padding: 60px 0;
  }

  .depilacao-list {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .depilacao-image-wrapper img {
    height: 320px;
  }

  .depilacao-cta-btn {
    width: 100%;
    justify-content: center;
    padding: 14px 20px;
    font-size: 0.92rem;
  }
}

/* =========================================================
SECTION: COMO ESCOLHEMOS O TRATAMENTO
========================================================= */
.como-escolhemos-section {
  position: relative;
  padding: 90px 0;
  background: linear-gradient(180deg, #FBF9F5 0%, #F5F1E7 50%, #FBF9F5 100%);
  overflow: hidden;
}

.como-escolhemos-container {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 24px;
}

.como-escolhemos-header {
  margin-bottom: 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.como-escolhemos-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #8A6D15;
  margin-bottom: 20px;
}

.como-escolhemos-badge i,
.como-escolhemos-badge svg {
  width: 16px;
  height: 16px;
  color: #AA8C2C;
}

.como-escolhemos-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2rem, 4vw, 2.75rem);
  font-weight: 700;
  line-height: 1.25;
  color: #0E2418;
  max-width: 900px;
  margin: 0 auto 20px;
}

.como-escolhemos-title-accent {
  color: #AA8C2C;
  font-style: italic;
}

.como-escolhemos-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
  max-width: 260px;
  margin-top: 10px;
}

.como-escolhemos-divider-line {
  height: 1px;
  flex: 1;
  background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.5), transparent);
}

.como-escolhemos-divider i,
.como-escolhemos-divider svg {
  width: 18px;
  height: 18px;
  color: #AA8C2C;
}

.como-escolhemos-intro-card {
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(212, 175, 55, 0.28);
  border-radius: 24px;
  padding: 32px 40px;
  margin-bottom: 40px;
  box-shadow: 0 12px 35px rgba(14, 36, 24, 0.05);
  text-align: center;
}

.como-escolhemos-lead {
  font-size: 1.15rem;
  line-height: 1.85;
  color: #1A3023;
}

.como-escolhemos-objectives-box {
  background: #FFFFFF;
  border: 1px solid rgba(212, 175, 55, 0.3);
  border-radius: 28px;
  padding: 40px 48px;
  margin-bottom: 40px;
  box-shadow: 0 16px 40px rgba(14, 36, 24, 0.06);
}

.como-escolhemos-intro-title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.35rem;
  font-weight: 700;
  color: #0E2418;
  margin-bottom: 28px;
}

.como-escolhemos-intro-title i,
.como-escolhemos-intro-title svg {
  width: 22px;
  height: 22px;
  color: #AA8C2C;
}

.como-escolhemos-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px 24px;
  margin-bottom: 28px;
}

.como-escolhemos-item {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 1.02rem;
  font-weight: 600;
  color: #1E3326;
  background: #FCFAF7;
  border: 1px solid rgba(212, 175, 55, 0.22);
  padding: 14px 20px;
  border-radius: 16px;
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.como-escolhemos-item:hover {
  transform: translateX(4px);
  border-color: rgba(212, 175, 55, 0.6);
  box-shadow: 0 8px 20px rgba(14, 36, 24, 0.08);
  background: #FFFFFF;
}

.como-escolhemos-item i,
.como-escolhemos-item svg {
  width: 20px;
  height: 20px;
  color: #AA8C2C;
  flex: 0 0 auto;
}

.como-escolhemos-indication {
  font-size: 1.08rem;
  font-weight: 700;
  color: #8A6D15;
  text-align: center;
  padding: 16px 24px;
  background: rgba(212, 175, 55, 0.1);
  border: 1px solid rgba(212, 175, 55, 0.25);
  border-radius: 16px;
}

.como-escolhemos-conclusion-card {
  background: linear-gradient(135deg, #0E2418 0%, #1A3626 100%);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 28px;
  padding: 44px 52px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  box-shadow: 0 20px 50px rgba(14, 36, 24, 0.18);
  position: relative;
  overflow: hidden;
}

.como-escolhemos-quote-icon {
  width: 50px;
  height: 50px;
  border-radius: 999px;
  background: rgba(212, 175, 55, 0.15);
  border: 1px solid rgba(212, 175, 55, 0.4);
  color: #E5C76B;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
}

.como-escolhemos-quote-icon i,
.como-escolhemos-quote-icon svg {
  width: 24px;
  height: 24px;
}

.como-escolhemos-conclusion-text {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.35rem;
  line-height: 1.7;
  color: #F5F1E7;
  max-width: 840px;
  margin-bottom: 32px;
}

.como-escolhemos-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 16px 36px;
  background: linear-gradient(135deg, #D4AF37 0%, #AA8C2C 100%);
  color: #0E2418;
  font-weight: 700;
  font-size: 1.02rem;
  border-radius: 999px;
  text-decoration: none;
  box-shadow: 0 10px 25px rgba(170, 140, 44, 0.3);
  transition: transform 0.25s ease, box-shadow 0.25s ease, color 0.25s ease;
}

.como-escolhemos-cta-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 32px rgba(170, 140, 44, 0.45);
  color: #0E2418;
}

.como-escolhemos-cta-btn i,
.como-escolhemos-cta-btn svg {
  width: 20px;
  height: 20px;
}

/* Responsividade Como Escolhemos */
@media (max-width: 992px) {
  .como-escolhemos-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .como-escolhemos-objectives-box {
    padding: 32px 24px;
  }

  .como-escolhemos-conclusion-card {
    padding: 36px 28px;
  }

  .como-escolhemos-conclusion-text {
    font-size: 1.15rem;
  }
}

@media (max-width: 640px) {
  .como-escolhemos-section {
    padding: 60px 0;
  }

  .como-escolhemos-intro-card {
    padding: 24px 20px;
  }

  .como-escolhemos-lead {
    font-size: 1.02rem;
  }

  .como-escolhemos-cta-btn {
    width: 100%;
    justify-content: center;
    padding: 14px 20px;
    font-size: 0.92rem;
  }
}

/* =========================================================
SECTION: QUAL TRATAMENTO Ã‰ INDICADO PARA VOCÃŠ
========================================================= */
.qual-tratamento-section {
  position: relative;
  padding: 90px 0;
  background: #FCFAF7;
  overflow: hidden;
}

.qual-tratamento-container {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 24px;
}

.qual-tratamento-header {
  margin-bottom: 44px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.qual-tratamento-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #8A6D15;
  margin-bottom: 20px;
}

.qual-tratamento-badge i,
.qual-tratamento-badge svg {
  width: 16px;
  height: 16px;
  color: #AA8C2C;
}

.qual-tratamento-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2rem, 4vw, 2.75rem);
  font-weight: 700;
  line-height: 1.25;
  color: #0E2418;
  max-width: 900px;
  margin: 0 auto 20px;
}

.qual-tratamento-title-accent {
  color: #AA8C2C;
  font-style: italic;
}

.qual-tratamento-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
  max-width: 260px;
  margin-top: 10px;
}

.qual-tratamento-divider-line {
  height: 1px;
  flex: 1;
  background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.5), transparent);
}

.qual-tratamento-divider i,
.qual-tratamento-divider svg {
  width: 18px;
  height: 18px;
  color: #AA8C2C;
}

.qual-tratamento-table-wrapper {
  background: #FFFFFF;
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 28px;
  box-shadow: 0 20px 50px rgba(14, 36, 24, 0.08);
  overflow: hidden;
  margin-bottom: 48px;
}

.qual-tratamento-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
}

.qual-tratamento-table thead {
  background: linear-gradient(135deg, #0E2418 0%, #1A3626 100%);
  color: #F5F1E7;
}

.qual-tratamento-table th {
  padding: 22px 28px;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.15rem;
  font-weight: 700;
  border-bottom: 2px solid rgba(212, 175, 55, 0.4);
}

.qual-tratamento-table th .th-content {
  display: flex;
  align-items: center;
  gap: 10px;
}

.qual-tratamento-table th i,
.qual-tratamento-table th svg {
  width: 18px;
  height: 18px;
  color: #E5C76B;
}

.qual-tratamento-table tbody tr {
  border-bottom: 1px solid rgba(212, 175, 55, 0.2);
  transition: background 0.25s ease;
}

.qual-tratamento-table tbody tr:last-child {
  border-bottom: none;
}

.qual-tratamento-table tbody tr:hover {
  background: rgba(212, 175, 55, 0.06);
}

.qual-tratamento-table td {
  padding: 24px 28px;
  vertical-align: middle;
  font-size: 0.98rem;
  line-height: 1.65;
  color: #2C3E33;
}

.qual-tratamento-table td.td-treatment {
  width: 25%;
}

.qual-tratamento-table td.td-indicated {
  width: 35%;
  font-weight: 500;
  color: #1E3326;
}

.qual-tratamento-table td.td-techniques {
  width: 40%;
  color: #4A5D50;
}

.treatment-name {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 1.1rem;
  color: #0E2418;
}

.treatment-name i,
.treatment-name svg {
  width: 20px;
  height: 20px;
  color: #AA8C2C;
  flex: 0 0 auto;
}

.qual-tratamento-bottom-card {
  background: linear-gradient(135deg, #0E2418 0%, #1A3626 100%);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 24px;
  padding: 32px 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  box-shadow: 0 16px 40px rgba(14, 36, 24, 0.15);
}

.qual-tratamento-bottom-card p {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.25rem;
  color: #F5F1E7;
}

.qual-tratamento-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 14px 28px;
  background: linear-gradient(135deg, #D4AF37 0%, #AA8C2C 100%);
  color: #0E2418;
  font-weight: 700;
  font-size: 0.98rem;
  border-radius: 999px;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 10px 25px rgba(170, 140, 44, 0.3);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.qual-tratamento-cta-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 32px rgba(170, 140, 44, 0.45);
  color: #0E2418;
}

.qual-tratamento-cta-btn i,
.qual-tratamento-cta-btn svg {
  width: 18px;
  height: 18px;
}

/* Responsividade Qual Tratamento */
@media (max-width: 992px) {
  .qual-tratamento-table-wrapper {
    background: transparent;
    border: none;
    box-shadow: none;
    overflow: visible;
  }

  .qual-tratamento-table,
  .qual-tratamento-table thead,
  .qual-tratamento-table tbody,
  .qual-tratamento-table th,
  .qual-tratamento-table td,
  .qual-tratamento-table tr {
    display: block;
  }

  .qual-tratamento-table thead {
    display: none;
  }

  .qual-tratamento-table tbody tr {
    background: #FFFFFF;
    border: 1px solid rgba(212, 175, 55, 0.35);
    border-radius: 20px;
    padding: 24px;
    margin-bottom: 20px;
    box-shadow: 0 10px 30px rgba(14, 36, 24, 0.06);
  }

  .qual-tratamento-table td {
    padding: 10px 0;
    width: 100% !important;
    border: none;
  }

  .qual-tratamento-table td.td-treatment {
    border-bottom: 1px solid rgba(212, 175, 55, 0.2);
    padding-bottom: 16px;
    margin-bottom: 12px;
  }

  .qual-tratamento-table td::before {
    content: attr(data-label);
    display: block;
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #8A6D15;
    margin-bottom: 4px;
  }

  .qual-tratamento-table td.td-treatment::before {
    display: none;
  }

  .qual-tratamento-bottom-card {
    flex-direction: column;
    text-align: center;
    padding: 28px 24px;
  }
}

@media (max-width: 640px) {
  .qual-tratamento-section {
    padding: 60px 0;
  }

  .qual-tratamento-cta-btn {
    width: 100%;
    justify-content: center;
  }
}

/* =========================================================
SECTION: SOBRE MASSOTERAPIA (PÃGINA DEDICADA)
========================================================= */
.sobre-massoterapia-section {
  position: relative;
  padding: 95px 0;
  background: linear-gradient(180deg, #FCFAF7 0%, #F5F1E7 50%, #FCFAF7 100%);
  overflow: hidden;
}

.sobre-massoterapia-container {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 24px;
}

.sobre-massoterapia-header {
  margin-bottom: 44px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.sobre-massoterapia-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #8A6D15;
  margin-bottom: 20px;
}

.sobre-massoterapia-badge i,
.sobre-massoterapia-badge svg {
  width: 16px;
  height: 16px;
  color: #AA8C2C;
}

.sobre-massoterapia-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.1rem, 4.5vw, 2.9rem);
  font-weight: 700;
  line-height: 1.25;
  color: #0E2418;
  max-width: 900px;
  margin: 0 auto 20px;
}

.sobre-massoterapia-title-accent {
  color: #AA8C2C;
  font-style: italic;
}

.sobre-massoterapia-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
  max-width: 260px;
  margin-top: 10px;
}

.sobre-massoterapia-divider-line {
  height: 1px;
  flex: 1;
  background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.5), transparent);
}

.sobre-massoterapia-divider i,
.sobre-massoterapia-divider svg {
  width: 18px;
  height: 18px;
  color: #AA8C2C;
}

.sobre-massoterapia-intro-card {
  background: linear-gradient(135deg, #0E2418 0%, #1A3626 100%);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 28px;
  padding: 36px 44px;
  margin-bottom: 56px;
  box-shadow: 0 20px 50px rgba(14, 36, 24, 0.12);
  position: relative;
  overflow: hidden;
}

.sobre-massoterapia-intro-card::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -20%;
  width: 300px;
  height: 300px;
  background: radial-gradient(circle, rgba(212, 175, 55, 0.15) 0%, transparent 70%);
  pointer-events: none;
}

.sobre-massoterapia-lead {
  font-size: 1.2rem;
  line-height: 1.75;
  color: #F5F1E7;
  font-weight: 400;
  margin: 0;
}

.sobre-massoterapia-lead strong {
  color: #E5C76B;
  font-weight: 700;
}

.sobre-massoterapia-lead em {
  color: #D4AF37;
  font-style: italic;
}

.sobre-massoterapia-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
}

.sobre-massoterapia-collage {
  display: flex;
  flex-direction: column;
  gap: 24px;
  position: relative;
}

.sobre-massoterapia-img-card {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 16px 40px rgba(14, 36, 24, 0.1);
  border: 1px solid rgba(212, 175, 55, 0.3);
}

.sobre-massoterapia-img-card img {
  width: 100%;
  height: 340px;
  object-fit: cover;
  display: block;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.sobre-massoterapia-img-card:hover img {
  transform: scale(1.05);
}

.sobre-massoterapia-img-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 50%, rgba(14, 36, 24, 0.65) 100%);
  pointer-events: none;
}

.sobre-massoterapia-img-badge {
  position: absolute;
  bottom: 16px;
  left: 20px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  background: rgba(14, 36, 24, 0.85);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(212, 175, 55, 0.4);
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 700;
  color: #E5C76B;
}

.sobre-massoterapia-img-badge i,
.sobre-massoterapia-img-badge svg {
  width: 16px;
  height: 16px;
  color: #AA8C2C;
}

.sobre-massoterapia-info-col {
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.sobre-massoterapia-info-card {
  background: #FFFFFF;
  border: 1px solid rgba(212, 175, 55, 0.3);
  border-radius: 24px;
  padding: 32px;
  box-shadow: 0 12px 36px rgba(14, 36, 24, 0.06);
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.sobre-massoterapia-info-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 45px rgba(14, 36, 24, 0.1);
  border-color: rgba(212, 175, 55, 0.6);
}

.info-card-header {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 16px;
}

.info-card-icon {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(212, 175, 55, 0.15) 0%, rgba(170, 140, 44, 0.25) 100%);
  border: 1px solid rgba(212, 175, 55, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #8A6D15;
  flex-shrink: 0;
}

.info-card-icon i,
.info-card-icon svg {
  width: 22px;
  height: 22px;
}

.info-card-header h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.4rem;
  font-weight: 700;
  color: #0E2418;
  margin: 0;
}

.info-card-text {
  font-size: 1rem;
  line-height: 1.7;
  color: #33473B;
  margin: 0 0 20px;
}

.info-card-text:last-child {
  margin-bottom: 0;
}

.info-card-action {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid rgba(212, 175, 55, 0.2);
}

.sobre-massoterapia-wsp-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 24px;
  background: linear-gradient(135deg, #D4AF37 0%, #AA8C2C 100%);
  color: #0E2418;
  font-weight: 700;
  font-size: 0.92rem;
  border-radius: 999px;
  text-decoration: none;
  box-shadow: 0 8px 20px rgba(170, 140, 44, 0.25);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.sobre-massoterapia-wsp-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(170, 140, 44, 0.4);
  color: #0E2418;
}

.sobre-massoterapia-wsp-btn svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

/* Responsividade Sobre Massoterapia */
@media (max-width: 992px) {
  .sobre-massoterapia-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .sobre-massoterapia-intro-card {
    padding: 28px 24px;
  }

  .sobre-massoterapia-lead {
    font-size: 1.08rem;
  }

  .sobre-massoterapia-img-card img {
    height: 280px;
  }
}

@media (max-width: 640px) {
  .sobre-massoterapia-section {
    padding: 60px 0;
  }

  .sobre-massoterapia-info-card {
    padding: 24px 20px;
  }

  .sobre-massoterapia-wsp-btn {
    width: 100%;
    justify-content: center;
  }
}

/* =========================================================
SECTION: 12 MASSAGENS TERAPÃŠUTICAS
========================================================= */
.doze-massagens-section {
  position: relative;
  padding: 95px 0;
  background: #FCFAF7;
  overflow: hidden;
}

.doze-massagens-container {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 24px;
}

.doze-massagens-header {
  margin-bottom: 50px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.doze-massagens-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #8A6D15;
  margin-bottom: 20px;
}

.doze-massagens-badge i,
.doze-massagens-badge svg {
  width: 16px;
  height: 16px;
  color: #AA8C2C;
}

.doze-massagens-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.1rem, 4.5vw, 2.9rem);
  font-weight: 700;
  line-height: 1.25;
  color: #0E2418;
  max-width: 920px;
  margin: 0 auto 20px;
}

.doze-massagens-title-accent {
  color: #AA8C2C;
  font-style: italic;
}

.doze-massagens-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
  max-width: 260px;
  margin-top: 10px;
}

.doze-massagens-divider-line {
  height: 1px;
  flex: 1;
  background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.5), transparent);
}

.doze-massagens-divider i,
.doze-massagens-divider svg {
  width: 18px;
  height: 18px;
  color: #AA8C2C;
}

.doze-massagens-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  margin-bottom: 64px;
}

.protocol-card {
  background: #FFFFFF;
  border: 1px solid rgba(212, 175, 55, 0.3);
  border-radius: 24px;
  padding: 30px;
  box-shadow: 0 10px 30px rgba(14, 36, 24, 0.05);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s ease, border-color 0.35s ease;
  position: relative;
}

.protocol-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 45px rgba(14, 36, 24, 0.12);
  border-color: rgba(212, 175, 55, 0.7);
}

.protocol-card.card-featured {
  background: linear-gradient(135deg, #0E2418 0%, #1A3626 100%);
  border: 1px solid rgba(212, 175, 55, 0.5);
  box-shadow: 0 16px 40px rgba(14, 36, 24, 0.15);
}

.protocol-card.card-featured .protocol-title {
  color: #F5F1E7;
}

.protocol-card.card-featured .protocol-foco {
  color: #D3C9B8;
}

.protocol-card.card-featured .protocol-num {
  color: rgba(229, 199, 107, 0.35);
}

.protocol-card.card-featured .protocol-card-icon {
  background: rgba(212, 175, 55, 0.2);
  border-color: rgba(212, 175, 55, 0.5);
  color: #E5C76B;
}

.protocol-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
}

.protocol-card-icon {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #8A6D15;
  transition: transform 0.3s ease;
}

.protocol-card:hover .protocol-card-icon {
  transform: scale(1.08);
}

.protocol-card-icon i,
.protocol-card-icon svg {
  width: 20px;
  height: 20px;
}

.protocol-num {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: rgba(212, 175, 55, 0.35);
}

.protocol-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.35rem;
  font-weight: 700;
  color: #0E2418;
  margin: 0 0 10px;
  line-height: 1.3;
}

.protocol-foco {
  font-size: 0.96rem;
  line-height: 1.6;
  color: #4A5D50;
  margin: 0 0 20px;
  flex: 1;
}

.protocol-card-footer {
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid rgba(212, 175, 55, 0.18);
}

.protocol-badge {
  display: inline-block;
  padding: 4px 12px;
  background: rgba(212, 175, 55, 0.1);
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #8A6D15;
}

.protocol-badge.badge-gold {
  background: linear-gradient(135deg, #D4AF37 0%, #AA8C2C 100%);
  color: #0E2418;
}

.doze-massagens-table-wrapper {
  background: #FFFFFF;
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 28px;
  box-shadow: 0 16px 45px rgba(14, 36, 24, 0.07);
  overflow: hidden;
  margin-bottom: 48px;
}

.table-header-box {
  background: linear-gradient(135deg, #0E2418 0%, #1A3626 100%);
  padding: 20px 28px;
  border-bottom: 2px solid rgba(212, 175, 55, 0.4);
}

.table-header-box h3 {
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: #F5F1E7;
  margin: 0;
}

.table-header-box i,
.table-header-box svg {
  width: 20px;
  height: 20px;
  color: #E5C76B;
}

.doze-massagens-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
}

.doze-massagens-table th {
  background: rgba(212, 175, 55, 0.08);
  padding: 16px 28px;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.05rem;
  font-weight: 700;
  color: #0E2418;
  border-bottom: 1px solid rgba(212, 175, 55, 0.25);
}

.doze-massagens-table td {
  padding: 18px 28px;
  font-size: 0.96rem;
  line-height: 1.6;
  color: #2C3E33;
  border-bottom: 1px solid rgba(212, 175, 55, 0.15);
}

.doze-massagens-table tbody tr:last-child td {
  border-bottom: none;
}

.doze-massagens-table tbody tr:hover {
  background: rgba(212, 175, 55, 0.05);
}

.doze-massagens-cta-card {
  background: linear-gradient(135deg, #0E2418 0%, #1A3626 100%);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 24px;
  padding: 32px 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  box-shadow: 0 16px 40px rgba(14, 36, 24, 0.15);
}

.doze-cta-text h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.35rem;
  font-weight: 700;
  color: #F5F1E7;
  margin: 0 0 6px;
}

.doze-cta-text p {
  font-size: 0.96rem;
  color: #D3C9B8;
  margin: 0;
}

.doze-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 14px 28px;
  background: linear-gradient(135deg, #D4AF37 0%, #AA8C2C 100%);
  color: #0E2418;
  font-weight: 700;
  font-size: 0.98rem;
  border-radius: 999px;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 10px 25px rgba(170, 140, 44, 0.3);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.doze-cta-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 32px rgba(170, 140, 44, 0.45);
  color: #0E2418;
}

.doze-cta-btn svg {
  width: 18px;
  height: 18px;
}

/* Responsividade 12 Massagens */
@media (max-width: 1100px) {
  .doze-massagens-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .doze-massagens-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .doze-massagens-cta-card {
    flex-direction: column;
    text-align: center;
    padding: 28px 24px;
  }

  .doze-cta-btn {
    width: 100%;
    justify-content: center;
  }

  .doze-massagens-table th,
  .doze-massagens-table td {
    padding: 14px 18px;
  }
}

/* =========================================================
SECTIONS: BENEFÃCIOS, COMO FUNCIONA E PARA QUEM Ã‰ INDICADO
========================================================= */
.beneficios-massoterapia-section {
  position: relative;
  padding: 95px 0;
  background: linear-gradient(180deg, #FCFAF7 0%, #F5F1E7 50%, #FCFAF7 100%);
  overflow: hidden;
}

.beneficios-container {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 24px;
}

.beneficios-header {
  margin-bottom: 50px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.beneficios-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #8A6D15;
  margin-bottom: 20px;
}

.beneficios-badge i,
.beneficios-badge svg {
  width: 16px;
  height: 16px;
  color: #AA8C2C;
}

.beneficios-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.1rem, 4.5vw, 2.9rem);
  font-weight: 700;
  line-height: 1.25;
  color: #0E2418;
  margin: 0 0 20px;
}

.beneficios-title-accent {
  color: #AA8C2C;
  font-style: italic;
}

.beneficios-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
  max-width: 260px;
}

.beneficios-divider-line {
  height: 1px;
  flex: 1;
  background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.5), transparent);
}

.beneficios-divider i,
.beneficios-divider svg {
  width: 18px;
  height: 18px;
  color: #AA8C2C;
}

.beneficios-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 52px;
  align-items: center;
}

.beneficios-list-col {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.beneficio-item-card {
  background: #FFFFFF;
  border: 1px solid rgba(212, 175, 55, 0.3);
  border-radius: 20px;
  padding: 22px 28px;
  display: flex;
  align-items: flex-start;
  gap: 20px;
  box-shadow: 0 8px 24px rgba(14, 36, 24, 0.05);
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.beneficio-item-card:hover {
  transform: translateX(6px);
  box-shadow: 0 14px 36px rgba(14, 36, 24, 0.1);
  border-color: rgba(212, 175, 55, 0.6);
}

.beneficio-icon-box {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(212, 175, 55, 0.15) 0%, rgba(170, 140, 44, 0.25) 100%);
  border: 1px solid rgba(212, 175, 55, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #8A6D15;
  flex-shrink: 0;
}

.beneficio-icon-box i,
.beneficio-icon-box svg {
  width: 22px;
  height: 22px;
}

.beneficio-item-body h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.15rem;
  font-weight: 700;
  color: #0E2418;
  margin: 0 0 6px;
}

.beneficio-item-body p {
  font-size: 0.95rem;
  line-height: 1.6;
  color: #4A5D50;
  margin: 0;
}

.beneficios-img-wrapper {
  position: relative;
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(14, 36, 24, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.35);
}

.beneficios-img-wrapper img {
  width: 100%;
  height: 520px;
  object-fit: cover;
  display: block;
}

.beneficios-img-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 60%, rgba(14, 36, 24, 0.6) 100%);
}

.beneficios-floating-badge {
  position: absolute;
  bottom: 24px;
  left: 24px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 20px;
  background: rgba(14, 36, 24, 0.88);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(212, 175, 55, 0.4);
  border-radius: 999px;
  font-size: 0.9rem;
  font-weight: 700;
  color: #E5C76B;
}

.beneficios-floating-badge i,
.beneficios-floating-badge svg {
  width: 18px;
  height: 18px;
  color: #AA8C2C;
}

/* =========================================================
SECTION: COMO FUNCIONA A SESSÃƒO
========================================================= */
.como-funciona-sessao-section {
  position: relative;
  padding: 95px 0;
  background: linear-gradient(135deg, #0E2418 0%, #1A3626 100%);
  overflow: hidden;
  color: #F5F1E7;
}

.como-funciona-sessao-bg {
  position: absolute;
  inset: 0;
  opacity: 0.08;
  pointer-events: none;
}

.como-funciona-sessao-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.como-funciona-sessao-container {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 24px;
  position: relative;
  z-index: 1;
}

.como-funciona-sessao-header {
  margin-bottom: 50px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.como-funciona-sessao-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  background: rgba(212, 175, 55, 0.15);
  border: 1px solid rgba(212, 175, 55, 0.4);
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #E5C76B;
  margin-bottom: 20px;
}

.como-funciona-sessao-badge i,
.como-funciona-sessao-badge svg {
  width: 16px;
  height: 16px;
  color: #AA8C2C;
}

.como-funciona-sessao-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.1rem, 4.5vw, 2.9rem);
  font-weight: 700;
  line-height: 1.25;
  color: #FFFFFF;
  margin: 0 0 20px;
}

.como-funciona-sessao-title-accent {
  color: #E5C76B;
  font-style: italic;
}

.como-funciona-sessao-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
  max-width: 260px;
}

.como-funciona-sessao-divider-line {
  height: 1px;
  flex: 1;
  background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.5), transparent);
}

.como-funciona-sessao-divider i,
.como-funciona-sessao-divider svg {
  width: 18px;
  height: 18px;
  color: #AA8C2C;
}

.como-funciona-sessao-content-grid {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 48px;
  align-items: center;
}

.sessao-card-main {
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 28px;
  padding: 40px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.2);
}

.sessao-card-header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;
}

.sessao-icon-glow {
  width: 52px;
  height: 52px;
  border-radius: 16px;
  background: rgba(212, 175, 55, 0.2);
  border: 1px solid rgba(212, 175, 55, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #E5C76B;
  flex-shrink: 0;
}

.sessao-icon-glow i,
.sessao-icon-glow svg {
  width: 24px;
  height: 24px;
}

.sessao-card-header h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: #FFFFFF;
  margin: 0;
}

.sessao-card-text {
  font-size: 1.12rem;
  line-height: 1.8;
  color: #E2DAD0;
  margin: 0 0 28px;
}

.sessao-highlights-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.sessao-hl-item {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 1rem;
  color: #F5F1E7;
}

.sessao-hl-item i,
.sessao-hl-item svg {
  width: 18px;
  height: 18px;
  color: #E5C76B;
  flex-shrink: 0;
}

.sessao-img-card {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid rgba(212, 175, 55, 0.4);
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.3);
}

.sessao-img-card img {
  width: 100%;
  height: 380px;
  object-fit: cover;
  display: block;
}

.sessao-img-badge {
  position: absolute;
  bottom: 20px;
  left: 20px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  background: rgba(14, 36, 24, 0.9);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(212, 175, 55, 0.4);
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 700;
  color: #E5C76B;
}

.sessao-img-badge i,
.sessao-img-badge svg {
  width: 16px;
  height: 16px;
  color: #AA8C2C;
}

/* =========================================================
SECTION: PARA QUEM Ã‰ INDICADO
========================================================= */
.para-quem-indicado-section {
  position: relative;
  padding: 95px 0;
  background: #FCFAF7;
  overflow: hidden;
}

.para-quem-container {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 24px;
}

.para-quem-header {
  margin-bottom: 44px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.para-quem-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #8A6D15;
  margin-bottom: 20px;
}

.para-quem-badge i,
.para-quem-badge svg {
  width: 16px;
  height: 16px;
  color: #AA8C2C;
}

.para-quem-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.1rem, 4.5vw, 2.9rem);
  font-weight: 700;
  line-height: 1.25;
  color: #0E2418;
  margin: 0 0 20px;
}

.para-quem-title-accent {
  color: #AA8C2C;
  font-style: italic;
}

.para-quem-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
  max-width: 260px;
}

.para-quem-divider-line {
  height: 1px;
  flex: 1;
  background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.5), transparent);
}

.para-quem-divider i,
.para-quem-divider svg {
  width: 18px;
  height: 18px;
  color: #AA8C2C;
}

.para-quem-card {
  background: #FFFFFF;
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 28px;
  padding: 44px;
  box-shadow: 0 16px 45px rgba(14, 36, 24, 0.06);
  margin-bottom: 56px;
}

.para-quem-text {
  font-size: 1.18rem;
  line-height: 1.8;
  color: #2C3E33;
  margin: 0 0 32px;
}

.para-quem-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.para-quem-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  background: rgba(212, 175, 55, 0.1);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 999px;
  font-size: 0.92rem;
  font-weight: 700;
  color: #0E2418;
  transition: transform 0.25s ease, background 0.25s ease;
}

.para-quem-pill:hover {
  transform: translateY(-2px);
  background: rgba(212, 175, 55, 0.18);
}

.para-quem-pill i,
.para-quem-pill svg {
  width: 16px;
  height: 16px;
  color: #AA8C2C;
}

.para-quem-cta-banner {
  background: linear-gradient(135deg, #0E2418 0%, #1A3626 100%);
  border: 1px solid rgba(212, 175, 55, 0.4);
  border-radius: 28px;
  padding: 48px;
  box-shadow: 0 20px 50px rgba(14, 36, 24, 0.18);
  position: relative;
  overflow: hidden;
}

.cta-banner-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
}

.cta-banner-content h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(1.5rem, 3vw, 2.1rem);
  font-weight: 700;
  color: #F5F1E7;
  margin: 0 0 12px 0;
  text-align: left;
}

.cta-banner-content p {
  font-size: 1.05rem;
  color: #D3C9B8;
  max-width: 720px;
  margin: 0 0 28px 0;
  text-align: left;
}

.para-quem-wsp-btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 16px 36px;
  background: linear-gradient(135deg, #D4AF37 0%, #AA8C2C 100%);
  color: #0E2418;
  font-weight: 800;
  font-size: 1.05rem;
  border-radius: 999px;
  text-decoration: none;
  box-shadow: 0 12px 30px rgba(170, 140, 44, 0.35);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.para-quem-wsp-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 40px rgba(170, 140, 44, 0.5);
  color: #0E2418;
}

.para-quem-wsp-btn svg {
  width: 22px;
  height: 22px;
}

/* Responsividade das 3 SeÃ§Ãµes */
@media (max-width: 992px) {

  .beneficios-grid,
  .como-funciona-sessao-content-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .beneficios-img-wrapper img {
    height: 380px;
  }

  .para-quem-card,
  .para-quem-cta-banner,
  .sessao-card-main {
    padding: 32px 24px;
  }
}

@media (max-width: 640px) {

  .beneficios-massoterapia-section,
  .como-funciona-sessao-section,
  .para-quem-indicado-section {
    padding: 60px 0;
  }

  .beneficio-item-card {
    padding: 18px 20px;
  }

  .para-quem-wsp-btn {
    width: 100%;
    justify-content: center;
    padding: 14px 20px;
    font-size: 0.94rem;
  }
}

/* ==========================================================================
   SECTION: SOBRE FISIOTERAPIA REABILITATÃ“RIA (#sobre-fisio-reablitacao)
   ========================================================================== */
.sobre-fisio-reabilitacao-section {
  position: relative;
  padding: 95px 0;
  background: linear-gradient(180deg, #FCFAF7 0%, #F4EFE6 50%, #FCFAF7 100%);
  overflow: hidden;
}

.sobre-fisio-container {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 24px;
}

.sobre-fisio-header {
  margin-bottom: 44px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.sobre-fisio-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #8A6D15;
  margin-bottom: 20px;
}

.sobre-fisio-badge i,
.sobre-fisio-badge svg {
  width: 16px;
  height: 16px;
  color: #AA8C2C;
}

.sobre-fisio-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.1rem, 4.5vw, 2.9rem);
  font-weight: 700;
  line-height: 1.25;
  color: #0E2418;
  max-width: 900px;
  margin: 0 auto 20px;
}

.sobre-fisio-title-accent {
  color: #AA8C2C;
  font-style: italic;
}

.sobre-fisio-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
  max-width: 260px;
  margin-top: 10px;
}

.sobre-fisio-divider-line {
  height: 1px;
  flex: 1;
  background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.5), transparent);
}

.sobre-fisio-divider i,
.sobre-fisio-divider svg {
  width: 18px;
  height: 18px;
  color: #AA8C2C;
}

.sobre-fisio-intro-card {
  background: linear-gradient(135deg, #0E2418 0%, #1A3626 100%);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 28px;
  padding: 38px 46px;
  margin-bottom: 56px;
  box-shadow: 0 20px 50px rgba(14, 36, 24, 0.14);
  position: relative;
  overflow: hidden;
}

.sobre-fisio-intro-card::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -20%;
  width: 350px;
  height: 350px;
  background: radial-gradient(circle, rgba(212, 175, 55, 0.15) 0%, transparent 70%);
  pointer-events: none;
}

.sobre-fisio-lead {
  font-size: 1.18rem;
  line-height: 1.8;
  color: #F5F1E7;
  font-weight: 400;
  margin: 0 0 16px 0;
}

.sobre-fisio-lead strong {
  color: #E5C76B;
  font-weight: 700;
}

.sobre-fisio-sublead {
  font-size: 1.1rem;
  line-height: 1.75;
  color: #D3C9B8;
  margin: 0;
}

.sobre-fisio-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: start;
  margin-bottom: 56px;
}

.sobre-fisio-media-col {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.sobre-fisio-img-wrapper {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.3);
}

.sobre-fisio-img-wrapper img {
  width: 100%;
  height: 380px;
  object-fit: cover;
  object-position: center center;
  display: block;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.sobre-fisio-img-wrapper:hover img {
  transform: scale(1.04);
}

.sobre-fisio-img-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 50%, rgba(14, 36, 24, 0.7) 100%);
  pointer-events: none;
}

.sobre-fisio-img-badge {
  position: absolute;
  bottom: 20px;
  left: 20px;
  right: 20px;
  background: rgba(14, 36, 24, 0.85);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(212, 175, 55, 0.4);
  border-radius: 14px;
  padding: 12px 18px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: #F5F1E7;
  font-size: 0.92rem;
  font-weight: 600;
}

.sobre-fisio-img-badge i,
.sobre-fisio-img-badge svg {
  width: 18px;
  height: 18px;
  color: #D4AF37;
  flex-shrink: 0;
}

.sobre-fisio-pillars {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.sobre-fisio-pillar-card {
  background: #FFFFFF;
  border: 1px solid rgba(212, 175, 55, 0.25);
  border-radius: 16px;
  padding: 16px 20px;
  display: flex;
  align-items: center;
  gap: 16px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
  transition: transform 0.3s ease, border-color 0.3s ease;
}

.sobre-fisio-pillar-card:hover {
  transform: translateY(-2px);
  border-color: rgba(212, 175, 55, 0.6);
}

.pillar-icon {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: rgba(212, 175, 55, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.pillar-icon i,
.pillar-icon svg {
  width: 20px;
  height: 20px;
  color: #AA8C2C;
}

.pillar-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.pillar-text strong {
  font-size: 0.98rem;
  color: #0E2418;
  font-weight: 700;
}

.pillar-text span {
  font-size: 0.88rem;
  color: #555555;
  line-height: 1.4;
}

.sobre-fisio-features-col {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.sf-feature-card {
  background: #FFFFFF;
  border: 1px solid rgba(0, 0, 0, 0.07);
  border-left: 4px solid #AA8C2C;
  border-radius: 18px;
  padding: 22px 26px;
  display: flex;
  gap: 18px;
  align-items: flex-start;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.04);
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.sf-feature-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 30px rgba(14, 36, 24, 0.09);
  border-color: rgba(212, 175, 55, 0.4);
  border-left-color: #D4AF37;
}

.sf-feature-icon {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: linear-gradient(135deg, #0E2418 0%, #1A3626 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.sf-feature-icon i,
.sf-feature-icon svg {
  width: 22px;
  height: 22px;
  color: #D4AF37;
}

.sf-feature-body {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.sf-feature-body h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.18rem;
  font-weight: 700;
  color: #0E2418;
  margin: 0;
}

.sf-feature-body p {
  font-size: 0.95rem;
  line-height: 1.6;
  color: #4A5568;
  margin: 0;
}

.sobre-fisio-cta-banner {
  background: linear-gradient(135deg, #0E2418 0%, #163322 100%);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 24px;
  padding: 36px 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  box-shadow: 0 16px 40px rgba(14, 36, 24, 0.12);
}

.sf-cta-content h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: #F5F1E7;
  margin: 0 0 6px 0;
}

.sf-cta-content p {
  font-size: 1rem;
  color: #D3C9B8;
  margin: 0;
}

.sobre-fisio-wsp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 16px 32px;
  background: linear-gradient(135deg, #D4AF37 0%, #AA8C2C 100%);
  color: #0E2418;
  font-weight: 700;
  font-size: 1rem;
  border-radius: 999px;
  text-decoration: none;
  box-shadow: 0 10px 25px rgba(170, 140, 44, 0.3);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  box-sizing: border-box;
  max-width: 100%;
}

.sobre-fisio-wsp-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 35px rgba(170, 140, 44, 0.45);
  color: #0E2418;
}

.sobre-fisio-wsp-btn svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

.sobre-fisio-wsp-btn span {
  text-align: center;
}

/* Responsividade de Sobre Fisioterapia ReabilitatÃ³ria */
@media (max-width: 992px) {
  .sobre-fisio-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .sobre-fisio-cta-banner {
    flex-direction: column;
    text-align: center;
    padding: 30px 24px;
  }

  .sf-cta-content h3 {
    font-size: 1.35rem;
  }

  .sobre-fisio-wsp-btn {
    width: 100%;
    justify-content: center;
    padding: 14px 20px;
    font-size: 0.94rem;
    white-space: normal;
  }

  .sobre-fisio-img-badge {
    bottom: 14px;
    left: 14px;
    right: 14px;
    padding: 10px 14px;
    font-size: 0.82rem;
    gap: 8px;
  }

  .sobre-fisio-img-badge i,
  .sobre-fisio-img-badge svg {
    width: 16px;
    height: 16px;
  }
}

@media (max-width: 640px) {
  .sobre-fisio-reabilitacao-section {
    padding: 60px 0;
  }

  .sobre-fisio-intro-card {
    padding: 24px 20px;
  }

  .sobre-fisio-lead {
    font-size: 1.05rem;
  }

  .sobre-fisio-sublead {
    font-size: 0.98rem;
  }

  .sf-feature-card {
    padding: 18px 20px;
    flex-direction: column;
    gap: 12px;
  }

  .sobre-fisio-img-wrapper img {
    height: 280px;
  }

  .sobre-fisio-wsp-btn {
    padding: 14px 18px;
    font-size: 0.88rem;
    line-height: 1.35;
    white-space: normal;
    text-align: center;
  }

  .sobre-fisio-img-badge {
    bottom: 10px;
    left: 10px;
    right: 10px;
    padding: 8px 12px;
    font-size: 0.76rem;
    border-radius: 10px;
    gap: 6px;
  }

  .sobre-fisio-img-badge i,
  .sobre-fisio-img-badge svg {
    width: 14px;
    height: 14px;
  }
}

/* ==========================================================================
   SECTION: O QUE Ã‰ FISIOTERAPIA REABILITATÃ“RIA (#o-que-e-fisio-reabilitatotia)
   ========================================================================== */
.oq-fisio-reabilitatoria-section {
  position: relative;
  padding: 100px 0;
  background-color: #0E2418;
  color: #F5F1E7;
  overflow: hidden;
}

.oq-fisio-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.oq-fisio-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
}

.oq-fisio-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(14, 36, 24, 0.92) 0%, rgba(10, 26, 17, 0.96) 100%);
  backdrop-filter: blur(4px);
}

.oq-fisio-container {
  position: relative;
  z-index: 1;
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 24px;
}

.oq-fisio-header {
  margin-bottom: 44px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.oq-fisio-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  background: rgba(212, 175, 55, 0.15);
  border: 1px solid rgba(212, 175, 55, 0.4);
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #E5C76B;
  margin-bottom: 20px;
}

.oq-fisio-badge i,
.oq-fisio-badge svg {
  width: 16px;
  height: 16px;
  color: #D4AF37;
}

.oq-fisio-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.1rem, 4.5vw, 2.9rem);
  font-weight: 700;
  line-height: 1.25;
  color: #F5F1E7;
  max-width: 900px;
  margin: 0 auto 20px;
}

.oq-fisio-title-accent {
  color: #D4AF37;
  font-style: italic;
}

.oq-fisio-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
  max-width: 260px;
  margin-top: 10px;
}

.oq-fisio-divider-line {
  height: 1px;
  flex: 1;
  background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.5), transparent);
}

.oq-fisio-divider i,
.oq-fisio-divider svg {
  width: 18px;
  height: 18px;
  color: #D4AF37;
}

.oq-fisio-definition-card {
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(212, 175, 55, 0.3);
  border-radius: 24px;
  padding: 36px 44px;
  margin-bottom: 44px;
  display: flex;
  align-items: flex-start;
  gap: 24px;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.25);
  position: relative;
  overflow: hidden;
}

.oq-fisio-definition-icon {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: linear-gradient(135deg, #D4AF37 0%, #AA8C2C 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 8px 20px rgba(212, 175, 55, 0.3);
}

.oq-fisio-definition-icon i,
.oq-fisio-definition-icon svg {
  width: 28px;
  height: 28px;
  color: #0E2418;
}

.oq-fisio-lead {
  font-size: 1.18rem;
  line-height: 1.8;
  color: #F5F1E7;
  font-weight: 400;
  margin: 0;
}

.oq-fisio-lead strong {
  color: #E5C76B;
  font-weight: 700;
}

.oq-fisio-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  margin-bottom: 44px;
}

.oq-fisio-card {
  background: rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(212, 175, 55, 0.25);
  border-radius: 24px;
  padding: 32px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18);
  transition: transform 0.3s ease, border-color 0.3s ease, background 0.3s ease;
}

.oq-fisio-card:hover {
  transform: translateY(-4px);
  border-color: rgba(212, 175, 55, 0.6);
  background: rgba(255, 255, 255, 0.07);
}

.oq-card-header {
  display: flex;
  align-items: center;
  gap: 16px;
}

.oq-card-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: rgba(212, 175, 55, 0.15);
  border: 1px solid rgba(212, 175, 55, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.oq-card-icon i,
.oq-card-icon svg {
  width: 22px;
  height: 22px;
  color: #D4AF37;
}

.oq-card-header h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.35rem;
  font-weight: 700;
  color: #F5F1E7;
  margin: 0;
}

.oq-card-text {
  font-size: 1.02rem;
  line-height: 1.7;
  color: #D3C9B8;
  margin: 0;
}

.oq-card-text strong {
  color: #F5F1E7;
  font-weight: 600;
}

.oq-card-highlights {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: auto;
  padding-top: 8px;
}

.oq-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  background: rgba(212, 175, 55, 0.1);
  border: 1px solid rgba(212, 175, 55, 0.25);
  border-radius: 999px;
  font-size: 0.84rem;
  color: #E5C76B;
  font-weight: 600;
}

.oq-chip i,
.oq-chip svg {
  width: 14px;
  height: 14px;
  color: #D4AF37;
}

.oq-fisio-pillars-bar {
  background: rgba(14, 36, 24, 0.7);
  border: 1px solid rgba(212, 175, 55, 0.3);
  border-radius: 20px;
  padding: 24px 32px;
  display: flex;
  align-items: center;
  justify-content: space-around;
  backdrop-filter: blur(8px);
}

.oq-pillar-item {
  display: flex;
  align-items: center;
  gap: 14px;
}

.oq-pillar-number {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.8rem;
  font-weight: 800;
  color: #D4AF37;
  line-height: 1;
}

.oq-pillar-content {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.oq-pillar-content strong {
  font-size: 0.98rem;
  color: #F5F1E7;
  font-weight: 700;
}

.oq-pillar-content span {
  font-size: 0.86rem;
  color: #C3B9A8;
}

.oq-pillar-divider {
  width: 1px;
  height: 40px;
  background: rgba(212, 175, 55, 0.3);
}

/* Responsividade de O Que Ã‰ Fisioterapia ReabilitatÃ³ria */
@media (max-width: 992px) {
  .oq-fisio-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .oq-fisio-pillars-bar {
    flex-direction: column;
    gap: 20px;
    align-items: flex-start;
  }

  .oq-pillar-divider {
    width: 100%;
    height: 1px;
  }
}

@media (max-width: 640px) {
  .oq-fisio-reabilitatoria-section {
    padding: 60px 0;
  }

  .oq-fisio-definition-card {
    padding: 24px 20px;
    flex-direction: column;
    gap: 16px;
  }

  .oq-fisio-lead {
    font-size: 1.05rem;
  }

  .oq-fisio-card {
    padding: 22px 20px;
  }

  .oq-card-header h3 {
    font-size: 1.2rem;
  }

  .oq-card-text {
    font-size: 0.95rem;
  }

  .oq-fisio-pillars-bar {
    padding: 20px 18px;
  }
}

/* ==========================================================================
   SECTION: QUANDO Ã‰ INDICADA (#quando-e-indicado)
   ========================================================================== */
.quando-indicado-section {
  position: relative;
  padding: 95px 0;
  background: linear-gradient(180deg, #FCFAF7 0%, #F5F1E7 50%, #FCFAF7 100%);
  overflow: hidden;
}

.quando-container {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 24px;
}

.quando-header {
  margin-bottom: 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.quando-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #8A6D15;
  margin-bottom: 20px;
}

.quando-badge i,
.quando-badge svg {
  width: 16px;
  height: 16px;
  color: #AA8C2C;
}

.quando-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.1rem, 4.5vw, 2.9rem);
  font-weight: 700;
  line-height: 1.25;
  color: #0E2418;
  max-width: 900px;
  margin: 0 auto 20px;
}

.quando-title-accent {
  color: #AA8C2C;
  font-style: italic;
}

.quando-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
  max-width: 260px;
  margin-top: 10px;
}

.quando-divider-line {
  height: 1px;
  flex: 1;
  background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.5), transparent);
}

.quando-divider i,
.quando-divider svg {
  width: 18px;
  height: 18px;
  color: #AA8C2C;
}

.quando-intro-card {
  background: #FFFFFF;
  border: 1px solid rgba(212, 175, 55, 0.25);
  border-radius: 20px;
  padding: 24px 32px;
  margin-bottom: 40px;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.03);
  text-align: center;
}

.quando-lead {
  font-size: 1.12rem;
  line-height: 1.7;
  color: #2D3748;
  font-weight: 500;
  margin: 0;
}

.quando-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 20px;
  margin-bottom: 44px;
}

.quando-item-card {
  background: #FFFFFF;
  border: 1px solid rgba(0, 0, 0, 0.07);
  border-radius: 18px;
  padding: 20px 22px;
  display: flex;
  align-items: center;
  gap: 16px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.03);
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.quando-item-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 30px rgba(14, 36, 24, 0.08);
  border-color: rgba(212, 175, 55, 0.5);
}

.qi-icon {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: linear-gradient(135deg, #0E2418 0%, #1A3626 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.qi-icon i,
.qi-icon svg {
  width: 22px;
  height: 22px;
  color: #D4AF37;
}

.qi-text {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.qi-text h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.05rem;
  font-weight: 700;
  color: #0E2418;
  margin: 0;
}

.qi-text p {
  font-size: 0.88rem;
  color: #64748B;
  margin: 0;
}

.quando-alert-box {
  background: linear-gradient(135deg, #0E2418 0%, #163322 100%);
  border: 1px solid rgba(212, 175, 55, 0.4);
  border-radius: 20px;
  padding: 24px 32px;
  margin-bottom: 44px;
  display: flex;
  align-items: center;
  gap: 20px;
  box-shadow: 0 14px 35px rgba(14, 36, 24, 0.12);
}

.q-alert-icon {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: rgba(212, 175, 55, 0.15);
  border: 1px solid rgba(212, 175, 55, 0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.q-alert-icon i,
.q-alert-icon svg {
  width: 24px;
  height: 24px;
  color: #D4AF37;
}

.q-alert-content p {
  font-size: 1.05rem;
  line-height: 1.6;
  color: #F5F1E7;
  margin: 0;
}

.q-alert-content strong {
  color: #E5C76B;
}

.quando-cta-banner {
  background: #FFFFFF;
  border: 1px solid rgba(212, 175, 55, 0.3);
  border-radius: 24px;
  padding: 32px 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.05);
}

.q-cta-info h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.4rem;
  font-weight: 700;
  color: #0E2418;
  margin: 0 0 6px 0;
}

.q-cta-info p {
  font-size: 0.98rem;
  color: #4A5568;
  margin: 0;
}

.quando-wsp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 16px 32px;
  background: linear-gradient(135deg, #D4AF37 0%, #AA8C2C 100%);
  color: #0E2418;
  font-weight: 700;
  font-size: 0.98rem;
  border-radius: 999px;
  text-decoration: none;
  box-shadow: 0 10px 25px rgba(170, 140, 44, 0.3);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  box-sizing: border-box;
  max-width: 100%;
}

.quando-wsp-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 35px rgba(170, 140, 44, 0.45);
  color: #0E2418;
}

.quando-wsp-btn svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

.quando-wsp-btn span {
  text-align: center;
}

/* Responsividade de Quando Ã© Indicado */
@media (max-width: 992px) {
  .quando-cta-banner {
    flex-direction: column;
    text-align: center;
    padding: 28px 24px;
  }

  .quando-wsp-btn {
    width: 100%;
    justify-content: center;
    padding: 14px 20px;
    font-size: 0.92rem;
    white-space: normal;
  }
}

@media (max-width: 640px) {
  .quando-indicado-section {
    padding: 60px 0;
  }

  .quando-intro-card {
    padding: 20px 18px;
  }

  .quando-lead {
    font-size: 1rem;
  }

  .quando-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .quando-item-card {
    padding: 16px 18px;
  }

  .quando-alert-box {
    padding: 20px 18px;
    flex-direction: column;
    gap: 14px;
    text-align: center;
  }

  .quando-wsp-btn {
    padding: 14px 18px;
    font-size: 0.88rem;
    line-height: 1.35;
    white-space: normal;
    text-align: center;
  }
}

/* ==========================================================================
   SECTION: COMO FUNCIONA O TRATAMENTO (#como-funciona)
   ========================================================================== */
.como-funciona-fisio-section {
  position: relative;
  padding: 100px 0;
  background: linear-gradient(135deg, #0E2418 0%, #163322 100%);
  color: #F5F1E7;
  overflow: hidden;
}

.como-funciona-fisio-section::before {
  content: '';
  position: absolute;
  top: -30%;
  left: -10%;
  width: 450px;
  height: 450px;
  background: radial-gradient(circle, rgba(212, 175, 55, 0.12) 0%, transparent 70%);
  pointer-events: none;
}

.cf-fisio-container {
  position: relative;
  z-index: 1;
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 24px;
}

.cf-fisio-header {
  margin-bottom: 56px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.cf-fisio-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  background: rgba(212, 175, 55, 0.15);
  border: 1px solid rgba(212, 175, 55, 0.4);
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #E5C76B;
  margin-bottom: 20px;
}

.cf-fisio-badge i,
.cf-fisio-badge svg {
  width: 16px;
  height: 16px;
  color: #D4AF37;
}

.cf-fisio-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.1rem, 4.5vw, 2.9rem);
  font-weight: 700;
  line-height: 1.25;
  color: #F5F1E7;
  max-width: 900px;
  margin: 0 auto 20px;
}

.cf-fisio-title-accent {
  color: #D4AF37;
  font-style: italic;
}

.cf-fisio-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
  max-width: 260px;
  margin-top: 10px;
}

.cf-fisio-divider-line {
  height: 1px;
  flex: 1;
  background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.5), transparent);
}

.cf-fisio-divider i,
.cf-fisio-divider svg {
  width: 18px;
  height: 18px;
  color: #D4AF37;
}

.cf-fisio-steps-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 28px;
  margin-bottom: 56px;
}

.cf-step-card {
  background: rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(212, 175, 55, 0.25);
  border-radius: 24px;
  padding: 32px 36px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.2);
  position: relative;
  transition: transform 0.3s ease, border-color 0.3s ease, background 0.3s ease;
}

.cf-step-card:hover {
  transform: translateY(-4px);
  border-color: rgba(212, 175, 55, 0.6);
  background: rgba(255, 255, 255, 0.07);
}

.cf-step-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.cf-step-badge {
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #D4AF37;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.3);
  padding: 4px 14px;
  border-radius: 999px;
}

.cf-step-icon {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: linear-gradient(135deg, #D4AF37 0%, #AA8C2C 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 18px rgba(212, 175, 55, 0.25);
}

.cf-step-icon i,
.cf-step-icon svg {
  width: 24px;
  height: 24px;
  color: #0E2418;
}

.cf-step-card h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.3rem;
  font-weight: 700;
  color: #F5F1E7;
  margin: 0;
}

.cf-step-card p {
  font-size: 1.02rem;
  line-height: 1.7;
  color: #D3C9B8;
  margin: 0;
  flex: 1;
}

.cf-step-footer {
  padding-top: 14px;
  border-top: 1px solid rgba(212, 175, 55, 0.2);
}

.cf-step-footer span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.86rem;
  color: #E5C76B;
  font-weight: 600;
}

.cf-step-footer i,
.cf-step-footer svg {
  width: 14px;
  height: 14px;
  color: #D4AF37;
}

.cf-fisio-cta-banner {
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 24px;
  padding: 36px 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.25);
}

.cf-cta-content h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.45rem;
  font-weight: 700;
  color: #F5F1E7;
  margin: 0 0 6px 0;
}

.cf-cta-content p {
  font-size: 0.98rem;
  color: #D3C9B8;
  margin: 0;
}

.cf-fisio-wsp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 16px 32px;
  background: linear-gradient(135deg, #D4AF37 0%, #AA8C2C 100%);
  color: #0E2418;
  font-weight: 700;
  font-size: 0.98rem;
  border-radius: 999px;
  text-decoration: none;
  box-shadow: 0 10px 25px rgba(170, 140, 44, 0.3);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  box-sizing: border-box;
  max-width: 100%;
}

.cf-fisio-wsp-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 35px rgba(170, 140, 44, 0.45);
  color: #0E2418;
}

.cf-fisio-wsp-btn svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

.cf-fisio-wsp-btn span {
  text-align: center;
}

/* Responsividade de Como Funciona o Tratamento */
@media (max-width: 992px) {
  .cf-fisio-steps-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .cf-fisio-cta-banner {
    flex-direction: column;
    text-align: center;
    padding: 28px 24px;
  }

  .cf-fisio-wsp-btn {
    width: 100%;
    justify-content: center;
    padding: 14px 20px;
    font-size: 0.92rem;
    white-space: normal;
  }
}

@media (max-width: 640px) {
  .como-funciona-fisio-section {
    padding: 60px 0;
  }

  .cf-step-card {
    padding: 24px 20px;
  }

  .cf-step-card h3 {
    font-size: 1.2rem;
  }

  .cf-step-card p {
    font-size: 0.96rem;
  }

  .cf-fisio-wsp-btn {
    padding: 14px 18px;
    font-size: 0.88rem;
    line-height: 1.35;
    white-space: normal;
    text-align: center;
  }
}

/* ==========================================================================
   SECTION: TÃ‰CNICAS UTILIZADAS (#tecnicas-utilizadas)
   ========================================================================== */
.tecnicas-utilizadas-section {
  position: relative;
  padding: 95px 0;
  background: linear-gradient(180deg, #FCFAF7 0%, #F5F1E7 50%, #FCFAF7 100%);
  overflow: hidden;
}

.tu-container {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 24px;
}

.tu-header {
  margin-bottom: 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.tu-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #8A6D15;
  margin-bottom: 20px;
}

.tu-badge i,
.tu-badge svg {
  width: 16px;
  height: 16px;
  color: #AA8C2C;
}

.tu-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.1rem, 4.5vw, 2.9rem);
  font-weight: 700;
  line-height: 1.25;
  color: #0E2418;
  max-width: 900px;
  margin: 0 auto 20px;
}

.tu-title-accent {
  color: #AA8C2C;
  font-style: italic;
}

.tu-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
  max-width: 260px;
  margin-top: 10px;
}

.tu-divider-line {
  height: 1px;
  flex: 1;
  background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.5), transparent);
}

.tu-divider i,
.tu-divider svg {
  width: 18px;
  height: 18px;
  color: #AA8C2C;
}

.tu-intro-card {
  background: #FFFFFF;
  border: 1px solid rgba(212, 175, 55, 0.25);
  border-radius: 20px;
  padding: 24px 32px;
  margin-bottom: 44px;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.03);
  text-align: center;
}

.tu-lead {
  font-size: 1.12rem;
  line-height: 1.7;
  color: #2D3748;
  font-weight: 500;
  margin: 0;
}

.tu-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 44px;
  align-items: start;
  margin-bottom: 56px;
}

.tu-media-col {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.tu-img-wrapper {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.3);
}

.tu-img-wrapper img {
  width: 100%;
  height: 380px;
  object-fit: cover;
  object-position: center center;
  display: block;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.tu-img-wrapper:hover img {
  transform: scale(1.04);
}

.tu-img-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 50%, rgba(14, 36, 24, 0.7) 100%);
  pointer-events: none;
}

.tu-img-badge {
  position: absolute;
  bottom: 20px;
  left: 20px;
  right: 20px;
  background: rgba(14, 36, 24, 0.85);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(212, 175, 55, 0.4);
  border-radius: 14px;
  padding: 12px 18px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: #F5F1E7;
  font-size: 0.92rem;
  font-weight: 600;
}

.tu-img-badge i,
.tu-img-badge svg {
  width: 18px;
  height: 18px;
  color: #D4AF37;
  flex-shrink: 0;
}

.tu-highlight-card {
  background: linear-gradient(135deg, #0E2418 0%, #163322 100%);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 20px;
  padding: 22px 26px;
  display: flex;
  align-items: center;
  gap: 16px;
  box-shadow: 0 12px 30px rgba(14, 36, 24, 0.1);
}

.tu-highlight-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: rgba(212, 175, 55, 0.15);
  border: 1px solid rgba(212, 175, 55, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.tu-highlight-icon i,
.tu-highlight-icon svg {
  width: 22px;
  height: 22px;
  color: #D4AF37;
}

.tu-highlight-card p {
  font-size: 0.98rem;
  line-height: 1.6;
  color: #F5F1E7;
  margin: 0;
}

.tu-highlight-card strong {
  color: #E5C76B;
}

.tu-tech-col {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}

.tu-tech-card {
  background: #FFFFFF;
  border: 1px solid rgba(0, 0, 0, 0.07);
  border-left: 4px solid #AA8C2C;
  border-radius: 18px;
  padding: 20px 22px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.03);
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.tu-tech-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 30px rgba(14, 36, 24, 0.08);
  border-color: rgba(212, 175, 55, 0.4);
  border-left-color: #D4AF37;
}

.tu-tech-icon {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: linear-gradient(135deg, #0E2418 0%, #1A3626 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.tu-tech-icon i,
.tu-tech-icon svg {
  width: 20px;
  height: 20px;
  color: #D4AF37;
}

.tu-tech-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.tu-tech-info h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.08rem;
  font-weight: 700;
  color: #0E2418;
  margin: 0;
}

.tu-tech-info p {
  font-size: 0.88rem;
  line-height: 1.55;
  color: #4A5568;
  margin: 0;
}

.tu-cta-banner {
  background: #FFFFFF;
  border: 1px solid rgba(212, 175, 55, 0.3);
  border-radius: 24px;
  padding: 32px 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.05);
}

.tu-cta-info h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.4rem;
  font-weight: 700;
  color: #0E2418;
  margin: 0 0 6px 0;
}

.tu-cta-info p {
  font-size: 0.98rem;
  color: #4A5568;
  margin: 0;
}

.tu-wsp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 16px 32px;
  background: linear-gradient(135deg, #D4AF37 0%, #AA8C2C 100%);
  color: #0E2418;
  font-weight: 700;
  font-size: 0.98rem;
  border-radius: 999px;
  text-decoration: none;
  box-shadow: 0 10px 25px rgba(170, 140, 44, 0.3);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  box-sizing: border-box;
  max-width: 100%;
}

.tu-wsp-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 35px rgba(170, 140, 44, 0.45);
  color: #0E2418;
}

.tu-wsp-btn svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

.tu-wsp-btn span {
  text-align: center;
}

/* Responsividade de TÃ©cnicas Utilizadas */
@media (max-width: 992px) {
  .tu-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .tu-cta-banner {
    flex-direction: column;
    text-align: center;
    padding: 28px 24px;
  }

  .tu-wsp-btn {
    width: 100%;
    justify-content: center;
    padding: 14px 20px;
    font-size: 0.92rem;
    white-space: normal;
  }

  .tu-img-badge {
    bottom: 14px;
    left: 14px;
    right: 14px;
    padding: 10px 14px;
    font-size: 0.82rem;
  }
}

@media (max-width: 640px) {
  .tecnicas-utilizadas-section {
    padding: 60px 0;
  }

  .tu-intro-card {
    padding: 20px 18px;
  }

  .tu-lead {
    font-size: 1rem;
  }

  .tu-tech-col {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .tu-img-wrapper img {
    height: 280px;
  }

  .tu-img-badge {
    bottom: 10px;
    left: 10px;
    right: 10px;
    padding: 8px 12px;
    font-size: 0.76rem;
  }

  .tu-wsp-btn {
    padding: 14px 18px;
    font-size: 0.88rem;
    line-height: 1.35;
    white-space: normal;
    text-align: center;
  }
}

/* ==========================================================================
   SECTION: BENEFÃCIOS DA FISIOTERAPIA REABILITATÃ“RIA (#beneficios)
   ========================================================================== */
.beneficios-fisio-section {
  position: relative;
  padding: 100px 0;
  background: linear-gradient(135deg, #0E2418 0%, #163322 100%);
  color: #F5F1E7;
  overflow: hidden;
}

.beneficios-fisio-section::before {
  content: '';
  position: absolute;
  bottom: -20%;
  right: -10%;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(212, 175, 55, 0.12) 0%, transparent 70%);
  pointer-events: none;
}

.ben-container {
  position: relative;
  z-index: 1;
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 24px;
}

.ben-header {
  margin-bottom: 44px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.ben-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  background: rgba(212, 175, 55, 0.15);
  border: 1px solid rgba(212, 175, 55, 0.4);
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #E5C76B;
  margin-bottom: 20px;
}

.ben-badge i,
.ben-badge svg {
  width: 16px;
  height: 16px;
  color: #D4AF37;
}

.ben-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.1rem, 4.5vw, 2.9rem);
  font-weight: 700;
  line-height: 1.25;
  color: #F5F1E7;
  max-width: 900px;
  margin: 0 auto 20px;
}

.ben-title-accent {
  color: #D4AF37;
  font-style: italic;
}

.ben-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
  max-width: 260px;
  margin-top: 10px;
}

.ben-divider-line {
  height: 1px;
  flex: 1;
  background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.5), transparent);
}

.ben-divider i,
.ben-divider svg {
  width: 18px;
  height: 18px;
  color: #D4AF37;
}

.ben-intro-card {
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(212, 175, 55, 0.25);
  border-radius: 20px;
  padding: 24px 32px;
  margin-bottom: 44px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15);
  text-align: center;
}

.ben-lead {
  font-size: 1.12rem;
  line-height: 1.7;
  color: #F5F1E7;
  font-weight: 500;
  margin: 0;
}

.ben-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-bottom: 44px;
}

.ben-item-card {
  background: rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(212, 175, 55, 0.25);
  border-radius: 20px;
  padding: 24px 26px;
  display: flex;
  align-items: flex-start;
  gap: 16px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.18);
  transition: transform 0.3s ease, border-color 0.3s ease, background 0.3s ease;
}

.ben-item-card:hover {
  transform: translateY(-4px);
  border-color: rgba(212, 175, 55, 0.6);
  background: rgba(255, 255, 255, 0.07);
}

.ben-item-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: linear-gradient(135deg, #D4AF37 0%, #AA8C2C 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 6px 16px rgba(212, 175, 55, 0.25);
}

.ben-item-icon i,
.ben-item-icon svg {
  width: 22px;
  height: 22px;
  color: #0E2418;
}

.ben-item-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.ben-item-info h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.1rem;
  font-weight: 700;
  color: #F5F1E7;
  margin: 0;
}

.ben-item-info p {
  font-size: 0.9rem;
  line-height: 1.55;
  color: #D3C9B8;
  margin: 0;
}

.ben-highlight-card {
  background: rgba(255, 255, 255, 0.06);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 20px;
  padding: 24px 32px;
  margin-bottom: 44px;
  display: flex;
  align-items: center;
  gap: 20px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.2);
}

.ben-highlight-icon {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: rgba(212, 175, 55, 0.18);
  border: 1px solid rgba(212, 175, 55, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.ben-highlight-icon i,
.ben-highlight-icon svg {
  width: 24px;
  height: 24px;
  color: #D4AF37;
}

.ben-highlight-content p {
  font-size: 1.05rem;
  line-height: 1.6;
  color: #F5F1E7;
  margin: 0;
}

.ben-highlight-content strong {
  color: #E5C76B;
}

.ben-cta-banner {
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 24px;
  padding: 36px 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.25);
}

.ben-cta-info h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.45rem;
  font-weight: 700;
  color: #F5F1E7;
  margin: 0 0 6px 0;
}

.ben-cta-info p {
  font-size: 0.98rem;
  color: #D3C9B8;
  margin: 0;
}

.ben-wsp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 16px 32px;
  background: linear-gradient(135deg, #D4AF37 0%, #AA8C2C 100%);
  color: #0E2418;
  font-weight: 700;
  font-size: 0.98rem;
  border-radius: 999px;
  text-decoration: none;
  box-shadow: 0 10px 25px rgba(170, 140, 44, 0.3);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  box-sizing: border-box;
  max-width: 100%;
}

.ben-wsp-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 35px rgba(170, 140, 44, 0.45);
  color: #0E2418;
}

.ben-wsp-btn svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

.ben-wsp-btn span {
  text-align: center;
}

/* Responsividade de BenefÃ­cios */
@media (max-width: 992px) {
  .ben-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }

  .ben-cta-banner {
    flex-direction: column;
    text-align: center;
    padding: 28px 24px;
  }

  .ben-wsp-btn {
    width: 100%;
    justify-content: center;
    padding: 14px 20px;
    font-size: 0.92rem;
    white-space: normal;
  }
}

@media (max-width: 640px) {
  .beneficios-fisio-section {
    padding: 60px 0;
  }

  .ben-intro-card {
    padding: 20px 18px;
  }

  .ben-lead {
    font-size: 1rem;
  }

  .ben-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .ben-item-card {
    padding: 18px 20px;
  }

  .ben-highlight-card {
    padding: 20px 18px;
    flex-direction: column;
    gap: 14px;
    text-align: center;
  }

  .ben-wsp-btn {
    padding: 14px 18px;
    font-size: 0.88rem;
    line-height: 1.35;
    white-space: normal;
    text-align: center;
  }
}

/* ==========================================================================
   SECTION: POR QUE ESCOLHER O LIMA'S THERAPY (#por-que-escolher-limas)
   ========================================================================== */
.por-que-escolher-limas-section {
  position: relative;
  padding: 95px 0;
  background: linear-gradient(180deg, #FCFAF7 0%, #F5F1E7 50%, #FCFAF7 100%);
  overflow: hidden;
}

.pq-container {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 24px;
}

.pq-header {
  margin-bottom: 44px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.pq-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #8A6D15;
  margin-bottom: 20px;
}

.pq-badge i,
.pq-badge svg {
  width: 16px;
  height: 16px;
  color: #AA8C2C;
}

.pq-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.1rem, 4.5vw, 2.9rem);
  font-weight: 700;
  line-height: 1.25;
  color: #0E2418;
  max-width: 900px;
  margin: 0 auto 20px;
}

.pq-title-accent {
  color: #AA8C2C;
  font-style: italic;
}

.pq-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
  max-width: 260px;
  margin-top: 10px;
}

.pq-divider-line {
  height: 1px;
  flex: 1;
  background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.5), transparent);
}

.pq-divider i,
.pq-divider svg {
  width: 18px;
  height: 18px;
  color: #AA8C2C;
}

.pq-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 48px;
  align-items: start;
  margin-bottom: 56px;
}

.pq-media-col {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.pq-img-wrapper {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.3);
}

.pq-img-wrapper img {
  width: 100%;
  height: 380px;
  object-fit: cover;
  object-position: center center;
  display: block;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.pq-img-wrapper:hover img {
  transform: scale(1.04);
}

.pq-img-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 50%, rgba(14, 36, 24, 0.7) 100%);
  pointer-events: none;
}

.pq-img-badge {
  position: absolute;
  bottom: 20px;
  left: 20px;
  right: 20px;
  background: rgba(14, 36, 24, 0.85);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(212, 175, 55, 0.4);
  border-radius: 14px;
  padding: 12px 18px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: #F5F1E7;
  font-size: 0.92rem;
  font-weight: 600;
}

.pq-img-badge i,
.pq-img-badge svg {
  width: 18px;
  height: 18px;
  color: #D4AF37;
  flex-shrink: 0;
}

.pq-quote-card {
  background: linear-gradient(135deg, #0E2418 0%, #163322 100%);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 20px;
  padding: 22px 26px;
  display: flex;
  align-items: center;
  gap: 16px;
  box-shadow: 0 12px 30px rgba(14, 36, 24, 0.1);
}

.pq-quote-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: rgba(212, 175, 55, 0.15);
  border: 1px solid rgba(212, 175, 55, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.pq-quote-icon i,
.pq-quote-icon svg {
  width: 22px;
  height: 22px;
  color: #D4AF37;
}

.pq-quote-card p {
  font-size: 0.98rem;
  line-height: 1.6;
  color: #F5F1E7;
  margin: 0;
}

.pq-quote-card strong {
  color: #E5C76B;
}

.pq-cards-col {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.pq-card {
  background: #FFFFFF;
  border: 1px solid rgba(0, 0, 0, 0.07);
  border-left: 4px solid #AA8C2C;
  border-radius: 20px;
  padding: 26px 30px;
  display: flex;
  gap: 20px;
  align-items: flex-start;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.03);
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.pq-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 30px rgba(14, 36, 24, 0.08);
  border-color: rgba(212, 175, 55, 0.4);
  border-left-color: #D4AF37;
}

.pq-card-icon {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: linear-gradient(135deg, #0E2418 0%, #1A3626 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.pq-card-icon i,
.pq-card-icon svg {
  width: 22px;
  height: 22px;
  color: #D4AF37;
}

.pq-card-body {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.pq-card-body h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: #0E2418;
  margin: 0;
}

.pq-card-body p {
  font-size: 1.02rem;
  line-height: 1.65;
  color: #4A5568;
  margin: 0;
}

.pq-cta-banner {
  background: #FFFFFF;
  border: 1px solid rgba(212, 175, 55, 0.3);
  border-radius: 24px;
  padding: 32px 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.05);
}

.pq-cta-info h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.4rem;
  font-weight: 700;
  color: #0E2418;
  margin: 0 0 6px 0;
}

.pq-cta-info p {
  font-size: 0.98rem;
  color: #4A5568;
  margin: 0;
}

.pq-wsp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 16px 32px;
  background: linear-gradient(135deg, #D4AF37 0%, #AA8C2C 100%);
  color: #0E2418;
  font-weight: 700;
  font-size: 0.98rem;
  border-radius: 999px;
  text-decoration: none;
  box-shadow: 0 10px 25px rgba(170, 140, 44, 0.3);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  box-sizing: border-box;
  max-width: 100%;
}

.pq-wsp-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 35px rgba(170, 140, 44, 0.45);
  color: #0E2418;
}

.pq-wsp-btn svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

.pq-wsp-btn span {
  text-align: center;
}

/* Responsividade de Por Que Escolher */
@media (max-width: 992px) {
  .pq-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .pq-cta-banner {
    flex-direction: column;
    text-align: center;
    padding: 28px 24px;
  }

  .pq-wsp-btn {
    width: 100%;
    justify-content: center;
    padding: 14px 20px;
    font-size: 0.92rem;
    white-space: normal;
  }

  .pq-img-badge {
    bottom: 14px;
    left: 14px;
    right: 14px;
    padding: 10px 14px;
    font-size: 0.82rem;
  }
}

@media (max-width: 640px) {
  .por-que-escolher-limas-section {
    padding: 60px 0;
  }

  .pq-card {
    padding: 20px 18px;
    flex-direction: column;
    gap: 14px;
  }

  .pq-card-body h3 {
    font-size: 1.15rem;
  }

  .pq-card-body p {
    font-size: 0.96rem;
  }

  .pq-img-wrapper img {
    height: 280px;
  }

  .pq-img-badge {
    bottom: 10px;
    left: 10px;
    right: 10px;
    padding: 8px 12px;
    font-size: 0.76rem;
  }

  .pq-wsp-btn {
    padding: 14px 18px;
    font-size: 0.88rem;
    line-height: 1.35;
    white-space: normal;
    text-align: center;
  }
}

/* ==========================================================================
   SECTION: CONHEÃ‡A OUTROS TRATAMENTOS (#outros-tratamentos)
   ========================================================================== */
.outros-tratamentos-section {
  position: relative;
  padding: 100px 0;
  background: linear-gradient(135deg, #0E2418 0%, #163322 100%);
  color: #F5F1E7;
  overflow: hidden;
}

.outros-tratamentos-section::before {
  content: '';
  position: absolute;
  top: -20%;
  left: -10%;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(212, 175, 55, 0.12) 0%, transparent 70%);
  pointer-events: none;
}

.ot-container {
  position: relative;
  z-index: 1;
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 24px;
}

.ot-header {
  margin-bottom: 44px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.ot-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  background: rgba(212, 175, 55, 0.15);
  border: 1px solid rgba(212, 175, 55, 0.4);
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #E5C76B;
  margin-bottom: 20px;
}

.ot-badge i,
.ot-badge svg {
  width: 16px;
  height: 16px;
  color: #D4AF37;
}

.ot-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.1rem, 4.5vw, 2.9rem);
  font-weight: 700;
  line-height: 1.25;
  color: #F5F1E7;
  max-width: 900px;
  margin: 0 auto 20px;
}

.ot-title-accent {
  color: #D4AF37;
  font-style: italic;
}

.ot-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
  max-width: 260px;
  margin-top: 10px;
}

.ot-divider-line {
  height: 1px;
  flex: 1;
  background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.5), transparent);
}

.ot-divider i,
.ot-divider svg {
  width: 18px;
  height: 18px;
  color: #D4AF37;
}

.ot-intro-card {
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(212, 175, 55, 0.25);
  border-radius: 20px;
  padding: 24px 32px;
  margin-bottom: 48px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15);
  text-align: center;
}

.ot-lead {
  font-size: 1.12rem;
  line-height: 1.7;
  color: #F5F1E7;
  font-weight: 500;
  margin: 0;
}

.ot-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
  margin-bottom: 56px;
}

.ot-card {
  background: rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(212, 175, 55, 0.25);
  border-radius: 24px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.2);
  transition: transform 0.3s ease, border-color 0.3s ease, background 0.3s ease;
}

.ot-card:hover {
  transform: translateY(-5px);
  border-color: rgba(212, 175, 55, 0.6);
  background: rgba(255, 255, 255, 0.07);
}

.ot-card-img-wrapper {
  position: relative;
  width: 100%;
  height: 250px;
  overflow: hidden;
}

.ot-card-img-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center !important;
  display: block;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.ot-card:hover .ot-card-img-wrapper img {
  transform: scale(1.05);
}

.ot-card-img-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 40%, rgba(14, 36, 24, 0.85) 100%);
  pointer-events: none;
}

.ot-card-badge {
  position: absolute;
  bottom: 16px;
  left: 16px;
  background: rgba(14, 36, 24, 0.85);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(212, 175, 55, 0.4);
  border-radius: 999px;
  padding: 6px 14px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #E5C76B;
  font-size: 0.82rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.ot-card-badge i,
.ot-card-badge svg {
  width: 14px;
  height: 14px;
  color: #D4AF37;
}

.ot-card-content {
  padding: 32px 36px;
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 16px;
}

.ot-card-content h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.45rem;
  font-weight: 700;
  color: #F5F1E7;
  margin: 0;
}

.ot-card-content p {
  font-size: 1.02rem;
  line-height: 1.7;
  color: #D3C9B8;
  margin: 0;
  flex: 1;
}

.ot-card-btn {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 22px;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 14px;
  color: #E5C76B;
  font-size: 0.94rem;
  font-weight: 700;
  text-decoration: none;
  transition: background 0.3s ease, border-color 0.3s ease, color 0.3s ease, transform 0.3s ease;
}

.ot-card-btn:hover {
  background: linear-gradient(135deg, #D4AF37 0%, #AA8C2C 100%);
  color: #0E2418;
  border-color: #D4AF37;
  transform: translateX(2px);
}

.ot-card-btn i,
.ot-card-btn svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

.ot-cta-banner {
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 24px;
  padding: 36px 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.25);
}

.ot-cta-info h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.45rem;
  font-weight: 700;
  color: #F5F1E7;
  margin: 0 0 6px 0;
}

.ot-cta-info p {
  font-size: 0.98rem;
  color: #D3C9B8;
  margin: 0;
}

.ot-wsp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 16px 32px;
  background: linear-gradient(135deg, #D4AF37 0%, #AA8C2C 100%);
  color: #0E2418;
  font-weight: 700;
  font-size: 0.98rem;
  border-radius: 999px;
  text-decoration: none;
  box-shadow: 0 10px 25px rgba(170, 140, 44, 0.3);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  box-sizing: border-box;
  max-width: 100%;
}

.ot-wsp-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 35px rgba(170, 140, 44, 0.45);
  color: #0E2418;
}

.ot-wsp-btn svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

.ot-wsp-btn span {
  text-align: center;
}

/* Responsividade de Outros Tratamentos */
@media (max-width: 992px) {
  .ot-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .ot-cta-banner {
    flex-direction: column;
    text-align: center;
    padding: 28px 24px;
  }

  .ot-wsp-btn {
    width: 100%;
    justify-content: center;
    padding: 14px 20px;
    font-size: 0.92rem;
    white-space: normal;
  }
}

@media (max-width: 640px) {
  .outros-tratamentos-section {
    padding: 60px 0;
  }

  .ot-intro-card {
    padding: 20px 18px;
  }

  .ot-lead {
    font-size: 1rem;
  }

  .ot-card-content {
    padding: 24px 20px;
  }

  .ot-card-content h3 {
    font-size: 1.25rem;
  }

  .ot-card-content p {
    font-size: 0.96rem;
  }

  .ot-card-btn {
    padding: 12px 16px;
    font-size: 0.86rem;
  }

  .ot-wsp-btn {
    padding: 14px 18px;
    font-size: 0.88rem;
    line-height: 1.35;
    white-space: normal;
    text-align: center;
  }
}

/* ==========================================================================
   SECTION: AGENDE SUA AVALIAÃ‡ÃƒO (#agendar-avaliacao)
   ========================================================================== */
.agendar-avaliacao-section {
  position: relative;
  padding: 95px 0;
  background: linear-gradient(180deg, #FCFAF7 0%, #F5F1E7 50%, #FCFAF7 100%);
  overflow: hidden;
}

.aa-container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 24px;
}

.aa-card {
  background: #FFFFFF;
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 32px;
  padding: 56px 48px;
  text-align: center;
  box-shadow: 0 20px 50px rgba(14, 36, 24, 0.08);
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}

.aa-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #B58D20;
  margin-bottom: 20px;
}

.aa-badge i,
.aa-badge svg {
  width: 16px;
  height: 16px;
  color: #D4AF37;
}

.aa-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.1rem, 4.5vw, 2.9rem);
  font-weight: 700;
  line-height: 1.25;
  color: #0E2418;
  max-width: 850px;
  margin: 0 auto 20px;
}

.aa-title-accent {
  color: #D4AF37;
  font-style: italic;
}

.aa-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
  max-width: 260px;
  margin-bottom: 32px;
}

.aa-divider-line {
  height: 1px;
  flex: 1;
  background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.5), transparent);
}

.aa-divider i,
.aa-divider svg {
  width: 18px;
  height: 18px;
  color: #D4AF37;
}

.aa-content-box {
  max-width: 820px;
  margin-bottom: 40px;
}

.aa-lead-highlight {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.6;
  color: #0E2418;
  margin-bottom: 16px;
}

.aa-description {
  font-size: 1.08rem;
  line-height: 1.75;
  color: #4A5568;
  margin: 0;
}

.aa-wsp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 18px 40px;
  background: linear-gradient(135deg, #D4AF37 0%, #AA8C2C 100%);
  color: #0E2418;
  font-weight: 700;
  font-size: 1.05rem;
  border-radius: 999px;
  text-decoration: none;
  box-shadow: 0 12px 30px rgba(170, 140, 44, 0.35);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  box-sizing: border-box;
  max-width: 100%;
}

.aa-wsp-btn:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(170, 140, 44, 0.5);
  color: #0E2418;
}

.aa-wsp-btn svg {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
}

/* Responsividade de Agendar AvaliaÃ§Ã£o */
@media (max-width: 640px) {
  .agendar-avaliacao-section {
    padding: 60px 0;
  }

  .aa-card {
    padding: 32px 20px;
    border-radius: 24px;
  }

  .aa-lead-highlight {
    font-size: 1.1rem;
  }

  .aa-description {
    font-size: 0.98rem;
  }

  .aa-wsp-btn {
    padding: 15px 22px;
    font-size: 0.9rem;
    line-height: 1.35;
    white-space: normal;
    text-align: center;
    width: 100%;
  }
}

/* ==========================================================================
   SECTION: PERGUNTAS FREQUENTES (#faq-fisio)
   ========================================================================== */
.faq-fisio-section {
  position: relative;
  padding: 100px 0;
  background: linear-gradient(135deg, #0E2418 0%, #163322 100%);
  color: #F5F1E7;
  overflow: hidden;
}

.faq-fisio-section::before {
  content: '';
  position: absolute;
  bottom: -20%;
  left: -10%;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(212, 175, 55, 0.12) 0%, transparent 70%);
  pointer-events: none;
}

.ff-container {
  position: relative;
  z-index: 1;
  max-width: 900px;
  margin: 0 auto;
  padding: 0 24px;
}

.ff-header {
  margin-bottom: 48px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.ff-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  background: rgba(212, 175, 55, 0.15);
  border: 1px solid rgba(212, 175, 55, 0.4);
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #E5C76B;
  margin-bottom: 20px;
}

.ff-badge i,
.ff-badge svg {
  width: 16px;
  height: 16px;
  color: #D4AF37;
}

.ff-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.1rem, 4.5vw, 2.9rem);
  font-weight: 700;
  line-height: 1.25;
  color: #F5F1E7;
  max-width: 900px;
  margin: 0 auto 20px;
}

.ff-title-accent {
  color: #D4AF37;
  font-style: italic;
}

.ff-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
  max-width: 260px;
  margin-top: 10px;
}

.ff-divider-line {
  height: 1px;
  flex: 1;
  background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.5), transparent);
}

.ff-divider i,
.ff-divider svg {
  width: 18px;
  height: 18px;
  color: #D4AF37;
}

.ff-accordion {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.ff-item {
  background: rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(212, 175, 55, 0.25);
  border-radius: 20px;
  overflow: hidden;
  transition: border-color 0.3s ease, background 0.3s ease;
}

.ff-item[open] {
  border-color: rgba(212, 175, 55, 0.6);
  background: rgba(255, 255, 255, 0.07);
}

.ff-summary {
  padding: 22px 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  cursor: pointer;
  user-select: none;
  list-style: none;
}

.ff-summary::-webkit-details-marker {
  display: none;
}

.ff-summary h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.2rem;
  font-weight: 700;
  color: #F5F1E7;
  margin: 0;
}

.ff-icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(212, 175, 55, 0.15);
  border: 1px solid rgba(212, 175, 55, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: transform 0.3s ease, background 0.3s ease;
}

.ff-icon i,
.ff-icon svg {
  width: 18px;
  height: 18px;
  color: #D4AF37;
  transition: transform 0.3s ease;
}

.ff-item[open] .ff-icon {
  background: linear-gradient(135deg, #D4AF37 0%, #AA8C2C 100%);
}

.ff-item[open] .ff-icon i,
.ff-item[open] .ff-icon svg {
  color: #0E2418;
  transform: rotate(180deg);
}

.ff-answer {
  padding: 0 28px 24px 28px;
  border-top: 1px solid rgba(212, 175, 55, 0.15);
  margin-top: 4px;
  padding-top: 18px;
}

.ff-answer p {
  font-size: 1.02rem;
  line-height: 1.7;
  color: #D3C9B8;
  margin: 0;
}

/* Responsividade de FAQ */
@media (max-width: 640px) {
  .faq-fisio-section {
    padding: 60px 0;
  }

  .ff-summary {
    padding: 18px 20px;
  }

  .ff-summary h3 {
    font-size: 1.08rem;
  }

  .ff-answer {
    padding: 14px 20px 20px 20px;
  }

  .ff-answer p {
    font-size: 0.96rem;
  }
}

/* ==========================================================================
   SECTION: SOBRE SPA E ESTÃ‰TICA NATURAL (#sobre-estetica)
   ========================================================================== */
.sobre-estetica-section {
  position: relative;
  padding: 100px 0;
  background: linear-gradient(135deg, #0E2418 0%, #163322 100%);
  color: #F5F1E7;
  overflow: hidden;
}

.sobre-estetica-section::before {
  content: '';
  position: absolute;
  top: -20%;
  right: -10%;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(212, 175, 55, 0.12) 0%, transparent 70%);
  pointer-events: none;
}

.se-container {
  position: relative;
  z-index: 1;
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 24px;
}

.se-header {
  margin-bottom: 44px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.se-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  background: rgba(212, 175, 55, 0.15);
  border: 1px solid rgba(212, 175, 55, 0.4);
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #E5C76B;
  margin-bottom: 20px;
}

.se-badge i,
.se-badge svg {
  width: 16px;
  height: 16px;
  color: #D4AF37;
}

.se-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.1rem, 4.5vw, 2.9rem);
  font-weight: 700;
  line-height: 1.25;
  color: #F5F1E7;
  max-width: 900px;
  margin: 0 auto 20px;
}

.se-title-accent {
  color: #D4AF37;
  font-style: italic;
}

.se-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
  max-width: 260px;
  margin-top: 10px;
}

.se-divider-line {
  height: 1px;
  flex: 1;
  background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.5), transparent);
}

.se-divider i,
.se-divider svg {
  width: 18px;
  height: 18px;
  color: #D4AF37;
}

.se-intro-card {
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(212, 175, 55, 0.25);
  border-radius: 20px;
  padding: 32px 40px;
  margin-bottom: 48px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15);
}

.se-intro-content {
  display: flex;
  flex-direction: column;
  gap: 16px;
  text-align: center;
}

.se-lead {
  font-size: 1.15rem;
  line-height: 1.75;
  color: #F5F1E7;
  font-weight: 500;
  margin: 0;
}

.se-sublead {
  font-size: 1.05rem;
  line-height: 1.7;
  color: #D3C9B8;
  margin: 0;
}

.se-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 48px;
  align-items: start;
  margin-bottom: 56px;
}

.se-media-col {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.se-img-wrapper {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.2);
  border: 1px solid rgba(212, 175, 55, 0.35);
}

.se-img-wrapper img {
  width: 100%;
  height: 380px;
  object-fit: cover;
  object-position: center 80% !important;
  display: block;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.se-img-wrapper:hover img {
  transform: scale(1.04);
}

.se-img-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 50%, rgba(14, 36, 24, 0.75) 100%);
  pointer-events: none;
}

.se-img-badge {
  position: absolute;
  bottom: 20px;
  left: 20px;
  right: 20px;
  background: rgba(14, 36, 24, 0.85);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(212, 175, 55, 0.4);
  border-radius: 14px;
  padding: 12px 18px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: #F5F1E7;
  font-size: 0.92rem;
  font-weight: 600;
}

.se-img-badge i,
.se-img-badge svg {
  width: 18px;
  height: 18px;
  color: #D4AF37;
  flex-shrink: 0;
}

.se-pillars {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

.se-pillar-card {
  background: rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(212, 175, 55, 0.25);
  border-radius: 16px;
  padding: 18px 20px;
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.se-pillar-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: rgba(212, 175, 55, 0.15);
  border: 1px solid rgba(212, 175, 55, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.se-pillar-icon i,
.se-pillar-icon svg {
  width: 18px;
  height: 18px;
  color: #D4AF37;
}

.se-pillar-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.se-pillar-text strong {
  font-size: 0.92rem;
  color: #F5F1E7;
}

.se-pillar-text span {
  font-size: 0.82rem;
  color: #D3C9B8;
  line-height: 1.4;
}

.se-features-col {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.se-feature-card {
  background: rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(212, 175, 55, 0.25);
  border-left: 4px solid #D4AF37;
  border-radius: 20px;
  padding: 26px 30px;
  display: flex;
  gap: 20px;
  align-items: flex-start;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
  transition: transform 0.3s ease, border-color 0.3s ease, background 0.3s ease;
}

.se-feature-card:hover {
  transform: translateY(-3px);
  border-color: rgba(212, 175, 55, 0.6);
  background: rgba(255, 255, 255, 0.07);
}

.se-feature-icon {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: linear-gradient(135deg, #D4AF37 0%, #AA8C2C 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 6px 16px rgba(212, 175, 55, 0.25);
}

.se-feature-icon i,
.se-feature-icon svg {
  width: 22px;
  height: 22px;
  color: #0E2418;
}

.se-feature-body {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.se-feature-body h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: #F5F1E7;
  margin: 0;
}

.se-feature-body p {
  font-size: 1.02rem;
  line-height: 1.65;
  color: #D3C9B8;
  margin: 0;
}

.se-cta-banner {
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 24px;
  padding: 36px 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.25);
}

.se-cta-content h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.45rem;
  font-weight: 700;
  color: #F5F1E7;
  margin: 0 0 6px 0;
}

.se-cta-content p {
  font-size: 0.98rem;
  color: #D3C9B8;
  margin: 0;
}

.se-wsp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 16px 32px;
  background: linear-gradient(135deg, #D4AF37 0%, #AA8C2C 100%);
  color: #0E2418;
  font-weight: 700;
  font-size: 0.98rem;
  border-radius: 999px;
  text-decoration: none;
  box-shadow: 0 10px 25px rgba(170, 140, 44, 0.3);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  box-sizing: border-box;
  max-width: 100%;
}

.se-wsp-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 35px rgba(170, 140, 44, 0.45);
  color: #0E2418;
}

.se-wsp-btn svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

.se-wsp-btn span {
  text-align: center;
}

/* Responsividade de Sobre EstÃ©tica */
@media (max-width: 992px) {
  .se-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .se-cta-banner {
    flex-direction: column;
    text-align: center;
    padding: 28px 24px;
  }

  .se-wsp-btn {
    width: 100%;
    justify-content: center;
    padding: 14px 20px;
    font-size: 0.92rem;
    white-space: normal;
  }
}

@media (max-width: 640px) {
  .sobre-estetica-section {
    padding: 60px 0;
  }

  .se-intro-card {
    padding: 24px 20px;
  }

  .se-lead {
    font-size: 1.05rem;
  }

  .se-pillars {
    grid-template-columns: 1fr;
  }

  .se-feature-card {
    padding: 20px 18px;
    flex-direction: column;
    gap: 14px;
  }

  .se-feature-body h3 {
    font-size: 1.15rem;
  }

  .se-feature-body p {
    font-size: 0.96rem;
  }

  .se-img-wrapper img {
    height: 280px;
    object-position: center 80% !important;
  }

  .se-wsp-btn {
    padding: 14px 18px;
    font-size: 0.88rem;
    line-height: 1.35;
    white-space: normal;
    text-align: center;
  }
}

/* ==========================================================================
   SECTION: NOSSOS PROTOCOLOS DE ESTÃ‰TICA (#protocolos-estetica)
   ========================================================================== */
.protocolos-estetica-section {
  position: relative;
  padding: 95px 0;
  background: #FCFAF7;
  overflow: hidden;
}

.pe-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.pe-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: right center !important;
  display: block;
}

.pe-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(252, 250, 247, 0.65) 0%, rgba(245, 241, 231, 0.72) 50%, rgba(252, 250, 247, 0.65) 100%);
  pointer-events: none;
}

.pe-container {
  position: relative;
  z-index: 1;
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 24px;
}

.pe-header {
  margin-bottom: 56px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.pe-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #B58D20;
  margin-bottom: 20px;
}

.pe-badge i,
.pe-badge svg {
  width: 16px;
  height: 16px;
  color: #D4AF37;
}

.pe-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.1rem, 4.5vw, 2.9rem);
  font-weight: 700;
  line-height: 1.25;
  color: #0E2418;
  max-width: 850px;
  margin: 0 auto 16px;
}

.pe-title-accent {
  color: #D4AF37;
  font-style: italic;
}

.pe-subtitle {
  font-size: 1.1rem;
  line-height: 1.7;
  color: #4A5568;
  max-width: 780px;
  margin: 0 auto 24px;
}

.pe-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
  max-width: 260px;
}

.pe-divider-line {
  height: 1px;
  flex: 1;
  background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.5), transparent);
}

.pe-divider i,
.pe-divider svg {
  width: 18px;
  height: 18px;
  color: #D4AF37;
}

.pe-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.pe-card {
  background: #FFFFFF;
  border: 1px solid rgba(212, 175, 55, 0.3);
  border-radius: 24px;
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-shadow: 0 12px 35px rgba(14, 36, 24, 0.05);
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.pe-card:hover {
  transform: translateY(-5px);
  border-color: rgba(212, 175, 55, 0.6);
  box-shadow: 0 18px 45px rgba(14, 36, 24, 0.12);
}

.pe-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
}

.pe-card-icon {
  width: 50px;
  height: 50px;
  border-radius: 14px;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.3s ease, transform 0.3s ease;
}

.pe-card:hover .pe-card-icon {
  background: linear-gradient(135deg, #D4AF37 0%, #AA8C2C 100%);
}

.pe-card-icon i,
.pe-card-icon svg {
  width: 24px;
  height: 24px;
  color: #D4AF37;
  transition: color 0.3s ease;
}

.pe-card:hover .pe-card-icon i,
.pe-card:hover .pe-card-icon svg {
  color: #0E2418;
}

.pe-card-badge {
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #B58D20;
  background: rgba(212, 175, 55, 0.1);
  padding: 4px 12px;
  border-radius: 999px;
  border: 1px solid rgba(212, 175, 55, 0.25);
}

.pe-card-body h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.3rem;
  font-weight: 700;
  color: #0E2418;
  margin: 0 0 10px 0;
}

.pe-card-body p {
  font-size: 0.98rem;
  line-height: 1.65;
  color: #4A5568;
  margin: 0 0 24px 0;
}

.pe-card-footer {
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid rgba(212, 175, 55, 0.15);
}

.pe-card-btn {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 12px 18px;
  background: rgba(14, 36, 24, 0.04);
  border: 1px solid rgba(212, 175, 55, 0.3);
  border-radius: 999px;
  color: #0E2418;
  font-weight: 700;
  font-size: 0.88rem;
  text-decoration: none;
  transition: background 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}

.pe-card-btn:hover {
  background: linear-gradient(135deg, #D4AF37 0%, #AA8C2C 100%);
  border-color: #D4AF37;
  color: #0E2418;
}

.pe-card-btn i,
.pe-card-btn svg {
  width: 16px;
  height: 16px;
  transition: transform 0.3s ease;
}

.pe-card-btn:hover i,
.pe-card-btn:hover svg {
  transform: translateX(4px);
}

/* Responsividade dos Protocolos */
@media (max-width: 1024px) {
  .pe-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .protocolos-estetica-section {
    padding: 60px 0;
  }

  .pe-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .pe-card {
    padding: 24px 20px;
  }
}

/* ==========================================================================
   SECTION: CONHEÃ‡A NOSSOS PACOTES DE SPA (#pacotes-spa)
   ========================================================================== */
.pacotes-spa-section {
  position: relative;
  padding: 95px 0;
  background: linear-gradient(135deg, #0E2418 0%, #163322 100%);
  color: #F5F1E7;
  overflow: hidden;
}

.pacotes-spa-section::before {
  content: '';
  position: absolute;
  top: -20%;
  left: -10%;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(212, 175, 55, 0.12) 0%, transparent 70%);
  pointer-events: none;
}

.ps-container {
  position: relative;
  z-index: 1;
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 24px;
}

.ps-header {
  margin-bottom: 56px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.ps-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  background: rgba(212, 175, 55, 0.15);
  border: 1px solid rgba(212, 175, 55, 0.4);
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #E5C76B;
  margin-bottom: 20px;
}

.ps-badge i,
.ps-badge svg {
  width: 16px;
  height: 16px;
  color: #D4AF37;
}

.ps-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.1rem, 4.5vw, 2.9rem);
  font-weight: 700;
  line-height: 1.25;
  color: #F5F1E7;
  max-width: 900px;
  margin: 0 auto 16px;
}

.ps-title-accent {
  color: #D4AF37;
  font-style: italic;
}

.ps-subtitle {
  font-size: 1.1rem;
  line-height: 1.7;
  color: #D3C9B8;
  max-width: 780px;
  margin: 0 auto 24px;
}

.ps-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
  max-width: 260px;
}

.ps-divider-line {
  height: 1px;
  flex: 1;
  background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.5), transparent);
}

.ps-divider i,
.ps-divider svg {
  width: 18px;
  height: 18px;
  color: #D4AF37;
}

.ps-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  margin-bottom: 56px;
}

.ps-card {
  background: rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(212, 175, 55, 0.25);
  border-radius: 24px;
  padding: 36px 30px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.2);
  transition: transform 0.3s ease, border-color 0.3s ease, background 0.3s ease;
}

.ps-card:hover {
  transform: translateY(-6px);
  border-color: rgba(212, 175, 55, 0.6);
  background: rgba(255, 255, 255, 0.07);
}

.ps-card-highlight {
  border-color: #D4AF37;
  background: rgba(255, 255, 255, 0.07);
  box-shadow: 0 20px 50px rgba(212, 175, 55, 0.15);
}

.ps-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
}

.ps-card-icon {
  width: 52px;
  height: 52px;
  border-radius: 16px;
  background: linear-gradient(135deg, #D4AF37 0%, #AA8C2C 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 8px 20px rgba(212, 175, 55, 0.3);
}

.ps-card-icon i,
.ps-card-icon svg {
  width: 24px;
  height: 24px;
  color: #0E2418;
}

.ps-card-badge {
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #E5C76B;
  background: rgba(212, 175, 55, 0.15);
  padding: 5px 14px;
  border-radius: 999px;
  border: 1px solid rgba(212, 175, 55, 0.35);
}

.ps-card-body h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.45rem;
  font-weight: 700;
  color: #F5F1E7;
  margin: 0 0 12px 0;
}

.ps-card-body p {
  font-size: 1.02rem;
  line-height: 1.7;
  color: #D3C9B8;
  margin: 0 0 28px 0;
}

.ps-card-footer {
  margin-top: auto;
  padding-top: 18px;
  border-top: 1px solid rgba(212, 175, 55, 0.2);
}

.ps-card-btn {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 14px 20px;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 999px;
  color: #F5F1E7;
  font-weight: 700;
  font-size: 0.9rem;
  text-decoration: none;
  transition: background 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}

.ps-card-btn:hover {
  background: linear-gradient(135deg, #D4AF37 0%, #AA8C2C 100%);
  border-color: #D4AF37;
  color: #0E2418;
}

.ps-card-btn i,
.ps-card-btn svg {
  width: 18px;
  height: 18px;
  transition: transform 0.3s ease;
}

.ps-card-btn:hover i,
.ps-card-btn:hover svg {
  transform: translateX(4px);
}

.ps-cta-banner {
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 24px;
  padding: 36px 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.25);
}

.ps-cta-content h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.45rem;
  font-weight: 700;
  color: #F5F1E7;
  margin: 0 0 6px 0;
}

.ps-cta-content p {
  font-size: 0.98rem;
  color: #D3C9B8;
  margin: 0;
}

.ps-wsp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 16px 32px;
  background: linear-gradient(135deg, #D4AF37 0%, #AA8C2C 100%);
  color: #0E2418;
  font-weight: 700;
  font-size: 0.98rem;
  border-radius: 999px;
  text-decoration: none;
  box-shadow: 0 10px 25px rgba(170, 140, 44, 0.3);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  box-sizing: border-box;
  max-width: 100%;
}

.ps-wsp-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 35px rgba(170, 140, 44, 0.45);
  color: #0E2418;
}

.ps-wsp-btn svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

/* Responsividade dos Pacotes */
@media (max-width: 992px) {
  .ps-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .ps-cta-banner {
    flex-direction: column;
    text-align: center;
    padding: 28px 24px;
  }

  .ps-wsp-btn {
    width: auto;
    max-width: 90%;
    margin: 0 auto;
    justify-content: center;
  }
}

/* ==========================================================================
   SECTION: ESTÃ‰TICA NATURAL: BELEZA COM EQUILÃBRIO (#estetica-equilibrio)
   ========================================================================== */
.estetica-equilibrio-section {
  position: relative;
  padding: 100px 0;
  background: #F5F1E7;
  overflow: hidden;
}

.eq-container {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 24px;
}

.eq-header {
  margin-bottom: 52px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.eq-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #B58D20;
  margin-bottom: 20px;
}

.eq-badge i,
.eq-badge svg {
  width: 16px;
  height: 16px;
  color: #D4AF37;
}

.eq-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.1rem, 4.5vw, 2.9rem);
  font-weight: 700;
  line-height: 1.25;
  color: #0E2418;
  max-width: 900px;
  margin: 0 auto 16px;
}

.eq-title-accent {
  color: #D4AF37;
  font-style: italic;
}

.eq-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
  max-width: 260px;
}

.eq-divider-line {
  height: 1px;
  flex: 1;
  background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.5), transparent);
}

.eq-divider i,
.eq-divider svg {
  width: 18px;
  height: 18px;
  color: #D4AF37;
}

.eq-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
}

.eq-text-col {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.eq-card {
  background: #FFFFFF;
  border: 1px solid rgba(212, 175, 55, 0.3);
  border-radius: 20px;
  padding: 28px 32px;
  display: flex;
  gap: 20px;
  align-items: flex-start;
  box-shadow: 0 10px 30px rgba(14, 36, 24, 0.05);
}

.eq-card-icon {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.eq-card-icon i,
.eq-card-icon svg {
  width: 22px;
  height: 22px;
  color: #D4AF37;
}

.eq-lead {
  font-size: 1.08rem;
  line-height: 1.75;
  color: #0E2418;
  margin: 0;
}

.eq-sublead {
  font-size: 1.05rem;
  line-height: 1.7;
  color: #4A5568;
  margin: 0;
}

.eq-pillars-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 8px;
}

.eq-pillar-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  background: #FFFFFF;
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 999px;
  font-size: 0.88rem;
  font-weight: 700;
  color: #0E2418;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04);
}

.eq-pillar-item i,
.eq-pillar-item svg {
  width: 16px;
  height: 16px;
  color: #D4AF37;
}

.eq-collage {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.eq-img-box {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 16px 40px rgba(14, 36, 24, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.35);
}

.eq-img-box img {
  width: 100%;
  height: 360px;
  object-fit: cover;
  object-position: center center;
  display: block;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.eq-img-box:hover img {
  transform: scale(1.05);
}

.eq-img-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 50%, rgba(14, 36, 24, 0.75) 100%);
  pointer-events: none;
}

.eq-img-tag {
  position: absolute;
  bottom: 16px;
  left: 16px;
  right: 16px;
  background: rgba(14, 36, 24, 0.85);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(212, 175, 55, 0.4);
  border-radius: 12px;
  padding: 8px 14px;
  display: flex;
  align-items: center;
  gap: 8px;
  color: #F5F1E7;
  font-size: 0.85rem;
  font-weight: 600;
}

.eq-img-tag i,
.eq-img-tag svg {
  width: 16px;
  height: 16px;
  color: #D4AF37;
  flex-shrink: 0;
}

/* Responsividade de EstÃ©tica EquilÃ­brio */
@media (max-width: 992px) {
  .eq-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }
}

@media (max-width: 640px) {
  .estetica-equilibrio-section {
    padding: 60px 0;
  }

  .eq-collage {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .eq-img-box img {
    height: 280px;
  }

  .eq-card {
    padding: 22px 20px;
    flex-direction: column;
    gap: 14px;
  }
}

/* ==========================================================================
   SECTION: UMA EXPERIÃŠNCIA QUE ENVOLVE TODOS OS SENTIDOS (#experiencia-sentidos)
   ========================================================================== */
.experiencia-sentidos-section {
  position: relative;
  padding: 100px 0;
  overflow: hidden;
  background: #FCFAF7;
}

.es-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.es-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left center !important;
  display: block;
}

.es-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(252, 250, 247, 0.70) 0%, rgba(245, 241, 231, 0.78) 50%, rgba(252, 250, 247, 0.70) 100%);
  pointer-events: none;
}

.es-container {
  position: relative;
  z-index: 1;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 24px;
}

.es-card {
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 32px;
  padding: 56px 48px;
  text-align: center;
  box-shadow: 0 20px 50px rgba(14, 36, 24, 0.08);
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}

.es-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #B58D20;
  margin-bottom: 20px;
}

.es-badge i,
.es-badge svg {
  width: 16px;
  height: 16px;
  color: #D4AF37;
}

.es-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.1rem, 4.5vw, 2.9rem);
  font-weight: 700;
  line-height: 1.25;
  color: #0E2418;
  max-width: 850px;
  margin: 0 auto 20px;
}

.es-title-accent {
  color: #D4AF37;
  font-style: italic;
}

.es-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
  max-width: 260px;
  margin-bottom: 32px;
}

.es-divider-line {
  height: 1px;
  flex: 1;
  background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.5), transparent);
}

.es-divider i,
.es-divider svg {
  width: 18px;
  height: 18px;
  color: #D4AF37;
}

.es-content-box {
  max-width: 840px;
  margin-bottom: 40px;
}

.es-lead-highlight {
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1.7;
  color: #0E2418;
  margin-bottom: 16px;
}

.es-description {
  font-size: 1.08rem;
  line-height: 1.75;
  color: #4A5568;
  margin: 0;
}

.es-wsp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 18px 40px;
  background: linear-gradient(135deg, #D4AF37 0%, #AA8C2C 100%);
  color: #0E2418;
  font-weight: 700;
  font-size: 1.05rem;
  border-radius: 999px;
  text-decoration: none;
  box-shadow: 0 12px 30px rgba(170, 140, 44, 0.35);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  box-sizing: border-box;
  max-width: 100%;
}

.es-wsp-btn:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(170, 140, 44, 0.5);
  color: #0E2418;
}

.es-wsp-btn svg {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
}

/* Responsividade de ExperiÃªncia Sentidos */
@media (max-width: 640px) {
  .experiencia-sentidos-section {
    padding: 60px 0;
  }

  .es-card {
    padding: 32px 20px;
    border-radius: 24px;
  }

  .es-lead-highlight {
    font-size: 1.08rem;
  }

  .es-description {
    font-size: 0.98rem;
  }

  .es-wsp-btn {
    padding: 15px 22px;
    font-size: 0.9rem;
    line-height: 1.35;
    white-space: normal;
    text-align: center;
    width: auto;
    max-width: 90%;
    margin: 0 auto;
  }
}

/* ==========================================================================
   LIGHT VARIANT: FAQ SECTION (#faq-spa / .faq-light-section)
   ========================================================================== */
.faq-light-section {
  position: relative;
  padding: 100px 0;
  background: linear-gradient(180deg, #FCFAF7 0%, #F5F1E7 50%, #FCFAF7 100%);
  color: #0E2418;
  overflow: hidden;
}

.faq-light-section .ff-badge {
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.35);
  color: #B58D20;
}

.faq-light-section .ff-title {
  color: #0E2418;
}

.faq-light-section .ff-item {
  background: #FFFFFF;
  border: 1px solid rgba(212, 175, 55, 0.3);
  box-shadow: 0 8px 24px rgba(14, 36, 24, 0.04);
}

.faq-light-section .ff-item[open] {
  border-color: rgba(212, 175, 55, 0.6);
  background: #FFFFFF;
  box-shadow: 0 12px 32px rgba(14, 36, 24, 0.08);
}

.faq-light-section .ff-summary h3 {
  color: #0E2418;
}

.faq-light-section .ff-answer {
  border-top: 1px solid rgba(212, 175, 55, 0.15);
}

.faq-light-section .ff-answer p {
  color: #4A5568;
}

@media (max-width: 640px) {
  .faq-light-section {
    padding: 60px 0;
  }
}

/* ==========================================================================
   GLOBAL RESPONSIVE FIX: FIXED MAX-WIDTH FOR BUTTONS ON MOBILE (PREVENT 100% WIDTH)
   ========================================================================== */
@media (max-width: 992px) {

  .hero-actions a,
  .hero-btn-primary,
  .hero-btn-secondary,
  .aa-wsp-btn,
  .se-wsp-btn,
  .ps-wsp-btn,
  .es-wsp-btn,
  .ot-wsp-btn,
  .sa-wsp-btn,
  .sd-wsp-btn,
  .cd-wsp-btn,
  .amd-wsp-btn,
  .pq-wsp-btn,
  .wsp-cta-btn,
  .btn-primary,
  .btn-secondary {
    width: auto !important;
    max-width: 360px !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 576px) {

  .hero-actions a,
  .hero-btn-primary,
  .hero-btn-secondary,
  .aa-wsp-btn,
  .se-wsp-btn,
  .ps-wsp-btn,
  .es-wsp-btn,
  .ot-wsp-btn,
  .sa-wsp-btn,
  .sd-wsp-btn,
  .cd-wsp-btn,
  .amd-wsp-btn,
  .pq-wsp-btn,
  .wsp-cta-btn,
  .btn-primary,
  .btn-secondary {
    width: auto !important;
    max-width: 90% !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    font-size: 0.92rem !important;
  }
}

/* ==========================================================================
   SECTION: SOBRE DEPILAÃ‡ÃƒO (#sobre-depilacao)
   ========================================================================== */
.sobre-depilacao-section {
  position: relative;
  padding: 95px 0;
  background: linear-gradient(180deg, #FCFAF7 0%, #F5F1E7 50%, #FCFAF7 100%);
  overflow: hidden;
}

.sd-container {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 24px;
}

.sd-header {
  margin-bottom: 48px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.sd-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #B58D20;
  margin-bottom: 20px;
}

.sd-badge i,
.sd-badge svg {
  width: 16px;
  height: 16px;
  color: #D4AF37;
}

.sd-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.1rem, 4.5vw, 2.9rem);
  font-weight: 700;
  line-height: 1.25;
  color: #0E2418;
  max-width: 900px;
  margin: 0 auto 16px;
}

.sd-title-accent {
  color: #D4AF37;
  font-style: italic;
}

.sd-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
  max-width: 260px;
}

.sd-divider-line {
  height: 1px;
  flex: 1;
  background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.5), transparent);
}

.sd-divider i,
.sd-divider svg {
  width: 18px;
  height: 18px;
  color: #D4AF37;
}

.sd-intro-card {
  background: #FFFFFF;
  border: 1px solid rgba(212, 175, 55, 0.3);
  border-radius: 24px;
  padding: 40px 48px;
  margin-bottom: 48px;
  box-shadow: 0 12px 35px rgba(14, 36, 24, 0.05);
}

.sd-lead {
  font-size: 1.15rem;
  line-height: 1.8;
  color: #0E2418;
  margin: 0 0 16px 0;
}

.sd-description {
  font-size: 1.05rem;
  line-height: 1.75;
  color: #4A5568;
  margin: 0 0 16px 0;
}

.sd-description:last-child {
  margin-bottom: 0;
}

.sd-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  margin-bottom: 56px;
}

.sd-card {
  background: #FFFFFF;
  border: 1px solid rgba(212, 175, 55, 0.28);
  border-radius: 20px;
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  box-shadow: 0 10px 30px rgba(14, 36, 24, 0.04);
  transition: transform 0.3s ease, border-color 0.3s ease;
}

.sd-card:hover {
  transform: translateY(-5px);
  border-color: rgba(212, 175, 55, 0.6);
}

.sd-card-icon {
  width: 50px;
  height: 50px;
  border-radius: 14px;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
}

.sd-card-icon i,
.sd-card-icon svg {
  width: 24px;
  height: 24px;
  color: #D4AF37;
}

.sd-card-body h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.35rem;
  font-weight: 700;
  color: #0E2418;
  margin: 0 0 10px 0;
}

.sd-card-body p {
  font-size: 0.98rem;
  line-height: 1.65;
  color: #4A5568;
  margin: 0;
}

.sd-cta-banner {
  background: linear-gradient(135deg, #0E2418 0%, #163322 100%);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 24px;
  padding: 36px 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.25);
  color: #F5F1E7;
}

.sd-cta-content h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.45rem;
  font-weight: 700;
  color: #F5F1E7;
  margin: 0 0 6px 0;
}

.sd-cta-content p {
  font-size: 0.98rem;
  color: #D3C9B8;
  margin: 0;
}

.sd-wsp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 16px 32px;
  background: linear-gradient(135deg, #D4AF37 0%, #AA8C2C 100%);
  color: #0E2418;
  font-weight: 700;
  font-size: 0.98rem;
  border-radius: 999px;
  text-decoration: none;
  box-shadow: 0 10px 25px rgba(170, 140, 44, 0.3);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  box-sizing: border-box;
  flex-shrink: 0;
}

.sd-wsp-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 35px rgba(170, 140, 44, 0.45);
  color: #0E2418;
}

.sd-wsp-btn svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

@media (max-width: 992px) {
  .sd-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .sd-intro-card {
    padding: 28px 24px;
  }

  .sd-cta-banner {
    flex-direction: column;
    text-align: center;
    padding: 28px 24px;
  }
}

/* ==========================================================================
   SECTION: COMO FUNCIONA NOSSO PROTOCOLO DE DEPILAÃ‡ÃƒO (#como-funciona-depilacao)
   ========================================================================== */
.como-funciona-depilacao-section {
  position: relative;
  padding: 100px 0;
  background: #FCFAF7;
  overflow: hidden;
}

.cfd-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.cfd-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left center !important;
  display: block;
}

.cfd-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(252, 250, 247, 0.70) 0%, rgba(245, 241, 231, 0.78) 50%, rgba(252, 250, 247, 0.70) 100%);
  pointer-events: none;
}

.cfd-container {
  position: relative;
  z-index: 1;
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 24px;
}

.cfd-header {
  margin-bottom: 56px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.cfd-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #B58D20;
  margin-bottom: 20px;
}

.cfd-badge i,
.cfd-badge svg {
  width: 16px;
  height: 16px;
  color: #D4AF37;
}

.cfd-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.1rem, 4.5vw, 2.9rem);
  font-weight: 700;
  line-height: 1.25;
  color: #0E2418;
  max-width: 900px;
  margin: 0 auto 16px;
}

.cfd-title-accent {
  color: #D4AF37;
  font-style: italic;
}

.cfd-subtitle {
  font-size: 1.1rem;
  line-height: 1.7;
  color: #4A5568;
  max-width: 780px;
  margin: 0 auto 24px;
}

.cfd-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
  max-width: 260px;
}

.cfd-divider-line {
  height: 1px;
  flex: 1;
  background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.5), transparent);
}

.cfd-divider i,
.cfd-divider svg {
  width: 18px;
  height: 18px;
  color: #D4AF37;
}

.cfd-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
}

.cfd-steps-col {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.cfd-step-card {
  background: #FFFFFF;
  border: 1px solid rgba(212, 175, 55, 0.3);
  border-radius: 20px;
  padding: 24px 28px;
  display: flex;
  gap: 20px;
  align-items: flex-start;
  box-shadow: 0 8px 25px rgba(14, 36, 24, 0.04);
  transition: transform 0.3s ease, border-color 0.3s ease;
}

.cfd-step-card:hover {
  transform: translateX(6px);
  border-color: rgba(212, 175, 55, 0.6);
}

.cfd-step-number {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.6rem;
  font-weight: 800;
  color: #D4AF37;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.35);
  width: 48px;
  height: 48px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.cfd-step-content h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: #0E2418;
  margin: 0 0 8px 0;
}

.cfd-step-content p {
  font-size: 0.98rem;
  line-height: 1.65;
  color: #4A5568;
  margin: 0;
}

.cfd-media-col {
  display: flex;
  justify-content: center;
}

.cfd-img-wrapper {
  position: relative;
  width: 100%;
  max-width: 520px;
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(14, 36, 24, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.35);
}

.cfd-img-wrapper img {
  width: 100%;
  height: 520px;
  object-fit: cover;
  object-position: center center;
  display: block;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.cfd-img-wrapper:hover img {
  transform: scale(1.04);
}

.cfd-img-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 60%, rgba(14, 36, 24, 0.75) 100%);
  pointer-events: none;
}

.cfd-img-badge {
  position: absolute;
  background: rgba(14, 36, 24, 0.88);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(212, 175, 55, 0.4);
  border-radius: 999px;
  padding: 10px 20px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: #F5F1E7;
  font-size: 0.88rem;
  font-weight: 700;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
}

.cfd-img-badge i,
.cfd-img-badge svg {
  width: 18px;
  height: 18px;
  color: #D4AF37;
  flex-shrink: 0;
}

.top-badge {
  top: 24px;
  left: 24px;
}

.bottom-badge {
  bottom: 24px;
  right: 24px;
}

@media (max-width: 992px) {
  .cfd-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .cfd-img-wrapper img {
    height: 380px;
  }
}

@media (max-width: 640px) {
  .como-funciona-depilacao-section {
    padding: 60px 0;
  }

  .cfd-step-card {
    padding: 20px 18px;
    flex-direction: column;
    gap: 12px;
  }
}

/* ==========================================================================
   SECTION: ÃREAS DE DEPILAÃ‡ÃƒO (#areas-depilacao)
   ========================================================================== */
.areas-depilacao-section {
  position: relative;
  padding: 100px 0;
  background: linear-gradient(180deg, #FCFAF7 0%, #F5F1E7 50%, #FCFAF7 100%);
  overflow: hidden;
}

.ad-container {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 24px;
}

.ad-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 52px;
  align-items: center;
}

.ad-media-col {
  display: flex;
  justify-content: center;
}

.ad-img-wrapper {
  position: relative;
  width: 100%;
  max-width: 520px;
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(14, 36, 24, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.35);
}

.ad-img-wrapper img {
  width: 100%;
  height: 500px;
  object-fit: cover;
  object-position: center center;
  display: block;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.ad-img-wrapper:hover img {
  transform: scale(1.04);
}

.ad-img-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 60%, rgba(14, 36, 24, 0.75) 100%);
  pointer-events: none;
}

.ad-img-badge {
  position: absolute;
  bottom: 24px;
  left: 24px;
  right: 24px;
  background: rgba(14, 36, 24, 0.88);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(212, 175, 55, 0.4);
  border-radius: 14px;
  padding: 12px 20px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: #F5F1E7;
  font-size: 0.88rem;
  font-weight: 700;
}

.ad-img-badge i,
.ad-img-badge svg {
  width: 18px;
  height: 18px;
  color: #D4AF37;
}

.ad-text-col {
  display: flex;
  flex-direction: column;
}

.ad-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #B58D20;
  margin-bottom: 20px;
  align-self: flex-start;
}

.ad-badge i,
.ad-badge svg {
  width: 16px;
  height: 16px;
  color: #D4AF37;
}

.ad-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.1rem, 4.5vw, 2.7rem);
  font-weight: 700;
  line-height: 1.25;
  color: #0E2418;
  margin: 0 0 16px 0;
}

.ad-title-accent {
  color: #D4AF37;
  font-style: italic;
}

.ad-divider {
  display: flex;
  align-items: center;
  gap: 16px;
  width: 100%;
  max-width: 240px;
  margin-bottom: 24px;
}

.ad-divider-line {
  height: 1px;
  flex: 1;
  background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.5), transparent);
}

.ad-divider i,
.ad-divider svg {
  width: 18px;
  height: 18px;
  color: #D4AF37;
}

.ad-content-card {
  background: #FFFFFF;
  border: 1px solid rgba(212, 175, 55, 0.3);
  border-radius: 20px;
  padding: 28px 32px;
  margin-bottom: 28px;
  box-shadow: 0 8px 25px rgba(14, 36, 24, 0.04);
}

.ad-lead {
  font-size: 1.1rem;
  line-height: 1.75;
  color: #0E2418;
  margin: 0 0 12px 0;
}

.ad-description {
  font-size: 1.02rem;
  line-height: 1.7;
  color: #4A5568;
  margin: 0;
}

.ad-regions-list {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.ad-region-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  background: #FFFFFF;
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 999px;
  font-size: 0.88rem;
  font-weight: 700;
  color: #0E2418;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04);
}

.ad-region-pill i,
.ad-region-pill svg {
  width: 16px;
  height: 16px;
  color: #D4AF37;
}

/* ==========================================================================
   SECTION: COMBOS DE DEPILAÃ‡ÃƒO (#combos-depilacao)
   ========================================================================== */
.combos-depilacao-section {
  position: relative;
  padding: 100px 0;
  background: #FCFAF7;
  overflow: hidden;
}

.cd-container {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 24px;
}

.cd-header {
  margin-bottom: 48px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.cd-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #B58D20;
  margin-bottom: 20px;
}

.cd-badge i,
.cd-badge svg {
  width: 16px;
  height: 16px;
  color: #D4AF37;
}

.cd-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.1rem, 4.5vw, 2.9rem);
  font-weight: 700;
  line-height: 1.25;
  color: #0E2418;
  max-width: 900px;
  margin: 0 auto 16px;
}

.cd-title-accent {
  color: #D4AF37;
  font-style: italic;
}

.cd-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
  max-width: 260px;
}

.cd-divider-line {
  height: 1px;
  flex: 1;
  background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.5), transparent);
}

.cd-divider i,
.cd-divider svg {
  width: 18px;
  height: 18px;
  color: #D4AF37;
}

.cd-card-wrapper {
  background: #FFFFFF;
  border: 1px solid rgba(212, 175, 55, 0.3);
  border-radius: 28px;
  padding: 44px 48px;
  box-shadow: 0 16px 40px rgba(14, 36, 24, 0.05);
}

.cd-info-box {
  margin-bottom: 36px;
}

.cd-lead {
  font-size: 1.15rem;
  line-height: 1.8;
  color: #0E2418;
  margin: 0 0 12px 0;
}

.cd-description {
  font-size: 1.05rem;
  line-height: 1.75;
  color: #4A5568;
  margin: 0;
}

.cd-features-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-bottom: 40px;
}

.cd-feature-item {
  background: rgba(252, 250, 247, 0.8);
  border: 1px solid rgba(212, 175, 55, 0.25);
  border-radius: 20px;
  padding: 24px 20px;
  text-align: center;
}

.cd-feature-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 14px;
}

.cd-feature-icon i,
.cd-feature-icon svg {
  width: 20px;
  height: 20px;
  color: #D4AF37;
}

.cd-feature-item h4 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.15rem;
  font-weight: 700;
  color: #0E2418;
  margin: 0 0 8px 0;
}

.cd-feature-item p {
  font-size: 0.92rem;
  line-height: 1.6;
  color: #4A5568;
  margin: 0;
}

.cd-cta-box {
  display: flex;
  justify-content: center;
}

.cd-wsp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 16px 36px;
  background: linear-gradient(135deg, #D4AF37 0%, #AA8C2C 100%);
  color: #0E2418;
  font-weight: 700;
  font-size: 1.02rem;
  border-radius: 999px;
  text-decoration: none;
  box-shadow: 0 10px 25px rgba(170, 140, 44, 0.3);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  box-sizing: border-box;
}

.cd-wsp-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 35px rgba(170, 140, 44, 0.45);
  color: #0E2418;
}

.cd-wsp-btn svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

/* ==========================================================================
   SECTION: ASSINATURA MENSAL DE DEPILAÃ‡ÃƒO (#assinatura-depilacao)
   ========================================================================== */
.assinatura-depilacao-section {
  position: relative;
  padding: 100px 0;
  background: linear-gradient(135deg, #0E2418 0%, #163322 100%);
  color: #F5F1E7;
  overflow: hidden;
}

.amd-container {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 24px;
}

.amd-header {
  margin-bottom: 48px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.amd-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  background: rgba(212, 175, 55, 0.15);
  border: 1px solid rgba(212, 175, 55, 0.4);
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #E5C76B;
  margin-bottom: 20px;
}

.amd-badge i,
.amd-badge svg {
  width: 16px;
  height: 16px;
  color: #D4AF37;
}

.amd-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.1rem, 4.5vw, 2.9rem);
  font-weight: 700;
  line-height: 1.25;
  color: #F5F1E7;
  max-width: 900px;
  margin: 0 auto 16px;
}

.amd-title-accent {
  color: #D4AF37;
  font-style: italic;
}

.amd-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
  max-width: 260px;
}

.amd-divider-line {
  height: 1px;
  flex: 1;
  background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.5), transparent);
}

.amd-divider i,
.amd-divider svg {
  width: 18px;
  height: 18px;
  color: #D4AF37;
}

.amd-card-banner {
  background: rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 28px;
  padding: 48px 56px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25);
  text-align: center;
}

.amd-lead {
  font-size: 1.2rem;
  line-height: 1.8;
  color: #F5F1E7;
  margin: 0 0 16px 0;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

.amd-description {
  font-size: 1.05rem;
  line-height: 1.75;
  color: #D3C9B8;
  margin: 0 0 36px 0;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

.amd-benefits-row {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 40px;
}

.amd-benefit-item {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 22px;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 999px;
  color: #F5F1E7;
  font-size: 0.9rem;
  font-weight: 700;
}

.amd-benefit-item i,
.amd-benefit-item svg {
  width: 18px;
  height: 18px;
  color: #D4AF37;
}

.amd-action {
  display: flex;
  justify-content: center;
}

.amd-wsp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 18px 40px;
  background: linear-gradient(135deg, #D4AF37 0%, #AA8C2C 100%);
  color: #0E2418;
  font-weight: 700;
  font-size: 1.05rem;
  border-radius: 999px;
  text-decoration: none;
  box-shadow: 0 12px 30px rgba(170, 140, 44, 0.35);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  box-sizing: border-box;
}

.amd-wsp-btn:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(170, 140, 44, 0.5);
  color: #0E2418;
}

.amd-wsp-btn svg {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
}

@media (max-width: 992px) {
  .ad-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .cd-features-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .cd-card-wrapper,
  .amd-card-banner {
    padding: 32px 24px;
  }
}

/* ==========================================================================
   SECTION: CONHEÃ‡A OUTROS TRATAMENTOS (#outros-tratamentos-depilacao)
   ========================================================================== */
.outros-tratamentos-depilacao-section {
  position: relative;
  padding: 100px 0;
  background: linear-gradient(180deg, #FCFAF7 0%, #F5F1E7 50%, #FCFAF7 100%);
  overflow: hidden;
}

.otd-container {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 24px;
}

.otd-header {
  margin-bottom: 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.otd-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #B58D20;
  margin-bottom: 20px;
}

.otd-badge i,
.otd-badge svg {
  width: 16px;
  height: 16px;
  color: #D4AF37;
}

.otd-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.1rem, 4.5vw, 2.9rem);
  font-weight: 700;
  line-height: 1.25;
  color: #0E2418;
  max-width: 900px;
  margin: 0 auto 16px;
}

.otd-title-accent {
  color: #D4AF37;
  font-style: italic;
}

.otd-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
  max-width: 260px;
}

.otd-divider-line {
  height: 1px;
  flex: 1;
  background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.5), transparent);
}

.otd-divider i,
.otd-divider svg {
  width: 18px;
  height: 18px;
  color: #D4AF37;
}

.otd-intro-card {
  background: #FFFFFF;
  border: 1px solid rgba(212, 175, 55, 0.3);
  border-radius: 24px;
  padding: 36px 44px;
  margin-bottom: 48px;
  box-shadow: 0 12px 35px rgba(14, 36, 24, 0.05);
  text-align: center;
}

.otd-lead {
  font-size: 1.15rem;
  line-height: 1.8;
  color: #0E2418;
  margin: 0 0 12px 0;
}

.otd-description {
  font-size: 1.05rem;
  line-height: 1.7;
  color: #4A5568;
  margin: 0;
}

.otd-cards-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px;
}

.otd-card {
  background: #FFFFFF;
  border: 1px solid rgba(212, 175, 55, 0.3);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 12px 35px rgba(14, 36, 24, 0.05);
  display: flex;
  flex-direction: column;
  transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
}

.otd-card:hover {
  transform: translateY(-6px);
  border-color: rgba(212, 175, 55, 0.6);
  box-shadow: 0 20px 45px rgba(14, 36, 24, 0.1);
}

.otd-card-img-wrapper {
  position: relative;
  width: 100%;
  height: 250px;
  overflow: hidden;
}

.otd-card-img-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center !important;
  display: block;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.otd-card:hover .otd-card-img-wrapper img {
  transform: scale(1.05);
}

.otd-card-img-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 50%, rgba(14, 36, 24, 0.6) 100%);
  pointer-events: none;
}

.otd-card-body {
  padding: 32px 36px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.otd-card-category {
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #B58D20;
  margin-bottom: 8px;
}

.otd-card-body h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: #0E2418;
  margin: 0 0 14px 0;
}

.otd-card-body p {
  font-size: 1rem;
  line-height: 1.7;
  color: #4A5568;
  margin: 0 0 24px 0;
  flex: 1;
}

.otd-card-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 28px;
  background: linear-gradient(135deg, #0E2418 0%, #163322 100%);
  color: #F5F1E7;
  font-weight: 700;
  font-size: 0.95rem;
  border-radius: 999px;
  text-decoration: none;
  border: 1px solid rgba(212, 175, 55, 0.35);
  box-shadow: 0 8px 20px rgba(14, 36, 24, 0.15);
  transition: transform 0.3s ease, background 0.3s ease, color 0.3s ease;
  align-self: flex-start;
}

.otd-card-btn:hover {
  transform: translateY(-3px);
  background: linear-gradient(135deg, #D4AF37 0%, #AA8C2C 100%);
  color: #0E2418;
}

.otd-card-btn i,
.otd-card-btn svg {
  width: 18px;
  height: 18px;
}

@media (max-width: 992px) {
  .otd-cards-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .otd-intro-card,
  .otd-card-body {
    padding: 28px 24px;
  }

  .otd-card-btn {
    width: auto !important;
    max-width: 90% !important;
    align-self: center;
  }
}

/* ==========================================================================
   SECTION: POR QUE ESCOLHER A LIMA'S THERAPY (#por-que-escolher-depilacao)
   ========================================================================== */
.por-que-escolher-depilacao-section {
  position: relative;
  padding: 105px 0;
  overflow: hidden;
  background: #0E2418;
  color: #F5F1E7;
}

.pqd-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.pqd-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: right center !important;
  display: block;
}

.pqd-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(14, 36, 24, 0.88) 0%, rgba(14, 36, 24, 0.94) 50%, rgba(14, 36, 24, 0.90) 100%);
  pointer-events: none;
}

.pqd-container {
  position: relative;
  z-index: 1;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 24px;
}

.pqd-header {
  margin-bottom: 48px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.pqd-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  background: rgba(212, 175, 55, 0.15);
  border: 1px solid rgba(212, 175, 55, 0.4);
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #E5C76B;
  margin-bottom: 20px;
}

.pqd-badge i,
.pqd-badge svg {
  width: 16px;
  height: 16px;
  color: #D4AF37;
}

.pqd-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.1rem, 4.5vw, 2.9rem);
  font-weight: 700;
  line-height: 1.25;
  color: #F5F1E7;
  max-width: 900px;
  margin: 0 auto 16px;
}

.pqd-title-accent {
  color: #D4AF37;
  font-style: italic;
}

.pqd-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
  max-width: 260px;
}

.pqd-divider-line {
  height: 1px;
  flex: 1;
  background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.5), transparent);
}

.pqd-divider i,
.pqd-divider svg {
  width: 18px;
  height: 18px;
  color: #D4AF37;
}

.pqd-card {
  background: rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 28px;
  padding: 48px 56px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
}

.pqd-card-body {
  margin-bottom: 36px;
}

.pqd-lead {
  font-size: 1.2rem;
  line-height: 1.85;
  color: #F5F1E7;
  margin: 0 0 16px 0;
}

.pqd-description {
  font-size: 1.05rem;
  line-height: 1.75;
  color: #D3C9B8;
  margin: 0 0 16px 0;
}

.pqd-description:last-child {
  margin-bottom: 0;
}

.pqd-features {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 44px;
}

.pqd-feature-pill {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 22px;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 999px;
  color: #F5F1E7;
  font-size: 0.9rem;
  font-weight: 700;
}

.pqd-feature-pill i,
.pqd-feature-pill svg {
  width: 18px;
  height: 18px;
  color: #D4AF37;
}

.pqd-cta-banner {
  background: linear-gradient(135deg, rgba(212, 175, 55, 0.15) 0%, rgba(14, 36, 24, 0.6) 100%);
  border: 1px solid rgba(212, 175, 55, 0.4);
  border-radius: 20px;
  padding: 32px 36px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.pqd-cta-text h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.3rem;
  font-weight: 700;
  color: #F5F1E7;
  margin: 0 0 6px 0;
}

.pqd-cta-text p {
  font-size: 0.95rem;
  color: #D3C9B8;
  margin: 0;
}

.pqd-wsp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 16px 32px;
  background: linear-gradient(135deg, #D4AF37 0%, #AA8C2C 100%);
  color: #0E2418;
  font-weight: 700;
  font-size: 0.98rem;
  border-radius: 999px;
  text-decoration: none;
  box-shadow: 0 10px 25px rgba(170, 140, 44, 0.35);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  box-sizing: border-box;
  flex-shrink: 0;
}

.pqd-wsp-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 35px rgba(170, 140, 44, 0.5);
  color: #0E2418;
}

.pqd-wsp-btn svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

@media (max-width: 992px) {
  .pqd-card {
    padding: 32px 24px;
  }

  .pqd-cta-banner {
    flex-direction: column;
    text-align: center;
    padding: 24px 20px;
  }
}

/* =========================================================
CONTATOS.HTML SPECIFIC STYLES
========================================================= */
.contact-info-card {
  background: #1a3626;
  padding: 40px;
  border-radius: 24px;
  color: #f5f1e7;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.05);
  display: flex;
  flex-direction: column;
  height: 100%;
}

.contact-info-title {
  font-size: 24px;
  font-weight: 600;
  color: #c49a45;
  margin-bottom: 16px;
}

.contact-info-desc {
  color: rgba(245, 241, 231, 0.8);
  font-size: 15px;
  line-height: 1.6;
  margin-bottom: 32px;
}

.contact-info-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.contact-info-item {
  display: flex;
  gap: 16px;
}

.contact-info-icon {
  color: #c49a45;
  flex-shrink: 0;
  margin-top: 2px;
}

.contact-info-label {
  display: block;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: rgba(245, 241, 231, 0.6);
  margin-bottom: 4px;
}

.contact-info-value {
  font-size: 16px;
  font-weight: 500;
  color: #f5f1e7;
  text-decoration: none;
}

.contact-info-text {
  font-size: 15px;
  line-height: 1.5;
  color: rgba(245, 241, 231, 0.9);
}

.contact-info-footer {
  margin-top: auto;
  padding-top: 40px;
}

.contact-info-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: #c49a45;
  color: #1a3626;
  padding: 16px 24px;
  border-radius: 30px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  text-decoration: none;
  transition: transform 0.2s, background 0.3s;
  width: 100%;
}

.contact-info-btn:hover {
  background: #d9b158;
  transform: translateY(-2px);
}

.location-section {
  background: #ffffff;
  padding: 80px 5%;
}

.location-container {
  max-width: 1200px;
  margin: 0 auto;
}

.location-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  align-items: center;
}

.location-text-col {
  flex: 1;
  min-width: 320px;
}

.location-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #c49a45;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 16px;
}

.location-title {
  font-size: 32px;
  font-weight: 500;
  color: #1a3626;
  margin-bottom: 24px;
  line-height: 1.2;
}

.location-desc {
  color: #4a5c50;
  font-size: 16px;
  line-height: 1.7;
  margin-bottom: 20px;
}

.location-seo-box {
  background: #fcf9f2;
  border-left: 3px solid #c49a45;
  padding: 20px;
  border-radius: 0 12px 12px 0;
}

.location-seo-text {
  color: #1a3626;
  font-size: 14px;
  line-height: 1.6;
  margin: 0;
}

.location-img-col {
  flex: 1;
  min-width: 320px;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
}

.location-img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  max-height: 450px;
}

.location-map-wrap {
  margin-top: 60px;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
  height: 400px;
}

/* =========================================================
STYLES EXTRACTED FROM HTML <style> TAGS
========================================================= */
/* Extracted from 12-tipos-de-massagem-relaxante-para-alivio-de-dores.html */
:root {
  --blog-gold: #D4AF37;
  --blog-dark: #1c1917;
  --blog-text: #44403c;
  --blog-light: #fafaf9;
  --blog-border: #e7e5e4;
}


.blog-hero {
  padding-top: 100px;
  padding-bottom: 60px;
  background-color: var(--blog-light);
  text-align: center;
  position: relative;
  overflow: hidden;
}

.blog-hero::before {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle, rgba(212, 175, 55, 0.05) 0%, rgba(250, 250, 249, 0) 70%);
  z-index: 0;
}

.blog-hero-content {
  position: relative;
  z-index: 1;
  max-width: 800px;
  margin: 0 auto;
  padding: 0 20px;
}

.blog-breadcrumb {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  font-size: 0.875rem;
  color: var(--color-stone-500);
  margin-bottom: 24px;
}

.blog-breadcrumb a {
  color: var(--blog-dark);
  text-decoration: none;
  font-weight: 500;
  transition: color 0.3s;
}

.blog-breadcrumb a:hover {
  color: var(--blog-gold);
}

.blog-title {
  font-family: var(--font-serif);
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.2;
  color: var(--blog-dark);
  margin-bottom: 24px;
}

.blog-title-accent {
  color: var(--blog-gold);
  font-style: italic;
}

.blog-meta {
  font-size: 0.95rem;
  color: var(--color-stone-500);
  display: flex;
  justify-content: center;
  gap: 20px;
}

/* Layout: Desktop (Artigo + Sidebar) */
.blog-main {
  max-width: 1140px;
  /* Largura ideal para caber conteÃºdo e menu lateral */
  margin: 0 auto;
  padding: 40px 20px 80px;
  display: flex;
  gap: 40px;
  align-items: flex-start;
  justify-content: center;
}

.blog-article {
  flex: 1;
  max-width: 760px;
  /* Texto nÃ£o fica muito largo */
  font-family: var(--font-sans);
  font-size: 1.125rem;
  line-height: 1.8;
  color: var(--blog-text);
}

.blog-sidebar {
  width: 320px;
  flex-shrink: 0;
  position: sticky;
  top: 100px;
  /* Fixo ao rolar a pÃ¡gina em telas grandes */
}

.blog-article h2 {
  font-family: var(--font-serif);
  font-size: 2.25rem;
  color: var(--blog-dark);
  margin-top: 60px;
  margin-bottom: 24px;
  position: relative;
  scroll-margin-top: 100px;
}

.blog-article h3 {
  font-size: 1.5rem;
  color: var(--blog-dark);
  margin-top: 40px;
  margin-bottom: 16px;
  font-weight: 600;
  scroll-margin-top: 100px;
}

.blog-article p {
  margin-bottom: 24px;
}

.blog-article img {
  max-width: 100%;
  height: auto;
  max-height: 500px;
  object-fit: cover;
  border-radius: 16px;
  margin: 40px auto;
  display: block;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

.blog-article ul {
  list-style: none;
  padding-left: 0;
  margin-bottom: 32px;
}

.blog-article ul.standard-list li {
  position: relative;
  padding-left: 28px;
  margin-bottom: 12px;
}

.blog-article ul.standard-list li::before {
  content: "\2713";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--blog-gold);
  font-weight: bold;
}

.blog-article strong {
  color: var(--blog-dark);
  font-weight: 600;
}

/* TOC Estilos Base */
.blog-toc {
  background: var(--blog-light);
  padding: 32px;
  border-radius: 16px;
  border: 1px solid var(--blog-border);
}

.blog-toc-title {
  font-family: var(--font-serif);
  font-size: 1.25rem;
  color: var(--blog-dark);
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 600;
}

.blog-toc-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.blog-toc-list li {
  margin-bottom: 12px;
}

.blog-toc-list a {
  color: var(--color-stone-600);
  text-decoration: none;
  font-size: 0.95rem;
  transition: all 0.3s ease;
  display: block;
}

.blog-toc-list a:hover {
  color: var(--blog-gold);
  transform: translateX(4px);
}

.blog-toc-list a.active {
  color: var(--blog-gold);
  font-weight: 700;
  border-left: 2px solid var(--blog-gold);
  padding-left: 8px;
}

/* Floating Botton TOC (Apenas Mobile) */
.toc-mobile-btn {
  display: none;
}

/* Responsividade */
@media (max-width: 992px) {
  .blog-main {
    display: block;
    /* Remove o flex e a barra lateral ao lado */
  }

  .blog-article {
    max-width: 100%;
  }

  .blog-sidebar {
    width: auto;
    position: static;
  }

  /* No mobile, escondemos o TOC padrÃ£o e criamos o botÃ£o flutuante */
  .blog-toc {
    display: none;
    /* Fica escondido atÃ© o clique */
    position: fixed;
    bottom: 90px;
    right: 20px;
    width: 300px;
    max-height: 60vh;
    overflow-y: auto;
    z-index: 999;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
    animation: fadeIn 0.3s ease;
  }

  .blog-toc.show-mobile {
    display: block;
  }

  .toc-mobile-btn {
    display: flex;
    position: fixed;
    bottom: 20px;
    /* Acima do botÃ£o WhatsApp (se for na direita) ou deixamos na esquerda */
    left: 20px;
    /* Vamos colocar na esquerda para nÃ£o conflitar com o WhatsApp */
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: var(--blog-dark);
    color: #fff;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    border: none;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    cursor: pointer;
    transition: transform 0.3s ease;
  }

  /* Ajuste a posiÃ§Ã£o do modal TOC se o botÃ£o ficar na esquerda */
  .blog-toc {
    bottom: 90px;
    left: 20px;
    right: auto;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.blog-box {
  background: var(--blog-light);
  padding: 32px;
  border-radius: 16px;
  border-left: 4px solid var(--blog-gold);
  margin: 40px 0;
}

.blog-box-title {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--blog-dark);
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.blog-card-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
  margin-top: 40px;
}

.protocol-card {
  background: #fff;
  border: 1px solid var(--blog-border);
  border-radius: 16px;
  padding: 32px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  scroll-margin-top: 100px;
}

.protocol-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
}

.protocol-title {
  font-family: var(--font-serif);
  font-size: 1.75rem;
  color: var(--blog-dark);
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid var(--color-stone-100);
  padding-bottom: 16px;
}

.protocol-info-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.protocol-info-list li {
  padding-left: 0 !important;
  margin-bottom: 16px !important;
  display: flex;
  flex-direction: column;
}

.protocol-info-list li::before {
  display: none !important;
}

.info-label {
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--color-stone-500);
  margin-bottom: 4px;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 6px;
}

.info-value {
  font-size: 1.05rem;
  color: var(--color-stone-800);
}

.blog-table-container {
  overflow-x: auto;
  margin: 40px 0;
  border-radius: 12px;
  border: 1px solid var(--blog-border);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
}

.blog-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 600px;
  background: #fff;
}

.blog-table th,
.blog-table td {
  padding: 16px 24px;
  text-align: left;
  border-bottom: 1px solid var(--blog-border);
}

.blog-table th {
  background: var(--blog-light);
  font-weight: 600;
  color: var(--blog-dark);
  font-family: var(--font-serif);
  font-size: 1.1rem;
}

.blog-table tr:last-child td {
  border-bottom: none;
}

.blog-table tr:hover td {
  background: var(--blog-light);
}

.steps-container {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-top: 32px;
}

.step-item {
  display: flex;
  gap: 20px;
  background: #fff;
  padding: 24px;
  border-radius: 12px;
  border: 1px solid var(--blog-border);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
}

.step-number {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--blog-gold);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  font-family: var(--font-serif);
  flex-shrink: 0;
}

.step-content h3 {
  margin-top: 0;
  margin-bottom: 8px;
}

.step-content p {
  margin-bottom: 0;
}

.dropcap {
  float: left;
  font-family: var(--font-serif);
  font-size: 4.5rem;
  line-height: 0.8;
  padding-top: 4px;
  padding-right: 12px;
  color: var(--blog-gold);
}

/* Extracted from blog.html */
:root {
  --blog-gold: #D4AF37;
  --blog-dark: #1c1917;
  --blog-text: #44403c;
  --blog-light: #fafaf9;
  --blog-border: #e7e5e4;
  --blog-surface: #ffffff;
}

.blog-hero {
  padding-top: 130px;
  padding-bottom: 60px;
  background-color: var(--blog-light);
  text-align: center;
  position: relative;
  overflow: hidden;
}

.blog-hero::before {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle, rgba(212, 175, 55, 0.05) 0%, rgba(250, 250, 249, 0) 70%);
  z-index: 0;
}

.blog-hero-content {
  position: relative;
  z-index: 1;
  max-width: 800px;
  margin: 0 auto;
  padding: 0 20px;
}

.blog-breadcrumb {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  font-size: 0.875rem;
  color: #78716c;
  margin-bottom: 1.5rem;
}

.blog-breadcrumb a {
  color: #78716c;
  text-decoration: none;
  transition: color 0.2s;
}

.blog-breadcrumb a:hover {
  color: var(--blog-gold);
}

.blog-title {
  font-family: var(--font-serif);
  font-size: clamp(2rem, 5vw, 3.5rem);
  color: var(--blog-dark);
  line-height: 1.1;
  margin-bottom: 1rem;
}

.blog-title-accent {
  color: var(--blog-gold);
  font-style: italic;
}

.blog-subtitle {
  font-size: 1.125rem;
  color: var(--blog-text);
  max-width: 600px;
  margin: 0 auto;
  line-height: 1.6;
}

/* Filters & Search */
.blog-filters-section {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 20px 20px;
}

.blog-controls {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-bottom: 40px;
}

@media (min-width: 768px) {
  .blog-controls {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
}

.blog-search {
  position: relative;
  width: 100%;
  max-width: 350px;
}

.blog-search input {
  width: 100%;
  padding: 14px 20px 14px 45px;
  border: 1px solid var(--blog-border);
  border-radius: 50px;
  background: var(--blog-surface);
  font-size: 0.95rem;
  color: var(--blog-text);
  transition: all 0.3s ease;
  outline: none;
}

.blog-search input:focus {
  border-color: var(--blog-gold);
  box-shadow: 0 0 0 4px rgba(212, 175, 55, 0.1);
}

.blog-search i {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: #a8a29e;
  width: 20px;
  height: 20px;
}

.blog-categories {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.blog-categories::-webkit-scrollbar {
  display: none;
}

.blog-category-btn {
  white-space: nowrap;
  padding: 10px 20px;
  border-radius: 50px;
  background: var(--blog-surface);
  border: 1px solid var(--blog-border);
  color: var(--blog-text);
  font-size: 0.9rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.3s ease;
}

.blog-category-btn:hover {
  border-color: var(--blog-gold);
  color: var(--blog-gold);
}

.blog-category-btn.active {
  background: var(--blog-gold);
  border-color: var(--blog-gold);
  color: #fff;
}

/* Grid & Cards */
.blog-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 32px;
  margin-bottom: 60px;
}

.blog-card {
  background: var(--blog-surface);
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid var(--blog-border);
  transition: transform 0.4s ease, box-shadow 0.4s ease;
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
  color: inherit;
}

.blog-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
  border-color: rgba(212, 175, 55, 0.3);
}

.blog-card-img-wrap {
  position: relative;
  width: 100%;
  height: 240px;
  overflow: hidden;
}

.blog-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.blog-card:hover .blog-card-img {
  transform: scale(1.05);
}

.blog-card-tag {
  position: absolute;
  top: 16px;
  left: 16px;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(4px);
  padding: 6px 14px;
  border-radius: 50px;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--blog-dark);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.blog-card-content {
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.blog-card-meta {
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 0.8rem;
  color: #78716c;
  margin-bottom: 12px;
}

.blog-card-meta-item {
  display: flex;
  align-items: center;
  gap: 6px;
}

.blog-card-meta-item i {
  width: 14px;
  height: 14px;
  color: var(--blog-gold);
}

.blog-card-title {
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--blog-dark);
  line-height: 1.3;
  margin: 0 0 12px;
  font-family: 'Playfair Display', serif;
}

.blog-card-desc {
  font-size: 0.95rem;
  color: var(--blog-text);
  line-height: 1.6;
  margin: 0 0 24px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.blog-card-read-more {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--blog-gold);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  transition: gap 0.3s ease;
}

.blog-card:hover .blog-card-read-more {
  gap: 12px;
}

/* Load More Button */
.blog-load-more {
  text-align: center;
  margin-bottom: 80px;
}

.blog-load-more-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 16px 32px;
  background: transparent;
  border: 1px solid var(--blog-gold);
  color: var(--blog-dark);
  border-radius: 50px;
  font-size: 0.95rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.3s ease;
}

.blog-load-more-btn:hover {
  background: var(--blog-gold);
  color: #fff;
}

/* Extracted from clube-lt.html */
/* Estilos Responsivos para o Clube LT */

/* Ajustes TipogrÃ¡ficos Finos */
.clube-section h2,
.clube-section h3 {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-weight: 600;
}

.clube-section p,
.clube-section li,
.clube-section div {
  font-family: 'Urbanist', sans-serif;
  font-weight: 400;
}

.clube-section p {
  font-size: 1.15rem !important;
  /* stone-700 */
  line-height: 1.8 !important;
}

.hero-sobre-title {
  font-family: 'Playfair Display', Georgia, serif !important;
}

.hero-sobre-quote-box p {
  font-family: 'Urbanist', sans-serif !important;
  font-weight: 400 !important;
  font-size: 1.15rem !important;
}

.clube-planos-grid h3 {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-weight: 600 !important;
}

.clube-items-grid span {
  font-family: 'Urbanist', sans-serif;
  font-weight: 600 !important;
  font-size: 1.05rem;
}

.clube-beneficios li {
  font-weight: 500 !important;
  font-size: 1.1rem !important;
}

.clube-section {
  padding: 80px 0;
}

.clube-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}

.clube-img {
  width: 100%;
  border-radius: 12px;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
  object-fit: cover;
  height: 600px;
}

.clube-img-tall {
  height: 750px;
}

.clube-planos-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  align-items: stretch;
}

.clube-plano-card {
  background: white;
  color: var(--blog-dark);
  border-radius: 16px;
  padding: 40px;
  text-align: center;
  position: relative;
  border: 1px solid var(--color-stone-200);
}

.clube-plano-premium {
  background: var(--blog-gold);
  transform: scale(1.05);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
  z-index: 2;
  border: none;
}

.clube-items-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 20px;
}

@media (max-width: 992px) {
  .clube-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .clube-img,
  .clube-img-tall {
    height: 400px;
  }

  .clube-planos-grid {
    grid-template-columns: 1fr;
  }

  .clube-plano-premium {
    transform: scale(1);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
  }

  .clube-order-2 {
    order: -1;
  }
}

/* Extracted from clube-lt.html */
@media (max-width: 768px) {
  .clube-spa-section {
    background-position: right center !important;
  }
}

/* Extracted from drenagem-linfatica-na-gravidez-beneficios.html */
:root {
  --blog-gold: #D4AF37;
  --blog-dark: #1c1917;
  --blog-text: #44403c;
  --blog-light: #fafaf9;
  --blog-border: #e7e5e4;
}


.blog-hero {
  padding-top: 100px;
  padding-bottom: 60px;
  background-color: var(--blog-light);
  text-align: center;
  position: relative;
  overflow: hidden;
}

.blog-hero::before {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle, rgba(212, 175, 55, 0.05) 0%, rgba(250, 250, 249, 0) 70%);
  z-index: 0;
}

.blog-hero-content {
  position: relative;
  z-index: 1;
  max-width: 800px;
  margin: 0 auto;
  padding: 0 20px;
}

.blog-breadcrumb {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  font-size: 0.875rem;
  color: var(--color-stone-500);
  margin-bottom: 24px;
}

.blog-breadcrumb a {
  color: var(--blog-dark);
  text-decoration: none;
  font-weight: 500;
  transition: color 0.3s;
}

.blog-breadcrumb a:hover {
  color: var(--blog-gold);
}

.blog-title {
  font-family: var(--font-serif);
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.2;
  color: var(--blog-dark);
  margin-bottom: 24px;
}

.blog-title-accent {
  color: var(--blog-gold);
  font-style: italic;
}

.blog-meta {
  font-size: 0.95rem;
  color: var(--color-stone-500);
  display: flex;
  justify-content: center;
  gap: 20px;
}

/* Layout: Desktop (Artigo + Sidebar) */
.blog-main {
  max-width: 1140px;
  /* Largura ideal para caber conteÃºdo e menu lateral */
  margin: 0 auto;
  padding: 40px 20px 80px;
  display: flex;
  gap: 40px;
  align-items: flex-start;
  justify-content: center;
}

.blog-article {
  flex: 1;
  max-width: 760px;
  /* Texto nÃ£o fica muito largo */
  font-family: var(--font-sans);
  font-size: 1.125rem;
  line-height: 1.8;
  color: var(--blog-text);
}

.blog-sidebar {
  width: 320px;
  flex-shrink: 0;
  position: sticky;
  top: 100px;
  /* Fixo ao rolar a pÃ¡gina em telas grandes */
}

.blog-article h2 {
  font-family: var(--font-serif);
  font-size: 2.25rem;
  color: var(--blog-dark);
  margin-top: 60px;
  margin-bottom: 24px;
  position: relative;
  scroll-margin-top: 100px;
}

.blog-article h3 {
  font-size: 1.5rem;
  color: var(--blog-dark);
  margin-top: 40px;
  margin-bottom: 16px;
  font-weight: 600;
  scroll-margin-top: 100px;
}

.blog-article p {
  margin-bottom: 24px;
}

.blog-article img {
  max-width: 100%;
  height: auto;
  max-height: 500px;
  object-fit: cover;
  border-radius: 16px;
  margin: 40px auto;
  display: block;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

.blog-article ul {
  list-style: none;
  padding-left: 0;
  margin-bottom: 32px;
}

.blog-article ul.standard-list li {
  position: relative;
  padding-left: 28px;
  margin-bottom: 12px;
}

.blog-article ul.standard-list li::before {
  content: "\2713";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--blog-gold);
  font-weight: bold;
}

.blog-article strong {
  color: var(--blog-dark);
  font-weight: 600;
}

/* TOC Estilos Base */
.blog-toc {
  background: var(--blog-light);
  padding: 32px;
  border-radius: 16px;
  border: 1px solid var(--blog-border);
}

.blog-toc-title {
  font-family: var(--font-serif);
  font-size: 1.25rem;
  color: var(--blog-dark);
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 600;
}

.blog-toc-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.blog-toc-list li {
  margin-bottom: 12px;
}

.blog-toc-list a {
  color: var(--color-stone-600);
  text-decoration: none;
  font-size: 0.95rem;
  transition: all 0.3s ease;
  display: block;
}

.blog-toc-list a:hover {
  color: var(--blog-gold);
  transform: translateX(4px);
}

.blog-toc-list a.active {
  color: var(--blog-gold);
  font-weight: 700;
  border-left: 2px solid var(--blog-gold);
  padding-left: 8px;
}

/* Floating Botton TOC (Apenas Mobile) */
.toc-mobile-btn {
  display: none;
}

/* Responsividade */
@media (max-width: 992px) {
  .blog-main {
    display: block;
    /* Remove o flex e a barra lateral ao lado */
  }

  .blog-article {
    max-width: 100%;
  }

  .blog-sidebar {
    width: auto;
    position: static;
  }

  /* No mobile, escondemos o TOC padrÃ£o e criamos o botÃ£o flutuante */
  .blog-toc {
    display: none;
    /* Fica escondido atÃ© o clique */
    position: fixed;
    bottom: 90px;
    right: 20px;
    width: 300px;
    max-height: 60vh;
    overflow-y: auto;
    z-index: 999;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
    animation: fadeIn 0.3s ease;
  }

  .blog-toc.show-mobile {
    display: block;
  }

  .toc-mobile-btn {
    display: flex;
    position: fixed;
    bottom: 20px;
    /* Acima do botÃ£o WhatsApp (se for na direita) ou deixamos na esquerda */
    left: 20px;
    /* Vamos colocar na esquerda para nÃ£o conflitar com o WhatsApp */
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: var(--blog-dark);
    color: #fff;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    border: none;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    cursor: pointer;
    transition: transform 0.3s ease;
  }

  /* Ajuste a posiÃ§Ã£o do modal TOC se o botÃ£o ficar na esquerda */
  .blog-toc {
    bottom: 90px;
    left: 20px;
    right: auto;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.blog-box {
  background: var(--blog-light);
  padding: 32px;
  border-radius: 16px;
  border-left: 4px solid var(--blog-gold);
  margin: 40px 0;
}

.blog-box-title {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--blog-dark);
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.blog-card-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
  margin-top: 40px;
}

.protocol-card {
  background: #fff;
  border: 1px solid var(--blog-border);
  border-radius: 16px;
  padding: 32px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  scroll-margin-top: 100px;
}

.protocol-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
}

.protocol-title {
  font-family: var(--font-serif);
  font-size: 1.75rem;
  color: var(--blog-dark);
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid var(--color-stone-100);
  padding-bottom: 16px;
}

.protocol-info-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.protocol-info-list li {
  padding-left: 0 !important;
  margin-bottom: 16px !important;
  display: flex;
  flex-direction: column;
}

.protocol-info-list li::before {
  display: none !important;
}

.info-label {
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--color-stone-500);
  margin-bottom: 4px;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 6px;
}

.info-value {
  font-size: 1.05rem;
  color: var(--color-stone-800);
}

.blog-table-container {
  overflow-x: auto;
  margin: 40px 0;
  border-radius: 12px;
  border: 1px solid var(--blog-border);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
}

.blog-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 600px;
  background: #fff;
}

.blog-table th,
.blog-table td {
  padding: 16px 24px;
  text-align: left;
  border-bottom: 1px solid var(--blog-border);
}

.blog-table th {
  background: var(--blog-light);
  font-weight: 600;
  color: var(--blog-dark);
  font-family: var(--font-serif);
  font-size: 1.1rem;
}

.blog-table tr:last-child td {
  border-bottom: none;
}

.blog-table tr:hover td {
  background: var(--blog-light);
}

.steps-container {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-top: 32px;
}

.step-item {
  display: flex;
  gap: 20px;
  background: #fff;
  padding: 24px;
  border-radius: 12px;
  border: 1px solid var(--blog-border);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
}

.step-number {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--blog-gold);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  font-family: var(--font-serif);
  flex-shrink: 0;
}

.step-content h3 {
  margin-top: 0;
  margin-bottom: 8px;
}

.step-content p {
  margin-bottom: 0;
}

.dropcap {
  float: left;
  font-family: var(--font-serif);
  font-size: 4.5rem;
  line-height: 0.8;
  padding-top: 4px;
  padding-right: 12px;
  color: var(--blog-gold);
}

/* Extracted from fundadora.html */
html,
body { overflow-x: clip !important; width: 100% !important; }

.fundadora-hero {
  position: relative;
  background: url('../img/gabrielle-lima-massoterapeuta-fisioterapeuta.avif') no-repeat !important;
  background-size: cover !important;
  background-position: right 25% center !important;
  padding-top: 160px !important;
  padding-bottom: 120px !important;
}

.fundadora-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,
      rgba(245, 241, 231, 0.96) 0%,
      rgba(245, 241, 231, 0.88) 40%,
      rgba(245, 241, 231, 0.50) 65%,
      rgba(245, 241, 231, 0.10) 100%);
  z-index: 1;
  pointer-events: none;
}

.fundadora-hero .sobre-shell {
  position: relative;
  z-index: 2;
}

.fundadora-hero .sobre-grid {
  grid-template-columns: 1.15fr 0.85fr;
}

.fundadora-hero .sobre-visual {
  display: none !important;
}

@media (max-width: 1080px) {
  .fundadora-hero {
    background-position: center !important;
    padding-top: 100px !important;
    padding-bottom: 60px !important;
  }

  .fundadora-hero::after {
    background: linear-gradient(180deg,
        rgba(245, 241, 231, 0.96) 0%,
        rgba(245, 241, 231, 0.88) 60%,
        rgba(245, 241, 231, 0.50) 100%) !important;
  }

  .fundadora-hero .sobre-grid {
    grid-template-columns: 1fr;
  }

  .fundadora-hero .sobre-title {
    font-size: 2.2rem;
    line-height: 1.2;
  }
}

@media (max-width: 480px) {
  .fundadora-hero {
    padding-top: 80px !important;
    padding-bottom: 40px !important;
  }

  .fundadora-hero .sobre-title {
    font-size: 1.8rem;
  }
}

/* conheca-fundadora section styling */
.conheca-fundadora-section {
  padding: 100px 0;
  background: #FDFCF9;
  border-top: 1px solid rgba(212, 175, 55, 0.15);
  position: relative;
  overflow: hidden;
}

.conheca-fundadora-card {
  background: var(--hc-surface);
  border: 1px solid var(--hc-line);
  padding: 40px;
  border-radius: 24px;
  box-shadow: var(--hc-shadow-soft);
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  width: 100%;
}

.conheca-fundadora-card::before {
  content: "";
  position: absolute;
  top: -50px;
  right: -50px;
  width: 150px;
  height: 150px;
  border-radius: 999px;
  background: rgba(212, 175, 55, 0.05);
  pointer-events: none;
}

.conheca-fundadora-card h3 {
  font-size: 1.8rem;
  color: var(--hc-text);
  margin-bottom: 24px;
  border-bottom: 1px solid rgba(212, 175, 55, 0.25);
  padding-bottom: 12px;
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: 'Playfair Display', serif;
  font-style: italic;
}

.conheca-fundadora-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 20px;
}

.conheca-fundadora-list li {
  display: flex;
  gap: 14px;
  align-items: start;
}

.conheca-fundadora-icon {
  background: rgba(26, 54, 38, 0.05);
  padding: 8px;
  border-radius: 8px;
  color: var(--hc-text);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.conheca-fundadora-list strong {
  display: block;
  font-size: 14px;
  color: var(--hc-text);
  margin-bottom: 2px;
}

.conheca-fundadora-list span {
  font-size: 13px;
  color: var(--hc-text-soft);
  line-height: 1.4;
}

.conheca-fundadora-lead {
  font-size: 17px;
  line-height: 1.8;
  color: var(--hc-text);
  margin-bottom: 20px;
  font-weight: 500;
}

.conheca-fundadora-text {
  font-size: 17px;
  line-height: 1.8;
  color: var(--hc-text-soft);
  margin-bottom: 30px;
}

.conheca-fundadora-cta-wrap {
  display: flex;
}

.conheca-fundadora-cta-wrap .hero-btn-primary {
  padding: 0 24px !important;
  min-height: 48px !important;
  font-size: 13px !important;
  gap: 8px !important;
  display: inline-flex !important;
  white-space: nowrap !important;
  box-sizing: border-box;
}

@media (max-width: 1080px) {
  .conheca-fundadora-section {
    padding: 60px 0;
  }

  #conheca-fundadora .conheca-fundadora-content {
    order: 1 !important;
  }

  #conheca-fundadora .conheca-fundadora-card {
    order: 2 !important;
    margin-top: 2.5rem;
    padding: 24px 16px !important;
  }

  #conheca-fundadora .conheca-fundadora-text {
    margin-bottom: 20px !important;
  }

  #conheca-fundadora .conheca-fundadora-cta-wrap {
    justify-content: center;
  }

  #conheca-fundadora .hero-btn-primary {
    width: 100%;
    max-width: 320px;
    padding: 0 16px !important;
    font-size: 12px !important;
    white-space: normal !important;
    height: auto !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }
}

/* fundadora-trajetoria-section styling */
.fundadora-trajetoria-section {
  padding: 100px 0;
  background: #F5F1E7;
  border-top: 1px solid rgba(212, 175, 55, 0.15);
  position: relative;
  overflow: hidden;
}

.fundadora-trajetoria-body p {
  font-size: 16px;
  line-height: 1.8;
  color: var(--hc-text-soft);
  margin-bottom: 20px;
}

.fundadora-trajetoria-body .fundadora-text-highlight {
  font-size: 17px;
  font-weight: 600;
  color: var(--hc-text);
}

.fundadora-text-badge-paragraph {
  display: flex;
  gap: 12px;
  align-items: start;
  background: rgba(26, 54, 38, 0.04);
  padding: 16px;
  border-radius: 12px;
  border-left: 3px solid var(--hc-accent);
}

.fundadora-text-badge-paragraph span {
  font-size: 15px !important;
  line-height: 1.6 !important;
  color: var(--hc-text) !important;
  font-weight: 500;
}

/* fundadora-especialidades-section styling */
.fundadora-especialidades-section {
  padding: 100px 0;
  background: #EDE9DF url('img/fundo-hero.avif') no-repeat center/cover;
  border-top: 1px solid rgba(212, 175, 55, 0.15);
  position: relative;
  overflow: hidden;
}

.fundadora-especialidades-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(245, 241, 231, 0.65);
  z-index: 1;
  pointer-events: none;
}

.fundadora-especialidades-section .sobre-shell {
  position: relative;
  z-index: 2;
}

.especialidades-subtitle {
  font-size: 17px;
  line-height: 1.8;
  color: var(--hc-text-soft);
  max-width: 700px;
  margin: 0 auto 48px;
}

.especialidades-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 20px;
  margin-bottom: 48px;
}

.especialidade-chip {
  background: rgba(249, 246, 239, 0.85);
  border: 1px solid var(--hc-line);
  padding: 24px 16px;
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 12px;
  box-shadow: 0 4px 12px rgba(26, 54, 38, 0.03);
  transition: transform 200ms ease, box-shadow 200ms ease;
}

.especialidade-chip:hover {
  transform: translateY(-2px);
  box-shadow: var(--hc-shadow-soft);
  border-color: var(--hc-accent);
}

.especialidade-chip i {
  color: var(--hc-accent);
  width: 28px;
  height: 28px;
}

.especialidade-chip span {
  font-size: 14px;
  font-weight: 700;
  color: var(--hc-text);
  line-height: 1.3;
}

.especialidades-foot {
  max-width: 800px;
  margin: 0 auto;
}

.especialidades-foot p {
  font-size: 16px;
  line-height: 1.8;
  color: var(--hc-text-soft);
  font-style: italic;
}

@media (max-width: 1080px) {
  .fundadora-trajetoria-section {
    padding: 60px 0;
  }

  .fundadora-especialidades-section {
    padding: 60px 0;
    background-position: right center !important;
  }

  .especialidades-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }

  #trajetoria .sobre-content {
    order: 1 !important;
  }

  #trajetoria .sobre-visual {
    order: 2 !important;
    margin-top: 2.5rem;
  }
}

@media (max-width: 480px) {
  .especialidades-grid {
    grid-template-columns: 1fr;
  }

  .especialidade-chip {
    flex-direction: row;
    text-align: left;
    padding: 16px 20px;
  }
}

/* fundadora-humanizado-section styling */
.fundadora-humanizado-section {
  padding: 100px 0;
  background: #FDFCF9;
  border-top: 1px solid rgba(212, 175, 55, 0.15);
  position: relative;
  overflow: hidden;
}

.fundadora-humanizado-body p {
  font-size: 16px;
  line-height: 1.8;
  color: var(--hc-text-soft);
  margin-bottom: 20px;
}

.fundadora-humanizado-body .fundadora-text-highlight {
  font-size: 17px;
  font-weight: 600;
  color: var(--hc-text);
}

/* fundadora-compromisso-section styling */
.fundadora-compromisso-section {
  padding: 100px 0;
  background: #F5F1E7;
  border-top: 1px solid rgba(212, 175, 55, 0.15);
  position: relative;
  overflow: hidden;
}

.fundadora-compromisso-body p {
  font-size: 16px;
  line-height: 1.8;
  color: var(--hc-text-soft);
  margin-bottom: 20px;
}

.fundadora-compromisso-body .fundadora-text-highlight {
  font-size: 17px;
  font-weight: 600;
  color: var(--hc-text);
}

@media (max-width: 1080px) {

  .fundadora-humanizado-section,
  .fundadora-compromisso-section {
    padding: 60px 0;
  }

  #compromisso .sobre-content {
    order: 1 !important;
  }

  #compromisso .sobre-visual {
    order: 2 !important;
    margin-top: 2.5rem;
  }

  #atendimento-humanizado .sobre-content {
    order: 1 !important;
  }

  #atendimento-humanizado .sobre-visual {
    order: 2 !important;
    margin-top: 2.5rem;
  }
}

/* fundadora-cta-section styling */
.fundadora-cta-section {
  padding: 100px 0;
  background: #FDFCF9 url('img/fundo-hero-esquerda.avif') no-repeat center/cover;
  border-top: 1px solid rgba(212, 175, 55, 0.15);
  position: relative;
  overflow: hidden;
}

.fundadora-cta-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(253, 252, 249, 0.85);
  /* Overlay #FDFCF9 */
  z-index: 1;
  pointer-events: none;
}

.fundadora-cta-section .sobre-shell {
  position: relative;
  z-index: 2;
}

.fundadora-cta-text {
  font-size: 17px;
  line-height: 1.8;
  color: var(--hc-text-soft);
  max-width: 700px;
  margin: 0 auto 32px;
}

/* fundadora-faq-section styling */
.fundadora-faq-section {
  padding: 100px 0;
  background: #F5F1E7;
  border-top: 1px solid rgba(212, 175, 55, 0.15);
}

.faq-container {
  max-width: 800px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.faq-item {
  background: #FDFCF9;
  border: 1px solid var(--hc-line);
  border-radius: 16px;
  overflow: hidden;
  transition: box-shadow 0.3s ease;
}

.faq-item:hover {
  box-shadow: var(--hc-shadow-soft);
}

.faq-question {
  padding: 24px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 17px;
  font-weight: 600;
  color: var(--hc-text);
  list-style: none;
}

.faq-question::-webkit-details-marker {
  display: none;
}

.faq-icon {
  color: var(--hc-accent);
  transition: transform 0.3s ease;
}

.faq-item[open] .faq-icon {
  transform: rotate(180deg);
}

.faq-answer {
  padding: 0 24px 24px;
  font-size: 16px;
  line-height: 1.8;
  color: var(--hc-text-soft);
  border-top: 1px solid transparent;
  animation: faqFadeIn 0.3s ease forwards;
}

.faq-item[open] .faq-answer {
  border-top-color: rgba(212, 175, 55, 0.15);
  margin-top: 8px;
  padding-top: 16px;
}

@keyframes faqFadeIn {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 1080px) {
  .fundadora-cta-section {
    padding: 60px 0;
    background-position: left center !important;
  }

  .fundadora-faq-section {
    padding: 60px 0;
  }

  .fundadora-cta-text {
    font-size: 16px;
    margin-bottom: 32px;
  }

  .faq-question {
    font-size: 16px;
    padding: 20px;
  }

  .faq-answer {
    font-size: 15px;
    padding: 0 20px 20px;
  }
}

/* Extracted from index.html */
.home-blog-section {
  padding: 100px 0;
  background-color: #F5F1E7;
}

.home-blog-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: 32px;
  margin-bottom: 50px;
}

@media (max-width: 480px) {
  .home-blog-grid {
    grid-template-columns: 1fr;
  }
}

.home-blog-card {
  background: #FFFFFF;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid rgba(26, 47, 37, 0.08);
  transition: transform 0.4s ease, box-shadow 0.4s ease, border-color 0.4s ease;
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
  color: inherit;
  box-shadow: 0 10px 30px rgba(26, 47, 37, 0.02);
}

.home-blog-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(26, 47, 37, 0.06);
  border-color: rgba(212, 175, 55, 0.4);
}

.home-blog-img-wrap {
  position: relative;
  width: 100%;
  height: 240px;
  overflow: hidden;
}

.home-blog-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.home-blog-card:hover .home-blog-img {
  transform: scale(1.05);
}

.home-blog-tag {
  position: absolute;
  top: 16px;
  left: 16px;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  padding: 6px 14px;
  border-radius: 50px;
  font-size: 0.75rem;
  font-weight: 700;
  color: #1A2F25;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border: 1px solid rgba(212, 175, 55, 0.2);
  z-index: 2;
}

.home-blog-content {
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.home-blog-meta {
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 0.8rem;
  color: #78716c;
  margin-bottom: 12px;
  font-family: 'Urbanist', sans-serif;
}

.home-blog-meta-item {
  display: flex;
  align-items: center;
  gap: 6px;
}

.home-blog-meta-item i {
  width: 14px;
  height: 14px;
  color: #D4AF37;
}

.home-blog-title {
  font-size: 1.35rem;
  font-weight: 500;
  color: #1A2F25;
  line-height: 1.3;
  margin: 0 0 12px;
  font-family: 'Playfair Display', Georgia, serif;
}

.home-blog-desc {
  font-size: 0.95rem;
  color: #605A56;
  line-height: 1.6;
  margin: 0 0 24px;
  font-family: 'Urbanist', sans-serif;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.home-blog-read-more {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.85rem;
  font-weight: 700;
  color: #D4AF37;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  transition: gap 0.3s ease;
  font-family: 'Urbanist', sans-serif;
}

.home-blog-card:hover .home-blog-read-more {
  gap: 12px;
}

/* Extracted from limmea-produtos.html */
.produto-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 35px rgba(26, 47, 37, 0.06) !important;
  border-color: rgba(212, 175, 55, 0.4) !important;
}

.produto-card:hover .prod-img {
  transform: scale(1.04);
}

/* Extracted from limmea-produtos.html */
.ritual-step-card:hover {
  transform: translateY(-5px);
  border-color: #D4AF37 !important;
  box-shadow: 0 15px 35px rgba(26, 47, 37, 0.08) !important;
}

/* Extracted from massagem-para-gestante.html */
.gestante-cuidados-section {
  padding: 100px 0;
  background: linear-gradient(180deg, #F5F1E7 0%, #EDE9DF 100%);
  border-top: 1px solid rgba(212, 175, 55, 0.15);
}

.gestante-cuidados-head {
  text-align: center;
  max-width: 800px;
  margin: 0 auto 60px;
}

.gestante-cuidados-desc {
  font-size: 17px;
  line-height: 1.8;
  color: var(--hc-text-soft);
  margin-bottom: 16px;
}

.gestante-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 32px;
  margin-bottom: 60px;
}

.gestante-card {
  background: #fff;
  border: 1px solid rgba(212, 175, 55, 0.2);
  border-radius: 16px;
  padding: 32px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.gestante-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.05);
}

.gestante-card-icon {
  width: 48px;
  height: 48px;
  background: rgba(212, 175, 55, 0.1);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--hc-accent);
  margin-bottom: 24px;
}

.gestante-card-title {
  font-size: 20px;
  font-weight: 700;
  color: var(--hc-text);
  margin-bottom: 16px;
  font-family: 'Playfair Display', serif;
}

.gestante-card-text {
  font-size: 15px;
  line-height: 1.7;
  color: var(--hc-text-soft);
}

.gestante-cta-box {
  background: var(--hc-text);
  border-radius: 16px;
  padding: 64px 48px;
  text-align: center;
  color: #FDFCF9;
  position: relative;
  overflow: hidden;
}

.gestante-cta-box::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url('img/fundo-hero.avif') no-repeat center/cover;
  opacity: 0.1;
  pointer-events: none;
}

.gestante-cta-box>* {
  position: relative;
  z-index: 2;
}

.gestante-cta-box h3 {
  font-size: 32px;
  font-family: 'Playfair Display', serif;
  margin-bottom: 16px;
  color: #FDFCF9;
}

.gestante-cta-box p {
  font-size: 17px;
  line-height: 1.8;
  max-width: 600px;
  margin: 0 auto 40px;
  color: rgba(253, 252, 249, 0.9);
}

@media (max-width: 1080px) {
  .gestante-cuidados-section {
    padding: 60px 0;
  }

  .gestante-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .gestante-cta-box {
    padding: 40px 24px;
  }

  .gestante-cta-box h3 {
    font-size: 26px;
  }
}


/* =========================================================
UTILITY CLASSES EXTRACTED FROM INLINE STYLES
========================================================= */
.ut-icon-14 {
  width: 14px;
  height: 14px;
}

.ut-custom-5ae8d4 {
  display: inline;
  width: 16px;
  margin-right: 4px;
}

.ut-custom-88aa25 {
  margin-top: 0;
}

.ut-custom-a2d48c {
  margin-bottom: 0;
}

.ut-custom-31ebdc {
  color: var(--blog-gold);
  font-weight: 500;
  text-decoration: underline;
}

.ut-custom-6115d2 {
  background: transparent;
  padding: 20px 0;
}

.ut-custom-c42e0e {
  margin-bottom: 0;
}

.ut-custom-1041d5 {
  margin-bottom: 0;
  font-weight: 500;
}

.ut-custom-751149 {
  display: inline-block;
  width: 16px;
  margin-right: 8px;
  vertical-align: middle;
}

.ut-custom-a66974 {
  color: var(--blog-gold);
  font-weight: bold;
}

.ut-custom-837c5d {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.ut-custom-122a29 {
  background: transparent;
  color: var(--color-stone-950);
  border: 1px solid var(--color-stone-950);
}

.ut-custom-6363c8 {
  background: rgba(212, 175, 55, 0.1);
  color: var(--blog-gold);
  border-color: rgba(212, 175, 55, 0.3);
}

.ut-custom-28547a {
  background: var(--blog-gold);
}

.ut-icon-14-inline {
  width: 14px;
  height: 14px;
  margin-right: 4px;
  display: inline;
}

.ut-mt-24 {
  margin-top: 24px;
}

.ut-custom-1319ce {
  font-size: 1.1rem;
  line-height: 1.6;
  color: var(--color-stone-700);
}

.ut-mt-32 {
  margin-top: 32px;
}

.ut-custom-8517e9 {
  padding: 100px 0;
  background-color: linear-gradient(180deg, #EDE9DF 0%, #F5F1E7 100%);
  position: relative;
  overflow: hidden;
}

.ut-custom-86ba7a {
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
  position: relative;
  z-index: 2;
}

.ut-custom-c32c95 {
  font-family: 'Urbanist', sans-serif;
  font-size: 0.85rem;
  font-weight: 700;
  color: #D4AF37;
  letter-spacing: 2px;
  text-transform: uppercase;
  display: block;
  margin-bottom: 12px;
}

.ut-custom-3ecda9 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.2rem, 5vw, 3rem);
  color: #1A2F25;
  font-weight: 400;
  margin-bottom: 24px;
  line-height: 1.2;
}

.ut-custom-89b7f7 {
  font-style: italic;
  font-weight: 300;
}

.ut-divider-gold-mb32 {
  width: 50px;
  height: 1px;
  background-color: #D4AF37;
  margin: 0 auto 32px;
}

.ut-custom-72cdb4 {
  font-family: 'Urbanist', sans-serif;
  font-size: 1.25rem;
  color: #4A4543;
  line-height: 1.85;
  font-weight: 400;
  margin-bottom: 0;
}

.ut-custom-bc9cee {
  margin-top: 30px;
}

.ut-custom-aeb160 {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.95rem;
  padding: 12px 24px;
  text-decoration: none;
}

.ut-icon-16 {
  width: 16px;
  height: 16px;
}

.bg-custom-9c93d9 {
  position: absolute;
  bottom: -20px;
  right: -20px;
  width: 200px;
  height: 200px;
  background-image: url('img/fundo-hero-esquerda.avif');
  background-size: contain;
  background-repeat: no-repeat;
  opacity: 0.05;
  pointer-events: none;
  transform: rotate(180deg);
}

.bg-custom-0b8f4b {
  position: absolute;
  top: -20px;
  left: -20px;
  width: 200px;
  height: 200px;
  background-image: url('img/fundo-hero-esquerda.avif');
  background-size: contain;
  background-repeat: no-repeat;
  opacity: 0.05;
  pointer-events: none;
}

.ut-custom-9d6c0a {
  padding: 100px 0;
  background-color: #F5F1E7;
}

.ut-custom-582c28 {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

.ut-custom-0a547e {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 60px;
}

.ut-custom-b4fd18 {
  flex: 1 1 500px;
}

.ut-custom-e92a66 {
  font-family: 'Urbanist', sans-serif;
  font-size: 0.85rem;
  font-weight: 700;
  color: #D4AF37;
  letter-spacing: 2px;
  text-transform: uppercase;
  display: block;
  margin-bottom: 12px;
  text-align: left;
}

.ut-custom-3dc3f8 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2rem, 4vw, 2.6rem);
  color: #1A2F25;
  font-weight: 400;
  line-height: 1.3;
  margin-bottom: 24px;
  text-align: left;
}

.ut-custom-c5ba40 {
  font-family: 'Urbanist', sans-serif;
  font-size: 1.15rem;
  color: #4A4543;
  line-height: 1.8;
  font-weight: 400;
  text-align: left;
  margin-bottom: 0;
}

.ut-custom-208fc3 {
  flex: 1 1 400px;
}

.ut-custom-fd5240 {
  width: 100%;
  height: auto;
  max-height: 480px;
  object-fit: cover;
  border-radius: 12px;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
}

.bg-custom-a5ff83 {
  padding: 100px 0;
  background-image: url('img/fundo-hero.avif');
  background-size: cover;
  background-position: center;
  position: relative;
}

.ut-custom-d5fab0 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.75);
  z-index: 1;
}

.ut-custom-e8100d {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  position: relative;
  z-index: 2;
}

.ut-custom-44d0a9 {
  max-width: 750px;
  text-align: left;
}

.ut-custom-0871ea {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(1.8rem, 4vw, 2.4rem);
  color: #1A2F25;
  font-weight: 400;
  line-height: 1.3;
  margin-bottom: 20px;
  text-align: left;
}

.ut-custom-f17b96 {
  font-family: 'Urbanist', sans-serif;
  font-size: 1.15rem;
  color: #4A4543;
  line-height: 1.7;
  font-weight: 400;
  text-align: left;
  margin-bottom: 30px;
}

.ut-custom-930cf7 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 14px;
  margin-bottom: 30px;
}

.ut-custom-216713 {
  background: #FFFFFF;
  border: 1px solid rgba(26, 47, 37, 0.08);
  padding: 12px 16px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  gap: 10px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.02);
}

.ut-custom-fdfb9d {
  color: #D4AF37;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

.ut-custom-678969 {
  font-family: 'Urbanist', sans-serif;
  font-size: 0.95rem;
  font-weight: 600;
  color: #1A2F25;
}

.ut-custom-3f4c6b {
  font-family: 'Urbanist', sans-serif;
  font-size: 0.95rem;
  color: #78716C;
  line-height: 1.5;
  font-style: italic;
  margin-bottom: 0;
}

.ut-custom-5eaedc {
  margin-top: 35px;
}

.ut-custom-9072c1 {
  padding: 100px 0;
  background-color: #FAF8F5;
}

.ut-text-center-mb50 {
  text-align: center;
  margin-bottom: 50px;
}

.ut-custom-243682 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2rem, 4vw, 2.6rem);
  color: #1A2F25;
  font-weight: 400;
  margin-bottom: 16px;
}

.ut-divider-gold {
  width: 50px;
  height: 1px;
  background-color: #D4AF37;
  margin: 0 auto;
}

.ut-custom-b9aa98 {
  margin-bottom: 50px;
}

.ut-custom-c76443 {
  background: white;
  border-radius: 16px;
  padding: 45px 35px;
  border: 1.5px solid rgba(212, 175, 55, 0.4) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.ut-custom-29813d {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.6rem;
  color: #1A2F25;
  font-weight: 500;
  margin-bottom: 20px;
}

.ut-custom-739513 {
  font-family: 'Urbanist', sans-serif;
  font-size: 1.05rem;
  color: #605A56;
  line-height: 1.6;
  margin-bottom: 24px;
  min-height: 80px;
}

.ut-custom-644928 {
  background: rgba(212, 175, 55, 0.08);
  border-radius: 8px;
  padding: 12px;
  font-family: 'Urbanist', sans-serif;
  font-weight: 700;
  font-size: 1.15rem;
  color: #D4AF37;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.ut-custom-32eb9f {
  width: 100%;
  display: flex;
  justify-content: center;
  margin-top: 24px;
  font-size: 0.95rem;
  padding: 12px 20px;
  text-decoration: none;
}

.ut-custom-3d6d23 {
  background: #1A2F25;
  color: white !important;
  border-radius: 16px;
  padding: 45px 35px;
  border: 2px solid #D4AF37 !important;
  box-shadow: 0 20px 40px rgba(26, 47, 37, 0.15);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transform: scale(1.03);
  z-index: 2;
}

.ut-custom-bae140 {
  background: #D4AF37;
  color: #1A2F25;
  font-family: 'Urbanist', sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  padding: 4px 12px;
  border-radius: 20px;
  display: inline-block;
  margin-bottom: 15px;
  letter-spacing: 1px;
}

.ut-custom-dc5032 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.6rem;
  color: #FFFFFF !important;
  font-weight: 500;
  margin-bottom: 20px;
}

.ut-custom-ff0278 {
  font-family: 'Urbanist', sans-serif;
  font-size: 1.05rem;
  color: #FAF8F5 !important;
  opacity: 0.9;
  line-height: 1.6;
  margin-bottom: 24px;
  min-height: 80px;
}

.ut-custom-2c2fd9 {
  background: rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  padding: 12px;
  font-family: 'Urbanist', sans-serif;
  font-weight: 700;
  font-size: 1.15rem;
  color: #D4AF37 !important;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.ut-custom-779946 {
  width: 100%;
  display: flex;
  justify-content: center;
  margin-top: 24px;
  font-size: 0.95rem;
  padding: 12px 20px;
  background: #D4AF37 !important;
  color: #1A2F25 !important;
  text-decoration: none;
  border-color: #D4AF37 !important;
}

.ut-text-center-mt40 {
  text-align: center;
  margin-top: 40px;
}

.ut-custom-bb1ba1 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.bg-custom-07490b {
  padding: 100px 0;
  background-image: url('img/fundo-hero-esquerda.avif');
  background-size: cover;
  background-position: left center;
  position: relative;
}

.ut-text-center-mb60 {
  text-align: center;
  margin-bottom: 60px;
}

.ut-custom-50cffa {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 30px;
  text-align: center;
  margin-bottom: 40px;
}

.ut-custom-f3002e {
  background: #FFFFFF;
  border: 1.5px solid rgba(212, 175, 55, 0.3) !important;
  border-radius: 16px;
  padding: 40px 30px;
  box-shadow: 0 10px 30px rgba(26, 47, 37, 0.03);
  display: flex;
  flex-direction: column;
  align-items: center;
  transition: transform 0.3s ease;
}

.ut-custom-d2573e {
  width: 60px;
  height: 60px;
  background: rgba(212, 175, 55, 0.08);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
}

.ut-custom-2725b0 {
  color: #D4AF37;
  width: 24px;
  height: 24px;
}

.ut-custom-6f905d {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.4rem;
  color: #1A2F25;
  font-weight: 500;
  margin-bottom: 12px;
}

.ut-custom-515c80 {
  font-family: 'Urbanist', sans-serif;
  font-size: 1.05rem;
  color: #605A56;
  line-height: 1.6;
  margin-bottom: 0;
}

.ut-custom-79c808 {
  font-family: 'Urbanist', sans-serif;
  font-size: 1.15rem;
  color: #4A4543;
  line-height: 1.8;
  font-weight: 400;
  text-align: left;
  margin-bottom: 30px;
}

.ut-custom-96d8dd {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.3rem;
  color: #1A2F25;
  font-weight: 500;
  margin-bottom: 20px;
}

.ut-custom-68a25b {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
}

.ut-custom-5d0dc2 {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: 'Urbanist', sans-serif;
  font-size: 1.05rem;
  font-weight: 500;
  color: #4A4543;
}

.ut-custom-84f54d {
  color: #D4AF37;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

.ut-custom-991a0c {
  margin-top: 35px;
  text-align: left;
}

.ut-custom-0a76c7 {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
}

.ut-custom-0f28e4 {
  width: 100%;
  height: auto;
  max-height: 520px;
  object-fit: cover;
  border-radius: 12px;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
}

.ut-custom-a82c33 {
  padding: 100px 0;
  background-color: #1A2F25;
  color: white;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.bg-custom-49f94a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('img/fundo-hero-esquerda.avif');
  background-size: cover;
  opacity: 0.03;
  pointer-events: none;
}

.ut-custom-26c659 {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 20px;
  position: relative;
  z-index: 2;
}

.ut-custom-be0077 {
  font-family: 'Urbanist', sans-serif;
  font-size: 0.9rem;
  font-weight: 700;
  color: #D4AF37;
  letter-spacing: 3px;
  text-transform: uppercase;
  display: block;
  margin-bottom: 16px;
}

.ut-custom-9149b9 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.2rem, 5vw, 3.2rem);
  color: white;
  font-weight: 400;
  line-height: 1.2;
  margin-bottom: 24px;
}

.ut-custom-b50d76 {
  font-style: italic;
  font-weight: 300;
  color: #D4AF37;
}

.ut-custom-d91f5f {
  font-family: 'Urbanist', sans-serif;
  font-size: 1.2rem;
  color: #FAF8F5;
  opacity: 0.9;
  line-height: 1.8;
  font-weight: 400;
  margin-bottom: 40px;
}

.ut-custom-1b8bf2 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

.ut-custom-790f5b {
  background-color: #D4AF37 !important;
  color: #1A2F25 !important;
  border-color: #D4AF37 !important;
  font-size: 1.1rem;
  padding: 18px 40px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
}

.ut-icon-20 {
  width: 20px;
  height: 20px;
}

.ut-custom-396490 {
  font-family: 'Urbanist', sans-serif;
  font-size: 0.9rem;
  color: #FAF8F5;
  opacity: 0.7;
  font-style: italic;
}

.ut-custom-82bb49 {
  padding: 40px 5% 80px;
}

.ut-custom-087291 {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 40px;
}

.ut-icon-18 {
  width: 18px;
  height: 18px;
}

.ut-custom-224b51 {
  display: none;
}

.ut-custom-8271b0 {
  color: #c49a45;
  font-style: italic;
}

.ut-custom-cbdc21 {
  border: 0;
}

.ut-custom-cd4a53 {
  margin-top: 0;
  padding-top: 80px;
  padding-bottom: 80px;
}

.ut-custom-70f592 {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.ut-custom-21e601 {
  font-size: clamp(2rem, 3vw, 2.5rem);
  margin-bottom: 24px;
}

.ut-custom-b7efc8 {
  color: var(--hc-text);
  font-size: 16px;
  line-height: 1.7;
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 32px;
}

.ut-custom-ff89c5 {
  height: 600px;
}

.ut-custom-873c7e {
  padding: 100px 0;
  background: linear-gradient(180deg, #EDE9DF 0%, #F5F1E7 100%);
  border-top: 1px solid rgba(212, 175, 55, 0.25);
}

.ut-custom-6b65c2 {
  text-align: center;
  max-width: 800px;
  margin: 0 auto 60px;
}

.ut-custom-676794 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 30px;
  align-items: stretch;
}

.ut-custom-0f3dc3 {
  width: 100%;
  display: flex;
  flex-direction: column;
  clip-path: none;
  border-radius: 20px;
}

.ut-custom-f6b627 {
  color: #cd7f32;
  font-size: 14px;
}

.ut-custom-0e3b08 {
  font-size: 26px;
}

.ut-custom-1aab1c {
  color: var(--hc-text-soft);
  font-size: 14.5px;
  line-height: 1.6;
  margin-bottom: 24px;
  flex-grow: 1;
}

.ut-custom-507d69 {
  border-top: none;
  padding-top: 0;
  margin-bottom: 24px;
}

.ut-custom-497804 {
  color: #cd7f32;
}

.ut-custom-de6569 {
  width: 100%;
  border-radius: 8px;
  clip-path: none;
}

.ut-custom-b6af91 {
  width: 100%;
  display: flex;
  flex-direction: column;
  clip-path: none;
  border-radius: 20px;
  border-color: rgba(160, 160, 160, 0.9);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.04);
  background: rgba(255, 255, 255, 0.6);
}

.ut-custom-3b6c4f {
  color: #7b7b7b;
  font-size: 14px;
}

.ut-custom-6d117c {
  color: #7b7b7b;
}

.ut-custom-f7dba3 {
  width: 100%;
  display: flex;
  flex-direction: column;
  clip-path: none;
  border-radius: 20px;
  border-color: rgba(212, 175, 55, 0.7);
  box-shadow: 0 24px 60px rgba(212, 175, 55, 0.15);
  background: rgba(253, 250, 241, 0.9);
}

.ut-custom-b0d90d {
  color: var(--hc-accent-dark);
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.ut-custom-f8b660 {
  width: 16px;
  height: 16px;
}

.ut-custom-d846c3 {
  color: var(--hc-accent-dark);
}

.ut-custom-8065bf {
  width: 100%;
  clip-path: none;
  border-radius: 8px;
}

.ut-custom-302211 {
  background: transparent;
  border-bottom: none;
  border-top: none;
}

.ut-custom-c6408b {
  height: 500px;
}

.ut-custom-653359 {
  bottom: 20px;
  right: -20px;
}

.ut-custom-95500a {
  margin-bottom: 30px;
}

.ut-custom-ea0403 {
  background: linear-gradient(180deg, #F5F1E7 0%, #EDE9DF 100%);
  border-top: 1px solid rgba(212, 175, 55, 0.25);
  border-bottom: 1px solid rgba(212, 175, 55, 0.25);
}

.ut-custom-2b3963 {
  padding: 80px 0;
}

.ut-custom-be1fc8 {
  background: linear-gradient(135deg, rgba(26, 54, 38, 0.96) 0%, rgba(14, 36, 24, 0.98) 100%);
  border: 1px solid rgba(212, 175, 55, 0.6);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.25);
}

.ut-custom-438aa0 {
  color: var(--hc-accent);
}

.ut-custom-1dbd36 {
  color: #F5F1E7;
}

.ut-custom-fd6310 {
  color: rgba(245, 241, 231, 0.9);
  font-size: 16px;
  line-height: 1.7;
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 28px;
}

.ut-custom-b8cc1a {
  color: #D4AF37;
}

.ut-custom-ced84f {
  font-size: 14.5px;
  opacity: 0.85;
}

.ut-custom-91e2ae {
  margin-bottom: 32px;
}

.ut-custom-42daae {
  background: var(--hc-accent);
  color: #1A3626;
}

.ut-custom-5c895f {
  background: rgba(249, 246, 239, 0.95);
  border-color: rgba(212, 175, 55, 0.8);
}

.ut-custom-18552f {
  background: rgba(212, 175, 55, 0.15);
  color: #B58D20;
}

.ut-custom-685ef1 {
  color: #B58D20;
  border-color: rgba(212, 175, 55, 0.4);
}

.ut-custom-fcdc34 {
  font-family: 'Playfair Display', serif;
  font-size: 22px;
  color: #1A3626;
  margin: 12px 0 8px;
}

.ut-custom-54ea4b {
  color: #596B5F;
}

.ut-custom-93dbfd {
  color: #1A3626;
}

.ut-custom-c0d648 {
  color: #B58D20;
}

.ut-custom-91ef18 {
  padding: 100px 0;
  background: linear-gradient(180deg, #EDE9DF 0%, #F5F1E7 100%);
}

.ut-custom-c7d97f {
  text-align: center;
  max-width: 840px;
  margin: 0 auto 60px;
}

.ut-custom-e610a6 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 30px;
}

.ut-custom-171331 {
  width: 100%;
  clip-path: none;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.7);
}

.ut-custom-e40689 {
  width: 48px;
  height: 48px;
  border-radius: 50px;
  background: rgba(212, 175, 55, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--hc-accent-dark);
  margin-bottom: 20px;
}

.ut-icon-24 {
  width: 24px;
  height: 24px;
}

.ut-custom-1f3e44 {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 12px;
  color: #1A3626;
}

.ut-custom-cf8c0f {
  color: var(--hc-text-soft);
  font-size: 14.5px;
  line-height: 1.6;
}

.ut-custom-7002f9 {
  margin-bottom: 20px;
}

.ut-custom-0f85f0 {
  grid-template-columns: 1.2fr 0.8fr;
  gap: 40px;
  align-items: center;
}

.ut-custom-6bfdd4 {
  color: #D4AF37;
  font-weight: 600;
}

.ut-custom-a501e5 {
  display: inline;
  width: 18px;
  height: 18px;
  margin-right: 6px;
  vertical-align: text-bottom;
}

.ut-custom-77220d {
  background: var(--hc-accent);
  color: #1A3626;
  border: none;
}

.ut-custom-fa6bbf {
  background: rgba(249, 246, 239, 0.94);
  padding: 30px;
  border-radius: 20px;
  border: 1px solid rgba(212, 175, 55, 0.5);
  backdrop-filter: blur(12px);
}

.ut-custom-11777d {
  color: #B58D20;
  width: 24px;
  height: 24px;
}

.ut-custom-192c40 {
  color: #1A3626;
  font-size: 16px;
}

.ut-custom-bb86a4 {
  margin-top: 0;
  border-radius: 12px;
  margin-bottom: 24px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  object-fit: cover;
  object-position: center bottom;
}

.ut-custom-db776d {
  margin: 40px 0;
  background: rgba(212, 175, 55, 0.1);
  padding: 24px;
  border-left: 4px solid var(--blog-gold);
  border-radius: 4px;
}

.ut-custom-88b946 {
  overflow-x: auto;
  margin: 30px 0;
}

.ut-custom-af4486 {
  width: 100%;
  border-collapse: collapse;
  min-width: 600px;
}

.ut-custom-9de580 {
  background-color: var(--blog-dark);
  color: white;
}

.ut-custom-97e12a {
  padding: 15px;
  text-align: left;
  border: 1px solid #ddd;
}

.ut-custom-9904d3 {
  padding: 15px;
  border: 1px solid #ddd;
  background: #f9f9f9;
}

.ut-custom-54b3f6 {
  padding: 15px;
  border: 1px solid #ddd;
}

.ut-custom-1f0325 {
  grid-template-columns: 1fr;
  gap: 20px;
}

.ut-custom-bddaa3 {
  color: var(--blog-gold);
}

.ut-custom-8706b5 {
  border-radius: 12px;
  margin: 40px 0;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  object-fit: cover;
}

.ut-custom-c48aab {
  margin-top: 40px;
  background: var(--blog-dark);
  padding: 40px;
  border-radius: 12px;
  text-align: center;
  color: white;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}

.ut-custom-d95d81 {
  margin-bottom: 16px;
  font-family: var(--font-serif);
  font-size: 2.2rem;
  color: var(--blog-gold);
}

.ut-custom-276241 {
  margin-bottom: 24px;
  color: var(--color-stone-300);
  font-size: 1.1rem;
  line-height: 1.6;
}

.ut-custom-470a8f {
  display: inline-flex;
  padding: 16px 32px;
  background: var(--blog-gold);
  color: var(--blog-dark);
  border-radius: 30px;
  text-decoration: none;
  font-weight: 700;
  font-size: 1.1rem;
  align-items: center;
  gap: 8px;
  transition: transform 0.3s ease;
}

.ut-custom-2da88c {
  aspect-ratio: 4/5;
}

.ut-custom-f9b35f {
  object-position: center;
}

.ut-custom-82a497 {
  color: var(--hc-accent);
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin-top: 2px;
}

.ut-custom-c59e30 {
  margin: 0 auto 24px;
}

.ut-custom-d38155 {
  margin: 0 auto 48px;
}

.ut-custom-55a835 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.2rem, 5vw, 3rem);
  color: #1A2F25;
  font-weight: 400;
  margin-bottom: 20px;
}

.ut-custom-432f3e {
  font-family: 'Urbanist', sans-serif;
  font-size: 1.15rem;
  color: #605A56;
  max-width: 800px;
  margin: 0 auto;
  line-height: 1.7;
  font-weight: 400;
}

.ut-divider-gold-mt24 {
  width: 50px;
  height: 1px;
  background-color: #D4AF37;
  margin: 24px auto 0;
}

.ut-custom-b02984 {
  max-width: 900px;
  margin: 0 auto 50px;
}

.ut-text-center {
  text-align: center;
}

.ut-object-cover {
  object-fit: cover;
}

.ut-custom-150cf5 {
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
  position: relative;
  z-index: 2;
  padding: 0 20px;
}

.ut-custom-c43c7e {
  font-family: 'Urbanist', sans-serif;
  font-size: 1.2rem;
  color: #4A4543;
  line-height: 1.85;
  font-weight: 400;
  margin-bottom: 24px;
}

.ut-custom-e6d4c5 {
  font-family: 'Urbanist', sans-serif;
  font-size: 1.2rem;
  color: #4A4543;
  line-height: 1.85;
  font-weight: 400;
  margin-bottom: 40px;
}

.ut-custom-fc890c {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.95rem;
  padding: 12px 28px;
  text-decoration: none;
}

.ut-custom-a2b59f {
  font-family: 'Urbanist', sans-serif;
  font-size: 1.15rem;
  color: #605A56;
  max-width: 700px;
  margin: 0 auto;
  line-height: 1.6;
}

.ut-custom-4e3380 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 40px;
}

.ut-custom-67b74a {
  background: #FFFFFF;
  border: 1px solid rgba(26, 47, 37, 0.08);
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.02);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.ut-custom-1d12c9 {
  border-radius: 12px;
  overflow: hidden;
  position: relative;
  margin-bottom: 20px;
  aspect-ratio: 4/3;
  background-color: #FAF8F5;
}

.ut-custom-e5af8d {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.ut-custom-bc18a6 {
  position: absolute;
  top: 12px;
  right: 12px;
  background: rgba(26, 47, 37, 0.85);
  color: #FFFFFF;
  font-family: 'Urbanist', sans-serif;
  font-size: 0.8rem;
  font-weight: 600;
  padding: 6px 12px;
  border-radius: 20px;
  backdrop-filter: blur(4px);
  z-index: 2;
}

.ut-custom-5475d8 {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 12px;
  gap: 10px;
}

.ut-custom-9d4bbf {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.35rem;
  color: #1A2F25;
  font-weight: 500;
  margin-bottom: 0;
}

.ut-custom-959d20 {
  font-family: 'Urbanist', sans-serif;
  font-weight: 700;
  font-size: 1.2rem;
  color: #D4AF37;
  white-space: nowrap;
}

.ut-custom-999f4b {
  font-family: 'Urbanist', sans-serif;
  font-size: 0.95rem;
  color: #605A56;
  line-height: 1.6;
  margin-bottom: 24px;
  min-height: 72px;
}

.ut-custom-26e4ca {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  font-size: 0.95rem;
  padding: 12px;
  text-decoration: none;
}

.ut-custom-66d0c9 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 30px;
  margin-bottom: 50px;
}

.ut-custom-1c83ee {
  background: #FFFFFF;
  border: 1.5px solid rgba(212, 175, 55, 0.25);
  border-radius: 20px;
  padding: 40px 30px;
  box-shadow: 0 10px 35px rgba(26, 47, 37, 0.03);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  position: relative;
  transition: transform 0.3s ease, border-color 0.3s ease;
}

.ut-custom-60e035 {
  position: absolute;
  top: -15px;
  background: #1A2F25;
  color: #FAF8F5;
  font-family: 'Urbanist', sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  padding: 6px 16px;
  border-radius: 20px;
  letter-spacing: 1px;
  border: 1px solid #D4AF37;
}

.ut-custom-75b491 {
  width: 64px;
  height: 64px;
  background: rgba(212, 175, 55, 0.08);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 10px;
  margin-bottom: 24px;
}

.ut-custom-2b0789 {
  color: #D4AF37;
  width: 28px;
  height: 28px;
}

.ut-custom-de48cd {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.35rem;
  color: #1A2F25;
  font-weight: 500;
  margin-bottom: 12px;
}

.ut-custom-e48767 {
  font-family: 'Urbanist', sans-serif;
  font-size: 0.95rem;
  color: #605A56;
  line-height: 1.6;
  margin-bottom: 0;
}

.ut-custom-85c65b {
  font-family: 'Playfair Display', Georgia, serif;
  font-style: italic;
  font-size: 1.25rem;
  color: #1A2F25;
  margin-bottom: 24px;
}

.bg-custom-ac44b5 {
  position: absolute;
  bottom: -40px;
  left: -40px;
  width: 220px;
  height: 220px;
  background-image: url('img/fundo-hero-esquerda.avif');
  background-size: contain;
  background-repeat: no-repeat;
  opacity: 0.04;
  pointer-events: none;
}

.ut-custom-64a1f6 {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 20px;
}

.ut-custom-f84d0f {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.2rem, 5vw, 3rem);
  color: #1A2F25;
  font-weight: 400;
  margin-bottom: 16px;
}

.ut-custom-97685b {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.15rem;
  color: #1A2F25;
  font-weight: 500;
}

.ut-custom-fdca38 {
  font-family: 'Urbanist', sans-serif;
  font-size: 1.05rem;
  color: #605A56;
  line-height: 1.6;
}

.ut-custom-328f5f {
  font-size: clamp(2.5rem, 4vw, 3.5rem);
}

.ut-custom-cef560 {
  object-position: center 80%;
  object-fit: cover;
}

.ut-custom-492033 {
  background: rgba(245, 241, 231, 0.95);
  padding: 12px 20px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  position: absolute;
  bottom: -20px;
  right: -20px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  width: max-content;
  white-space: nowrap;
}

.ut-custom-bce8b2 {
  width: 28px;
  height: 28px;
  color: #c49a45;
  display: flex;
  align-items: center;
}

.ut-custom-23864f {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2px;
}

.ut-custom-18c79a {
  color: #1a3626;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
}

.ut-custom-9a54fe {
  color: #4a4a4a;
  font-size: 12px;
  line-height: 1;
}

.ut-custom-7f4ee4 {
  margin-right: 8px;
}

.bg-custom-f6bd14 {
  position: relative;
  background-image: url('img/fundo-tratamentos.avif');
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
}

.ut-custom-b9fc9e {
  position: absolute;
  inset: 0;
  background: rgba(245, 241, 231, 0.75);
  z-index: 0;
}

.ut-custom-83d7ea {
  position: relative;
  z-index: 1;
}

.ut-custom-1823eb {
  object-fit: cover;
  object-position: center;
}

.ut-custom-7c7aac {
  background: rgba(245, 241, 231, 0.95);
  padding: 12px 20px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  position: absolute;
  bottom: -20px;
  left: 0px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  width: max-content;
  white-space: nowrap;
}

.ut-custom-dc0a69 {
  object-position: center;
  object-fit: cover;
}

.bg-custom-f39da6 {
  padding: 100px 0;
  position: relative;
  background-image: url('img/fundo-tratamentos.avif');
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
}

.ut-custom-1cf1f3 {
  position: absolute;
  inset: 0;
  background: rgba(245, 241, 231, 0.88);
  z-index: 0;
}

.ut-custom-930c1b {
  text-align: center;
  max-width: 900px;
  margin: 0 auto 60px;
}

.ut-custom-af2c73 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 30px;
  align-items: stretch;
  margin-bottom: 50px;
}

.ut-custom-3a202d {
  width: 100%;
  display: flex;
  flex-direction: column;
  clip-path: none;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.7);
}

.ut-custom-f59b30 {
  font-size: 24px;
  margin-bottom: 16px;
}

.ut-custom-81ded0 {
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px dashed rgba(26, 54, 38, 0.1);
}

.ut-custom-987d99 {
  width: 100%;
  border-radius: 8px;
  clip-path: none;
  text-align: center;
}

.ut-custom-a5f0f6 {
  width: 100%;
  display: flex;
  flex-direction: column;
  clip-path: none;
  border-radius: 20px;
  border-color: rgba(160, 160, 160, 0.6);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.04);
  background: rgba(255, 255, 255, 0.85);
}

.ut-custom-411175 {
  width: 100%;
  display: flex;
  flex-direction: column;
  clip-path: none;
  border-radius: 20px;
  border-color: rgba(212, 175, 55, 0.7);
  box-shadow: 0 24px 60px rgba(212, 175, 55, 0.15);
  background: rgba(253, 250, 241, 0.95);
}

.ut-custom-e3e438 {
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px dashed rgba(212, 175, 55, 0.2);
}

.ut-custom-9ab569 {
  width: 100%;
  clip-path: none;
  border-radius: 8px;
  text-align: center;
}

.ut-custom-054c75 {
  color: var(--hc-text-soft);
  font-size: 15px;
  margin-bottom: 20px;
}

.ut-custom-ae0023 {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 auto;
}

.ut-custom-d93843 {
  background: #FDFCF9;
  color: var(--hc-text);
  border-color: transparent;
}

.ut-custom-dc1961 {
  padding: 100px 0;
  background: #F5F1E7;
  border-top: 1px solid rgba(212, 175, 55, 0.25);
}

.ut-pt-100 {
  padding-top: 100px;
}

.ut-custom-017d14 {
  padding: 60px 0;
  background: linear-gradient(180deg, #EDE9DF 0%, #F5F1E7 100%);
  text-align: center;
}

.ut-custom-eb46d9 {
  max-width: 800px;
  margin: 0 auto;
}

.ut-custom-932bda {
  justify-content: center;
  letter-spacing: 0.1em;
}

.ut-custom-541b97 {
  font-size: clamp(2.5rem, 5vw, 3.5rem);
  margin-bottom: 20px;
}

.ut-custom-d24399 {
  color: var(--hc-text-soft);
  font-size: 16px;
  line-height: 1.7;
}

.ut-custom-ab3b3f {
  padding: 40px 0 100px;
  background: #F5F1E7;
}

.ut-custom-3910c1 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-bottom: 50px;
}

.ut-custom-9d1de7 {
  padding: 10px 20px;
  background: #1a3626;
  color: #f5f1e7;
  border-radius: 30px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
  transition: transform 0.2s;
}

.ut-custom-270f0c {
  padding: 10px 20px;
  background: #fff;
  color: #1a3626;
  border: 1px solid rgba(26, 54, 38, 0.15);
  border-radius: 30px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.02);
  transition: transform 0.2s;
}

.ut-custom-1d89bc {
  margin-bottom: 60px;
  scroll-margin-top: 120px;
}

.ut-custom-2ac949 {
  font-size: 24px;
  margin-bottom: 24px;
  display: flex;
  align-items: center;
  gap: 8px;
  color: #1a3626;
}

.ut-custom-1573f0 {
  color: #c49a45;
}

.ut-custom-38c721 {
  margin-bottom: 40px;
  scroll-margin-top: 120px;
}

.ut-custom-8a62d8 {
  margin-top: 28px;
}


/* =========================================================
   UNIVERSAL ANGULAR BUTTON OVERRIDE (IDENTIDADE VISUAL)
   Garante que TODOS os botões do site fiquem no formato angular (quadrado cortado nas pontas)
   e remove qualquer borda arredondada (round/rounded)
   ========================================================= */

.hero-btn-primary,
.hero-btn-secondary,
.hero-nav-cta,
.mega-cta-btn,
.tratamentos-cta-btn,
.noiva-cta-btn,
.gestante-cta-btn,
.funciona-cta-btn,
.clube-cta-btn,
.limmea-cta-btn,
.form-submit-btn,
.contact-wsp-btn,
.contact-info-btn,
.oferecemos-cta-btn,
.como-escolhemos-cta-btn,
.qual-tratamento-cta-btn,
.doze-cta-btn,
.para-quem-wsp-btn,
.sobre-fisio-wsp-btn,
.quando-wsp-btn,
.cf-fisio-wsp-btn,
.tu-wsp-btn,
.ben-wsp-btn,
.pq-wsp-btn,
.ot-card-btn,
.ot-wsp-btn,
.aa-wsp-btn,
.se-wsp-btn,
.pe-card-btn,
.ps-card-btn,
.ps-wsp-btn,
.es-wsp-btn,
.sd-wsp-btn,
.cd-wsp-btn,
.amd-wsp-btn,
.otd-card-btn,
.pqd-wsp-btn,
.blog-category-btn,
.blog-load-more-btn,
.massoterapia-cta-btn,
.fisioterapia-cta-btn,
.spa-estetica-cta-btn,
.depilacao-cta-btn,
.sobre-massoterapia-wsp-btn,
.btn-secondary,
[class*="-btn"]:not(.floating-wsp-btn):not(.toc-mobile-btn):not(.step-number):not(.social-icon-btn):not(.testimonials-nav-btn):not(.btn-icon):not([class*="btn-wrapper"]):not([class*="btn-container"]):not([class*="btn-group"]),
[class*="-cta-btn"],
[class*="wsp-btn"]:not(.floating-wsp-btn),
[class*="hero-btn"],
.ut-custom-0a76c7,
.ut-custom-122a29,
.ut-custom-26e4ca,
.ut-custom-270f0c,
.ut-custom-32eb9f,
.ut-custom-42daae,
.ut-custom-470a8f,
.ut-custom-77220d,
.ut-custom-779946,
.ut-custom-790f5b,
.ut-custom-8065bf,
.ut-custom-987d99,
.ut-custom-9ab569,
.ut-custom-aeb160,
.ut-custom-fc890c,
.ut-custom-d93843,
.ut-custom-de6569,
.ut-custom-9d1de7 {
  border-radius: 0 !important;
  clip-path: polygon(12px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%, 0 12px) !important;
}

/* =========================================================
   DARK GREEN BACKGROUND CONTRAST OVERRIDES
   Quando o fundo for escuro/verde, garante que os botões usem o amarelo/dourado da paleta
   ========================================================= */

/* 1. Agende Consulta section buttons */
.agende-consulta .contact-wsp-btn,
.agende-consulta .ut-custom-77220d {
  background: #D4AF37 !important;
  color: #0E2418 !important;
  border: 1px solid #D4AF37 !important;
  box-shadow: 0 12px 28px rgba(212, 175, 55, 0.2) !important;
}

.agende-consulta .contact-wsp-btn:hover,
.agende-consulta .ut-custom-77220d:hover {
  background: #AA8C2C !important;
  color: #0E2418 !important;
  border-color: #AA8C2C !important;
  transform: translateY(-2px);
}

/* Ensure the icons inside the yellow buttons inherit the dark green color */
.agende-consulta .contact-wsp-btn svg,
.agende-consulta .contact-wsp-btn i,
.agende-consulta .ut-custom-77220d svg,
.agende-consulta .ut-custom-77220d i {
  stroke: #0E2418 !important;
  color: #0E2418 !important;
  fill: none !important;
}

/* 2. Secondary outlined buttons on dark green background (e.g. Conhecer Tratamentos) */
.agende-consulta .ut-custom-122a29 {
  background: transparent !important;
  color: #D4AF37 !important;
  border: 1.5px solid #D4AF37 !important;
  box-shadow: none !important;
}

.agende-consulta .ut-custom-122a29:hover {
  background: rgba(212, 175, 55, 0.1) !important;
  color: #FAF8F5 !important;
  border-color: #FAF8F5 !important;
}

.agende-consulta .ut-custom-122a29 svg,
.agende-consulta .ut-custom-122a29 i {
  stroke: #D4AF37 !important;
  color: #D4AF37 !important;
  fill: none !important;
}

.agende-consulta .ut-custom-122a29:hover svg,
.agende-consulta .ut-custom-122a29:hover i {
  stroke: #FAF8F5 !important;
  color: #FAF8F5 !important;
}

/* 3. Gestante CTA Box button override (white button -> yellow/gold) */
.gestante-cta-box .ut-custom-d93843,
.gestante-cta-box .hero-btn-primary {
  background: #D4AF37 !important;
  color: #0E2418 !important;
  border: 1px solid #D4AF37 !important;
  box-shadow: 0 12px 28px rgba(212, 175, 55, 0.2) !important;
}

.gestante-cta-box .ut-custom-d93843:hover,
.gestante-cta-box .hero-btn-primary:hover {
  background: #AA8C2C !important;
  color: #0E2418 !important;
  border-color: #AA8C2C !important;
  transform: translateY(-2px);
}

.gestante-cta-box .ut-custom-d93843 svg,
.gestante-cta-box .ut-custom-d93843 i,
.gestante-cta-box .hero-btn-primary svg,
.gestante-cta-box .hero-btn-primary i {
  stroke: #0E2418 !important;
  color: #0E2418 !important;
  fill: none !important;
}

/* 4. Ensure any form submit button inside green sections uses correct gold style */
.agende-consulta .form-submit-btn {
  background: linear-gradient(135deg, #D4AF37 0%, #B58D20 100%) !important;
  color: #0E2418 !important;
  border: none !important;
}

.agende-consulta .form-submit-btn:hover {
  background: linear-gradient(135deg, #AA8C2C 0%, #95761A 100%) !important;
}


/* =========================================================
   DIA DA NOIVA CARD CONTRAST FIX
   Corrige a cor das letras no card de detalhes de contato (.ut-custom-fa6bbf)
   que tem fundo claro, garantindo que o texto seja legível (verde escuro da marca)
   ========================================================= */
.ut-custom-fa6bbf {
  background: rgba(249, 246, 239, 0.96) !important;
  color: #1A3626 !important;
}

.ut-custom-fa6bbf strong,
.ut-custom-fa6bbf .ut-custom-192c40 {
  color: #1A3626 !important;
}

.ut-custom-fa6bbf span,
.ut-custom-fa6bbf .ut-custom-54ea4b {
  color: #596B5F !important;
}


/* =========================================================
   RESPONSIVE FIX: CONTACT GRID & DETAILS BOX (MOBILE/TABLET)
   Garante que o card lateral (.contact-details-box / .ut-custom-fa6bbf)
   vá para baixo do texto/CTA em telas menores (tablets e celulares)
   ========================================================= */
@media (max-width: 1080px) {

  .contact-grid,
  .ut-custom-0f85f0 {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }

  .contact-details-box,
  .ut-custom-fa6bbf {
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 20px !important;
  }
}

/* =========================================================
   HERO ACTIONS LEFT ALIGNMENT & SPACING FIX
   Garante que os botões da section hero fiquem juntos (sem margin-right: auto) e alinhados à esquerda em telas médias e pequenas
   ========================================================= */
@media (max-width: 1080px) {
  .hero-actions {
    justify-content: flex-start !important;
    align-items: center !important;
    text-align: left !important;
    gap: 14px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .hero-actions .hero-btn-primary,
  .hero-actions .hero-btn-secondary,
  .hero-actions a {
    margin-left: 0 !important;
    margin-right: 0 !important;
    flex: 0 0 auto !important;
  }
}

/* =========================================================
   FIX: SPACING FOR BUTTON IN SOBRE LIMA'S SECTION
   Garante um espaçamento equilibrado de 32px entre os cards/pilares e o botão Conhecer a Fundadora
   ========================================================= */
.sobre-pillars {
  margin-bottom: 32px !important;
}

.sobre-content .mt-8,
.sobre-pillars+div {
  margin-top: 32px !important;
}

/* ==========================================================================
   PAGE: LIMMÉA PRODUTOS - LEMBRANCINHAS PARA FESTAS & PROJETOS SOB MEDIDA
   Estilização 100% fiel ao Design System do Lima's Therapy (Cores, Tipografia, Botões e Cards)
   ========================================================================== */

/* --- CONTAINERS ALINHADOS AO DESIGN SYSTEM --- */
.lf-container,
.psm-container,
.eps-container {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 24px;
}

/* =========================================================
   1. SECTION: LEMBRANCINHAS PARA FESTAS (#lembrancinhas-para-festas)
   ========================================================= */
.lembrancinhas-festas-section {
  padding: 100px 0;
  background: #F5F1E7;
  border-top: 1px solid rgba(212, 175, 55, 0.25);
  position: relative;
  overflow: hidden;
}

.lf-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}

/* Badge no estilo do Design System */
.lf-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 16px;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 30px;
  color: #AA8C2C;
  font-family: 'Urbanist', 'Montserrat', sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 20px;
}

.lf-badge svg,
.lf-badge i {
  width: 15px;
  height: 15px;
  color: #D4AF37;
}

/* Título no padrão Cinzel + Cormorant Garamond */
.lf-title {
  font-family: 'Cinzel', serif;
  font-size: clamp(2rem, 3.8vw, 2.75rem);
  color: #0E2418;
  line-height: 1.25;
  margin-bottom: 16px;
  font-weight: 600;
}

.lf-title-accent {
  font-family: 'Cormorant Garamond', 'Playfair Display', serif;
  font-style: italic;
  color: #D4AF37;
  font-weight: 600;
}

/* Divisor em Linha Dourada padrão do site */
.lf-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
  color: #D4AF37;
}

.lf-divider-line {
  width: 60px;
  height: 2px;
  background: #D4AF37;
}

.lf-divider svg,
.lf-divider i {
  width: 18px;
  height: 18px;
}

.lf-text-stack p {
  font-family: 'Urbanist', 'Montserrat', sans-serif;
  font-size: 16px;
  line-height: 1.8;
  color: #3A4E42;
  margin-bottom: 18px;
  font-weight: 400;
}

.lf-cta {
  margin-top: 28px;
}

/* Botão no padrão do Design System: Verde Escuro + Borda Dourada + Corte Angular */
.lf-wsp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 52px;
  padding: 14px 32px;
  background: #0E2418;
  border: 1px solid rgba(212, 175, 55, 0.4);
  color: #F5F1E7 !important;
  font-family: 'Urbanist', 'Montserrat', sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  border-radius: 0 !important;
  clip-path: polygon(12px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%, 0 12px) !important;
  box-shadow: 0 12px 28px rgba(26, 54, 38, 0.15);
  transition: all 0.3s ease;
  text-decoration: none;
}

.lf-wsp-btn:hover {
  background: #1A3626;
  border-color: #D4AF37;
  color: #D4AF37 !important;
  transform: translateY(-2px);
  box-shadow: 0 16px 36px rgba(26, 54, 38, 0.25);
}

.lf-wsp-btn svg,
.lf-wsp-btn i {
  width: 18px;
  height: 18px;
  fill: currentColor;
}

.lf-media-col {
  width: 100%;
}

/* Moldura de imagem com borda dourada suave e sombra da marca */
.lf-img-wrapper {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(14, 36, 24, 0.10);
  border: 1px solid rgba(212, 175, 55, 0.3);
  height: 100%;
  min-height: 540px;
  background: #EFEBE0;
}

.lf-img-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.lf-img-wrapper:hover img {
  transform: scale(1.05);
}

.lf-img-badge {
  position: absolute;
  bottom: 20px;
  right: 20px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  background: rgba(245, 241, 231, 0.95);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(212, 175, 55, 0.4);
  color: #0E2418;
  font-family: 'Urbanist', 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 13px;
  border-radius: 30px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
  z-index: 2;
}

.lf-img-badge svg,
.lf-img-badge i {
  color: #D4AF37;
  width: 16px;
  height: 16px;
}

/* =========================================================
   2. SECTION: PROJETO SOB MEDIDA (#projeto-sob-medida)
   ========================================================= */
.projeto-sob-medida-section {
  padding: 100px 0;
  background: linear-gradient(180deg, #EDE9DF 0%, #F5F1E7 100%);
  border-top: 1px solid rgba(212, 175, 55, 0.25);
  border-bottom: 1px solid rgba(212, 175, 55, 0.25);
  position: relative;
}

.psm-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}

.psm-media-col {
  width: 100%;
}

.psm-img-wrapper {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(14, 36, 24, 0.10);
  border: 1px solid rgba(212, 175, 55, 0.3);
  aspect-ratio: 4/3;
  background: #EFEBE0;
}

.psm-img-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.psm-img-wrapper:hover img {
  transform: scale(1.05);
}

.psm-img-badge {
  position: absolute;
  bottom: 20px;
  left: 20px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  background: rgba(245, 241, 231, 0.95);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(212, 175, 55, 0.4);
  color: #0E2418;
  font-family: 'Urbanist', 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 13px;
  border-radius: 30px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
  z-index: 2;
}

.psm-img-badge svg,
.psm-img-badge i {
  color: #D4AF37;
  width: 16px;
  height: 16px;
}

.psm-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 16px;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: 30px;
  color: #AA8C2C;
  font-family: 'Urbanist', 'Montserrat', sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 20px;
}

.psm-badge svg,
.psm-badge i {
  width: 15px;
  height: 15px;
  color: #D4AF37;
}

.psm-title {
  font-family: 'Cinzel', serif;
  font-size: clamp(2rem, 3.8vw, 2.75rem);
  color: #0E2418;
  line-height: 1.25;
  margin-bottom: 16px;
  font-weight: 600;
}

.psm-title-accent {
  font-family: 'Cormorant Garamond', 'Playfair Display', serif;
  font-style: italic;
  color: #D4AF37;
  font-weight: 600;
}

.psm-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
  color: #D4AF37;
}

.psm-divider-line {
  width: 60px;
  height: 2px;
  background: #D4AF37;
}

.psm-divider svg,
.psm-divider i {
  width: 18px;
  height: 18px;
}

.psm-lead {
  font-family: 'Urbanist', 'Montserrat', sans-serif;
  font-size: 16px;
  line-height: 1.8;
  color: #3A4E42;
  margin-bottom: 28px;
}

.psm-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px 18px;
  margin-bottom: 32px;
}

/* Cards de itens com estilo de marca (#FDFCF9 + borda fina dourada) */
.psm-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: 'Urbanist', 'Montserrat', sans-serif;
  font-size: 14.5px;
  font-weight: 600;
  color: #0E2418;
  background: #FDFCF9;
  padding: 12px 18px;
  border-radius: 8px;
  border: 1px solid rgba(212, 175, 55, 0.25);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
  transition: all 0.25s ease;
}

.psm-item:hover {
  background: #FFFFFF;
  border-color: #D4AF37;
  box-shadow: 0 8px 20px rgba(212, 175, 55, 0.15);
  transform: translateY(-2px);
}

.psm-item svg,
.psm-item i {
  color: #D4AF37;
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
}

.psm-cta {
  margin-top: 10px;
}

/* Botão no padrão do Design System: Verde Escuro + Borda Dourada + Corte Angular */
.psm-wsp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 52px;
  padding: 14px 32px;
  background: #0E2418;
  border: 1px solid rgba(212, 175, 55, 0.4);
  color: #F5F1E7 !important;
  font-family: 'Urbanist', 'Montserrat', sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  border-radius: 0 !important;
  clip-path: polygon(12px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%, 0 12px) !important;
  box-shadow: 0 12px 28px rgba(26, 54, 38, 0.15);
  transition: all 0.3s ease;
  text-decoration: none;
}

.psm-wsp-btn:hover {
  background: #1A3626;
  border-color: #D4AF37;
  color: #D4AF37 !important;
  transform: translateY(-2px);
  box-shadow: 0 16px 36px rgba(26, 54, 38, 0.25);
}

.psm-wsp-btn svg,
.psm-wsp-btn i {
  width: 18px;
  height: 18px;
  fill: currentColor;
}

/* =========================================================
   3. SECTION: INSPIRE-SE NAS ENCOMENDAS (#encomendas-portfolio)
   ========================================================= */
.encomendas-portfolio-section {
  padding: 100px 0;
  background: #F5F1E7;
  position: relative;
}

.eps-header {
  text-align: center;
  max-width: 820px;
  margin: 0 auto 50px;
}

.eps-kicker {
  display: inline-block;
  font-family: 'Urbanist', 'Montserrat', sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #D4AF37;
  margin-bottom: 12px;
}

.eps-title {
  font-family: 'Cinzel', serif;
  font-size: clamp(2.2rem, 4vw, 3rem);
  color: #0E2418;
  line-height: 1.25;
  margin-bottom: 16px;
  font-weight: 600;
}

.eps-title-accent {
  font-family: 'Cormorant Garamond', 'Playfair Display', serif;
  font-style: italic;
  color: #D4AF37;
  font-weight: 600;
}

.eps-subtitle {
  font-family: 'Urbanist', 'Montserrat', sans-serif;
  font-size: 16px;
  line-height: 1.8;
  color: #3A4E42;
  max-width: 720px;
  margin: 0 auto 20px;
}

.eps-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: #D4AF37;
  margin-top: 16px;
}

.eps-divider-line {
  width: 60px;
  height: 2px;
  background: #D4AF37;
}

.eps-divider svg,
.eps-divider i {
  width: 20px;
  height: 20px;
}

.eps-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-bottom: 50px;
}

/* Cards do Portfólio no estilo de cards de tratamentos do site */
.eps-item {
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
  border: 1px solid rgba(212, 175, 55, 0.25);
  background: #FDFCF9;
  transition: all 0.35s ease;
}

.eps-item:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(14, 36, 24, 0.12);
  border-color: #D4AF37;
}

.eps-img-box {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #EFEBE0;
}

.eps-img-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.eps-item:hover .eps-img-box img {
  transform: scale(1.08);
}

.eps-overlay {
  position: absolute;
  inset: 0;
  background: rgba(14, 36, 24, 0.55);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.eps-item:hover .eps-overlay {
  opacity: 1;
}

.eps-zoom-icon {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: #D4AF37;
  color: #0E2418;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
  transform: scale(0.8);
  transition: transform 0.3s ease;
}

.eps-item:hover .eps-zoom-icon {
  transform: scale(1);
}

.eps-zoom-icon svg,
.eps-zoom-icon i {
  width: 22px;
  height: 22px;
  stroke: #0E2418;
}

.eps-footer {
  text-align: center;
  margin-top: 10px;
}

/* Botão no padrão do Design System: Verde Escuro + Borda Dourada + Corte Angular */
.eps-wsp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 52px;
  padding: 16px 36px;
  background: #0E2418;
  border: 1px solid rgba(212, 175, 55, 0.4);
  color: #F5F1E7 !important;
  font-family: 'Urbanist', 'Montserrat', sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  border-radius: 0 !important;
  clip-path: polygon(12px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%, 0 12px) !important;
  box-shadow: 0 12px 28px rgba(26, 54, 38, 0.15);
  transition: all 0.3s ease;
  text-decoration: none;
}

.eps-wsp-btn:hover {
  background: #1A3626;
  border-color: #D4AF37;
  color: #D4AF37 !important;
  transform: translateY(-2px);
  box-shadow: 0 16px 36px rgba(26, 54, 38, 0.25);
}

.eps-wsp-btn svg,
.eps-wsp-btn i {
  width: 18px;
  height: 18px;
  fill: currentColor;
}

/* =========================================================
   RESPONSIVIDADE PARA AS SEÇÕES DE LEMBRANCINHAS
   ========================================================= */
@media (max-width: 992px) {

  .lf-grid,
  .psm-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .psm-grid {
    display: flex;
    flex-direction: column-reverse;
  }

  .eps-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }

  .lembrancinhas-festas-section,
  .projeto-sob-medida-section,
  .encomendas-portfolio-section {
    padding: 60px 0;
  }
}

@media (max-width: 576px) {
  .psm-list {
    grid-template-columns: 1fr;
  }

  .eps-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .lf-wsp-btn,
  .psm-wsp-btn,
  .eps-wsp-btn {
    width: 100%;
    justify-content: center;
    padding: 14px 20px;
    font-size: 12px;
  }
}


/* ==========================================================================
   LIMMÉA PRODUTOS - TITLE HARMONIZATION WITH OTHER SITE PAGES
   Padronização exata dos títulos da página Limméa com as páginas Tratamentos, Gestante e Dia da Noiva
   ========================================================================== */

.limmea-page .ut-custom-3ecda9,
.limmea-page .ut-custom-55a835,
.limmea-page .ut-custom-f84d0f,
.limmea-page .hero-sobre-title,
.limmea-page .lf-title,
.limmea-page .psm-title,
.limmea-page .eps-title {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: clamp(2.2rem, 4.5vw, 3.4rem) !important;
  line-height: 1.15 !important;
  color: #0E2418 !important;
  font-weight: 600 !important;
  margin-bottom: 16px !important;
  letter-spacing: normal !important;
}

/* Destaque de cor dourada de acento (#B58D20) igual a .tratamentos-title-accent, .gestante-title-accent, .noiva-title-accent */
.limmea-page .ut-custom-89b7f7,
.limmea-page .hero-sobre-title-accent,
.limmea-page .lf-title-accent,
.limmea-page .psm-title-accent,
.limmea-page .eps-title-accent {
  color: #B58D20 !important;
  font-weight: 600 !important;
  font-style: normal !important;
}

/* Subtítulos / Kickers no padrão das demais páginas */
.limmea-page .ut-custom-c32c95,
.limmea-page .eps-kicker {
  font-family: 'Urbanist', sans-serif !important;
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  color: #D4AF37 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  margin-bottom: 12px !important;
  display: inline-block !important;
}


/* ==========================================================================
   GLOBAL MASTER RULE: STANDARDIZE ALL TITLES ACROSS ALL PAGES EXACTLY LIKE INDEX.HTML
   - Fonte Base de Todos os Títulos: Playfair Display
   - Seções Claras (Creme): Título Verde Escuro (#0E2418) + Destaque Dourado (#D4AF37)
   - Seções Escuras (Verde): Título Creme Claro (#F5F1E7) + Destaque Dourado (#D4AF37)
   ========================================================================== */

/* 1. Fonte e Estilo Base de Todos os Títulos */
h1,
h2,
h3,
h4,
.hero-sobre-title,
.sobre-title,
.tratamentos-title,
.doze-massagens-title,
.beneficios-title,
.como-funciona-sessao-title,
.para-quem-title,
.como-nasceu-title,
.nossa-historia-title,
.valores-title,
.fundadora-title,
.se-title,
.pe-title,
.ps-title,
.eq-title,
.es-title,
.ot-title,
.ff-title,
.oferecemos-title,
.massoterapia-title,
.fisioterapia-title,
.spa-estetica-title,
.depilacao-title,
.como-escolhemos-title,
.qual-tratamento-title,
.noiva-title,
.gestante-title,
.clube-title,
.funciona-title,
.lf-title,
.psm-title,
.eps-title,
.faq-title,
.contact-title,
.limmea-title,
.doze-massagens-card-title,
.protocol-title,
.hero-card-title,
.ut-custom-3ecda9,
.ut-custom-55a835,
.ut-custom-f84d0f,
.ut-custom-328f5f,
.ut-custom-21e601,
.ut-custom-541b97,
.ut-custom-2ac949 {
  font-family: 'Playfair Display', Georgia, serif !important;
  color: #0E2418;
  font-weight: 600;
}

/* 2. Destaques em Letra Cursiva / Serifada Itálica Dourada da Paleta (#D4AF37) */
.hero-font-serif,
.text-accent,
.sobre-title-accent,
.tratamentos-title-accent,
.limmea-title-accent,
.faq-title-accent,
.contact-title-accent,
.noiva-title-accent,
.gestante-title-accent,
.clube-title-accent,
.lf-title-accent,
.psm-title-accent,
.eps-title-accent,
.hero-sobre-title-accent,
.como-nasceu-title-accent,
.nossa-historia-title-accent,
.valores-title-accent,
.fundadora-title-accent,
.se-title-accent,
.pe-title-accent,
.ps-title-accent,
.eq-title-accent,
.es-title-accent,
.ot-title-accent,
.ff-title-accent,
.oferecemos-title-accent,
.massoterapia-title-accent,
.fisioterapia-title-accent,
.spa-estetica-title-accent,
.depilacao-title-accent,
.ut-custom-89b7f7 {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-style: italic !important;
  color: #D4AF37 !important;
  font-weight: 400 !important;
  letter-spacing: -0.02em !important;
}

/* 3. CONTRASTE DE TEXTO PARA SEÇÕES E CARDS COM FUNDO VERDE ESCURO (#0E2418 / #1A3626) */
.agende-consulta h1,
.agende-consulta h2,
.agende-consulta h3,
.agende-consulta h4,
.agende-consulta .contact-title,
.clube-lt h1,
.clube-lt h2,
.clube-lt h3,
.clube-lt h4,
.clube-lt .clube-title,
.clube-card-frame h1,
.clube-card-frame h2,
.clube-card-frame h3,
.clube-card-frame h4,
.limmea-card-frame h1,
.limmea-card-frame h2,
.limmea-card-frame h3,
.limmea-card-frame h4,
.contact-info-card h1,
.contact-info-card h2,
.contact-info-card h3,
.contact-info-card h4,
.site-footer h1,
.site-footer h2,
.site-footer h3,
.site-footer h4,
.sobre-estetica-section h1,
.sobre-estetica-section h2,
.sobre-estetica-section h3,
.sobre-estetica-section h4,
.pacotes-spa-section h1,
.pacotes-spa-section h2,
.pacotes-spa-section h3,
.pacotes-spa-section h4,
.como-funciona-sessao-section h1,
.como-funciona-sessao-section h2,
.como-funciona-sessao-section h3,
.como-funciona-sessao-section h4,
.oq-fisio-reabilitatoria-section h1,
.oq-fisio-reabilitatoria-section h2,
.oq-fisio-reabilitatoria-section h3,
.oq-fisio-reabilitatoria-section h4,
.como-funciona-fisio-section h1,
.como-funciona-fisio-section h2,
.como-funciona-fisio-section h3,
.como-funciona-fisio-section h4,
.beneficios-fisio-section h1,
.beneficios-fisio-section h2,
.beneficios-fisio-section h3,
.beneficios-fisio-section h4,
.outros-tratamentos-section h1,
.outros-tratamentos-section h2,
.outros-tratamentos-section h3,
.outros-tratamentos-section h4,
.faq-fisio-section h1,
.faq-fisio-section h2,
.faq-fisio-section h3,
.faq-fisio-section h4,
.por-que-escolher-depilacao-section h1,
.por-que-escolher-depilacao-section h2,
.por-que-escolher-depilacao-section h3,
.por-que-escolher-depilacao-section h4,
.assinatura-depilacao-section h1,
.assinatura-depilacao-section h2,
.assinatura-depilacao-section h3,
.assinatura-depilacao-section h4,
.oferecemos-cta-banner h1,
.oferecemos-cta-banner h2,
.oferecemos-cta-banner h3,
.oferecemos-cta-banner h4,
.sobre-massoterapia-intro-card h1,
.sobre-massoterapia-intro-card h2,
.sobre-massoterapia-intro-card h3,
.sobre-massoterapia-intro-card h4,
.doze-massagens-cta-card h1,
.doze-massagens-cta-card h2,
.doze-massagens-cta-card h3,
.doze-massagens-cta-card h4,
.para-quem-cta-banner h1,
.para-quem-cta-banner h2,
.para-quem-cta-banner h3,
.para-quem-cta-banner h4,
.sobre-fisio-intro-card h1,
.sobre-fisio-intro-card h2,
.sobre-fisio-intro-card h3,
.sobre-fisio-intro-card h4,
.sobre-fisio-cta-banner h1,
.sobre-fisio-cta-banner h2,
.sobre-fisio-cta-banner h3,
.sobre-fisio-cta-banner h4,
.quando-alert-box h1,
.quando-alert-box h2,
.quando-alert-box h3,
.quando-alert-box h4,
.tu-highlight-card h1,
.tu-highlight-card h2,
.tu-highlight-card h3,
.tu-highlight-card h4,
.pq-quote-card h1,
.pq-quote-card h2,
.pq-quote-card h3,
.pq-quote-card h4,
.sd-cta-banner h1,
.sd-cta-banner h2,
.sd-cta-banner h3,
.sd-cta-banner h4,
.gestante-cta-box h1,
.gestante-cta-box h2,
.gestante-cta-box h3,
.gestante-cta-box h4,
.noiva-cta-box h1,
.noiva-cta-box h2,
.noiva-cta-box h3,
.noiva-cta-box h4 {
  color: #F5F1E7 !important;
}


/* ==========================================================================
   GLOBAL GOLD DIVIDERS FOR ALL SECTIONS ACROSS ALL PAGES
   Garante a linha divisória dourada elegante entre todas as seções e abaixo dos títulos
   ========================================================================== */

/* 1. Divisor Dourado de Borda Superior em Todas as Seções do Site */
main>section,
section:not(#hero):not(.hero-homecare):not(.hero-sobre-split) {
  border-top: 1px solid rgba(212, 175, 55, 0.25);
}

/* 2. Divisor Dourado Horizontal (2px #D4AF37) */
.ut-divider-gold,
.ut-divider-gold-mb32,
.ut-divider-gold-mt24,
.sobre-founder-divider,
.title-divider,
.section-divider-line {
  width: 60px;
  height: 2px;
  background: #D4AF37 !important;
  margin-top: 16px;
  margin-bottom: 24px;
}

.ut-text-center-mb60 .ut-divider-gold,
.ut-text-center-mb50 .ut-divider-gold,
.text-center .ut-divider-gold,
.text-center .title-divider {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* =========================================================
   NAVBAR & LOGO CUSTOMIZATIONS: NO BORDERS, TIGHT MENU & LARGE FOOTER LOGO
   ========================================================= */

/* Mantém o menu compacto com 0 de espaçamento extra no topo/base */
.hero-nav-wrap,
.hero-nav {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
}

.hero-brand,
.footer-brand {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0 !important;
  text-decoration: none !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Oculta qualquer texto remanescente da marca ao lado da logo */
.hero-brand-text,
.footer-brand-info,
.hero-brand-name,
.hero-brand-sub,
.footer-brand-name,
.footer-brand-sub {
  display: none !important;
}

/* Removidas todas as bordas, círculos e sombras dos containers da logo */
.hero-brand-logo,
.footer-brand-logo {
  width: auto !important;
  height: auto !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  background: transparent !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  overflow: visible !important;
}

/* Logo no Menu: Encaixe perfeito de 52px sem aumentar a altura do menu */
.hero-brand-logo img {
  height: 70px !important;
  width: auto !important;
  max-height: 70px !important;
  object-fit: contain !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: block !important;
}

/* Logo bem maior no Footer (110px) sem qualquer borda */
.footer-brand-logo img {
  height: 110px !important;
  width: auto !important;
  max-height: 130px !important;
  object-fit: contain !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: block !important;
}

/* =========================================================
   FIX: ROUND FLOATING WHATSAPP BUTTON & HIGH CONTRAST FORM STATUS MESSAGE
   ========================================================= */

/* Botão Flutuante do WhatsApp 100% Redondo (Garantido contra qualquer override) */
a.floating-wsp-btn,
.floating-wsp-btn {
  width: 60px !important;
  height: 60px !important;
  border-radius: 50% !important;
  -webkit-border-radius: 50% !important;
  clip-path: none !important;
  -webkit-clip-path: none !important;
  background: #25D366 !important;
  color: #0E2418 !important;
  box-shadow: 0 10px 28px rgba(37, 211, 102, 0.5) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

a.floating-wsp-btn:hover,
.floating-wsp-btn:hover {
  border-radius: 50% !important;
  -webkit-border-radius: 50% !important;
  clip-path: none !important;
  -webkit-clip-path: none !important;
  transform: scale(1.1) translateY(-3px) !important;
  box-shadow: 0 16px 36px rgba(37, 211, 102, 0.65) !important;
}

/* Mensagem de Sucesso do Formulário com Alta Visibilidade */
.form-status-msg.success {
  background: rgba(212, 175, 55, 0.18) !important;
  border: 1.5px solid #D4AF37 !important;
  color: #F5F1E7 !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.2) !important;
}

.form-status-msg.error {
  background: rgba(217, 83, 79, 0.2) !important;
  border: 1.5px solid #d9534f !important;
  color: #F5F1E7 !important;
  font-weight: 600 !important;
  font-size: 15px !important;
}


/* =========================================================
   ARTICLE TABLE OF CONTENTS (ÍNDICE DO ARTIGO) FIXO AO ROLAR EM TELAS GRANDES
   Garante que o índice do artigo permaneça fixo na tela durante a leitura em telas grandes
   ========================================================= */

html, body {
  overflow-x: clip !important;
}

@media (min-width: 992px) {
  .blog-main {
    position: relative !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 48px !important;
    overflow: visible !important;
  }

  .blog-article {
    flex: 1 1 0% !important;
    min-width: 0 !important;
  }

  .blog-sidebar {
    width: 320px !important;
    flex: 0 0 320px !important;
    position: relative !important;
    align-self: stretch !important;
  }

  .blog-toc {
    z-index: 90 !important;
    max-height: calc(100vh - 140px) !important;
    overflow-y: auto !important;
    border: 1px solid rgba(212, 175, 55, 0.35) !important;
    box-shadow: 0 12px 36px rgba(14, 36, 24, 0.12) !important;
    background: #FDFCF9 !important;
    transition: box-shadow 0.3s ease;
  }
}

/* =========================================================
   FUNDADORA HERO RESPONSIVE PADDING ADJUSTMENTS
   ========================================================= */
@media (max-width: 1080px) {
  section.fundadora-hero {
    padding-top: 130px !important;
  }
}
@media (max-width: 720px) {
  section.fundadora-hero {
    padding-top: 120px !important;
  }
}

