.professor-page .site-header nav{gap:24px;margin-right:24px}
.professor-page .site-header nav a[aria-current=page]:after{content:"";position:absolute;left:0;right:0;bottom:-11px;height:2px;background:#84a64c}
.professor-shell{padding-top:62px;padding-bottom:76px}
.professor-page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;padding-bottom:40px;border-bottom:1px solid var(--line)}
.professor-page-heading .section-index{margin-bottom:18px}
.professor-page-heading h1{font-size:clamp(48px,6.8vw,90px);line-height:1.03;letter-spacing:-.06em;font-weight:600;margin:0}
.professor-page-heading .university-brand{width:180px;margin-bottom:7px;flex-shrink:0}
.profile-status{padding:32px 0;color:var(--muted);font-size:13px}
.professor-profile{display:grid;grid-template-columns:270px minmax(0,1fr);gap:65px;padding:48px 0 55px}
.professor-portrait{position:relative;display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:4/5;background:#e5eadd;font-size:70px;font-weight:500;color:#8b9e75;overflow:hidden}
.professor-portrait:after{content:"";position:absolute;border:1px solid #bfcaaf;border-radius:50%;width:350px;height:350px;left:-210px;top:25px;pointer-events:none}
.professor-portrait.has-photo:after{display:none}
.professor-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center 24%}
.portrait-label{display:block;font-size:8px;letter-spacing:1px;line-height:1.8;color:#829170;margin-top:20px}
.professor-information{min-width:0;padding-top:3px}
.professor-identity{padding-bottom:27px}
.professor-identity .person-role{display:block;margin:0 0 9px;font-size:11px;color:#768367}
.professor-identity h2{font-size:clamp(36px,4.3vw,58px);line-height:1.2;letter-spacing:-.04em;font-weight:500;margin:0;overflow-wrap:anywhere}
.professor-alternate-name{font-family:var(--mono);font-size:14px;color:#839074;margin:12px 0 0;letter-spacing:-.3px}
.professor-affiliation{font-size:12px;color:#727d66;margin:17px 0 0}
.professor-detail-block{border-top:1px solid var(--line);padding:22px 0;display:grid;grid-template-columns:90px minmax(0,1fr);gap:20px}
.professor-detail-block h3{font-size:11px;font-weight:500;color:#7c886f;margin:3px 0 0;line-height:1.8}
.professor-bio,.professor-focus{font-size:14px;line-height:2;letter-spacing:-.15px;margin:0;white-space:pre-line;overflow-wrap:anywhere}
.professor-focus{font-size:13px;color:#62714f}
.professor-links{display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin-top:17px}
.professor-links .button{font-size:11px;padding:12px 18px;min-height:46px}
.professor-links .text-link{font-size:11px}
.professor-email-label{display:block;font-family:var(--mono);font-size:10px;color:#7b886c;margin-top:14px;overflow-wrap:anywhere}
.professor-history{display:grid;grid-template-columns:1fr 1fr;gap:40px 65px;border-top:1px solid var(--line);padding-top:35px}
.history-heading{display:flex;align-items:baseline;gap:20px;margin-bottom:26px}
.history-heading .mono{font-size:8px;letter-spacing:.7px;color:#839170}
.history-heading h2{font-size:22px;font-weight:500;margin:0;line-height:1.4;letter-spacing:-.5px}
.history-item{display:grid;grid-template-columns:124px minmax(0,1fr);gap:22px;padding:23px 0;border-top:1px solid var(--line)}
.history-period{font-family:var(--mono);font-size:10px;line-height:1.8;color:#879678;padding-top:2px;white-space:pre-line}
.history-item h3{font-size:14px;line-height:1.8;font-weight:500;margin:0;white-space:pre-line;overflow-wrap:anywhere}
.history-organization{font-size:11px;line-height:1.9;color:#7c8871;margin:7px 0 0;white-space:pre-line;overflow-wrap:anywhere}
.history-source{grid-column:1/-1;font-size:9px;line-height:1.9;color:#8c9781;margin:0}
.history-source a{display:inline-block;margin-left:5px;border-bottom:1px solid #b9c3ac}
.professor-contact-strip{background:#e8eddf;max-width:1600px;margin:auto;padding:38px 5%;display:flex;justify-content:space-between;gap:30px;align-items:center}
.professor-contact-strip .eyebrow{font-size:8px;letter-spacing:1px;color:#869673;margin-bottom:13px}
.professor-contact-strip h2{font-size:28px;font-weight:500;line-height:1.5;letter-spacing:-1px;margin:0}
.professor-contact-strip p{font-size:11px;line-height:1.9;color:#78866b;margin:10px 0 0}
.professor-contact-strip .text-link{font-size:11px;white-space:nowrap}
@media(max-width:1200px){.professor-page .site-header nav{gap:18px;margin-right:8px;font-size:12px}.professor-page .header-actions{gap:18px}.professor-profile{grid-template-columns:240px minmax(0,1fr);gap:42px}.professor-history{gap:35px 42px}.history-item{grid-template-columns:105px minmax(0,1fr);gap:18px}.history-period{font-size:9px}}
@media(max-width:950px){.professor-page .site-header nav{gap:16px}.professor-page .join-small{display:none}.professor-profile{grid-template-columns:210px minmax(0,1fr);gap:35px}.professor-detail-block{grid-template-columns:1fr;gap:10px}.professor-detail-block h3{margin-top:0}.history-item{grid-template-columns:1fr;gap:8px;padding:22px 0}.history-period{font-size:10px}.history-heading{gap:13px}.history-heading .mono{font-size:7px}.history-heading h2{font-size:20px}}
@media(max-width:800px){.professor-page .site-header nav{margin:0;gap:25px;font-size:13px}.professor-page .site-header nav a[aria-current=page]:after{bottom:-6px}.professor-shell{padding-top:44px;padding-bottom:55px}.professor-page-heading{padding-bottom:30px}.professor-page-heading h1{font-size:62px}.professor-page-heading .university-brand{width:155px}.professor-profile{grid-template-columns:180px minmax(0,1fr);gap:30px;padding:35px 0 40px}.professor-identity h2{font-size:38px}.professor-alternate-name{font-size:12px}.professor-bio{font-size:12px}.professor-focus{font-size:11px}.professor-detail-block{padding:19px 0}.professor-links{gap:20px;margin-top:10px}.professor-links .button{font-size:10px;min-height:42px;padding:10px 14px}.professor-links .text-link{font-size:10px}.professor-history{gap:25px 35px}.professor-contact-strip{padding:32px 6%}.professor-contact-strip h2{font-size:25px}}
@media(max-width:560px){.professor-page .site-header nav{gap:22px}.professor-shell{padding-top:35px;padding-bottom:43px}.professor-page-heading{align-items:flex-start;gap:26px;padding-bottom:25px}.professor-page-heading .section-index{font-size:6px;letter-spacing:.5px;margin-bottom:14px}.professor-page-heading h1{font-size:47px}.professor-page-heading .university-brand{width:100px;margin-top:29px}.professor-profile{grid-template-columns:minmax(0,1fr);gap:28px;padding:30px 0 35px}.professor-portrait-column{display:flex;align-items:flex-end;gap:22px}.professor-portrait{width:152px;flex-shrink:0;font-size:48px}.portrait-label{font-size:6px;line-height:1.8;letter-spacing:.7px;margin:0 0 5px}.professor-information{padding:0}.professor-identity{padding-bottom:23px}.professor-identity h2{font-size:37px}.professor-alternate-name{margin-top:10px;font-size:12px}.professor-affiliation{font-size:11px;margin-top:14px}.professor-detail-block{grid-template-columns:68px minmax(0,1fr);gap:16px}.professor-detail-block h3{font-size:10px;margin-top:2px}.professor-bio{font-size:12px;line-height:2}.professor-focus{font-size:11px;line-height:2}.professor-links{gap:25px;margin-top:12px}.professor-links .button{font-size:10px;min-height:44px;padding:11px 15px}.professor-email-label{font-size:9px}.professor-history{grid-template-columns:minmax(0,1fr);gap:27px;padding-top:27px}.history-heading{margin-bottom:20px;gap:18px}.history-heading .mono{font-size:8px}.history-heading h2{font-size:22px}.history-item{grid-template-columns:105px minmax(0,1fr);gap:19px;padding:22px 0}.history-item h3{font-size:12px}.history-period{font-size:8px}.history-organization{font-size:10px;margin-top:5px}.history-source{font-size:8px}.professor-contact-strip{align-items:flex-start;flex-direction:column;gap:20px;padding:30px 6%}.professor-contact-strip h2{font-size:25px}.professor-contact-strip p{font-size:10px}.professor-contact-strip .text-link{font-size:10px}.professor-contact-strip .eyebrow{font-size:7px}}

/* Readable profile text and comfortable controls on smaller screens. */
@media (max-width: 800px) {
  .professor-page .site-header nav { font-size: 14px; }
  .professor-page .site-header nav a { display: inline-flex; align-items: center; min-height: 44px; }
  .professor-page-heading { flex-wrap: wrap; }
  .professor-page-heading > div { min-width: 0; }
  .professor-page-heading .section-index,
  .portrait-label,
  .history-heading .mono,
  .history-period,
  .history-source,
  .professor-contact-strip .eyebrow { font-size: 12px; line-height: 1.8; }
  .profile-status,
  .professor-alternate-name,
  .professor-affiliation,
  .professor-focus,
  .history-organization,
  .professor-contact-strip p { font-size: 14px; line-height: 1.8; }
  .professor-identity .person-role,
  .professor-detail-block h3,
  .professor-email-label { font-size: 13px; line-height: 1.8; }
  .professor-bio,
  .history-item h3 { font-size: 15px; line-height: 1.85; }
  .professor-history { grid-template-columns: minmax(0, 1fr); }
  .history-item { grid-template-columns: minmax(125px, .35fr) minmax(0, 1fr); gap: 24px; }
  .history-heading { flex-wrap: wrap; gap: 10px 18px; }
  .professor-links .button,
  .professor-links .text-link,
  .professor-contact-strip .text-link,
  .history-source a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; }
  .professor-links .button { padding: 11px 16px; }
  .professor-links { gap: 12px 24px; }
  .history-source a { margin-left: 0; }
  .professor-contact-strip .text-link { white-space: normal; }
}

@media (max-width: 560px) {
  .professor-page-heading { flex-direction: column; align-items: flex-start; gap: 20px; }
  .professor-page-heading h1 { font-size: clamp(40px, 11vw, 52px); overflow-wrap: anywhere; }
  .professor-page-heading .section-index { letter-spacing: .3px; }
  .professor-page-heading .university-brand { width: 180px; max-width: 100%; margin: 0; }
  .professor-portrait-column { flex-wrap: wrap; gap: 18px; }
  .portrait-label { letter-spacing: .2px; }
  .professor-detail-block { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .professor-detail-block h3 { margin-top: 0; }
  .history-item { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .history-period { padding-top: 0; }
}
