.section-passions {
    padding: 3rem 0;
}

.passions-hero {
    border: 1px solid var(--brand-border, #e5e7eb);
    border-radius: 1.25rem;
    padding: 2rem 1.5rem;
    background: linear-gradient(120deg,
    color-mix(in srgb, var(--brand-primary, #5b8def) 10%, #ffffff),
    #ffffff 55%,
    color-mix(in srgb, var(--brand-bg, #f8f9fb) 60%, #ffffff));
    box-shadow: 0 10px 30px rgba(0,0,0,.06);
}

.passion-card {
    border: 1px solid var(--brand-border, #e5e7eb);
    border-radius: 1rem;
    background: var(--brand-surface, #fff);
    padding: 1.5rem;
    box-shadow: 0 10px 30px rgba(0,0,0,.06);
    display: flex;
    flex-direction: column;
    gap: .75rem;
    height: 100%;
}

.passion-icon {
    width: 54px;
    height: 54px;
    border-radius: 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    color: #1f2937;
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--brand-primary, #5b8def) 18%, transparent);
}
.passion-icon--music {
    background: linear-gradient(180deg, #e8f1ff, #f7fbff);
}
.passion-icon--fire {
    background: linear-gradient(180deg, #fff1f2, #fff8f8);
}
.passion-icon--game {
    background: linear-gradient(180deg, #f1f5ff, #f8f9ff);
}
.passion-icon--lab {
    background: linear-gradient(180deg, #e9f7ef, #f7fdf9);
}
.passion-icon--safety {
    background: linear-gradient(180deg, #fef3c7, #fff8e6);
}

@media (hover: hover) {
    .passion-card {
        transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
    }
    .passion-card:hover {
        transform: translateY(-2px);
        box-shadow: 0 16px 36px rgba(0,0,0,.08);
        border-color: color-mix(in srgb, var(--brand-primary, #5b8def) 25%, #e5e7eb);
    }
}

@media (max-width: 767px) {
    .passions-hero {
        padding: 1.5rem 1.25rem;
    }
    .passion-card {
        padding: 1.25rem;
    }
}
