/* Editorial directory: each identity has its own row, never a shared card height. */
.groups-masthead { min-height: 0; padding: calc(var(--nav-h) + clamp(24px, 3vw, 42px)) 0 clamp(28px, 3.5vw, 48px); }
.groups-masthead::before { font-size: clamp(6rem, 16vw, 13rem); opacity: .6; }
.groups-masthead .page-title { max-width: none; font-size: clamp(2.3rem, 6vw, 5.4rem); line-height: 1.04; text-wrap: balance; }
.groups-masthead .page-masthead__content { max-width: var(--max-w, 1320px); }
.groups-masthead .page-breadcrumb { margin-bottom: 16px; }
.groups-masthead .page-intro { max-width: 60ch; margin-top: 16px; font-size: 1rem; }
.groups-section { padding: clamp(32px, 4.5vw, 60px) 0 clamp(48px, 6vw, 80px); scroll-margin-top: calc(var(--nav-h) + 24px); }
.groups-section-head { padding-bottom: 20px; border-bottom: 1px solid var(--line-2); }
.groups-section-head h2 { color: var(--ash); font-family: var(--f-display); font-size: clamp(1.4rem, 2.2vw, 1.8rem); font-weight: 400; line-height: 1.3; }
.groups-status { padding: clamp(40px, 6vw, 72px) 0; max-width: 650px; }
.groups-status h3 { font-family: var(--f-display); font-size: clamp(1.65rem, 3vw, 2.5rem); font-weight: 400; line-height: 1.2; margin-bottom: 16px; }
.groups-status p { color: var(--ash); line-height: 1.7; max-width: 48ch; }
.groups-contact { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; margin-top: 24px; border-bottom: 1px solid var(--line-2); color: var(--bone); }
.groups-contact .ico { transition: transform .25s ease; }
.groups-contact:is(:hover, :focus-visible) .ico { transform: translateX(4px); }
.groups-list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: minmax(0, 1fr); }
.groups-list[hidden], .groups-status[hidden], .academic-group__logo[hidden] { display: none; }
.no-js #groups-status { display: none; }
.academic-group { min-width: 0; display: grid; grid-template-columns: minmax(210px, .8fr) minmax(0, 1.4fr) 72px; align-items: center; gap: clamp(24px, 4vw, 64px); padding: clamp(26px, 3vw, 40px) 0; border-bottom: 1px solid var(--line-2); scroll-margin-top: calc(var(--nav-h) + 24px); animation: group-entrance .55s var(--ease-out) both; }
.academic-group:nth-child(2) { animation-delay: .04s; }
.academic-group:nth-child(3) { animation-delay: .08s; }
.academic-group:nth-child(4) { animation-delay: .12s; }
.academic-group:nth-child(5) { animation-delay: .16s; }
.academic-group:nth-child(6) { animation-delay: .2s; }
.academic-group h3 { grid-column: 1; grid-row: 1; color: var(--bone); font-family: var(--f-display); font-size: clamp(2rem, 3.5vw, 3.6rem); letter-spacing: -.025em; line-height: 1.1; font-weight: 400; overflow-wrap: anywhere; }
.academic-group__copy { grid-column: 2; grid-row: 1; min-width: 0; max-width: 52ch; }
.academic-group p { color: var(--ash); font-size: .95rem; line-height: 1.65; margin-top: 10px; white-space: pre-line; overflow-wrap: anywhere; }
.academic-group .academic-group__full-name { color: var(--bone); font-size: clamp(1rem, 1.3vw, 1.12rem); line-height: 1.55; margin-top: 0; text-wrap: pretty; }
.academic-group__logo { grid-column: 3; grid-row: 1; display: flex; align-items: center; justify-content: center; width: 72px; height: 96px; }
.academic-group__logo img { display: block; width: 100%; height: 100%; object-fit: contain; filter: none; }
.academic-group__link { display: inline-flex; align-items: center; gap: 12px; max-width: 100%; min-height: 44px; margin-top: 12px; color: var(--bone); font-size: .85rem; line-height: 1.5; border-bottom: 1px solid var(--line-2); scroll-margin-block: calc(var(--nav-h) + 24px); }
.academic-group__link .ico { flex: 0 0 auto; transition: transform .25s ease; }
.academic-group__link:is(:hover, :focus-visible) { border-color: var(--bone); }
.academic-group__link:is(:hover, :focus-visible) .ico { transform: translateX(4px); }
@keyframes group-entrance { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@media (max-width: 800px) {
    .academic-group { grid-template-columns: minmax(0, 1fr) 64px; gap: 14px 20px; padding: 26px 0; }
    .academic-group h3 { font-size: clamp(2rem, 6vw, 2.8rem); }
    .academic-group__copy { grid-column: 1 / -1; grid-row: 2; max-width: 60ch; }
    .academic-group__logo { grid-column: 2; grid-row: 1; width: 64px; height: 84px; }
    .academic-group__link { margin-top: 10px; }
}
@media (prefers-reduced-motion: reduce) {
    .academic-group { animation: none; }
    .groups-contact .ico, .academic-group__link .ico { transition: none; transform: none !important; }
}
