/*
  Metal Fuze UI Responsive Fixes
  Global site polish for Elementor pages, templates, header, footer, Home video hero, and About cards.
*/

:root {
  --mf-navy: #162f3d;
  --mf-teal: #2d918c;
  --mf-aqua: #91d3d0;
  --mf-charcoal: #3a3f45;
  --mf-line: #e4e8eb;
  --mf-surface: #f2f7f9;
  --mf-white: #ffffff;
  --mf-container-max: 1200px;
  --mf-gutter: clamp(16px, 4vw, 42px);
  --mf-radius: 8px;
  --mf-card-radius: 12px;
}

html,
body {
  overflow-x: hidden;
}

body {
  margin: 0;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

.elementor *,
.elementor *::before,
.elementor *::after {
  min-width: 0;
}

.elementor img,
.elementor video,
.elementor iframe,
.elementor svg {
  max-width: 100%;
}

.elementor img {
  height: auto;
}

.elementor-widget-image img,
.elementor-widget-e-image img,
.elementor .e-image-base {
  display: block;
}

.elementor-location-header,
.elementor-location-footer,
.elementor-page,
.elementor {
  overflow-x: clip;
}

.elementor .elementor-button,
.elementor .elementor-button-link,
.elementor button,
.elementor input[type="submit"] {
  align-items: center;
  display: inline-flex;
  justify-content: center;
  max-width: 100%;
  min-height: 42px;
  white-space: normal;
}

.elementor .elementor-heading-title,
.elementor .e-heading-base {
  line-height: 1.12;
  overflow-wrap: anywhere;
  text-wrap: balance;
}

.elementor .e-paragraph-base,
.elementor .elementor-widget-text-editor,
.elementor .elementor-widget-text-editor p {
  overflow-wrap: anywhere;
  text-wrap: pretty;
}

.elementor .e-con,
.elementor .e-flexbox-base,
.elementor .e-grid,
.elementor .e-div-block-base {
  max-width: 100%;
}

/* Global image behavior: no stretching, controlled cropping only where a fixed frame exists. */
.elementor .elementor-widget-image img[width][height],
.elementor .elementor-widget-e-image img[width][height] {
  object-fit: cover;
  object-position: center;
}

.elementor-location-header .elementor-widget-theme-site-logo img,
.elementor-location-footer .elementor-widget-image img,
.elementor-location-footer .elementor-widget-e-image img {
  object-fit: contain;
}

/* Header */
.elementor-2163 .elementor-element-570847e,
.elementor-2163 .elementor-element-571b870,
.elementor-2163 .elementor-element-8b42b02 {
  width: 100% !important;
  max-width: 100% !important;
}

.elementor-2163 .elementor-element-571b870 {
  padding-inline: var(--mf-gutter) !important;
}

.elementor-2163 .elementor-element-fbaf119 img,
.elementor-2163 .elementor-element-a5e161c img {
  height: auto !important;
  max-height: 62px;
  object-fit: contain !important;
}

.elementor-2163 .elementor-nav-menu {
  flex-wrap: wrap;
}

.elementor-2163 .elementor-nav-menu a {
  line-height: 1.2;
}

.elementor-2163 .elementor-element-c1ba3a3 {
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

/* Footer */
.elementor-2167 .elementor-element-c85eac6,
.elementor-2167 .elementor-element-8c6dfd0 {
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden;
}

.elementor-2167 .elementor-element-671fe7c {
  align-items: flex-start !important;
  display: grid !important;
  gap: clamp(24px, 4vw, 54px) !important;
  grid-template-columns: minmax(220px, 1.3fr) minmax(150px, 0.8fr) minmax(150px, 0.8fr) minmax(260px, 1.2fr) !important;
  margin-inline: auto !important;
  max-width: var(--mf-container-max) !important;
  padding-inline: var(--mf-gutter) !important;
  width: 100% !important;
}

.elementor-2167 .elementor-element-eaad452,
.elementor-2167 .elementor-element-58649b0,
.elementor-2167 .elementor-element-757dd77,
.elementor-2167 .elementor-element-d47d4d1 {
  width: 100% !important;
}

.elementor-2167 .elementor-form,
.elementor-2167 .elementor-field-group,
.elementor-2167 input,
.elementor-2167 textarea {
  max-width: 100%;
}

/* Home: full-bleed video hero with no top or bottom white space. */
.elementor-14 .elementor-element-0600b57 {
  align-items: center !important;
  background: #0c171d;
  display: grid !important;
  isolation: isolate;
  margin-block: 0 !important;
  min-height: clamp(560px, 78svh, 860px) !important;
  overflow: hidden !important;
  padding-block: 0 !important;
  padding-inline: 0 !important;
  position: relative !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

.elementor-14 .elementor-element-0600b57::after {
  background: linear-gradient(90deg, rgba(12, 23, 29, 0.72), rgba(12, 23, 29, 0.28) 56%, rgba(12, 23, 29, 0.52));
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 1;
}

.elementor-14 .elementor-element-4fe35f6,
.elementor-14 .elementor-element-4fe35f6 .elementor-widget-container,
.elementor-14 .elementor-element-4fe35f6 .elementor-wrapper,
.elementor-14 .elementor-element-4fe35f6 .elementor-fit-aspect-ratio {
  height: 100% !important;
  inset: 0 !important;
  margin: 0 !important;
  max-width: none !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 100% !important;
}

.elementor-14 .elementor-element-4fe35f6 video,
.elementor-14 .elementor-element-4fe35f6 iframe,
.elementor-14 .elementor-element-4fe35f6 .elementor-video {
  height: 100% !important;
  inset: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
  position: absolute !important;
  width: 100% !important;
}

.elementor-14 .elementor-element-4fe35f6 iframe {
  transform: scale(1.12);
  transform-origin: center;
}

.elementor-14 .elementor-element-9672738 {
  margin-block: 0 !important;
  margin-inline: auto !important;
  max-width: var(--mf-container-max) !important;
  padding-inline: var(--mf-gutter) !important;
  position: relative !important;
  width: 100% !important;
  z-index: 2;
}

.elementor-14 .elementor-element-f44b364 {
  font-size: clamp(38px, 5.8vw, 74px) !important;
  line-height: 1.05 !important;
  width: min(760px, 100%) !important;
}

.elementor-14 .elementor-element-a2070a6 {
  font-size: clamp(17px, 2vw, 26px) !important;
}

.elementor-14 .elementor-element-d5a3c2d {
  align-items: stretch;
  flex-wrap: wrap;
}

/* Repeated page layout safeguards. */
.elementor-14 .elementor-element-8bd3ae9,
.elementor-14 .elementor-element-07febf3,
.elementor-14 .elementor-element-dab2d1b,
.elementor-14 .elementor-element-9626a89,
.elementor-14 .elementor-element-c5fcdc7,
.elementor-14 .elementor-element-492398e,
.elementor-12 .elementor-element-71c9850,
.elementor-12 .elementor-element-d82a131,
.elementor-12 .elementor-element-5d642fb,
.elementor-12 .elementor-element-6f3a24e,
.elementor-12 .elementor-element-3914486,
.elementor-12 .elementor-element-container_9wqrn0fj6,
.elementor-12 .elementor-element-75fb5bd,
.elementor-12 .elementor-element-f03712b,
.elementor-12 .elementor-element-313cdf6 {
  padding-inline: var(--mf-gutter) !important;
}

/* About: What We Do equal-height cards with bottom-pinned CTAs. */
.elementor-12 .elementor-element-dd8a8bc,
.elementor-12 .elementor-element-dd8a8bc > .e-con-inner {
  align-items: stretch !important;
  display: grid !important;
  gap: clamp(18px, 2.2vw, 28px) !important;
  grid-auto-rows: 1fr !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  margin-inline: auto !important;
  max-width: var(--mf-container-max) !important;
  width: 100% !important;
}

.elementor-12 .elementor-element-60f36a2,
.elementor-12 .elementor-element-1e782e7,
.elementor-12 .elementor-element-89e4980,
.elementor-12 .elementor-element-785e45f,
.elementor-12 .elementor-element-b865b3b,
.elementor-12 .elementor-element-d3ea7f7 {
  align-content: stretch !important;
  align-items: stretch !important;
  align-self: stretch !important;
  background: rgba(247, 249, 250, 0.78) !important;
  border: 1px solid rgba(22, 47, 61, 0.14) !important;
  border-radius: var(--mf-card-radius) !important;
  display: flex !important;
  flex-direction: column !important;
  height: auto !important;
  min-height: 100% !important;
  overflow: hidden !important;
  padding: clamp(16px, 2vw, 22px) !important;
  position: relative !important;
  width: 100% !important;
}

.elementor-12 .elementor-element-60f36a2 > .elementor-widget-e-image,
.elementor-12 .elementor-element-1e782e7 > .elementor-widget-e-image,
.elementor-12 .elementor-element-89e4980 > .elementor-widget-e-image,
.elementor-12 .elementor-element-785e45f > .elementor-widget-e-image,
.elementor-12 .elementor-element-b865b3b > .elementor-widget-e-image,
.elementor-12 .elementor-element-60f36a2 > .elementor-widget-image,
.elementor-12 .elementor-element-1e782e7 > .elementor-widget-image,
.elementor-12 .elementor-element-89e4980 > .elementor-widget-image,
.elementor-12 .elementor-element-785e45f > .elementor-widget-image,
.elementor-12 .elementor-element-b865b3b > .elementor-widget-image {
  flex: 0 0 auto;
  margin: 0 0 clamp(18px, 2vw, 24px) !important;
  order: -10;
  width: 100% !important;
}

.elementor-12 .elementor-element-60f36a2 img,
.elementor-12 .elementor-element-1e782e7 img,
.elementor-12 .elementor-element-89e4980 img,
.elementor-12 .elementor-element-785e45f img,
.elementor-12 .elementor-element-b865b3b img {
  aspect-ratio: 16 / 10;
  border-radius: var(--mf-radius);
  height: auto !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center !important;
  width: 100% !important;
}

.elementor-12 .elementor-element-60f36a2 .elementor-widget-icon-list,
.elementor-12 .elementor-element-1e782e7 .elementor-widget-icon-list,
.elementor-12 .elementor-element-89e4980 .elementor-widget-icon-list,
.elementor-12 .elementor-element-785e45f .elementor-widget-icon-list,
.elementor-12 .elementor-element-b865b3b .elementor-widget-icon-list {
  margin-block-end: clamp(18px, 2vw, 28px) !important;
}

.elementor-12 .elementor-element-692316b,
.elementor-12 .elementor-element-22d9daa,
.elementor-12 .elementor-element-3dc6cfb,
.elementor-12 .elementor-element-2a81903,
.elementor-12 .elementor-element-b49267e,
.elementor-12 .elementor-element-36d0af5 {
  inset: auto !important;
  margin-block-start: auto !important;
  order: 50;
  padding-block-start: clamp(18px, 2vw, 26px);
  position: static !important;
  transform: none !important;
  width: 100% !important;
}

.elementor-12 .elementor-element-692316b .elementor-button,
.elementor-12 .elementor-element-22d9daa .elementor-button,
.elementor-12 .elementor-element-3dc6cfb .elementor-button,
.elementor-12 .elementor-element-2a81903 .elementor-button,
.elementor-12 .elementor-element-b49267e .elementor-button,
.elementor-12 .elementor-element-36d0af5 .elementor-button {
  width: 100%;
}

.elementor-12 .elementor-element-d3ea7f7 .elementor-element-43d2f74 {
  margin-block-end: clamp(18px, 2vw, 26px);
}

/* Service cards and loop items: keep CTAs visually aligned where cards repeat. */
.elementor-14 .elementor-element-560ce4f,
.elementor-14 .elementor-element-db7a597,
.elementor-14 .elementor-element-60fbf83,
.elementor-14 .elementor-element-3877bc0,
.elementor-14 .elementor-element-b8a6c85,
.elementor-14 .elementor-element-e3b145b,
.elementor-14 .elementor-element-bacde83,
.elementor-14 .elementor-element-9019100,
.elementor-14 .elementor-element-728e77b {
  display: flex !important;
  flex-direction: column !important;
  min-height: 100% !important;
}

.elementor-14 .elementor-element-6a4725d,
.elementor-14 .elementor-element-49e4158,
.elementor-14 .elementor-element-afd6273,
.elementor-14 .elementor-element-650384a,
.elementor-14 .elementor-element-d7aaf4b,
.elementor-14 .elementor-element-5d8431e,
.elementor-14 .elementor-element-d552575,
.elementor-14 .elementor-element-f10c7ff,
.elementor-14 .elementor-element-c4365ef {
  margin-block-start: auto !important;
}

@media (max-width: 1200px) {
  .elementor-2167 .elementor-element-671fe7c {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 1024px) {
  .elementor-14 .elementor-element-0600b57 {
    min-height: clamp(540px, 76svh, 760px) !important;
  }

  .elementor-12 .elementor-element-dd8a8bc,
  .elementor-12 .elementor-element-dd8a8bc > .e-con-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .elementor-2163 .elementor-element-571b870 {
    gap: 16px !important;
  }
}

@media (max-width: 767px) {
  .elementor .elementor-button,
  .elementor .elementor-button-link {
    width: 100%;
  }

  .elementor-2163 .elementor-element-570847e {
    display: none !important;
  }

  .elementor-2163 .elementor-element-8b42b02 {
    padding-inline: var(--mf-gutter) !important;
  }

  .elementor-2163 .elementor-element-a5e161c img {
    max-height: 48px;
  }

  .elementor-2167 .elementor-element-671fe7c {
    gap: 28px !important;
    grid-template-columns: 1fr !important;
    padding-inline: var(--mf-gutter) !important;
    text-align: start;
  }

  .elementor-14 .elementor-element-0600b57 {
    min-height: clamp(520px, 82svh, 700px) !important;
  }

  .elementor-14 .elementor-element-4fe35f6 iframe {
    transform: scale(1.28);
  }

  .elementor-14 .elementor-element-9672738 {
    padding-block: clamp(72px, 15vw, 112px) !important;
  }

  .elementor-14 .elementor-element-d5a3c2d {
    flex-direction: column !important;
    width: 100%;
  }

  .elementor-12 .elementor-element-dd8a8bc,
  .elementor-12 .elementor-element-dd8a8bc > .e-con-inner {
    grid-template-columns: 1fr !important;
  }

  .elementor-12 .elementor-element-60f36a2,
  .elementor-12 .elementor-element-1e782e7,
  .elementor-12 .elementor-element-89e4980,
  .elementor-12 .elementor-element-785e45f,
  .elementor-12 .elementor-element-b865b3b,
  .elementor-12 .elementor-element-d3ea7f7 {
    height: auto !important;
    min-height: 0 !important;
  }

  .elementor-12 .elementor-element-60f36a2 img,
  .elementor-12 .elementor-element-1e782e7 img,
  .elementor-12 .elementor-element-89e4980 img,
  .elementor-12 .elementor-element-785e45f img,
  .elementor-12 .elementor-element-b865b3b img {
    aspect-ratio: 16 / 9;
  }
}

@media (max-width: 420px) {
  .elementor-14 .elementor-element-f44b364 {
    font-size: clamp(32px, 10vw, 40px) !important;
  }

  .elementor-14 .elementor-element-9672738 {
    padding-inline: 16px !important;
  }
}
