.dtc-section { width: 100%; background: var(--eem-cream, #faf7f0); padding: 44px 0; }
.dtc-container { width: min(1800px, 100%); margin: 0 auto; padding: 0 40px; }
.dtc-heading { font-family: var(--magical_font), Georgia, serif; color: #111; text-align: center; font-weight: 500; margin: 0 0 32px; font-size: clamp(28px, 2.8vw, 40px); }
.dtc-heading .dtc-heading-italic { font-style: italic; font-weight: 500; }
.dtc-heading .dtc-heading-bold { font-weight: 700; font-style: normal; }
.dtc-heading .dtc-heading-gold { font-weight: 700; font-style: normal; color: var(--eem-gold, #b78a36); }

.dtc-columns { display: grid; grid-template-columns: 1fr 1px 1fr; gap: 48px; align-items: stretch; }
.dtc-divider { background: rgba(20, 18, 16, .14); width: 1px; }

.dtc-col-header { display: flex; align-items: center; gap: 12px; margin-bottom: 26px; }
.dtc-col-header-icon { flex: 0 0 auto; width: 26px; height: 26px; color: var(--eem-gold, #b78a36); }
.dtc-col-header-label { font-family: var(--magical_font), Georgia, serif; font-size: 24px; color: #111; font-weight: 500; }

.dtc-steps { display: flex; align-items: flex-start; }
.dtc-step { position: relative; flex: 1; text-align: center; padding: 0 14px; min-width: 0; opacity: 0; transform: translateY(18px); transition: opacity .55s ease, transform .55s ease; }
.dtc-step.is-visible { opacity: 1; transform: translateY(0); }
.dtc-step:nth-child(1) { transition-delay: 0ms; }
.dtc-step:nth-child(2) { transition-delay: 120ms; }
.dtc-step:nth-child(3) { transition-delay: 240ms; }
.dtc-step:nth-child(4) { transition-delay: 360ms; }
.dtc-step:not(:first-child)::before { content: ""; position: absolute; top: 39px; left: -50%; width: 100%; height: 1px; background: rgba(183, 138, 54, .5); z-index: 0; transform: scaleX(0); transform-origin: left; transition: transform .6s ease .15s; }
.dtc-step.is-visible:not(:first-child)::before { transform: scaleX(1); }

.dtc-step-icon { position: relative; z-index: 1; width: 78px; height: 78px; border-radius: 50%; border: 1.5px solid var(--eem-gold, #b78a36); background: var(--eem-cream, #faf7f0); margin: 0 auto 14px; display: grid; place-items: center; transition: transform .3s ease, background .3s ease, box-shadow .3s ease; cursor: default; }
.dtc-step-icon svg { width: 30px; height: 30px; color: var(--eem-gold, #b78a36); transition: color .3s ease; }
.dtc-step:hover .dtc-step-icon { transform: scale(1.08); background: var(--eem-gold, #b78a36); box-shadow: 0 8px 24px rgba(183, 138, 54, .35); }
.dtc-step:hover .dtc-step-icon svg { color: #fff; }

.dtc-step-title { font-family: var(--inter_font), Arial, sans-serif; font-weight: 700; font-size: 15px; color: #111; margin: 0 0 6px; }
.dtc-step-text { font-family: var(--inter_font), Arial, sans-serif; font-weight: 400; font-size: 12.5px; line-height: 1.4; color: #3a3a3a; margin: 0; max-width: 200px; margin-inline: auto; }

@media (max-width: 1200px) {
  .dtc-step-icon { width: 66px; height: 66px; }
  .dtc-step-icon svg { width: 24px; height: 24px; }
  .dtc-step:not(:first-child)::before { top: 33px; }
  .dtc-step-title { font-size: 13.5px; }
  .dtc-step-text { font-size: 11.5px; }
  .dtc-col-header-label { font-size: 20px; }
  .dtc-columns { gap: 36px; }
}

@media (max-width: 1010px) {
  .dtc-columns { grid-template-columns: 1fr; gap: 0; }
  .dtc-divider { display: none; }
  .dtc-col-right { margin-top: 30px; padding-top: 30px; border-top: 1px solid rgba(20, 18, 16, .14); }
}

@media (max-width: 640px) {
  .dtc-container { padding-inline: 20px; }
  .dtc-heading { font-size: 24px; margin-bottom: 22px; }
  .dtc-steps { flex-wrap: wrap; gap: 18px 0; }
  .dtc-step { flex: 0 0 50%; padding: 0 8px; }
  .dtc-step:nth-child(1)::before, .dtc-step:nth-child(3)::before { display: none; }
  .dtc-step-icon { width: 72px; height: 72px; }
  .dtc-step-icon svg { width: 26px; height: 26px; }
}

@media (prefers-reduced-motion: reduce) {
  .dtc-step, .dtc-step:not(:first-child)::before, .dtc-step-icon, .dtc-step-icon svg { transition: none !important; opacity: 1 !important; transform: none !important; }
}
