/* ================================================================
   Tovon & Co. Diamonds — Global Custom Stylesheet
   File: ../css/tovon-diamonds.css
   All classes scoped to .tcd- prefix to prevent platform bleed

   Brand System:
   Background:   #F7F4EF  Warm Pearl
   Primary:      #1A1A18  Obsidian Black
   Gold:         #C9A96E  Champagne Gold
   Text:         #1A1A18  Obsidian Black
   Heading acc:  #C9A96E  Champagne Gold
   Heading font: Freight Display Pro (Adobe Fonts)
   Body font:    Acumin Pro (Adobe Fonts)
   Accent font:  Cormorant Garamond Italic
   ================================================================ */

/* ── Brand tokens — declared on every section wrapper ── */
.tcd-hero,
.tcd-about-hero,
.tcd-intro-strip,
.tcd-comparison-section,
.tcd-split-section,
.tcd-story-section,
.tcd-loupe-callout,
.tcd-faq-section,
.tcd-cta-banner,
.tcd-credentials-section,
.tcd-timeline-section,
.tcd-values-section,
.tcd-about-cta,
.tcd-process-section,
.tcd-process-v2,
.tcd-inhouse-strip {
  --tcd-pearl:      #F7F4EF;
  --tcd-obsidian:   #1A1A18;
  --tcd-gold:       #C9A96E;
  --tcd-gold-light: #E0C898;
  --tcd-gold-dim:   rgba(201,169,110,0.35);
  --tcd-dark-bg:    #1A1A18;
  --tcd-dark-alt:   #222220;
  --tcd-gray-mid:   #6B6B68;
  --tcd-gray-light: #E8E4DC;
  box-sizing: border-box;
}

/* ================================================================
   TYPOGRAPHY UTILITIES
   ================================================================ */

/* Eyebrow — Cormorant Garamond Italic, Champagne Gold */
.tcd-eyebrow {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-style: italic !important;
  font-size: 1.15rem !important;
  color: var(--tcd-gold) !important;
  display: block !important;
  margin-bottom: 0.5rem !important;
  font-weight: 400 !important;
}

/* Eyebrow on light backgrounds — Obsidian */
.tcd-eyebrow-dark {
  color: var(--tcd-obsidian) !important;
  opacity: 0.55 !important;
}

/* Italic accent inline element */
.tcd-em {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-style: italic !important;
  font-weight: 400 !important;
  color: var(--tcd-gold) !important;
}

/* H1 — hero scale, Warm Pearl on dark backgrounds */
.tcd-h1 {
  font-family: 'freight-display-pro', 'Didot', 'Bodoni MT', Georgia, serif !important;
  font-size: clamp(2.8rem, 6vw, 5rem) !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  color: var(--tcd-pearl) !important;
  margin-bottom: 1.5rem !important;
  letter-spacing: -0.01em !important;
}

/* H2 — light backgrounds, Obsidian */
.tcd-h2,
.tcd-h2-dark {
  font-family: 'freight-display-pro', 'Didot', Georgia, serif !important;
  font-size: clamp(1.8rem, 3.5vw, 2.8rem) !important;
  font-weight: 700 !important;
  color: var(--tcd-obsidian) !important;
  line-height: 1.1 !important;
  margin-bottom: 1.25rem !important;
  letter-spacing: -0.01em !important;
}

/* H2 — dark backgrounds, Warm Pearl */
.tcd-h2-light {
  font-family: 'freight-display-pro', 'Didot', Georgia, serif !important;
  font-size: clamp(2rem, 4vw, 3.2rem) !important;
  font-weight: 700 !important;
  color: var(--tcd-pearl) !important;
  line-height: 1.1 !important;
  margin-bottom: 3rem !important;
  letter-spacing: -0.01em !important;
}

/* Body — standard gray on light backgrounds */
.tcd-body-gray {
  font-family: 'Acumin Pro', 'Gill Sans', sans-serif !important;
  font-size: 1rem !important;
  color: var(--tcd-gray-mid) !important;
  line-height: 1.75 !important;
  margin-bottom: 1.25rem !important;
  max-width: 520px !important;
}

/* Body — larger midsize variant */
.tcd-body-mid {
  font-family: 'Acumin Pro', 'Gill Sans', sans-serif !important;
  font-size: 1.05rem !important;
  color: var(--tcd-gray-mid) !important;
  line-height: 1.75 !important;
}

/* ================================================================
   BUTTONS
   ================================================================ */

.tcd-btn-group {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  align-items: center !important;
}

/* Gold filled */
.tcd-btn-gold,
.tcd-btn-gold:link,
.tcd-btn-gold:visited {
  background: var(--tcd-gold) !important;
  color: var(--tcd-obsidian) !important;
  border: 2px solid var(--tcd-gold) !important;
  padding: 13px 28px !important;
  font-family: 'freight-display-pro', Georgia, serif !important;
  font-size: 0.85rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  display: inline-block !important;
  cursor: pointer !important;
  line-height: 1 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transition: background 0.25s, color 0.25s !important;
}
.tcd-btn-gold:hover,
.tcd-btn-gold:focus {
  background: var(--tcd-gold-light) !important;
  color: var(--tcd-obsidian) !important;
  border-color: var(--tcd-gold-light) !important;
  text-decoration: none !important;
}

/* Outline ivory — for use on dark backgrounds */
.tcd-btn-outline-ivory,
.tcd-btn-outline-ivory:link,
.tcd-btn-outline-ivory:visited {
  background: transparent !important;
  color: var(--tcd-pearl) !important;
  border: 2px solid rgba(247,244,239,0.5) !important;
  padding: 13px 28px !important;
  font-family: 'freight-display-pro', Georgia, serif !important;
  font-size: 0.85rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  display: inline-block !important;
  cursor: pointer !important;
  line-height: 1 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transition: border-color 0.25s, color 0.25s !important;
}
.tcd-btn-outline-ivory:hover,
.tcd-btn-outline-ivory:focus {
  border-color: var(--tcd-gold) !important;
  color: var(--tcd-gold) !important;
  text-decoration: none !important;
}

/* Outline dark — for use on light backgrounds */
.tcd-btn-outline-dark,
.tcd-btn-outline-dark:link,
.tcd-btn-outline-dark:visited {
  background: transparent !important;
  color: var(--tcd-obsidian) !important;
  border: 2px solid var(--tcd-obsidian) !important;
  padding: 13px 28px !important;
  font-family: 'freight-display-pro', Georgia, serif !important;
  font-size: 0.85rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  display: inline-block !important;
  cursor: pointer !important;
  line-height: 1 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transition: background 0.25s, color 0.25s !important;
}
.tcd-btn-outline-dark:hover,
.tcd-btn-outline-dark:focus {
  background: var(--tcd-obsidian) !important;
  color: var(--tcd-pearl) !important;
  text-decoration: none !important;
}

/* Dark solid */
.tcd-btn-dark-solid,
.tcd-btn-dark-solid:link,
.tcd-btn-dark-solid:visited {
  background: var(--tcd-obsidian) !important;
  color: var(--tcd-pearl) !important;
  border: 2px solid var(--tcd-obsidian) !important;
  padding: 13px 28px !important;
  font-family: 'freight-display-pro', Georgia, serif !important;
  font-size: 0.85rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  display: inline-block !important;
  cursor: pointer !important;
  line-height: 1 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transition: background 0.25s, border-color 0.25s !important;
}
.tcd-btn-dark-solid:hover,
.tcd-btn-dark-solid:focus {
  background: #333330 !important;
  border-color: #333330 !important;
  color: var(--tcd-pearl) !important;
  text-decoration: none !important;
}

/* Outline dark — gold hover variant */
.tcd-btn-outline-dark-gold,
.tcd-btn-outline-dark-gold:link,
.tcd-btn-outline-dark-gold:visited {
  background: transparent !important;
  color: var(--tcd-obsidian) !important;
  border: 2px solid var(--tcd-obsidian) !important;
  padding: 13px 28px !important;
  font-family: 'freight-display-pro', Georgia, serif !important;
  font-size: 0.85rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  display: inline-block !important;
  cursor: pointer !important;
  line-height: 1 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transition: background 0.25s, color 0.25s !important;
}
.tcd-btn-outline-dark-gold:hover,
.tcd-btn-outline-dark-gold:focus {
  background: var(--tcd-obsidian) !important;
  color: var(--tcd-pearl) !important;
  text-decoration: none !important;
}

/* ================================================================
   HERO SECTIONS
   ================================================================ */

.tcd-hero,
.tcd-about-hero {
  background: var(--tcd-obsidian) !important;
  color: var(--tcd-pearl) !important;
  padding: 100px 0 80px !important;
  position: relative !important;
  overflow: hidden !important;
}

.tcd-hero::before,
.tcd-about-hero::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: radial-gradient(ellipse at 70% 50%, rgba(201,169,110,0.08) 0%, transparent 65%) !important;
  pointer-events: none !important;
}

.tcd-about-hero-inner {
  position: relative !important;
  z-index: 1 !important;
}

.tcd-hero-eyebrow {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-style: italic !important;
  font-size: 1.3rem !important;
  color: var(--tcd-gold) !important;
  display: block !important;
  margin-bottom: 1rem !important;
  font-weight: 400 !important;
}

.tcd-hero-body {
  font-family: 'Acumin Pro', 'Gill Sans', sans-serif !important;
  font-size: 1.1rem !important;
  color: rgba(247,244,239,0.82) !important;
  max-width: 560px !important;
  margin-bottom: 2rem !important;
  line-height: 1.7 !important;
}

/* ================================================================
   INTRO STRIP
   ================================================================ */

.tcd-intro-strip {
  background: var(--tcd-pearl) !important;
  border-bottom: 1px solid var(--tcd-gray-light) !important;
  padding: 70px 0 !important;
}

.tcd-intro-strip h2 {
  font-family: 'freight-display-pro', 'Didot', Georgia, serif !important;
  font-size: clamp(1.8rem, 3.5vw, 2.8rem) !important;
  font-weight: 700 !important;
  color: var(--tcd-obsidian) !important;
  line-height: 1.15 !important;
  margin-bottom: 1.25rem !important;
}

/* ================================================================
   COMPARISON TABLE
   ================================================================ */

.tcd-comparison-section {
  background: var(--tcd-obsidian) !important;
  color: var(--tcd-pearl) !important;
  padding: 80px 0 !important;
}

.tcd-compare-table {
  width: 100% !important;
  border-collapse: collapse !important;
}

.tcd-th-label {
  color: var(--tcd-gray-mid) !important;
  font-size: 0.8rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  font-family: 'Acumin Pro', sans-serif !important;
  font-weight: 400 !important;
  padding: 18px 24px !important;
  text-align: left !important;
  border-bottom: 1px solid rgba(201,169,110,0.35) !important;
}

.tcd-th-natural {
  font-family: 'freight-display-pro', Georgia, serif !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  padding: 18px 24px !important;
  text-align: left !important;
  border-bottom: 1px solid rgba(201,169,110,0.35) !important;
  color: var(--tcd-gold) !important;
}

.tcd-th-lab {
  font-family: 'freight-display-pro', Georgia, serif !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  padding: 18px 24px !important;
  text-align: left !important;
  border-bottom: 1px solid rgba(201,169,110,0.35) !important;
  color: rgba(247,244,239,0.55) !important;
}

.tcd-compare-table tbody tr {
  border-bottom: 1px solid rgba(255,255,255,0.07) !important;
  transition: background 0.2s !important;
}

.tcd-compare-table tbody tr:hover {
  background: rgba(255,255,255,0.03) !important;
}

.tcd-td-label {
  color: var(--tcd-gray-mid) !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  padding: 20px 24px 18px !important;
  vertical-align: top !important;
  font-family: 'Acumin Pro', sans-serif !important;
  white-space: nowrap !important;
}

.tcd-td {
  padding: 18px 24px !important;
  font-size: 0.95rem !important;
  color: rgba(247,244,239,0.82) !important;
  vertical-align: top !important;
  line-height: 1.6 !important;
  font-family: 'Acumin Pro', 'Gill Sans', sans-serif !important;
}

.tcd-highlight {
  color: var(--tcd-gold-light) !important;
}

.tcd-badge-natural {
  display: inline-block !important;
  background: rgba(201,169,110,0.12) !important;
  border: 1px solid rgba(201,169,110,0.3) !important;
  color: var(--tcd-gold-light) !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  padding: 3px 10px !important;
  margin-top: 6px !important;
  font-family: 'Acumin Pro', sans-serif !important;
}

/* ================================================================
   SPLIT SECTIONS
   ================================================================ */

.tcd-split-section,
.tcd-story-section {
  padding: 80px 0 !important;
  border-bottom: 1px solid var(--tcd-gray-light) !important;
  background: var(--tcd-pearl) !important;
}

.tcd-split-alt {
  background: #EDEAE3 !important;
}

.tcd-split-img-block,
.tcd-story-img-block {
  overflow: hidden !important;
  line-height: 0 !important;
}

.tcd-split-img,
.tcd-story-img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  object-fit: cover !important;
}

.tcd-split-content,
.tcd-story-content {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: 40px 20px 40px 48px !important;
}

.tcd-split-content-left,
.tcd-story-content-left {
  padding: 40px 48px 40px 20px !important;
}

/* ================================================================
   LOUPE / QUOTE CALLOUT
   ================================================================ */

.tcd-loupe-callout {
  background: var(--tcd-obsidian) !important;
  color: var(--tcd-pearl) !important;
  padding: 80px 0 !important;
}

.tcd-blockquote {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-style: italic !important;
  font-size: clamp(1.5rem, 3vw, 2.3rem) !important;
  line-height: 1.45 !important;
  color: var(--tcd-gold) !important;
  border-left: 3px solid var(--tcd-gold) !important;
  padding-left: 32px !important;
  margin: 0 0 1.5rem !important;
  font-weight: 400 !important;
}

.tcd-loupe-body {
  font-family: 'Acumin Pro', 'Gill Sans', sans-serif !important;
  font-size: 1rem !important;
  color: rgba(247,244,239,0.72) !important;
  line-height: 1.75 !important;
  max-width: 560px !important;
}

.tcd-cite {
  display: block !important;
  margin-top: 1.25rem !important;
  font-family: 'freight-display-pro', Georgia, serif !important;
  font-size: 0.82rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--tcd-gold) !important;
  font-style: normal !important;
}

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

.tcd-faq-section {
  background: var(--tcd-pearl) !important;
  padding: 80px 0 !important;
}

.tcd-faq-heading {
  margin-bottom: 2.5rem !important;
}

.tcd-details {
  border-bottom: 1px solid var(--tcd-gray-light) !important;
}

.tcd-summary {
  font-family: 'freight-display-pro', 'Didot', Georgia, serif !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: var(--tcd-obsidian) !important;
  padding: 22px 0 !important;
  cursor: pointer !important;
  list-style: none !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 16px !important;
}

.tcd-summary::-webkit-details-marker { display: none !important; }

.tcd-summary::after {
  content: '+' !important;
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-style: italic !important;
  font-size: 1.8rem !important;
  color: var(--tcd-gold) !important;
  flex-shrink: 0 !important;
  line-height: 1 !important;
}

.tcd-details[open] .tcd-summary::after {
  content: '\2212' !important;
}

.tcd-details-body {
  font-family: 'Acumin Pro', 'Gill Sans', sans-serif !important;
  font-size: 0.97rem !important;
  color: var(--tcd-gray-mid) !important;
  padding: 4px 0 24px !important;
  max-width: 700px !important;
  line-height: 1.78 !important;
}

/* ================================================================
   CTA BANNER (Gold background)
   ================================================================ */

.tcd-cta-banner,
.tcd-about-cta {
  background: var(--tcd-gold) !important;
  padding: 70px 0 !important;
}

.tcd-cta-heading {
  font-family: 'freight-display-pro', Georgia, serif !important;
  font-size: clamp(1.8rem, 3.5vw, 2.6rem) !important;
  font-weight: 700 !important;
  color: var(--tcd-obsidian) !important;
  line-height: 1.1 !important;
  margin-bottom: 1rem !important;
  letter-spacing: -0.01em !important;
}

.tcd-cta-sub {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-style: italic !important;
  font-weight: 400 !important;
  font-size: 0.82em !important;
  color: rgba(26,26,24,0.6) !important;
}

.tcd-cta-body {
  font-family: 'Acumin Pro', 'Gill Sans', sans-serif !important;
  font-size: 1rem !important;
  color: rgba(26,26,24,0.7) !important;
  margin-bottom: 2rem !important;
  line-height: 1.7 !important;
}

/* ================================================================
   CREDENTIALS SECTION (Dark background)
   ================================================================ */

.tcd-credentials-section {
  background: var(--tcd-obsidian) !important;
  color: var(--tcd-pearl) !important;
  padding: 80px 0 !important;
}

.tcd-credential-card {
  border: 1px solid rgba(201,169,110,0.2) !important;
  padding: 36px 28px !important;
  height: 100% !important;
  transition: border-color 0.25s !important;
}

.tcd-credential-card:hover {
  border-color: rgba(201,169,110,0.55) !important;
}

.tcd-credential-number {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-style: italic !important;
  font-size: 3.5rem !important;
  color: rgba(201,169,110,0.22) !important;
  line-height: 1 !important;
  display: block !important;
  margin-bottom: 12px !important;
  font-weight: 400 !important;
}

.tcd-credential-title {
  font-family: 'freight-display-pro', Georgia, serif !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: var(--tcd-gold) !important;
  margin-bottom: 12px !important;
  line-height: 1.2 !important;
}

.tcd-credential-body {
  font-family: 'Acumin Pro', 'Gill Sans', sans-serif !important;
  font-size: 0.92rem !important;
  color: rgba(247,244,239,0.68) !important;
  line-height: 1.7 !important;
  margin: 0 !important;
}

/* ================================================================
   TIMELINE SECTION
   ================================================================ */

.tcd-timeline-section {
  background: #EDEAE3 !important;
  padding: 80px 0 !important;
  border-bottom: 1px solid var(--tcd-gray-light) !important;
}

.tcd-timeline {
  position: relative !important;
  padding-left: 0 !important;
  list-style: none !important;
  margin: 0 !important;
}

.tcd-timeline::before {
  content: '' !important;
  position: absolute !important;
  left: 52px !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 1px !important;
  background: var(--tcd-gold) !important;
  opacity: 0.3 !important;
}

.tcd-timeline-item {
  display: flex !important;
  gap: 28px !important;
  align-items: flex-start !important;
  margin-bottom: 48px !important;
  position: relative !important;
}

.tcd-timeline-item:last-child {
  margin-bottom: 0 !important;
}

.tcd-timeline-year {
  flex-shrink: 0 !important;
  width: 104px !important;
  text-align: right !important;
  font-family: 'freight-display-pro', Georgia, serif !important;
  font-size: 1.4rem !important;
  font-weight: 700 !important;
  color: var(--tcd-gold) !important;
  padding-top: 2px !important;
  position: relative !important;
}

.tcd-timeline-year::after {
  content: '' !important;
  position: absolute !important;
  right: -16px !important;
  top: 10px !important;
  width: 8px !important;
  height: 8px !important;
  background: var(--tcd-gold) !important;
  border-radius: 50% !important;
}

.tcd-timeline-text {
  padding-left: 12px !important;
  padding-top: 2px !important;
}

.tcd-timeline-title {
  font-family: 'freight-display-pro', Georgia, serif !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: var(--tcd-obsidian) !important;
  margin-bottom: 6px !important;
  line-height: 1.2 !important;
}

.tcd-timeline-desc {
  font-family: 'Acumin Pro', 'Gill Sans', sans-serif !important;
  font-size: 0.93rem !important;
  color: var(--tcd-gray-mid) !important;
  line-height: 1.7 !important;
  margin: 0 !important;
}

/* ================================================================
   VALUES SECTION
   ================================================================ */

.tcd-values-section {
  background: var(--tcd-pearl) !important;
  padding: 80px 0 !important;
  border-bottom: 1px solid var(--tcd-gray-light) !important;
}

.tcd-value-item {
  padding: 0 16px !important;
  margin-bottom: 40px !important;
}

.tcd-value-rule {
  width: 36px !important;
  height: 2px !important;
  background: var(--tcd-gold) !important;
  margin-bottom: 16px !important;
}

.tcd-value-title {
  font-family: 'freight-display-pro', Georgia, serif !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: var(--tcd-obsidian) !important;
  margin-bottom: 10px !important;
  line-height: 1.2 !important;
}

.tcd-value-desc {
  font-family: 'Acumin Pro', 'Gill Sans', sans-serif !important;
  font-size: 0.92rem !important;
  color: var(--tcd-gray-mid) !important;
  line-height: 1.72 !important;
  margin: 0 !important;
}

/* ================================================================
   CUSTOM PROCESS SECTION v2 (Compact grid)
   ================================================================ */

.tcd-process-v2 {
  background: var(--tcd-pearl) !important;
  padding: 70px 0 !important;
  border-bottom: 1px solid var(--tcd-gray-light) !important;
}

.tcd-process-v2 .tcd-eyebrow {
  margin-bottom: 0.4rem !important;
}

.tcd-process-v2 .tcd-h2-dark {
  margin-bottom: 0.6rem !important;
}

.tcd-process-v2 .tcd-body-gray {
  margin-bottom: 2.5rem !important;
}

.tcd-process-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 0 !important;
}

.tcd-process-item {
  padding: 28px 28px 28px 0 !important;
  border-right: 1px solid var(--tcd-gray-light) !important;
  position: relative !important;
}

.tcd-process-item:last-child {
  border-right: none !important;
  padding-right: 0 !important;
}

.tcd-process-item:nth-child(n+4) {
  border-top: 1px solid var(--tcd-gray-light) !important;
  padding-top: 28px !important;
  margin-top: 28px !important;
}

.tcd-process-item-num {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-style: italic !important;
  font-size: 2rem !important;
  color: var(--tcd-gold) !important;
  line-height: 1 !important;
  display: block !important;
  margin-bottom: 10px !important;
  font-weight: 400 !important;
}

.tcd-process-item-label {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-style: italic !important;
  font-size: 0.82rem !important;
  color: var(--tcd-obsidian) !important;
  display: block !important;
  margin-bottom: 4px !important;
  letter-spacing: 0.04em !important;
}

.tcd-process-item-title {
  font-family: 'freight-display-pro', 'Didot', Georgia, serif !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: var(--tcd-obsidian) !important;
  margin-bottom: 8px !important;
  line-height: 1.2 !important;
  letter-spacing: -0.01em !important;
}

.tcd-process-item-desc {
  font-family: 'Acumin Pro', 'Gill Sans', sans-serif !important;
  font-size: 0.88rem !important;
  color: var(--tcd-gray-mid) !important;
  line-height: 1.72 !important;
  margin: 0 !important;
}

.tcd-process-item-badge {
  display: block !important;
  width: fit-content !important;
  background: rgba(201,169,110,0.12) !important;
  border: 1px solid rgba(201,169,110,0.4) !important;
  color: var(--tcd-obsidian) !important;
  font-family: 'Acumin Pro', sans-serif !important;
  font-size: 0.65rem !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
  padding: 2px 8px !important;
  margin-top: 10px !important;
}

/* ================================================================
   IN-HOUSE CALLOUT STRIP (Dark background)
   ================================================================ */

.tcd-inhouse-strip {
  background: var(--tcd-obsidian) !important;
  padding: 48px 0 !important;
  text-align: center !important;
}

.tcd-inhouse-label {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-style: italic !important;
  font-size: 1.1rem !important;
  color: var(--tcd-gold) !important;
  display: block !important;
  margin-bottom: 12px !important;
}

.tcd-inhouse-heading {
  font-family: 'freight-display-pro', 'Didot', Georgia, serif !important;
  font-size: clamp(1.5rem, 3vw, 2.2rem) !important;
  font-weight: 700 !important;
  color: var(--tcd-pearl) !important;
  line-height: 1.15 !important;
  margin: 0 auto 16px !important;
  max-width: 640px !important;
  letter-spacing: -0.01em !important;
}

.tcd-inhouse-body {
  font-family: 'Acumin Pro', 'Gill Sans', sans-serif !important;
  font-size: 1rem !important;
  color: rgba(247,244,239,0.7) !important;
  max-width: 560px !important;
  margin: 0 auto 28px !important;
  line-height: 1.72 !important;
}

/* ================================================================
   RESPONSIVE
   ================================================================ */

@media (max-width: 767.98px) {
  .tcd-split-content,
  .tcd-split-content-left,
  .tcd-story-content,
  .tcd-story-content-left {
    padding: 32px 0 0 !important;
  }

  .tcd-td-label { white-space: normal !important; }

  .tcd-th-label,
  .tcd-th-natural,
  .tcd-th-lab,
  .tcd-td-label,
  .tcd-td {
    padding: 14px 10px !important;
    font-size: 0.82rem !important;
  }

  .tcd-btn-group {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  .tcd-timeline::before { left: 44px !important; }
  .tcd-timeline-year { width: 88px !important; font-size: 1.1rem !important; }
  .tcd-credential-card { margin-bottom: 16px !important; }
}

@media (max-width: 991.98px) {
  .tcd-process-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0 !important;
  }

  .tcd-process-item {
    padding: 24px 20px 24px 0 !important;
    border-right: 1px solid var(--tcd-gray-light) !important;
  }

  .tcd-process-item:nth-child(even) {
    border-right: none !important;
    padding-left: 20px !important;
    padding-right: 0 !important;
  }

  .tcd-process-item:nth-child(n+3) {
    border-top: 1px solid var(--tcd-gray-light) !important;
    padding-top: 24px !important;
    margin-top: 0 !important;
  }

  .tcd-process-item:nth-child(n+4) {
    border-top: none !important;
    margin-top: 0 !important;
  }
}

@media (max-width: 575.98px) {
  .tcd-process-grid {
    grid-template-columns: 1fr !important;
  }

  .tcd-process-item {
    border-right: none !important;
    border-top: 1px solid var(--tcd-gray-light) !important;
    padding: 24px 0 !important;
    text-align: left !important;
  }

  .tcd-process-item:nth-child(even) {
    border-right: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .tcd-process-item:first-child {
    border-top: none !important;
    padding-top: 0 !important;
  }

  .tcd-process-item-num,
  .tcd-process-item-label,
  .tcd-process-item-title,
  .tcd-process-item-desc,
  .tcd-process-item-badge {
    text-align: left !important;
  }
}

/* ── Process item photo block ── */
.tcd-process-item-img {
  width: 100% !important;
  padding-top: 75% !important; /* 4:3 ratio — height is always 75% of width */
  background: var(--tcd-gray-light) !important;
  overflow: hidden !important;
  margin-bottom: 20px !important;
  position: relative !important;
  display: block !important;
}

.tcd-process-item-img img {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}
