/* ── INTRO EXPLAINER ── */
.intro-explainer { background: var(--white); }
.intro-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; max-width: 1160px; margin: 0 auto; }
.bill-diagram { background: var(--gray-50); border: 1px solid var(--gray-200); border-radius: var(--radius-lg); padding: 36px; }
.bill-title { font-family: 'Lexend', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--gray-400); margin-bottom: 20px; }
.bill-row { display: flex; justify-content: space-between; align-items: center; padding: 14px 18px; border-radius: var(--radius-sm); margin-bottom: 10px; }
.bill-row.delivery { background: var(--blue-light); }
.bill-row.supply { background: var(--orange-light); border: 2px dashed var(--orange); }
.bill-row.supply.swapped { background: var(--green-light); border: 2px solid var(--green); }
.bill-row-label { font-weight: 600; font-size: 0.9rem; }
.bill-row-label small { display: block; font-size: 11px; font-weight: 400; color: var(--gray-500); margin-top: 2px; }
.bill-row-val { font-family: 'Lexend', sans-serif; font-weight: 800; font-size: 1.1rem; }
.bill-row.delivery .bill-row-val { color: var(--blue); }
.bill-row.supply .bill-row-val { color: var(--orange); }
.bill-row.supply.swapped .bill-row-val { color: var(--green-dark); }
.bill-divider { text-align: center; font-size: 12px; font-weight: 700; color: var(--gray-400); font-family: 'Lexend', sans-serif; letter-spacing: 0.08em; margin: 4px 0 14px; text-transform: uppercase; }
.bill-arrow { text-align: center; color: var(--green-dark); font-weight: 700; font-family: 'Lexend', sans-serif; font-size: 13px; padding: 10px 0; }

/* ── DETAILED STEPS ── */
.detailed-steps { background: var(--gray-50); }
.steps-container { max-width: 860px; margin: 0 auto; }
.step-detailed { display: grid; grid-template-columns: 80px 1fr; gap: 32px; margin-bottom: 48px; align-items: start; position: relative; }
.step-detailed:not(:last-child)::before {
  content: ''; position: absolute; left: 39px; top: 72px; bottom: -24px;
  width: 2px; background: linear-gradient(to bottom, var(--blue-light), var(--green-light));
}
.step-icon-wrap { display: flex; flex-direction: column; align-items: center; }
.step-circle {
  width: 72px; height: 72px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
  font-size: 28px; border: 3px solid var(--white); box-shadow: var(--shadow-md);
}
.step-circle.s1 { background: #e8f0fc; }
.step-circle.s2 { background: #e0f5ea; }
.step-circle.s3 { background: #fff4ec; }
.step-circle.s4 { background: #e0f5ea; }
.step-num-label { font-family: 'Lexend', sans-serif; font-size: 10px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--gray-400); margin-top: 8px; }
.step-content { padding-top: 12px; }
.step-content h3 { font-size: 1.25rem; font-weight: 800; margin-bottom: 12px; color: var(--gray-900); }
.step-content p { font-size: 1rem; color: var(--gray-600); line-height: 1.75; margin-bottom: 12px; }
.step-callout { background: var(--white); border-left: 3px solid var(--blue); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; padding: 14px 18px; font-size: 0.92rem; color: var(--blue-dark); font-weight: 500; margin-top: 12px; }
.step-callout.green { border-color: var(--green); color: var(--green-dark); }
.step-callout.orange { border-color: var(--orange); color: var(--orange-dark); }

/* ── WHAT DOESN'T CHANGE ── */
.no-change { background: var(--white); }
.no-change-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; max-width: 1000px; margin: 0 auto; }
.no-change-card { background: var(--gray-50); border-radius: var(--radius-lg); padding: 32px 26px; text-align: center; border: 1px solid var(--gray-200); }
.no-change-icon { font-size: 36px; margin-bottom: 14px; }
.no-change-card h4 { font-size: 1rem; font-weight: 700; margin-bottom: 8px; color: var(--gray-900); }
.no-change-card p { font-size: 0.88rem; color: var(--gray-500); }

/* ── DEREGULATION ── */
.deregulation { background: var(--blue-xlight); }
.dereg-inner { max-width: 1160px; margin: 0 auto; }
.dereg-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.analogy-card { background: var(--white); border-radius: var(--radius-lg); padding: 36px; box-shadow: var(--shadow-sm); }
.analogy-row { display: flex; gap: 20px; align-items: center; padding: 18px 0; border-bottom: 1px solid var(--gray-100); }
.analogy-row:last-child { border-bottom: none; }
.analogy-icon { font-size: 32px; flex-shrink: 0; width: 48px; text-align: center; }
.analogy-text strong { font-family: 'Lexend', sans-serif; font-size: 0.95rem; display: block; margin-bottom: 3px; }
.analogy-text span { font-size: 0.88rem; color: var(--gray-500); }

/* ── RESPONSIVE ── */
@media (max-width: 900px) {
  .intro-grid { grid-template-columns: 1fr; }
  .dereg-grid { grid-template-columns: 1fr; }
  .no-change-grid { grid-template-columns: 1fr 1fr; }
  .step-detailed { grid-template-columns: 60px 1fr; gap: 20px; }
  .step-circle { width: 56px; height: 56px; font-size: 22px; }
  .step-detailed:not(:last-child)::before { left: 27px; top: 60px; }
}
@media (max-width: 600px) {
  .no-change-grid { grid-template-columns: 1fr; }
}
