/* Homepage section title size, vertical rhythm, alternating backgrounds */
:root {
  --home-section-py: clamp(4.5rem, 9vw, 6rem);
  --home-section-title-size: clamp(2.15rem, 4.2vw, 3rem);
  --home-section-title-gap-before: clamp(0.75rem, 2vw, 1.25rem);
  --home-section-title-gap-after: clamp(3rem, 5.5vw, 3.75rem);
  --home-section-title-color: #1a4a3e;
  --home-title-panel-wave: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 200' preserveAspectRatio='none'%3E%3Cpath fill='black' d='M18,48 Q18,18 48,18 Q 64.20,14.75 80.40,18 Q 96.60,21.25 112.80,18 Q 129.00,14.75 145.20,18 Q 161.40,21.25 177.60,18 Q 193.80,14.75 210.00,18 Q 226.20,21.25 242.40,18 Q 258.60,14.75 274.80,18 Q 291.00,21.25 307.20,18 Q 323.40,14.75 339.60,18 Q 355.80,21.25 372.00,18 Q402,18 402,48 Q 402.95,61.00 402,74.00 Q 401.05,87.00 402,100.00 Q 402.95,113.00 402,126.00 Q 401.05,139.00 402,152.00 Q402,182 372,182 Q 355.80,185.25 339.60,182 Q 323.40,178.75 307.20,182 Q 291.00,185.25 274.80,182 Q 258.60,178.75 242.40,182 Q 226.20,185.25 210.00,182 Q 193.80,178.75 177.60,182 Q 161.40,185.25 145.20,182 Q 129.00,178.75 112.80,182 Q 96.60,185.25 80.40,182 Q 64.20,178.75 48.00,182 Q18,182 18,152 Q 17.05,139.00 18,126.00 Q 18.95,113.00 18,100.00 Q 17.05,87.00 18,74.00 Q 18.95,61.00 18,48.00 Z'/%3E%3C/svg%3E");
  --home-title-panel-bg: linear-gradient(
    152deg,
    #f3ece3 0%,
    #efe6db 48%,
    #ebe0d4 100%
  );

  /* DT Wellness studio signature greens */
  --dt-green-deep: #1a4035;
  --dt-green: #255e50;
  --dt-green-mid: #2d6a5a;
  --dt-green-light: #3d7a6a;
  --dt-green-wash: #b8d4c8;
  --dt-green-wash-light: #dce9e3;

  /* Warm / cool alternation */
  --home-bg-warm-a: #fdfaf6;
  --home-bg-warm-b: #f8f3ec;
  --home-bg-stone-a: #f8f7f5;
  --home-bg-stone-b: #fcfbfa;
}

/* 1. Philosophy — warm champagne (very light wash) */
#philosophy.philosophy-section {
  background-color: #fdfaf6;
  background-image:
    radial-gradient(ellipse 95% 62% at 50% -8%, rgba(212, 175, 55, 0.12), transparent 58%),
    radial-gradient(ellipse 72% 52% at 0% 100%, rgba(196, 150, 80, 0.08), transparent 54%),
    linear-gradient(
      168deg,
      #fffffe 0%,
      #fdfaf6 24%,
      #faf6ef 48%,
      #f7f2ea 62%,
      #fdfaf7 100%
    );
}

/* 2. About — DT signature green wash (light, visible band) */
#about.about {
  background-color: #ecf4f0;
  background-image:
    radial-gradient(ellipse 86% 56% at 50% -6%, rgba(61, 122, 106, 0.26), transparent 58%),
    radial-gradient(ellipse 70% 50% at 100% 100%, rgba(37, 94, 80, 0.2), transparent 56%),
    radial-gradient(ellipse 60% 44% at 0% 42%, rgba(26, 64, 53, 0.14), transparent 52%),
    linear-gradient(
      175deg,
      #f8fcfa 0%,
      #ecf4f0 20%,
      #d4e8df 42%,
      #bdd9ce 58%,
      #d8e8e1 78%,
      #f2f8f5 100%
    );
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

/* 3. Blog — warm linen / gold (very light wash) */
#home-blog.home-blog {
  background-color: #faf8f4;
  background-image:
    radial-gradient(ellipse 98% 64% at 50% -14%, rgba(255, 253, 248, 0.98), transparent 56%),
    radial-gradient(ellipse 72% 54% at 100% 88%, rgba(212, 175, 55, 0.1), transparent 54%),
    linear-gradient(
      165deg,
      #fffffe 0%,
      #fdfaf5 26%,
      #faf4ec 48%,
      #f6efe6 62%,
      #fcfaf6 100%
    );
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.9),
    inset 0 -1px 0 rgba(160, 120, 60, 0.04);
}

#home-blog.home-blog::before {
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.55) 0%,
    transparent 38%,
    rgba(180, 140, 70, 0.04) 100%
  );
}

/* 4. Gallery — DT signature green (light, visible band) */
#gallery.home-gallery {
  background-color: #e4f0eb;
  background-image:
    radial-gradient(ellipse 90% 58% at 50% -8%, rgba(45, 122, 106, 0.3), transparent 56%),
    radial-gradient(ellipse 64% 52% at 100% 58%, rgba(30, 74, 61, 0.22), transparent 56%),
    radial-gradient(ellipse 56% 46% at 0% 90%, rgba(37, 94, 80, 0.18), transparent 50%),
    linear-gradient(
      168deg,
      #f6fbf8 0%,
      #e8f2ed 24%,
      #d0e4db 46%,
      #b8d4c8 62%,
      #cce0d6 78%,
      #eef6f2 100%
    );
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.75),
    inset 0 -1px 0 rgba(26, 64, 53, 0.06);
}

/* 5. Testimonials (when visible) — warm stone (very light) */
#testimonials.testimonials {
  background-color: #f9f8f6;
  background-image: linear-gradient(
    180deg,
    #fefdfb 0%,
    #f8f7f4 44%,
    #f3f1ee 58%,
    #faf9f7 100%
  );
}

/* 6. Contact — warm taupe stone */
.contact-section-wrapper--pro {
  background: linear-gradient(
    180deg,
    #ddd8cf 0%,
    #ebe6de 32%,
    #f3efe8 68%,
    #faf9f6 100%
  );
  border-top: 1px solid rgba(120, 100, 70, 0.18);
}

.contact-section-wrapper--pro::before {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.45) 0%, transparent 100%);
}

#philosophy.philosophy-section,
#about.about,
#home-blog.home-blog,
#gallery.home-gallery,
.contact--pro {
  padding-top: var(--home-section-py) !important;
  padding-bottom: var(--home-section-py) !important;
}

.home-section-title,
.home-services-title {
  --home-title-panel-bg: linear-gradient(
    152deg,
    #f3ece3 0%,
    #efe6db 48%,
    #ebe0d4 100%
  );
  --home-title-panel-outset-inline: clamp(1.5rem, 4vw, 2.25rem);
  --home-title-panel-safe-inline: clamp(1.75rem, 4.5vw, 2.85rem);
  position: relative;
  isolation: isolate;
  display: block;
  width: fit-content;
  max-width: min(100%, 46rem);
  margin: var(--home-section-title-gap-before) auto var(--home-section-title-gap-after) !important;
  padding: clamp(0.95rem, 2.2vw, 1.45rem) var(--home-title-panel-safe-inline);
  font-family: 'Source Serif Pro', 'Times New Roman', Times, serif !important;
  font-size: var(--home-section-title-size) !important;
  font-weight: 600 !important;
  line-height: 1.12 !important;
  letter-spacing: 0.03em !important;
  font-variant-ligatures: common-ligatures;
  text-rendering: optimizeLegibility;
  text-align: center;
  color: var(--home-section-title-color) !important;
  background: transparent;
  border: none;
  overflow: visible;
  box-shadow: none;
  text-wrap: balance;
  overflow-wrap: break-word;
  hyphens: auto;
}

.home-section-title::after,
.home-services-title::after {
  content: '';
  position: absolute;
  inset: -0.35rem calc(-1 * var(--home-title-panel-outset-inline));
  pointer-events: none;
  z-index: -2;
  background: var(--home-title-panel-bg);
  -webkit-mask-image: var(--home-title-panel-wave);
  mask-image: var(--home-title-panel-wave);
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

.home-section-title::before,
.home-services-title::before {
  content: '';
  position: absolute;
  inset: -0.35rem calc(-1 * var(--home-title-panel-outset-inline));
  pointer-events: none;
  z-index: -1;
  background:
    radial-gradient(ellipse 95% 38% at 50% 0%, rgba(255, 255, 255, 0.45), transparent 72%),
    radial-gradient(ellipse 65% 30% at 0% 100%, rgba(255, 255, 255, 0.2), transparent 68%),
    radial-gradient(ellipse 65% 30% at 100% 0%, rgba(255, 255, 255, 0.18), transparent 68%);
  -webkit-mask-image: var(--home-title-panel-wave);
  mask-image: var(--home-title-panel-wave);
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

#about .home-section-title::before,
#gallery .home-section-title::before {
  background:
    radial-gradient(ellipse 95% 38% at 50% 0%, rgba(255, 255, 255, 0.22), transparent 72%),
    radial-gradient(ellipse 65% 30% at 0% 100%, rgba(255, 255, 255, 0.1), transparent 68%),
    radial-gradient(ellipse 65% 30% at 100% 0%, rgba(255, 255, 255, 0.08), transparent 68%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.06) 0%, transparent 55%, rgba(26, 64, 53, 0.05) 100%);
}

.premium-gold-section .home-section-title,
.premium-gold-section .home-services-title {
  --home-title-panel-bg: linear-gradient(
    152deg,
    var(--premium-title-stop-1, rgba(255, 255, 255, 0.24)) 0%,
    var(--premium-title-stop-2, rgba(255, 255, 255, 0.18)) 38%,
    var(--premium-title-stop-3, rgba(255, 255, 255, 0.14)) 72%,
    var(--premium-title-stop-4, rgba(255, 255, 255, 0.1)) 100%
  );
}

.premium-gold-section .home-section-title::after,
.premium-gold-section .home-services-title::after {
  backdrop-filter: var(--premium-glass-blur, blur(22px) saturate(160%));
  -webkit-backdrop-filter: var(--premium-glass-blur, blur(22px) saturate(160%));
}

.premium-gold-section .home-section-title::before,
.premium-gold-section .home-services-title::before {
  background:
    radial-gradient(ellipse 95% 38% at 50% 0%, rgba(255, 255, 255, 0.12), transparent 72%),
    radial-gradient(ellipse 65% 30% at 0% 100%, rgba(255, 255, 255, 0.05), transparent 68%),
    radial-gradient(ellipse 65% 30% at 100% 0%, rgba(255, 255, 255, 0.04), transparent 68%);
}

#philosophy .home-section-title {
  --home-title-panel-bg: linear-gradient(
    152deg,
    #f3ece3 0%,
    #efe6db 48%,
    #ebe0d4 100%
  );
}

#about .home-section-title {
  --home-title-panel-bg: linear-gradient(
    152deg,
    #cfe3d8 0%,
    #c3d9cd 48%,
    #b7cfc2 100%
  );
}

#home-blog .home-section-title {
  --home-title-panel-bg: linear-gradient(
    152deg,
    #f2ebe2 0%,
    #ede4d9 48%,
    #e8ded0 100%
  );
}

#gallery .home-section-title {
  --home-title-panel-bg: linear-gradient(
    152deg,
    #c3ddd2 0%,
    #b7d4c6 48%,
    #abcbb9 100%
  );
}

#contact .home-section-title {
  --home-title-panel-bg: linear-gradient(
    152deg,
    #e8e2d8 0%,
    #e2dcd2 48%,
    #dcd6cc 100%
  );
}

.home-services-title.home-section-title {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin-bottom: 1rem !important;
  font-size: clamp(1.65rem, 2.9vw, 2.65rem) !important;
  overflow-wrap: anywhere;
}

#about .home-section-title {
  color: #1a1a1a !important;
}

@media (min-width: 901px) {
  #about .home-section-title {
    text-align: left;
    margin-left: 0 !important;
    margin-right: auto !important;
  }
}

@media (max-width: 900px) {
  #about .home-section-title {
    text-align: center;
  }
}

#about .about-content p,
#about .about-content li {
  color: #1a1a1a;
}

.philosophy-header {
  margin-bottom: 0 !important;
  display: flow-root;
}

#contact .contact-pro__header {
  margin-bottom: var(--home-section-title-gap-after) !important;
}

#contact .contact-pro__header .home-section-title {
  margin-bottom: 0 !important;
}

.home-blog #home-blog-container,
.home-blog .cards {
  margin-top: 0 !important;
}

#gallery .home-gallery-wrap,
#gallery .home-gallery-empty {
  margin-top: 0 !important;
}

@media (max-width: 900px) {
  :root {
    --home-section-title-size: clamp(1.5rem, 4.8vw, 2.15rem);
  }

  .home-services-title.home-section-title {
    --home-title-panel-safe-inline: clamp(1.35rem, 4.5vw, 2rem);
  }
}

@media (max-width: 520px) {
  :root {
    --home-section-title-size: clamp(1.28rem, 5.8vw, 1.72rem);
  }

  .home-services-title.home-section-title {
    --home-title-panel-safe-inline: clamp(1.15rem, 4vw, 1.65rem);
  }
}
