/* ========================================================= Faculty / Staff Listing - Split Rail + Expandable Rows ========================================================= */
 .faculty-listing {
     width: min(100% - 2rem, var(--container-xl));
     margin-inline: auto;
     padding-block: var(--space-2xl);
}
 .faculty-listing, .faculty-listing *, .faculty-listing *::before, .faculty-listing *::after {
     box-sizing: border-box;
}
/* ---------- Hero ---------- */
 .faculty-listing__hero {
     position: relative;
     display: grid;
     gap: var(--space-xl);
     align-items: center;
     overflow: hidden;
     margin-bottom: var(--space-2xl);
     padding: clamp(2rem, 6vw, 5rem);
     border-radius: var(--radius-xl);
     background: radial-gradient(circle at 92% 12%, rgba(255, 203, 5, 0.3), transparent 28%), radial-gradient(circle at 8% 90%, rgba(255, 255, 255, 0.14), transparent 32%), linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));
     color: white;
     box-shadow: var(--shadow-lg);
}
 @media (min-width: 900px) {
     .faculty-listing__hero {
         grid-template-columns: minmax(0, 1fr) minmax(18rem, 26rem);
    }
}
 .faculty-listing__hero-content {
     position: relative;
     z-index: 2;
}
 .faculty-listing__eyebrow {
     display: inline-flex;
     margin: 0 0 var(--space-md);
     padding: 0.35rem 0.75rem;
     border-radius: var(--radius-pill);
     background: var(--color-gold);
     color: black;
     font-size: 0.82rem;
     font-weight: var(--fw-black);
     letter-spacing: 0.08em;
     text-transform: uppercase;
}
 .faculty-listing__title {
     max-width: 900px;
     margin: 0;
     color: white;
     font-size: clamp(2.5rem, 6vw, 5.5rem);
     line-height: 0.96;
     letter-spacing: -0.06em;
     text-wrap: balance;
}
 .faculty-listing__intro {
     max-width: 720px;
     margin: var(--space-lg) 0 0;
     color: rgba(255, 255, 255, 0.92);
     font-size: clamp(1.1rem, 2vw, 1.35rem);
     line-height: 1.6;
}
 .faculty-listing__hero-accent {
     position: relative;
     z-index: 1;
     display: none;
     min-height: 18rem;
}
 @media (min-width: 900px) {
     .faculty-listing__hero-accent {
         display: block;
    }
}
 .faculty-listing__hero-accent span {
     position: absolute;
     display: block;
     border-radius: 999px;
     background: rgba(255, 255, 255, 0.16);
     transform: rotate(-18deg);
}
 .faculty-listing__hero-accent span:nth-child(1) {
     width: 16rem;
     height: 4rem;
     top: 16%;
     right: 8%;
}
 .faculty-listing__hero-accent span:nth-child(2) {
     width: 22rem;
     height: 5rem;
     top: 42%;
     right: -8%;
     background: rgba(255, 203, 5, 0.32);
}
 .faculty-listing__hero-accent span:nth-child(3) {
     width: 12rem;
     height: 3rem;
     top: 72%;
     right: 18%;
}
/* ---------- Directory Shell: New Option B Markup ---------- */
 .faculty-directory {
     display: grid;
     gap: var(--space-xl);
     align-items: start;
     width: 100%;
     min-width: 0;
}
 @media (min-width: 800px) {
     .faculty-directory {
         grid-template-columns: minmax(15rem, 19rem) minmax(0, 1fr);
         gap: var(--space-2xl);
    }
     .faculty-directory__rail {
         position: sticky;
         top: calc(var(--masthead-height) + var(--space-lg));
         align-self: start;
         min-width: 0;
    }
}
 .faculty-directory__results {
     min-width: 0;
     width: 100%;
}
 .faculty-directory__rail-inner {
     display: grid;
     gap: var(--space-xl);
     width: 100%;
     min-width: 0;
     padding: clamp(1.25rem, 2vw, 1.75rem);
     border: 1px solid var(--color-border);
     border-radius: var(--radius-xl);
     background: linear-gradient(180deg, white, var(--color-surface));
     box-shadow: var(--shadow-sm);
}
/* ---------- Compatibility Shell: Current Old Markup ---------- */
/* Supports .faculty-listing__tools + .faculty-listing__grid until Cascade uses the new Velocity. */
 @media (min-width: 800px) {
     .faculty-listing:has(.faculty-listing__tools) {
         display: grid;
         grid-template-columns: minmax(15rem, 19rem) minmax(0, 1fr);
         grid-template-areas: "hero hero" "tools results" "empty empty";
         gap: var(--space-2xl);
         align-items: start;
    }
     .faculty-listing:has(.faculty-listing__tools) .faculty-listing__hero {
         grid-area: hero;
         margin-bottom: 0;
    }
     .faculty-listing:has(.faculty-listing__tools) .faculty-listing__tools {
         grid-area: tools;
         position: sticky;
         top: calc(var(--masthead-height) + var(--space-lg));
         align-self: start;
         margin-bottom: 0;
    }
     .faculty-listing:has(.faculty-listing__tools) .faculty-listing__grid {
         grid-area: results;
    }
     .faculty-listing:has(.faculty-listing__tools) .faculty-listing__empty {
         grid-area: empty;
    }
}
/* ---------- Search / Filters ---------- */
 .faculty-listing__tools, .faculty-directory__rail-inner {
     border: 1px solid var(--color-border);
     border-radius: var(--radius-xl);
     background: linear-gradient(180deg, white, var(--color-surface));
     box-shadow: var(--shadow-sm);
}
 .faculty-listing__tools {
     display: grid;
     gap: var(--space-xl);
     padding: clamp(1.25rem, 2vw, 1.75rem);
}
 .faculty-listing__search {
     display: grid;
     gap: var(--space-sm);
}
 .faculty-listing__search-label {
     color: black;
     font-size: 1rem;
     font-weight: var(--fw-black);
}
 .faculty-listing__search-input {
     width: 100%;
     min-height: 3.25rem;
     padding: 0.8rem 1rem;
     border: 2px solid var(--color-border);
     border-radius: var(--radius-lg);
     background: white;
     color: black;
     font: inherit;
     font-size: 1rem;
}
 .faculty-listing__search-input:focus {
     border-color: var(--color-primary);
     outline: var(--focus-ring);
     outline-offset: var(--focus-offset);
}
 .faculty-listing__filter-wrap {
     display: grid;
     gap: var(--space-lg);
}
 .faculty-listing__filter-group[hidden] {
     display: none;
}
 .faculty-listing__filter-heading {
     margin: 0 0 var(--space-sm);
     padding-bottom: var(--space-xs);
     border-bottom: 0.18rem solid var(--color-gold);
     color: black;
     font-size: 1rem;
     line-height: 1.2;
}
 .faculty-listing__filter-options {
     display: flex;
     flex-wrap: wrap;
     gap: var(--space-xs);
}
 .faculty-listing__filter-button {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     min-height: 2.25rem;
     padding: 0.4rem 0.75rem;
     border: 1px solid var(--color-border);
     border-radius: var(--radius-pill);
     background: white;
     color: var(--color-primary);
     font: inherit;
     font-size: 0.9rem;
     font-weight: var(--fw-bold);
     cursor: pointer;
     transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}
 .faculty-listing__filter-button:hover, .faculty-listing__filter-button:focus {
     border-color: var(--color-primary);
     transform: translateY(-2px);
}
 .faculty-listing__filter-button.is-active {
     border-color: var(--color-primary);
     background: var(--color-primary);
     color: white;
}
 .faculty-listing__actions {
     display: grid;
     gap: var(--space-sm);
}
 .faculty-listing__result-count {
     margin: 0;
     color: var(--color-muted);
     font-weight: var(--fw-semibold);
}
 .faculty-listing__clear {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     width: fit-content;
     min-height: 2.5rem;
     padding: 0.55rem 1rem;
     border: 2px solid var(--color-primary);
     border-radius: var(--radius-pill);
     background: white;
     color: var(--color-primary);
     font: inherit;
     font-weight: var(--fw-bold);
     cursor: pointer;
}
 .faculty-listing__clear:hover, .faculty-listing__clear:focus {
     background: var(--color-primary);
     color: white;
}
/* ---------- New Expandable Rows ---------- */
 .faculty-listing__rows {
     display: grid;
     gap: var(--space-lg);
}
 .faculty-row {
     position: relative;
     min-width: 0;
     overflow: hidden;
     border: 1px solid var(--color-border);
     border-radius: var(--radius-xl);
     background: white;
     box-shadow: var(--shadow-sm);
     opacity: 0;
     transform: translateY(1.25rem);
     animation: facultyRowEnter 520ms ease forwards;
     animation-delay: calc(min(var(--faculty-row-index), 12) * 55ms);
     transition: border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}
 .faculty-row[hidden] {
     display: none;
}
 .faculty-row:hover, .faculty-row:focus-within, .faculty-row[open] {
     border-color: var(--color-primary);
     box-shadow: var(--shadow-lg);
     transform: translateY(-0.25rem);
}
 .faculty-row__summary {
     position: relative;
     display: grid;
     grid-template-columns: 5.5rem minmax(0, 1fr) auto;
     gap: var(--space-lg);
     align-items: center;
     padding: var(--space-lg);
     cursor: pointer;
     list-style: none;
}
 .faculty-row__summary::-webkit-details-marker {
     display: none;
}
 .faculty-row__summary::before {
     content: "";
     position: absolute;
     inset: 0;
     z-index: 0;
     background: linear-gradient( 90deg, rgba(0, 73, 144, 0.08), transparent 45% );
     opacity: 0;
     transform: translateX(-1rem);
     transition: opacity 220ms ease, transform 220ms ease;
}
 .faculty-row:hover .faculty-row__summary::before, .faculty-row:focus-within .faculty-row__summary::before, .faculty-row[open] .faculty-row__summary::before {
     opacity: 1;
     transform: translateX(0);
}
 .faculty-row__media, .faculty-row__summary-main, .faculty-row__summary-action {
     position: relative;
     z-index: 1;
}
 .faculty-row__media {
     display: block;
     overflow: hidden;
     width: 5.5rem;
     height: 5.5rem;
     border-radius: var(--radius-lg);
     background: radial-gradient(circle at 20% 20%, rgba(255, 203, 5, 0.42), transparent 36%), var(--color-primary);
}
 .faculty-row__image {
     display: block;
     width: 100%;
     height: 100%;
     object-fit: cover;
}
 .faculty-row__placeholder {
     display: grid;
     place-items: center;
     width: 100%;
     height: 100%;
}
 .faculty-row__placeholder span {
     display: grid;
     place-items: center;
     width: 3.25rem;
     height: 3.25rem;
     border: 0.22rem solid rgba(255, 255, 255, 0.55);
     border-radius: 999px;
     color: white;
     font-size: 1.85rem;
     font-weight: var(--fw-black);
}
 .faculty-row__summary-main {
     display: grid;
     gap: var(--space-sm);
     min-width: 0;
}
 .faculty-row__identity {
     display: grid;
     gap: var(--space-xs);
}
 .faculty-row__name {
     color: black;
     font-size: clamp(1.35rem, 2vw, 2rem);
     font-weight: var(--fw-black);
     line-height: 1.05;
     letter-spacing: -0.035em;
}
 .faculty-row__title {
     color: var(--color-primary);
     font-weight: var(--fw-bold);
     line-height: 1.35;
}
 .faculty-row__quick-meta {
     display: flex;
     flex-wrap: wrap;
     gap: var(--space-xs);
}
 .faculty-row__quick-meta span {
     display: inline-flex;
     align-items: center;
     min-height: 1.85rem;
     padding: 0.25rem 0.6rem;
     border-radius: var(--radius-pill);
     background: var(--color-surface);
     color: var(--color-muted);
     font-size: 0.85rem;
     font-weight: var(--fw-semibold);
     line-height: 1.2;
}
 .faculty-row__summary-action {
     display: inline-flex;
     align-items: center;
     gap: var(--space-sm);
     color: var(--color-primary);
     font-weight: var(--fw-black);
     white-space: nowrap;
}
 .faculty-row__summary-action-text {
     font-size: 0.9rem;
}
 .faculty-row__summary-icon {
     position: relative;
     display: inline-grid;
     place-items: center;
     width: 2.4rem;
     height: 2.4rem;
     border: 2px solid var(--color-primary);
     border-radius: 999px;
}
 .faculty-row__summary-icon::before, .faculty-row__summary-icon::after {
     content: "";
     position: absolute;
     width: 0.85rem;
     height: 0.14rem;
     border-radius: 999px;
     background: var(--color-primary);
}
 .faculty-row__summary-icon::after {
     transform: rotate(90deg);
}
 .faculty-row[open] .faculty-row__summary-icon {
     background: var(--color-primary);
}
 .faculty-row[open] .faculty-row__summary-icon::before, .faculty-row[open] .faculty-row__summary-icon::after {
     background: white;
}
 .faculty-row[open] .faculty-row__summary-icon::after {
     transform: rotate(0deg);
}
 .faculty-row[open] .faculty-row__summary-action-text {
     font-size: 0;
}
 .faculty-row[open] .faculty-row__summary-action-text::before {
     content: "Collapse";
     font-size: 0.9rem;
}
/* ---------- New Expanded Panel ---------- */
 .faculty-row__panel {
     border-top: 1px solid var(--color-border);
     background: linear-gradient(180deg, white, var(--color-surface));
}
 .faculty-row__panel-inner {
     display: grid;
     gap: var(--space-xl);
     padding: var(--space-lg);
}
 @media (min-width: 860px) {
     .faculty-row__panel-inner {
         grid-template-columns: minmax(0, 1fr) minmax(15rem, 20rem);
    }
}
 .faculty-row__expanded-copy {
     min-width: 0;
}
 .faculty-row__summary-text {
     max-width: 68ch;
     margin: 0 0 var(--space-lg);
     color: var(--color-text);
     font-size: 1.02rem;
     line-height: 1.65;
}
 .faculty-row__summary-text > :first-child {
     margin-top: 0;
}
 .faculty-row__summary-text > :last-child {
     margin-bottom: 0;
}
 .faculty-row__details {
     display: grid;
     gap: var(--space-md);
     margin: 0;
}
 @media (min-width: 700px) {
     .faculty-row__details {
         grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
 .faculty-row__details div {
     display: grid;
     gap: 0.2rem;
     padding: var(--space-md);
     border: 1px solid var(--color-border);
     border-radius: var(--radius-lg);
     background: white;
}
 .faculty-row__details dt {
     color: var(--color-primary);
     font-size: 0.75rem;
     font-weight: var(--fw-black);
     letter-spacing: 0.08em;
     text-transform: uppercase;
}
 .faculty-row__details dd {
     margin: 0;
     color: black;
     font-weight: var(--fw-semibold);
     line-height: 1.4;
}
 .faculty-row__contact {
     display: grid;
     align-content: start;
     gap: var(--space-sm);
}
 .faculty-row__contact-link {
     display: grid;
     gap: 0.2rem;
     padding: var(--space-md);
     border: 1px solid var(--color-border);
     border-radius: var(--radius-lg);
     background: white;
     color: black;
     font-weight: var(--fw-semibold);
     line-height: 1.35;
     text-decoration: none;
}
 .faculty-row__contact-link span {
     color: var(--color-primary);
     font-size: 0.75rem;
     font-weight: var(--fw-black);
     letter-spacing: 0.08em;
     text-transform: uppercase;
}
 .faculty-row__contact-link:hover, .faculty-row__contact-link:focus {
     border-color: var(--color-primary);
     box-shadow: var(--shadow-sm);
}
 .faculty-row__profile-link {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     width: fit-content;
     min-height: 2.75rem;
     margin-top: var(--space-sm);
     padding: 0.75rem 1.1rem;
     border-radius: var(--radius-pill);
     background: var(--color-primary);
     color: white;
     font-weight: var(--fw-bold);
     text-decoration: none;
}
 .faculty-row__profile-link:hover, .faculty-row__profile-link:focus {
     background: black;
     color: white;
}
/* ---------- Current Old Card Markup Support ---------- */
 .faculty-listing__grid {
     display: grid;
     gap: var(--space-lg);
}
 .faculty-card {
     max-width: 100%;
     overflow: hidden;
     box-shadow: var(--shadow-sm);
}
 .faculty-card__link {
     display: grid;
     grid-template-columns: 350px minmax(0, 1fr);
     align-items: stretch;
     min-height: auto;
     border: 1px solid var(--color-border);
     border-radius: var(--radius-xl);
     background: white;
     color: inherit;
     text-decoration: none;
     overflow: hidden;
     box-shadow: var(--shadow-md);
}
 .faculty-card__visual {
     width: 100%;
     min-height: 8rem;
     aspect-ratio: auto;
     background: white;
     border-radius: 50%;
     padding: 2rem;
}
 .faculty-card__image, .faculty-card__placeholder {
     display: block;
     width: 100%;
     height: 100%;
     object-fit: cover;
     border-radius: 50%;
     aspect-ratio: 1;
}
 .faculty-card__body {
     display: grid;
     gap: var(--space-sm);
     min-width: 0;
     padding: var(--space-md);
}
 .faculty-card__header {
     display: grid;
     gap: 0.25rem;
}
 .faculty-card__name {
     color: black;
     font-size: clamp(1.25rem, 2vw, 1.65rem);
     font-weight: var(--fw-black);
     line-height: 1.1;
}
 .faculty-card__title {
     color: var(--color-primary);
     font-weight: var(--fw-bold);
     line-height: 1.35;
}
 .faculty-card__summary {
     display: block;
     max-width: 70ch;
     color: var(--color-text);
     line-height: 1.5;
}
 .faculty-card__meta, .faculty-card__drawer {
     display: flex;
     flex-wrap: wrap;
     gap: var(--space-sm);
     max-height: none;
     opacity: 1;
     transform: none;
}
 .faculty-card__meta span, .faculty-card__drawer-item {
     display: inline-flex;
     flex-direction: column;
     gap: 0.15rem;
     padding: 0.55rem 0.75rem;
     border-radius: var(--radius-md);
     background: var(--color-surface);
     color: var(--color-muted);
     font-size: 0.9rem;
     line-height: 1.35;
}
 .faculty-card__meta strong {
     color: var(--color-primary);
     font-size: 0.7rem;
     font-weight: var(--fw-black);
     letter-spacing: 0.08em;
     text-transform: uppercase;
}
 .faculty-card__cta {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     width: fit-content;
     min-height: 2.5rem;
     padding: 0.55rem 1rem;
     border-radius: var(--radius-pill);
     background: var(--color-primary);
     color: white;
     font-weight: var(--fw-bold);
}
/* ---------- Empty State ---------- */
 .faculty-listing__empty {
     padding: var(--space-2xl);
     border: 1px solid var(--color-border);
     border-radius: var(--radius-xl);
     background: var(--color-surface);
     text-align: center;
}
 .faculty-listing__empty h2 {
     margin: 0 0 var(--space-sm);
     color: black;
}
 .faculty-listing__empty p {
     margin: 0;
     color: var(--color-muted);
}
/* ---------- Animations ---------- */
 @keyframes facultyRowEnter {
     to {
         opacity: 1;
         transform: translateY(0);
    }
}
/* ---------- Focus ---------- */
 .faculty-listing a:focus-visible, .faculty-listing button:focus-visible, .faculty-listing input:focus-visible, .faculty-row__summary:focus-visible {
     outline: var(--focus-ring);
     outline-offset: var(--focus-offset);
}
/* ---------- Reduced Motion ---------- */
 @media (prefers-reduced-motion: reduce) {
     .faculty-row, .faculty-row *, .faculty-card, .faculty-card *, .faculty-listing__filter-button {
         animation: none !important;
         transition: none !important;
    }
     .faculty-row {
         opacity: 1;
         transform: none;
    }
     .faculty-row:hover, .faculty-row:focus-within, .faculty-row[open], .faculty-listing__filter-button:hover, .faculty-listing__filter-button:focus {
         transform: none;
    }
}
/* ---------- Responsive ---------- */
 @media (max-width: 799px) {
     .faculty-directory {
         grid-template-columns: 1fr;
    }
     .faculty-directory__rail {
         position: static;
    }
     .faculty-directory__rail-inner {
         gap: var(--space-lg);
    }
     .faculty-listing__filter-wrap {
         grid-template-columns: 1fr;
    }
     .faculty-listing:has(.faculty-listing__tools) {
         display: block;
    }
     .faculty-listing__tools {
         margin-bottom: var(--space-xl);
    }
}
 @media (max-width: 820px) {
     .faculty-listing {
         padding-block: var(--space-xl);
    }
     .faculty-listing__hero {
         padding: var(--space-xl);
    }
     .faculty-row__summary {
         grid-template-columns: 4.5rem minmax(0, 1fr);
    }
     .faculty-row__media {
         width: 4.5rem;
         height: 4.5rem;
    }
     .faculty-row__summary-action {
         grid-column: 1 / -1;
         justify-content: space-between;
         padding-top: var(--space-sm);
         border-top: 1px solid var(--color-border);
    }
}
 @media (max-width: 640px) {
     .faculty-card__link {
         grid-template-columns: 1fr;
    }
     .faculty-card__visual {
         width: 100%;
         height: auto;
         aspect-ratio: 1;
    }
}
 @media (max-width: 560px) {
     .faculty-directory__rail-inner, .faculty-row__summary, .faculty-row__panel-inner, .faculty-listing__tools {
         padding: var(--space-md);
    }
     .faculty-row__details {
         grid-template-columns: 1fr;
    }
     .faculty-row__quick-meta {
         gap: var(--space-2xs);
    }
     .faculty-row__quick-meta span {
         font-size: 0.8rem;
    }
}
 .faculty-listing__advanced-toggle {
     align-items: center;
     border: 2px solid currentColor;
     border-radius: 999px;
     background: transparent;
     color: inherit;
     cursor: pointer;
     display: inline-flex;
     font: inherit;
     font-weight: 700;
     justify-content: center;
     line-height: 1.2;
     margin-top: 1rem;
     padding: 0.65rem 1rem;
     text-align: center;
     width: 100%;
}
 .faculty-listing__advanced-toggle:hover, .faculty-listing__advanced-toggle:focus-visible {
     outline: 3px solid currentColor;
     outline-offset: 3px;
}
 .faculty-listing__advanced-toggle[aria-expanded="true"] {
     background: currentColor;
     color: #fff;
}
 .faculty-advanced-filters {
     margin: 0 auto 2rem;
     max-width: var(--site-width, 1200px);
     padding: 0 1rem;
}
 .faculty-advanced-filters[hidden] {
     display: none;
}
 .faculty-advanced-filters__inner {
     background: #fff;
     border: 1px solid rgba(0, 0, 0, 0.14);
     border-radius: 1.25rem;
     box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, 0.12);
     overflow: hidden;
}
 .faculty-advanced-filters__header {
     align-items: flex-start;
     background: #f6f7f9;
     display: flex;
     gap: 1rem;
     justify-content: space-between;
     padding: 1.25rem;
}
 .faculty-advanced-filters__header h2 {
     margin: 0.25rem 0 0;
}
 .faculty-advanced-filters__close {
     border: 1px solid currentColor;
     border-radius: 999px;
     background: transparent;
     color: inherit;
     cursor: pointer;
     font: inherit;
     font-weight: 700;
     padding: 0.45rem 0.85rem;
}
 .faculty-advanced-filters__close:hover, .faculty-advanced-filters__close:focus-visible {
     outline: 3px solid currentColor;
     outline-offset: 3px;
}
 .faculty-advanced-filters__grid {
     display: grid;
     gap: 1rem;
     grid-template-columns: minmax(0, 2fr) minmax(18rem, 1fr);
     padding: 1.25rem;
}
 .faculty-advanced-filters__panel {
     border: 1px solid rgba(0, 0, 0, 0.12);
     border-radius: 1rem;
     padding: 1rem;
}
 .faculty-advanced-filters__panel h3 {
     margin-top: 0;
}
 .faculty-advanced-filters__field {
     display: grid;
     gap: 0.4rem;
     margin-bottom: 1rem;
}
 .faculty-advanced-filters__field label {
     font-weight: 700;
}
 .faculty-advanced-filters__field select {
     border: 1px solid rgba(0, 0, 0, 0.35);
     border-radius: 0.5rem;
     font: inherit;
     padding: 0.65rem 0.75rem;
     width: 100%;
}
 .faculty-advanced-filters__muted {
     color: #555;
     margin: 0;
}
 .faculty-structure-tree {
     display: grid;
     gap: 0.65rem;
}
 .faculty-structure-tree__division {
     border: 1px solid rgba(0, 0, 0, 0.14);
     border-radius: 0.75rem;
     overflow: hidden;
}
 .faculty-structure-tree__summary {
     align-items: center;
     background: #f6f7f9;
     cursor: pointer;
     display: flex;
     font-weight: 800;
     justify-content: space-between;
     padding: 0.75rem 1rem;
}
 .faculty-structure-tree__summary::-webkit-details-marker {
     display: none;
}
 .faculty-structure-tree__summary::after {
     content: "+";
     font-weight: 900;
}
 .faculty-structure-tree__division[open] .faculty-structure-tree__summary::after {
     content: "–";
}
 .faculty-structure-tree__departments {
     display: flex;
     flex-wrap: wrap;
     gap: 0.5rem;
     padding: 0.85rem;
}
 .faculty-structure-tree__button {
     border: 1px solid currentColor;
     border-radius: 999px;
     background: transparent;
     color: inherit;
     cursor: pointer;
     font: inherit;
     padding: 0.35rem 0.75rem;
}
 .faculty-structure-tree__button:hover, .faculty-structure-tree__button:focus-visible {
     outline: 2px solid currentColor;
     outline-offset: 2px;
}
 @media (max-width: 800px) {
     .faculty-advanced-filters__header {
         display: grid;
    }
     .faculty-advanced-filters__grid {
         grid-template-columns: 1fr;
    }
}
 .faculty-directory__rail-inner {
     display: flex;
     flex-direction: column;
     gap: 1.25rem;
     max-height: calc(100vh - 2rem);
     overflow: hidden;
}
 .faculty-listing__filter-wrap {
     display: flex;
     flex-direction: column;
     gap: 1.25rem;
     min-height: 0;
     overflow: hidden;
}
 .faculty-listing__filter-group {
     min-height: 0;
}
 .faculty-listing__filter-group[data-faculty-filter-group="division"] {
     display: flex;
     flex-direction: column;
     max-height: 18rem;
}
 .faculty-listing__filter-group[data-faculty-filter-group="division"] .faculty-listing__filter-heading {
     flex: 0 0 auto;
}
 .faculty-listing__filter-group[data-faculty-filter-group="division"] .faculty-listing__filter-options {
     flex: 1 1 auto;
     min-height: 0;
     overflow-y: auto;
     padding-right: 0.35rem;
     scrollbar-gutter: stable;
}
 .faculty-listing__filter-group[data-faculty-filter-group="division"] .faculty-listing__filter-options:focus-within {
     outline: 2px solid currentColor;
     outline-offset: 4px;
}
/* Optional: make the rail sticky only on larger screens. */
 @media (min-width: 900px) {
     .faculty-directory__rail {
         align-self: start;
         position: sticky;
         top: 1rem;
    }
}
/* Prevent sticky/scroll layout from feeling cramped on mobile. */
 @media (max-width: 899px) {
     .faculty-directory__rail-inner {
         max-height: none;
         overflow: visible;
    }
     .faculty-listing__filter-wrap {
         overflow: visible;
    }
     .faculty-listing__filter-group[data-faculty-filter-group="division"] {
         max-height: none;
    }
     .faculty-listing__filter-group[data-faculty-filter-group="division"] .faculty-listing__filter-options {
         overflow: visible;
         padding-right: 0;
    }
}
/* ========================================================= Faculty / Staff Directory Filters ========================================================= */
 .faculty-directory__rail-inner {
     display: flex;
     flex-direction: column;
     gap: 1.25rem;
}
 .faculty-listing__search {
     display: grid;
     gap: 0.4rem;
}
 .faculty-listing__search-label, .faculty-listing__filter-heading, .faculty-advanced-filters__field label {
     font-weight: 800;
}
 .faculty-listing__search-input, .faculty-listing__filter-select, .faculty-advanced-filters__field select {
     border: 1px solid rgba(0, 0, 0, 0.35);
     border-radius: 0.65rem;
     color: inherit;
     font: inherit;
     min-height: 2.75rem;
     padding: 0.65rem 0.85rem;
     width: 100%;
}
 .faculty-listing__filter-select, .faculty-advanced-filters__field select {
     appearance: none;
     background-color: #fff;
     background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%);
     background-position: calc(100% - 1rem) 50%, calc(100% - 0.65rem) 50%;
     background-repeat: no-repeat;
     background-size: 0.35rem 0.35rem, 0.35rem 0.35rem;
     cursor: pointer;
     padding-right: 2.25rem;
}
 .faculty-listing__search-input:hover, .faculty-listing__search-input:focus, .faculty-listing__filter-select:hover, .faculty-listing__filter-select:focus, .faculty-advanced-filters__field select:hover, .faculty-advanced-filters__field select:focus {
     border-color: currentColor;
}
 .faculty-listing__search-input:focus-visible, .faculty-listing__filter-select:focus-visible, .faculty-advanced-filters__field select:focus-visible {
     outline: 3px solid currentColor;
     outline-offset: 3px;
}
 .faculty-listing__filter-wrap {
     display: flex;
     flex-direction: column;
     gap: 1.25rem;
}
 .faculty-listing__filter-group {
     display: grid;
     gap: 0.65rem;
     padding: 8px;
}
 .faculty-listing__filter-options {
     display: flex;
     flex-wrap: wrap;
     gap: 0.5rem;
}
 .faculty-listing__filter-button, .faculty-listing__clear, .faculty-listing__advanced-toggle, .faculty-advanced-filters__close, .faculty-structure-tree__button {
     border: 1px solid currentColor;
     border-radius: 999px;
     background: transparent;
     color: inherit;
     cursor: pointer;
     font: inherit;
     font-weight: 700;
     line-height: 1.2;
     padding: 0.45rem 0.8rem;
     text-align: center;
}
 .faculty-listing__advanced-toggle {
     border-width: 2px;
     display: inline-flex;
     justify-content: center;
     padding: 0.65rem 1rem;
     width: 100%;
}
 .faculty-listing__filter-button:hover, .faculty-listing__filter-button:focus-visible, .faculty-listing__clear:hover, .faculty-listing__clear:focus-visible, .faculty-listing__advanced-toggle:hover, .faculty-listing__advanced-toggle:focus-visible, .faculty-advanced-filters__close:hover, .faculty-advanced-filters__close:focus-visible, .faculty-structure-tree__button:hover, .faculty-structure-tree__button:focus-visible {
     outline: 3px solid currentColor;
     outline-offset: 3px;
}
 .faculty-listing__filter-button.is-active, .faculty-listing__filter-button[aria-pressed="true"], .faculty-listing__advanced-toggle[aria-expanded="true"] {
     background: var(--color-primary);
     color: #fff;
}
 .faculty-listing__actions {
     display: grid;
     gap: 0.75rem;
}
 .faculty-listing__result-count {
     margin: 0;
}
/* ========================================================= Advanced Filters Panel ========================================================= */
 .faculty-advanced-filters {
     margin: 0 auto 2rem;
     max-width: var(--site-width, 1200px);
     padding: 0 1rem;
}
 .faculty-advanced-filters[hidden] {
     display: none;
}
 .faculty-advanced-filters__inner {
     background: #fff;
     border: 1px solid rgba(0, 0, 0, 0.14);
     border-radius: 1.25rem;
     box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, 0.12);
     overflow: hidden;
}
 .faculty-advanced-filters__header {
     align-items: flex-start;
     background: #f6f7f9;
     display: flex;
     gap: 1rem;
     justify-content: space-between;
     padding: 1.25rem;
}
 .faculty-advanced-filters__header h2 {
     margin: 0.25rem 0 0;
}
 .faculty-advanced-filters__grid {
     display: grid;
     gap: 1rem;
     grid-template-columns: minmax(0, 2fr) minmax(18rem, 1fr);
     padding: 1.25rem;
}
 .faculty-advanced-filters__panel {
     border: 1px solid rgba(0, 0, 0, 0.12);
     border-radius: 1rem;
     padding: 1rem;
}
 .faculty-advanced-filters__panel h3 {
     margin-top: 0;
}
 .faculty-advanced-filters__field {
     display: grid;
     gap: 0.4rem;
     margin-bottom: 1rem;
}
 .faculty-advanced-filters__muted {
     color: #555;
     margin: 0;
}
/* ========================================================= Structure Tree ========================================================= */
 .faculty-structure-tree {
     display: grid;
     gap: 0.65rem;
}
 .faculty-structure-tree__division {
     border: 1px solid rgba(0, 0, 0, 0.14);
     border-radius: 0.75rem;
     overflow: hidden;
}
 .faculty-structure-tree__summary {
     align-items: center;
     background: #f6f7f9;
     cursor: pointer;
     display: flex;
     font-weight: 800;
     justify-content: space-between;
     padding: 0.75rem 1rem;
}
 .faculty-structure-tree__summary::-webkit-details-marker {
     display: none;
}
 .faculty-structure-tree__summary::after {
     content: "+";
     font-weight: 900;
}
 .faculty-structure-tree__division[open] .faculty-structure-tree__summary::after {
     content: "–";
}
 .faculty-structure-tree__departments {
     display: flex;
     flex-wrap: wrap;
     gap: 0.5rem;
     padding: 0.85rem;
}
/* ========================================================= Responsive ========================================================= */
 @media (min-width: 900px) {
     .faculty-directory__rail {
         align-self: start;
         position: sticky;
         top: 1rem;
    }
}
 @media (max-width: 899px) {
     .faculty-directory__rail {
         position: static;
    }
     .faculty-advanced-filters__header {
         display: grid;
    }
     .faculty-advanced-filters__grid {
         grid-template-columns: 1fr;
    }
}
 

/* ==========================================================================
   Faculty / Staff Listing — Compact Advanced Filters in Rail
   v6 patch: keep the original listing colors/layout and make advanced filters
   live inside .faculty-directory__rail-inner instead of a full-width row.
   ========================================================================== */

.faculty-directory__rail-inner .faculty-listing__advanced {
    margin: 0;
    min-width: 0;
}

.faculty-directory__rail-inner .faculty-listing__advanced-toggle {
    align-items: center;
    border: 2px solid var(--color-primary);
    border-radius: var(--radius-pill);
    background: white;
    color: var(--color-primary);
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    font-weight: var(--fw-bold);
    justify-content: center;
    line-height: 1.2;
    list-style: none;
    margin: 0;
    min-height: 2.5rem;
    padding: 0.55rem 1rem;
    text-align: center;
    width: 100%;
}

.faculty-directory__rail-inner .faculty-listing__advanced-toggle::-webkit-details-marker {
    display: none;
}

.faculty-directory__rail-inner .faculty-listing__advanced-toggle::after {
    content: "+";
    font-weight: var(--fw-black);
    margin-left: 0.5rem;
}

.faculty-directory__rail-inner .faculty-listing__advanced[open] > .faculty-listing__advanced-toggle {
    background: var(--color-primary);
    color: white;
}

.faculty-directory__rail-inner .faculty-listing__advanced[open] > .faculty-listing__advanced-toggle::after {
    content: "–";
}

.faculty-directory__rail-inner .faculty-listing__advanced-toggle:hover,
.faculty-directory__rail-inner .faculty-listing__advanced-toggle:focus-visible {
    outline: var(--focus-ring);
    outline-offset: var(--focus-offset);
}

.faculty-directory__rail-inner .faculty-listing__advanced-panel {
    display: grid;
    gap: var(--space-md);
    margin-top: var(--space-md);
    min-width: 0;
}

.faculty-directory__rail-inner .faculty-listing__advanced-panel .faculty-listing__filter-group {
    display: grid;
    gap: var(--space-xs);
    min-height: 0;
    padding: 0;
}

.faculty-directory__rail-inner .faculty-listing__advanced-panel .faculty-listing__filter-heading {
    border-bottom: 0.12rem solid var(--color-gold);
    color: black;
    font-size: 0.9rem;
    line-height: 1.2;
    margin: 0;
    padding-bottom: 0.35rem;
}

.faculty-directory__rail-inner .faculty-listing__advanced-panel .faculty-listing__filter-options {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    max-height: 8.5rem;
    overflow-y: auto;
    padding-right: 0.25rem;
    scrollbar-gutter: stable;
}

.faculty-directory__rail-inner .faculty-listing__advanced-panel .faculty-listing__filter-option {
    display: contents;
}

.faculty-directory__rail-inner .faculty-listing__advanced-panel .faculty-listing__filter-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.faculty-directory__rail-inner .faculty-listing__advanced-panel .faculty-listing__filter-option label {
    align-items: center;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-pill);
    background: white;
    color: var(--color-primary);
    cursor: pointer;
    display: inline-flex;
    font-size: 0.8rem;
    font-weight: var(--fw-bold);
    line-height: 1.2;
    min-height: 1.9rem;
    padding: 0.3rem 0.55rem;
}

.faculty-directory__rail-inner .faculty-listing__advanced-panel .faculty-listing__filter-option input:checked + label {
    background: var(--color-primary);
    border-color: var(--color-primary);
    color: white;
}

.faculty-directory__rail-inner .faculty-listing__advanced-panel .faculty-listing__filter-option input:focus-visible + label {
    outline: var(--focus-ring);
    outline-offset: var(--focus-offset);
}

.faculty-directory__rail-inner .faculty-listing__filter-empty {
    color: var(--color-muted);
    font-size: 0.85rem;
    margin: 0;
}

/* Hide the abandoned v5 row placement if that markup still exists on a page. */
.faculty-listing__advanced-row {
    display: none;
}

@media (max-width: 899px) {
    .faculty-directory__rail-inner .faculty-listing__advanced-panel .faculty-listing__filter-options {
        max-height: none;
        overflow: visible;
        padding-right: 0;
    }
}
