/* ── Research Area Cards ──────────────────────────────── */
.research-area-card {
    background: #fff;
    border: 1px solid rgba(125,1,159,.12);
    border-radius: 16px;
    transition: transform .3s cubic-bezier(.4,0,.2,1),
                box-shadow .3s,
                border-color .3s;
    height: 100%;
    position: relative;
    overflow: hidden;
}
.research-area-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(125,1,159,.05) 0%, rgba(254,212,3,.03) 100%);
    opacity: 0;
    transition: opacity .3s;
}
.research-area-card:hover {
    transform: translateY(-6px) scale(1.02);
    box-shadow: 0 16px 40px rgba(125,1,159,.14);
    border-color: rgba(125,1,159,.3);
}
.research-area-card:hover::before { opacity: 1; }

/* Icon wrapper */
.area-icon-wrapper {
    width: 76px; height: 76px;
    background: linear-gradient(135deg, rgba(125,1,159,.1) 0%, rgba(254,212,3,.08) 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform .3s, box-shadow .3s;
}
.research-area-card:hover .area-icon-wrapper,
.research-area-header:hover .area-icon-wrapper {
    transform: scale(1.1) rotate(-5deg);
    box-shadow: 0 6px 20px rgba(125,1,159,.25);
}

.area-icon {
    width: 44px; height: 44px;
    object-fit: contain;
    /* filter: invert(32%) sepia(80%) saturate(600%) hue-rotate(200deg) brightness(95%); */
    transition: filter .3s;
}
/* .research-area-card:hover .area-icon { */
    /* filter: invert(32%) sepia(80%) saturate(800%) hue-rotate(200deg) brightness(115%); */
/* } */

/* Larger icon for detail page */
.area-icon-lg {
    width: 80px; height: 80px;
    object-fit: contain;
    /* filter: invert(32%) sepia(80%) saturate(700%) hue-rotate(200deg) brightness(100%); */
    transition: transform .4s;
}
.research-area-header .area-icon-lg:hover {
    transform: scale(1.08) rotate(-5deg);
}

.area-icon-placeholder {
    width: 76px; height: 76px;
    background: linear-gradient(135deg, #f3e8ff 0%, #fef9c3 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.area-name {
    font-weight: 700;
    color: #1e293b;
    margin-bottom: .4rem;
}
.area-description { font-size: .875rem; line-height: 1.5; color: #64748b; }
.area-description-full { font-size: 1rem; line-height: 1.8; color: #334155; }

/* ── Research Area Header (detail page) ───────────────── */
.research-area-header {
    position: relative;
    padding: 2.5rem 0;
}

/* ── Section Title ────────────────────────────────────── */
.section-title {
    font-weight: 700;
    color: #1e293b;
    position: relative;
    display: inline-block;
    padding-bottom: .75rem;
}
.section-title::after {
    content: '';
    position: absolute;
    bottom: 0; left: 50%;
    transform: translateX(-50%);
    width: 50px; height: 4px;
    background: linear-gradient(90deg, #6366f1, #06b6d4);
    border-radius: 9999px;
}

/* ── Breadcrumb ───────────────────────────────────────── */
.breadcrumb-nav {
    margin-bottom: 2rem;
    font-size: .88rem;
    color: #64748b;
}
.breadcrumb-nav a {
    color: #6366f1;
    text-decoration: none;
    transition: color .2s;
}
.breadcrumb-nav a:hover { color: #4f46e5; }

/* ── Responsive ───────────────────────────────────────── */
@media (max-width: 576px) {
    .area-icon       { width: 40px; height: 40px; }
    .area-icon-wrapper { width: 60px; height: 60px; }
    .area-icon-lg    { width: 60px; height: 60px; }
}

/* ── Research Area Detail – Description ───────────────── */
.area-description-full {
    font-size: 1rem;
    line-height: 1.8;
}

.area-description-full img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    margin: 1rem 0;
}

/* ── Project Cards (for research area detail page) ─────── */
.project-card {
    background: #fff;
    border: 1px solid #e8eaed;
    border-radius: 12px;
    height: 100%;
    transition: box-shadow 0.2s ease;
}

.project-card:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}

.project-icon-wrapper {
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.75rem;
}

.project-icon {
    width: 40px;
    height: 40px;
    object-fit: contain;
    /* filter: invert(32%) sepia(80%) saturate(600%) hue-rotate(200deg) brightness(95%); */
}

.project-name {
    font-weight: 600;
    color: #212529;
    margin-bottom: 0.5rem;
}

.project-description {
    font-size: 0.9rem;
    line-height: 1.6;
}
