/* ==========================================================================
   EnmaTech design system
   Loaded after theme.min.css / site-theme.css (and ar-rtl.css on Arabic pages).
   Palette taken from the logo: navy #243048, steel blue #546c90.
   ========================================================================== */

:root {
  --enm-navy-950: #0b1320;
  --enm-navy-900: #101b2c;
  --enm-navy-800: #18243a;
  --enm-navy-700: #243048;
  --enm-steel-700: #2f4a6c;
  --enm-steel-600: #3a5a82;
  --enm-steel-500: #546c90;
  --enm-steel-300: #9fb3cf;
  --enm-sky-100: #e8eef6;
  --enm-sky-50: #f4f7fb;
  --enm-line: #dde4ee;
  --enm-text: #18212f;
  --enm-muted: #5a6677;
  --enm-white: #ffffff;
  --enm-radius: 10px;
  --enm-radius-lg: 16px;
  --enm-shadow: 0 1px 2px rgba(16, 27, 44, .06), 0 8px 24px rgba(16, 27, 44, .06);
  --enm-shadow-lg: 0 18px 48px rgba(16, 27, 44, .14);
  --enm-font: "Manrope", "Segoe UI", system-ui, -apple-system, sans-serif;
  --enm-font-ar: "IBM Plex Sans Arabic", "Segoe UI", Tahoma, sans-serif;
  --enm-header-h: 78px;

  /* Bootstrap / Silicon variables */
  --si-primary: #3a5a82;
  --si-primary-rgb: 58, 90, 130;
  --si-link-color: #3a5a82;
  --si-link-color-rgb: 58, 90, 130;
  --si-link-hover-color: #243048;
  --si-link-hover-color-rgb: 36, 48, 72;
  --si-body-color: #18212f;
  --si-body-font-family: var(--enm-font);
  --si-heading-color: #101b2c;
}

/* ---------- base ---------- */
html,
body {
  overflow-x: hidden;
  overflow-x: clip; /* keeps position: sticky working */
}

body {
  font-family: var(--enm-font);
  color: var(--enm-text);
  background: var(--enm-white);
  -webkit-font-smoothing: antialiased;
}

html[lang="ar"] body,
html[dir="rtl"] body {
  font-family: var(--enm-font-ar);
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: inherit;
  letter-spacing: -.01em;
}

html[dir="rtl"] h1, html[dir="rtl"] h2, html[dir="rtl"] h3,
html[dir="rtl"] h4, html[dir="rtl"] h5, html[dir="rtl"] h6 {
  letter-spacing: 0;
}

::selection {
  color: #fff;
  background: var(--enm-steel-600);
}

/* buttons */
.btn {
  font-weight: 600;
  border-radius: 8px;
  letter-spacing: 0;
}

.btn:hover {
  transform: none;
}

.btn-primary {
  --si-btn-color: #fff;
  --si-btn-bg: var(--enm-steel-600);
  --si-btn-border-color: var(--enm-steel-600);
  --si-btn-hover-color: #fff;
  --si-btn-hover-bg: var(--enm-navy-700);
  --si-btn-hover-border-color: var(--enm-navy-700);
  --si-btn-active-color: #fff;
  --si-btn-active-bg: var(--enm-navy-800);
  --si-btn-active-border-color: var(--enm-navy-800);
  --si-btn-disabled-bg: var(--enm-steel-500);
  --si-btn-disabled-border-color: var(--enm-steel-500);
  border: 1px solid var(--si-btn-border-color);
  background: var(--si-btn-bg);
  box-shadow: none;
}

.btn-primary:hover,
.btn-primary:focus-visible {
  border-color: var(--si-btn-hover-border-color);
  background: var(--si-btn-hover-bg);
  box-shadow: none;
  transform: none;
}

.btn-primary:active {
  background: var(--si-btn-active-bg);
}

.btn-outline-primary {
  --si-btn-color: var(--enm-steel-600);
  --si-btn-border-color: var(--enm-steel-600);
  --si-btn-hover-color: #fff;
  --si-btn-hover-bg: var(--enm-steel-600);
  --si-btn-hover-border-color: var(--enm-steel-600);
  --si-btn-active-color: #fff;
  --si-btn-active-bg: var(--enm-navy-700);
  --si-btn-active-border-color: var(--enm-navy-700);
}

.btn-primary.shadow-primary,
.shadow-primary {
  box-shadow: none !important;
}

.btn-enm-light {
  color: var(--enm-navy-900);
  background: #fff;
  border: 1px solid #fff;
}

.btn-enm-light:hover,
.btn-enm-light:focus-visible {
  color: var(--enm-navy-900);
  background: var(--enm-sky-100);
  border-color: var(--enm-sky-100);
}

.btn-enm-ghost {
  color: #fff;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, .45);
}

.btn-enm-ghost:hover,
.btn-enm-ghost:focus-visible {
  color: #fff;
  background: rgba(255, 255, 255, .1);
  border-color: #fff;
}

.text-primary {
  color: var(--enm-steel-600) !important;
}

.bg-primary {
  background-color: var(--enm-steel-600) !important;
}

:focus-visible {
  outline: 2px solid var(--enm-steel-500);
  outline-offset: 2px;
}

/* ---------- shared section helpers ---------- */
.enm-section {
  padding: 88px 0;
}

.enm-section-sm {
  padding: 56px 0;
}

.enm-bg-soft {
  background: var(--enm-sky-50);
}

.enm-bg-navy {
  background: var(--enm-navy-900);
  color: rgba(255, 255, 255, .78);
}

.enm-bg-navy h2,
.enm-bg-navy h3 {
  color: #fff;
}

.enm-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  margin-bottom: .9rem;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--enm-steel-500);
}

.enm-eyebrow::before {
  content: "";
  width: 28px;
  height: 2px;
  background: currentColor;
}

html[dir="rtl"] .enm-eyebrow {
  letter-spacing: 0;
  font-size: .9rem;
}

.enm-bg-navy .enm-eyebrow,
.enm-hero .enm-eyebrow {
  color: var(--enm-steel-300);
}

.enm-section-head {
  max-width: 760px;
  margin-bottom: 48px;
}

.enm-section-head h2 {
  font-size: clamp(1.75rem, 1.2rem + 1.6vw, 2.5rem);
  margin-bottom: .75rem;
}

.enm-section-head p {
  color: var(--enm-muted);
  font-size: 1.05rem;
  margin: 0;
}

.enm-bg-navy .enm-section-head p {
  color: rgba(255, 255, 255, .72);
}

.enm-section-head.text-center {
  margin-inline: auto;
}

.enm-section-head.text-center .enm-eyebrow::before {
  display: none;
}

/* ---------- header layout (independent of the page's Bootstrap copy) ---------- */
.enm-header > .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.enm-menu {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  list-style: none;
}

.enm-header .enm-mega {
  display: none;
  position: static;
}

.enm-header .enm-mega.show {
  display: block;
}

@media (max-width: 991.98px) {
  .enm-header .navbar-collapse {
    flex-basis: 100%;
  }

  .enm-header .navbar-collapse:not(.show) {
    display: none;
  }
}

@media (min-width: 992px) {
  .enm-header .navbar-collapse {
    display: flex !important;
    align-items: center;
    flex-basis: auto;
  }

  .enm-header .enm-toggler {
    display: none;
  }

  .enm-menu {
    flex-direction: row;
  }
}

/* ---------- top bar ---------- */
.enm-topbar {
  background: var(--enm-navy-950);
  color: rgba(255, 255, 255, .72);
  font-size: .82rem;
}

.enm-topbar .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 40px;
}

.enm-topbar-info,
.enm-topbar-links {
  display: flex;
  align-items: center;
  gap: 1.4rem;
}

.enm-topbar-links {
  gap: .25rem;
}

.enm-topbar a,
.enm-topbar span {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  color: rgba(255, 255, 255, .78);
  text-decoration: none;
}

.enm-topbar a:hover {
  color: #fff;
}

.enm-topbar i {
  font-size: 1rem;
  color: var(--enm-steel-300);
}

.enm-topbar-links a {
  padding: .35rem .45rem;
}

.enm-topbar .enm-lang {
  margin-inline-start: .5rem;
  padding: .3rem .75rem;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 999px;
  font-weight: 600;
}

.enm-topbar .enm-lang:hover {
  border-color: rgba(255, 255, 255, .6);
}

/* ---------- header / navbar ---------- */
.enm-header {
  position: sticky;
  top: 0;
  z-index: 1030;
  padding: 0;
  background: rgba(255, 255, 255, .97);
  border-bottom: 1px solid var(--enm-line);
  backdrop-filter: saturate(160%) blur(8px);
  -webkit-backdrop-filter: saturate(160%) blur(8px);
}

.enm-header > .container {
  position: relative;
  min-height: var(--enm-header-h);
  flex-wrap: wrap;
}

.enm-brand {
  display: inline-flex;
  align-items: center;
  margin: 0;
  padding: 0;
}

.enm-brand img {
  display: block;
  width: 200px;
  height: auto;
}

.enm-toggler {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 44px;
  height: 44px;
  padding: 0 11px;
  border: 1px solid var(--enm-line);
  border-radius: 8px;
}

.enm-toggler:focus {
  box-shadow: none;
}

.enm-toggler span {
  display: block;
  height: 2px;
  border-radius: 2px;
  background: var(--enm-navy-800);
  transition: transform .2s ease, opacity .2s ease;
}

.enm-toggler[aria-expanded="true"] span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.enm-toggler[aria-expanded="true"] span:nth-child(2) {
  opacity: 0;
}

.enm-toggler[aria-expanded="true"] span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

.enm-menu .nav-link {
  display: flex;
  align-items: center;
  gap: .3rem;
  font-size: .95rem;
  font-weight: 600;
  color: var(--enm-navy-800);
}

.enm-menu .nav-link:hover,
.enm-menu .nav-link:focus,
.enm-menu .nav-link.show,
.enm-menu .nav-link.active {
  color: var(--enm-steel-600);
}

.enm-menu .dropdown-toggle::after {
  display: none;
}

.enm-caret {
  font-size: 1.15rem;
  transition: transform .2s ease;
}

.enm-menu .dropdown-toggle.show .enm-caret {
  transform: rotate(180deg);
}

/* mega menu */
.enm-mega {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: #fff;
}

.enm-mega-inner {
  display: block;
}

.enm-mega-group {
  border-bottom: 1px solid var(--enm-line);
}

.enm-mega-tab {
  display: flex;
  align-items: center;
  gap: .8rem;
  width: 100%;
  padding: .85rem 0;
  border: 0;
  background: none;
  color: var(--enm-navy-800);
  text-align: start;
  font: inherit;
}

.enm-mega-tab > i {
  flex: 0 0 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 8px;
  background: var(--enm-sky-100);
  color: var(--enm-steel-600);
  font-size: 1.25rem;
}

.enm-mega-tab strong {
  display: block;
  font-size: .95rem;
  font-weight: 700;
  line-height: 1.3;
}

.enm-mega-tab small {
  display: block;
  margin-top: 2px;
  font-size: .78rem;
  line-height: 1.35;
  color: var(--enm-muted);
}

.enm-mega-tab .enm-mega-caret {
  margin-inline-start: auto;
  font-size: 1.3rem;
  color: var(--enm-steel-500);
  transition: transform .2s ease;
}

.enm-mega-panel {
  display: none;
  padding: 0 0 1rem 50px;
}

html[dir="rtl"] .enm-mega-panel {
  padding: 0 50px 1rem 0;
}

.enm-mega-group.is-open .enm-mega-panel {
  display: block;
}

.enm-mega-group.is-open .enm-mega-caret {
  transform: rotate(180deg);
}

.enm-mega-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .6rem;
}

.enm-mega-head a {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  font-weight: 700;
  color: var(--enm-steel-600);
  text-decoration: none;
}

.enm-mega-head a:hover {
  color: var(--enm-navy-800);
}

.enm-mega-head h3 {
  display: none;
}

.enm-mega-links {
  margin: 0;
  padding: 0;
  list-style: none;
}

.enm-mega-links li {
  break-inside: avoid;
}

.enm-mega-links a,
.enm-mega-links span {
  display: flex;
  align-items: flex-start;
  gap: .5rem;
  padding: .45rem 0;
  font-size: .9rem;
  line-height: 1.4;
  color: var(--enm-text);
  text-decoration: none;
}

.enm-mega-links a::before,
.enm-mega-links span::before {
  content: "";
  flex: 0 0 6px;
  width: 6px;
  height: 6px;
  margin-top: .45rem;
  border-radius: 50%;
  background: var(--enm-steel-300);
}

.enm-mega-links a:hover {
  color: var(--enm-steel-600);
}

.enm-mega-links a:hover::before {
  background: var(--enm-steel-600);
}

.enm-header-cta {
  padding: 1rem 0 1.25rem;
}

/* mobile navbar panel */
@media (max-width: 991.98px) {
  .enm-header .navbar-collapse {
    max-height: calc(100vh - var(--enm-header-h));
    overflow-y: auto;
    margin: 0 -12px;
    padding: 0 12px;
    border-top: 1px solid var(--enm-line);
  }

  .enm-menu .nav-link {
    padding: .9rem 0;
    border-bottom: 1px solid var(--enm-line);
  }

  .enm-menu .dropdown-toggle {
    justify-content: space-between;
  }

  .enm-mega {
    box-shadow: none;
  }

  .enm-header-cta .btn {
    width: 100%;
  }
}

/* desktop navbar */
@media (min-width: 992px) {
  .enm-header > .container {
    flex-wrap: nowrap;
  }

  /* centred in both directions (ar-rtl.css pushes .navbar-nav to one side with !important) */
  .enm-header .navbar-nav.enm-menu {
    margin-right: auto !important;
    margin-left: auto !important;
    gap: .25rem;
  }

  .enm-menu > .nav-item > .nav-link {
    padding: 28px .8rem;
  }

  .enm-header .navbar-collapse,
  .enm-header .enm-menu,
  .enm-has-mega {
    position: static;
  }

  .enm-header .enm-mega {
    position: absolute;
    top: 100%;
    left: 12px;
    right: 12px;
    margin-top: 0;
    border: 1px solid var(--enm-line);
    border-top: 0;
    border-radius: 0 0 var(--enm-radius-lg) var(--enm-radius-lg);
    box-shadow: var(--enm-shadow-lg);
    overflow: hidden;
  }

  .enm-mega-inner {
    display: grid;
    grid-template-columns: 330px 1fr;
    grid-auto-rows: auto;
    min-height: 420px;
  }

  .enm-mega-group {
    display: contents;
  }

  .enm-mega-tab {
    grid-column: 1;
    padding: .8rem 1.25rem;
    background: var(--enm-sky-50);
    border-inline-end: 1px solid var(--enm-line);
    cursor: pointer;
  }

  .enm-mega-tab:first-child {
    padding-top: 1.1rem;
  }

  .enm-mega-tab .enm-mega-caret {
    transform: rotate(-90deg);
    opacity: 0;
  }

  html[dir="rtl"] .enm-mega-tab .enm-mega-caret {
    transform: rotate(90deg);
  }

  .enm-mega-group.is-active .enm-mega-tab {
    background: #fff;
    border-inline-end-color: transparent;
    box-shadow: inset 3px 0 0 var(--enm-steel-600);
  }

  html[dir="rtl"] .enm-mega-group.is-active .enm-mega-tab {
    box-shadow: inset -3px 0 0 var(--enm-steel-600);
  }

  .enm-mega-group.is-active .enm-mega-caret {
    opacity: 1;
  }

  .enm-mega-group.is-open .enm-mega-caret {
    transform: rotate(-90deg);
  }

  html[dir="rtl"] .enm-mega-group.is-open .enm-mega-caret {
    transform: rotate(90deg);
  }

  .enm-mega-panel,
  html[dir="rtl"] .enm-mega-panel,
  .enm-mega-group.is-open .enm-mega-panel {
    display: none;
    grid-column: 2;
    grid-row: 1 / span 6;
    padding: 1.75rem 2.25rem;
  }

  .enm-mega-group.is-active .enm-mega-panel {
    display: block;
  }

  .enm-mega-head {
    padding-bottom: 1rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid var(--enm-line);
  }

  .enm-mega-head h3 {
    display: block;
    margin: 0;
    font-size: 1.15rem;
  }

  .enm-mega-links {
    columns: 2;
    column-gap: 2.25rem;
  }

  .enm-header-cta {
    padding: 0;
  }

  .enm-header .navbar-collapse {
    flex-grow: 1;
  }
}

@media (min-width: 992px) and (hover: hover) {
  .enm-has-mega:hover > .enm-mega {
    display: block;
  }

  .enm-has-mega:hover > .dropdown-toggle .enm-caret {
    transform: rotate(180deg);
  }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  .enm-brand img {
    width: 165px;
  }

  .enm-menu > .nav-item > .nav-link {
    padding-inline: .55rem;
    font-size: .9rem;
  }

  .enm-mega-inner {
    grid-template-columns: 280px 1fr;
  }
}

/* ---------- page hero (home) ---------- */
.enm-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 120px 0 170px;
  color: #fff;
  background: var(--enm-navy-900);
}

.enm-hero-bg {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.enm-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(11, 19, 32, .94) 0%, rgba(16, 27, 44, .82) 45%, rgba(24, 36, 58, .45) 100%);
}

html[dir="rtl"] .enm-hero::before {
  background:
    linear-gradient(270deg, rgba(11, 19, 32, .94) 0%, rgba(16, 27, 44, .82) 45%, rgba(24, 36, 58, .45) 100%);
}

.enm-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-image:
    linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(90deg, #000 0%, transparent 70%);
  -webkit-mask-image: linear-gradient(90deg, #000 0%, transparent 70%);
}

.enm-hero-title {
  max-width: 760px;
  margin-bottom: 1.25rem;
  color: #fff;
  font-size: clamp(2.4rem, 1.4rem + 4vw, 4.4rem);
  font-weight: 800;
  line-height: 1.06;
}

html[dir="rtl"] .enm-hero-title {
  line-height: 1.25;
}

.enm-hero-lead {
  max-width: 560px;
  margin-bottom: 2.25rem;
  font-size: 1.2rem;
  color: rgba(255, 255, 255, .76);
}

.enm-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
}

.enm-hero-actions .btn {
  padding: .85rem 1.6rem;
}

.enm-hero-social {
  display: flex;
  gap: .5rem;
  margin-top: 2.75rem;
}

.enm-hero-social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid rgba(255, 255, 255, .25);
  border-radius: 50%;
  color: #fff;
  font-size: 1.15rem;
  text-decoration: none;
}

.enm-hero-social a:hover {
  background: rgba(255, 255, 255, .12);
  border-color: #fff;
}

/* division shortcut cards overlapping the hero */
.enm-divcards {
  position: relative;
  z-index: 2;
  margin-top: -96px;
}

.enm-divcards-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  overflow: hidden;
  border: 1px solid var(--enm-line);
  border-radius: var(--enm-radius-lg);
  background: #fff;
  box-shadow: var(--enm-shadow-lg);
}

.enm-divcard {
  display: flex;
  flex-direction: column;
  gap: .65rem;
  padding: 1.5rem 1.25rem;
  color: var(--enm-text);
  text-decoration: none;
  border-inline-end: 1px solid var(--enm-line);
  transition: background .2s ease;
}

.enm-divcard:last-child {
  border-inline-end: 0;
}

.enm-divcard i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background: var(--enm-sky-100);
  color: var(--enm-steel-600);
  font-size: 1.4rem;
  transition: background .2s ease, color .2s ease;
}

.enm-divcard strong {
  font-size: .95rem;
  line-height: 1.35;
  color: var(--enm-navy-900);
}

.enm-divcard small {
  font-size: .8rem;
  line-height: 1.45;
  color: var(--enm-muted);
}

.enm-divcard:hover {
  color: var(--enm-text);
  background: var(--enm-sky-50);
}

.enm-divcard:hover i {
  background: var(--enm-steel-600);
  color: #fff;
}

@media (max-width: 1199.98px) {
  .enm-divcards-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .enm-divcard:nth-child(3) {
    border-inline-end: 0;
  }

  .enm-divcard:nth-child(-n+3) {
    border-bottom: 1px solid var(--enm-line);
  }
}

@media (max-width: 575.98px) {
  .enm-hero {
    padding: 80px 0 130px;
  }

  .enm-divcards-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .enm-divcard {
    padding: 1.1rem 1rem;
  }

  .enm-divcard small {
    display: none;
  }

  .enm-divcard:nth-child(3) {
    border-inline-end: 1px solid var(--enm-line);
  }

  .enm-divcard:nth-child(2n) {
    border-inline-end: 0;
  }

  .enm-divcard:nth-child(-n+4) {
    border-bottom: 1px solid var(--enm-line);
  }
}

/* ---------- about ---------- */
.enm-about-media {
  position: relative;
}

.enm-about-media img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-radius: var(--enm-radius-lg);
}

.enm-about-badge {
  position: absolute;
  bottom: -28px;
  inset-inline-end: 28px;
  padding: 1.25rem 1.5rem;
  border-radius: var(--enm-radius);
  background: var(--enm-navy-800);
  color: #fff;
  box-shadow: var(--enm-shadow-lg);
}

.enm-about-badge b {
  display: block;
  font-size: 2rem;
  line-height: 1;
}

.enm-about-badge span {
  font-size: .82rem;
  color: rgba(255, 255, 255, .72);
}

.enm-about h1 {
  font-size: clamp(1.75rem, 1.2rem + 1.6vw, 2.5rem);
  line-height: 1.2;
  margin-bottom: 1.25rem;
}

.enm-about p {
  color: var(--enm-muted);
  font-size: 1.1rem;
}

.enm-facts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  margin: 2rem 0;
  overflow: hidden;
  border: 1px solid var(--enm-line);
  border-radius: var(--enm-radius);
  background: var(--enm-line);
}

.enm-facts div {
  padding: 1rem 1.1rem;
  background: #fff;
}

.enm-facts b {
  display: block;
  font-size: 1.35rem;
  color: var(--enm-navy-800);
}

.enm-facts span {
  font-size: .82rem;
  color: var(--enm-muted);
}

/* ---------- clients ---------- */
.enm-clients-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 12px;
}

.enm-client {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 92px;
  padding: 14px;
  border: 1px solid var(--enm-line);
  border-radius: var(--enm-radius);
  background: #fff;
}

.enm-client img {
  max-width: 100%;
  max-height: 60px;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: grayscale(1);
  opacity: .75;
  transition: filter .2s ease, opacity .2s ease;
}

.enm-client:hover img {
  filter: none;
  opacity: 1;
}

@media (max-width: 991.98px) {
  .enm-clients-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (max-width: 575.98px) {
  .enm-clients-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
  }

  .enm-client {
    height: 72px;
    padding: 10px;
  }
}

/* ---------- service divisions ---------- */
.enm-division {
  padding: 72px 0;
  border-top: 1px solid var(--enm-line);
  scroll-margin-top: calc(var(--enm-header-h) + 8px);
}

.enm-division:first-of-type {
  border-top: 0;
  padding-top: 0;
}

.enm-division-media {
  position: relative;
  overflow: hidden;
  border-radius: var(--enm-radius-lg);
  background: var(--enm-sky-100);
}

.enm-division-media img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.enm-division-caption {
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  gap: .85rem;
  padding: 1rem 1.25rem;
  background: linear-gradient(0deg, rgba(11, 19, 32, .92), rgba(11, 19, 32, .7));
  color: #fff;
}

.enm-division-caption i {
  font-size: 1.6rem;
  color: var(--enm-steel-300);
}

.enm-division-caption strong {
  display: block;
  font-size: .95rem;
}

.enm-division-caption span {
  display: block;
  font-size: .8rem;
  color: rgba(255, 255, 255, .72);
}

.enm-division-num {
  display: inline-block;
  margin-inline-end: .6rem;
  color: var(--enm-steel-500);
  font-weight: 800;
}

.enm-division h2 {
  font-size: clamp(1.5rem, 1.15rem + 1vw, 2rem);
  margin-bottom: 1rem;
}

.enm-division-text {
  color: var(--enm-muted);
  margin-bottom: 1.25rem;
}

.enm-checks {
  margin: 0 0 1.25rem;
  padding: 0;
  list-style: none;
}

.enm-checks li {
  display: flex;
  gap: .6rem;
  margin-bottom: .5rem;
  color: var(--enm-muted);
}

.enm-checks i {
  flex: 0 0 auto;
  margin-top: .15rem;
  font-size: 1.2rem;
  color: var(--enm-steel-600);
}

.enm-tags {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin: 0 0 1.5rem;
  padding: 0;
  list-style: none;
}

.enm-tags li {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .3rem .75rem;
  border: 1px solid var(--enm-line);
  border-radius: 999px;
  background: var(--enm-sky-50);
  font-size: .8rem;
  font-weight: 600;
  color: var(--enm-navy-800);
}

.enm-tags i {
  font-size: 1rem;
  color: var(--enm-steel-600);
}

.enm-sublinks {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin-bottom: 1.75rem;
}

.enm-sublink {
  display: flex;
  align-items: center;
  gap: .85rem;
  height: 100%;
  padding: .85rem 1rem;
  border: 1px solid var(--enm-line);
  border-radius: var(--enm-radius);
  background: #fff;
  color: var(--enm-text);
  text-decoration: none;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

a.enm-sublink:hover {
  color: var(--enm-text);
  border-color: var(--enm-steel-300);
  box-shadow: var(--enm-shadow);
  transform: translateY(-2px);
}

.enm-sublink-ico {
  flex: 0 0 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  overflow: hidden;
  border-radius: 8px;
  background: var(--enm-sky-100);
  color: var(--enm-steel-600);
  font-size: 1.35rem;
}

.enm-sublink-ico img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.enm-sublink-ico img.is-icon {
  width: 30px;
  height: 30px;
  object-fit: contain;
}

.enm-sublink h3 {
  margin: 0 0 .15rem;
  font-size: .92rem;
  line-height: 1.35;
}

.enm-sublink p {
  margin: 0;
  font-size: .8rem;
  line-height: 1.45;
  color: var(--enm-muted);
}

.enm-sublink-arrow {
  margin-inline-start: auto;
  font-size: 1.2rem;
  color: var(--enm-steel-500);
}

html[dir="rtl"] .enm-sublink-arrow,
html[dir="rtl"] .enm-flip {
  transform: scaleX(-1);
}

.enm-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
}

.enm-actions .btn {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .7rem 1.35rem;
}

@media (max-width: 767.98px) {
  .enm-sublinks {
    grid-template-columns: 1fr;
  }

  .enm-division {
    padding: 56px 0;
  }
}

/* ---------- highlight band ---------- */
.enm-band {
  position: relative;
  overflow: hidden;
  padding: 64px;
  border-radius: var(--enm-radius-lg);
  background:
    radial-gradient(circle at 100% 0%, rgba(84, 108, 144, .45), transparent 55%),
    var(--enm-navy-800);
  color: rgba(255, 255, 255, .78);
}

.enm-band h2 {
  color: #fff;
  font-size: clamp(1.5rem, 1.1rem + 1.2vw, 2.2rem);
  margin-bottom: 1rem;
}

.enm-band p {
  max-width: 820px;
  font-size: 1.05rem;
  margin-bottom: 1.75rem;
}

@media (max-width: 767.98px) {
  .enm-band {
    padding: 40px 24px;
  }
}

/* ---------- projects ---------- */
.enm-project {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  border: 1px solid var(--enm-line);
  border-radius: var(--enm-radius-lg);
  background: #fff;
  transition: box-shadow .2s ease, transform .2s ease;
}

.enm-project:hover {
  box-shadow: var(--enm-shadow-lg);
  transform: translateY(-3px);
}

.enm-project-img {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--enm-sky-100);
}

.enm-project-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.enm-project-tag {
  position: absolute;
  top: 14px;
  inset-inline-start: 14px;
  padding: .3rem .7rem;
  border-radius: 6px;
  background: rgba(11, 19, 32, .85);
  color: #fff;
  font-size: .75rem;
  font-weight: 700;
}

.enm-project-body {
  padding: 1.35rem 1.4rem 1.5rem;
}

.enm-project h3 {
  margin-bottom: 1rem;
  font-size: 1.15rem;
}

.enm-project dl {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .4rem 1rem;
  margin: 0;
  font-size: .87rem;
}

.enm-project dt {
  font-weight: 600;
  color: var(--enm-muted);
}

.enm-project dd {
  margin: 0;
  color: var(--enm-text);
}

/* ---------- CTA ---------- */
.enm-cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem 3rem;
  padding: 56px 64px;
  border-radius: var(--enm-radius-lg);
  background: linear-gradient(120deg, var(--enm-steel-700), var(--enm-navy-800));
  color: rgba(255, 255, 255, .78);
}

.enm-cta p {
  margin: 0 0 .35rem;
  font-size: 1.05rem;
}

.enm-cta h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(1.6rem, 1.2rem + 1.3vw, 2.4rem);
}

.enm-cta .btn {
  padding: .9rem 1.8rem;
}

@media (max-width: 767.98px) {
  .enm-cta {
    padding: 40px 24px;
  }
}

/* ---------- footer ---------- */
.enm-footer {
  padding: 72px 0 0;
  background: var(--enm-navy-950);
  color: rgba(255, 255, 255, .68);
  font-size: .92rem;
}

.enm-footer a {
  color: rgba(255, 255, 255, .78);
  text-decoration: none;
}

.enm-footer a:hover {
  color: #fff;
}

.enm-footer-logo {
  display: inline-block;
  margin-bottom: 1.25rem;
}

.enm-footer-logo img {
  display: block;
  width: 200px;
  height: auto;
}

.enm-footer-about {
  max-width: 360px;
  line-height: 1.7;
}

.enm-footer-title {
  margin-bottom: 1.1rem;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #fff;
}

html[dir="rtl"] .enm-footer-title {
  letter-spacing: 0;
  font-size: .95rem;
}

.enm-footer-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.enm-footer-list li {
  margin-bottom: .65rem;
}

.enm-footer-contact li {
  display: flex;
  gap: .65rem;
}

.enm-footer-contact i {
  flex: 0 0 auto;
  margin-top: .15rem;
  font-size: 1.15rem;
  color: var(--enm-steel-300);
}

.enm-social {
  display: flex;
  gap: .5rem;
  margin-top: 1.5rem;
}

.enm-social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 8px;
  font-size: 1.2rem;
}

.enm-social a:hover {
  border-color: rgba(255, 255, 255, .6);
  background: rgba(255, 255, 255, .06);
}

.enm-footer-bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .75rem 2rem;
  margin-top: 56px;
  padding: 22px 0;
  border-top: 1px solid rgba(255, 255, 255, .1);
  font-size: .85rem;
}

.enm-footer-bottom p {
  margin: 0;
}

.enm-footer-bottom ul {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* ---------- floating WhatsApp + back to top ---------- */
.float {
  box-shadow: 0 8px 24px rgba(16, 27, 44, .25);
}

.btn-scroll-top {
  border-radius: 8px;
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    transition: none !important;
    scroll-behavior: auto !important;
  }
}

@media (min-width: 992px) {
  .enm-division-media {
    position: sticky;
    top: calc(var(--enm-header-h) + 24px);
  }
}

/* the theme hides clicked-open (.show) navbar dropdowns on desktop; keep the mega menu usable by click / tap */
.enm-header .dropdown-menu.enm-mega.show {
  display: block;
}

.enm-header .dropdown-menu.enm-mega {
  max-width: none; /* site-theme.css caps navbar dropdowns at 22rem */
}

.enm-mega {
  white-space: normal;
}

.enm-mega-tab > span {
  min-width: 0;
}

.enm-mega-tab > i.enm-mega-caret {
  flex: 0 0 auto;
  width: auto;
  height: auto;
  background: none;
  border-radius: 0;
}

.enm-mega-links a.active {
  color: var(--enm-steel-600);
  font-weight: 700;
}

.enm-mega-links a.active::before {
  background: var(--enm-steel-600);
}

/* ==========================================================================
   Inner pages
   ========================================================================== */

/* ---------- standard page hero ---------- */
.enm-page-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 40px 0 72px;
  color: rgba(255, 255, 255, .78);
  background: var(--enm-navy-900);
  text-align: start;
}

.enm-page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-image:
    radial-gradient(circle at 100% 0%, rgba(84, 108, 144, .35), transparent 50%),
    linear-gradient(rgba(255, 255, 255, .04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .04) 1px, transparent 1px);
  background-size: auto, 64px 64px, 64px 64px;
}

.enm-page-hero.has-bg::before {
  background:
    linear-gradient(90deg, rgba(11, 19, 32, .95) 0%, rgba(16, 27, 44, .86) 50%, rgba(24, 36, 58, .6) 100%);
}

html[dir="rtl"] .enm-page-hero.has-bg::before {
  background:
    linear-gradient(270deg, rgba(11, 19, 32, .95) 0%, rgba(16, 27, 44, .86) 50%, rgba(24, 36, 58, .6) 100%);
}

.enm-page-hero .enm-hero-bg {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.enm-crumb {
  margin-bottom: 40px;
}

.enm-crumb .breadcrumb {
  flex-wrap: wrap;
  gap: .25rem 0;
  margin: 0;
  padding: 0;
  background: none;
  font-size: .85rem;
}

.enm-crumb .breadcrumb-item,
.enm-crumb .breadcrumb-item a {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  color: rgba(255, 255, 255, .62);
  text-decoration: none;
}

.enm-crumb .breadcrumb-item a:hover {
  color: #fff;
}

.enm-crumb .breadcrumb-item.active {
  color: #fff;
}

.enm-crumb .breadcrumb-item + .breadcrumb-item::before {
  color: rgba(255, 255, 255, .35);
  content: "/";
}

.enm-crumb .bx {
  font-size: 1rem;
}

.enm-page-title {
  max-width: 880px;
  margin: 0 0 1.1rem;
  color: #fff;
  font-size: clamp(1.9rem, 1.2rem + 2.4vw, 3.1rem);
  font-weight: 800;
  line-height: 1.12;
}

html[dir="rtl"] .enm-page-title {
  line-height: 1.35;
}

.enm-page-title * {
  color: inherit !important;
}

.enm-page-lead {
  max-width: 720px;
  margin: 0 0 1.75rem;
  color: rgba(255, 255, 255, .76);
  font-size: 1.12rem;
  line-height: 1.7;
}

.enm-page-lead a {
  color: #fff;
}

.enm-hero-tags {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin: 0 0 1.75rem;
  padding: 0;
  list-style: none;
}

.enm-hero-tags li {
  padding: .3rem .8rem;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 999px;
  font-size: .8rem;
  font-weight: 600;
  color: #fff;
}

.enm-page-hero .enm-hero-actions .btn {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .8rem 1.5rem;
  font-size: 1rem;
}

.enm-page-media {
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: var(--enm-radius-lg);
  background: rgba(255, 255, 255, .04);
  box-shadow: 0 24px 60px rgba(0, 0, 0, .3);
}

.enm-page-media img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 420px;
  object-fit: cover;
}

@media (max-width: 767.98px) {
  .enm-page-hero {
    padding: 28px 0 48px;
  }

  .enm-crumb {
    margin-bottom: 28px;
  }
}

/* what an old hero left behind (stat strips, side panels, branch cards) becomes normal content */
.enm-hero-rest {
  min-height: 0 !important;
  margin-top: 0 !important;
  padding-top: 40px !important;
  background: none !important;
  color: inherit !important;
  box-shadow: none !important;
}

.enm-hero-rest::before,
.enm-hero-rest::after {
  display: none !important;
}

/* sidebars that were pulled up into the old hero */
.enm-page-hero ~ * [style*="margin-top: -96px"] {
  margin-top: 0 !important;
}

/* ---------- section backgrounds ---------- */
.bg-secondary,
.eo-soft,
.bio-soft,
.section-alt {
  background: var(--enm-sky-50) !important;
}

.about,
.features,
.service-redesign-page,
.structural-page,
.article-theme {
  background: transparent !important;
}

/* the site is light only: never let a dark system theme show through */
html {
  color-scheme: light;
  background: var(--enm-white);
}

body,
body.service-redesign-page,
body.article-theme,
body.structural-page {
  background: var(--enm-white) !important;
}

/* ---------- cards and panels ---------- */
.card,
.eo-card,
.eo-panel,
.eo-related-card,
.bio-card,
.ff-section-card,
.ff-highlight-card,
.ff-detail-item,
.service-pill,
.service-card,
.value-card,
.vision-mission-card,
.branch-card,
.contact-card,
.content-panel {
  border: 1px solid var(--enm-line) !important;
  border-radius: 14px !important;
  background-color: #fff;
  box-shadow: none !important;
}

.card:hover,
.eo-card:hover,
.eo-related-card:hover,
.bio-card:hover,
.service-card:hover,
.value-card:hover,
.vision-mission-card:hover,
.branch-card:hover {
  border-color: var(--enm-steel-300) !important;
  box-shadow: var(--enm-shadow) !important;
}

.service-card::before,
.section-title::after {
  background: var(--enm-steel-500) !important;
}

/* the old service hero card is now a light facts strip under the page hero */
.service-hero-card.enm-hero-rest {
  margin-top: 40px !important;
  padding-top: 2rem !important;
  border: 1px solid var(--enm-line) !important;
  border-radius: var(--enm-radius-lg) !important;
  background: var(--enm-sky-50) !important;
}

.service-hero-card.enm-hero-rest .summary-strip {
  margin-top: 0;
}

.service-hero-card.enm-hero-rest .summary-strip div {
  border: 1px solid var(--enm-line);
  border-radius: 12px;
  background: #fff;
  color: var(--enm-navy-900);
}

/* dark panels keep a navy look */
.summary-panel,
.ff-hero {
  border: 0 !important;
  border-radius: 14px !important;
  background: var(--enm-navy-800) !important;
  color: rgba(255, 255, 255, .8) !important;
  box-shadow: none !important;
}

.summary-panel h2,
.summary-panel h3,
.summary-panel strong {
  color: #fff !important;
}

/* ---------- small labels and icon boxes ---------- */
.eo-pill,
.bio-pill,
.service-kicker,
.ff-chip,
.blog-meta {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .3rem .75rem !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--enm-sky-100) !important;
  color: var(--enm-steel-600) !important;
  font-size: .78rem !important;
  font-weight: 700 !important;
}

.eo-service-icon,
.bio-icon,
.value-icon,
.vision-mission-icon,
.feature-icon,
.service-icon,
.cs-ico,
.eo-step-number {
  border: 0 !important;
  border-radius: 10px !important;
  background: var(--enm-sky-100) !important;
  color: var(--enm-steel-600) !important;
  box-shadow: none !important;
}

.service-icon img,
.feature-icon img {
  filter: none !important;
}

.eo-list-item i,
.service-pill i,
.list-unstyled .bx-check-circle {
  color: var(--enm-steel-600) !important;
}

/* ---------- call-to-action blocks ---------- */
.position-relative.bg-dark.rounded-3,
.eo-cta,
.bio-cta-panel,
.structural-page .cta,
.article-theme .cta {
  border: 0 !important;
  border-radius: var(--enm-radius-lg) !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(84, 108, 144, .45), transparent 55%),
    linear-gradient(120deg, var(--enm-steel-700), var(--enm-navy-800)) !important;
  box-shadow: none !important;
  color: rgba(255, 255, 255, .8);
}

.position-relative.bg-dark.rounded-3 > span.position-absolute,
.bio-cta-panel::before {
  display: none !important;
}

.position-relative.bg-dark.rounded-3 h2,
.eo-cta h2,
.bio-cta-panel h2,
.structural-page .cta h2,
.article-theme .cta h2 {
  color: #fff !important;
}

.position-relative.bg-dark.rounded-3 .btn-primary,
.eo-cta .btn,
.bio-cta-panel .btn,
.structural-page .cta .btn,
.article-theme .cta .btn {
  border-color: #fff !important;
  background: #fff !important;
  color: var(--enm-navy-900) !important;
}

/* ---------- FAQ / accordions ---------- */
.accordion-item,
.faq details {
  overflow: hidden;
  margin-bottom: .6rem;
  border: 1px solid var(--enm-line) !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: none !important;
}

.accordion-button,
.faq summary {
  color: var(--enm-navy-900) !important;
  font-weight: 700;
  background: #fff !important;
  box-shadow: none !important;
}

.accordion-button:not(.collapsed) {
  color: var(--enm-steel-600) !important;
  background: var(--enm-sky-50) !important;
}

/* ---------- content images ---------- */
.service-visual,
.blog-hero-img,
.eo-image-frame {
  border-radius: 14px !important;
}

.service-detail-redesign .content-panel h2::before {
  background: var(--enm-steel-500) !important;
}

/* ---------- office cards (about / contact) ---------- */
.offices-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5rem;
  margin-top: 2rem;
}

.office-card {
  padding: 1.5rem;
  border: 1px solid var(--enm-line);
  border-radius: 14px;
  background: #fff;
  box-shadow: none;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.office-card:hover {
  border-color: var(--enm-steel-300);
  box-shadow: var(--enm-shadow);
}

.office-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--enm-line);
}

.office-header h3 {
  margin: 0;
  color: var(--enm-navy-900);
  font-size: 1.1rem;
}

.office-flag h3 {
  padding: .2rem .65rem;
  border-radius: 999px;
  background: var(--enm-sky-100);
  color: var(--enm-steel-600);
  font-size: .75rem;
  letter-spacing: .04em;
}

.office-details iframe {
  display: block;
  margin-bottom: 1rem;
  border-radius: 10px;
  background: var(--enm-sky-50);
}

.office-details h4 {
  margin-bottom: .25rem;
  font-size: 1rem;
}

.office-address {
  margin-bottom: 1rem;
  color: var(--enm-muted);
  font-size: .9rem;
  font-weight: 500;
}

.office-contact .contact-item {
  display: flex;
  align-items: center;
  gap: .6rem;
  margin-bottom: .4rem;
  font-size: .875rem;
}

.office-contact .contact-item i {
  width: 1rem;
  color: var(--enm-steel-500);
}

/* icon boxes that were plain inline icons */
.vision-mission-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  font-size: 26px !important;
}
/* enm-layout:start */

/* ==========================================================================
   Inner page layout (bands, sub navigation, document layout, closing CTA)
   ========================================================================== */

/* ---------- full-width bands ---------- */
.enm-zone {
  padding: 88px 0;
  background: var(--enm-white);
}

.enm-zone-alt {
  background: var(--enm-sky-50);
  border-block: 1px solid var(--enm-line);
}

.enm-zone > section,
.enm-zone > div:not(.container),
.enm-zone > aside,
.enm-zone > article,
.enm-zone > nav,
.enm-zone > .container {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background: transparent !important;
  border-block: 0 !important;
}

.enm-zone > .container > .container,
.enm-zone > section > .container {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.enm-zone .enm-zone-title {
  position: relative;
  margin-bottom: 1.25rem;
  padding-top: 24px;
  color: var(--enm-navy-900) !important;
  font-size: clamp(1.6rem, 1.15rem + 1.3vw, 2.35rem) !important;
  font-weight: 800 !important;
  line-height: 1.2;
  letter-spacing: -.01em;
}

html[dir="rtl"] .enm-zone .enm-zone-title {
  line-height: 1.4;
  letter-spacing: 0;
}

.enm-zone .enm-zone-title::before {
  content: "";
  position: absolute;
  top: 0;
  inset-inline-start: 0;
  width: 44px;
  height: 4px;
  border-radius: 4px;
  background: var(--enm-steel-500);
}

.enm-zone .enm-zone-title.text-center::before,
.enm-zone .text-center > .enm-zone-title::before,
.enm-zone .eco-center .enm-zone-title::before {
  right: 0;
  left: 0;
  margin-inline: auto;
}

.enm-zone-title,
.enm-toc-target {
  scroll-margin-top: calc(var(--enm-header-h) + 84px);
}

/* related "more about" card grids */
.enm-zone article.card {
  overflow: hidden;
}

.enm-zone article.card .card-img-top {
  aspect-ratio: 16 / 10;
  object-fit: cover;
  transition: transform .5s ease;
}

.enm-zone article.card:hover .card-img-top {
  transform: scale(1.04);
}

.enm-zone article.card .card-body {
  padding: 1.4rem 1.5rem .5rem;
}

.enm-zone article.card .card-footer {
  padding: 0 1.5rem 1.5rem !important;
  border: 0 !important;
  background: none !important;
}

.enm-zone article.card .card-footer .btn {
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
  color: var(--enm-steel-600) !important;
  font-size: .95rem !important;
  font-weight: 700;
}

.enm-zone article.card .card-footer .btn::after {
  content: "\2192";
  margin-inline-start: .45rem;
  transition: margin .2s ease;
}

html[dir="rtl"] .enm-zone article.card .card-footer .btn::after {
  content: "\2190";
}

.enm-zone article.card:hover .card-footer .btn::after {
  margin-inline-start: .75rem;
}

/* ---------- sticky sub navigation (landing pages) ---------- */
.enm-subnav {
  position: sticky;
  top: var(--enm-header-h);
  z-index: 1020;
  border-bottom: 1px solid var(--enm-line);
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 8px 24px rgba(16, 27, 44, .05);
  backdrop-filter: saturate(160%) blur(8px);
  -webkit-backdrop-filter: saturate(160%) blur(8px);
}

.enm-subnav .container {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  min-height: 62px;
}

.enm-subnav-label {
  flex: none;
  padding-inline-end: 1.25rem;
  border-inline-end: 1px solid var(--enm-line);
  color: var(--enm-steel-500);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
  line-height: 2.2;
  text-transform: uppercase;
}

html[dir="rtl"] .enm-subnav-label {
  font-size: .85rem;
  letter-spacing: 0;
}

.enm-subnav-links {
  display: flex;
  gap: .25rem;
  min-width: 0;
  overflow-x: auto;
  scrollbar-width: none;
}

.enm-subnav-links::-webkit-scrollbar {
  display: none;
}

.enm-subnav-links a {
  flex: none;
  padding: .5rem .95rem;
  border-radius: 999px;
  color: var(--enm-muted);
  font-size: .875rem;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color .2s ease, color .2s ease;
}

.enm-subnav-links a:hover {
  background: var(--enm-sky-100);
  color: var(--enm-navy-900);
}

.enm-subnav-links a.active {
  background: var(--enm-navy-800);
  color: #fff;
}

/* ---------- document layout (long-form pages) ---------- */
.enm-doc-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  align-items: start;
  gap: 64px;
}

.enm-doc-main {
  min-width: 0;
  color: var(--enm-text);
  font-size: 1.05rem;
  line-height: 1.8;
  counter-reset: enmdoc;
}

.enm-doc-main p,
.enm-doc-main li {
  color: #3b4657;
}

.enm-doc-main > img:first-child,
.enm-doc-main > .service-visual,
.enm-doc-main > .blog-hero-img,
.enm-doc-main > .ff-media {
  margin-bottom: 2.5rem !important;
}

.enm-doc-main img {
  max-width: 100%;
  height: auto;
  border-radius: 14px;
}

.enm-doc-main h2,
.enm-doc-main h3 {
  color: var(--enm-navy-900);
}

.enm-doc-main .enm-toc-target {
  display: flex;
  align-items: baseline;
  gap: .8rem;
  margin: 2.75rem 0 1rem !important;
  font-size: clamp(1.3rem, 1.1rem + .6vw, 1.7rem) !important;
  font-weight: 800 !important;
  line-height: 1.3;
}

.enm-doc-main .enm-toc-target::before {
  content: counter(enmdoc, decimal-leading-zero);
  counter-increment: enmdoc;
  flex: none;
  position: static !important;
  width: auto !important;
  height: auto !important;
  padding: .2rem .55rem;
  border-radius: 7px;
  background: var(--enm-sky-100) !important;
  color: var(--enm-steel-600);
  font-size: .8rem;
  font-weight: 800;
  line-height: 1.6;
  transform: translateY(-.15em);
}

.enm-doc-main > .enm-toc-target:first-child,
.enm-doc-main > :first-child > .enm-toc-target:first-child {
  margin-top: 0 !important;
}

.enm-doc-main > section,
.enm-doc-main .content-panel > section {
  padding: 0;
  border: 0;
  background: none;
}

.enm-doc-intro {
  margin-bottom: 2.5rem;
  padding: 28px 30px;
  border: 1px solid var(--enm-line);
  border-inline-start: 4px solid var(--enm-steel-500);
  border-radius: 14px;
  background: var(--enm-sky-50);
}

.enm-doc-intro h4 {
  margin-bottom: .75rem !important;
  color: var(--enm-navy-900);
  font-size: 1.3rem;
}

.enm-doc-intro p:last-of-type {
  margin-bottom: 1.25rem;
}

/* sidebar */
.enm-doc-side {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.enm-doc-sticky {
  position: sticky;
  top: calc(var(--enm-header-h) + 24px);
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.enm-toc {
  padding: 22px 22px 12px;
  border: 1px solid var(--enm-line);
  border-radius: 14px;
  background: #fff;
}

.enm-toc-title,
.enm-contact-card .enm-contact-title {
  margin: 0 0 .75rem;
}

.enm-toc-title {
  color: var(--enm-steel-500);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

html[dir="rtl"] .enm-toc-title {
  font-size: .85rem;
  letter-spacing: 0;
}

.enm-toc ol {
  max-height: 44vh;
  margin: 0;
  padding: 0;
  overflow-y: auto;
  list-style: none;
  counter-reset: enmtoc;
  scrollbar-width: thin;
}

.enm-toc li a {
  display: flex;
  gap: .65rem;
  padding: .5rem 0;
  border-top: 1px solid var(--enm-line);
  color: var(--enm-muted);
  font-size: .9rem;
  line-height: 1.45;
  text-decoration: none;
  transition: color .2s ease;
}

.enm-toc li:first-child a {
  border-top: 0;
}

.enm-toc li a::before {
  content: counter(enmtoc, decimal-leading-zero);
  counter-increment: enmtoc;
  flex: none;
  padding-top: .1rem;
  color: var(--enm-steel-300);
  font-size: .75rem;
  font-weight: 800;
}

.enm-toc li a:hover,
.enm-toc li a.active {
  color: var(--enm-navy-900);
}

.enm-toc li a.active {
  font-weight: 700;
}

.enm-toc li a.active::before {
  color: var(--enm-steel-600);
}

.enm-contact-card {
  position: relative;
  overflow: hidden;
  padding: 26px;
  border-radius: 16px;
  background:
    radial-gradient(circle at 100% 0%, rgba(84, 108, 144, .45), transparent 55%),
    linear-gradient(150deg, var(--enm-navy-800), var(--enm-navy-950));
  color: rgba(255, 255, 255, .74);
}

.enm-contact-card .enm-contact-title {
  margin-bottom: .45rem;
  color: #fff;
  font-size: 1.15rem;
  font-weight: 800;
}

.enm-contact-card p {
  color: rgba(255, 255, 255, .74);
  font-size: .92rem;
  line-height: 1.6;
}

.enm-contact-card ul {
  display: grid;
  gap: .55rem;
  margin: 1.1rem 0 1.4rem;
  padding: 0;
  list-style: none;
}

.enm-contact-card li {
  display: flex;
  align-items: center;
  gap: .65rem;
  font-size: .92rem;
}

.enm-contact-card li i {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 9px;
  background: rgba(255, 255, 255, .09);
  color: #fff;
  font-size: 1.05rem;
}

.enm-contact-card li a {
  color: #fff;
  text-decoration: none;
}

.enm-contact-card li a:hover {
  text-decoration: underline;
}

.enm-side-summary {
  padding: 24px;
  border: 1px solid var(--enm-line);
  border-radius: 14px;
  background: var(--enm-sky-50);
}

.enm-side-summary h2 {
  margin-bottom: .6rem !important;
  color: var(--enm-navy-900) !important;
  font-size: 1.15rem !important;
  line-height: 1.35;
}

.enm-side-summary p {
  margin-bottom: 0;
  color: var(--enm-muted) !important;
  font-size: .92rem;
  line-height: 1.65;
}

.enm-side-tags {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
}

.enm-side-tags li {
  padding: .3rem .75rem;
  border: 1px solid var(--enm-line);
  border-radius: 999px;
  background: #fff;
  color: var(--enm-steel-600);
  font-size: .78rem;
  font-weight: 700;
}

/* ---------- closing call to action ---------- */
.enm-zone-cta {
  padding: 24px 0 96px;
  border: 0;
  background: var(--enm-white);
}

.enm-zone-alt + .enm-zone-cta {
  padding-top: 88px;
}

.enm-cta.enm-cta-page {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr);
  align-items: center;
  gap: 40px 72px;
  overflow: hidden;
}

.enm-cta.enm-cta-page::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-image:
    linear-gradient(rgba(255, 255, 255, .05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .05) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: linear-gradient(90deg, transparent, #000);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000);
}

html[dir="rtl"] .enm-cta.enm-cta-page::before {
  mask-image: linear-gradient(270deg, transparent, #000);
  -webkit-mask-image: linear-gradient(270deg, transparent, #000);
}

.enm-cta-page .enm-cta-kicker {
  margin-bottom: .7rem;
  color: var(--enm-steel-300);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

html[dir="rtl"] .enm-cta-page .enm-cta-kicker {
  font-size: .95rem;
  letter-spacing: 0;
}

.enm-cta-page h2 {
  line-height: 1.2;
}

.enm-cta-page .enm-cta-desc {
  max-width: 600px;
  margin: 1rem 0 0;
  color: rgba(255, 255, 255, .76);
  line-height: 1.7;
}

.enm-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-bottom: 1.5rem;
}

.enm-cta-contact {
  display: grid;
  gap: .55rem;
  margin: 0;
  padding: 1.25rem 0 0;
  border-top: 1px solid rgba(255, 255, 255, .16);
  list-style: none;
}

.enm-cta-contact li {
  display: flex;
  align-items: center;
  gap: .6rem;
}

.enm-cta-contact i {
  color: var(--enm-steel-300);
  font-size: 1.15rem;
}

.enm-cta-contact a {
  color: #fff;
  text-decoration: none;
}

.enm-cta-contact a:hover {
  text-decoration: underline;
}

@media (max-width: 991.98px) {
  .enm-doc-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 40px;
  }

  .enm-doc-sticky {
    position: static;
  }

  .enm-toc {
    display: none;
  }

  .enm-cta.enm-cta-page {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 767.98px) {
  .enm-zone {
    padding: 56px 0;
  }

  .enm-zone-cta {
    padding: 8px 0 64px;
  }

  .enm-zone-alt + .enm-zone-cta {
    padding-top: 56px;
  }

  .enm-subnav-label {
    display: none;
  }

  .enm-subnav .container {
    min-height: 54px;
  }

  .enm-doc-main {
    font-size: 1rem;
  }

  .enm-doc-intro {
    padding: 22px;
  }
}

/* template panels inside the document column read as plain text */
.enm-doc .enm-doc-main .content-panel,
.enm-doc .enm-doc-main .blog-card {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
}

.enm-doc .enm-doc-main .enm-toc-target::before {
  content: counter(enmdoc, decimal-leading-zero) !important;
  display: inline-block !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  border-radius: 7px !important;
  background: var(--enm-sky-100) !important;
}

/* enm-layout:end */

/* some templates make <body> a fixed-height flex column: never let page blocks shrink (it clipped the page hero) */
body > *,
main > * {
  flex-shrink: 0;
}

/* section titles carry one accent line (above); drop the templates' own underline */
.enm-zone .enm-zone-title::after {
  display: none !important;
}
