/* V59 — readable type + layout scale for tablet / PC / 1K / 2K */
:root {
  --mda-container: 1280px;
  --mda-header-w: 1440px;
  --mda-gutter: 40px;
  --mda-body: 17px;
  --mda-nav: 15px;
  --mda-cta: 13px;
  --mda-header-h: 96px;
  --mda-logo: 250px;
}

html {
  font-size: 100%;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  font-size: var(--mda-body) !important;
  line-height: 1.7;
}

.mda-container,
.container {
  width: min(var(--mda-container), calc(100% - var(--mda-gutter))) !important;
}

/* ——— Header / top menu ——— */
.mda-header .mda-container {
  width: min(var(--mda-header-w), calc(100% - var(--mda-gutter))) !important;
}

.mda-header-inner,
.mda-header .mda-header-inner {
  min-height: var(--mda-header-h) !important;
  gap: clamp(18px, 2vw, 40px) !important;
}

.mda-header.is-scrolled .mda-header-inner {
  min-height: calc(var(--mda-header-h) - 12px) !important;
}

.mda-header .mda-brand,
.mda-brand {
  width: var(--mda-logo) !important;
  max-width: min(var(--mda-logo), 28vw) !important;
}

.mda-header.is-scrolled .mda-brand {
  width: calc(var(--mda-logo) - 18px) !important;
}

.mda-header .mda-nav {
  gap: clamp(14px, 1.4vw, 28px) !important;
}

.mda-header .mda-nav a.mda-nav-link,
.mda-header .mda-nav a.mda-nav-link {
  min-height: 52px !important;
  padding: 12px 10px !important;
  font-size: var(--mda-nav) !important;
  font-weight: 800 !important;
  letter-spacing: .04em !important;
  line-height: 1.2 !important;
}

.mda-header .mda-nav a.mda-nav-cta {
  min-width: 168px !important;
  min-height: 56px !important;
  grid-template-columns: minmax(0, 1fr) 40px !important;
  gap: 10px !important;
  padding: 0 10px 0 20px !important;
  font-size: var(--mda-cta) !important;
  letter-spacing: .05em !important;
}

.mda-header .mda-nav a.mda-nav-cta > i {
  width: 40px !important;
  height: 40px !important;
}

.mda-header .mda-nav a.mda-nav-cta > i .mda-cta-arrow {
  width: 16px !important;
  height: 16px !important;
}

/* Body copy / section rhythm */
.academy-hero-copy > p,
.academy-intro-copy p,
.academy-programs .mda-section-head > p,
.mda-page-hero > .mda-container > p,
.mda-footer-brand p,
.mda-footer-premium .mda-footer-identity p {
  font-size: clamp(16px, 1.05vw, 19px) !important;
}

.mda-button {
  min-height: 56px !important;
  padding: 14px 26px !important;
  font-size: 13px !important;
}

.mda-eyebrow,
.mda-section-index,
.section-kicker {
  font-size: 12px !important;
}

.academy-hero-copy h1,
.mda-page-hero h1 {
  font-size: clamp(48px, 5.2vw, 88px) !important;
}

.academy-intro h2,
.mda-section-head h2,
.academy-method h2,
.mda-values h2,
.section-title {
  font-size: clamp(40px, 4.2vw, 68px) !important;
}

.mda-pro-card-title,
.academy-program-card h3 {
  font-size: clamp(22px, 1.6vw, 30px) !important;
}

.mda-footer-links a {
  font-size: 15px !important;
}

.mda-footer-links > span {
  font-size: 12px !important;
}

/* ——— Tablet (portrait / landscape) ——— */
@media (max-width: 1100px) {
  :root {
    --mda-container: 980px;
    --mda-header-w: 980px;
    --mda-gutter: 36px;
    --mda-body: 16.5px;
    --mda-nav: 16px;
    --mda-cta: 14px;
    --mda-header-h: 84px;
    --mda-logo: 248px;
  }

  .mda-header .mda-nav a.mda-nav-link,
  .mda-header .mda-nav a.mda-nav-link {
    min-height: 54px !important;
    font-size: 16px !important;
  }

  .mda-header .mda-nav a.mda-nav-cta {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 58px !important;
    font-size: 14px !important;
    border-radius: 14px !important;
  }
}

/* ——— Phone ——— */
@media (max-width: 680px) {
  :root {
    --mda-gutter: 24px;
    --mda-body: 16px;
    --mda-header-h: 76px;
    --mda-logo: 236px;
  }

  .mda-header .mda-nav a.mda-nav-link,
  .mda-header .mda-nav a.mda-nav-link {
    font-size: 15px !important;
  }

  .mda-header .mda-nav a.mda-nav-cta {
    min-height: 56px !important;
    font-size: 13.5px !important;
  }

  .academy-hero-copy h1,
  .mda-page-hero h1 {
    font-size: clamp(40px, 11vw, 56px) !important;
  }

  .academy-intro h2,
  .mda-section-head h2,
  .academy-method h2,
  .mda-values h2 {
    font-size: clamp(34px, 9vw, 46px) !important;
  }
}

/* ——— Laptop / Full HD (~1K) ——— */
@media (min-width: 1280px) {
  :root {
    --mda-container: 1360px;
    --mda-header-w: 1520px;
    --mda-gutter: 56px;
    --mda-body: 17.5px;
    --mda-nav: 15.5px;
    --mda-cta: 13.5px;
    --mda-header-h: 100px;
    --mda-logo: 268px;
  }
}

@media (min-width: 1440px) {
  :root {
    --mda-container: 1480px;
    --mda-header-w: 1640px;
    --mda-gutter: 64px;
    --mda-body: 18px;
    --mda-nav: 16px;
    --mda-cta: 14px;
    --mda-header-h: 104px;
    --mda-logo: 280px;
  }

  .mda-header .mda-nav a.mda-nav-cta {
    min-width: 180px !important;
    min-height: 58px !important;
  }
}

/* ——— 2K / QHD ——— */
@media (min-width: 1920px) {
  :root {
    --mda-container: 1680px;
    --mda-header-w: 1840px;
    --mda-gutter: 80px;
    --mda-body: 18.5px;
    --mda-nav: 17px;
    --mda-cta: 14.5px;
    --mda-header-h: 110px;
    --mda-logo: 300px;
  }

  .mda-header .mda-nav {
    gap: 26px !important;
  }

  .mda-header .mda-nav a.mda-nav-link,
  .mda-header .mda-nav a.mda-nav-link {
    min-height: 56px !important;
    padding-inline: 12px !important;
  }

  .mda-header .mda-nav a.mda-nav-cta {
    min-width: 196px !important;
    min-height: 62px !important;
    grid-template-columns: minmax(0, 1fr) 44px !important;
  }

  .mda-header .mda-nav a.mda-nav-cta > i {
    width: 44px !important;
    height: 44px !important;
  }

  .academy-hero-copy h1,
  .mda-page-hero h1 {
    font-size: clamp(64px, 4.4vw, 104px) !important;
  }

  .academy-intro h2,
  .mda-section-head h2,
  .academy-method h2,
  .mda-values h2 {
    font-size: clamp(52px, 3.6vw, 80px) !important;
  }
}

/* ——— Ultra-wide / 2K+ ——— */
@media (min-width: 2560px) {
  :root {
    --mda-container: 1880px;
    --mda-header-w: 2040px;
    --mda-gutter: 120px;
    --mda-body: 19.5px;
    --mda-nav: 18px;
    --mda-cta: 15px;
    --mda-header-h: 118px;
    --mda-logo: 320px;
  }
}

/* Kill older shrink rules that made nav unreadably small on mid widths */
@media (max-width: 1380px) and (min-width: 1161px) {
  .mda-header .mda-nav a.mda-nav-link,
  .mda-header .mda-nav a.mda-nav-link,
  .mda-header .mda-nav-primary > a {
    font-size: 14.5px !important;
    padding-inline: 10px !important;
  }

  .mda-header .mda-nav a.mda-nav-cta {
    font-size: 12.5px !important;
    min-width: 156px !important;
  }
}

@media (max-width: 1350px) and (min-width: 1161px) {
  .mda-nav > a {
    font-size: 14.5px !important;
    padding-inline: 10px !important;
  }
}
