/* v177 — readability across large desktop monitors and narrow windows.
   Loaded LAST to avoid touching the existing layout, artwork, translations,
   registration behaviour, or the CMS. No fixed desktop font pixel lock. */
@media (min-width: 1181px){
  .site-header .site-nav{font-size:clamp(16px,.9vw,22px) !important;gap:clamp(12px,1.05vw,28px) !important}
  .site-header .site-nav > a:not(.nav-cta){font-size:inherit !important}
  .site-header .site-nav .nav-apply,
  .site-header .site-nav .nav-contact{font-size:clamp(16px,.9vw,21px) !important;padding:clamp(12px,.8vw,17px) clamp(16px,1vw,26px) !important}
  .site-header .language-select{font-size:clamp(14px,.8vw,19px) !important}
  .site-header .brand-copy small{font-size:clamp(12px,.72vw,16px) !important}
  .hero .hero-lead{font-size:clamp(22px,1.45vw,32px) !important}
  .hero-actions .button,
  .contact-actions .button{font-size:clamp(17px,1vw,23px) !important;min-height:clamp(58px,3.8vw,75px)}
  .eyebrow{font-size:clamp(17px,1.05vw,23px) !important}
  .card-kicker{font-size:clamp(16px,.85vw,20px) !important}
  .statement-copy p,.collab-intro>p:last-child,.fields-head>p:not(.eyebrow),
  .program-copy>p:not(.card-kicker){font-size:clamp(20px,1.32vw,29px) !important}
  .program-copy a,.text-link,.field-card-copy p,.facility-copy p,
  .field-card p,.partner-panel-description,.contact-card>p:not(.eyebrow),
  .director-copy>p[data-i18n="director.bio"]{font-size:clamp(19px,1.12vw,27px) !important;line-height:1.5}
  .field-card-copy h3,.internship-position-head h3{font-size:clamp(23px,1.6vw,36px)}
  .application-cta{font-size:clamp(17px,1vw,23px) !important;min-height:clamp(58px,3.4vw,76px);padding:clamp(12px,.85vw,19px) clamp(20px,1.1vw,32px)}
  .contact-card .display{font-size:clamp(43px,3.6vw,88px) !important;line-height:1.06 !important}
  .site-footer,.site-footer a,.site-footer p{font-size:clamp(16px,.87vw,21px)}
}
/* Avoid shrunken text on compact desktops, where the header has limited width. */
@media (min-width: 1181px) and (max-width: 1400px){
  .site-header .site-nav{gap:10px !important}
  .site-header .site-nav .nav-apply,.site-header .site-nav .nav-contact{padding-inline:15px !important}
}
@media (min-width: 821px) and (max-width: 1180px){
  .fields .field-card-copy p,.contact-card>p:not(.eyebrow),.director-copy>p[data-i18n="director.bio"]{font-size:clamp(18px,1.75vw,21px) !important}
  .application-cta{font-size:clamp(16px,1.5vw,19px) !important}
}
/* University cards beneath the director's biography. Each links to QS itself. */
.director-copy{min-width:0}
.director-copy h2{overflow-wrap:anywhere}
.director-universities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,1.5vw,22px);margin-top:clamp(24px,2.25vw,38px)}
.director-university-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0;gap:clamp(8px,.75vw,13px);padding:clamp(15px,1.25vw,24px);border:2px solid var(--ink);border-radius:clamp(14px,1.2vw,22px);background:#fffdf5;color:var(--ink);box-shadow:5px 5px 0 var(--ink);transition:transform .18s ease,box-shadow .18s ease}
.director-university-card:hover,.director-university-card:focus-visible{transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--ink)}
.director-university-card:focus-visible{outline:3px solid #bd451d;outline-offset:4px}
.director-university-logo{display:grid;place-items:center;width:100%;height:clamp(66px,5.5vw,115px);padding:clamp(4px,.5vw,10px);overflow:hidden;border-radius:10px;background:#fff}
.director-university-logo img{width:100%;height:100%;object-fit:contain;object-position:center}
.director-university-logo-fallback{display:none;color:#143b70;font-family:var(--display);font-size:clamp(26px,2.35vw,46px)}
.director-university-logo.is-fallback img{display:none}
.director-university-logo.is-fallback .director-university-logo-fallback{display:block}
.director-university-degree{font-weight:900;letter-spacing:.09em;color:#a13f19;font-size:clamp(13px,.78vw,18px);line-height:1.3}
.director-university-name{font-weight:900;font-size:clamp(17px,1vw,24px);line-height:1.25;overflow-wrap:anywhere}
.director-university-rank{display:flex;flex-wrap:wrap;gap:.25em .45em;align-items:baseline;font-weight:800;font-size:clamp(15px,.87vw,21px);line-height:1.45}
.director-university-rank strong{font-family:var(--display);font-size:clamp(21px,1.45vw,32px);line-height:1.1;color:#153f71}
.director-university-edition{color:#5d5141;font-size:clamp(13px,.75vw,17px);line-height:1.3}
.director-university-note{font-size:clamp(12px,.75vw,17px);margin:18px 0 0;line-height:1.45;color:#443a2b}
@media (max-width: 820px){
  .director-universities{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .director-university-card{padding:14px;box-shadow:4px 4px 0 var(--ink)}
  .director-university-logo{height:70px}
  .director-university-name{font-size:clamp(15px,3.1vw,20px)}
  .director-university-rank{font-size:clamp(14px,3vw,18px)}
  .director-university-rank strong{font-size:clamp(22px,5vw,28px)}
  .director-university-edition{font-size:13px}
  .director-university-note{font-size:13px}
}
@media (max-width: 560px){
  .director-universities{grid-template-columns:1fr}
  .director-university-card{display:grid;grid-template-columns:80px minmax(0,1fr);gap:5px 12px;align-items:center;padding:12px}
  .director-university-logo{grid-row:span 4;height:82px;padding:3px}
  .director-university-degree{font-size:12px}
  .director-university-name{font-size:16px}
  .director-university-rank{font-size:14px}
  .director-university-rank strong{font-size:23px}
  .director-university-edition{font-size:12px}
}
/* Contact/WhatsApp enquiry modal: previous 13px labels were difficult to
   read on large high-density monitors, even though the page text scaled. */
@media (min-width: 1100px){
  .collab-wa-dialog{width:min(650px,calc(100% - 48px));max-width:650px;padding:clamp(24px,1.65vw,34px)}
  .collab-wa-dialog .collab-wa-kicker{font-size:14px}
  .collab-wa-dialog .collab-wa-intro{font-size:clamp(16px,.95vw,19px)}
  .collab-wa-dialog .collab-wa-form label,
  .collab-wa-dialog .collab-wa-type legend{font-size:clamp(15px,.85vw,18px)}
  .collab-wa-dialog .collab-wa-type-choice{font-size:clamp(15px,.85vw,18px) !important}
  .collab-wa-dialog .collab-wa-hint,
  .collab-wa-dialog .collab-wa-option-meta{font-size:clamp(13px,.75vw,16px)}
  .collab-wa-dialog .collab-wa-submit,.collab-wa-dialog .collab-wa-cancel{font-size:clamp(15px,.85vw,18px)}
}
@media (max-width: 820px){
  .director-copy>p[data-i18n="director.bio"]{font-size:clamp(17px,3vw,20px);line-height:1.55}
}
/* Preserve the footnote sizing even though the legacy rule styles the final
   paragraph inside .director-copy. */
.director-copy > p.director-university-note{
  font-size:clamp(13px,.8vw,17px) !important;
  line-height:1.5 !important;
  margin:clamp(16px,1.25vw,22px) 0 0 !important;
  color:#544b3e;
  max-width:100%;
}
