/* SISL Faculty — listing + profile (matches the Resources hub palette) */
.sisl-fac{--navy:#2d2e83;--navy-dark:#1d2972;--blue:#3c8fce;--sky:#67bce9;--ink:#20223e;--muted:#65697f;--line:#e1e7f0;
  color:var(--ink);font:16px/1.7 Arial,Helvetica,sans-serif;width:100%;margin-top:40px}
.sisl-fac *{box-sizing:border-box}
.sisl-fac a{text-decoration:none;color:inherit}
.sisl-fac h1,.sisl-fac h2,.sisl-fac h3,.sisl-fac p{margin:0;font-family:inherit}
.sisl-fac .sf-wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.sisl-fac .sf-icon{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sisl-fac .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.sisl-fac .sf-eyebrow{color:var(--blue);font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin-bottom:10px}

/* ---------- listing ---------- */
.sisl-fac .sf-hero{background:#f3f7fc;border-bottom:1px solid #e4eaf4;padding:48px 0 44px}
.sisl-fac .sf-title{font-size:clamp(32px,4.4vw,50px);line-height:1.12;font-weight:700;color:var(--navy);letter-spacing:-.03em;margin-bottom:14px}
.sisl-fac .sf-intro{max-width:620px;color:var(--muted);font-size:16px}

.sisl-fac .sf-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:32px 0 24px}
.sisl-fac .sf-count{font-size:22px;font-weight:700;color:var(--navy)}
.sisl-fac .sf-count span{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:30px;padding:0 8px;margin-left:6px;border-radius:30px;background:#eff4fb;color:var(--blue);font-size:15px;vertical-align:3px}
.sisl-fac .sf-filters{display:flex;gap:10px;flex-wrap:wrap}
.sisl-fac .sf-search{position:relative;display:block}
.sisl-fac .sf-search .sf-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#8a93a8;width:17px;height:17px}
.sisl-fac .sf-search input,.sisl-fac .sf-select select{height:46px;border:1px solid #d8e1ee;border-radius:10px;background:#fff;color:var(--ink);font:15px Arial,Helvetica,sans-serif;margin:0}
.sisl-fac .sf-search input{width:250px;padding:0 14px 0 40px}
.sisl-fac .sf-select select{min-width:210px;padding:0 38px 0 14px;appearance:none;-webkit-appearance:none;cursor:pointer;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232d2e83' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center/16px}
.sisl-fac .sf-search input:focus,.sisl-fac .sf-select select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(60,143,206,.18)}

.sisl-fac .sf-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding-bottom:64px}
.sisl-fac .sf-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.sisl-fac .sf-card[hidden]{display:none}
.sisl-fac .sf-card:hover,.sisl-fac .sf-card:focus-visible{transform:translateY(-4px);box-shadow:0 16px 34px rgba(45,46,131,.12);border-color:#cfdcef}
.sisl-fac .sf-card:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.sisl-fac .sf-photo{display:block;position:relative;aspect-ratio:4/5;overflow:hidden;background:#edf2f8}
.sisl-fac .sf-photo-img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .35s ease}
.sisl-fac .sf-card:hover .sf-photo-img{transform:scale(1.04)}
.sisl-fac .sf-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;
  background:radial-gradient(ellipse 70% 60% at 50% 38%,#3a4aa0 0%,#1d2972 55%,#121a52 100%);color:#cfe6f8}
.sisl-fac .sf-placeholder svg{width:52%;height:auto;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s ease}
.sisl-fac .sf-placeholder .sf-ph-fill{fill:rgba(103,188,233,.16)}
.sisl-fac .sf-card:hover .sf-placeholder svg{transform:scale(1.05)}
.sisl-fac .sf-card-body{display:flex;flex-direction:column;flex:1;padding:18px 18px 16px}
.sisl-fac .sf-name{font-size:18px;line-height:1.3;font-weight:700;color:var(--navy);margin-bottom:4px}
.sisl-fac .sf-role{font-size:14px;color:var(--muted);line-height:1.5}
.sisl-fac .sf-more{display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:14px;font-size:13px;font-weight:700;color:var(--blue)}
.sisl-fac .sf-more .sf-icon{width:16px;height:16px;transition:transform .2s ease}
.sisl-fac .sf-card:hover .sf-more .sf-icon{transform:translateX(3px)}
.sisl-fac .sf-empty{padding:42px 24px;margin-bottom:64px;border:1px dashed #cbd8e8;border-radius:12px;color:var(--muted);text-align:center}
.sisl-fac .sf-empty[hidden]{display:none}

/* ---------- profile ---------- */
.sisl-fac.sf-profile{padding-bottom:72px}
.sisl-fac .sf-back{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--navy);padding:8px 0;margin-bottom:22px}
.sisl-fac .sf-back:hover{color:var(--blue)}
.sisl-fac .sf-profile-grid{display:grid;grid-template-columns:minmax(260px,380px) minmax(0,1fr);gap:56px;align-items:start}
.sisl-fac .sf-profile-photo{position:sticky;top:110px;aspect-ratio:4/5;border-radius:16px;overflow:hidden;background:#edf2f8;
  box-shadow:0 22px 48px rgba(29,41,114,.16);border:1px solid var(--line)}
.sisl-fac .sf-profile-photo-img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}
.sisl-fac .sf-profile-photo-placeholder svg{width:48%}
.sisl-fac .sf-profile-name{font-size:clamp(30px,3.6vw,44px);line-height:1.15;font-weight:700;color:var(--navy);letter-spacing:-.025em;margin-bottom:10px}
.sisl-fac .sf-profile-role{font-size:18px;font-weight:700;color:var(--blue);margin-bottom:16px}
.sisl-fac .sf-profile-qual{display:inline-flex;align-items:flex-start;gap:10px;padding:12px 16px;border-radius:12px;background:#f3f7fc;border:1px solid #e4eaf4;
  color:var(--navy);font-size:15px;font-weight:600;line-height:1.5;margin-bottom:28px}
.sisl-fac .sf-profile-qual .sf-icon{width:20px;height:20px;margin-top:1px;color:var(--blue)}
.sisl-fac .sf-bio{border-top:1px solid var(--line);padding-top:26px;max-width:70ch}
.sisl-fac .sf-bio p{font-size:17px;line-height:1.85;color:#3b3f55;margin:0 0 18px}
.sisl-fac .sf-bio p:first-child{font-size:20px;line-height:1.6;color:var(--navy);font-weight:600}

/* ---------- responsive ---------- */
@media (max-width:1100px){.sisl-fac .sf-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:820px){
  .sisl-fac .sf-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
  .sisl-fac .sf-profile-grid{grid-template-columns:1fr;gap:28px}
  .sisl-fac .sf-profile-photo{position:relative;top:auto;max-width:340px;width:100%}
}
@media (max-width:640px){
  .sisl-fac{margin-top:24px}
  .sisl-fac .sf-wrap{padding:0 18px}
  .sisl-fac .sf-hero{padding:34px 0 30px}
  .sisl-fac .sf-tools{flex-direction:column;align-items:stretch;padding:24px 0 18px}
  .sisl-fac .sf-filters{flex-direction:column}
  .sisl-fac .sf-search input,.sisl-fac .sf-select select{width:100%;min-width:0}
  .sisl-fac .sf-name{font-size:16px}
  .sisl-fac .sf-role{font-size:13px}
  .sisl-fac .sf-card-body{padding:14px 14px 13px}
  .sisl-fac .sf-photo-placeholder svg{width:58%;stroke-width:3}
  .sisl-fac .sf-bio p{font-size:16px}
  .sisl-fac .sf-bio p:first-child{font-size:18px}
}
@media (max-width:380px){.sisl-fac .sf-grid{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.sisl-fac *{transition:none!important}.sisl-fac .sf-card:hover{transform:none}}
