.ts-pain-points { background: var(--color-primary-50); }
.ts-container--narrow { max-width: 860px; }
.ts-text-center { text-align: center; }
.ts-pain-points__title { font-family: var(--font-brand); font-size: clamp(1.75rem, 4vw, 2.5rem); line-height: var(--lh-h1); letter-spacing: -0.015rem; text-align: center; color: var(--color-primary-600); margin: var(--space-2) 0 var(--space-4); }
.ts-pain-points__subtitle { text-align: center; color: var(--text-secondary); font-family: var(--font-support); font-size: var(--fs-body-lg); margin-bottom: var(--space-10); }
.ts-pain-points__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--space-6); margin-top: var(--space-10); }
.ts-pain-points__card { background: var(--surface-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-card); padding: var(--space-6); opacity: 0; transform: translateY(10px); transition: opacity var(--duration-slow) var(--ease-standard), transform var(--duration-slow) var(--ease-standard); display: grid;
    grid-template-columns: auto auto;
    column-gap: 1rem; 
    row-gap: 0.5rem;
}
.ts-pain-points__card span {
    grid-row: span 2;
    margin: 0;
}
.ts-pain-points__card.is-revealed { opacity: 1; transform: none; }
.ts-pain-points__icon { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: var(--radius-md); background: var(--surface-brand-subtle); color: var(--text-brand); margin-bottom: var(--space-4); }
.ts-pain-points__card h3 { font-family: var(--font-brand); font-size: var(--fs-body-md); margin: 0; color: var(--text-primary); }
.ts-pain-points__card p { font-family: var(--font-support); color: var(--text-secondary); font-size: var(--fs-body-sm); line-height: var(--lh-body);  margin: 0}
