/* Smartphone layout: preserve readable text, full team photo and comfortable touch targets. */
@media (max-width:58rem){
  .nav{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;position:static}
  .brand{min-width:0;gap:.5rem}.brand>span:last-child{min-width:0}.brand b{white-space:normal}
  .menu{min-width:3.75rem;min-height:3rem;justify-self:end}
  .nav nav.open{max-height:calc(100dvh - 6rem);overscroll-behavior:contain;padding:1rem max(1.125rem,env(safe-area-inset-right)) 1rem max(1.125rem,env(safe-area-inset-left))}
  .nav nav>a:not(.button){min-height:3rem;padding:.6rem .5rem}.nav nav .button{min-height:3rem}
  .hero-photo{height:auto;min-height:0;max-height:none;aspect-ratio:auto;display:block;clip-path:none;overflow:hidden}
  .hero-photo img{position:static;display:block;width:100%;height:auto;max-height:none;object-fit:contain;transform:none}
  .hero-photo:after{display:none}.hero-photo figcaption{position:static;margin:0;padding:1rem 1.125rem;background:#091427}
  .hero-photo .photo-label{top:.75rem;right:.75rem;font-size:.6875rem}
  .hero-copy{padding:2rem 0 1.5rem}.hero .lead{margin-top:1.25rem}.hero-note{gap:.6rem;line-height:1.7}
  .times{grid-template-columns:minmax(0,1fr)}.times>div,.times>div:first-child{grid-template-columns:minmax(0,1fr) auto auto;gap:.5rem;padding:.8rem 0}
  .times strong{font-size:1.625rem}.times p{grid-column:1/-1}
  .section{padding-top:2.75rem;padding-bottom:2.75rem}.about,.visit{gap:1.5rem}
  .team-detail{width:100%;max-height:none;height:auto;object-fit:contain}
  .visit figure{height:auto;min-height:0}.visit figure img{display:block;width:100%;height:auto;object-fit:contain}
  .archive-list>a,.document-list>a,.page-links>a{min-height:3rem;padding-top:.75rem;padding-bottom:.75rem}
  .archive-list strong{line-height:1.4}.archive-list>a{gap:.75rem}
  .page-grid{margin-top:1.75rem;gap:1.75rem}.prose{min-width:0}.prose p,.prose li{overflow-wrap:break-word}
  .table-scroll{border:1px solid #c4ccda;border-radius:.25rem;overscroll-behavior-x:contain}
  .table-hint{display:block;font-size:.875rem!important;color:#526075;margin:1.25rem 0 -.75rem}
  .contact .button,.hero .button{min-height:3rem}.contact-email{display:inline-flex;align-items:center;min-height:3rem;max-width:100%;word-break:break-word}
  .footer-links>div{gap:.35rem 1rem}.footer-links a{min-height:3rem}
}
.table-hint{display:none}
@media(max-width:58rem){.table-hint{display:block}}
@media(max-width:40rem){
  .hero h1{font-size:clamp(2.9rem,11vw,4.4rem)}
  .hero .button{display:flex;justify-content:space-between;width:100%;font-size:.875rem}
  .hero-note span+span{border-left:0;padding-left:0}.hero-note{justify-content:space-between;font-size:.75rem}
  .disciplines article,.disciplines article+article{padding:1.5rem 0}.disciplines p{margin-top:.5rem}
  .page-heading h1{font-size:clamp(1.875rem,7.6vw,2.5rem);hyphens:auto}
  .page-heading{margin-top:1rem;padding:1.25rem}.contact{padding-top:2.5rem;padding-bottom:2.5rem}
  .news{gap:1.5rem}.contact h2{font-size:2.5rem}.prose table{font-size:.9375rem}
}
@media(max-width:24rem){.times strong{font-size:1.375rem}.brand b{font-size:.75rem}.brand{font-size:.6875rem}.menu{padding:.5rem}.hero-note{justify-content:flex-start}.hero-photo figcaption strong{font-size:1.5rem}}
@media(forced-colors:active){.hero-photo figcaption{background:Canvas}.table-scroll{border-color:CanvasText}}
