
.profile-page .profile-page-wrap{max-width:1200px}
.profile-page .profile-layout-shell{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);gap:24px;align-items:start}
.profile-page .profile-main-column,.profile-page .profile-side-column{display:grid;gap:22px}
.profile-page .profile-hero-card,
.profile-page .profile-info-card,
.profile-page .profile-list-card,
.profile-page .profile-side-card{
  background:#fff;
  border:1px solid #dfe7f0;
  border-radius:24px;
  box-shadow:0 16px 42px rgba(15,46,82,.08);
}
.profile-page .profile-hero-card{display:grid;grid-template-columns:132px minmax(0,1fr);gap:24px;padding:28px}
.profile-page .profile-hero-media{display:flex;align-items:flex-start;justify-content:center}
.profile-page .profile-avatar{width:108px;height:108px;border-radius:26px}
.profile-page .profile-hero-copy h1{font-family:'Inter',sans-serif;font-size:clamp(2.2rem,4.2vw,4rem);line-height:1.03;letter-spacing:-.04em;margin-bottom:12px;max-width:none}
.profile-page .profile-kicker,.profile-page .profile-card-kicker{display:inline-block;font-size:.82rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#346dac;margin-bottom:10px}
.profile-page .profile-role-line{font-size:1.18rem;font-weight:600;color:#183a63;margin-bottom:8px}
.profile-page .profile-location-line{color:#5f7086;line-height:1.6;margin-bottom:14px}
.profile-page .profile-summary{color:#4f6177;line-height:1.8;max-width:62ch;margin-bottom:16px}
.profile-page .profile-tag-cloud{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}
.profile-page .profile-tag{padding:8px 12px;border-radius:999px;border:1px solid #d7e4f4;background:#f4f8fd;color:#18416f;font-weight:600;font-size:.9rem}
.profile-page .tag-positive{background:#edf9f3;border-color:#c8ead7;color:#0b8a5b}
.profile-page .tag-neutral{background:#fff7ed;border-color:#f2d2a4;color:#9a5c07}
.profile-page .profile-link-row{display:flex;flex-wrap:wrap;gap:10px}
.profile-page .profile-detail-grid,.profile-page .profile-list-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.profile-page .profile-info-card,.profile-page .profile-list-card,.profile-page .profile-side-card{padding:24px}
.profile-page .profile-info-card h3,.profile-page .profile-list-card h3,.profile-page .profile-side-card h3{font-size:1.45rem;line-height:1.2;margin-bottom:14px}
.profile-page .profile-info-card p{color:#556779;line-height:1.8;margin:0}
.profile-page .profile-facts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px;margin:0}
.profile-page .profile-facts-grid div{padding:14px 16px;border-radius:18px;background:#f9fbfd;border:1px solid #e5ecf4}
.profile-page .profile-facts-grid dt{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:#72849a;font-weight:700;margin-bottom:8px}
.profile-page .profile-facts-grid dd{margin:0;color:#183a63;font-weight:700;line-height:1.55}
.profile-page .profile-facts-grid .fact-block-wide{grid-column:1 / -1}
.profile-page .profile-section-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:8px}
.profile-page .profile-list-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 0;border-top:1px solid #edf2f7}
.profile-page .profile-list-row:first-of-type{border-top:none;padding-top:4px}
.profile-page .profile-list-row strong{display:block;font-size:1.02rem;color:#183a63;margin-bottom:4px}
.profile-page .list-meta{color:#5f7086;line-height:1.55}
.profile-page .list-note{margin-top:4px;color:#7a8798;font-size:.94rem;line-height:1.55}
.profile-page .btn-sm{padding:10px 14px;border-radius:12px;font-size:.9rem;white-space:nowrap}
.profile-page .profile-side-column{position:sticky;top:104px}
.profile-page .profile-side-list{display:grid;gap:14px;margin-top:4px}
.profile-page .profile-side-item{padding:14px 16px;border-radius:18px;background:#f9fbfd;border:1px solid #e5ecf4;display:grid;gap:6px}
.profile-page .profile-side-item span{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:#72849a;font-weight:700}
.profile-page .profile-side-item strong{color:#183a63;line-height:1.5}
.profile-page .profile-action-btn{width:100%;margin-top:4px}
.profile-page .profile-inquiry-head{display:flex;align-items:center;gap:10px;margin:18px 0 12px;color:#183a63}
.profile-page .request-dot{width:10px;height:10px;border-radius:999px;background:#346dac;box-shadow:0 0 0 8px rgba(52,109,172,.12)}
.profile-page .profile-inquiry-form{display:grid;gap:12px}
.profile-page .profile-inquiry-form label span{display:block;font-weight:700;color:#183a63;margin-bottom:8px}
.profile-page .profile-help-text{margin:18px 0 0;color:#637287;line-height:1.7}
@media (max-width: 1080px){
  .profile-page .profile-layout-shell{grid-template-columns:1fr}
  .profile-page .profile-side-column{position:static}
}
@media (max-width: 760px){
  .profile-page .profile-hero-card{grid-template-columns:1fr;padding:22px}
  .profile-page .profile-hero-media{justify-content:flex-start}
  .profile-page .profile-detail-grid,.profile-page .profile-list-grid,.profile-page .profile-facts-grid{grid-template-columns:1fr}
  .profile-page .profile-list-row{flex-direction:column;align-items:stretch}
  .profile-page .profile-link-row{flex-direction:column}
}


/* Patch 21 verified: related professor recommendations */
.profile-related-row{
  align-items:flex-start;
  gap:16px;
}
.profile-related-copy{
  display:grid;
  gap:4px;
}
.profile-related-actions{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}
.profile-related-row .list-indicator{
  color:#1f6a4f;
  font-weight:700;
  font-size:.88rem;
}
.profile-related-row .list-note{
  margin-top:2px;
  color:#5d6f83;
  line-height:1.55;
}
.profile-related-row .match-reason-label.inline{
  display:block;
  margin-bottom:6px;
}
@media (max-width:720px){
  .profile-related-actions{width:100%}
  .profile-related-actions .btn{flex:1 1 100%;justify-content:center}
}
