/* ==========================================================================
   STAY FREE ENTERPRISE — /debt-settlement (condensed storyboard, plan §5)
   Own Tier-1 TSR voice throughout; copy never merged with /credit-repair.
   Structural variety per beat: hero split -> centered prose -> lead-magnet
   card -> mini-motif process rail -> proof/CTA band -> disclosure close.
   Zero WebGL. Consumes tokens.css only.
   ========================================================================== */

/* ================================================================= HERO */
.sf-ds-hero { padding-block: var(--sf-space-9) var(--sf-space-8); overflow: hidden; }
.sf-ds-hero__grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: var(--sf-space-7);
  align-items: center;
}
.sf-ds-hero__copy { max-width: 40rem; }
.sf-ds-hero__title { margin-bottom: var(--sf-space-4); }
.sf-ds-hero__sub {
  font-size: var(--sf-text-md);
  color: var(--sf-text-secondary);
  max-width: 34rem;
  margin-bottom: var(--sf-space-5);
}
.sf-ds-hero__cta-row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sf-space-4); }
.sf-ds-hero__note { font-size: var(--sf-text-sm); color: var(--sf-text-secondary); }

.sf-ds-hero__media { position: relative; }
.sf-ds-hero__plate {
  aspect-ratio: 4 / 5;
  border-radius: var(--sf-radius-lg);
  overflow: hidden;
  box-shadow: var(--sf-elevation-3);
}
.sf-ds-hero__plate img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sf-ds-hero__plate-label { font-family: var(--sf-font-display); font-size: var(--sf-text-lg); color: var(--sf-taupe); }
.sf-ds-hero__plate-sub { font-size: var(--sf-text-xs); letter-spacing: 0.06em; text-transform: uppercase; color: var(--sf-taupe); max-width: 22ch; }

@media (max-width: 900px) {
  .sf-ds-hero__grid { grid-template-columns: 1fr; gap: var(--sf-space-6); }
  .sf-ds-hero__media { order: -1; max-width: 22rem; }
}

/* ============================================================== PROBLEM */
.sf-ds-problem__lead { font-family: var(--sf-font-display); font-size: var(--sf-text-xl); font-style: italic; margin-bottom: var(--sf-space-3); }
.sf-ds-problem__body { color: var(--sf-text-secondary); }
.sf-ds-problem__accent { color: var(--sf-teal); font-style: normal; }

/* ========================================================== LEAD MAGNET */
.sf-ds-magnet { padding-block: var(--sf-space-8); }
.sf-ds-magnet__head { max-width: 40rem; margin-bottom: var(--sf-space-6); text-align: center; margin-inline: auto; }
.sf-ds-magnet__head p { color: var(--sf-text-secondary); margin-inline: auto; }

/* ================================================================ PROCESS */
.sf-ds-process { padding-block: var(--sf-space-8); }
.sf-ds-process__head { max-width: 42rem; margin-bottom: var(--sf-space-6); }
.sf-ds-process__head p { color: var(--sf-text-secondary); }
.sf-ds-process__rail {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sf-space-5);
}
@media (max-width: 820px) { .sf-ds-process__rail { grid-template-columns: 1fr; } }

.sf-ds-step {
  display: flex; flex-direction: column; gap: var(--sf-space-2);
  padding: var(--sf-space-5);
  background: var(--sf-bg-primary);
  border-radius: var(--sf-radius-lg);
  border: 1px solid rgba(14, 74, 60, 0.12);
  box-shadow: var(--sf-elevation-1);
}
/* mini compass motif — a small static needle icon per step, rotation only
   (no scroll rig; "mini" per the condensed storyboard). Words carry the
   meaning, never a score (Ruling 2). */
.sf-ds-step__needle { width: 40px; height: 40px; margin-bottom: var(--sf-space-1); }
.sf-ds-step__needle svg { width: 100%; height: 100%; display: block; }
.sf-ds-step__needle-blade { fill: var(--sf-taupe); }
.sf-ds-step[data-stage="turning"] .sf-ds-step__needle-blade { fill: #C39A55; }
.sf-ds-step[data-stage="free"] .sf-ds-step__needle-blade { fill: var(--sf-gold); }
.sf-ds-step[data-stage="turning"] .sf-ds-step__needle-group { transform: rotate(60deg); transform-origin: 50% 50%; }
.sf-ds-step[data-stage="free"] .sf-ds-step__needle-group { transform: rotate(120deg); transform-origin: 50% 50%; }
.sf-ds-step__index { font-size: var(--sf-text-xs); font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; color: var(--sf-teal); }
.sf-ds-step__title { font-size: var(--sf-text-lg); }
.sf-ds-step__body { color: var(--sf-text-secondary); font-size: var(--sf-text-sm); }

/* =================================================================== PROOF */
.sf-ds-proof { padding-block: var(--sf-space-8); }
.sf-ds-proof__grid { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: var(--sf-space-6); align-items: center; }
@media (max-width: 900px) { .sf-ds-proof__grid { grid-template-columns: 1fr; } }
.sf-ds-proof__aside { display: flex; flex-direction: column; gap: var(--sf-space-4); }
.sf-ds-proof__aside p { color: var(--sf-text-secondary); }

/* =================================================================== CLOSE */
.sf-ds-close__grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sf-space-7); align-items: center; }
.sf-ds-close__cta h2 { margin-bottom: var(--sf-space-3); }
.sf-ds-close__cta p { color: var(--sf-text-secondary); margin-bottom: var(--sf-space-5); }
@media (max-width: 820px) { .sf-ds-close__grid { grid-template-columns: 1fr; gap: var(--sf-space-5); } }
