/* Component: Topic Cards */
.topics { background: var(--purple-section); padding: 56px 0 64px; }
.topics__title {
    font-family: var(--font-heading);
    font-weight: 800;
    font-size: 24px;
    line-height: 1.2;
    color: var(--purple-deep);
    margin-bottom: 32px;
}
.topics__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.topic-card {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 20px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1), 0 1px 2px -1px rgba(0,0,0,0.1);
    display: flex;
    flex-direction: column;
    cursor: pointer;
    transition: transform 0.25s cubic-bezier(0.25,0.46,0.45,0.94), box-shadow 0.25s cubic-bezier(0.25,0.46,0.45,0.94);
}
a.topic-card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px -4px rgba(0,0,0,0.12); }
.topic-card--blue { border-top: 4px solid var(--blue); }
.topic-card--green { border-top: 4px solid var(--green); }
.topic-card--purple { border-top: 4px solid #d6d2fd; }
.topic-card--red { border-top: 4px solid var(--red-light); }
.topic-card__title {
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 15.2px;
    color: var(--purple-deep);
    margin-bottom: 12px;
}
.topic-card__desc {
    font-size: 13.1px;
    line-height: 1.625;
    color: #5c5c69;
    flex: 1;
    margin-bottom: 16px;
}
.topic-card__link {
    font-family: var(--font-heading);
    font-weight: 600;
    font-size: 12.5px;
    color: var(--red-btn);
}
@media (max-width: 860px) { .topics__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 460px) { .topics__grid { grid-template-columns: 1fr; } }
