html,body{max-width:100%;overflow-x:hidden}img{max-width:100%}h1,h2,h3,p,dd,a{overflow-wrap:anywhere}.site-header,.top{position:relative;z-index:100}.student-body,.alumni-body,.member-main,.person-profile-grid>div{min-width:0}

@media(max-width:850px){
  .site-header{min-height:72px;height:auto;padding:10px 18px;gap:12px;align-items:center}
  .site-header .brand{min-width:0;max-width:calc(100% - 58px)}
  .site-header .university-logo{width:min(215px,58vw);max-width:100%;height:auto}
  .site-header .lab-name{display:none}
  .site-header .menu-toggle{display:block;flex:0 0 auto;min-width:44px;min-height:44px;padding:8px;margin-left:auto;color:var(--ink);position:relative;z-index:102}
  .site-header nav{display:none;position:absolute;top:100%;left:0;right:0;width:100%;height:auto;max-height:calc(100vh - 72px);overflow-y:auto;margin:0;padding:10px 18px 18px;background:var(--paper,#fff);border-bottom:1px solid var(--line);box-shadow:0 12px 28px rgba(21,35,48,.12);z-index:101;flex-direction:column;align-items:stretch}
  .site-header nav.open{display:flex}
  .site-header nav a{display:block;width:100%;padding:13px 4px;border-bottom:1px solid var(--line);box-shadow:none!important}
  .site-header .nav-cta{display:none}
  .page-hero{padding:3.5rem 20px 3rem}
  .page-hero h1{font-size:clamp(2.7rem,13vw,4.4rem);line-height:1.02;margin:1rem 0}
  .content-wrap{padding:3.5rem 20px}
  footer{padding:28px 20px;gap:18px;flex-wrap:wrap}
  footer .brand{max-width:100%}
  footer .footer-logo{width:min(210px,70vw)}
}

@media(max-width:700px){
  .short-hero .hero-inner{padding-left:18px!important;padding-right:18px!important}
  .short-hero h1{font-size:clamp(2.35rem,11.7vw,3.2rem)!important;line-height:1.04}
  .short-hero .hero-links{align-items:flex-start;flex-wrap:wrap;gap:14px}
  .portal{padding-left:18px!important;padding-right:18px!important}
  .member{grid-template-columns:1fr!important;gap:1.5rem;padding-bottom:2.5rem}
  .member>img{width:min(100%,320px)!important;height:auto!important;aspect-ratio:4/5;object-fit:cover}
  .member-facts{grid-column:auto!important}
  .pi-detail-grid{gap:14px}
  .pi-detail-grid>section{padding:20px}
  .students-grid{grid-template-columns:1fr;gap:14px}
  .student-tile{min-width:0}
  .student-body dl{grid-template-columns:78px minmax(0,1fr)}
  .alumni-grid{grid-template-columns:1fr}
  .alumni-tile{min-width:0}
  .alumni-affiliation{font-size:.88rem}
  .person-profile-head{padding:2rem 20px 3rem}
  .person-profile-grid{grid-template-columns:1fr;gap:1.75rem}
  .person-profile-grid>img{width:min(180px,52vw);height:auto;aspect-ratio:4/5}
  .person-profile-grid h1{font-size:clamp(2.8rem,14vw,4.2rem)}
  .person-profile-body{grid-template-columns:1fr;padding:3rem 20px;gap:2.5rem}
  .pub-item,.book-list article{grid-template-columns:46px minmax(0,1fr);gap:12px}
  .pub-item h2{font-size:1.08rem;line-height:1.45}
  .pub-authors,.pub-venue{font-size:.76rem!important}
  .publication-heading{grid-template-columns:minmax(0,1fr) auto}
}

@media(max-width:520px){
  .student-tile{grid-template-columns:92px minmax(0,1fr)!important;min-height:0}
  .student-tile .student-photo{width:92px!important;height:118px!important;aspect-ratio:auto!important;object-fit:cover!important;object-position:center top}
  .student-body{padding:14px}
  .student-body h2{font-size:1.4rem}
  .student-body dl{grid-column:1/-1}
  .student-body .topic-list{gap:5px}
  .alumni-tile{grid-template-columns:76px minmax(0,1fr);padding:10px}
  .alumni-photo.original-ratio,.alumni-monogram{width:76px;height:auto}
  .alumni-body{padding:0 0 0 12px}
  .alumni-body h2{font-size:1.4rem}
  .alumni-links{flex-wrap:wrap}
  .profile-timeline{grid-template-columns:1fr}
  .profile-timeline dt{padding-bottom:.2rem}
  .profile-timeline dd{padding-top:0;border-top:0;margin-bottom:.5rem}
  .callout{padding:2rem 1.4rem}
  .callout h2{font-size:2.1rem}
}
