/* ===== SAVINGS & SUBSIDY ===== */
.sb-hero { padding-block: clamp(36px, 6vw, 88px) clamp(24px, 4vw, 48px); }
.sb-hero-in { display: grid; gap: 24px; }
@media (min-width: 900px) { .sb-hero-in { grid-template-columns: 1.3fr 1fr; align-items: end; gap: clamp(32px, 6vw, 96px); } }
.sb-hero h1[lang="hi"] { font-size: clamp(2.1rem, 6.6vw, 4.6rem); }

.sb-flow { padding-bottom: clamp(48px, 7vw, 96px); }
.sb-ctl { padding: clamp(16px, 3vw, 26px); display: grid; gap: 20px; margin-bottom: 30px; }
@media (min-width: 800px) { .sb-ctl { grid-template-columns: 2fr 1fr; gap: 40px; align-items: start; } }
.sb-ctl .chip { min-width: 62px; }
.wf { display: grid; }
.wf-step { display: grid; gap: 10px 32px; padding: clamp(18px, 3vw, 28px) clamp(16px, 3vw, 32px); border: 1px solid var(--line-2); background: var(--white); }
@media (min-width: 900px) { .wf-step { grid-template-columns: 200px minmax(0, 1.2fr) minmax(0, 1fr); align-items: center; } }
.wf-step.hl { background: var(--forest); color: #fff; border-color: var(--forest); }
.wf-step.hl .label { color: rgba(255, 255, 255, 0.7); }
.wf-step.hl .num { color: #fff; }
.wf-step.hl .bar { background: rgba(255, 255, 255, 0.18); }
.wf-step.hl .bar i { background: #fff; }
.wf-step.hl .wf-t { color: rgba(255, 255, 255, 0.85); }
.wf-l { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.wf-n { font: 500 0.78rem var(--f-mono); color: var(--gold-ink); }
.wf-step.hl .wf-n { color: var(--gold-2); }
.wf-l .tag { font-size: 0.56rem; }
.wf-m { display: grid; gap: 12px; min-width: 0; }
.wf-m .num { font-size: clamp(1.9rem, 6.6vw, 3rem); }
.wf-m .num.gold { color: var(--gold-ink); }
.wf-m .bar { height: 12px; }
.wf-t { margin: 0; color: var(--muted); font-size: 0.94rem; line-height: 1.55; }
.wf-arrow { display: grid; place-items: center; height: 40px; color: var(--gold-ink); }
.wf-arrow .ic { width: 26px; height: 26px; }

.pb { display: grid; gap: 32px; }
@media (min-width: 900px) { .pb { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 56px; align-items: center; } }
.pb-nums { margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
.pb-nums > div { padding: 14px 0; border-top: 2px solid var(--forest); }
.pb-nums dt { font: 500 0.62rem var(--f-mono); letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); margin-bottom: 6px; }
.pb-nums dd { margin: 0; font: 700 clamp(1.4rem, 5vw, 2.1rem) var(--f-display); letter-spacing: -0.03em; }
.pb-nums .gold { color: var(--gold-ink); }
.pb-ch { padding: clamp(14px, 3vw, 26px); min-width: 0; }

.tbl { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.tbl th { text-align: left; font: 500 0.62rem var(--f-mono); letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); padding: 0 8px 10px 0; border-bottom: 2px solid var(--forest); }
.tbl td { padding: 14px 8px 14px 0; border-bottom: 1px solid var(--line); font-weight: 600; font-size: 0.95rem; }
.tbl th:not(:first-child), .tbl td:not(:first-child) { text-align: right; padding-right: 0; padding-left: 8px; }
.tbl td:first-child { font: 700 1rem var(--f-display); }
.tbl td:last-child { color: var(--forest); }
#tbl-sub td:last-child { color: var(--gold-ink); }
@media (max-width: 520px) { .tbl th { font-size: 0.52rem; letter-spacing: 0.04em; } .tbl td { font-size: 0.82rem; } }

.steps { display: grid; margin: clamp(28px, 4vw, 48px) 0; counter-reset: st; }
.steps li { display: grid; grid-template-columns: 48px 1fr; gap: 4px 18px; padding: 22px 0; border-top: 1px solid rgba(255, 255, 255, 0.24); }
@media (min-width: 900px) { .steps li { grid-template-columns: 64px 280px 1fr; } }
.steps li::before { counter-increment: st; content: "0" counter(st); font: 500 0.8rem var(--f-mono); color: var(--gold-2); padding-top: 4px; }
.steps h3 { font-size: 1.15rem; color: #fff; }
.steps p { grid-column: 2; margin: 0; color: rgba(255, 255, 255, 0.75); max-width: 56ch; }
@media (min-width: 900px) { .steps p { grid-column: 3; } }
.risk { padding: clamp(20px, 3vw, 34px); border: 1px solid var(--gold); background: rgba(242, 165, 26, 0.08); }
.risk h3 { margin-bottom: 14px; color: var(--gold-2); }
.risk li { display: flex; gap: 12px; padding: 10px 0; border-top: 1px solid rgba(255, 255, 255, 0.14); color: rgba(255, 255, 255, 0.88); font-size: 0.95rem; }
.risk li::before { content: "!"; flex: none; width: 20px; height: 20px; display: grid; place-items: center; background: var(--gold); color: var(--forest); font: 700 0.75rem var(--f-mono); margin-top: 2px; }
