/* Shanahan Academic Directory — public individual profile. */
.sadp{
  --ink:#1b1b1b; --body:#4d4d4d; --muted:#7c7573; --faint:#9a938f;
  --maroon:#9d2235; --maroon-deep:#440000; --tint:#faf7f5; --line:#e8e3e0; --line-soft:#f0ebe8;
  --serif-d:'Cormorant',Georgia,serif; --serif-b:'Nanum Myeongjo',Georgia,serif;
  font-family:var(--serif-b); color:var(--body); line-height:1.72; font-size:17px;
  max-width:1080px; margin:0 auto; padding:0 24px;
}
.sadp *{box-sizing:border-box}
.sadp a{color:var(--maroon);text-decoration:none}
.sadp a:hover{text-decoration:underline;text-underline-offset:3px}
.sadp h1,.sadp h2{font-family:var(--serif-d);color:var(--ink);font-weight:600;margin:0}

/* hide the theme's auto page-title bar on staff profiles */
.single-academic_staff .page-title-bar{display:none !important}

.sadp-breadcrumb{padding:24px 0 0}
.sadp-breadcrumb ol{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0;font-size:13px;letter-spacing:.4px;text-transform:uppercase;color:var(--faint)}
.sadp-breadcrumb li{display:flex;gap:.5rem}
.sadp-breadcrumb li+li::before{content:"/";color:var(--line)}
.sadp-breadcrumb a{color:var(--muted)}
.sadp-breadcrumb [aria-current]{color:var(--maroon)}

.sadp-hero{display:grid;grid-template-columns:320px 1fr;gap:52px;align-items:start;padding:34px 0 30px;border-bottom:1px solid var(--line-soft);margin-bottom:8px}
.sadp-hero__photo{position:relative;aspect-ratio:5/6;background:var(--tint);border:1px solid var(--line);overflow:hidden}
.sadp-hero__photo img{width:100%;height:100%;object-fit:cover;object-position:center 20%;display:block}
.sadp-hero__initials{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--serif-d);font-size:88px;font-weight:600;color:#cdbfba}
.sadp-hero__intro{padding-top:6px}
.sadp-eyebrow{font-family:var(--serif-b);text-transform:uppercase;letter-spacing:2px;font-size:12.5px;color:var(--maroon);margin:0 0 14px}
.sadp-name{font-size:clamp(30px,3.6vw,46px);line-height:1.08;font-weight:700;color:var(--ink);margin:0}
.sadp-name::after{content:"";display:block;width:56px;height:2px;background:var(--maroon);margin-top:18px}
.sadp-rank{font-family:var(--serif-d);font-size:22px;color:var(--maroon-deep);margin:18px 0 0;font-weight:600}
.sadp-ptitle{color:var(--muted);margin:2px 0 0}
.sadp-dept{color:var(--body);margin:6px 0 0;font-size:16.5px}
.sadp-pos{color:var(--muted);margin:2px 0 0}
.sadp-contact{margin-top:18px;display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;font-size:14.5px}
.sadp-email{color:var(--maroon)}
.sadp-office{color:var(--muted)}
.sadp-links{display:flex;flex-wrap:wrap;gap:14px}
.sadp-links a{font-size:13px;text-transform:uppercase;letter-spacing:.6px}

.sadp-body{max-width:44rem}
.sadp-sec{padding:34px 0;border-bottom:1px solid var(--line-soft)}
.sadp-sec:last-child{border-bottom:0}
.sadp-h{font-size:clamp(22px,2.4vw,28px);font-weight:600;margin-bottom:20px}
.sadp-prose p{margin:0 0 1em;font-size:17.5px;line-height:1.85;color:#494949}
.sadp-qraw{color:#494949;line-height:1.8}

.sadp-taglist{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 12px}
.sadp-taglist li{border:1px solid var(--line);background:var(--tint);color:var(--maroon-deep);padding:8px 16px;border-radius:999px;font-size:14.5px}

.sadp-quals{list-style:none;margin:0;padding:0}
.sadp-qual{padding:14px 0;border-top:1px solid var(--line-soft)}
.sadp-quals>.sadp-qual:first-child{border-top:0}
.sadp-qual__deg{display:block;font-family:var(--serif-d);font-size:19px;color:var(--ink);font-weight:600;line-height:1.3}
.sadp-qual__meta{display:block;color:var(--muted);font-size:14.5px;margin-top:3px}

.sadp-pubs{list-style:none;margin:0;padding:0}
.sadp-pub{padding:16px 0;border-top:1px solid var(--line-soft)}
.sadp-pubs>.sadp-pub:first-child{border-top:0}
.sadp-pub__title{font-family:var(--serif-d);font-size:19px;line-height:1.34;color:var(--ink);font-weight:600}
.sadp-pub__meta{display:block;margin-top:4px;color:var(--muted);font-size:14.5px}
.sadp-pub__link{font-size:12.5px;text-transform:uppercase;letter-spacing:.5px}

@media (max-width:760px){
  .sadp{font-size:16.5px}
  .sadp-hero{grid-template-columns:1fr;gap:26px}
  .sadp-hero__photo{max-width:280px}
  .sadp-name::after{margin-top:14px}
  .sadp-rank{font-size:20px;margin-top:14px}
  .sadp-body{max-width:none}
}
