/* 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;
  }
}

/* =========================================================
   Mobile homepage hero refinement v2
   Slightly reduce the homepage value-proposition headline on phones.
   ========================================================= */
@media (max-width: 767px) {
  body.ems-modern .block-1.bg-img-1 .box.box-1 h1,
  body.ems-modern .box.box-1 h1 {
    font-size: clamp(26px, 7.4vw, 31px) !important;
    line-height: 1.09 !important;
    letter-spacing: -0.032em !important;
  }
}

@media (max-width: 420px) {
  body.ems-modern .block-1.bg-img-1 .box.box-1 h1,
  body.ems-modern .box.box-1 h1 {
    font-size: clamp(25px, 7.1vw, 29px) !important;
    line-height: 1.10 !important;
  }
}

/* =========================================================
   Desktop homepage positioning labels
   Slightly increase the EMS name and service line above the homepage hero headline.
   ========================================================= */
@media (min-width: 768px) {
  body.ems-modern .block-1.bg-img-1 .box.box-1 h2 {
    font-size: 15px !important;
    line-height: 1.45 !important;
    letter-spacing: 0.14em !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.12em !important;
  }
}

/* Footer contrast safeguard - keeps copyright readable on dark footer backgrounds. */
body.ems-modern footer,
body.ems-modern footer *,
body.ems-modern .ems-redesign-footer,
body.ems-modern .ems-redesign-footer *,
body.ems-modern.ems-root-page .ems-redesign-footer,
body.ems-modern.ems-root-page .ems-redesign-footer * {
  color: #dbeafe !important;
}

body.ems-modern footer a,
body.ems-modern .ems-redesign-footer a,
body.ems-modern.ems-root-page .ems-redesign-footer a {
  color: #ffffff !important;
}

/* =========================================================
   Desktop homepage hero headline refinement
   Reduce the homepage value-proposition headline slightly on desktop
   for a more balanced executive-advisory presentation.
   ========================================================= */
@media (min-width: 901px) {
  body.ems-modern .block-1.bg-img-1 .box.box-1 h1,
  body.ems-modern .box.box-1 h1,
  body.ems-modern .ems-home-hero h1 {
    font-size: clamp(44px, 4.8vw, 64px) !important;
    line-height: 1.08 !important;
  }
}

/* =========================================================
   Desktop homepage hero headline refinement v2
   Stronger reduction after visual review: keep the homepage
   value proposition dominant, but less oversized on desktop.
   ========================================================= */
@media (min-width: 901px) {
  body.ems-modern .block-1.bg-img-1 .box.box-1 h1,
  body.ems-modern .box.box-1 h1,
  body.ems-modern .ems-home-hero h1 {
    font-size: clamp(40px, 4.1vw, 56px) !important;
    line-height: 1.10 !important;
    letter-spacing: -0.03em !important;
  }
}


/* =========================================================
   Book/newsletter/resource content strategy additions
   ========================================================= */
body.ems-modern .book-notification-signup,
body.ems-modern .ems-feature-resource-card {
  margin: 24px 0;
  padding: 24px;
  border: 1px solid var(--ems-line, #d8e2ee);
  border-left: 5px solid var(--ems-gold, #b58a2a);
  border-radius: 14px;
  background: #f8fafc;
  box-shadow: 0 1px 2px rgba(3, 27, 61, 0.04);
}

body.ems-modern .book-notification-signup h5,
body.ems-modern .ems-feature-resource-card h2 {
  margin-top: 0 !important;
  color: var(--ems-navy-dark, #031b3d) !important;
}

body.ems-modern .ems-inline-signup-form .mc-field-group {
  margin: 0 0 14px;
}

body.ems-modern .ems-inline-signup-form label {
  display: block;
  margin-bottom: 6px;
  color: var(--ems-navy-dark, #031b3d);
  font-weight: 800;
}

body.ems-modern .ems-inline-signup-form input[type="text"],
body.ems-modern .ems-inline-signup-form input[type="email"] {
  width: 100%;
  min-height: 44px;
  border: 1px solid var(--ems-line, #d8e2ee);
  border-radius: 8px;
  padding: 10px 12px;
  background: #fff;
  color: var(--ems-ink, #1f2933);
}

body.ems-modern .ems-inline-signup-form input[type="submit"] {
  cursor: pointer;
}

body.ems-modern .ems-feature-resource-card .ems-section-kicker {
  margin-bottom: 8px;
}

body.ems-modern .ems-home-feature-link {
  border-left-color: var(--ems-blue, #0c4a9c);
}

@media (min-width: 760px) {
  body.ems-modern .ems-inline-signup-form #mc_embed_signup_scroll {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    align-items: end;
  }

  body.ems-modern .ems-inline-signup-form .clear {
    grid-column: 1 / -1;
  }
}

/* =========================================================
   Executive mobile navigation refinement v2
   On mobile/tablet widths, show only the dropdown menu and hide the desktop link row.
   This avoids duplicated navigation on executive pages.
   ========================================================= */
@media (max-width: 900px) {
  body.ems-modern.ems-executive-page .ems-exec-topbar-inner {
    align-items: center !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 20px 24px 26px !important;
    text-align: center !important;
  }

  body.ems-modern.ems-executive-page .ems-exec-logo-link {
    justify-content: center !important;
    width: 100% !important;
  }

  body.ems-modern.ems-executive-page .ems-exec-logo-link img {
    height: 82px !important;
  }

  body.ems-modern.ems-executive-page .ems-exec-nav,
  body.ems-modern.ems-executive-page nav.ems-exec-nav,
  body.ems-modern.ems-executive-page .ems-exec-topbar .ems-exec-nav {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
  }

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

/* =========================================================
   Services/training landing lead image layout fix
   Keep the capability/enterprise graphics full-width above intro copy
   instead of allowing the following sentence to sit beside the image.
   ========================================================= */
body.ems-modern.ems-root-page .ems-redesign-card img.ems-content-image[src*="capability.png"],
body.ems-modern.ems-root-page .ems-redesign-card img.ems-content-image[src*="EnterpriseOS.png"] {
  display: block !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  max-width: 760px !important;
  height: auto !important;
  margin: 10px auto 26px !important;
  border-radius: 14px !important;
  box-shadow: 0 18px 46px rgba(3, 27, 61, 0.10) !important;
}

body.ems-modern.ems-root-page .ems-redesign-card p:has(img.ems-content-image[src*="capability.png"]),
body.ems-modern.ems-root-page .ems-redesign-card p:has(img.ems-content-image[src*="EnterpriseOS.png"]) {
  overflow: visible;
}

@media (max-width: 760px) {
  body.ems-modern.ems-root-page .ems-redesign-card img.ems-content-image[src*="capability.png"],
  body.ems-modern.ems-root-page .ems-redesign-card img.ems-content-image[src*="EnterpriseOS.png"] {
    max-width: 100% !important;
    margin: 8px auto 20px !important;
  }
}

