.training-categories-section { padding: 4.5rem 0; background: var(--white); }
.training-categories-section__header { max-width: 780px; margin: 0 auto 2.5rem; text-align: center; }
.training-categories-section__header h2 { margin: 0 0 .75rem; color: var(--gray-900); font-size: clamp(2rem, 3vw, 2.8rem); }
.training-categories-section__header p { margin: 0; color: var(--gray-600); font-size: 1.05rem; }
.training-categories-grid { display: grid; gap: 1.5rem; }
.training-categories-grid--cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.training-categories-grid--cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.training-categories-grid--cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.training-category-card { position: relative; display: flex; min-height: 260px; overflow: hidden; flex-direction: column; justify-content: flex-end; padding: 1.5rem; border: 1px solid var(--gray-200); border-radius: var(--radius-lg); background: var(--white); color: var(--gray-900); text-decoration: none; box-shadow: 0 8px 24px rgba(16, 24, 40, .08); transition: transform .2s ease, box-shadow .2s ease; }
.training-category-card:hover, .training-category-card:focus { color: var(--gray-900); transform: translateY(-4px); box-shadow: 0 16px 32px rgba(16, 24, 40, .14); }
.training-category-card > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .28; }
.training-category-card__icon { position: relative; display: inline-flex; width: 48px; height: 48px; align-items: center; justify-content: center; margin-bottom: auto; border-radius: 50%; background: var(--white); color: var(--primary); box-shadow: 0 4px 12px rgba(0,0,0,.1); }
.training-category-card__body { position: relative; display: grid; gap: .45rem; }
.training-category-card__body strong { font-size: 1.2rem; }
.training-category-card__body span { color: var(--gray-700); line-height: 1.45; }
.training-category-card__arrow { position: absolute; right: 1.25rem; bottom: 1.5rem; color: var(--primary); }
.training-category-card--icon-only { align-items: center; justify-content: center; text-align: center; background: linear-gradient(145deg, color-mix(in srgb, var(--primary) 7%, var(--white)), var(--white)); }
.training-category-card--icon-only .training-category-card__icon { width: 92px; height: 92px; margin: 0 0 1.25rem; border: 1px solid color-mix(in srgb, var(--primary) 18%, var(--gray-200)); color: var(--primary); box-shadow: 0 12px 26px color-mix(in srgb, var(--primary) 18%, transparent); font-size: 2.4rem; }
.training-category-card--icon-only .training-category-card__body { justify-items: center; max-width: 330px; }
.training-category-card--icon-only .training-category-card__body strong { font-size: 1.35rem; }
.training-category-card--icon-only .training-category-card__arrow { right: 1.5rem; bottom: 1.25rem; }
@media (max-width: 900px) { .training-categories-grid--cols-3, .training-categories-grid--cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .training-categories-grid, .training-categories-grid--cols-2, .training-categories-grid--cols-3, .training-categories-grid--cols-4 { grid-template-columns: 1fr; } }
