.masthead-inner,
.page-content{
      width: min(calc(100% - 48px), var(--content)); margin-inline: auto;
    }
.masthead{
      position: relative; isolation: isolate; overflow: hidden; color: var(--white);
      background:
        radial-gradient(circle at 86% 18%, rgba(47, 111, 159, 0.38), transparent 31%),
        linear-gradient(118deg, var(--navy-950), var(--navy-900) 58%, var(--academic-blue));
    }
.masthead::before{
      position: absolute; z-index: -1; inset: 0; opacity: 0.16; content: ""; pointer-events: none;
      background-image:
        linear-gradient(rgba(255, 255, 255, 0.18) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.18) 1px, transparent 1px);
      background-size: 64px 64px;
      mask-image: linear-gradient(to left, #000, transparent 80%);
    }
.masthead::after{
      position: absolute; z-index: -1; right: -105px; bottom: -190px; width: 350px; height: 350px;
      border: 1px solid rgba(255, 255, 255, 0.16); border-radius: 50%; content: "";
      box-shadow: 0 0 0 58px rgba(255, 255, 255, 0.025), 0 0 0 116px rgba(255, 255, 255, 0.018);
    }
.masthead-inner{ position: relative; z-index: 1; padding: 132px 0 54px; }
.masthead-eyebrow{
      display: flex; align-items: center; gap: 11px; margin: 0 0 13px;
      color: rgba(255, 255, 255, 0.72); font-size: 11px; font-weight: 800;
      letter-spacing: 0.17em; text-transform: uppercase;
    }
.masthead-eyebrow::before{
      width: 28px; height: 2px; border-radius: 999px; background: var(--red); content: "";
    }
.masthead-title{
      max-width: 850px; margin: 0; font-size: clamp(2.65rem, 6vw, 4.5rem);
      font-weight: 800; letter-spacing: -0.052em; line-height: 0.98;
    }
.masthead-subtitle{
      max-width: 760px; margin: 18px 0 0; color: rgba(255, 255, 255, 0.74);
      font-size: clamp(0.95rem, 1.7vw, 1.08rem); line-height: 1.65;
    }
.page-content{ padding: 56px 0 80px; }
.researchers-page{ min-width: 0; }
.research-section + .research-section{ margin-top: 40px; }
.research-section{ scroll-margin-top: 24px; }
.section-title{
      margin: 0 0 20px; color: var(--navy-900); font-size: 24px; font-weight: 800;
      letter-spacing: -0.025em;
    }
.section-title::after{
      display: block; width: 42px; height: 3px; margin-top: 10px; border-radius: 999px;
      background: var(--red); content: "";
    }
.profile-grid{
      display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px;
    }
.profile-card{
      display: flex; min-width: 0; overflow: hidden; flex-direction: column; border: 1px solid var(--line);
      border-top: 3px solid var(--red); border-radius: var(--radius-md); background: var(--white);
      box-shadow: 0 14px 34px rgba(11, 65, 111, 0.07); transition: box-shadow 180ms ease, transform 180ms ease;
    }
.profile-card:hover{ transform: translateY(-2px); box-shadow: var(--shadow); }
.profile-top{
      display: flex; align-items: center; gap: 16px; min-height: 112px; padding: 18px;
      border-bottom: 1px solid var(--line-soft);
      background: linear-gradient(135deg, #fff 0%, #fafbfc 100%);
    }
.avatar{
      position: relative; display: grid; flex: 0 0 76px; width: 76px; height: 76px;
      aspect-ratio: 1 / 1; overflow: hidden; border: 1px solid var(--line); border-radius: 50%; place-items: center;
      background: var(--avatar); color: var(--red-dark); font-size: 18px; font-weight: 700;
    }
.avatar img{
      position: absolute; z-index: 1; display: block; width: 100%; height: 100%; object-fit: cover;
      background: #fff;
    }
.profile-name{
      margin: 0; color: var(--ink); font-size: 18px; font-weight: 800; line-height: 1.3;
    }
.course-meta{ margin: 5px 0 0; color: #626c75; font-size: 13px; line-height: 1.35; }
.course-meta-label{ color: var(--academic-blue-dark); font-weight: 700; }
.course-meta-value{ color: #626c75; }
.course-meta-separator{ padding: 0 3px; color: #a0a6ac; }
.profile-details{ margin: 0; padding: 4px 18px 10px; }
.profile-detail{
      display: grid; grid-template-columns: 78px minmax(0, 1fr); gap: 11px; padding: 12px 0;
      border-bottom: 1px solid var(--line-soft); font-size: 14px; line-height: 1.55;
    }
.profile-detail:last-child{ border-bottom: 0; }
.profile-detail dt{ color: var(--muted); font-size: 12.5px; font-weight: 700; }
.profile-detail dd{ min-width: 0; margin: 0; white-space: pre-line; overflow-wrap: anywhere; }
.achievement-summary{
      margin-top: auto; padding: 12px 18px 14px; border-top: 1px solid var(--line);
      background: var(--academic-blue-soft); color: var(--ink);
    }
.achievement-summary-label{
      display: block; margin-bottom: 6px; color: var(--red-dark); font-size: 12px; font-weight: 800;
    }
.achievement-summary-list{ display: grid; gap: 5px; }
.achievement-row{
      display: flex; min-width: 0; align-items: flex-start; justify-content: space-between;
      gap: 14px; font-size: 13.5px; line-height: 1.45;
    }
.achievement-label{
      min-width: 0; color: #46576a; font-size: 12.5px; font-weight: 700;
    }
.achievement-value{
      min-width: 0; margin-left: auto; text-align: right; white-space: pre-line; overflow-wrap: anywhere;
    }
@media (min-width: 901px){.profile-grid--1{ grid-template-columns: minmax(360px, 460px); }
.profile-grid--2{ grid-template-columns: repeat(2, minmax(360px, 460px)); }}
.pi-grid{ grid-template-columns: minmax(0, 1fr); }
.pi-card{ width: 100%; max-width: none; border-top-width: 4px; }
.pi-card .profile-top{
      min-height: 186px; gap: 25px; padding: 27px 30px;
      background: linear-gradient(120deg, #fff 0%, #f6f9fb 100%);
    }
.pi-card .avatar{ flex-basis: 132px; width: 132px; height: 132px; font-size: 27px; }
.pi-card .profile-name{ font-size: 28px; letter-spacing: -0.025em; }
.pi-card .profile-details{
      display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 34px; padding: 7px 30px 19px;
    }
.pi-card .profile-detail{ display: block; padding: 17px 0; }
.pi-card .profile-detail dt{ margin-bottom: 9px; color: #4d5863; font-size: 13px; }
.pi-timeline{ display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.pi-timeline li{ position: relative; padding-left: 15px; font-size: 14px; line-height: 1.55; }
.pi-timeline li::before{
      position: absolute; top: 0.62em; left: 0; width: 5px; height: 5px; border-radius: 50%;
      background: var(--academic-blue-light); content: "";
    }
.pi-activities{
      margin: 0; padding: 18px 30px 20px;
      background: #fff; color: var(--ink);
    }
.pi-activity-label{
      display: block; margin-bottom: 7px; color: var(--red-dark); font-size: 13px; font-weight: 700;
    }
.pi-activity-value{ font-size: 14px; line-height: 1.6; white-space: pre-line; overflow-wrap: anywhere; }
.alumni-panel{
      overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-md);
      background: var(--white); box-shadow: 0 14px 34px rgba(11, 65, 111, 0.07);
    }
.alumni-panel-head{
      display: flex; min-height: 66px; align-items: center;
      padding: 15px 20px; border-top: 3px solid var(--red);
    }
.alumni-summary-title{ margin: 0; color: var(--navy-900); font-size: 18px; font-weight: 800; }
.alumni-list{ margin: 0; padding: 0 20px 18px; border-top: 1px solid var(--line-soft); list-style: none; }
.alumni-item{
      display: grid; grid-template-columns: minmax(150px, .8fr) minmax(0, 2.2fr); gap: 18px;
      align-items: center; padding: 13px 0; border-bottom: 1px solid var(--line-soft);
    }
.alumni-item:last-child{ border-bottom: 0; }
.alumni-name{ color: var(--ink); font-size: 14px; font-weight: 800; }
.alumni-facts{ display: flex; flex-wrap: wrap; gap: 7px 16px; margin: 0; }
.alumni-fact{ color: var(--muted); font-size: 12.5px; line-height: 1.55; }
.alumni-fact dt,
.alumni-fact dd{ display: inline; margin: 0; }
.alumni-fact dt{ color: #46576a; font-weight: 750; }
.alumni-fact--summary{
      display: grid; flex-basis: 100%; grid-template-columns: 66px minmax(0, 1fr); gap: 9px;
      align-items: start; padding-top: 3px; color: var(--ink);
    }
.alumni-fact--summary dt,
.alumni-fact--summary dd{ display: block; }
.alumni-achievement-list{ display: flex; flex-wrap: wrap; gap: 5px 7px; }
.alumni-achievement{
      display: inline-flex; min-width: 0; gap: 5px; padding: 3px 7px;
      border: 1px solid #d7e3ec; border-radius: 7px; background: #f6f9fb;
    }
.alumni-achievement-label{ color: var(--academic-blue-dark); font-weight: 750; }
.alumni-achievement-value{ white-space: pre-line; overflow-wrap: anywhere; }
.table-shell{
      overflow-x: auto; overflow-y: visible; border: 1px solid var(--line); border-radius: 16px;
      background: #fff; box-shadow: 0 14px 34px rgba(11, 65, 111, 0.07);
      scrollbar-color: #abb3bb #f3f4f5; scrollbar-width: thin;
    }
table{ width: 100%; min-width: 650px; border-collapse: collapse; table-layout: fixed; }
th{
      padding: 11px 12px; border-top: 3px solid var(--red);
      border-bottom: 1px solid #cfd5da; background: #f7f8fa; color: #37414b; font-size: 12px;
      font-weight: 700; line-height: 1.35; text-align: left; vertical-align: middle; white-space: pre-line;
    }
td{
      padding: 12px; border-bottom: 1px solid var(--line); color: #30363c; font-size: 13px;
      line-height: 1.5; vertical-align: middle; white-space: pre-line; overflow-wrap: anywhere;
    }
tbody tr:nth-child(even){ background: #fbfcfd; }
tbody tr:hover{ background: #f6f8fa; }
tbody tr:last-child td{ border-bottom: 0; }
td:first-child{ color: #202124; font-weight: 700; }
.empty{
      padding: 23px 14px; border: 1px solid var(--line); border-radius: 16px;
      background: #fff; color: var(--muted); text-align: center;
    }
#error{
      display: none; padding: 28px 18px; border: 1px solid #f1c8c8; border-radius: 16px;
      background: #fff6f6; color: #a02020; text-align: center;
    }
@media (max-width: 900px){.profile-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pi-grid{ grid-template-columns: minmax(0, 1fr); }
.pi-card .profile-details{ grid-template-columns: minmax(0, 1fr); }}
@media (max-width: 767px){.masthead-inner,
.page-content{ width: min(calc(100% - 24px), var(--content)); }
.masthead-inner{ padding: 118px 0 42px; }
.masthead-title{ font-size: clamp(2.45rem, 15vw, 3.8rem); }
.masthead-subtitle{ margin-top: 14px; }
.page-content{ padding: 40px 0 56px; }
.research-section + .research-section{ margin-top: 38px; }
.section-title{ margin-bottom: 16px; font-size: 20px; }
.profile-card{ border-radius: 16px; }}
@media (max-width: 600px){.profile-grid{ grid-template-columns: 1fr; gap: 13px; }
.profile-top{ min-height: 96px; padding: 15px; }
.avatar{ flex-basis: 64px; width: 64px; height: 64px; font-size: 16px; }
.profile-name{ font-size: 16px; }
.profile-details{ padding: 3px 14px 9px; }
.profile-detail{ grid-template-columns: 76px minmax(0, 1fr); padding: 11px 0; font-size: 13px; }
.achievement-summary{ padding: 11px 14px 13px; }
.achievement-row{ font-size: 13px; }
.pi-card .profile-top{ min-height: 132px; gap: 16px; padding: 18px 15px; }
.pi-card .avatar{ flex-basis: 92px; width: 92px; height: 92px; font-size: 19px; }
.pi-card .profile-name{ font-size: 22px; }
.pi-card .profile-details{ padding: 3px 14px 9px; }
.pi-card .profile-detail{ grid-template-columns: 1fr; gap: 4px; padding: 11px 0; }
.pi-card .profile-detail dt{ margin-bottom: 6px; }
.pi-timeline{ gap: 6px; }
.pi-timeline li{ font-size: 13px; }
.pi-activities{ padding: 14px 15px 16px; }
.pi-activity-value{ font-size: 13px; }
.alumni-panel{ border-radius: 16px; }
.alumni-panel-head{ min-height: 60px; padding: 13px 15px; }
.alumni-summary-title{ font-size: 16px; }
.alumni-list{ padding: 0 15px 12px; }
.alumni-item{ grid-template-columns: 1fr; gap: 6px; padding: 13px 0; }
.alumni-facts{ display: grid; gap: 4px; }
.alumni-fact--summary{ grid-template-columns: 1fr; gap: 4px; padding-top: 5px; }
.table-shell{ overflow: visible; max-height: none; border: 0; border-radius: 0; box-shadow: none; background: transparent; }
table,
thead,
tbody,
tr,
th,
td{ display: block; }
table{ min-width: 0; table-layout: auto; }
thead{ display: none; }
tbody tr{
        margin-bottom: 10px; overflow: hidden; border: 1px solid var(--line);
        border-top: 3px solid var(--red); border-radius: 16px; background: #fff !important;
      }
td{
        display: grid; grid-template-columns: minmax(74px, 34%) minmax(0, 1fr); gap: 10px;
        padding: 9px 11px; border-bottom: 1px solid var(--line-soft); font-size: 12.5px;
      }
td::before{ color: var(--muted); content: attr(data-label); font-size: 11.5px; font-weight: 700; }
td:first-child{ padding: 11px; background: #f8f9fa; font-size: 13.5px; }
td:first-child::before{ color: #515a63; }
td:empty{ display: none; }}
@media (prefers-reduced-motion: reduce){.profile-card:hover{ transform: none; }}
