/* EMS Consulting Group modernization layer
   Loads after bootstrap.css and style.css. Keep this file additive so existing
   page content, links, and SEO structure remain intact while the visual system
   can be reused page by page. */

:root {
  --ems-navy: #062b60;
  --ems-navy-dark: #031b3d;
  --ems-blue: #0c4a9c;
  --ems-light-blue: #eaf2fb;
  --ems-ink: #1f2933;
  --ems-muted: #64748b;
  --ems-line: #d8e2ee;
  --ems-paper: #ffffff;
  --ems-soft: #f7f9fc;
  --ems-gold: #b58a2a;
  --ems-max: 1160px;
}

body.ems-modern {
  color: var(--ems-ink);
  background: var(--ems-paper);
  line-height: 1.6;
}

body.ems-modern a {
  color: var(--ems-blue);
}

body.ems-modern a:hover,
body.ems-modern a:focus {
  color: var(--ems-navy-dark);
  text-decoration: underline;
}

/* Header and navigation */
body.ems-modern header,
body.ems-modern #stuck_container,
body.ems-modern #stuck_container.isStuck {
  background: var(--ems-navy-dark);
}

body.ems-modern header .stuck_container {
  padding: 16px 0;
  box-shadow: 0 1px 0 rgba(255,255,255,0.06);
}

body.ems-modern header .brand_name {
  margin: 0;
}

body.ems-modern header .brand_name a {
  display: inline-flex;
  align-items: center;
  padding: 0;
}

body.ems-modern header .brand_name img {
  height: 54px;
  width: auto;
  display: block;
  background: #fff;
  padding: 5px;
  border-radius: 6px;
}

body.ems-modern nav.navbar.navbar-default.navbar-static-top.tm_navbar {
  margin-top: 9px;
  margin-right: 0;
}

body.ems-modern .sf-menu > li {
  margin-left: 28px;
  line-height: 38px;
}

body.ems-modern .sf-menu > li > a {
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: none;
  opacity: 0.94;
}

body.ems-modern .sf-menu > li.sfHover > a,
body.ems-modern .sf-menu > li > a:hover,
body.ems-modern .sf-menu > li.active > a {
  color: #dbeafe;
}

body.ems-modern .sf-menu ul {
  background: var(--ems-navy);
  border: 1px solid rgba(255,255,255,0.14);
  box-shadow: 0 18px 48px rgba(3,27,61,0.22);
}

body.ems-modern .sf-menu ul:before {
  border-bottom-color: var(--ems-navy);
}

body.ems-modern .sf-menu ul > li > a {
  color: #eaf2fb;
  font-size: 13px;
}

body.ems-modern .sf-menu ul > li + li {
  border-top-color: rgba(255,255,255,0.18);
}

/* Modern homepage hero mapped to existing markup */
body.ems-modern .block-1.bg-img-1 {
  background:
    radial-gradient(circle at 80% 20%, rgba(12,74,156,0.12), transparent 34%),
    linear-gradient(135deg, #ffffff 0%, #f4f8fd 100%);
  border-bottom: 1px solid var(--ems-line);
  padding: 70px 0 64px;
}

body.ems-modern .block-1.hovered {
  background:
    radial-gradient(circle at 80% 20%, rgba(12,74,156,0.12), transparent 34%),
    linear-gradient(135deg, #ffffff 0%, #f4f8fd 100%);
}

body.ems-modern .box.box-1 {
  max-width: 980px;
  margin: 0 auto;
  text-align: left;
}

body.ems-modern .box.box-1 h2 {
  margin: 0 0 10px;
  color: var(--ems-blue);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1.3;
}

body.ems-modern .box.box-1 h3 {
  margin: 0 0 18px;
  color: var(--ems-blue);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1.3;
}

body.ems-modern .box.box-1 h1 {
  margin: 0 0 20px;
  max-width: 1000px;
  color: var(--ems-navy-dark);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(38px, 5.3vw, 66px);
  font-weight: 700;
  letter-spacing: -0.045em;
  line-height: 1.04;
}

body.ems-modern .box.box-1 p {
  max-width: 920px;
  color: #334155;
  font-size: 18px;
  line-height: 1.65;
}

body.ems-modern .cred-bar {
  margin: 18px 0 0;
  padding: 18px 20px;
  border: 1px solid var(--ems-line);
  border-left: 5px solid var(--ems-gold);
  border-radius: 12px;
  background: rgba(255,255,255,0.95);
  box-shadow: 0 1px 2px rgba(3,27,61,0.04);
  color: #334155;
}

body.ems-modern .cred-bar p {
  margin: 0;
}

body.ems-modern .ems-small-note {
  font-size: 0.95em;
}

/* Buttons */
body.ems-modern .btn-box {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
}

body.ems-modern .ems-cta-row {
  margin-top: 24px;
}

body.ems-modern .btn-default.btn,
body.ems-modern .button {
  display: inline-block;
  padding: 13px 20px;
  border: 2px solid var(--ems-navy);
  border-radius: 8px;
  background: #fff;
  color: var(--ems-navy);
  font-weight: 700;
  line-height: 1.2;
  transition: all 0.18s ease;
}

body.ems-modern .btn-default.btn:hover,
body.ems-modern .btn-default.btn:focus,
body.ems-modern .button:hover,
body.ems-modern .button:focus {
  background: var(--ems-light-blue);
  color: var(--ems-navy-dark);
  border-color: var(--ems-navy);
  text-decoration: none;
}

body.ems-modern .btn-default.btn.btn-1 {
  background: var(--ems-navy);
  color: #fff;
}

body.ems-modern .btn-default.btn.btn-1:hover,
body.ems-modern .btn-default.btn.btn-1:focus {
  background: var(--ems-navy-dark);
  color: #fff;
}

/* Sections, cards, video, and testimonial treatments */
body.ems-modern .block-4,
body.ems-modern .block-2 {
  padding: 64px 0;
}

body.ems-modern .block-4:nth-of-type(even),
body.ems-modern .block-2.indent-4 {
  background: var(--ems-soft);
  border-top: 1px solid var(--ems-line);
  border-bottom: 1px solid var(--ems-line);
}

body.ems-modern .title.title-1,
body.ems-modern .title.title-5,
body.ems-modern .title.title-6 {
  margin: 0 0 24px;
  color: var(--ems-navy-dark);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(32px, 4vw, 48px);
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.12;
  text-transform: none;
}

body.ems-modern .box.box-3 {
  text-align: left;
}

body.ems-modern .box.box-3 p,
body.ems-modern .box.box-6 p,
body.ems-modern .block-2 p,
body.ems-modern .small-muted {
  color: #475569;
  font-size: 17px;
  line-height: 1.65;
}

body.ems-modern .home-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  margin-top: 28px;
}

body.ems-modern .home-card {
  margin: 0;
  padding: 24px;
  background: #fff;
  border: 1px solid var(--ems-line);
  border-radius: 14px;
  box-shadow: 0 1px 2px rgba(3,27,61,0.04);
}

body.ems-modern .home-card h5 {
  margin: 0 0 12px;
  color: var(--ems-navy-dark);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
}

body.ems-modern .home-card a {
  font-weight: 700;
}

body.ems-modern .ems-card-spacer {
  margin-top: 14px;
}

body.ems-modern .video-wrap {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  margin-top: 28px;
  overflow: hidden;
  background: #0f172a;
  border-radius: 14px;
  box-shadow: 0 18px 48px rgba(3,27,61,0.14);
}

body.ems-modern .video-wrap iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

body.ems-modern .ems-divider {
  margin: 28px 0;
  border-top: 1px solid var(--ems-line);
}

body.ems-modern .ems-mt-0 {
  margin-top: 0 !important;
}

body.ems-modern .ems-mt-sm {
  margin-top: 10px;
}

body.ems-modern .ems-mb-0 {
  margin-bottom: 0 !important;
}

body.ems-modern .box.box-7 {
  margin-bottom: 24px;
  padding: 24px 24px 24px 34px;
  background: #fff;
  border: 1px solid var(--ems-line);
  border-left: 5px solid var(--ems-gold);
  border-radius: 12px;
  box-shadow: 0 1px 2px rgba(3,27,61,0.04);
}

body.ems-modern .box.box-7 blockquote {
  color: #334155;
  font-size: 17px;
  line-height: 1.6;
}

body.ems-modern .box.box-7 blockquote:before {
  display: none;
}

body.ems-modern .box.box-7 h6 {
  color: var(--ems-navy-dark);
  font-weight: 700;
  line-height: 1.4;
}

body.ems-modern .list.list-3 li {
  color: #475569;
  line-height: 1.55;
  margin-bottom: 11px;
}

body.ems-modern footer {
  background: #020f25;
  color: #cbd5e1;
}

body.ems-modern footer a,
body.ems-modern footer .brand h1,
body.ems-modern footer .sf-menu > li > a {
  color: #fff;
}

@media (max-width: 991px) {
  body.ems-modern header .brand,
  body.ems-modern nav.navbar.navbar-default.navbar-static-top.tm_navbar {
    float: none;
  }

  body.ems-modern nav.navbar.navbar-default.navbar-static-top.tm_navbar {
    margin-top: 18px;
  }

  body.ems-modern .home-cards {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  body.ems-modern .block-1.bg-img-1 {
    padding: 48px 0;
  }

  body.ems-modern .box.box-1 h1 {
    font-size: 40px;
  }

  body.ems-modern .btn-box {
    align-items: stretch;
  }

  body.ems-modern .btn-box .btn {
    width: 100%;
    white-space: normal;
  }
}

/* Executive pages modernization layer
   Used for /executive/ pages that previously had plain inline styling. */
body.ems-modern.ems-executive-page {
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
  color: var(--ems-ink);
  background: var(--ems-paper);
  line-height: 1.6;
}

body.ems-modern.ems-executive-page * {
  box-sizing: border-box;
}

body.ems-modern.ems-executive-page h1,
body.ems-modern.ems-executive-page h2 {
  font-family: Georgia, 'Times New Roman', serif;
  color: var(--ems-navy-dark);
  letter-spacing: -0.025em;
}

body.ems-modern.ems-executive-page h1 {
  margin: 0 0 18px;
  font-size: clamp(42px, 6vw, 72px);
  line-height: 1.02;
}

body.ems-modern.ems-executive-page h2 {
  margin: 0 0 18px;
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1.12;
}

body.ems-modern.ems-executive-page h3 {
  margin: 0 0 10px;
  color: var(--ems-navy-dark);
  font-size: 21px;
  font-weight: 700;
  line-height: 1.25;
}

body.ems-modern.ems-executive-page p {
  color: #475569;
  font-size: 17px;
  line-height: 1.65;
}

body.ems-modern .ems-exec-topbar {
  position: sticky;
  top: 0;
  z-index: 50;
  background: var(--ems-navy-dark);
  color: #fff;
  box-shadow: 0 1px 0 rgba(255,255,255,0.06);
}

body.ems-modern .ems-exec-topbar-inner {
  max-width: var(--ems-max);
  margin: 0 auto;
  padding: 16px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}

body.ems-modern .ems-exec-logo-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  font-size: 14px;
}

body.ems-modern .ems-exec-logo-link:hover,
body.ems-modern .ems-exec-nav a:hover {
  color: #dbeafe;
  text-decoration: none;
}

body.ems-modern .ems-exec-logo-link img {
  height: 54px;
  width: auto;
  display: block;
  background: #fff;
  padding: 5px;
  border-radius: 6px;
}

body.ems-modern .ems-exec-nav {
  display: flex;
  gap: 18px;
  align-items: center;
  flex-wrap: wrap;
}

body.ems-modern .ems-exec-nav a {
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  opacity: 0.94;
}

body.ems-modern .ems-exec-hero {
  background:
    radial-gradient(circle at 80% 20%, rgba(12,74,156,0.12), transparent 34%),
    linear-gradient(135deg, #ffffff 0%, #f4f8fd 100%);
  border-bottom: 1px solid var(--ems-line);
}

body.ems-modern .ems-exec-hero-inner {
  max-width: var(--ems-max);
  margin: 0 auto;
  padding: 76px 24px 70px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.45fr);
  gap: 44px;
  align-items: center;
}

body.ems-modern .ems-kicker,
body.ems-modern .ems-section-kicker {
  color: var(--ems-blue);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

body.ems-modern .ems-kicker {
  margin-bottom: 18px;
}

body.ems-modern .ems-exec-subhead {
  max-width: 880px;
  margin: 0 0 24px;
  color: #334155;
  font-size: clamp(19px, 2.2vw, 25px);
  line-height: 1.35;
}

body.ems-modern .ems-exec-hero-panel,
body.ems-modern .ems-exec-card,
body.ems-modern .ems-exec-item {
  background: #fff;
  border: 1px solid var(--ems-line);
  border-radius: 14px;
  box-shadow: 0 1px 2px rgba(3,27,61,0.04);
}

body.ems-modern .ems-exec-hero-panel {
  padding: 26px;
  box-shadow: 0 18px 48px rgba(3,27,61,0.12);
}

body.ems-modern .ems-exec-hero-panel ul {
  margin: 14px 0 0;
  padding-left: 20px;
  color: #334155;
}

body.ems-modern .ems-exec-hero-panel li {
  margin-bottom: 9px;
}

body.ems-modern .ems-exec-main {
  background: #fff;
}

body.ems-modern .ems-exec-section {
  padding: 66px 24px;
}

body.ems-modern .ems-exec-section.soft {
  background: var(--ems-soft);
  border-top: 1px solid var(--ems-line);
  border-bottom: 1px solid var(--ems-line);
}

body.ems-modern .ems-exec-section-inner {
  max-width: var(--ems-max);
  margin: 0 auto;
}

body.ems-modern .ems-exec-section-narrow {
  max-width: 960px;
  margin: 0 auto;
}

body.ems-modern .ems-section-kicker {
  margin-bottom: 10px;
}

body.ems-modern .ems-exec-lead {
  max-width: 940px;
  color: #334155;
  font-size: 19px;
}

body.ems-modern .ems-exec-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-top: 30px;
}

body.ems-modern .ems-exec-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  margin-top: 30px;
}

body.ems-modern .ems-exec-card,
body.ems-modern .ems-exec-item {
  padding: 24px;
}

body.ems-modern .ems-exec-item p,
body.ems-modern .ems-exec-card p {
  margin-bottom: 14px;
}

body.ems-modern .ems-pill-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0 14px;
}

body.ems-modern .ems-pill {
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  border: 1px solid var(--ems-line);
  border-radius: 999px;
  background: var(--ems-soft);
  color: var(--ems-muted);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
}

body.ems-modern .ems-button-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 18px;
}

body.ems-modern .ems-button {
  display: inline-block;
  padding: 12px 18px;
  border: 2px solid var(--ems-navy);
  border-radius: 8px;
  background: var(--ems-navy);
  color: #fff;
  font-weight: 700;
  line-height: 1.2;
  transition: all 0.18s ease;
}

body.ems-modern .ems-button:hover,
body.ems-modern .ems-button:focus {
  background: var(--ems-navy-dark);
  color: #fff;
  text-decoration: none;
}

body.ems-modern .ems-button.secondary {
  background: #fff;
  color: var(--ems-navy);
}

body.ems-modern .ems-button.secondary:hover,
body.ems-modern .ems-button.secondary:focus {
  background: var(--ems-light-blue);
  color: var(--ems-navy-dark);
  text-decoration: none;
}

body.ems-modern .ems-link-list {
  margin: 0;
  padding-left: 18px;
}

body.ems-modern .ems-link-list li {
  margin-bottom: 14px;
  color: #475569;
}

body.ems-modern .ems-link-list a {
  font-weight: 700;
}

body.ems-modern .ems-exec-final-cta {
  background: linear-gradient(135deg, var(--ems-navy-dark), var(--ems-navy));
  color: #fff;
  padding: 58px 24px;
}

body.ems-modern .ems-exec-final-cta h2,
body.ems-modern .ems-exec-final-cta p {
  color: #fff;
}

body.ems-modern .ems-exec-final-cta p {
  color: #dbeafe;
}

body.ems-modern .ems-exec-footer {
  background: #020f25;
  color: #cbd5e1;
  padding: 28px 24px;
  font-size: 14px;
}

body.ems-modern .ems-exec-footer-inner {
  max-width: var(--ems-max);
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
}

body.ems-modern .ems-exec-footer a {
  color: #fff;
}

@media (max-width: 900px) {
  body.ems-modern .ems-exec-hero-inner,
  body.ems-modern .ems-exec-grid-2,
  body.ems-modern .ems-exec-grid-3 {
    grid-template-columns: 1fr;
  }

  body.ems-modern .ems-exec-hero-inner {
    padding-top: 54px;
  }

  body.ems-modern .ems-exec-topbar-inner {
    align-items: flex-start;
  }
}

@media (max-width: 640px) {
  body.ems-modern .ems-exec-nav {
    gap: 12px;
  }

  body.ems-modern .ems-exec-nav a {
    font-size: 13px;
  }

  body.ems-modern.ems-executive-page h1 {
    font-size: 40px;
  }

  body.ems-modern .ems-button-row .ems-button {
    width: 100%;
    text-align: center;
  }
}

/* Legacy /executive/ page compatibility
   Allows the existing executive directory markup to use the modern EMS look
   without rewriting every paragraph or link. */
body.ems-modern.ems-executive-page > .wrap {
  max-width: var(--ems-max);
  margin: 0 auto;
  padding: 58px 24px 64px;
}

body.ems-modern.ems-executive-page > .wrap > main:first-child,
body.ems-modern.ems-executive-page > .wrap > main {
  max-width: 980px;
  margin: 0 auto;
}

body.ems-modern.ems-executive-page main > h1:first-child {
  position: relative;
  margin: -8px 0 22px;
  padding-top: 8px;
}

body.ems-modern.ems-executive-page main > h1:first-child:before {
  content: attr(data-exec-label);
  display: block;
  margin-bottom: 16px;
  color: var(--ems-blue);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

body.ems-modern.ems-executive-page .subhead,
body.ems-modern.ems-executive-page main > h1:first-child + p,
body.ems-modern.ems-executive-page .sectionP {
  color: #334155;
}

body.ems-modern.ems-executive-page .wrap hr,
body.ems-modern.ems-executive-page main hr {
  margin: 34px 0;
  border: 0;
  border-top: 1px solid var(--ems-line);
}

body.ems-modern.ems-executive-page .wrap h3,
body.ems-modern.ems-executive-page main h3 {
  margin: 30px 0 12px;
  color: var(--ems-navy-dark);
  font-size: 24px;
  line-height: 1.25;
}

body.ems-modern.ems-executive-page .wrap h4,
body.ems-modern.ems-executive-page main h4 {
  margin: 24px 0 10px;
  color: var(--ems-navy-dark);
  font-size: 20px;
  font-weight: 700;
}

body.ems-modern.ems-executive-page .card {
  margin: 30px 0;
  padding: 28px;
  background: #fff;
  border: 1px solid var(--ems-line);
  border-radius: 14px;
  box-shadow: 0 1px 2px rgba(3,27,61,0.04);
}

body.ems-modern.ems-executive-page .card:first-of-type {
  border-left: 5px solid var(--ems-gold);
}

body.ems-modern.ems-executive-page .item,
body.ems-modern.ems-executive-page .diagBox {
  background: #fff;
  border: 1px solid var(--ems-line);
  border-radius: 14px;
  padding: 22px;
  box-shadow: 0 1px 2px rgba(3,27,61,0.04);
}

body.ems-modern.ems-executive-page .sectionTitle {
  margin: 0 0 12px;
  color: var(--ems-blue);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

body.ems-modern.ems-executive-page .sectionH2 {
  margin: 0 0 12px;
  color: var(--ems-navy-dark);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(28px, 3.6vw, 42px);
  font-weight: 700;
  line-height: 1.14;
}

body.ems-modern.ems-executive-page .grid,
body.ems-modern.ems-executive-page .diagGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  margin-top: 24px;
}

body.ems-modern.ems-executive-page .meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0 14px;
}

body.ems-modern.ems-executive-page .pill,
body.ems-modern.ems-executive-page .badge {
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  border: 1px solid var(--ems-line);
  border-radius: 999px;
  background: var(--ems-soft);
  color: var(--ems-muted);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
}

body.ems-modern.ems-executive-page .ctaRow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin: 20px 0 8px;
}

body.ems-modern.ems-executive-page .btn,
body.ems-modern.ems-executive-page a.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 18px;
  border: 2px solid var(--ems-navy);
  border-radius: 8px;
  background: var(--ems-navy);
  color: #fff;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  white-space: normal;
}

body.ems-modern.ems-executive-page .btn:hover,
body.ems-modern.ems-executive-page .btn:focus,
body.ems-modern.ems-executive-page a.btn:hover,
body.ems-modern.ems-executive-page a.btn:focus {
  background: var(--ems-navy-dark);
  color: #fff;
  text-decoration: none;
}

body.ems-modern.ems-executive-page .btn.secondary,
body.ems-modern.ems-executive-page a.btn.secondary {
  background: #fff;
  color: var(--ems-navy);
}

body.ems-modern.ems-executive-page .btn.secondary:hover,
body.ems-modern.ems-executive-page .btn.secondary:focus,
body.ems-modern.ems-executive-page a.btn.secondary:hover,
body.ems-modern.ems-executive-page a.btn.secondary:focus {
  background: var(--ems-light-blue);
  color: var(--ems-navy-dark);
}

body.ems-modern.ems-executive-page .hint {
  color: var(--ems-muted);
  font-size: 13px;
}

body.ems-modern.ems-executive-page .videoWrap,
body.ems-modern.ems-executive-page .video-wrap {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  margin: 26px 0;
  overflow: hidden;
  background: #0f172a;
  border: 1px solid var(--ems-line);
  border-radius: 14px;
  box-shadow: 0 18px 48px rgba(3,27,61,0.14);
}

body.ems-modern.ems-executive-page .videoWrap iframe,
body.ems-modern.ems-executive-page .video-wrap iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

body.ems-modern.ems-executive-page blockquote {
  margin: 22px 0;
  padding: 22px 24px;
  border-left: 5px solid var(--ems-gold);
  background: var(--ems-soft);
  border-radius: 12px;
  color: #334155;
  font-size: 18px;
  line-height: 1.6;
}

body.ems-modern.ems-executive-page footer:not(.ems-exec-footer) {
  max-width: 980px;
  margin: 48px auto 0;
  padding-top: 22px;
  border-top: 1px solid var(--ems-line);
  color: var(--ems-muted);
  font-size: 13px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: space-between;
}

@media (max-width: 820px) {
  body.ems-modern.ems-executive-page .grid,
  body.ems-modern.ems-executive-page .diagGrid {
    grid-template-columns: 1fr;
  }
}


/* Lean-Consultant directory modernization layer
   Used for /Lean-Consultant/ pages. This keeps legacy content and SEO intact
   while applying the EMS modern visual system. */
body.ems-modern.ems-consulting-page {
  color: var(--ems-ink);
  background: var(--ems-paper);
}

body.ems-modern.ems-consulting-page #content {
  background: var(--ems-paper);
}

body.ems-modern.ems-consulting-page #content > .block-2:first-child,
body.ems-modern.ems-consulting-page #content > .block-4:first-child {
  background:
    radial-gradient(circle at 80% 20%, rgba(12,74,156,0.12), transparent 34%),
    linear-gradient(135deg, #ffffff 0%, #f4f8fd 100%) !important;
  border-bottom: 1px solid var(--ems-line);
  color: var(--ems-ink) !important;
  padding: 70px 0 64px;
}

body.ems-modern.ems-consulting-page .block-2,
body.ems-modern.ems-consulting-page .block-3,
body.ems-modern.ems-consulting-page .block-4 {
  padding: 64px 0;
}

body.ems-modern.ems-consulting-page #content > .block-2:nth-child(even),
body.ems-modern.ems-consulting-page #content > .block-4:nth-child(even),
body.ems-modern.ems-consulting-page .block-2.indent-4,
body.ems-modern.ems-consulting-page .block-4.indent-4 {
  background: var(--ems-soft) !important;
  border-top: 1px solid var(--ems-line);
  border-bottom: 1px solid var(--ems-line);
  color: var(--ems-ink) !important;
}

body.ems-modern.ems-consulting-page .block-2.bg-3,
body.ems-modern.ems-consulting-page .block-3.bg-3,
body.ems-modern.ems-consulting-page .block-4.bg-3 {
  background: #fff !important;
  color: var(--ems-ink) !important;
}

body.ems-modern.ems-consulting-page #content > .block-2:first-child .container,
body.ems-modern.ems-consulting-page #content > .block-4:first-child .container {
  max-width: var(--ems-max);
}

body.ems-modern.ems-consulting-page .title.title-1,
body.ems-modern.ems-consulting-page .title.title-5,
body.ems-modern.ems-consulting-page .title.title-6,
body.ems-modern.ems-consulting-page .bg-3 .title.title-1,
body.ems-modern.ems-consulting-page .bg-3 .title.title-6 {
  margin: 0 0 24px;
  color: var(--ems-navy-dark) !important;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(32px, 4.6vw, 56px);
  font-weight: 700;
  letter-spacing: -0.035em;
  line-height: 1.08;
  text-align: left;
  text-transform: none;
}

body.ems-modern.ems-consulting-page #content > .block-2:first-child .title.title-6,
body.ems-modern.ems-consulting-page #content > .block-4:first-child .title.title-6 {
  font-size: clamp(40px, 6vw, 72px);
  max-width: 980px;
}

body.ems-modern.ems-consulting-page .title.title-6:before,
body.ems-modern.ems-consulting-page #content > .block-2:first-child .title.title-6:before,
body.ems-modern.ems-consulting-page #content > .block-4:first-child .title.title-6:before {
  content: "Consulting";
  display: block;
  margin-bottom: 14px;
  color: var(--ems-blue);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1.3;
  text-transform: uppercase;
}

body.ems-modern.ems-consulting-page p,
body.ems-modern.ems-consulting-page .bg-3 p,
body.ems-modern.ems-consulting-page .thumb-pad-6 .thumbnail .caption p,
body.ems-modern.ems-consulting-page .thumb-pad-3 .caption p,
body.ems-modern.ems-consulting-page .box.box-6 p,
body.ems-modern.ems-consulting-page .small-muted {
  color: #475569 !important;
  font-size: 17px !important;
  line-height: 1.65;
}

body.ems-modern.ems-consulting-page #content > .block-2:first-child p,
body.ems-modern.ems-consulting-page #content > .block-4:first-child p {
  max-width: 920px;
  color: #334155 !important;
  font-size: 18px !important;
}

body.ems-modern.ems-consulting-page h2,
body.ems-modern.ems-consulting-page .bg-video,
body.ems-modern.ems-consulting-page .thumb-pad-6 .caption h2 {
  color: var(--ems-navy) !important;
  font-family: Arial, Helvetica, sans-serif;
  font-size: clamp(22px, 3vw, 32px) !important;
  font-weight: 700;
  line-height: 1.25;
  text-transform: none;
}

body.ems-modern.ems-consulting-page h3,
body.ems-modern.ems-consulting-page h4:not(.title),
body.ems-modern.ems-consulting-page h5,
body.ems-modern.ems-consulting-page h6 {
  color: var(--ems-navy-dark);
  line-height: 1.25;
}

body.ems-modern.ems-consulting-page .thumb-pad-6,
body.ems-modern.ems-consulting-page .thumb-pad-3,
body.ems-modern.ems-consulting-page .thumb-pad-5 {
  margin-top: 24px;
}

body.ems-modern.ems-consulting-page .thumbnail {
  background: transparent;
}

body.ems-modern.ems-consulting-page .thumb-pad-6 .thumbnail,
body.ems-modern.ems-consulting-page .thumb-pad-5 .thumbnail {
  display: grid;
  grid-template-columns: minmax(220px, 0.38fr) minmax(0, 1fr);
  gap: 34px;
  align-items: center;
  overflow: visible;
}

body.ems-modern.ems-consulting-page .thumb-pad-6 .thumbnail img,
body.ems-modern.ems-consulting-page .thumb-pad-5 .thumbnail img,
body.ems-modern.ems-consulting-page .thumb-pad-3 .thumbnail img {
  float: none !important;
  position: static !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  max-width: 460px;
  height: auto !important;
  margin: 0 !important;
  border: 1px solid var(--ems-line);
  border-radius: 14px;
  box-shadow: 0 18px 48px rgba(3,27,61,0.12);
}

body.ems-modern.ems-consulting-page .thumb-pad-6 .thumbnail .caption,
body.ems-modern.ems-consulting-page .thumb-pad-5 .thumbnail .caption,
body.ems-modern.ems-consulting-page .thumb-pad-3 .thumbnail .caption {
  overflow: visible;
  padding: 0;
}

body.ems-modern.ems-consulting-page .cred-bar,
body.ems-modern.ems-consulting-page .well,
body.ems-modern.ems-consulting-page .opa-card,
body.ems-modern.ems-consulting-page .ems-consulting-card {
  margin: 18px 0;
  padding: 22px 24px;
  background: #fff !important;
  border: 1px solid var(--ems-line) !important;
  border-left: 5px solid var(--ems-gold) !important;
  border-radius: 14px !important;
  box-shadow: 0 1px 2px rgba(3,27,61,0.04);
  color: #334155 !important;
}

body.ems-modern.ems-consulting-page .opa-card h5 {
  margin: 0 0 10px;
  color: var(--ems-navy-dark);
  font-size: 22px;
  font-weight: 700;
}

body.ems-modern.ems-consulting-page .opa-pill,
body.ems-modern.ems-consulting-page .pill,
body.ems-modern.ems-consulting-page .badge {
  display: inline-flex;
  align-items: center;
  margin: 6px 8px 0 0;
  padding: 7px 11px;
  border: 1px solid var(--ems-line) !important;
  border-radius: 999px;
  background: #fff !important;
  color: var(--ems-muted) !important;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
}

body.ems-modern.ems-consulting-page .list.list-3,
body.ems-modern.ems-consulting-page ul:not(.sf-menu) {
  margin-top: 8px;
}

body.ems-modern.ems-consulting-page .list.list-3 li,
body.ems-modern.ems-consulting-page ul:not(.sf-menu) li,
body.ems-modern.ems-consulting-page ol li {
  color: #475569;
  font-size: 17px;
  line-height: 1.6;
  margin-bottom: 12px;
}

body.ems-modern.ems-consulting-page .list.list-3 li:before {
  color: var(--ems-blue);
}

body.ems-modern.ems-consulting-page .row > [class*="col-"] > .opa-card,
body.ems-modern.ems-consulting-page .row > [class*="col-"] > .well {
  height: calc(100% - 18px);
}

body.ems-modern.ems-consulting-page .btn.btn-primary,
body.ems-modern.ems-consulting-page .btn-default.btn,
body.ems-modern.ems-consulting-page .btn.btn-default {
  display: inline-block;
  padding: 13px 20px;
  border: 2px solid var(--ems-navy) !important;
  border-radius: 8px;
  background: #fff !important;
  color: var(--ems-navy) !important;
  font-weight: 700;
  line-height: 1.2;
  white-space: normal;
  transition: all 0.18s ease;
}

body.ems-modern.ems-consulting-page .btn.btn-primary {
  background: var(--ems-navy) !important;
  color: #fff !important;
}

body.ems-modern.ems-consulting-page .btn.btn-primary:hover,
body.ems-modern.ems-consulting-page .btn.btn-primary:focus {
  background: var(--ems-navy-dark) !important;
  color: #fff !important;
  text-decoration: none;
}

body.ems-modern.ems-consulting-page .btn-default.btn:hover,
body.ems-modern.ems-consulting-page .btn-default.btn:focus,
body.ems-modern.ems-consulting-page .btn.btn-default:hover,
body.ems-modern.ems-consulting-page .btn.btn-default:focus {
  background: var(--ems-light-blue) !important;
  color: var(--ems-navy-dark) !important;
  text-decoration: none;
}

body.ems-modern.ems-consulting-page iframe {
  border-radius: 14px;
}

body.ems-modern.ems-consulting-page div[style*="padding:56.25%"] {
  overflow: hidden;
  border: 1px solid var(--ems-line);
  border-radius: 14px;
  background: #0f172a;
  box-shadow: 0 18px 48px rgba(3,27,61,0.14);
}

body.ems-modern.ems-consulting-page img[style*="max-width:100%"] {
  border: 1px solid var(--ems-line) !important;
  border-radius: 14px;
  box-shadow: 0 12px 34px rgba(3,27,61,0.10);
}

body.ems-modern.ems-consulting-page table {
  width: 100%;
  border: 1px solid var(--ems-line);
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}

body.ems-modern.ems-consulting-page td,
body.ems-modern.ems-consulting-page th {
  padding: 12px;
  border-color: var(--ems-line) !important;
}

body.ems-modern.ems-consulting-page footer {
  background: #020f25;
  color: #cbd5e1;
}

@media (max-width: 900px) {
  body.ems-modern.ems-consulting-page .thumb-pad-6 .thumbnail,
  body.ems-modern.ems-consulting-page .thumb-pad-5 .thumbnail {
    display: block;
  }

  body.ems-modern.ems-consulting-page .thumb-pad-6 .thumbnail img,
  body.ems-modern.ems-consulting-page .thumb-pad-5 .thumbnail img {
    margin-bottom: 24px !important;
  }
}

@media (max-width: 640px) {
  body.ems-modern.ems-consulting-page #content > .block-2:first-child,
  body.ems-modern.ems-consulting-page #content > .block-4:first-child,
  body.ems-modern.ems-consulting-page .block-2,
  body.ems-modern.ems-consulting-page .block-3,
  body.ems-modern.ems-consulting-page .block-4 {
    padding: 46px 0;
  }

  body.ems-modern.ems-consulting-page #content > .block-2:first-child .title.title-6,
  body.ems-modern.ems-consulting-page #content > .block-4:first-child .title.title-6 {
    font-size: 40px;
  }

  body.ems-modern.ems-consulting-page .btn {
    display: block;
    width: 100%;
    margin-bottom: 10px;
  }
}


/* Lean-Training directory modernization layer
   Used for /Lean-Training/ pages. These pages are SEO-sensitive, so this layer
   preserves existing copy, headings, links, and file paths while improving the
   visual presentation conservatively. */
body.ems-modern.ems-training-page {
  color: var(--ems-ink);
  background: var(--ems-paper);
}

body.ems-modern.ems-training-page #content,
body.ems-modern.ems-training-page .ems-training-content {
  background: var(--ems-paper);
}

body.ems-modern.ems-training-page #content > .block-2:first-child,
body.ems-modern.ems-training-page #content > .block-4:first-child {
  background:
    radial-gradient(circle at 80% 20%, rgba(12,74,156,0.12), transparent 34%),
    linear-gradient(135deg, #ffffff 0%, #f4f8fd 100%) !important;
  border-bottom: 1px solid var(--ems-line);
  color: var(--ems-ink) !important;
  padding: 68px 0 58px;
}

body.ems-modern.ems-training-page .block-2,
body.ems-modern.ems-training-page .block-3,
body.ems-modern.ems-training-page .block-4,
body.ems-modern.ems-training-page .block-5 {
  padding: 58px 0;
}

body.ems-modern.ems-training-page #content > .block-2:nth-child(even),
body.ems-modern.ems-training-page #content > .block-4:nth-child(even),
body.ems-modern.ems-training-page .block-2.indent-4,
body.ems-modern.ems-training-page .block-4.indent-4 {
  background: var(--ems-soft) !important;
  border-top: 1px solid var(--ems-line);
  border-bottom: 1px solid var(--ems-line);
  color: var(--ems-ink) !important;
}

body.ems-modern.ems-training-page .block-2.bg-3,
body.ems-modern.ems-training-page .block-3.bg-3,
body.ems-modern.ems-training-page .block-4.bg-3 {
  background: #fff !important;
  color: var(--ems-ink) !important;
}

body.ems-modern.ems-training-page .title.title-1,
body.ems-modern.ems-training-page .title.title-5,
body.ems-modern.ems-training-page .title.title-6,
body.ems-modern.ems-training-page .bg-3 .title.title-1,
body.ems-modern.ems-training-page .bg-3 .title.title-6 {
  margin: 0 0 24px;
  color: var(--ems-navy-dark) !important;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(31px, 4.4vw, 54px);
  font-weight: 700;
  letter-spacing: -0.035em;
  line-height: 1.08;
  text-align: left;
  text-transform: none;
}

body.ems-modern.ems-training-page #content > .block-2:first-child .title.title-6,
body.ems-modern.ems-training-page #content > .block-4:first-child .title.title-6 {
  font-size: clamp(38px, 5.8vw, 68px);
  max-width: 1000px;
}

body.ems-modern.ems-training-page .title.title-6:before,
body.ems-modern.ems-training-page #content > .block-2:first-child .title.title-6:before,
body.ems-modern.ems-training-page #content > .block-4:first-child .title.title-6:before {
  content: "Training & Certification";
  display: block;
  margin-bottom: 14px;
  color: var(--ems-blue);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1.3;
  text-transform: uppercase;
}

body.ems-modern.ems-training-page p,
body.ems-modern.ems-training-page .bg-3 p,
body.ems-modern.ems-training-page .thumb-pad-6 .thumbnail .caption p,
body.ems-modern.ems-training-page .thumb-pad-3 .caption p,
body.ems-modern.ems-training-page .box.box-6 p,
body.ems-modern.ems-training-page .small-muted {
  color: #475569 !important;
  font-size: 17px !important;
  line-height: 1.65;
}

body.ems-modern.ems-training-page #content > .block-2:first-child p,
body.ems-modern.ems-training-page #content > .block-4:first-child p,
body.ems-modern.ems-training-page #content > .block-2:first-child .caption,
body.ems-modern.ems-training-page #content > .block-4:first-child .caption {
  max-width: 960px;
  color: #334155 !important;
  font-size: 18px !important;
}

body.ems-modern.ems-training-page h1,
body.ems-modern.ems-training-page h2,
body.ems-modern.ems-training-page h3,
body.ems-modern.ems-training-page h4:not(.title),
body.ems-modern.ems-training-page h5,
body.ems-modern.ems-training-page h6,
body.ems-modern.ems-training-page .bg-video,
body.ems-modern.ems-training-page .thumb-pad-6 .caption h2 {
  color: var(--ems-navy-dark) !important;
  line-height: 1.25;
}

body.ems-modern.ems-training-page h2,
body.ems-modern.ems-training-page h3 {
  font-size: clamp(24px, 3vw, 34px) !important;
  font-weight: 700;
  text-transform: none;
}

body.ems-modern.ems-training-page .thumb-pad-6,
body.ems-modern.ems-training-page .thumb-pad-3,
body.ems-modern.ems-training-page .thumb-pad-5 {
  margin-top: 24px;
}

body.ems-modern.ems-training-page .thumbnail {
  background: transparent;
}

body.ems-modern.ems-training-page .thumb-pad-6 .thumbnail,
body.ems-modern.ems-training-page .thumb-pad-5 .thumbnail {
  display: grid;
  grid-template-columns: minmax(220px, 0.36fr) minmax(0, 1fr);
  gap: 32px;
  align-items: center;
  overflow: visible;
}

body.ems-modern.ems-training-page .thumb-pad-6 .thumbnail img,
body.ems-modern.ems-training-page .thumb-pad-5 .thumbnail img,
body.ems-modern.ems-training-page .thumb-pad-3 .thumbnail img {
  float: none !important;
  position: static !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  max-width: 460px;
  height: auto !important;
  margin: 0 !important;
  border: 1px solid var(--ems-line);
  border-radius: 14px;
  box-shadow: 0 18px 48px rgba(3,27,61,0.12);
}

body.ems-modern.ems-training-page .thumb-pad-6 .thumbnail .caption,
body.ems-modern.ems-training-page .thumb-pad-5 .thumbnail .caption,
body.ems-modern.ems-training-page .thumb-pad-3 .thumbnail .caption {
  overflow: visible;
  padding: 0;
}

body.ems-modern.ems-training-page .cred-bar,
body.ems-modern.ems-training-page .well,
body.ems-modern.ems-training-page .home-card,
body.ems-modern.ems-training-page .training-card,
body.ems-modern.ems-training-page .ems-training-card {
  margin: 18px 0;
  padding: 22px 24px;
  background: #fff !important;
  border: 1px solid var(--ems-line) !important;
  border-left: 5px solid var(--ems-gold) !important;
  border-radius: 14px !important;
  box-shadow: 0 1px 2px rgba(3,27,61,0.04);
  color: #334155 !important;
}

body.ems-modern.ems-training-page .list.list-3,
body.ems-modern.ems-training-page ul:not(.sf-menu) {
  margin-top: 8px;
}

body.ems-modern.ems-training-page .list.list-3 li,
body.ems-modern.ems-training-page ul:not(.sf-menu) li,
body.ems-modern.ems-training-page ol li {
  color: #475569;
  font-size: 17px;
  line-height: 1.6;
  margin-bottom: 12px;
}

body.ems-modern.ems-training-page .btn.btn-primary,
body.ems-modern.ems-training-page .btn-default.btn,
body.ems-modern.ems-training-page .btn.btn-default,
body.ems-modern.ems-training-page input[type="submit"],
body.ems-modern.ems-training-page input[type="button"] {
  display: inline-block;
  padding: 13px 20px;
  border: 2px solid var(--ems-navy) !important;
  border-radius: 8px;
  background: #fff !important;
  color: var(--ems-navy) !important;
  font-weight: 700;
  line-height: 1.2;
  white-space: normal;
  transition: all 0.18s ease;
}

body.ems-modern.ems-training-page .btn.btn-primary {
  background: var(--ems-navy) !important;
  color: #fff !important;
}

body.ems-modern.ems-training-page .btn.btn-primary:hover,
body.ems-modern.ems-training-page .btn.btn-primary:focus {
  background: var(--ems-navy-dark) !important;
  color: #fff !important;
  text-decoration: none;
}

body.ems-modern.ems-training-page .btn-default.btn:hover,
body.ems-modern.ems-training-page .btn-default.btn:focus,
body.ems-modern.ems-training-page .btn.btn-default:hover,
body.ems-modern.ems-training-page .btn.btn-default:focus {
  background: var(--ems-light-blue) !important;
  color: var(--ems-navy-dark) !important;
  text-decoration: none;
}

body.ems-modern.ems-training-page iframe {
  border-radius: 14px;
}

body.ems-modern.ems-training-page div[style*="padding:56.25%"] {
  overflow: hidden;
  border: 1px solid var(--ems-line);
  border-radius: 14px;
  background: #0f172a;
  box-shadow: 0 18px 48px rgba(3,27,61,0.14);
}

body.ems-modern.ems-training-page img[style*="max-width:100%"],
body.ems-modern.ems-training-page img[src*="Training"],
body.ems-modern.ems-training-page img[src*="training"] {
  border-radius: 14px;
}

body.ems-modern.ems-training-page table {
  width: 100%;
  border: 1px solid var(--ems-line);
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}

body.ems-modern.ems-training-page td,
body.ems-modern.ems-training-page th {
  padding: 12px;
  border-color: var(--ems-line) !important;
}

/* Some older Lean-Training pages have content outside #content in a bare Bootstrap column.
   Keep those sections readable without rewriting the SEO-sensitive markup. */
body.ems-modern.ems-training-page > .col-lg-12,
body.ems-modern.ems-training-page > .col-md-12,
body.ems-modern.ems-training-page > .col-sm-12,
body.ems-modern.ems-training-page > .col-xs-12 {
  float: none !important;
  width: min(1120px, calc(100% - 48px)) !important;
  max-width: 1120px;
  margin: 48px auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.ems-modern.ems-training-page > p,
body.ems-modern.ems-training-page > h1,
body.ems-modern.ems-training-page > h2,
body.ems-modern.ems-training-page > h3,
body.ems-modern.ems-training-page > h4,
body.ems-modern.ems-training-page > ul,
body.ems-modern.ems-training-page > ol,
body.ems-modern.ems-training-page > table {
  width: min(1120px, calc(100% - 48px));
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
}

body.ems-modern.ems-training-page footer {
  background: #020f25;
  color: #cbd5e1;
}

@media (max-width: 900px) {
  body.ems-modern.ems-training-page .thumb-pad-6 .thumbnail,
  body.ems-modern.ems-training-page .thumb-pad-5 .thumbnail {
    display: block;
  }

  body.ems-modern.ems-training-page .thumb-pad-6 .thumbnail img,
  body.ems-modern.ems-training-page .thumb-pad-5 .thumbnail img {
    margin-bottom: 24px !important;
  }
}

@media (max-width: 640px) {
  body.ems-modern.ems-training-page #content > .block-2:first-child,
  body.ems-modern.ems-training-page #content > .block-4:first-child,
  body.ems-modern.ems-training-page .block-2,
  body.ems-modern.ems-training-page .block-3,
  body.ems-modern.ems-training-page .block-4,
  body.ems-modern.ems-training-page .block-5 {
    padding: 44px 0;
  }

  body.ems-modern.ems-training-page #content > .block-2:first-child .title.title-6,
  body.ems-modern.ems-training-page #content > .block-4:first-child .title.title-6 {
    font-size: 38px;
  }

  body.ems-modern.ems-training-page .btn,
  body.ems-modern.ems-training-page input[type="submit"],
  body.ems-modern.ems-training-page input[type="button"] {
    display: block;
    width: 100%;
    margin-bottom: 10px;
  }

  body.ems-modern.ems-training-page > .col-lg-12,
  body.ems-modern.ems-training-page > .col-md-12,
  body.ems-modern.ems-training-page > .col-sm-12,
  body.ems-modern.ems-training-page > .col-xs-12,
  body.ems-modern.ems-training-page > p,
  body.ems-modern.ems-training-page > h1,
  body.ems-modern.ems-training-page > h2,
  body.ems-modern.ems-training-page > h3,
  body.ems-modern.ems-training-page > h4,
  body.ems-modern.ems-training-page > ul,
  body.ems-modern.ems-training-page > ol,
  body.ems-modern.ems-training-page > table {
    width: min(100% - 32px, 1120px) !important;
  }
}


/* FAQ directory modernization layer
   Used for /faq/ pages. Keeps FAQ content and SEO fields intact while applying
   the EMS modern visual system. */
body.ems-modern.ems-faq-page {
  color: var(--ems-ink);
  background: var(--ems-paper);
}

body.ems-modern.ems-faq-page #content {
  background: var(--ems-paper);
}

body.ems-modern.ems-faq-page #content > .block-2:first-child,
body.ems-modern.ems-faq-page #content > .block-4:first-child,
body.ems-modern.ems-faq-page #content > .bg-3:first-child {
  background:
    radial-gradient(circle at 80% 20%, rgba(12,74,156,0.12), transparent 34%),
    linear-gradient(135deg, #ffffff 0%, #f4f8fd 100%) !important;
  border-bottom: 1px solid var(--ems-line);
  color: var(--ems-ink) !important;
  padding: 68px 0 58px;
}

body.ems-modern.ems-faq-page .block-2,
body.ems-modern.ems-faq-page .block-3,
body.ems-modern.ems-faq-page .block-4 {
  padding: 58px 0;
}

body.ems-modern.ems-faq-page .bg-3 {
  background: #fff !important;
  color: var(--ems-ink) !important;
}

body.ems-modern.ems-faq-page .title.title-1,
body.ems-modern.ems-faq-page .title.title-5,
body.ems-modern.ems-faq-page .title.title-6,
body.ems-modern.ems-faq-page .bg-3 .title.title-6 {
  margin: 0 0 24px;
  color: var(--ems-navy-dark) !important;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(34px, 4.6vw, 58px);
  font-weight: 700;
  letter-spacing: -0.035em;
  line-height: 1.08;
  text-align: left;
  text-transform: none;
}

body.ems-modern.ems-faq-page #content > .block-2:first-child .title.title-6:before,
body.ems-modern.ems-faq-page #content > .block-4:first-child .title.title-6:before,
body.ems-modern.ems-faq-page #content > .bg-3:first-child .title.title-6:before {
  content: "FAQ";
  display: block;
  margin-bottom: 14px;
  color: var(--ems-blue);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1.3;
  text-transform: uppercase;
}

body.ems-modern.ems-faq-page p,
body.ems-modern.ems-faq-page li,
body.ems-modern.ems-faq-page .box p,
body.ems-modern.ems-faq-page .caption p {
  color: #475569 !important;
  font-size: 17px !important;
  line-height: 1.65;
}

body.ems-modern.ems-faq-page h1,
body.ems-modern.ems-faq-page h2,
body.ems-modern.ems-faq-page h3,
body.ems-modern.ems-faq-page h4:not(.title),
body.ems-modern.ems-faq-page h5,
body.ems-modern.ems-faq-page h6 {
  color: var(--ems-navy-dark) !important;
  line-height: 1.25;
  text-transform: none;
}

body.ems-modern.ems-faq-page .box,
body.ems-modern.ems-faq-page .well,
body.ems-modern.ems-faq-page table {
  background: #fff !important;
  border-color: var(--ems-line) !important;
}

body.ems-modern.ems-faq-page .btn-default.btn,
body.ems-modern.ems-faq-page .btn.btn-default,
body.ems-modern.ems-faq-page .btn.btn-primary {
  display: inline-block;
  padding: 13px 20px;
  border: 2px solid var(--ems-navy) !important;
  border-radius: 8px;
  background: #fff !important;
  color: var(--ems-navy) !important;
  font-weight: 700;
  line-height: 1.2;
  white-space: normal;
}

body.ems-modern.ems-faq-page .btn.btn-primary {
  background: var(--ems-navy) !important;
  color: #fff !important;
}

/* Lean-Healthcare directory modernization layer
   Applies the modern EMS training look to /Lean-Healthcare/ while preserving
   healthcare training SEO content, file paths, and headings. */
body.ems-modern.ems-healthcare-page .title.title-6:before,
body.ems-modern.ems-healthcare-page #content > .block-2:first-child .title.title-6:before,
body.ems-modern.ems-healthcare-page #content > .block-4:first-child .title.title-6:before {
  content: "Healthcare Training";
}

body.ems-modern.ems-healthcare-page .block-2.bg-3:first-child,
body.ems-modern.ems-healthcare-page #content > .block-2.bg-3:first-child {
  background:
    radial-gradient(circle at 80% 20%, rgba(12,74,156,0.12), transparent 34%),
    linear-gradient(135deg, #ffffff 0%, #f4f8fd 100%) !important;
  border-bottom: 1px solid var(--ems-line);
  color: var(--ems-ink) !important;
}

body.ems-modern.ems-healthcare-page .block-2.bg-3:first-child p,
body.ems-modern.ems-healthcare-page #content > .block-2.bg-3:first-child p {
  color: #334155 !important;
}

body.ems-modern.ems-healthcare-page a[href$=".pdf"] {
  font-weight: 700;
}

@media (max-width: 640px) {
  body.ems-modern.ems-faq-page #content > .block-2:first-child,
  body.ems-modern.ems-faq-page #content > .block-4:first-child,
  body.ems-modern.ems-faq-page .block-2,
  body.ems-modern.ems-faq-page .block-3,
  body.ems-modern.ems-faq-page .block-4 {
    padding: 44px 0;
  }

  body.ems-modern.ems-faq-page .btn {
    display: block;
    width: 100%;
    margin-bottom: 10px;
  }
}

/* Contrast and containment patch for FAQ + Lean-Healthcare pages.
   Some legacy pages have loose content wrappers and .bg-3 sections. Keep those
   sections readable in the modern design instead of allowing dark text on dark backgrounds. */
body.ems-modern.ems-faq-page,
body.ems-modern.ems-faq-page #content,
body.ems-modern.ems-healthcare-page,
body.ems-modern.ems-healthcare-page #content {
  background: var(--ems-paper) !important;
  color: var(--ems-ink) !important;
}

body.ems-modern.ems-faq-page #content > .col-lg-12,
body.ems-modern.ems-healthcare-page #content > .col-lg-12,
body.ems-modern.ems-healthcare-page > .col-lg-12 {
  float: none !important;
  width: min(1120px, calc(100% - 48px)) !important;
  max-width: 1120px !important;
  margin: 56px auto !important;
  padding: 0 !important;
  color: var(--ems-ink) !important;
  background: var(--ems-paper) !important;
}

body.ems-modern.ems-healthcare-page .bg-3,
body.ems-modern.ems-healthcare-page .block-2.bg-3,
body.ems-modern.ems-healthcare-page .block-3.bg-3,
body.ems-modern.ems-healthcare-page .block-4.bg-3,
body.ems-modern.ems-faq-page .bg-3,
body.ems-modern.ems-faq-page .block-2.bg-3,
body.ems-modern.ems-faq-page .block-3.bg-3,
body.ems-modern.ems-faq-page .block-4.bg-3 {
  background: var(--ems-paper) !important;
  color: var(--ems-ink) !important;
}

body.ems-modern.ems-healthcare-page .bg-3 p,
body.ems-modern.ems-healthcare-page .bg-3 li,
body.ems-modern.ems-healthcare-page .bg-3 .caption p,
body.ems-modern.ems-healthcare-page .bg-3 .thumbnail .caption p,
body.ems-modern.ems-healthcare-page .bg-3 h1,
body.ems-modern.ems-healthcare-page .bg-3 h2,
body.ems-modern.ems-healthcare-page .bg-3 h3,
body.ems-modern.ems-healthcare-page .bg-3 h4,
body.ems-modern.ems-healthcare-page .bg-3 h5,
body.ems-modern.ems-healthcare-page .bg-3 h6,
body.ems-modern.ems-faq-page .bg-3 p,
body.ems-modern.ems-faq-page .bg-3 li,
body.ems-modern.ems-faq-page .bg-3 .caption p,
body.ems-modern.ems-faq-page .bg-3 h1,
body.ems-modern.ems-faq-page .bg-3 h2,
body.ems-modern.ems-faq-page .bg-3 h3,
body.ems-modern.ems-faq-page .bg-3 h4,
body.ems-modern.ems-faq-page .bg-3 h5,
body.ems-modern.ems-faq-page .bg-3 h6 {
  color: var(--ems-ink) !important;
}

body.ems-modern.ems-healthcare-page .bg-3 .title,
body.ems-modern.ems-faq-page .bg-3 .title {
  color: var(--ems-navy-dark) !important;
}

body.ems-modern.ems-healthcare-page .bg-3 a,
body.ems-modern.ems-faq-page .bg-3 a {
  color: var(--ems-blue) !important;
}

@media (max-width: 640px) {
  body.ems-modern.ems-faq-page #content > .col-lg-12,
  body.ems-modern.ems-healthcare-page #content > .col-lg-12,
  body.ems-modern.ems-healthcare-page > .col-lg-12 {
    width: calc(100% - 32px) !important;
    margin: 40px auto !important;
  }
}


/* =========================================================
   EMS clean redesign templates for training, FAQ, and healthcare pages.
   These rules intentionally avoid legacy .bg-* wrappers that caused dark
   text on dark backgrounds. They are scoped to clean-redesign body classes.
   ========================================================= */
body.ems-modern.ems-clean-redesign {
  margin: 0;
  color: var(--ems-ink, #1f2933);
  background: #ffffff !important;
  font-family: Arial, Helvetica, sans-serif;
  line-height: 1.65;
}
body.ems-modern.ems-clean-redesign a { color: var(--ems-blue, #0c4a9c); }
body.ems-modern.ems-clean-redesign a:hover { text-decoration: underline; }

.ems-clean-header {
  background: var(--ems-navy-dark, #031b3d);
  color: #fff;
  position: sticky;
  top: 0;
  z-index: 999;
  box-shadow: 0 1px 0 rgba(255,255,255,0.07);
}
.ems-clean-header-inner {
  width: min(1160px, calc(100% - 48px));
  margin: 0 auto;
  min-height: 86px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.ems-clean-logo {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  color: #fff !important;
  text-decoration: none !important;
}
.ems-clean-logo img {
  height: 54px;
  width: auto;
  display: block;
  background: #fff;
  border-radius: 7px;
  padding: 5px;
}
.ems-clean-logo span {
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .04em;
  line-height: 1.2;
  text-transform: uppercase;
}
.ems-clean-nav {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  font-size: 14px;
  font-weight: 700;
}
.ems-clean-nav a { color: #fff !important; opacity: .94; text-decoration: none !important; }
.ems-clean-nav a:hover { opacity: 1; text-decoration: underline !important; }

.ems-redesign-hero {
  background:
    radial-gradient(circle at 82% 18%, rgba(12,74,156,.13), transparent 34%),
    linear-gradient(135deg, #ffffff 0%, #f4f8fd 100%) !important;
  border-bottom: 1px solid var(--ems-line, #d8e2ee);
}
.ems-redesign-hero-inner {
  width: min(1040px, calc(100% - 48px));
  margin: 0 auto;
  padding: 70px 0 62px;
}
.ems-redesign-kicker {
  margin: 0 0 16px;
  color: var(--ems-blue, #0c4a9c);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .12em;
  line-height: 1.3;
  text-transform: uppercase;
}
.ems-redesign-hero h1 {
  margin: 0 0 20px;
  color: var(--ems-navy-dark, #031b3d) !important;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(40px, 6vw, 70px);
  font-weight: 700;
  letter-spacing: -.045em;
  line-height: 1.04;
}
.ems-redesign-lead {
  max-width: 880px;
  margin: 0;
  color: #334155 !important;
  font-size: clamp(18px, 2vw, 22px) !important;
  line-height: 1.58 !important;
}
.ems-redesign-main {
  background: #ffffff !important;
}
.ems-redesign-content-wrap {
  width: min(1040px, calc(100% - 48px));
  margin: 0 auto;
  padding: 56px 0 72px;
}
.ems-redesign-card {
  background: #fff !important;
  border: 1px solid var(--ems-line, #d8e2ee);
  border-radius: 16px;
  padding: clamp(24px, 4vw, 42px);
  box-shadow: 0 18px 48px rgba(3,27,61,.08);
}
.ems-redesign-card > *:first-child { margin-top: 0 !important; }
.ems-redesign-card > *:last-child { margin-bottom: 0 !important; }
.ems-redesign-card h1,
.ems-redesign-card h2,
.ems-redesign-card h3,
.ems-redesign-card h4,
.ems-redesign-card h5,
.ems-redesign-card h6 {
  color: var(--ems-navy-dark, #031b3d) !important;
  text-transform: none !important;
  letter-spacing: normal;
}
.ems-redesign-card h2,
.ems-redesign-card h3,
.ems-redesign-card h4 {
  margin: 34px 0 14px;
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 700;
  line-height: 1.15;
}
.ems-redesign-card h2 { font-size: clamp(30px, 4vw, 44px); letter-spacing: -.03em; }
.ems-redesign-card h3,
.ems-redesign-card h4 { font-size: clamp(25px, 3.2vw, 34px); letter-spacing: -.02em; }
.ems-redesign-card h5,
.ems-redesign-card h6 {
  margin: 28px 0 10px;
  font-size: 21px;
  font-weight: 800;
  line-height: 1.25;
}
.ems-redesign-card p,
.ems-redesign-card li,
.ems-redesign-card td,
.ems-redesign-card th {
  color: #334155 !important;
  font-size: 17px !important;
  line-height: 1.7 !important;
}
.ems-redesign-card p { margin: 0 0 16px; }
.ems-redesign-card ul,
.ems-redesign-card ol { margin: 12px 0 20px; padding-left: 24px; }
.ems-redesign-card li { margin-bottom: 8px; }
.ems-redesign-card strong,
.ems-redesign-card b { color: var(--ems-navy-dark, #031b3d); }
.ems-redesign-card hr { border: 0; border-top: 1px solid var(--ems-line, #d8e2ee); margin: 30px 0; }
.ems-redesign-card blockquote {
  margin: 24px 0;
  padding: 20px 24px;
  border-left: 5px solid var(--ems-gold, #b58a2a);
  background: var(--ems-soft, #f7f9fc);
  border-radius: 12px;
  color: #334155 !important;
}
.ems-redesign-card img.ems-content-image,
.ems-redesign-card img:not([src*="logo-small"]):not([src*="register-blue"]) {
  max-width: 100%;
  height: auto;
  border-radius: 12px;
  box-shadow: 0 16px 36px rgba(3,27,61,.10);
  margin: 12px 24px 18px 0;
}
.ems-redesign-card .ems-image-row {
  display: flex;
  gap: 28px;
  align-items: flex-start;
  flex-wrap: wrap;
}
.ems-redesign-card table {
  width: 100%;
  border-collapse: collapse;
  margin: 24px 0;
  background: #fff !important;
  border: 1px solid var(--ems-line, #d8e2ee);
  border-radius: 12px;
  overflow: hidden;
}
.ems-redesign-card th,
.ems-redesign-card td {
  border: 1px solid var(--ems-line, #d8e2ee);
  padding: 12px 14px;
  vertical-align: top;
}
.ems-redesign-card th { background: var(--ems-soft, #f7f9fc) !important; color: var(--ems-navy-dark, #031b3d) !important; }
.ems-redesign-card iframe {
  max-width: 100%;
  border: 0;
  border-radius: 14px;
  box-shadow: 0 18px 48px rgba(3,27,61,.12);
}
.ems-button,
.ems-redesign-card a.ems-button {
  display: inline-block;
  margin: 10px 10px 10px 0;
  padding: 13px 20px;
  border: 2px solid var(--ems-navy, #062b60);
  border-radius: 8px;
  background: #fff;
  color: var(--ems-navy, #062b60) !important;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none !important;
}
.ems-button-primary,
.ems-redesign-card a.ems-button-primary {
  background: var(--ems-navy, #062b60);
  color: #fff !important;
}
.ems-button:hover { text-decoration: none !important; background: var(--ems-light-blue, #eaf2fb); }
.ems-button-primary:hover { background: var(--ems-navy-dark, #031b3d); }
.ems-redesign-footer {
  background: #020f25;
  color: #cbd5e1;
  font-size: 14px;
}
.ems-redesign-footer-inner {
  width: min(1160px, calc(100% - 48px));
  margin: 0 auto;
  padding: 28px 0;
  display: flex;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
}
.ems-redesign-footer a { color: #fff !important; }

body.ems-clean-redesign .bg-3,
body.ems-clean-redesign .bg-2,
body.ems-clean-redesign .block-1,
body.ems-clean-redesign .block-2,
body.ems-clean-redesign .block-3,
body.ems-clean-redesign .block-4,
body.ems-clean-redesign .block-5,
body.ems-clean-redesign #content {
  background: transparent !important;
  color: inherit !important;
}

@media (max-width: 760px) {
  .ems-clean-header-inner { width: min(100% - 32px, 1160px); min-height: auto; padding: 16px 0; align-items: flex-start; }
  .ems-clean-logo img { height: 46px; }
  .ems-clean-nav { gap: 12px; font-size: 13px; }
  .ems-redesign-hero-inner,
  .ems-redesign-content-wrap,
  .ems-redesign-footer-inner { width: min(100% - 32px, 1040px); }
  .ems-redesign-hero-inner { padding: 48px 0 44px; }
  .ems-redesign-card { padding: 22px; }
}


/* Lean Training online course listing restoration */
.ems-clean-redesign .ems-online-callout {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin: 28px 0 34px;
  padding: 24px;
  border: 1px solid var(--ems-line, #d8e2ee);
  border-radius: 16px;
  background: linear-gradient(135deg, #f7f9fc, #eaf2fb);
}
.ems-clean-redesign .ems-online-callout h2 {
  margin: 0 0 8px;
  font-size: 24px;
}
.ems-clean-redesign .ems-online-callout p {
  margin: 0;
}
.ems-clean-redesign .ems-course-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: 18px 0 34px;
}
.ems-clean-redesign .ems-course-card {
  background: #fff;
  border: 1px solid var(--ems-line, #d8e2ee);
  border-radius: 14px;
  padding: 18px;
  box-shadow: 0 1px 2px rgba(3, 27, 61, 0.05);
}
.ems-clean-redesign .ems-course-card h3 {
  margin: 0 0 10px;
  font-size: 19px;
  line-height: 1.3;
}
.ems-clean-redesign .ems-course-card h3 a {
  color: var(--ems-navy-dark, #031b3d);
  text-decoration: none;
}
.ems-clean-redesign .ems-course-card h3 a:hover {
  color: var(--ems-blue, #0c4a9c);
  text-decoration: underline;
}
.ems-clean-redesign .ems-course-price {
  display: inline-block;
  color: var(--ems-blue, #0c4a9c);
  font-weight: 800;
  font-size: 18px;
}
.ems-clean-redesign .ems-return-link {
  margin-top: 10px;
  font-weight: 700;
}
@media (max-width: 760px) {
  .ems-clean-redesign .ems-online-callout {
    display: block;
  }
  .ems-clean-redesign .ems-online-callout .ems-modern-button {
    margin-top: 18px;
  }
  .ems-clean-redesign .ems-course-grid {
    grid-template-columns: 1fr;
  }
}


/* =========================================================
   EMS root-directory clean modernization templates.
   Scoped to body.ems-modern.ems-root-page to avoid disturbing legacy pages.
   ========================================================= */
body.ems-modern.ems-root-page {
  margin: 0;
  color: var(--ems-ink, #1f2933);
  background: #ffffff !important;
  font-family: Arial, Helvetica, sans-serif;
  line-height: 1.65;
}
body.ems-modern.ems-root-page * { box-sizing: border-box; }
body.ems-modern.ems-root-page a { color: var(--ems-blue, #0c4a9c); }
body.ems-modern.ems-root-page a:hover { text-decoration: underline; }
body.ems-modern.ems-root-page header#header,
body.ems-modern.ems-root-page footer,
body.ems-modern.ems-root-page #stuck_container,
body.ems-modern.ems-root-page .stuck_container,
body.ems-modern.ems-root-page nav.tm_navbar { all: unset; }
body.ems-modern.ems-root-page .ems-clean-header,
body.ems-modern.ems-root-page .ems-clean-header * { box-sizing: border-box; }
body.ems-modern.ems-root-page .ems-clean-header {
  display: block;
  background: var(--ems-navy-dark, #031b3d);
  color: #fff;
  position: sticky;
  top: 0;
  z-index: 999;
  box-shadow: 0 1px 0 rgba(255,255,255,0.07);
}
body.ems-modern.ems-root-page .ems-root-hero {
  background:
    radial-gradient(circle at 82% 18%, rgba(12,74,156,.13), transparent 34%),
    linear-gradient(135deg, #ffffff 0%, #f4f8fd 100%) !important;
  border-bottom: 1px solid var(--ems-line, #d8e2ee);
}
body.ems-modern.ems-root-page .ems-root-hero .ems-redesign-hero-inner { padding: 58px 0 50px; }
body.ems-modern.ems-root-page .ems-root-hero h1 {
  max-width: 1000px;
  font-size: clamp(34px, 5vw, 58px);
}
body.ems-modern.ems-root-page .ems-redesign-card {
  overflow-wrap: anywhere;
}
body.ems-modern.ems-root-page .ems-redesign-card .title,
body.ems-modern.ems-root-page .ems-redesign-card .title-1,
body.ems-modern.ems-root-page .ems-redesign-card .title-2,
body.ems-modern.ems-root-page .ems-redesign-card .title-5,
body.ems-modern.ems-root-page .ems-redesign-card .title-6 {
  text-align: left !important;
  color: var(--ems-navy-dark, #031b3d) !important;
  font-family: Georgia, 'Times New Roman', serif !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  margin: 28px 0 14px !important;
  text-transform: none !important;
}
body.ems-modern.ems-root-page .ems-redesign-card .box,
body.ems-modern.ems-root-page .ems-redesign-card .thumbnail,
body.ems-modern.ems-root-page .ems-redesign-card .caption,
body.ems-modern.ems-root-page .ems-redesign-card .wrapper {
  color: inherit !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  text-align: left !important;
}
body.ems-modern.ems-root-page .ems-redesign-card [class*="bg-"],
body.ems-modern.ems-root-page .ems-redesign-card [class*="block-"] {
  background: transparent !important;
  color: inherit !important;
  padding: 0 !important;
}
body.ems-modern.ems-root-page .ems-redesign-card .list,
body.ems-modern.ems-root-page .ems-redesign-card .list-1,
body.ems-modern.ems-root-page .ems-redesign-card .list-2,
body.ems-modern.ems-root-page .ems-redesign-card .list-3,
body.ems-modern.ems-root-page .ems-redesign-card .list-4 {
  list-style: disc !important;
  padding-left: 24px !important;
  margin: 12px 0 20px !important;
}
body.ems-modern.ems-root-page .ems-redesign-card .list li { list-style: disc !important; }
body.ems-modern.ems-root-page .ems-redesign-card .btn,
body.ems-modern.ems-root-page .ems-redesign-card .btn-default,
body.ems-modern.ems-root-page .ems-redesign-card input[type="submit"],
body.ems-modern.ems-root-page .ems-redesign-card button {
  display: inline-block;
  margin: 10px 10px 10px 0;
  padding: 12px 18px;
  border: 2px solid var(--ems-navy, #062b60) !important;
  border-radius: 8px !important;
  background: var(--ems-navy, #062b60) !important;
  color: #fff !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  white-space: normal !important;
}
body.ems-modern.ems-root-page .ems-redesign-card .btn:hover,
body.ems-modern.ems-root-page .ems-redesign-card .btn-default:hover,
body.ems-modern.ems-root-page .ems-redesign-card input[type="submit"]:hover,
body.ems-modern.ems-root-page .ems-redesign-card button:hover {
  background: var(--ems-navy-dark, #031b3d) !important;
  text-decoration: none !important;
}
body.ems-modern.ems-root-page .ems-redesign-card input,
body.ems-modern.ems-root-page .ems-redesign-card textarea,
body.ems-modern.ems-root-page .ems-redesign-card select {
  max-width: 100%;
  border: 1px solid var(--ems-line, #d8e2ee);
  border-radius: 8px;
  padding: 10px 12px;
  color: #1f2933 !important;
  background: #fff !important;
}
body.ems-modern.ems-root-page .ems-redesign-card table[width] { width: 100% !important; }
body.ems-modern.ems-root-page .ems-redesign-card img[align="left"] { float: left; }
body.ems-modern.ems-root-page .ems-redesign-card img[align="right"] { float: right; margin-left: 24px; margin-right: 0; }
body.ems-modern.ems-root-page .ems-redesign-card:after { content: ""; display: table; clear: both; }
body.ems-modern.ems-root-page .ems-redesign-card .auto-style1,
body.ems-modern.ems-root-page .ems-redesign-card .auto-style2,
body.ems-modern.ems-root-page .ems-redesign-card .auto-style3,
body.ems-modern.ems-root-page .ems-redesign-card .auto-style4,
body.ems-modern.ems-root-page .ems-redesign-card .auto-style5 {
  color: inherit !important;
}
body.ems-modern.ems-root-page .ems-redesign-card center { text-align: left; }
body.ems-modern.ems-root-page .ems-redesign-footer {
  display: block;
  background: #020f25;
  color: #cbd5e1;
  padding: 28px 24px;
  font-size: 14px;
}
body.ems-modern.ems-root-page .ems-redesign-footer a { color: #fff; }
@media (max-width: 760px) {
  body.ems-modern.ems-root-page .ems-redesign-card img[align="left"],
  body.ems-modern.ems-root-page .ems-redesign-card img[align="right"] {
    float: none;
    display: block;
    margin: 12px 0 18px;
  }
}


/* Root v4 cleanup: prevent repeated page-title feel and simplify contact page */
.ems-modern.ems-root-page .ems-redesign-card > #content > h1:first-child,
.ems-modern.ems-root-page .ems-redesign-card > #content > h2:first-child,
.ems-modern.ems-root-page .ems-redesign-card > #content > h3:first-child,
.ems-modern.ems-root-page .ems-redesign-card > #content > h4:first-child.title,
.ems-modern.ems-root-page .ems-redesign-card > #content > h5:first-child,
.ems-modern.ems-root-page .ems-redesign-card > #content > h6:first-child {
  margin-top: 0;
}
.ems-contact-page-simple h2 {
  margin-top: 0;
}
.ems-contact-form-section {
  margin-bottom: 42px;
}
.ems-contact-form-frame {
  width: 100%;
  min-height: 980px;
  border: 0;
  display: block;
  background: #fff;
}
.ems-contact-details-section {
  border-top: 1px solid var(--ems-line, #d8e2ee);
  padding-top: 30px;
}
.ems-contact-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.ems-contact-detail-card {
  border: 1px solid var(--ems-line, #d8e2ee);
  border-radius: 14px;
  background: #f8fafc;
  padding: 22px;
}
.ems-contact-detail-card h3 {
  margin-top: 0;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 18px;
  letter-spacing: normal;
}
.ems-contact-detail-card p {
  margin-bottom: 0;
}
@media (max-width: 760px) {
  .ems-contact-detail-grid { grid-template-columns: 1fr; }
  .ems-contact-form-frame { min-height: 1100px; }
}

/* Executive page button contrast safety fix
   Keeps primary executive buttons readable even when later generic button rules load. */
body.ems-modern.ems-executive-page .ems-button:not(.secondary),
body.ems-modern.ems-executive-page a.ems-button:not(.secondary),
body.ems-modern .ems-exec-hero .ems-button:not(.secondary),
body.ems-modern .ems-exec-section .ems-button:not(.secondary),
body.ems-modern .ems-exec-final-cta .ems-button:not(.secondary) {
  background: var(--ems-navy, #062b60) !important;
  border-color: var(--ems-navy, #062b60) !important;
  color: #ffffff !important;
}

body.ems-modern.ems-executive-page .ems-button:not(.secondary):hover,
body.ems-modern.ems-executive-page .ems-button:not(.secondary):focus,
body.ems-modern.ems-executive-page a.ems-button:not(.secondary):hover,
body.ems-modern.ems-executive-page a.ems-button:not(.secondary):focus,
body.ems-modern .ems-exec-hero .ems-button:not(.secondary):hover,
body.ems-modern .ems-exec-hero .ems-button:not(.secondary):focus,
body.ems-modern .ems-exec-section .ems-button:not(.secondary):hover,
body.ems-modern .ems-exec-section .ems-button:not(.secondary):focus,
body.ems-modern .ems-exec-final-cta .ems-button:not(.secondary):hover,
body.ems-modern .ems-exec-final-cta .ems-button:not(.secondary):focus {
  background: var(--ems-navy-dark, #031b3d) !important;
  border-color: var(--ems-navy-dark, #031b3d) !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

body.ems-modern.ems-executive-page .ems-button.secondary,
body.ems-modern.ems-executive-page a.ems-button.secondary,
body.ems-modern .ems-exec-hero .ems-button.secondary,
body.ems-modern .ems-exec-section .ems-button.secondary,
body.ems-modern .ems-exec-final-cta .ems-button.secondary {
  background: #ffffff !important;
  color: var(--ems-navy, #062b60) !important;
  border-color: var(--ems-navy, #062b60) !important;
}

body.ems-modern.ems-executive-page .ems-exec-final-cta .ems-button.secondary,
body.ems-modern .ems-exec-final-cta .ems-button.secondary {
  border-color: #ffffff !important;
}


/* Newsletter signup page modernization */
body.ems-modern.ems-newsletter-page .ems-newsletter-card h2 {
  margin-top: 0;
}
body.ems-modern.ems-newsletter-page .ems-newsletter-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 320px);
  gap: 28px;
  align-items: center;
  margin-bottom: 34px;
}
body.ems-modern.ems-newsletter-page .ems-newsletter-image {
  width: 100%;
  border-radius: 14px;
  box-shadow: 0 12px 32px rgba(3, 27, 61, 0.12);
}
body.ems-modern.ems-newsletter-page .ems-newsletter-form-section {
  border-top: 1px solid var(--ems-line, #d8e2ee);
  padding-top: 30px;
}
body.ems-modern.ems-newsletter-page #mc_embed_signup {
  background: #fff !important;
  clear: both;
  max-width: 760px;
  font: inherit !important;
}
body.ems-modern.ems-newsletter-page #mc_embed_signup h4,
body.ems-modern.ems-newsletter-page #mc_embed_signup h2 {
  color: var(--ems-navy-dark, #031b3d) !important;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(26px, 3vw, 36px);
  line-height: 1.15;
  margin: 0 0 18px;
}
body.ems-modern.ems-newsletter-page #mc_embed_signup .mc-field-group {
  margin-bottom: 16px;
}
body.ems-modern.ems-newsletter-page #mc_embed_signup label {
  color: var(--ems-ink, #1f2933) !important;
  font-weight: 800;
  display: block;
  margin-bottom: 6px;
}
body.ems-modern.ems-newsletter-page #mc_embed_signup input[type="text"],
body.ems-modern.ems-newsletter-page #mc_embed_signup input[type="email"],
body.ems-modern.ems-newsletter-page #mc_embed_signup select {
  width: 100%;
  min-height: 44px;
}
body.ems-modern.ems-newsletter-page #mc_embed_signup .button {
  width: auto !important;
  min-width: 150px;
}
body.ems-modern.ems-newsletter-page .ems-newsletter-social-section {
  margin-top: 34px;
  padding-top: 28px;
  border-top: 1px solid var(--ems-line, #d8e2ee);
}
@media (max-width: 800px) {
  body.ems-modern.ems-newsletter-page .ems-newsletter-intro {
    grid-template-columns: 1fr;
  }
}

/* Homepage final tuning: slightly smaller hero, slightly larger header logo */
body.ems-modern header .brand_name img {
  height: 64px;
  padding: 6px;
}

body.ems-modern .block-1.bg-img-1 {
  padding: 52px 0 50px;
}

body.ems-modern .box.box-1 h1 {
  font-size: clamp(34px, 4.6vw, 56px);
  line-height: 1.06;
  max-width: 940px;
}

body.ems-modern .box.box-1 p {
  max-width: 860px;
}

@media (max-width: 767px) {
  body.ems-modern header .brand_name img {
    height: 56px;
  }

  body.ems-modern .block-1.bg-img-1 {
    padding: 42px 0 42px;
  }

  body.ems-modern .box.box-1 h1 {
    font-size: clamp(31px, 11vw, 42px);
  }
}

/* =========================================================
   Executive Evidence of Value outcome lists
   Prevent browser bullets from appearing next to check icons
   ========================================================= */
body.ems-modern.ems-executive-page ul.outcomes,
body.ems-modern.ems-executive-page .card ul.outcomes,
body.ems-modern.ems-executive-page main ul.outcomes {
  list-style: none !important;
  margin: 22px 0 0 !important;
  padding: 0 !important;
}

body.ems-modern.ems-executive-page ul.outcomes > li,
body.ems-modern.ems-executive-page .card ul.outcomes > li,
body.ems-modern.ems-executive-page main ul.outcomes > li {
  list-style: none !important;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 0 0 14px !important;
  padding: 0 !important;
}

body.ems-modern.ems-executive-page ul.outcomes > li::marker,
body.ems-modern.ems-executive-page .card ul.outcomes > li::marker,
body.ems-modern.ems-executive-page main ul.outcomes > li::marker {
  content: "";
}

body.ems-modern.ems-executive-page ul.outcomes .check {
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #eaf2fb;
  color: #062b60;
  font-weight: 800;
  line-height: 1;
  margin-top: 1px;
}

body.ems-modern.ems-executive-page ul.outcomes .outText {
  margin: 0 !important;
  color: #203247;
}

/* =========================================================
   Podcasts related article lists
   Prevent legacy list-3 arrow icon from appearing with bullets
   ========================================================= */
body.ems-modern.ems-root-page .ems-redesign-card ul.related-list,
body.ems-modern.ems-root-page .ems-redesign-card .related-list.list,
body.ems-modern.ems-root-page .ems-redesign-card .related-list.list-3 {
  list-style: none !important;
  padding-left: 0 !important;
  margin: 14px 0 20px !important;
}

body.ems-modern.ems-root-page .ems-redesign-card ul.related-list > li,
body.ems-modern.ems-root-page .ems-redesign-card .related-list.list-3 > li {
  list-style: none !important;
  position: relative;
  padding-left: 0 !important;
  margin: 0 0 12px !important;
}

body.ems-modern.ems-root-page .ems-redesign-card ul.related-list > li::marker,
body.ems-modern.ems-root-page .ems-redesign-card .related-list.list-3 > li::marker {
  content: "";
}

body.ems-modern.ems-root-page .ems-redesign-card ul.related-list > li::before,
body.ems-modern.ems-root-page .ems-redesign-card .related-list.list-3 > li::before {
  display: none !important;
  content: none !important;
}

/* Final logo sizing adjustment: stronger brand presence without increasing hero scale */
body.ems-modern header .brand_name img,
body.ems-modern .ems-exec-logo-link img,
.ems-clean-logo img {
  height: 66px !important;
  width: auto;
}

body.ems-modern header .stuck_container,
.ems-clean-header-inner {
  min-height: 96px;
}

@media (max-width: 767px) {
  body.ems-modern header .brand_name img,
  body.ems-modern .ems-exec-logo-link img,
  .ems-clean-logo img {
    height: 58px !important;
  }

  body.ems-modern header .stuck_container,
  .ems-clean-header-inner {
    min-height: auto;
  }
}

/* =========================================================
   Mobile homepage hero refinement
   Reduce oversized headline wrap on phones while preserving desktop design
   ========================================================= */
@media (max-width: 767px) {
  body.ems-modern .block-1.bg-img-1 {
    padding: 32px 0 34px !important;
  }

  body.ems-modern .box.box-1 h1 {
    font-size: clamp(28px, 8.2vw, 34px) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.035em !important;
    max-width: 100% !important;
  }

  body.ems-modern .box.box-1 h2,
  body.ems-modern .box.box-1 h3 {
    font-size: 13px !important;
    line-height: 1.35 !important;
    letter-spacing: 0.12em !important;
  }

  body.ems-modern .box.box-1 p {
    font-size: 16px !important;
    line-height: 1.58 !important;
  }
}

@media (max-width: 420px) {
  body.ems-modern .box.box-1 h1 {
    font-size: clamp(27px, 7.8vw, 32px) !important;
  }
}


/* =========================================================
   Final cleanup: responsive embedded videos and duplicate legacy list icons
   ========================================================= */
body.ems-modern .ems-responsive-video {
  position: relative !important;
  width: 100% !important;
  max-width: 860px;
  aspect-ratio: 16 / 9;
  height: auto !important;
  margin: 24px 0;
  overflow: hidden;
  border-radius: 14px;
  background: #0f172a;
  box-shadow: 0 18px 48px rgba(3, 27, 61, 0.14);
}
body.ems-modern .ems-responsive-video iframe {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  display: block;
}

/* Preserve standard bullets on modern root content while suppressing old FontAwesome arrows. */
body.ems-modern.ems-root-page .ems-redesign-card .list.list-3 > li::before,
body.ems-modern.ems-root-page .ems-redesign-card ul.list-3 > li::before,
body.ems-modern.ems-root-page .ems-redesign-card .list.list-2 > li::before,
body.ems-modern.ems-root-page .ems-redesign-card ul.list-2 > li::before {
  display: none !important;
  content: none !important;
}
body.ems-modern.ems-root-page .ems-redesign-card .list.list-3 > li,
body.ems-modern.ems-root-page .ems-redesign-card ul.list-3 > li,
body.ems-modern.ems-root-page .ems-redesign-card .list.list-2 > li,
body.ems-modern.ems-root-page .ems-redesign-card ul.list-2 > li {
  list-style: disc !important;
}


/* Final content polish: resources, training landing, why-choose graphic */
.ems-root-page .text-primary {
  color: inherit;
}

.ems-root-page .ems-redesign-card h6 a {
  color: var(--ems-blue, #0c4a9c);
}

.ems-root-page .ems-redesign-card h6 a:hover {
  color: var(--ems-navy, #062b60);
}

.ems-root-page .ems-why-choose-graphic,
.ems-root-page img.ems-full-width-graphic[src*="Whychooseems"] {
  display: block;
  width: 100%;
  max-width: 920px;
  height: auto;
  margin: 0 auto 28px;
  border-radius: 14px;
  box-shadow: 0 18px 46px rgba(3, 27, 61, 0.08);
}

@media (max-width: 760px) {
  .ems-root-page .ems-why-choose-graphic,
  .ems-root-page img.ems-full-width-graphic[src*="Whychooseems"] {
    max-width: 100%;
    margin-bottom: 20px;
  }
}

/* Podcast link groups: prevent adjacent text links from running together */
.ems-modern .podcast-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
  align-items: center;
  margin: 16px 0 4px;
}

.ems-modern .podcast-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 14px;
  border: 1px solid var(--ems-line, #d8e2ee);
  border-radius: 999px;
  background: #ffffff;
  color: var(--ems-blue, #0c4a9c);
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
}

.ems-modern .podcast-links a:hover,
.ems-modern .podcast-links a:focus {
  background: var(--ems-light-blue, #eaf2fb);
  color: var(--ems-navy, #062b60);
  text-decoration: none;
}

@media (max-width: 640px) {
  .ems-modern .podcast-links {
    align-items: stretch;
    flex-direction: column;
  }

  .ems-modern .podcast-links a {
    width: 100%;
  }
}

/* Execution Reliability book page link group */
.ems-modern .book-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
  align-items: center;
  margin: 16px 0 4px;
}

.ems-modern .book-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 14px;
  border: 1px solid var(--ems-line, #d8e2ee);
  border-radius: 999px;
  background: #ffffff;
  color: var(--ems-blue, #0c4a9c);
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
}

.ems-modern .book-links a:hover,
.ems-modern .book-links a:focus {
  background: var(--ems-light-blue, #eaf2fb);
  color: var(--ems-navy, #062b60);
  text-decoration: none;
}

@media (max-width: 640px) {
  .ems-modern .book-links {
    align-items: stretch;
    flex-direction: column;
  }

  .ems-modern .book-links a {
    width: 100%;
  }
}

/* Execution Reliability book endorsements: keep endorser name/title/company readable on mobile */
body.ems-modern .book-card .endorsement .attribution,
body.ems-modern .endorsement .attribution,
body.ems-modern p.attribution {
  display: block;
  margin-top: 18px;
  color: #06214a;
  font-weight: 700;
  line-height: 1.45;
  white-space: normal;
}

body.ems-modern .book-card .endorsement .attribution br,
body.ems-modern .endorsement .attribution br,
body.ems-modern p.attribution br {
  display: block;
  content: "";
  margin-bottom: 3px;
}

@media (max-width: 640px) {
  body.ems-modern .book-card .endorsement .attribution,
  body.ems-modern .endorsement .attribution,
  body.ems-modern p.attribution {
    line-height: 1.5;
    font-size: 0.98rem;
  }
}


/* Execution Reliability book endorsements: robust attribution line breaks */
body.ems-modern .endorsement .attribution span,
body.ems-modern p.attribution span {
  display: block;
}

body.ems-modern .endorsement .attribution .attribution-name,
body.ems-modern p.attribution .attribution-name {
  font-weight: 800;
}

body.ems-modern .endorsement .attribution .attribution-title,
body.ems-modern p.attribution .attribution-title,
body.ems-modern .endorsement .attribution .attribution-company,
body.ems-modern p.attribution .attribution-company {
  font-weight: 700;
}

/* EMS logo sizing update - closer to original site logo size */
.ems-site-header .logo-link img,
.ems-header .logo-link img,
body.ems-modern header .brand_name img {
  height: 80px;
  width: auto;
}

@media (max-width: 767px) {
  .ems-site-header .logo-link img,
  .ems-header .logo-link img,
  body.ems-modern header .brand_name img {
    height: 82px;
  }
}

/* =========================================================
   Standardized mobile navigation
   Desktop keeps the horizontal links. Mobile uses one clean native dropdown
   so larger logo sizing does not crowd the header.
   ========================================================= */
body.ems-modern .ems-mobile-nav {
  display: none;
}

@media (max-width: 767px) {
  body.ems-modern .ems-mobile-nav {
    display: block;
    width: 100%;
    margin: 18px auto 0;
    padding: 14px 44px 14px 16px;
    border: 1px solid rgba(255,255,255,0.28);
    border-radius: 4px;
    background: #ffffff;
    color: var(--ems-navy-dark, #031b3d);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.25;
    appearance: auto;
  }

  body.ems-modern .ems-clean-header-inner {
    align-items: center !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 8px !important;
    min-height: auto !important;
    padding: 20px 0 26px !important;
    text-align: center;
  }

  body.ems-modern .ems-clean-logo {
    justify-content: center;
    width: 100%;
  }

  body.ems-modern .ems-clean-nav {
    display: none !important;
  }

  body.ems-modern header#header .container,
  body.ems-modern header#header .row,
  body.ems-modern header#header .col-lg-12 {
    width: 100%;
  }

  body.ems-modern header#header .brand,
  body.ems-modern header#header .brand_name,
  body.ems-modern header#header .brand_name a {
    float: none !important;
    justify-content: center;
    margin: 0 auto;
    text-align: center;
  }

  body.ems-modern header#header .stuck_container {
    padding: 20px 24px 26px !important;
    text-align: center;
  }

  body.ems-modern nav.navbar.navbar-default.navbar-static-top.tm_navbar {
    display: none !important;
  }
}

/* =========================================================
   Mobile homepage positioning labels
   Make the EMS name and service line more legible relative to the hero headline
   ========================================================= */
@media (max-width: 767px) {
  body.ems-modern .block-1.bg-img-1 .box.box-1 h2 {
    font-size: 15px !important;
    line-height: 1.45 !important;
    letter-spacing: 0.12em !important;
    margin-bottom: 9px !important;
  }

  body.ems-modern .block-1.bg-img-1 .box.box-1 h3 {
    font-size: 14px !important;
    line-height: 1.45 !important;
    letter-spacing: 0.10em !important;
    margin-bottom: 16px !important;
  }
}
