/* ==========================================================================
   Divine Wellness — Thermography page (thermography.html)
   Default teal/blue theme. Section layouts built from tokens.css variables
   and shared components. Thermal figures are shown at (or below) native
   size with contained presentation — never cropped or upscaled.
   ========================================================================== */

/* =========================== Hero =========================== */

.th-hero {
  padding-top: calc(clamp(36px, 5vw, 64px) + 84px);
  padding-bottom: clamp(48px, 6vw, 76px);
}
.th-hero__blob-1 {
  top: -120px; left: -140px; width: 520px; height: 520px;
  background: radial-gradient(circle at 40% 40%, rgba(100, 183, 198, 0.3), rgba(100, 183, 198, 0) 70%);
  filter: blur(30px);
  animation-duration: 11s;
}
.th-hero__blob-2 {
  bottom: -160px; right: -120px; width: 560px; height: 560px;
  background: radial-gradient(circle at 60% 50%, rgba(227, 122, 109, 0.14), rgba(227, 122, 109, 0) 70%);
  filter: blur(36px);
  animation-duration: 13s;
}
.th-hero .breadcrumb { margin-bottom: 22px; }

.th-hero__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: clamp(32px, 5vw, 64px);
}
.th-hero__copy { flex: 1 1 360px; min-width: 0; max-width: 560px; }
.th-hero__copy .eyebrow { margin-bottom: 16px; }
.th-hero h1 {
  margin: 0 0 16px 0;
  font-family: var(--font-serif);
  font-weight: 500;
  font-size: clamp(36px, 4.2vw, 54px);
  line-height: 1.08;
  letter-spacing: var(--track-display);
  color: var(--ink);
}
.th-hero__body {
  margin: 0 0 26px 0;
  font-size: var(--fs-body-lg);
  line-height: var(--lh-body);
  color: var(--ink-soft);
  max-width: 50ch;
  text-wrap: pretty;
}
.th-hero__ctas { display: flex; flex-wrap: wrap; gap: 14px; }
.th-hero .btn--frost:hover { border-color: var(--coral); }
.th-next {
  margin: 18px 0 0 0;
  font-size: var(--fs-body-sm);
  font-weight: 700;
  color: var(--ink);
}
.th-next__label {
  margin-right: 8px;
  font-size: var(--fs-eyebrow);
  font-weight: 800;
  letter-spacing: var(--track-label);
  text-transform: uppercase;
  color: var(--coral);
}

/* Readable information note — calm, not legal fine print or an alarm banner */
.th-note {
  margin: 24px 0 0 0;
  max-width: 52ch;
  padding: 14px 18px;
  font-size: var(--fs-body-sm);
  line-height: 1.6;
  font-weight: 600;
  color: var(--ink-2);
  background: var(--wash-white);
  border: 1px solid var(--hairline-mid);
  border-left: 4px solid var(--blue);
  border-radius: var(--r-chip);
  text-wrap: pretty;
}

.th-hero__media { flex: 1 1 360px; min-width: 0; max-width: 560px; }
.th-hero__photo {
  border-radius: var(--r-card-xl);
  overflow: hidden;
  box-shadow: var(--shadow-photo), 0 0 0 8px rgba(255, 255, 255, 0.35);
}
.th-hero__photo img { display: block; width: 100%; height: auto; }

/* =========================== What is thermography =========================== */

.th-about { background: linear-gradient(180deg, var(--cream) 0%, var(--tint-aqua) 100%); }
.th-about__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(32px, 4vw, 48px);
}
.th-about__copy { width: 100%; max-width: 720px; text-align: center; }
.th-about__copy .prose { margin-left: auto; margin-right: auto; }
.th-about__copy h2 { margin-bottom: 20px; font-size: var(--fs-h2-sm); }
.th-last { margin-bottom: 0; }

.th-figure { margin: 0; max-width: 100%; }
.th-figure__images {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 18px;
  padding: 18px;
  background: var(--wash-white);
  border: 1px solid var(--hairline);
  border-radius: var(--r-card-md);
  box-shadow: var(--shadow-card-soft);
}
/* Each figure is capped at its native pixel width — shown full size where
   space allows, scaled down (never cropped or upscaled) on small screens. */
.th-figure__images img {
  display: block;
  max-width: 100%;
  height: auto;
  object-fit: contain;
  border-radius: var(--r-chip);
}
.th-figure figcaption {
  margin-top: 12px;
  font-size: var(--fs-small);
  line-height: 1.5;
  color: var(--body);
  text-align: center;
}

/* =========================== What to expect =========================== */

.th-expect { background: linear-gradient(180deg, var(--tint-aqua) 0%, var(--tint-blue) 100%); }
.th-expect__head { max-width: 640px; margin-bottom: clamp(28px, 3.5vw, 44px); }
.th-expect__head h2 { margin-bottom: 0; font-size: var(--fs-h2-sm); }

.th-steps {
  list-style: none;
  margin: 0;
  padding: 0;
  max-width: 820px;
  border-top: 1px solid var(--hairline-mid);
}
.th-step {
  display: flex;
  gap: clamp(16px, 2.5vw, 28px);
  padding: clamp(20px, 2.6vw, 28px) 0;
  border-bottom: 1px solid var(--hairline-mid);
}
.th-step__num {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  font-family: var(--font-serif);
  font-size: 20px;
  font-weight: 500;
  color: var(--cream);
  background: var(--ink);
}
.th-step h3 {
  margin: 6px 0 8px 0;
  font-family: var(--font-serif);
  font-weight: 500;
  font-size: 22px;
  line-height: 1.25;
  color: var(--ink);
}
.th-step p {
  margin: 0;
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  color: var(--body);
  max-width: 62ch;
  text-wrap: pretty;
}

/* =========================== Specialist + limits =========================== */

.th-info { background: linear-gradient(175deg, var(--tint-blue) 0%, var(--tint-green) 100%); }
.th-info__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
  gap: clamp(28px, 4vw, 56px);
  align-items: start;
}
.th-info__block h2,
.th-limits h2 { margin-bottom: 18px; font-size: var(--fs-h2-sm); }

.th-limits {
  background: var(--wash-white);
  border: 1px solid var(--hairline);
  border-left: 4px solid var(--blue);
  border-radius: var(--r-card-md);
  padding: clamp(24px, 3vw, 36px);
  box-shadow: var(--shadow-card-soft);
}
.th-limits .prose { color: var(--ink-soft); }
.th-limits__link { margin: 0; font-size: var(--fs-ui); line-height: 1.6; }

/* =========================== Financial assistance =========================== */

.th-cost { background: linear-gradient(180deg, var(--tint-green) 0%, var(--tint-pink-soft) 100%); }
.th-cost__inner { max-width: 720px; }
.th-cost__inner h2 { margin-bottom: 18px; font-size: var(--fs-h2-sm); }
.th-cost__inner .prose { margin-bottom: 22px; }
.th-cost__links { display: flex; flex-wrap: wrap; align-items: baseline; gap: 12px 24px; }
.th-cost__links .link-quiet { font-size: var(--fs-ui); }
.th-meet__link { display: inline-block; margin-top: 22px; }

/* =========================== FAQ =========================== */

.th-faq { background: linear-gradient(180deg, var(--tint-pink-soft) 0%, var(--cream) 100%); }
.th-faq__inner { max-width: 840px; margin: 0 auto; }
.th-faq__head { text-align: center; margin-bottom: clamp(30px, 4vw, 44px); }
.th-faq__head h2 { margin-bottom: 0; font-size: var(--fs-h2-sm); }
.th-faq__list { display: flex; flex-direction: column; gap: 12px; }

/* =========================== Final CTA =========================== */

.cta-section .cta-panel .prose { max-width: 52ch; margin-bottom: 30px; }
.th-cta__contact {
  margin: 30px 0 0 0;
  font-style: normal;
  font-size: var(--fs-body-sm);
  line-height: 1.6;
  color: var(--on-dark-muted);
}
.th-cta__fine {
  margin: 8px 0 0 0;
  font-size: var(--fs-small);
  color: var(--on-dark-soft);
}

@media (max-width: 760px) {
  .th-hero__copy, .th-hero__media { max-width: none; }
  .th-hero__ctas .btn { flex: 1 1 auto; text-align: center; }
}
