/* ═══════════════════════════════════════════════════════════════
   SDSN Typography — Merriweather + Source Sans 3
   Font families and sizes only; does not alter layout/spacing.
   ═══════════════════════════════════════════════════════════════ */

:root {
  --font-heading: 'Merriweather', Georgia, 'Times New Roman', serif;
  --font-body: 'Source Sans 3', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --text-body: 1.0625rem;       /* 17px */
  --text-body-lg: 1.125rem;     /* 18px */
  --text-ui: 0.9375rem;         /* 15px */
  --text-ui-lg: 1rem;           /* 16px */
  --text-small: 0.8125rem;      /* 13px */
  --text-small-lg: 0.875rem;    /* 14px */
  --lh-body: 1.65;
  --lh-heading: 1.2;
}

/* ── Body ── */
body {
  font-family: var(--font-body);
  font-size: var(--text-body);
  line-height: var(--lh-body);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

@media (min-width: 1024px) {
  body {
    font-size: var(--text-body-lg);
  }
}

/* ── Headings — Merriweather ── */
.font-playfair,
h1,
h2,
h3,
h4,
h5,
h6,
.hero-title,
.latest-events-title,
.latest-events-title-main,
.latest-events-title-accent,
.testimonials-header-text h2,
.cta-premium h2,
.enquiry-modal-title,
.contact-branch-header h3,
.contact-map-block-header h3 {
  font-family: var(--font-heading);
  font-feature-settings: 'kern' 1, 'liga' 1;
}

/* H1 — 52–60px */
h1,
.hero-title,
.page-banner h1 {
  font-weight: 700;
  font-size: clamp(2rem, 2.5vw + 1.25rem, 3.75rem) !important;
  line-height: 1.12;
  letter-spacing: -0.015em;
}

/* H2 — 36–42px */
h2,
.latest-events-title,
.testimonials-header-text h2,
.cta-premium h2 {
  font-weight: 600;
  font-size: clamp(1.75rem, 1.6vw + 0.9rem, 2.625rem) !important;
  line-height: var(--lh-heading);
  letter-spacing: -0.01em;
}

/* H3 — 24–28px */
h3,
.institution-card-body h3,
.why-card-content h3,
.contact-institution-name {
  font-weight: 600;
  font-size: clamp(1.375rem, 1vw + 0.65rem, 1.75rem) !important;
  line-height: 1.25;
}

h4,
h5,
h6,
.footer-col-title {
  font-family: var(--font-heading);
  font-weight: 600;
}

.hero-title-accent {
  font-family: inherit;
  font-weight: 600;
}

/* ── Navigation & buttons — Source Sans 3, 15–16px ── */
.site-nav-link,
.nav-dropdown-trigger,
.nav-dropdown-menu a,
.mobile-nav-link,
.mobile-nav-toggle,
.mobile-apply-btn,
.mobile-drawer-contact a,
.topbar-link,
.hero-btn,
.cta-btn-primary,
.cta-btn-secondary,
.courses-more-btn,
.gallery-filter,
.course-tab,
.enquiry-float-tab,
.enquiry-modal-close,
.enquiry-form-submit,
button,
input,
select,
textarea,
a.bg-gold,
a.bg-navy,
.footer-contact-cta,
.premium-map-directions-btn,
.contact-phone-link {
  font-family: var(--font-body);
  font-size: var(--text-ui-lg);
}

@media (max-width: 1023px) {
  .site-nav-link,
  .nav-dropdown-menu a,
  .mobile-nav-link,
  .mobile-nav-toggle,
  .hero-btn {
    font-size: var(--text-ui);
  }
}

/* ── Small labels — 13–14px ── */
.announcement-ticker-link,
.announcement-ticker-text,
.announcement-ticker-label-inner,
.topbar-badge,
.hero-stat-label,
.why-stat-label,
.why-choose-badge,
.testimonials-badge,
.event-card-title,
.event-card-link,
.testimonial-role,
.footer-col-title,
.footer-copyright,
.contact-branch-badge,
.contact-map-num,
.college-location-tag,
.text-xs,
label,
.enquiry-form-label {
  font-family: var(--font-body);
  font-size: var(--text-small-lg);
  line-height: 1.45;
}

.text-sm,
.footer-about-text,
.institution-card-desc,
.contact-institution-address,
.contact-institution-row {
  font-size: var(--text-small-lg);
}
