/* One typography system across every institution. Keep font choices and type roles here. */
:root{
  --font-display:Georgia,"Times New Roman",serif;
  --font-body:"Segoe UI",Arial,sans-serif;
  --type-body:14px;
  --type-small:12px;
  --type-meta:10px;
  --type-panel:25px;
  --type-subheading:22px;
  --type-label:16px;
  --weight-regular:400;
  --weight-semibold:600;
}
body{font-family:var(--font-body);font-weight:var(--weight-regular);line-height:1.8}
button,input,select,textarea,table,summary{font-family:var(--font-body)}
input,select,textarea{font-weight:var(--weight-regular)}
input::placeholder,textarea::placeholder{font-family:inherit;font-size:inherit}
h1,h2,h3{font-family:var(--font-display);font-weight:var(--weight-regular)}
h4,h5,h6{font-family:var(--font-body);font-size:var(--type-label);font-weight:var(--weight-semibold);line-height:1.5;letter-spacing:0}
:is(h1,h2,h3,h4,h5,h6) :is(strong,b){font-weight:inherit;font-family:inherit}
strong,b{font-weight:var(--weight-semibold)}
.eyebrow{font-family:var(--font-body);font-size:var(--type-meta);font-weight:var(--weight-semibold);line-height:1.7}
.prose{font-size:var(--type-body);line-height:1.85}
.prose :is(h2,h3){font-weight:var(--weight-regular);letter-spacing:-.3px}
.prose h3{font-size:var(--type-subheading);line-height:1.4}
.prose :is(h4,h5,h6){font-size:var(--type-label);font-weight:var(--weight-semibold);line-height:1.5}
.prose :is(h4,h5,h6) :is(strong,b){font-weight:inherit}
.prose .content-panel>h2:first-child,
.prose .approval-section>h2:first-child,
.prose .fee-panel-heading h2,
.prose .disclosure-section-heading h2{font-size:var(--type-panel);line-height:1.35;font-weight:var(--weight-regular)}
/* Compact titles and navigation labels use the body face consistently. */
.programme-info h3,.prose .approval-section h3,.prose .disclosure-intake-card h3,
.naac-category>h3,.naac-subcriterion,.footer-grid h3{
  font-family:var(--font-body);font-weight:var(--weight-semibold);letter-spacing:0;line-height:1.6;
}
.programme-info h3{font-size:var(--type-body)}
.prose .approval-section h3{font-size:var(--type-body)}
.prose .disclosure-intake-card h3{font-size:var(--type-body)}
.programme-info p,.programme-info .card-bottom,.gallery-item>span,
.dental-resource-label,.fee-college-copy p,.fee-card-action{font-size:var(--type-small);line-height:1.7}
.button,.text-link,.dental-resource-label,.fee-card-action{font-weight:var(--weight-semibold)}
.af-heading p,.prose .af-heading p,.hero-enquiry-heading p,
.fee-contact-band p,.fee-help p,.fee-explanation p{font-size:var(--type-small);line-height:1.85}
.af-field>label,.hero-enquiry label,.af-consent,.hero-enquiry .hero-consent{font-size:var(--type-small);line-height:1.7}
.af-field :is(input,select,textarea){font-family:var(--font-body);font-size:var(--type-body);line-height:1.7}
.af-field :is(input,textarea)::placeholder{font-size:inherit}
.af-hint,.af-privacy,.prose .af-privacy,.af-field label small,.af-course-note,.hero-enquiry .hero-form-footnote,.hero-enquiry .hero-score-hint{font-size:11px;line-height:1.7}
.af-error,.af-refresh,.af-call-link{font-size:var(--type-small);line-height:1.7}
.prose table{font-family:var(--font-body);font-size:var(--type-small);line-height:1.7}
.prose th,.prose td{font-size:var(--type-small);line-height:1.7}
.prose thead th{font-weight:var(--weight-semibold)}
.prose .disclosure-table-scroll thead th{font-size:11px;line-height:1.7}
.prose .disclosure-table-scroll tbody :is(th,td){font-size:var(--type-small);line-height:1.7}
.prose .disclosure-table-scroll tbody th{font-weight:var(--weight-semibold)}
.prose a.disclosure-document,.disclosure-contact-group>summary,.approval-document-title{font-size:var(--type-small);line-height:1.7}
.disclosure-updated,.disclosure-group-count,.disclosure-document-type,.approval-document-action{font-size:var(--type-meta);line-height:1.7}
.fee-amount{font-variant-numeric:tabular-nums}
@media(max-width:760px){
  :root{--type-panel:23px;--type-subheading:21px;--type-label:15px}
  .prose{font-size:var(--type-body);line-height:1.85}
  .page-outline h2{font-family:var(--font-body);font-weight:var(--weight-semibold)}
  .af-field :is(input,select,textarea),.hero-enquiry :is(input:not([type=checkbox]),select),
  .college-filter select,.naac-search input,#site-search{font-size:16px}
  .hero-enquiry :is(input,select)::placeholder{font-size:inherit}
  .prose .disclosure-contacts tbody .disclosure-role{font-size:var(--type-small)}
  .prose .fee-panel .fee-table tbody :is(th,td){font-size:var(--type-small);line-height:1.7}
  .fee-table td::before{font-size:11px;line-height:1.7}
}
