
/* =========================================================
   V27.1 — Global readable typography
   Loaded LAST on all public frontend layouts.
   Keeps CMS typography controls, but prevents unreadably small text.
   ========================================================= */

:root{
  --az-min-body:16px;
  --az-min-copy:15px;
  --az-min-small:13px;
  --az-min-label:13px;
  --az-min-card-title:18px;
}

/* Main public UI */
body{
  font-size:max(var(--font-base,16px),var(--az-min-body)) !important;
  line-height:1.75 !important;
  color:#173a61;
}

/* Normal paragraphs */
body p,
body .about260-prose,
body .home-map270__head p,
body .home-end270-cta p,
body .department-content p,
body .news-body p,
body .faculty-card p,
body .contact249-form-head p,
body .contact249-social>p{
  font-size:max(var(--az-min-copy),.94rem) !important;
  line-height:1.9 !important;
  color:#50677d;
}

/* Small/meta text must remain readable */
body small,
body .section-label,
body .eyebrow,
body [class*="label"],
body [class*="eyebrow"],
body [class*="kicker"],
body [class*="meta"]{
  font-size:max(var(--az-min-small),.80rem) !important;
  line-height:1.65 !important;
}

/* Strong/card labels */
body .department-content>span,
body .department-card>span,
body .news-card>span,
body .home-file248__copy>span,
body .home-map270__kicker{
  font-size:13px !important;
}

/* Headings */
body h1{
  font-size:max(var(--font-h1,42px),42px) !important;
  line-height:1.3 !important;
}
body h2{
  font-size:max(var(--font-h2,28px),28px) !important;
  line-height:1.42 !important;
}
body h3{
  font-size:max(var(--font-card-title,18px),18px) !important;
  line-height:1.5 !important;
}

/* Header/navigation */
body .main-nav a,
body .main-nav button,
body .student-btn,
body .top-info-bar,
body .top-info-bar a,
body .top-info-bar span{
  font-size:14px !important;
}

/* Buttons and links */
body .btn,
body button,
body .text-link,
body [class*="__link"],
body [class*="actions"] a{
  font-size:14px !important;
}

/* Forms */
body label{
  font-size:14px !important;
}
body input,
body select,
body textarea{
  font-size:15px !important;
}

/* Department cards: screenshot showed these descriptions too small */
body .department-content h3{
  font-size:20px !important;
}
body .department-content p{
  font-size:15px !important;
  line-height:1.8 !important;
  color:#50677d !important;
}
body .department-meta small{
  font-size:13px !important;
}
body .department-content a{
  font-size:14px !important;
}

/* About page */
body .about260-pillars p,
body .about260-goals__grid p{
  font-size:15px !important;
}
body .about260-section-head>p{
  font-size:14px !important;
}
body .about260-overview__facts span{
  font-size:13px !important;
}

/* CTA + map */
body .home-end270-cta__copy>span,
body .home-map270__kicker{
  font-size:14px !important;
}
body .home-end270-cta h2{
  font-size:30px !important;
}
body .home-end270-cta p,
body .home-map270__head p{
  font-size:16px !important;
}
body .home-map270__details small{
  font-size:13px !important;
}
body .home-map270__details strong{
  font-size:15px !important;
}
body .home-map270__placeholder strong{
  font-size:16px !important;
}
body .home-map270__placeholder small{
  font-size:13px !important;
}

/* Director message */
body .home-director264__eyebrow,
body .about263-director__eyebrow{
  font-size:14px !important;
}
body .home-director264 h2,
body .about263-director h2{
  font-size:28px !important;
}
body .home-director264 p,
body .about263-director p{
  font-size:16px !important;
}
body .home-director264__signature strong,
body .about263-director__signature strong{
  font-size:14px !important;
}

/* News / calendar / files / gallery */
body .news-body h3,
body .home-event-v243__content h3,
body .home-file248__copy strong,
body .home-gallery232__content h3{
  font-size:18px !important;
}
body .news-body small,
body .home-event-v243__content small,
body .home-file248__copy small,
body .home-gallery232__content small{
  font-size:13px !important;
}

/* Footer */
body .footer h4{
  font-size:17px !important;
}
body .footer a,
body .footer p,
body .copyright{
  font-size:13px !important;
}

/* Faculty layout also loads this stylesheet */
body .faculty-directory-v12 p,
body .faculty-profile-v8 p,
body .faculty-profile-v103__publication-card p{
  font-size:14px !important;
}
body .faculty-directory-v12 small,
body .faculty-profile-v8 small{
  font-size:12.5px !important;
}

/* Responsive readability */
@media(max-width:700px){
  :root{
    --az-min-body:15px;
    --az-min-copy:14px;
    --az-min-small:12px;
  }

  body h1{
    font-size:max(calc(var(--font-h1,42px) * .78),30px) !important;
  }
  body h2{
    font-size:max(calc(var(--font-h2,28px) * .86),23px) !important;
  }
  body h3{
    font-size:max(calc(var(--font-card-title,18px) * .94),17px) !important;
  }

  body .main-nav a,
  body .main-nav button,
  body .student-btn{
    font-size:14px !important;
  }
}
