:root {
    --front-brand-title-size: clamp(1.35rem, 1.65vw, 1.9rem);
    --front-heading-1-size: clamp(1.4rem, 1.8vw, 1.78rem);
    --front-heading-2-size: clamp(1.25rem, 1.55vw, 1.58rem);
    --front-heading-3-size: clamp(1.08rem, 1.3vw, 1.36rem);
}

.front-brand-title {
    font-size: var(--front-brand-title-size) !important;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -.015em;
}

.front-main-content h1 {
    font-size: var(--front-heading-1-size) !important;
}

.front-main-content h2 {
    font-size: var(--front-heading-2-size) !important;
}

.front-main-content h3 {
    font-size: var(--front-heading-3-size) !important;
}

@media (min-width: 577px) {
    .area {
        position: static;
        height: calc(100vh - 4.1rem);
        overflow-y: auto;
        overflow-x: hidden;
        display: block;
    }
}

.area {
    margin: 0;
    padding: 15px;
}

@media (min-width: 48em) {
    .cms-title {
        font-size: calc(1rem + (1vw - .4rem));
    }

    .cms-right {
        font-size: calc(.3rem + (1vw - .4rem));
        margin: 7px 10px 0 0;
    }

    .cms-logo {
        max-width: calc(4rem + (1vw - .4rem));
        width: 100%;
        height: auto;
    }
}

@media (max-width: 48em) {
    .cms-title {
        font-size: calc(1rem + (1vw - .4rem));
    }

    .cms-right {
        font-size: calc(1rem + (1vw - .4rem));
        margin: 1px 2px 0 0;
    }

    .cms-logo {
        max-width: calc(4rem + (1vw - .4rem));
        width: 100%;
        height: auto;
    }
}

.bg-teal-uni {
    background: rgba(12, 106, 128, .99);
}

.vertical-text {
    display: inline-block;
    transform: rotate(180deg);
    writing-mode: vertical-rl;
    color: #6c757d;
}

.MY table, .MY td, .MY th {
    border: 1px solid #ddd;
    text-align: left;
    padding: 10px;
}

.MY table {
    border-collapse: collapse;
    width: 100%;
}


.MY tr:nth-child(even) {
    background-color: #f2f2f2;
}

.MY p {
    display: block;
    margin: 1em 0;
}

.MY ol {
    list-style: none;
    counter-reset: cupcake;
    padding-left: 5px;
}

.MY ol li {
    counter-increment: cupcake;
}

.MY ol li:before {
    content: counters(cupcake, ".") ". ";
}

.MY dl {
    display: grid;
    grid-template-columns: max-content auto;
}

.MY dt {
    grid-column-start: 1;
    font-weight: bold;
    margin: 3px 5px 3px 0;
}

.MY dd {
    grid-column-start: 2;
    margin: 3px 5px 3px 0;
}

.inside {
    padding-left: 1em;
    line-height: 1.9em;
    list-style-type: none;
    font-size: 0.9rem;
}

.plus:before {
    content: "\002B";
    margin: 0 5px 0 3px;
}

.minus:before {
    content: "\2212";
    margin: 0 5px 0 3px;
}

/* *****  GALLERIES ***** */

.gallery-wrapper {
    display: grid;
    justify-content: center;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: auto;
    grid-gap: .3rem;
    grid-auto-flow: dense;
}

.gallery-item {
    width: 100%;
    height: 100%;
    position: relative;
    filter: drop-shadow(2px 2px 3px #333);
}

.gallery-item .image {
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.gallery-item .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
    cursor: pointer;
    transition: all 400ms ease-in;
    transform: scale(1);
}

.gallery-item .image img:hover {
    transform: scale(1.1);
}

@media only screen and (max-width: 800px) {
    .gallery-wrapper {
        grid-template-columns: repeat(2, 2fr);
        grid-template-rows: 1fr;
        grid-gap: 1px;
        grid-auto-flow: dense;
    }

    .gallery-container:nth-child(3n+2) {
        grid-column: 1 / span 2;
        grid-row-end: span 2;
    }

    .gallery-container:nth-child(4n+3) {
        grid-column: 2 / span 1;
        grid-row-end: span 2;
    }
}

.responsive-embed {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 Aspect Ratio */
    margin-bottom: 10px;
}

.responsive-embed iframe {
    position: absolute;
    width: 100% !important;
    height: 100% !important;
}

.bg-my-grad {
    background-image: linear-gradient(rgb(241, 186, 64), white);
}

input[type=radio] {
    width: 30px !important;
}

input[type=checkbox] {
    width: 30px !important;
}

.scale-image {
    transform: scale(1) perspective(960px) rotateY(-11deg) rotateX(2deg) rotate(2deg) translateY(-50%);
    width: 210px;
}

a {
    text-decoration: none;
}
.academic-info{
    margin-left: 110px;
}

.heading-1{
    position:relative;
    text-align: left;
    font-size:1.3rem;
    font-weight: 700;
}
.heading-1:before {
    content: "";
    display: block;
    border-top: solid 2px;
    width: 100%;
    height: 2px;
    position: absolute;
    top: 50%;
    z-index: 0;
}
.heading-1 span {
    padding: 0 10px 0 0;
    position: relative;
    z-index: 1;
}

.bg-g {
    background: linear-gradient(-45deg, #334F70, #6E98BA, #79a1b7, #35648C);
    background-size: 400% 400%;
    animation: gradient 15s ease infinite;
}

.bg-g1 {
    background: linear-gradient(-45deg, #484d51, #8facc0, #d2e4f1, #818d97);
    background-size: 400% 400%;
    animation: gradient 15s ease infinite;
}

.bg-g2 {
    background: linear-gradient(-45deg, #346598, #4B8FB9, #7795A4, #307BAC);
    background-size: 400% 400%;
    animation: gradient 15s ease infinite;
}

.front-header-nav {
    position: relative;
    z-index: 1085;
}

/* --- Modern public frontend shell -------------------------------------- */
.front-modern-header {
    position: sticky;
    top: 0;
    z-index: 1085;
    margin: 0;
    background: color-mix(in srgb, var(--bs-body-bg) 94%, transparent);
    border-bottom: 1px solid var(--academic-border);
    box-shadow: 0 .3rem 1.25rem rgba(9, 79, 96, .08);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.front-modern-header-accent {
    height: .25rem;
    background: linear-gradient(90deg, var(--academic-brand) 0 76%, var(--academic-gold) 76% 100%);
}

.front-modern-header-main {
    display: flex;
    gap: 1rem;
    align-items: center;
    justify-content: space-between;
    min-height: 4.75rem;
}

.front-modern-brand {
    display: inline-flex;
    gap: .8rem;
    align-items: center;
    min-width: 0;
    color: var(--bs-body-color);
    text-decoration: none;
}

.front-modern-brand:hover,
.front-modern-brand:focus-visible {
    color: var(--academic-brand-dark);
    outline: 0;
}

.front-modern-logo-wrap {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 3.25rem;
    height: 3.25rem;
    background: #fff;
    border: 1px solid var(--academic-border);
    border-radius: 50%;
}

.front-modern-logo-wrap img {
    width: 2.45rem;
    height: 2.45rem;
    object-fit: contain;
}

.front-modern-brand-copy {
    display: flex;
    flex-direction: column;
    min-width: 0;
    line-height: 1.15;
}

.front-modern-brand-copy strong {
    color: var(--academic-brand-dark);
    font-size: clamp(.9rem, 1.2vw, 1.03rem);
    letter-spacing: .015em;
}

.front-modern-brand-copy small {
    max-width: min(52vw, 30rem);
    margin-top: .22rem;
    overflow: hidden;
    color: var(--academic-muted);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .065em;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.front-modern-utilities {
    display: flex;
    flex: 0 0 auto;
    gap: .35rem;
    align-items: center;
}

.front-modern-utility,
.front-modern-language,
.front-modern-menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.55rem;
    min-height: 2.55rem;
    padding: .5rem .7rem;
    color: var(--bs-body-color);
    background: var(--academic-surface-soft);
    border: 1px solid var(--academic-border);
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 700;
    text-decoration: none;
    transition: color .18s ease, border-color .18s ease, background-color .18s ease;
}

.front-modern-utility:hover,
.front-modern-language:hover,
.front-modern-menu-toggle:hover,
.front-modern-utility:focus-visible,
.front-modern-language:focus-visible,
.front-modern-menu-toggle:focus-visible {
    color: var(--academic-brand-dark);
    background: var(--academic-brand-tint);
    border-color: var(--academic-brand);
    outline: 0;
}

.front-modern-menu-toggle {
    padding: 0;
    font-size: 1.35rem;
}

.front-modern-language {
    color: var(--academic-brand);
}

.front-modern-nav-shell {
    background: color-mix(in srgb, var(--academic-brand) 4%, var(--bs-body-bg));
    border-top: 1px solid var(--academic-divider);
}

.front-modern-menu {
    display: flex;
    flex-wrap: wrap;
    gap: .2rem;
    align-items: center;
    width: 100%;
    min-width: 0;
    padding: .4rem 0;
}

.front-modern-menu .nav-link {
    display: inline-flex;
    gap: .4rem;
    align-items: center;
    min-height: 2.45rem;
    padding: .5rem .75rem;
    color: var(--bs-body-color);
    border: 1px solid transparent;
    border-radius: .65rem;
    font-size: .8rem;
    font-weight: 650;
    line-height: 1.25;
    transition: color .18s ease, border-color .18s ease, background-color .18s ease;
}

.front-modern-menu .nav-link > i {
    color: var(--academic-brand);
}

.front-modern-menu .nav-link:hover,
.front-modern-menu .nav-link:focus-visible,
.front-modern-menu .nav-link.is-active {
    color: var(--academic-brand-dark);
    background: var(--academic-brand-tint);
    border-color: var(--academic-border);
    outline: 0;
}

.front-modern-menu .nav-link.is-active {
    font-weight: 750;
}

.front-modern-menu .dropdown-menu {
    padding: .45rem;
    background: var(--bs-body-bg);
    border: 1px solid var(--academic-border);
    border-radius: .8rem;
    box-shadow: var(--academic-shadow-raised);
}

.front-modern-menu .dropdown-menu .nav-link {
    width: 100%;
    min-height: 2.25rem;
    border-radius: .5rem;
}

.front-main-surface {
    background:
        radial-gradient(circle at 8% 0, color-mix(in srgb, var(--academic-brand) 6%, transparent), transparent 24rem),
        var(--bs-tertiary-bg);
}

.front-header-nav .navbar .dropdown-menu {
    z-index: 1086;
}

.navbar .dropdown-menu .nav-link {
    display: block;
    padding: 0.3rem 0.7rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

@media (min-width: 992px) {
    .navbar .navbar-nav .dropdown {
        position: relative;
    }

    .navbar .navbar-nav .dropdown:hover > .dropdown-menu,
    .navbar .navbar-nav .dropdown:focus-within > .dropdown-menu {
        display: block;
    }

    .navbar .navbar-nav .dropdown > .dropdown-menu {
        margin-top: 0;
    }

    .navbar .dropdown-menu {
        width: max-content;
        max-width: min(90vw, 28rem);
    }

    .navbar .dropdown-menu .nav-link {
        max-width: min(90vw, 28rem);
    }

    .navbar .navbar-nav .dropdown-menu .dropdown > .dropdown-menu {
        top: 0;
        left: 100%;
    }
}

.menu-child-toggle {
    border: 0;
    background: transparent;
    color: var(--bs-body-color);
    padding: 0.45rem 0.65rem;
    line-height: 1;
}

.menu-child-toggle .bi {
    transition: transform 0.2s ease;
}

@media (max-width: 991.98px) {
    .front-modern-header-main {
        min-height: 4.3rem;
    }

    .front-modern-nav-shell .container {
        padding-right: .75rem;
        padding-left: .75rem;
    }

    .front-modern-nav-shell .navbar-collapse {
        padding: .55rem 0 .75rem;
    }

    .front-modern-menu {
        align-items: stretch;
        width: 100%;
        padding: 0;
    }

    .front-modern-menu > .nav-item,
    .front-modern-menu > .dropdown {
        width: 100%;
    }

    .front-modern-menu .nav-link {
        flex: 1 1 auto;
        width: 100%;
        padding: .65rem .75rem;
    }

    .front-modern-menu .menu-child-toggle {
        min-width: 2.5rem;
        color: var(--academic-brand);
    }

    .navbar .navbar-nav .dropdown {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
    }

    .navbar .navbar-nav .dropdown > .nav-link {
        flex: 1 1 auto;
    }

    .navbar .navbar-nav .dropdown > .dropdown-menu {
        position: static;
        float: none;
        width: 100%;
        margin: 0;
        border: 0;
        border-radius: 0;
        box-shadow: none;
        background: transparent;
        padding-left: 0.75rem;
        display: none;
    }

    .navbar .navbar-nav .dropdown.is-open-mobile > .dropdown-menu {
        display: block;
    }

    .navbar .navbar-nav .dropdown.is-open-mobile > .menu-child-toggle .bi {
        transform: rotate(180deg);
    }

    .navbar .dropdown-menu .nav-link {
        max-width: 100%;
    }

    .front-modern-menu .dropdown-menu {
        padding: .25rem 0 .35rem .75rem;
        background: transparent;
        border: 0;
        box-shadow: none;
    }
}

@media (max-width: 575.98px) {
    .front-modern-header-main {
        padding-right: .75rem;
        padding-left: .75rem;
    }

    .front-modern-logo-wrap {
        width: 2.8rem;
        height: 2.8rem;
    }

    .front-modern-logo-wrap img {
        width: 2.05rem;
        height: 2.05rem;
    }

    .front-modern-brand-copy strong {
        font-size: .83rem;
    }

    .front-modern-brand-copy small {
        display: none;
    }

    .front-modern-utility,
    .front-modern-language,
    .front-modern-menu-toggle {
        min-width: 2.35rem;
        min-height: 2.35rem;
        padding: .4rem .55rem;
    }
}

.publication-search-page .publication-filter-panel {
    position: sticky;
    top: 1rem;
}

.publication-search-page .publication-result-panel .list-group-item:last-child {
    border-bottom: 0;
}

.publication-search-page .publication-result-section + .publication-result-section {
    margin-top: 1rem;
}

.publication-collaboration-badge {
    border: 1px solid color-mix(in srgb, var(--bs-primary) 35%, transparent);
    background: color-mix(in srgb, var(--bs-primary) 12%, var(--bs-body-bg));
    color: var(--bs-primary-text-emphasis);
}

.publication-detail-page .publication-detail-hero {
    border-radius: 1rem;
    background: linear-gradient(
            145deg,
            rgba(var(--bs-tertiary-bg-rgb), 0.9),
            rgba(var(--bs-body-bg-rgb), 0.98)
    );
}

[data-bs-theme=dark] .publication-detail-page .publication-detail-hero {
    background: linear-gradient(
            145deg,
            rgba(var(--bs-tertiary-bg-rgb), 0.95),
            rgba(var(--bs-body-bg-rgb), 0.98)
    );
}

.publication-detail-page .publication-detail-card {
    border-radius: 1rem;
}

.publication-detail-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.publication-meta-chip {
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--bs-border-color-translucent);
    border-radius: 999px;
    padding: 0.35rem 0.75rem;
    font-size: 0.83rem;
    color: var(--bs-secondary-color);
    background-color: var(--bs-body-bg);
}

.publication-author-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
}

.publication-author-chip {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 0.45rem 0.85rem;
    font-size: 0.88rem;
    border: 1px solid var(--bs-border-color-translucent);
    background: var(--bs-body-bg);
    color: var(--bs-body-color);
}

.publication-author-chip-link {
    text-decoration: none;
    transition: all 0.2s ease;
}

.publication-author-chip-link:hover {
    border-color: rgba(var(--bs-primary-rgb), 0.35);
    background: rgba(var(--bs-primary-rgb), 0.08);
    color: var(--bs-primary-text-emphasis);
}

.publication-author-chip-disabled {
    opacity: 0.85;
}

.publication-detail-grid {
    display: grid;
    grid-template-columns: minmax(130px, 180px) minmax(0, 1fr);
    gap: 0.7rem 1rem;
    align-items: start;
}

.publication-detail-label {
    color: var(--bs-secondary-color);
    font-weight: 600;
    font-size: 0.9rem;
}

.publication-detail-value {
    min-width: 0;
    word-break: break-word;
}

@media (max-width: 1199.98px) {
    .publication-search-page .publication-filter-panel {
        position: static;
    }
}

@media (max-width: 767.98px) {
    .publication-detail-grid {
        grid-template-columns: 1fr;
        gap: 0.25rem 0;
    }

    .publication-detail-label {
        margin-top: 0.5rem;
    }
}

@keyframes gradient {
    0% {
        background-position: 0 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0 50%;
    }
}

.section-team .single-person {
    margin-top: 10px;
    padding: 10px;
    border-radius: 1%;
}

.section-team .single-person:hover {
    background: linear-gradient(to right, #8facc0, #d2e4f1);
}

.section-team .single-person .person-image {
    position: relative;
    margin-bottom: 5px;
    border-radius: 1%;
    transition: padding .3s;
    padding: 5px;
    border: 1px dashed #6c757d;
}

.section-team .single-person:hover .person-image {
    padding: 5px;
    border: 1px dashed #fff;
}

.section-team .single-person .person-image img {
    width: 100%;
    border-radius: 1%;
}

/* Public research group page */
.research-group-public-page {
    --research-group-accent: #0c6a80;
    --research-group-gold: #f5a800;
}

.research-group-public-page .text-primary {
    color: var(--research-group-accent) !important;
}

.research-group-public-page .text-bg-primary {
    color: #fff !important;
    background-color: var(--research-group-accent) !important;
}

.research-group-public-page .btn-primary {
    --bs-btn-bg: var(--research-group-accent);
    --bs-btn-border-color: var(--research-group-accent);
    --bs-btn-hover-bg: #084b5c;
    --bs-btn-hover-border-color: #084b5c;
}

.research-group-public-page .btn-outline-primary {
    --bs-btn-color: var(--research-group-accent);
    --bs-btn-border-color: var(--research-group-accent);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--research-group-accent);
    --bs-btn-hover-border-color: var(--research-group-accent);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #084b5c;
    --bs-btn-active-border-color: #084b5c;
}

.research-group-hero {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 88% 12%, rgba(255, 255, 255, .18), transparent 28%),
        linear-gradient(125deg, #084b5c, var(--research-group-accent) 68%, #b97800);
}

.research-group-hero::after {
    content: "";
    position: absolute;
    right: -7rem;
    bottom: -9rem;
    width: 24rem;
    height: 24rem;
    border: 2px solid rgba(255, 255, 255, .12);
    border-radius: 50%;
}

.research-group-hero-chip {
    display: inline-flex;
    align-items: center;
    padding: .55rem .8rem;
    color: #fff;
    background: rgba(0, 0, 0, .16);
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 999px;
    font-size: .9rem;
}

.research-group-hero-card {
    position: relative;
    z-index: 1;
    color: #fff;
    padding: 1.5rem;
    background: rgba(7, 38, 49, .34);
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 1.25rem;
    backdrop-filter: blur(8px);
}

.research-group-home-nav-link {
    color: var(--research-group-accent);
    font-weight: 700;
}

.research-group-detail-hero {
    background:
        radial-gradient(circle at 90% 15%, rgba(245, 168, 0, .2), transparent 30%),
        linear-gradient(125deg, #063744, var(--research-group-accent));
    border-bottom: 4px solid var(--research-group-gold);
}

.research-group-detail-home-link {
    display: inline-flex;
    align-items: center;
    color: #fff;
    padding: .55rem .85rem;
    border: 1px solid rgba(255, 255, 255, .35);
    border-radius: 999px;
    text-decoration: none;
    font-weight: 700;
    background: rgba(0, 0, 0, .12);
}

.research-group-detail-home-link:hover,
.research-group-detail-home-link:focus-visible {
    color: #1d210e;
    border-color: var(--research-group-gold);
    background: var(--research-group-gold);
}

.research-group-detail-card {
    overflow: hidden;
    border-top: 4px solid var(--research-group-gold) !important;
}

.research-group-public-carousel {
    background: #073f4d;
    border: 1px solid color-mix(in srgb, var(--research-group-accent) 24%, transparent);
    border-radius: 1rem;
}

.research-group-public-slide {
    width: 100%;
    height: clamp(13rem, 28vw, 23rem);
    object-fit: cover;
}

.research-group-public-slide-fallback {
    display: grid;
    place-items: center;
    color: rgba(255, 255, 255, .5);
    background: linear-gradient(125deg, #084b5c, var(--research-group-accent));
    font-size: 4rem;
}

.research-group-public-caption {
    right: 0;
    bottom: 0;
    left: 0;
    padding: 4rem 1.5rem 1.5rem;
    text-align: left;
    background: linear-gradient(transparent, rgba(0, 0, 0, .78));
}

.research-group-bulletin {
    padding: 1.1rem;
    background: var(--bs-tertiary-bg);
    border-left: 4px solid var(--research-group-gold);
    border-radius: .8rem;
}

.research-group-content-block {
    min-width: 0;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid var(--bs-border-color);
}

.research-group-content-block:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.research-group-content-menu {
    position: sticky;
    top: 1rem;
    gap: .35rem;
    padding: .6rem;
    background: var(--bs-tertiary-bg);
    border-radius: .9rem;
}

.research-group-content-menu .nav-link {
    color: var(--bs-body-color);
    border-left: 3px solid transparent;
    border-radius: .65rem;
}

.research-group-content-menu .nav-link:hover,
.research-group-content-menu .nav-link:focus-visible {
    color: var(--research-group-accent);
    background: color-mix(in srgb, var(--research-group-accent) 10%, transparent);
    border-left-color: var(--research-group-gold);
}

.research-group-content-menu-section {
    scroll-margin-top: 1rem;
    padding: 1rem;
    background: color-mix(in srgb, var(--bs-body-bg) 84%, var(--bs-tertiary-bg));
    border: 1px solid var(--bs-border-color);
    border-radius: .9rem;
}

.research-group-content-menu-parent {
    color: #5a4100;
    background: color-mix(in srgb, var(--research-group-gold) 24%, transparent);
}

.research-group-rich-content {
    display: block;
    line-height: 1.75;
    overflow-wrap: anywhere;
}

.research-group-rich-content img,
.research-group-rich-content video,
.research-group-rich-content iframe,
.research-group-rich-content table {
    max-width: 100%;
}

.research-group-rich-content img,
.research-group-rich-content video {
    height: auto;
}

.research-group-rich-content table {
    display: block;
    overflow-x: auto;
}

.research-group-section-kicker {
    color: var(--research-group-accent);
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin-bottom: .4rem;
}

.research-group-description {
    display: block;
    white-space: pre-line;
    line-height: 1.8;
}

.research-group-publication-list {
    display: grid;
    gap: .75rem;
}

.research-group-publication-item {
    display: flex;
    align-items: flex-start;
    gap: .9rem;
    padding: .85rem;
    border-radius: .85rem;
    transition: background-color .2s ease;
}

.research-group-publication-item:hover {
    background: var(--bs-tertiary-bg);
}

.research-group-publication-icon {
    flex: 0 0 2.35rem;
    width: 2.35rem;
    height: 2.35rem;
    display: grid;
    place-items: center;
    color: var(--research-group-accent);
    background: color-mix(in srgb, var(--research-group-accent) 12%, transparent);
    border-radius: .7rem;
}

.research-group-member-card {
    position: sticky;
    top: 1rem;
}

.research-group-member-card--beside-slider {
    position: static;
    min-height: clamp(13rem, 28vw, 23rem);
}

.research-group-member-list {
    max-height: clamp(9rem, 20vw, 16rem);
    padding-right: .25rem;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: color-mix(in srgb, var(--research-group-accent) 48%, transparent) transparent;
}

.research-group-member {
    display: flex;
    align-items: center;
    gap: .8rem;
    padding: .7rem;
    border-radius: .85rem;
    transition: background-color .2s ease;
}

.research-group-member .min-w-0 {
    min-width: 0;
}

.research-group-member:hover {
    background: var(--bs-tertiary-bg);
}

.research-group-member-avatar {
    flex: 0 0 3rem;
    width: 3rem;
    height: 3rem;
    object-fit: cover;
    border-radius: 50%;
}

.research-group-member-avatar-fallback {
    display: grid;
    place-items: center;
    color: var(--research-group-accent);
    background: var(--bs-tertiary-bg);
    font-size: 1.25rem;
}

.research-group-publication-tabs {
    border-color: color-mix(in srgb, var(--research-group-accent) 24%, var(--bs-border-color));
}

.research-group-publication-tabs .nav-link {
    color: var(--bs-secondary-color);
    font-weight: 600;
    border: 0;
    border-bottom: 3px solid transparent;
}

.research-group-publication-tabs .nav-link:hover,
.research-group-publication-tabs .nav-link:focus-visible {
    color: var(--research-group-accent);
    border-bottom-color: color-mix(in srgb, var(--research-group-accent) 36%, transparent);
}

.research-group-publication-tabs .nav-link.active {
    color: var(--research-group-accent);
    background: transparent;
    border-bottom-color: var(--research-group-gold);
}

.research-group-graph {
    position: relative;
    min-height: clamp(22rem, 48vw, 34rem);
    overflow: hidden;
    background:
        radial-gradient(circle at 50% 46%, color-mix(in srgb, var(--research-group-accent) 10%, transparent), transparent 44%),
        var(--bs-tertiary-bg);
    border: 1px solid color-mix(in srgb, var(--research-group-accent) 22%, var(--bs-border-color));
    border-radius: 1rem;
}

.research-group-graph-canvas {
    position: absolute;
    inset: 0;
}

.research-group-graph-empty {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: grid;
    place-content: center;
    padding: 2rem;
    pointer-events: none;
    background: color-mix(in srgb, var(--bs-tertiary-bg) 88%, transparent);
}

.research-group-graph-legend > span {
    display: inline-flex;
    align-items: center;
}

.research-group-graph-dot {
    display: inline-block;
    width: .72rem;
    height: .72rem;
    margin-right: .4rem;
    border-radius: 50%;
}

.research-group-graph-dot--owner {
    background: var(--research-group-gold);
}

.research-group-graph-dot--member {
    background: var(--research-group-accent);
}

.research-group-footer {
    color: #fff;
    background:
        radial-gradient(circle at 90% 10%, rgba(245, 168, 0, .18), transparent 28%),
        linear-gradient(125deg, #063744, #0c6a80);
}

.research-group-footer-menu .nav-link {
    color: rgba(255, 255, 255, .88);
    padding: .65rem .9rem;
    font-weight: 600;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: .65rem;
}

.research-group-footer-menu .nav-link:hover,
.research-group-footer-menu .nav-link:focus-visible {
    color: #1d210e;
    background: var(--research-group-gold);
    border-color: var(--research-group-gold);
}

.research-group-footer-menu .dropdown-menu .nav-link {
    color: var(--bs-body-color);
    border: 0;
}

.research-group-footer-menu .dropdown-menu .nav-link:hover,
.research-group-footer-menu .dropdown-menu .nav-link:focus-visible {
    color: #fff;
    background: var(--research-group-accent);
}

.research-group-footer-contact {
    color: rgba(255, 255, 255, .82);
    text-decoration: none;
}

.research-group-footer-contact:hover {
    color: var(--research-group-gold);
}

@media (max-width: 991.98px) {
    .research-group-member-card {
        position: static;
    }

    .research-group-member-card--beside-slider {
        min-height: 0;
    }

    .research-group-member-list {
        max-height: none;
        overflow: visible;
    }

    .research-group-content-menu {
        position: static;
    }
}

@media (max-width: 575.98px) {
    .research-group-graph {
        min-height: 21rem;
    }

    .research-group-publication-tabs .nav-link {
        padding-inline: .7rem;
        font-size: .9rem;
    }
}

/* *****  HOME STATISTICS DASHBOARD ***** */

.home-statistics-dashboard {
    --home-stat-brand: var(--academic-brand);
    --home-stat-brand-dark: var(--academic-brand-dark);
    --home-stat-brand-light: #287f91;
    --home-stat-gold: var(--academic-gold);
    --home-stat-positive: #3b9d56;
    --home-stat-project: #0c6a80;
    --home-stat-patent: #f5a800;
    --home-stat-award: #21a4bd;
    --home-stat-thesis: #094f60;
    color: var(--bs-body-color);
    background: transparent;
}

.academic-data-page {
    background:
        radial-gradient(circle at 92% 0, color-mix(in srgb, var(--academic-gold) 9%, transparent), transparent 28rem),
        radial-gradient(circle at 6% 12%, color-mix(in srgb, var(--academic-brand) 8%, transparent), transparent 25rem),
        var(--bs-body-bg);
}

.academic-data-page .academic-shell {
    padding-top: clamp(.8rem, 1.8vw, 1.5rem);
}

.academic-data-dashboard {
    width: 100%;
    font-size: .9rem;
    line-height: 1.45;
}

.academic-data-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .9rem 1.5rem;
    align-items: center;
    padding: clamp(1rem, 2.2vw, 1.6rem);
    margin-bottom: clamp(1.1rem, 2vw, 1.65rem);
    overflow: hidden;
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--academic-brand) 10%, var(--academic-surface)) 0%, var(--academic-surface) 62%),
        var(--academic-surface);
    border: 1px solid var(--academic-border);
    border-top: 2px solid var(--academic-brand);
    border-radius: clamp(.8rem, 1.5vw, 1.05rem);
    box-shadow: var(--academic-shadow);
}

.academic-data-hero::after {
    position: absolute;
    top: -7rem;
    right: -5rem;
    width: 18rem;
    height: 18rem;
    pointer-events: none;
    content: "";
    background: radial-gradient(circle, color-mix(in srgb, var(--academic-gold) 19%, transparent), transparent 68%);
    border-radius: 50%;
}

.academic-data-hero-copy,
.academic-data-hero-icon,
.academic-data-search-form {
    position: relative;
    z-index: 1;
}

.academic-data-eyebrow {
    display: inline-flex;
    gap: .4rem;
    align-items: center;
    color: var(--academic-brand);
    font-size: .68rem;
    font-weight: 750;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.academic-data-eyebrow i {
    color: var(--academic-gold-ink);
    font-size: .72rem;
}

.academic-data-hero h1 {
    max-width: 50rem;
    margin: .35rem 0 0;
    color: var(--academic-ink);
    font-size: clamp(1.4rem, 2.35vw, 2rem) !important;
    font-weight: 750;
    line-height: 1.18;
    letter-spacing: -.018em;
}

.academic-data-hero-copy > p {
    max-width: 52rem;
    margin: .45rem 0 0;
    color: var(--academic-muted);
    font-size: clamp(.8rem, .95vw, .9rem);
    line-height: 1.5;
}

.academic-data-hero-icon {
    display: grid;
    width: 2.6rem;
    height: 2.6rem;
    color: var(--academic-brand);
    place-items: center;
    background: transparent;
    border: 0;
    border-radius: 0;
    font-size: 1.35rem;
    opacity: .72;
}

.academic-data-search-form {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: minmax(10rem, .28fr) minmax(16rem, 1fr) auto;
    gap: .35rem;
    padding: .32rem;
    background: var(--academic-surface);
    border: 1px solid var(--academic-border);
    border-radius: .72rem;
    box-shadow: none;
}

.academic-data-search-mode,
.academic-data-search-input {
    min-width: 0;
}

.academic-data-search-mode .form-select,
.academic-data-search-input .form-control {
    min-height: 2.65rem;
    color: var(--bs-body-color);
    background-color: transparent;
    border: 1px solid transparent;
    border-radius: .5rem;
    box-shadow: none;
}

.academic-data-search-mode .form-select:focus,
.academic-data-search-input .form-control:focus {
    background-color: var(--academic-surface-soft);
    border-color: color-mix(in srgb, var(--academic-brand) 65%, var(--academic-border));
    box-shadow: 0 0 0 .14rem var(--academic-brand-tint);
}

.academic-data-search-mode .form-select {
    padding-left: .72rem;
    font-size: .78rem;
    font-weight: 650;
    border-right-color: var(--academic-border);
}

.academic-data-search-input {
    position: relative;
}

.academic-data-search-input > i {
    position: absolute;
    top: 50%;
    left: .85rem;
    z-index: 2;
    color: var(--academic-muted);
    pointer-events: none;
    transform: translateY(-50%);
    font-size: .82rem;
}

.academic-data-search-input .form-control {
    padding-right: 2.35rem;
    padding-left: 2.25rem;
    font-size: .82rem;
}

.academic-data-search-input .form-control::placeholder {
    color: var(--academic-muted);
    opacity: .9;
}

.academic-data-search-clear {
    position: absolute;
    top: 50%;
    right: .75rem;
    z-index: 2;
    display: inline-flex;
    color: var(--academic-muted);
    transform: translateY(-50%);
    font-size: .72rem;
    text-decoration: none;
}

.academic-data-search-clear:hover,
.academic-data-search-clear:focus-visible {
    color: var(--academic-brand);
    outline: 0;
}

.academic-data-search-button {
    min-height: 2.65rem;
    padding: .55rem 1rem;
    color: #fff;
    background: var(--academic-brand);
    border-color: var(--academic-brand);
    border-radius: .5rem;
    font-size: .8rem;
    font-weight: 700;
    box-shadow: none;
}

.academic-data-search-button:hover,
.academic-data-search-button:focus-visible {
    color: #fff;
    background: var(--academic-brand-dark);
    border-color: var(--academic-brand-dark);
}

.academic-data-dashboard .home-stat-section {
    scroll-margin-top: 9rem;
}

.academic-data-dashboard .home-stat-section-header {
    padding: 0 .1rem;
}

.academic-data-dashboard .home-faculty-table-wrap {
    scrollbar-width: thin;
    scrollbar-color: var(--academic-border) transparent;
}

.home-dashboard-heading {
    align-items: center;
    margin-bottom: clamp(1.25rem, 2vw, 2rem);
}

.home-dashboard-heading p {
    max-width: 52rem;
    margin: .4rem 0 0;
    color: var(--academic-muted);
    font-size: .9rem;
    line-height: 1.55;
}

.home-dashboard-heading > i {
    display: grid;
    width: 2.8rem;
    height: 2.8rem;
    color: var(--academic-brand);
    place-items: center;
    background: var(--academic-brand-tint);
    border: 1px solid var(--academic-border);
    border-radius: var(--academic-radius-sm);
    font-size: 1.25rem;
}

.home-stat-section {
    padding: 0 0 clamp(1.4rem, 2.5vw, 2.2rem);
    margin-bottom: clamp(1.4rem, 2.5vw, 2.2rem);
    overflow: visible;
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--academic-divider);
    border-radius: 0;
    box-shadow: none;
}

.academic-data-entry-link {
    display: flex;
    gap: 1rem;
    align-items: center;
    padding: 1.2rem 1.35rem;
    color: var(--bs-body-color);
    text-decoration: none;
    background: var(--bs-body-bg);
    border: 2px solid color-mix(in srgb, #0c6a80 30%, var(--bs-border-color));
    border-radius: 1rem;
    transition: border-color .2s ease, transform .2s ease;
}

.academic-data-entry-link:hover {
    color: var(--bs-body-color);
    border-color: #0c6a80;
    transform: translateY(-2px);
}

.academic-data-entry-link > .bi {
    margin-left: auto;
    color: #0c6a80;
    font-size: 1.25rem;
}

.academic-data-entry-icon {
    display: grid;
    flex: 0 0 auto;
    width: 3.2rem;
    height: 3.2rem;
    color: #0c6a80;
    place-items: center;
    border: 2px solid currentColor;
    border-radius: .8rem;
    font-size: 1.45rem;
}

.academic-data-entry-link strong,
.academic-data-entry-link small {
    display: block;
}

.academic-data-entry-link small {
    margin-top: .2rem;
    color: var(--bs-secondary-color);
}

.home-stat-section:last-child {
    margin-bottom: 0;
    border-bottom: 0;
}

.home-stat-section-header {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 1.4rem;
}

.home-stat-section-header--simple {
    align-items: center;
}

.home-stat-section-title {
    display: flex;
    gap: .5rem;
    align-items: center;
    margin: 0;
    color: var(--academic-ink);
    font-size: clamp(1.05rem, 1.35vw, 1.3rem) !important;
    font-weight: 700;
}

.home-stat-section-title i {
    color: var(--home-stat-brand);
    font-size: .9em;
}

.home-stat-section-subtitle {
    margin: .3rem 0 0;
    color: var(--bs-secondary-color);
    font-size: .8rem;
    line-height: 1.45;
}

.home-stat-mode {
    display: inline-flex;
    padding: .18rem;
    background: var(--bs-tertiary-bg);
    border: 1px solid var(--bs-border-color);
    border-radius: .55rem;
}

.home-stat-mode-button {
    min-width: 5.5rem;
    padding: .42rem .7rem;
    color: var(--bs-secondary-color);
    font-weight: 600;
    background: transparent;
    border: 0;
    border-radius: .4rem;
    font-size: .78rem;
    transition: color .2s ease, background-color .2s ease, box-shadow .2s ease;
}

.home-stat-mode-button:hover,
.home-stat-mode-button:focus-visible {
    color: var(--home-stat-brand-dark);
}

.home-stat-mode-button.is-active {
    color: #fff;
    background: var(--home-stat-brand);
    box-shadow: 0 .25rem .65rem color-mix(in srgb, var(--home-stat-brand) 28%, transparent);
}

.home-works-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(19rem, .9fr);
    gap: 1rem;
}

.home-stat-card {
    min-width: 0;
    background: var(--academic-surface);
    border: 1px solid var(--academic-border);
    border-top: 3px solid var(--home-stat-brand);
    border-radius: var(--academic-radius);
    box-shadow: var(--academic-shadow);
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.home-stat-card:hover {
    border-color: color-mix(in srgb, var(--home-stat-brand) 50%, var(--academic-border));
    box-shadow: var(--academic-shadow-raised);
    transform: translateY(-2px);
}

.home-stat-card--large {
    display: flex;
    flex-direction: column;
    min-height: 28rem;
    padding: 1.25rem;
}

.home-stat-card-heading,
.home-stat-mini-heading {
    display: flex;
    gap: .8rem;
    align-items: flex-start;
    justify-content: space-between;
}

.home-stat-card h3 {
    margin: 0;
    color: var(--bs-body-color);
    font-size: .9rem !important;
    font-weight: 700;
}

.home-stat-icon {
    display: inline-grid;
    flex: 0 0 auto;
    width: 2rem;
    height: 2rem;
    place-items: center;
    font-size: .95rem;
    border-radius: .5rem;
}

.home-stat-icon--teal {
    color: var(--home-stat-brand);
    background: color-mix(in srgb, var(--home-stat-brand) 14%, transparent);
}

.home-stat-icon--gold {
    color: color-mix(in srgb, var(--home-stat-gold) 78%, var(--bs-body-color));
    background: color-mix(in srgb, var(--home-stat-gold) 17%, transparent);
}

.home-stat-primary-value {
    display: flex;
    gap: .6rem;
    align-items: baseline;
    margin-top: 1rem;
}

.home-stat-primary-value > span {
    color: var(--home-stat-brand-dark);
    font-size: clamp(1.5rem, 2.1vw, 2rem);
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

.home-stat-primary-value small,
.home-stat-mini-value small {
    color: var(--bs-secondary-color);
    font-weight: 600;
}

.home-stat-chart {
    position: relative;
    min-width: 0;
}

.home-stat-chart canvas {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
}

.home-stat-chart--large {
    flex: 0 0 auto;
    height: 18rem;
    margin-top: 1rem;
}

.home-stat-mini-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.home-stat-card--mini {
    display: flex;
    flex-direction: column;
    min-height: 13.5rem;
    padding: 1rem;
    overflow: hidden;
}

.home-stat-mini-heading i {
    font-size: .9rem;
}

.home-stat-card--project h3,
.home-stat-card--project .home-stat-mini-heading i,
.home-stat-card--project .home-stat-mini-value > span {
    color: var(--home-stat-project);
}

.home-stat-card--patent h3,
.home-stat-card--patent .home-stat-mini-heading i,
.home-stat-card--patent .home-stat-mini-value > span {
    color: color-mix(in srgb, var(--home-stat-patent) 78%, var(--bs-body-color));
}

.home-stat-card--award h3,
.home-stat-card--award .home-stat-mini-heading i,
.home-stat-card--award .home-stat-mini-value > span {
    color: var(--home-stat-award);
}

.home-stat-card--thesis h3,
.home-stat-card--thesis .home-stat-mini-heading i,
.home-stat-card--thesis .home-stat-mini-value > span {
    color: var(--home-stat-thesis);
}

.home-stat-mini-value {
    display: flex;
    gap: .4rem;
    align-items: baseline;
    margin-top: .5rem;
}

.home-stat-mini-value > span {
    font-size: 1.4rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

.home-stat-chart--spark {
    flex: 0 0 auto;
    height: 7rem;
    margin: .5rem -.95rem -.95rem;
}

.home-personnel-grid {
    display: grid;
    grid-template-columns: minmax(12rem, .72fr) repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.home-personnel-summary {
    display: grid;
    grid-template-rows: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.home-personnel-summary-card {
    display: flex;
    gap: 1rem;
    align-items: center;
    padding: 1.25rem;
}

.home-personnel-summary-card p {
    margin: 0 0 .35rem;
    color: var(--bs-secondary-color);
    font-size: .8rem;
    font-weight: 600;
}

.home-personnel-summary-card strong {
    color: var(--home-stat-brand-dark);
    font-size: clamp(1.45rem, 2vw, 1.9rem);
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

.home-personnel-chart-card {
    min-height: 23rem;
    padding: 1.15rem;
}

.home-stat-chart--titles,
.home-stat-chart--gender {
    height: 18.5rem;
    margin-top: 1rem;
}

.home-research-group-total {
    display: flex;
    gap: .7rem;
    align-items: center;
    padding: .65rem .85rem;
    color: var(--home-stat-brand-dark);
    background: color-mix(in srgb, var(--home-stat-brand) 9%, var(--bs-body-bg));
    border: 1px solid color-mix(in srgb, var(--home-stat-brand) 24%, var(--bs-border-color));
    border-radius: .75rem;
}

.home-research-group-total strong {
    font-size: 1.25rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

.home-research-group-total span {
    max-width: 8.5rem;
    color: var(--bs-secondary-color);
    font-size: .78rem;
    font-weight: 600;
    line-height: 1.2;
}

.home-research-group-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.home-research-group-card {
    display: flex;
    min-width: 0;
    min-height: 17rem;
    padding: 1.1rem;
    color: var(--bs-body-color);
    text-decoration: none;
    flex-direction: column;
    background:
        linear-gradient(145deg, color-mix(in srgb, var(--home-stat-brand) 7%, transparent), transparent 52%),
        var(--bs-body-bg);
    border: 1px solid var(--bs-border-color);
    border-radius: .9rem;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.home-research-group-card:hover,
.home-research-group-card:focus-visible {
    color: var(--bs-body-color);
    border-color: color-mix(in srgb, var(--home-stat-brand) 52%, var(--bs-border-color));
    box-shadow: 0 .7rem 1.35rem color-mix(in srgb, var(--home-stat-brand-dark) 12%, transparent);
    transform: translateY(-2px);
}

.home-research-group-card-heading {
    display: flex;
    gap: .8rem;
    align-items: flex-start;
}

.home-research-group-card-heading > div {
    min-width: 0;
}

.home-research-group-icon {
    display: inline-grid;
    flex: 0 0 auto;
    width: 2rem;
    height: 2rem;
    color: var(--home-stat-brand);
    place-items: center;
    background: transparent;
    border-radius: 0;
    font-size: .9rem;
}

.home-research-group-card h3 {
    display: -webkit-box;
    margin: 0;
    overflow: hidden;
    color: var(--home-stat-brand-dark);
    font-size: .9rem !important;
    font-weight: 700;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.home-research-group-card-heading p {
    max-width: 100%;
    margin: .4rem 0 0;
    overflow: hidden;
    color: var(--home-stat-brand);
    font-size: .76rem;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.home-research-group-description {
    display: -webkit-box;
    min-height: 4.3rem;
    margin: 1rem 0;
    overflow: hidden;
    color: var(--bs-secondary-color);
    font-size: .86rem;
    line-height: 1.45;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.home-research-group-metrics {
    display: flex;
    gap: .65rem;
    align-items: center;
    justify-content: space-between;
    padding-top: .8rem;
    margin-top: auto;
    border-top: 1px solid var(--bs-border-color);
}

.home-research-group-metrics > span {
    display: inline-flex;
    gap: .28rem;
    align-items: center;
    color: var(--bs-secondary-color);
    font-size: .72rem;
}

.home-research-group-metrics i {
    color: var(--home-stat-brand);
}

.home-research-group-metrics strong {
    color: var(--bs-body-color);
    font-size: .9rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

.home-research-group-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: .8rem;
    color: var(--home-stat-brand);
    font-size: .8rem;
    font-weight: 700;
}

.home-faculty-table-wrap {
    overflow-x: auto;
    background: var(--academic-surface);
    border: 1px solid var(--academic-border);
    border-top: 3px solid var(--home-stat-brand);
    border-radius: var(--academic-radius);
    box-shadow: var(--academic-shadow);
}

.home-faculty-table {
    width: 100%;
    min-width: 58rem;
    margin: 0;
    border-collapse: collapse;
}

.home-faculty-table th,
.home-faculty-table td {
    padding: .72rem .85rem;
    font-size: .82rem;
    text-align: left;
    vertical-align: middle;
    border-bottom: 1px solid var(--bs-border-color);
}

.home-faculty-table thead th {
    color: var(--bs-secondary-color);
    font-size: .79rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .025em;
    background: color-mix(in srgb, var(--home-stat-brand) 7%, var(--bs-body-bg));
}

.home-faculty-table tbody tr:last-child > * {
    border-bottom: 0;
}

.home-faculty-table tbody tr:hover > * {
    background: color-mix(in srgb, var(--home-stat-brand) 8%, var(--bs-body-bg));
}

.home-faculty-table tbody th {
    color: var(--bs-body-color);
    font-weight: 600;
}

.home-faculty-link {
    color: inherit;
    text-decoration: none;
}

.home-faculty-link:hover {
    color: var(--home-stat-brand);
}

.faculty-statistics-page {
    --faculty-accent: #0c6a80;
    --faculty-border: color-mix(in srgb, var(--faculty-accent) 25%, var(--bs-border-color));
}

.faculty-statistics-back {
    display: inline-flex;
    gap: .45rem;
    align-items: center;
    margin-bottom: 1rem;
    color: var(--faculty-accent);
    text-decoration: none;
    font-weight: 700;
}

.faculty-statistics-header {
    display: flex;
    gap: 1.5rem;
    align-items: flex-end;
    justify-content: space-between;
    padding: clamp(1.2rem, 2.5vw, 2rem);
    background: transparent;
    border: 2px solid var(--faculty-border);
    border-radius: 1.1rem;
}

.faculty-statistics-eyebrow {
    color: var(--faculty-accent);
    font-size: .8rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.faculty-statistics-header h1 {
    margin: .3rem 0 0;
    font-size: clamp(1.65rem, 3vw, 2.7rem);
}

.faculty-statistics-header p {
    max-width: 48rem;
    margin: .65rem 0 0;
    color: var(--bs-secondary-color);
}

.faculty-statistics-totals {
    display: flex;
    gap: .65rem;
    flex-wrap: wrap;
}

.faculty-statistics-totals span {
    padding: .6rem .8rem;
    border: 1px solid var(--faculty-border);
    border-radius: .65rem;
    white-space: nowrap;
}

.faculty-statistics-totals strong {
    color: var(--faculty-accent);
    font-size: 1.25rem;
}

.faculty-statistics-surface {
    padding: clamp(1rem, 2vw, 1.5rem);
    margin-top: 1rem;
    background: var(--bs-body-bg);
    border: 1px solid var(--faculty-border);
    border-radius: 1.1rem;
}

.faculty-statistics-tabs,
.faculty-statistics-filters {
    display: flex;
    gap: .75rem;
    align-items: center;
    flex-wrap: wrap;
}

.faculty-statistics-tab {
    display: inline-flex;
    gap: .45rem;
    align-items: center;
    padding: .7rem 1rem;
    color: var(--bs-body-color);
    text-decoration: none;
    border: 2px solid var(--bs-border-color);
    border-radius: .7rem;
}

.faculty-statistics-tab.is-active {
    color: var(--faculty-accent);
    border-color: var(--faculty-accent);
}

.faculty-statistics-tab span {
    color: var(--bs-secondary-color);
    font-size: .78rem;
}

.faculty-statistics-filters {
    padding: 1rem 0;
    margin: 1rem 0;
    border-top: 1px solid var(--bs-border-color);
    border-bottom: 1px solid var(--bs-border-color);
}

.faculty-statistics-filters .form-select {
    width: auto;
    min-width: 12rem;
}

.faculty-statistics-search {
    position: relative;
    flex: 1 1 16rem;
}

.faculty-statistics-search i {
    position: absolute;
    top: 50%;
    left: .8rem;
    color: var(--bs-secondary-color);
    transform: translateY(-50%);
}

.faculty-statistics-search .form-control {
    padding-left: 2.35rem;
}

.faculty-academician-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .8rem;
}

.faculty-academician-card,
.faculty-publication-card {
    position: relative;
    display: flex;
    gap: .85rem;
    align-items: center;
    padding: 1rem;
    color: var(--bs-body-color);
    text-decoration: none;
    background: transparent;
    border: 1px solid var(--bs-border-color);
    border-left: 4px solid var(--faculty-border);
    border-radius: .75rem;
}

.faculty-academician-card:hover,
.faculty-publication-card:hover {
    color: var(--bs-body-color);
    border-left-color: var(--faculty-accent);
}

.faculty-academician-card > span:nth-child(2) {
    min-width: 0;
}

.faculty-academician-card strong,
.faculty-academician-card small,
.faculty-academician-card em {
    display: block;
}

.faculty-academician-card small,
.faculty-academician-card em,
.faculty-publication-card small {
    margin-top: .2rem;
    color: var(--bs-secondary-color);
    font-size: .8rem;
    font-style: normal;
}

.faculty-academician-card > .bi {
    margin-left: auto;
    color: var(--faculty-accent);
}

.faculty-academician-icon {
    display: grid;
    flex: 0 0 auto;
    width: 2.7rem;
    height: 2.7rem;
    color: var(--faculty-accent);
    place-items: center;
    border: 2px solid currentColor;
    border-radius: 50%;
    font-size: 1.3rem;
}

.faculty-publication-list {
    display: grid;
    gap: .7rem;
}

.faculty-publication-card {
    align-items: baseline;
}

.faculty-publication-card strong {
    flex: 1 1 auto;
}

.faculty-publication-type,
.faculty-publication-card time {
    color: var(--faculty-accent);
    font-size: .75rem;
    font-weight: 800;
    white-space: nowrap;
}

.faculty-statistics-empty {
    padding: 2rem;
    color: var(--bs-secondary-color);
    text-align: center;
    border: 1px dashed var(--faculty-border);
    border-radius: .75rem;
}

@media (max-width: 767.98px) {
    .faculty-statistics-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .faculty-academician-grid {
        grid-template-columns: 1fr;
    }

    .faculty-publication-card {
        align-items: flex-start;
        flex-direction: column;
    }
}

.home-faculty-rank {
    width: 3.5rem;
    color: var(--bs-secondary-color);
    text-align: center !important;
    font-variant-numeric: tabular-nums;
}

.home-faculty-metric {
    min-width: 7.6rem;
    font-weight: 700;
    text-align: center !important;
    font-variant-numeric: tabular-nums;
}

.home-faculty-metric i {
    margin-right: .25rem;
}

.home-faculty-metric--publication {
    color: var(--home-stat-brand);
}

.home-faculty-metric--project {
    color: var(--home-stat-brand-light);
}

.home-faculty-metric--patent {
    color: color-mix(in srgb, var(--home-stat-gold) 78%, var(--bs-body-color));
}

.home-faculty-metric--award {
    color: var(--home-stat-brand-dark);
}

.home-faculty-metric--academician {
    color: var(--bs-body-color);
}

.home-faculty-empty {
    padding: 2.5rem !important;
    color: var(--bs-secondary-color);
    text-align: center !important;
}

[data-bs-theme="dark"] .home-stat-section-title,
[data-bs-theme="dark"] .home-stat-primary-value > span,
[data-bs-theme="dark"] .home-personnel-summary-card strong,
[data-bs-theme="dark"] .home-research-group-total,
[data-bs-theme="dark"] .home-research-group-card h3,
[data-bs-theme="dark"] .home-stat-card--thesis h3,
[data-bs-theme="dark"] .home-stat-card--thesis .home-stat-mini-heading i,
[data-bs-theme="dark"] .home-stat-card--thesis .home-stat-mini-value > span {
    color: color-mix(in srgb, var(--home-stat-brand-light) 82%, #fff);
}

@media (max-width: 1199.98px) {
    .home-works-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-stat-mini-grid {
        grid-column: 1 / -1;
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .home-personnel-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-personnel-summary {
        grid-column: 1 / -1;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: none;
    }

    .home-personnel-grid > .home-personnel-chart-card:last-child {
        grid-column: 1 / -1;
    }

    .home-research-group-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .academic-data-hero {
        grid-template-columns: minmax(0, 1fr);
        gap: 1rem;
    }

    .academic-data-hero-icon {
        display: none;
    }

    .academic-data-search-form {
        grid-template-columns: minmax(0, 1fr);
    }

    .academic-data-search-mode .form-select,
    .academic-data-search-input .form-control,
    .academic-data-search-button {
        width: 100%;
    }

    .academic-data-search-mode .form-select,
    .academic-data-search-input .form-control {
        background: var(--academic-surface-soft);
        border-color: transparent;
    }
}

@media (max-width: 767.98px) {
    .home-stat-section-header {
        flex-direction: column;
    }

    .home-stat-mode {
        width: 100%;
    }

    .home-stat-mode-button {
        flex: 1 1 50%;
    }

    .home-works-grid,
    .home-personnel-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .home-stat-card--large {
        min-height: 25rem;
    }

    .home-stat-mini-grid,
    .home-personnel-summary {
        grid-column: auto;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-personnel-chart-card {
        min-height: 21rem;
    }

    .home-personnel-grid > .home-personnel-chart-card:last-child {
        grid-column: auto;
    }
}

@media (max-width: 479.98px) {
    .academic-data-page .academic-shell--fullwidth {
        padding-right: .65rem;
        padding-left: .65rem;
    }

    .academic-data-hero {
        padding: 1rem;
        border-radius: .9rem;
    }

    .academic-data-search-form {
        padding: .35rem;
        border-radius: .82rem;
    }

    .home-stat-section {
        padding: 0 0 1.2rem;
        border-radius: 0;
    }

    .home-stat-mini-grid,
    .home-personnel-summary {
        grid-template-columns: minmax(0, 1fr);
    }

    .home-stat-card--mini {
        min-height: 12.5rem;
    }

    .home-research-group-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .home-research-group-card {
        min-height: 15.5rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-stat-mode-button {
        transition: none;
    }

    .home-research-group-card {
        transition: none;
    }

    .home-stat-card {
        transition: none;
    }
}


/* ==========================================================================
   Public academician profile
   Single source of truth for /academic.xhtml and every /academic/*.xhtml tab:
   design tokens, public shell, sidebar navigation, content cards and metrics.
   Replaces the three style layers that used to be stacked on top of each other.
   ========================================================================== */

/* --- Design tokens ------------------------------------------------------- */
:root {
    --academic-brand: #0c6a80;
    --academic-brand-dark: #094f60;
    --academic-brand-tint: rgba(12, 106, 128, .07);
    --academic-brand-tint-strong: rgba(12, 106, 128, .13);
    --academic-gold: #f5a800;
    --academic-gold-ink: #8a5d00;
    --academic-gold-tint: rgba(245, 168, 0, .12);
    --academic-ink: #17242c;
    --academic-muted: #5d707c;
    --academic-border: rgba(12, 106, 128, .18);
    --academic-divider: rgba(12, 106, 128, .12);
    --academic-surface: #fff;
    --academic-surface-soft: rgba(12, 106, 128, .035);
    --academic-radius: .85rem;
    --academic-radius-sm: .5rem;
    --academic-shadow: 0 .1rem .35rem rgba(15, 47, 62, .05);
    --academic-shadow-raised: 0 .5rem 1.4rem rgba(9, 79, 96, .12);
    --academic-sticky-top: 6.4rem;
}

[data-bs-theme=dark] {
    --academic-brand: #7cc6d6;
    --academic-brand-dark: #a5dcea;
    --academic-brand-tint: rgba(124, 198, 214, .1);
    --academic-brand-tint-strong: rgba(124, 198, 214, .18);
    --academic-gold: #f7bd3f;
    --academic-gold-ink: #f7bd3f;
    --academic-gold-tint: rgba(247, 189, 63, .14);
    --academic-ink: #eef4f7;
    --academic-muted: #a8bac3;
    --academic-border: rgba(124, 198, 214, .24);
    --academic-divider: rgba(124, 198, 214, .16);
    --academic-surface: rgba(255, 255, 255, .04);
    --academic-surface-soft: rgba(255, 255, 255, .03);
    --academic-shadow: none;
    --academic-shadow-raised: 0 .5rem 1.4rem rgba(0, 0, 0, .38);
}

/* --- Public shell: header ------------------------------------------------ */
.academic-public-header {
    position: sticky;
    top: 0;
    z-index: 1030;
    margin: 0;
    background: var(--bs-body-bg);
    border-bottom: 1px solid var(--academic-border);
    box-shadow: var(--academic-shadow);
}

.academic-public-header-accent {
    height: .25rem;
    background: linear-gradient(90deg, var(--academic-brand) 0 76%, var(--academic-gold) 76% 100%);
}

.academic-public-header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    min-height: 5rem;
}

.academic-public-brand {
    display: inline-flex;
    align-items: center;
    gap: .85rem;
    min-width: 0;
    color: var(--bs-body-color);
    text-decoration: none;
}

.academic-public-brand:hover {
    color: var(--academic-brand);
}

.academic-public-logo-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 3.4rem;
    height: 3.4rem;
    border: 1px solid var(--academic-border);
    border-radius: 50%;
    background: #fff;
}

.academic-public-logo-wrap img {
    width: 2.6rem;
    height: 2.6rem;
    object-fit: contain;
}

.academic-public-brand-copy {
    display: flex;
    flex-direction: column;
    min-width: 0;
    line-height: 1.15;
}

.academic-public-brand-copy strong {
    color: var(--academic-brand-dark);
    font-size: 1rem;
    letter-spacing: .02em;
}

.academic-public-brand-copy small {
    margin-top: .25rem;
    color: var(--academic-muted);
    font-size: .74rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.academic-public-nav {
    display: flex;
    align-items: center;
    gap: .3rem;
}

.academic-public-nav-link,
.academic-public-language,
.academic-public-icon-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    min-height: 2.6rem;
    padding: .55rem .8rem;
    color: var(--bs-body-color);
    background: transparent;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: .82rem;
    font-weight: 700;
    text-decoration: none;
    transition: color .18s ease, border-color .18s ease, background-color .18s ease;
}

.academic-public-nav-link:hover,
.academic-public-language:hover,
.academic-public-icon-button:hover,
.academic-public-nav-link:focus-visible,
.academic-public-language:focus-visible,
.academic-public-icon-button:focus-visible {
    color: var(--academic-brand-dark);
    border-color: var(--academic-border);
    background: var(--academic-brand-tint);
    outline: 0;
}

.academic-public-nav-link i {
    color: var(--academic-brand);
    font-size: 1rem;
}

.academic-public-icon-button {
    width: 2.6rem;
    padding: 0;
}

.academic-public-language {
    color: var(--academic-brand);
}

/* --- Public shell: footer ----------------------------------------------- */
.academic-public-footer {
    color: rgba(255, 255, 255, .8);
    background: #063f4d;
    border-top: .2rem solid var(--academic-gold);
    font-size: .78rem;
}

.academic-public-footer > div {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: .5rem 1.5rem;
    padding-top: 1.1rem;
    padding-bottom: 1.1rem;
}

/* --- Page and layout ---------------------------------------------------- */
.academic-profile-page {
    min-height: calc(100vh - 5.25rem);
    background: var(--bs-body-bg);
}

.academic-shell {
    padding: clamp(1.1rem, 2.4vw, 2.25rem) 0 clamp(2.5rem, 5vw, 4rem);
}

.academic-shell--fullwidth {
    width: 100%;
    max-width: 100%;
    padding-left: clamp(0.75rem, 2vw, 1.5rem);
    padding-right: clamp(0.75rem, 2vw, 1.5rem);
}

.academic-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(1rem, 2vw, 1.75rem);
    align-items: start;
}

.academic-sidebar,
.academic-content {
    min-width: 0;
}

.academic-data-content {
    width: 100%;
}

.academic-section-surface {
    min-width: 0;
}

@media (min-width: 1200px) {
    .academic-layout {
        grid-template-columns: minmax(0, 19rem) minmax(0, 1fr);
    }

    .academic-sidebar {
        position: sticky;
        top: var(--academic-sticky-top);
        display: flex;
        flex-direction: column;
        max-height: calc(100vh - var(--academic-sticky-top) - 1.25rem);
    }

    /* JSF wraps the menu in a panel group and a form; both need to pass the
       bounded height down so only the link list scrolls. */
    .academic-menu,
    .academic-menu-form,
    .academic-menu-panel {
        display: flex;
        flex-direction: column;
        flex: 1 1 auto;
        min-height: 0;
    }

    .academic-menu-panel {
        overflow: hidden;
    }

    .academic-menu-links {
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: auto;
        overscroll-behavior: contain;
        scrollbar-width: thin;
        scrollbar-color: var(--academic-border) transparent;
    }
}

/* --- Sidebar: identity card --------------------------------------------- */
.academic-menu-panel {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--academic-border);
    border-radius: var(--academic-radius);
    background: var(--academic-surface);
    box-shadow: var(--academic-shadow);
}

.academic-menu-identity {
    position: relative;
    padding: 1.35rem 1.15rem 1rem;
    text-align: center;
    border-top: .2rem solid var(--academic-gold);
}

.academic-menu-photo-shell {
    width: 7.5rem;
    height: 7.5rem;
    margin: 0 auto .9rem;
    padding: .25rem;
    flex: 0 0 auto;
    border: 1px solid var(--academic-border);
    border-radius: 50%;
    background: var(--bs-body-bg);
}

.academic-menu-photo {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    border-radius: 50%;
}

.academic-menu-identity-copy {
    min-width: 0;
}

.academic-menu-rank {
    color: var(--academic-brand);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.academic-menu-person-name {
    margin: .3rem 0 0;
    color: var(--academic-ink);
    font-size: 1.15rem;
    font-weight: 800;
    line-height: 1.25;
    overflow-wrap: break-word;
}

.academic-menu-unit-path {
    display: grid;
    gap: .35rem;
    margin-top: .8rem;
    color: var(--academic-muted);
    font-size: .78rem;
    line-height: 1.35;
    text-align: left;
}

.academic-menu-unit-path > div,
.academic-menu-unit-path > span {
    display: flex;
    align-items: flex-start;
    gap: .5rem;
    min-width: 0;
}

.academic-menu-unit-path i {
    flex: 0 0 auto;
    margin-top: .1rem;
    color: var(--academic-brand);
}

.academic-menu-unit-path span {
    overflow-wrap: break-word;
}

.academic-menu-profile-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .4rem;
    padding: 0 1.15rem 1.1rem;
    border-bottom: 1px solid var(--academic-divider);
}

.academic-menu-profile-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    color: var(--academic-brand);
    border: 1px solid var(--academic-border);
    border-radius: 50%;
    background: transparent;
    text-decoration: none;
    transition: color .18s ease, border-color .18s ease, background-color .18s ease;
}

.academic-menu-profile-links a:hover,
.academic-menu-profile-links a:focus-visible {
    color: var(--academic-gold-ink);
    border-color: var(--academic-gold);
    background: var(--academic-gold-tint);
    outline: 0;
}

.academic-menu-profile-links img {
    width: 1.15rem;
    height: 1.15rem;
}

/* --- Sidebar: navigation ------------------------------------------------ */
.academic-menu-section-label {
    padding: .9rem 1.15rem .4rem;
    color: var(--academic-muted);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.academic-menu-links {
    display: flex;
    flex-direction: column;
    gap: .1rem;
    padding: 0 .7rem 1rem;
}

.academic-menu-link {
    display: flex;
    align-items: center;
    gap: .65rem;
    min-height: 2.75rem;
    padding: .55rem .7rem;
    border: 1px solid transparent;
    border-radius: var(--academic-radius-sm);
    color: var(--academic-ink);
    font-size: .84rem;
    font-weight: 600;
    line-height: 1.3;
    text-decoration: none;
    transition: color .18s ease, border-color .18s ease, background-color .18s ease;
}

.academic-menu-link > span {
    flex: 1 1 auto;
    min-width: 0;
}

.academic-menu-link::before {
    content: "";
    flex: 0 0 auto;
    width: .4rem;
    height: .4rem;
    border: 1px solid var(--academic-border);
    border-radius: 50%;
}

.academic-menu-link i {
    flex: 0 0 auto;
    color: var(--academic-muted);
    font-size: .8rem;
    opacity: 0;
    transition: opacity .18s ease, transform .18s ease;
}

.academic-menu-link:hover,
.academic-menu-link:focus-visible {
    color: var(--academic-brand-dark);
    background: var(--academic-brand-tint);
    outline: 0;
}

.academic-menu-link:hover i,
.academic-menu-link:focus-visible i {
    opacity: 1;
    transform: translateX(.15rem);
}

.academic-menu-link.is-active {
    color: var(--academic-brand-dark);
    background: var(--academic-brand-tint-strong);
    border-color: var(--academic-border);
    font-weight: 800;
}

.academic-menu-link.is-active::before {
    border-color: var(--academic-gold);
    background: var(--academic-gold);
}

.academic-menu-link.is-active i {
    opacity: 1;
    color: var(--academic-brand);
}

.academic-menu-divider {
    height: 1px;
    margin: .45rem .7rem;
    background: var(--academic-divider);
}

/* Tablet and phone: identity becomes a compact row, navigation becomes a
   horizontally scrollable tab strip instead of a 20-item stacked list. */
@media (max-width: 1199.98px) {
    .academic-menu-identity {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        gap: 1rem;
        align-items: center;
        padding: 1.1rem 1.1rem .9rem;
        text-align: left;
    }

    .academic-menu-photo-shell {
        width: 4.75rem;
        height: 4.75rem;
        margin: 0;
    }

    .academic-menu-unit-path {
        margin-top: .5rem;
    }

    .academic-menu-profile-links {
        justify-content: flex-start;
        padding: 0 1.1rem 1rem;
    }

    .academic-menu-section-label {
        display: none;
    }

    .academic-menu-links {
        flex-direction: row;
        gap: .4rem;
        padding: .7rem .9rem;
        overflow-x: auto;
        scroll-snap-type: x proximity;
        scrollbar-width: thin;
        scrollbar-color: var(--academic-border) transparent;
        -webkit-overflow-scrolling: touch;
    }

    .academic-menu-link {
        flex: 0 0 auto;
        min-height: 2.6rem;
        padding: .5rem .95rem;
        border-color: var(--academic-border);
        border-radius: 999px;
        scroll-snap-align: start;
        white-space: nowrap;
    }

    .academic-menu-link::before,
    .academic-menu-link i,
    .academic-menu-divider {
        display: none;
    }

    .academic-menu-link.is-active {
        border-color: var(--academic-brand);
    }
}

@media (max-width: 575.98px) {
    .academic-menu-photo-shell {
        width: 4rem;
        height: 4rem;
    }

    .academic-menu-person-name {
        font-size: 1.02rem;
    }
}

/* --- Content headings --------------------------------------------------- */
.academic-content-heading,
.academic-section-heading {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: .5rem 1rem;
    align-items: flex-end;
    justify-content: space-between;
    min-width: 0;
}

.academic-content-heading {
    padding-bottom: .8rem;
    margin-bottom: 1.25rem;
    border-bottom: 2px solid var(--academic-divider);
}

.academic-content-heading::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 3.25rem;
    height: 2px;
    background: var(--academic-gold);
}

.academic-content-heading > div,
.academic-section-heading > div {
    min-width: 0;
}

.academic-content-heading span,
.academic-section-heading span {
    display: block;
    color: var(--academic-brand);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.academic-content-heading h2,
.academic-section-heading h2 {
    margin: .2rem 0 0;
    color: var(--academic-ink);
    font-size: clamp(1.25rem, 1.9vw, 1.7rem);
    font-weight: 750;
    line-height: 1.2;
    overflow-wrap: break-word;
}

.academic-content-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-width: 2.15rem;
    min-height: 1.75rem;
    padding: 0 .6rem;
    border: 1px solid var(--academic-border);
    border-radius: 999px;
    background: var(--academic-brand-tint);
    color: var(--academic-brand-dark);
    font-size: .78rem;
    font-weight: 800;
    line-height: 1;
}

.academic-section-heading > i {
    flex: 0 0 auto;
    color: var(--academic-gold);
    font-size: 1.4rem;
}

/* --- Empty states and notices ------------------------------------------ */
.academic-empty-state,
.academic-notice {
    display: flex;
    align-items: center;
    gap: .7rem;
    padding: 1.1rem 1.15rem;
    border-radius: var(--academic-radius);
    font-size: .88rem;
    line-height: 1.5;
}

.academic-empty-state {
    border: 1px dashed var(--academic-border);
    background: var(--academic-surface-soft);
    color: var(--academic-muted);
}

.academic-empty-state > i {
    flex: 0 0 auto;
    color: var(--academic-brand);
    font-size: 1.25rem;
}

.academic-notice {
    margin-bottom: 1rem;
    border: 1px solid rgba(245, 168, 0, .35);
    background: var(--academic-gold-tint);
    color: var(--academic-gold-ink);
}

.academic-notice > i {
    flex: 0 0 auto;
    font-size: 1.15rem;
}

/* --- Overview: institution card ---------------------------------------- */
.academic-overview-intro {
    display: flex;
    flex-direction: column;
    gap: clamp(1.1rem, 2vw, 1.6rem);
}

.academic-institution-card {
    padding: clamp(1.1rem, 1.8vw, 1.5rem);
    border: 1px solid var(--academic-border);
    border-top: 3px solid var(--academic-brand);
    border-radius: var(--academic-radius);
    background: var(--academic-surface);
    box-shadow: var(--academic-shadow);
    transition: box-shadow 0.2s ease;
}

.academic-institution-card:hover {
    box-shadow: var(--academic-shadow-raised);
}

.academic-institution-heading {
    display: flex;
    align-items: center;
    gap: 1rem;
    min-width: 0;
}

.academic-institution-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 3.2rem;
    height: 3.2rem;
    color: var(--academic-brand);
    border: 1px solid var(--academic-border);
    border-radius: 50%;
    background: var(--academic-brand-tint);
    font-size: 1.4rem;
    transition: transform 0.2s ease, background-color 0.2s ease;
}

.academic-institution-card:hover .academic-institution-icon {
    transform: scale(1.05);
    background: var(--academic-brand-tint-strong);
}

.academic-institution-heading small {
    display: block;
    color: var(--academic-muted);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.academic-institution-heading strong {
    display: block;
    margin-top: .15rem;
    color: var(--academic-ink);
    font-size: 1.02rem;
    overflow-wrap: break-word;
}

.academic-institution-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
    gap: .75rem;
    margin-top: 1.1rem;
}

.academic-institution-row {
    min-width: 0;
    padding: .7rem .85rem;
    border: 1px solid var(--academic-divider);
    border-left: 2px solid var(--academic-brand);
    border-radius: var(--academic-radius-sm);
    background: var(--academic-surface-soft);
}

.academic-institution-row span {
    display: block;
    color: var(--academic-muted);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.academic-institution-row strong {
    display: block;
    margin-top: .2rem;
    color: var(--academic-ink);
    font-size: .84rem;
    font-weight: 700;
    line-height: 1.4;
    overflow-wrap: break-word;
}

.academic-profile-description {
    margin-top: 1rem;
    padding-top: .9rem;
    color: var(--academic-muted);
    border-top: 1px solid var(--academic-divider);
    font-size: .86rem;
    line-height: 1.65;
}

/* --- Overview: metric cards -------------------------------------------- */
.academic-overview-metrics {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
    gap: 1rem;
}

.academic-metric-card {
    --academic-metric-color: var(--academic-brand);
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.9rem;
    min-width: 0;
    padding: 1rem 1.1rem;
    border: 1px solid var(--academic-border);
    border-top: 3px solid var(--academic-metric-color);
    border-radius: var(--academic-radius);
    background: var(--academic-surface);
    box-shadow: var(--academic-shadow);
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.academic-metric-card:hover {
    border-color: var(--academic-metric-color);
    box-shadow: var(--academic-shadow-raised);
    transform: translateY(-3px);
}

.academic-metric-card > div {
    min-width: 0;
}

.academic-metric-card--articles { --academic-metric-color: #0c6a80; }
.academic-metric-card--papers { --academic-metric-color: #287f91; }
.academic-metric-card--projects { --academic-metric-color: #5b7f3b; }
.academic-metric-card--patents { --academic-metric-color: #b98116; }
.academic-metric-card--citations { --academic-metric-color: #9b6411; }
.academic-metric-card--index { --academic-metric-color: #6c5a9b; }

[data-bs-theme=dark] .academic-metric-card--articles { --academic-metric-color: #7cc6d6; }
[data-bs-theme=dark] .academic-metric-card--papers { --academic-metric-color: #8fd0dc; }
[data-bs-theme=dark] .academic-metric-card--projects { --academic-metric-color: #a8cc85; }
[data-bs-theme=dark] .academic-metric-card--patents { --academic-metric-color: #edc06a; }
[data-bs-theme=dark] .academic-metric-card--citations { --academic-metric-color: #e2b06d; }
[data-bs-theme=dark] .academic-metric-card--index { --academic-metric-color: #b3a4dc; }

.academic-metric-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 2.9rem;
    height: 2.9rem;
    color: var(--academic-metric-color);
    border: 1px solid currentColor;
    border-radius: var(--academic-radius-sm);
    background: transparent;
    font-size: 1.3rem;
}

.academic-metric-label {
    color: var(--academic-muted);
    font-size: .76rem;
    font-weight: 700;
    line-height: 1.3;
    overflow-wrap: break-word;
}

.academic-metric-value {
    margin-top: .2rem;
    color: var(--academic-ink);
    font-size: clamp(1.4rem, 2vw, 1.9rem);
    font-weight: 800;
    line-height: 1.1;
}

.academic-metric-link {
    position: absolute;
    top: .45rem;
    right: .5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.6rem;
    height: 1.6rem;
    color: var(--academic-muted);
    border-radius: 50%;
    text-decoration: none;
}

.academic-metric-link:hover,
.academic-metric-link:focus-visible {
    color: var(--academic-brand-dark);
    background: var(--academic-brand-tint);
    outline: 0;
}

/* --- Overview: yearly chart -------------------------------------------- */
.academic-yearly-chart {
    padding: clamp(1.1rem, 1.8vw, 1.4rem);
    border: 1px solid var(--academic-border);
    border-top: 3px solid var(--academic-gold);
    border-radius: var(--academic-radius);
    background: var(--academic-surface);
    box-shadow: var(--academic-shadow);
    transition: box-shadow 0.2s ease;
}

.academic-yearly-chart:hover {
    box-shadow: var(--academic-shadow-raised);
}

.academic-yearly-chart-heading {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem 1rem;
    align-items: flex-start;
    justify-content: space-between;
}

.academic-yearly-chart-heading > div {
    min-width: 0;
}

.academic-yearly-chart-heading h2 {
    margin: 0;
    color: var(--academic-ink);
    font-size: 1.02rem;
    font-weight: 750;
    line-height: 1.3;
}

.academic-yearly-chart-heading p {
    margin: .25rem 0 0;
    color: var(--academic-muted);
    font-size: .8rem;
    line-height: 1.45;
}

.academic-yearly-chart-legend {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
    color: var(--academic-muted);
    font-size: .75rem;
    font-weight: 700;
}

.academic-yearly-chart-legend span {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
}

.academic-yearly-chart-legend i {
    width: .8rem;
    height: .25rem;
    border-radius: 1rem;
}

.academic-yearly-chart-legend .is-publication { background: var(--academic-brand); }
.academic-yearly-chart-legend .is-citation { background: #d18b00; }

.academic-yearly-chart-canvas {
    position: relative;
    height: clamp(13rem, 30vw, 19rem);
    margin-top: 1rem;
}

.academic-yearly-chart canvas {
    display: block;
    width: 100%;
    height: 100%;
}

/* --- Filter tabs and filter panel -------------------------------------- */
.academic-filter-tabs {
    display: flex;
    gap: .4rem;
    margin-bottom: 1rem;
    padding-bottom: .2rem;
    overflow-x: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--academic-border) transparent;
    -webkit-overflow-scrolling: touch;
}

.academic-filter-tab {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    flex: 0 0 auto;
    min-height: 2.35rem;
    padding: .45rem .9rem;
    border: 1px solid var(--academic-border);
    border-radius: 999px;
    background: transparent;
    color: var(--academic-ink);
    font-size: .8rem;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
    transition: color .18s ease, border-color .18s ease, background-color .18s ease;
}

.academic-filter-tab:hover,
.academic-filter-tab:focus-visible {
    color: var(--academic-brand-dark);
    border-color: var(--academic-brand);
    background: var(--academic-brand-tint);
    outline: 0;
}

.academic-filter-tab-active,
.academic-filter-tab-active:hover {
    color: var(--academic-brand-dark);
    border-color: var(--academic-brand);
    background: var(--academic-brand-tint-strong);
}

.academic-filter-tab-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.5rem;
    height: 1.5rem;
    padding: 0 .35rem;
    border: 1px solid var(--academic-divider);
    border-radius: 999px;
    background: var(--academic-surface-soft);
    color: var(--academic-muted);
    font-size: .7rem;
    font-weight: 800;
}

.academic-filter-tab-active .academic-filter-tab-count {
    border-color: var(--academic-brand);
    background: transparent;
    color: var(--academic-brand-dark);
}

.academic-publication-filter-panel {
    margin-bottom: 1rem;
    padding: .9rem 1rem;
    border: 1px solid var(--academic-border);
    border-radius: var(--academic-radius);
    background: var(--academic-surface-soft);
}

@media (min-width: 768px) {
    .academic-filter-tabs {
        flex-wrap: wrap;
        overflow-x: visible;
    }
}

/* --- Record and publication cards -------------------------------------- */
.academic-record-list,
.academic-article-list {
    display: grid;
    gap: .7rem;
}

.academic-record-card,
.academic-article-card {
    position: relative;
    min-width: 0;
    padding: .95rem 1.05rem;
    border: 1px solid var(--academic-border);
    border-left: 2px solid var(--academic-divider);
    border-radius: var(--academic-radius);
    background: var(--academic-surface);
    box-shadow: var(--academic-shadow);
    transition: border-left-color .18s ease, box-shadow .18s ease;
}

.academic-record-card:hover,
.academic-article-card:hover {
    border-left-color: var(--academic-brand);
    box-shadow: var(--academic-shadow-raised);
}

.academic-publication-compact {
    gap: .5rem;
}

.academic-publication-compact .academic-record-card,
.academic-publication-compact .academic-article-card {
    padding: .72rem .85rem;
    box-shadow: none;
}

.academic-publication-compact .academic-record-meta,
.academic-publication-compact .academic-article-meta {
    margin-top: .25rem;
    font-size: .78rem;
}

.academic-publication-compact .academic-author-list {
    gap: .25rem;
    margin-top: .35rem;
}

.academic-publication-compact .academic-author-chip {
    padding: .12rem .42rem;
    font-size: .66rem;
}

.academic-publication-compact .academic-record-badges,
.academic-publication-compact .academic-article-badges {
    gap: .25rem;
    margin-top: .38rem;
}

.academic-publication-compact .academic-record-badge,
.academic-publication-compact .academic-article-badge {
    padding: .14rem .4rem;
    font-size: .64rem;
}

.academic-compact-details {
    display: flex;
    flex-wrap: wrap;
    gap: .2rem .75rem;
    margin-top: .38rem;
    color: var(--academic-muted);
    font-size: .74rem;
}

.academic-compact-details > span + span::before {
    content: "·";
    margin-right: .75rem;
    color: var(--academic-divider);
}

.academic-record-title,
.academic-article-title {
    display: block;
    color: var(--academic-brand-dark);
    font-size: clamp(.92rem, .85vw, 1.04rem);
    font-weight: 700;
    line-height: 1.35;
    overflow-wrap: break-word;
}

.academic-article-title,
.academic-record-title[href] {
    text-decoration: underline;
    text-decoration-thickness: .06em;
    text-decoration-color: var(--academic-border);
    text-underline-offset: .16em;
}

.academic-record-title[href]:hover,
.academic-article-title:hover,
.academic-record-title[href]:focus-visible,
.academic-article-title:focus-visible {
    color: var(--academic-brand);
    text-decoration-color: currentColor;
    outline: 0;
}

.academic-record-meta,
.academic-article-meta {
    margin-top: .4rem;
    color: var(--academic-muted);
    font-size: .84rem;
    line-height: 1.45;
    overflow-wrap: break-word;
}

.academic-record-authors,
.academic-article-authors {
    color: var(--academic-brand);
    font-weight: 700;
}

.academic-record-source,
.academic-article-source {
    color: var(--academic-muted);
}

.academic-author-list {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin-top: .5rem;
}

.academic-author-chip {
    display: inline-flex;
    align-items: center;
    padding: .18rem .55rem;
    border: 1px solid var(--academic-divider);
    border-radius: 999px;
    background: var(--academic-surface-soft);
    color: var(--academic-muted);
    font-size: .7rem;
    font-weight: 600;
    line-height: 1.35;
    text-decoration: none;
    transition: color .18s ease, border-color .18s ease, background-color .18s ease;
}

.academic-author-chip-link {
    color: var(--academic-brand-dark);
    background: var(--academic-brand-tint);
    border-color: var(--academic-border);
}

.academic-author-chip-link:hover,
.academic-author-chip-link:focus-visible {
    color: var(--academic-brand-dark);
    border-color: var(--academic-brand);
    background: var(--academic-brand-tint-strong);
    outline: 0;
}

.academic-record-badges,
.academic-article-badges {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .35rem;
    margin-top: .55rem;
}

.academic-record-badge,
.academic-article-badge {
    display: inline-flex;
    align-items: center;
    padding: .2rem .5rem;
    border: 1px solid currentColor;
    border-radius: var(--academic-radius-sm);
    font-size: .68rem;
    font-weight: 700;
    line-height: 1.3;
}

.academic-record-badge-scope,
.academic-article-badge-scope {
    color: var(--academic-brand);
}

.academic-record-badge-referee,
.academic-article-badge-referee {
    color: #2c7f91;
}

.academic-record-badge-index,
.academic-article-badge-index {
    color: #5b7f3b;
}

.academic-record-badge-type,
.academic-article-badge-type {
    color: var(--academic-muted);
}

[data-bs-theme=dark] .academic-record-badge-referee,
[data-bs-theme=dark] .academic-article-badge-referee {
    color: #8fd0dc;
}

[data-bs-theme=dark] .academic-record-badge-index,
[data-bs-theme=dark] .academic-article-badge-index {
    color: #a8cc85;
}

.academic-record-link,
.academic-article-link {
    color: var(--academic-brand);
    font-size: .78rem;
    text-decoration: none;
    word-break: break-all;
}

.academic-record-link:hover,
.academic-article-link:hover,
.academic-record-link:focus-visible,
.academic-article-link:focus-visible {
    color: var(--academic-brand-dark);
    text-decoration: underline;
    outline: 0;
}

.academic-record-details {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
    gap: .55rem .9rem;
    margin-top: .65rem;
    padding-top: .65rem;
    border-top: 1px solid var(--academic-divider);
}

.academic-record-detail {
    min-width: 0;
}

.academic-record-detail-full {
    grid-column: 1 / -1;
}

.academic-record-detail-label {
    display: block;
    margin-bottom: .12rem;
    color: var(--academic-muted);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.academic-record-detail-value {
    display: block;
    color: var(--academic-ink);
    font-size: .82rem;
    line-height: 1.45;
    overflow-wrap: break-word;
}

/* An empty details grid must not leave a stray divider line behind. */
.academic-record-details:empty {
    display: none;
}

.academic-record-badges:empty,
.academic-article-badges:empty {
    display: none;
}

/* --- Small screens ----------------------------------------------------- */
@media (max-width: 767.98px) {
    .academic-public-header-inner {
        gap: .6rem;
        min-height: 4.4rem;
    }

    .academic-public-brand-copy small {
        display: none;
    }

    .academic-public-logo-wrap {
        width: 2.9rem;
        height: 2.9rem;
    }

    .academic-public-logo-wrap img {
        width: 2.15rem;
        height: 2.15rem;
    }

    .academic-public-brand-copy strong {
        font-size: .86rem;
    }

    .academic-public-nav {
        gap: .15rem;
    }

    .academic-public-nav-link span {
        display: none;
    }

    .academic-public-nav-link,
    .academic-public-icon-button {
        width: 2.4rem;
        min-height: 2.4rem;
        padding: 0;
    }

    .academic-public-language {
        padding: .4rem .55rem;
        font-size: .74rem;
    }

    .academic-record-card,
    .academic-article-card {
        padding: .85rem .9rem;
    }

    .academic-record-link,
    .academic-article-link {
        display: block;
        width: 100%;
    }

    .academic-record-details {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 420px) {
    .academic-public-brand-copy {
        display: none;
    }

    .academic-public-header-inner {
        gap: .35rem;
    }

    .academic-menu-identity {
        gap: .8rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .academic-menu-link,
    .academic-menu-link i,
    .academic-menu-profile-links a,
    .academic-public-nav-link,
    .academic-public-language,
    .academic-public-icon-button,
    .academic-filter-tab,
    .academic-author-chip,
    .academic-metric-card,
    .academic-record-card,
    .academic-article-card {
        transition: none;
    }
}

/* Home page modern enhancements */
.hover-lift {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.hover-lift:hover {
    transform: translateY(-6px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15) !important;
}

.front-main-content .carousel-inner {
    border-radius: 0;
}

.front-main-content .carousel-item {
    transition: transform 0.6s ease-in-out;
}

.front-main-content .carousel-control-prev-icon,
.front-main-content .carousel-control-next-icon {
    background-size: 2rem 2rem;
}

@media (min-width: 768px) {
    .front-main-content .carousel-control-prev-icon,
    .front-main-content .carousel-control-next-icon {
        background-size: 2.5rem 2.5rem;
    }
}
