.professor-cards-container{background:#fff;margin:0 auto;max-width:1200px;padding:1.5rem 1rem}.professor-filter-bar{border-bottom:1px solid #d4e4ff;margin-bottom:1.5rem;padding-bottom:1rem}.professor-filter-wrapper{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.professor-filter-label{color:#0d4cbb;font-size:.95rem;font-weight:600;letter-spacing:-.01em}.professor-filter-buttons{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.professor-filter-btn{background:#fff;border:2px solid #d4e4ff;border-radius:9999px;color:#0d4cbb;cursor:pointer;font-size:.875rem;font-weight:500;outline:none;overflow:hidden;padding:.625rem 1.25rem;position:relative;transition:all .3s cubic-bezier(.19,1,.22,1)}.professor-filter-btn span{position:relative;z-index:1}.professor-filter-btn:before{background:linear-gradient(135deg,#3b82f6,#60a5fa);content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .3s cubic-bezier(.19,1,.22,1);width:100%;z-index:0}.professor-filter-btn:hover{border-color:#3b82f6;box-shadow:0 4px 12px rgba(59,130,246,.3);color:#0d4cbb;transform:translateY(-2px)}.professor-filter-btn:active{transform:translateY(0)}.professor-filter-btn.active{background:linear-gradient(135deg,#3b82f6,#60a5fa);border-color:#3b82f6;box-shadow:0 4px 16px rgba(59,130,246,.4);color:#fff}.professor-filter-btn.active:before{opacity:1}.professor-filter-btn:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.professor-count{background:#eff6ff;border:1px solid #d4e4ff;border-radius:9999px;color:#0d4cbb;font-size:.875rem;font-weight:500;min-height:1.25rem;padding:.5rem 1rem}@media (min-width:768px){.professor-filter-wrapper{align-items:center;flex-direction:row;justify-content:space-between}.professor-filter-buttons{flex-wrap:nowrap}}.professor-cards-grid{animation:fadeIn 1s ease-out;display:grid;gap:1.25rem;grid-template-columns:1fr;transition:opacity .3s ease}.professor-cards-grid.fading-out{opacity:0}.professor-cards-grid.fading-in{opacity:1}.segment-header{align-items:center;backdrop-filter:blur(10px);border-radius:10px;box-shadow:0 4px 16px rgba(59,130,246,.2);display:flex;grid-column:1/-1;justify-content:space-between;margin-bottom:1rem;margin-top:1.25rem;padding:.875rem 1.25rem;position:sticky;top:0;transition:all .3s ease;z-index:11}.segment-header:first-child{margin-top:0}.segment-header__title{color:#fff;font-size:1.125rem;font-weight:700;letter-spacing:-.02em;margin:0;text-shadow:0 2px 8px rgba(0,0,0,.15)}.segment-header__count{backdrop-filter:blur(5px);background:hsla(0,0%,100%,.2);border-radius:9999px;color:hsla(0,0%,100%,.9);font-size:.875rem;font-weight:600;padding:.5rem 1rem}@media (max-width:639px){.segment-header{align-items:flex-start;flex-direction:column;gap:.75rem;padding:1rem 1.5rem}.segment-header__title{font-size:1.25rem}}@media (min-width:640px){.professor-cards-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.professor-cards-grid{gap:1.5rem;grid-template-columns:repeat(3,1fr)}}.professor-card{animation:slideUp .9s cubic-bezier(.19,1,.22,1) backwards;background:#f8f9fa;border:1px solid #d4e4ff;border-radius:12px;box-shadow:0 1px 3px rgba(59,130,246,.1),0 4px 12px rgba(59,130,246,.08);overflow:hidden;position:relative;transition:transform .7s cubic-bezier(.19,1,.22,1),box-shadow .7s cubic-bezier(.19,1,.22,1),background .7s cubic-bezier(.19,1,.22,1)}.professor-card.hidden{opacity:0;transform:scale(.95);visibility:hidden}.professor-card:before{background:linear-gradient(90deg,#3b82f6,#60a5fa);content:"";height:4px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:left;transition:transform .9s cubic-bezier(.19,1,.22,1);z-index:10}.professor-card:hover:before{transform:scaleX(1)}.professor-card:hover{background:#f1f3f5;border-color:#93c5fd;box-shadow:0 20px 50px rgba(59,130,246,.15),0 10px 25px rgba(59,130,246,.1),0 2px 8px rgba(59,130,246,.08);transform:translateY(-12px)}.professor-card.horizontal-layout,.professor-card.vertical-layout{display:flex;flex-direction:column}@media (min-width:640px){.professor-card.horizontal-layout{flex-direction:row}.professor-card.horizontal-layout.image-right{flex-direction:row-reverse}.professor-card.horizontal-layout .professor-card__image{flex-shrink:0;width:200px}}.professor-card__image-wrapper{background:linear-gradient(135deg,#eff6ff,#dbeafe);overflow:hidden;position:relative}.professor-card__image{aspect-ratio:1/1;overflow:hidden;position:relative;width:100%}.professor-card.horizontal-layout .professor-card__image{aspect-ratio:auto;min-height:100%}.professor-card__photo{filter:brightness(1) contrast(1) saturate(1);height:100%;object-fit:cover;object-position:center 30%;transform-origin:center;transition:all 1s cubic-bezier(.19,1,.22,1);width:100%}.professor-card:hover .professor-card__photo{filter:brightness(1.05) contrast(1.03) saturate(1.1);transform:scale(1.08)}.professor-card__avatar-fallback{align-items:center;background:linear-gradient(135deg,#eff6ff,#dbeafe);display:flex;height:100%;justify-content:center;width:100%}.professor-card__avatar-fallback svg{color:#60a5fa;height:4rem;opacity:.4;transition:all .8s cubic-bezier(.19,1,.22,1);width:4rem}.professor-card:hover .professor-card__avatar-fallback svg{color:#3b82f6;opacity:.6;transform:scale(1.1)}.professor-card__content{display:flex;flex:1;flex-direction:column;gap:.875rem;padding:1.25rem;position:relative;z-index:6}.professor-card__name{color:#1e40af;font-size:1.125rem;font-weight:700;line-height:1.3;margin:0;transform-origin:left center;transition:all .6s cubic-bezier(.19,1,.22,1)}.professor-card:hover .professor-card__name{color:#0d4cbb;transform:translateX(6px)}[data-text-align=center] .professor-card__contact,[data-text-align=center] .professor-card__name,[data-text-align=center] .professor-card__section-title,[data-text-align=center] .professor-card__segment-wrapper,[data-text-align=center] .professor-card__tags{justify-content:center;text-align:center}[data-text-align=center] .professor-card:hover .professor-card__name{transform:translateX(0) translateY(-2px)}[data-text-align=right] .professor-card__contact,[data-text-align=right] .professor-card__name,[data-text-align=right] .professor-card__section-title,[data-text-align=right] .professor-card__segment-wrapper,[data-text-align=right] .professor-card__tags{justify-content:flex-end;text-align:right}[data-text-align=right] .professor-card:hover .professor-card__name{transform:translateX(-6px)}.professor-card__segment-wrapper{display:flex}.professor-card__segment-badge{align-items:center;background:linear-gradient(135deg,#3b82f6,#60a5fa);border-radius:9999px;box-shadow:0 2px 8px rgba(59,130,246,.3),0 1px 3px rgba(59,130,246,.2);color:#fff;display:inline-flex;font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:.375rem .875rem;text-transform:uppercase;transition:all .6s cubic-bezier(.19,1,.22,1)}.professor-card:hover .professor-card__segment-badge{box-shadow:0 8px 20px rgba(59,130,246,.4),0 4px 10px rgba(59,130,246,.3);transform:scale(1.05) translateY(-2px)}.professor-card__section{display:flex;flex-direction:column;gap:.625rem}.professor-card__section-title{color:#1e40af;font-size:.75rem;font-weight:600;letter-spacing:.075em;margin:0;text-transform:uppercase;transition:all .4s cubic-bezier(.19,1,.22,1)}.professor-card:hover .professor-card__section-title{color:#0d4cbb;transform:translateX(2px)}.professor-card__tags{display:flex;flex-wrap:wrap;gap:.5rem}.professor-card__tag{background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;color:#1e40af;cursor:default;display:inline-block;font-size:.875rem;font-weight:500;padding:.375rem .75rem;position:relative;transition:all .5s cubic-bezier(.19,1,.22,1);white-space:nowrap}.professor-card__tag:focus,.professor-card__tag:hover{background:#fff;border-color:#3b82f6;border-width:2px;box-shadow:0 6px 15px rgba(59,130,246,.2),0 3px 8px rgba(59,130,246,.15);color:#0d4cbb;transform:translateY(-3px)}.professor-card__contact{border-top:1px solid #d4e4ff;display:flex;margin-top:auto;padding-top:.875rem;transition:all .4s cubic-bezier(.19,1,.22,1)}.professor-card:hover .professor-card__contact{border-top-color:#93c5fd;padding-top:1rem}.professor-card__email{align-items:center;border-radius:8px;color:#1e40af;display:inline-flex;font-size:.875rem;gap:.625rem;margin:-.5rem -.75rem;max-width:100%;padding:.5rem .75rem;text-decoration:none;transition:all .6s cubic-bezier(.19,1,.22,1)}.professor-card__email svg{flex-shrink:0;height:1.125rem;transition:all .6s cubic-bezier(.19,1,.22,1);width:1.125rem}.professor-card__email span{overflow:hidden;text-overflow:ellipsis;transition:transform .6s cubic-bezier(.19,1,.22,1);white-space:nowrap}.professor-card__email:hover{background-color:#eff6ff;color:#0d4cbb;transform:translateX(4px)}.professor-card__email:hover svg{transform:scale(1.15) translateX(2px)}.professor-card__email:hover span{transform:translateX(2px)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.professor-card:first-child{animation-delay:.1s}.professor-card:nth-child(2){animation-delay:.15s}.professor-card:nth-child(3){animation-delay:.2s}.professor-card:nth-child(4){animation-delay:.25s}.professor-card:nth-child(5){animation-delay:.3s}.professor-card:nth-child(6){animation-delay:.35s}.professor-card:nth-child(7){animation-delay:.4s}.professor-card:nth-child(8){animation-delay:.45s}.professor-card:nth-child(9){animation-delay:.5s}.professor-card:nth-child(n+10){animation-delay:.55s}.professor-card:focus-within{outline:3px solid rgba(59,130,246,.5);outline-offset:4px;transition:outline-offset .3s ease}@media (max-width:639px){.professor-cards-container{padding:1rem .75rem}.professor-filter-bar{align-items:stretch;flex-direction:column}.professor-filter-buttons{flex-direction:column}.professor-filter-btn{justify-content:center;width:100%}.professor-card__content{padding:1rem}.professor-card__name{font-size:1rem}.professor-card:hover{transform:translateY(-8px)}.professor-card:hover .professor-card__photo{transform:scale(1.05)}}@media (hover:none) and (pointer:coarse){.professor-card{transition-duration:.3s}.professor-card:active{transform:scale(.98)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.professor-card:hover{transform:none}}@media print{.professor-filter-bar{display:none}.professor-card{break-inside:avoid;page-break-inside:avoid;box-shadow:0 1px 3px rgba(59,130,246,.2)}.professor-card:hover{transform:none}.professor-card:before{display:none}}