.elementor-kit-6{--e-global-color-primary:#162F3D;--e-global-color-secondary:#3A3F45;--e-global-color-text:#3A3F45;--e-global-color-accent:#2D918C;--e-global-color-76d4ded:#2D918C;--e-global-color-58d5819:#F2F7F9;--e-global-color-8918c37:#91D3D0;--e-global-typography-primary-font-family:"Geist";--e-global-typography-primary-font-weight:700;--e-global-typography-primary-letter-spacing:0px;--e-global-typography-secondary-font-family:"Geist";--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-letter-spacing:0px;--e-global-typography-text-font-family:"Poppins";--e-global-typography-text-font-weight:400;--e-global-typography-text-letter-spacing:0px;--e-global-typography-accent-font-family:"Poppins";--e-global-typography-accent-font-weight:600;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-letter-spacing:0px;font-family:"Poppins", Sans-serif;font-weight:400;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 label{font-family:"Poppins", Sans-serif;}.elementor-kit-6 input:not([type="button"]):not([type="submit"]),.elementor-kit-6 textarea,.elementor-kit-6 .elementor-field-textual{font-family:"Poppins", Sans-serif;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header{padding-inline-end:0px;padding-inline-start:0px;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:90%;}.e-con{--container-max-width:90%;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:90%;}.e-con{--container-max-width:90%;}}:root { --Dark_blue:#162F3D; --Text_color:#3a3f45; --light_bg:#F2F7F9; --Black_Text:#000000; --Light_Gray:#999999; }
/* Start custom CSS */@media (max-width: 767px) {
  .e-default-h2 { font-size: 28px; }
}

/* ===== Metal Fuze layout system ===== */
:root{--mf-content:1200px;--mf-sec-y:80px;--mf-edge:max(24px,calc((100vw - var(--mf-content))/2));}
[data-elementor-type="wp-page"] > .e-con{margin-top:0!important;margin-bottom:0!important;}
[data-elementor-type="wp-page"] > .e-con:not(:first-child){padding-top:var(--mf-sec-y)!important;padding-bottom:var(--mf-sec-y)!important;}
[data-elementor-type="wp-page"] > .e-con-boxed{padding-left:0!important;padding-right:0!important;}
[data-elementor-type="wp-page"] > .e-con-boxed > .e-con-inner{width:min(var(--mf-content),calc(100% - 48px))!important;max-width:var(--mf-content)!important;margin-left:auto!important;margin-right:auto!important;padding-left:0!important;padding-right:0!important;}
[data-elementor-type="wp-page"] > .e-con:not(.e-con-boxed){padding-left:max(24px,calc((100% - var(--mf-content))/2))!important;padding-right:max(24px,calc((100% - var(--mf-content))/2))!important;}

/* layout wrappers inside sections carry no side padding, so text sits exactly on the content column */
[data-elementor-type="wp-page"] > .e-con:not(:has(> .e-image-base)) > .e-div-block-base:not(:has(> .e-image-base)):not(:has(> .e-con > .e-image-base)),
[data-elementor-type="wp-page"] > .e-con:not(:has(> .e-image-base)) > .e-div-block-base > .e-div-block-base:not(:has(> .e-image-base)):not(:has(> .e-con > .e-image-base)){padding-left:0!important;padding-right:0!important;}

/* split sections: image bleeds to the page edge, text stays inside the 1200 column */
.elementor[data-elementor-type="wp-page"] > .e-con:has(> .e-image-base){padding:0!important;gap:0!important;flex-direction:row!important;align-items:stretch!important;}
.elementor[data-elementor-type="wp-page"] > .e-con:has(> .e-image-base) > .e-image-base{flex:0 0 50%!important;width:50%!important;max-width:50%!important;height:auto!important;min-height:480px;object-fit:cover;margin:0!important;align-self:stretch;}
.elementor[data-elementor-type="wp-page"] > .e-con:has(> .e-image-base) > :not(.e-image-base){flex:0 0 50%!important;width:50%!important;max-width:50%!important;box-sizing:border-box;margin:0!important;padding-top:var(--mf-sec-y)!important;padding-bottom:var(--mf-sec-y)!important;justify-content:center;}
.elementor[data-elementor-type="wp-page"] > .e-con:has(> .e-image-base) > .e-image-base ~ :not(.e-image-base){padding-left:64px!important;padding-right:var(--mf-edge)!important;}
.elementor[data-elementor-type="wp-page"] > .e-con:has(> .e-image-base) > :not(.e-image-base):first-child{padding-left:var(--mf-edge)!important;padding-right:64px!important;}

/* closing CTA: image on the right so it never sits beside the footer image (desktop) */
@media (min-width:1025px){
  .elementor[data-elementor-type="wp-page"] > .e-con:last-of-type:has(> img.e-image-base + div){flex-direction:row-reverse!important;}
  .elementor[data-elementor-type="wp-page"] > .e-con:last-of-type:has(> img.e-image-base + div) > img.e-image-base + div{padding-left:var(--mf-edge)!important;padding-right:64px!important;}
}

/* mirrored split sections (Elementor image order override): text hugs the image on desktop */
@media (min-width:1025px){
  .elementor[data-elementor-type="wp-page"] > .e-con:is([data-id^="1f76935"],[data-id^="eee5be4"],[data-id^="2864fe6"],[data-id^="aa4795f"],[data-id^="a8615a6"],[data-id^="160b874"],[data-id^="5d8ed54"],[data-id^="5fdac39"],[data-id^="248a731"],[data-id^="b739ed2"],[data-id^="edfa658"]):is(.e-con,.e-con) > div:not(.e-image-base):not(.mf-x){padding-left:64px!important;padding-right:var(--mf-edge)!important;}
  .elementor[data-elementor-type="wp-page"] > .e-con:is([data-id^="ab0bd04"],[data-id^="218273d"],[data-id^="b444e22"],[data-id^="7e6af75"]):is(.e-con,.e-con) > div:not(.e-image-base):not(.mf-x){padding-left:var(--mf-edge)!important;padding-right:64px!important;}
}

/* shared components */
[data-elementor-type="wp-page"] h2{text-transform:none!important;}
[data-elementor-type="wp-page"] .e-divider-base:not(.e-tabs-base *){width:90px;max-width:100%;height:4px;margin:0 0 16px 0;}
details.e-n-accordion-item{border:1px solid #D9E2E6!important;border-radius:8px!important;background:#fff!important;margin:0 0 12px 0!important;overflow:hidden;}
details.e-n-accordion-item > summary{padding:18px 24px!important;font-family:Poppins,sans-serif!important;font-size:17px!important;font-weight:500!important;line-height:1.3!important;color:#162F3D!important;background:#fff!important;}
details.e-n-accordion-item > :not(summary){padding:0 24px 20px!important;font-family:Poppins,sans-serif!important;font-size:15px!important;line-height:1.7!important;color:#3A3F45!important;margin:0!important;}

/* cards: image + title + text (+ button) */
[data-elementor-type="wp-page"] .e-con:not([data-elementor-type="wp-page"] > .e-con):is(:has(> .e-image-base):has(> .e-heading-base),:has(> .e-con > .e-image-base):has(> .e-heading-base)){border-radius:12px!important;padding:20px!important;gap:16px!important;}
[data-elementor-type="wp-page"] .e-con:not([data-elementor-type="wp-page"] > .e-con):is(:has(> .e-image-base):has(> .e-heading-base),:has(> .e-con > .e-image-base):has(> .e-heading-base)) .e-image-base{border-radius:8px!important;object-fit:cover;}
[data-elementor-type="wp-page"] .e-con:not([data-elementor-type="wp-page"] > .e-con):is(:has(> .e-image-base):has(> .e-heading-base),:has(> .e-con > .e-image-base):has(> .e-heading-base)) > .e-heading-base{font-size:22px!important;font-weight:500!important;line-height:1.2!important;color:#162F3D!important;}
[data-elementor-type="wp-page"] .e-con:not([data-elementor-type="wp-page"] > .e-con):is(:has(> .e-image-base):has(> .e-heading-base),:has(> .e-con > .e-image-base):has(> .e-heading-base)) > .e-paragraph-base{font-size:15px!important;line-height:1.6!important;}

/* heading roles */
[data-elementor-type="wp-page"] .e-heading-base:has(+ .e-divider-base){font-size:44px!important;font-weight:500!important;line-height:1.15!important;}
[data-elementor-type="wp-page"] h2.e-heading-base + h2.e-heading-base{font-size:22px!important;font-weight:500!important;line-height:1.2!important;}
/* step numbers (01, 02, ...) */
[data-id="be18b3b"],[data-id="3b76e90"],[data-id="05fe4a7"],[data-id="cce8c45"],[data-id="92599e1"],[data-id="c5d46e4"],[data-id="56b2456"],[data-id="52fcc95"],[data-id="51ef892"],[data-id="c2f5a72"],[data-id="ed30092"],[data-id="44caa84"],[data-id="f99fece"],[data-id="af9bd5e"],[data-id="4f2a2a5"],[data-id="23bf7f1"],[data-id="3fc6d40"],[data-id="b9fd0e7"],[data-id="2eb0b750"],[data-id="654116c0"],[data-id="632eced9"],[data-id="185462fa"],[data-id="63de4554"],[data-id="6821cbda"],[data-id="e06acff"],[data-id="97b1129"],[data-id="820638a"],[data-id="074b518"],[data-id="20849d6"],[data-id="74a94ea"],[data-id="a250c64"],[data-id="6a3ca5d"],[data-id="3889fde6"],[data-id="711d23b2"],[data-id="58052029"],[data-id="7557831f"],[data-id="568d3be8"],[data-id="48e0bae2"],[data-id="c2459b7"],[data-id="7d2b1a3"],[data-id="cf0999e"],[data-id="83a00b6"],[data-id="c8ee69d"],[data-id="bbd29a0"],[data-id="5702d6c"],[data-id="3df29d9"],[data-id="c93f95b"],[data-id="8c67a5c"],[data-id="4e9a35b"],[data-id="ce1e0b2"],[data-id="c86232c"],[data-id="0719df3"],[data-id="9cab67d"],[data-id="52175ca"],[data-id="7275b92"],[data-id="fa55a8a"],[data-id="22f462e"],[data-id="29b86fe"],[data-id="704f4c9"],[data-id="537518a"],[data-id="c86d8a5"],[data-id="2adc4f5"],[data-id="9ba0c17"],[data-id="bbd396c"],[data-id="99a1c48"],[data-id="02a7f67"],[data-id="1e9c717"],[data-id="698798d"],[data-id="eecc9de"],[data-id="dd37a21"],[data-id="6d1c0fa"],[data-id="7b6ee07"]{font-size:40px!important;font-weight:500!important;line-height:1!important;}

@media (max-width:1024px){
  :root{--mf-sec-y:64px;}
  [data-elementor-type="wp-page"] > .e-con-boxed > .e-con-inner{width:90%!important;max-width:90%!important;}
  [data-elementor-type="wp-page"] > .e-con:not(.e-con-boxed){padding-left:5%!important;padding-right:5%!important;}
  .elementor[data-elementor-type="wp-page"] > .e-con:has(> .e-image-base){flex-direction:column!important;padding:0!important;}
  .elementor[data-elementor-type="wp-page"] > .e-con:has(> .e-image-base) > .e-image-base{flex:none!important;width:100%!important;max-width:100%!important;min-height:0;aspect-ratio:16/10;}
  .elementor[data-elementor-type="wp-page"] > .e-con:has(> .e-image-base) > :not(.e-image-base),.elementor[data-elementor-type="wp-page"] > .e-con:has(> .e-image-base) > .e-image-base ~ :not(.e-image-base),.elementor[data-elementor-type="wp-page"] > .e-con:has(> .e-image-base) > :not(.e-image-base):first-child{flex:none!important;width:100%!important;max-width:100%!important;padding:var(--mf-sec-y) 5%!important;}
  [data-elementor-type="wp-page"] .e-heading-base:has(+ .e-divider-base){font-size:36px!important;}
}
@media (max-width:767px){
  :root{--mf-sec-y:48px;}
  [data-elementor-type="wp-page"] .e-heading-base:has(+ .e-divider-base){font-size:28px!important;}
  [data-elementor-type="wp-page"] h2.e-heading-base + h2.e-heading-base{font-size:20px!important;}
}

/* ===== Side-gutter standard, added 2026-09-30: 32px tablet / 20px mobile. Desktop (1025px+) untouched. =====
   The theme snippet (angie-snippets/snippet-2820) defines --mf-gutter on :root as clamp(16px,4vw,42px) and pads some home/about sections itself with it; html:root outranks it at <=1024px only.
   One layer only: the gutter sits on the top-level section, the boxed inner wrapper carries none (otherwise sections the snippet already pads would double up). */
@media (max-width:1024px){
  html:root{--mf-gutter:32px;}
  [data-elementor-type="wp-page"] > .e-con:not(.e-con-boxed){padding-left:var(--mf-gutter)!important;padding-right:var(--mf-gutter)!important;}
  [data-elementor-type="wp-page"] > .e-con-boxed{padding-left:var(--mf-gutter)!important;padding-right:var(--mf-gutter)!important;}
  .elementor[data-elementor-type="wp-page"] > .e-con-boxed > .e-con-inner{width:100%!important;max-width:100%!important;box-sizing:border-box!important;padding-left:0!important;padding-right:0!important;}
  .elementor[data-elementor-type="wp-page"] > .e-con:has(> .e-image-base) > :not(.e-image-base),.elementor[data-elementor-type="wp-page"] > .e-con:has(> .e-image-base) > .e-image-base ~ :not(.e-image-base),.elementor[data-elementor-type="wp-page"] > .e-con:has(> .e-image-base) > :not(.e-image-base):first-child{padding-left:var(--mf-gutter)!important;padding-right:var(--mf-gutter)!important;}
  /* Interior Fit-Out intro paragraph wrapper: Elementor's default 10px atomic-div padding */
  .elementor.elementor-629 .e-be5d6ea-7056a59{padding-left:0!important;padding-right:0!important;}
  /* Home heading/intro wrappers carrying the same 10px default (Insights, Certifications, Partners, Portfolio) */
  .elementor.elementor-14 :is([data-id="cfd78d2"],[data-id="ae42040"],[data-id="be11371"],[data-id="b47c453"],[data-id="64b9239"],[data-id="b7f3d2a"],[data-id="a21c166"]){padding-left:0!important;padding-right:0!important;}
}
@media (max-width:767px){
  html:root{--mf-gutter:20px;}
}

/* Header and single templates (tablet only; they already sit at 20px on mobile). The footer CTA text column is handled with the footer photo in the Images block. */
@media (min-width:768px) and (max-width:1024px){
  .elementor:not([data-elementor-type="wp-page"]) > .e-con-boxed > .e-con-inner{padding-left:var(--mf-gutter)!important;padding-right:var(--mf-gutter)!important;}
}

/* Home hero: the theme snippet's 100vw + calc(50% - 50vw) full-bleed trick shifts the hero by half the scrollbar width (and leaves a strip in RTL). It is already a full-width top-level container, so plain 100% is exact. */
.elementor.elementor-14 .elementor-element.elementor-element-0600b57{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;}

/* ===== Arabic (GTranslate: html lang="ar" / .translated-rtl), added 2026-09-30 ===== */
/* Cairo, Arabic subset only (variable 400-700). unicode-range means the file is fetched only when Arabic glyphs are on the page. */
@font-face{font-family:"Cairo";font-style:normal;font-weight:400 700;font-display:swap;src:url(https://fonts.gstatic.com/s/cairo/v31/SLXVc1nY6HkvangtZmpQdkhzfH5lkSscQyyS8p4_RHH1.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC;}
html:is([lang="ar"],.translated-rtl) :is(body,h1,h2,h3,h4,h5,h6,p,a,li,button,input,textarea,label,summary,.elementor-button-text,.elementor-icon-list-text,.elementor-item,.elementor-counter-title,.elementor-heading-title){font-family:"Cairo","Poppins",sans-serif!important;}
html:is([lang="ar"],.translated-rtl) :is(h1,h2,h3,h4){line-height:1.5!important;}
html:is([lang="ar"],.translated-rtl) p{line-height:1.8!important;}
/* phone / email placeholders and values are Latin: keep them left-to-right, aligned to the RTL start */
html:is([lang="ar"],.translated-rtl) :is(input[type="tel"],input[type="email"]){direction:ltr;text-align:right;}

/* ===== Arabic / RTL layout fixes, added 2026-09-30 =====
   GTranslate flips the page to RTL after Elementor's scripts have initialised left-to-right, so anything positioned by JS or written in LTR-only CSS needs a hand here. */
/* Desktop nav dropdown: SmartMenus sets inline left:0 + margin-left (LTR mode), which (a) squeezed the first panel to the width of its parent link so long labels spilled out, and (b) made the second level fly out to the RIGHT. Fit the panel to its content and open the flyout to the left. */
html:is([lang="ar"],.translated-rtl) .elementor-nav-menu--main .elementor-nav-menu--dropdown.sub-menu{left:auto!important;width:max-content!important;min-width:12em;}
html:is([lang="ar"],.translated-rtl) .elementor-nav-menu--main .sub-menu .sub-menu{left:auto!important;right:100%!important;margin-left:0!important;margin-right:0!important;}
/* the submenu caret points at the flyout, which is now on the left */
html:is([lang="ar"],.translated-rtl) .elementor-nav-menu--main .sub-menu .sub-arrow :is(svg,i){transform:rotate(90deg)!important;}
/* directional icons (arrow / chevron / angle / caret pointing right) mirror in RTL; carousel and nav arrows have their own handling */
html:is([lang="ar"],.translated-rtl) :is(svg,i):is([class*="arrow-right"],[class*="chevron-right"],[class*="angle-right"],[class*="caret-right"]):not(.elementor-nav-menu *):not(.elementor-swiper-button *):not(.sub-arrow *){transform:scaleX(-1);}
/* Arabic has no italic: the browser's synthetic slant distorts the letterforms */
html:is([lang="ar"],.translated-rtl) :is(p,span,em,strong,h1,h2,h3,h4,h5,h6,li,a,div,blockquote){font-style:normal!important;}

/* ===== Touch targets and carousel arrows (<=1024px), added 2026-09-30. Padding / min-size, never larger icons. ===== */
@media (max-width:1024px){
  a.glink{display:inline-flex!important;align-items:center;justify-content:center;box-sizing:border-box;min-width:44px;min-height:44px;}
  .elementor-2167 .elementor-icon-list-item > a{padding-top:11px;padding-bottom:11px;}
  .elementor .elementor-social-icon{display:inline-flex!important;align-items:center;justify-content:center;min-width:44px;min-height:44px;}
  .elementor-post-info .elementor-icon-list-item > a{display:inline-block;padding-top:8px;padding-bottom:8px;}
  .elementor-3121 .elementor-heading-title > a{display:inline-block;padding-top:8px;padding-bottom:8px;}
  .elementor-2163 .elementor-element-a5e161c a{display:inline-block;padding-top:5px;padding-bottom:5px;}
  .elementor-toc__toggle-button{box-sizing:content-box;padding:12px;}
  .elementor-widget-loop-carousel,.elementor-widget-n-carousel,.elementor-widget-carousel,.elementor-widget-media-carousel{--arrow-prev-left-align:8px!important;--arrow-prev-left-position:0px!important;--arrow-next-right-align:8px!important;--arrow-next-right-position:0px!important;--e-n-carousel-arrow-prev-left-align:8px!important;--e-n-carousel-arrow-prev-left-position:0px!important;--e-n-carousel-arrow-next-right-align:8px!important;--e-n-carousel-arrow-next-right-position:0px!important;}
  .elementor-swiper-button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:rgba(255,255,255,.92);border-radius:50%;box-shadow:0 1px 4px rgba(0,0,0,.25);}
}

/* ===== Images, added 2026-09-30 ===== */
/* Loop cards (Products, Projects, Blog, home portfolio carousel): the photo fills the card width in a 3:2 frame at every width.
   Before: Products shrink-wrapped to the image's natural width (inline-block link) and Projects/home used a fixed 250px-high slice (a 180x250 strip at 1024). */
.elementor .elementor-widget .e-loop-item .elementor-widget-theme-post-featured-image,
.elementor .elementor-widget .e-loop-item .elementor-widget-theme-post-featured-image a{display:block;width:100%;}
.elementor .elementor-widget .e-loop-item img{display:block;width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:3/2!important;object-fit:cover!important;object-position:center center!important;}
/* Portfolio loop card (template 1982): the kit card rule pads both the card and its inner wrapper (20+20), leaving the photo 40px in from each side. Keep one 20px layer, as on Products. */
.elementor.elementor-1982.e-loop-item [data-id="c0d274d"][data-id][data-id].e-con{padding-left:0!important;padding-right:0!important;padding-top:0!important;padding-bottom:0!important;}
@media (max-width:1024px){
  /* Footer CTA: the template asks for a full-width photo on tablet/mobile but leaves the container a row, so the 2:1 photo was squeezed into a tall slice. Stack it and show it in a 16:10 frame; the text block keeps the side gutter under it. */
  .elementor.elementor-2167 .elementor-element.elementor-element-c85eac6{flex-direction:column!important;min-height:0!important;gap:0!important;}
  .elementor.elementor-2167 .e-388b160-6013d9e{width:100%!important;height:auto!important;aspect-ratio:16/10;}
  /* About: skyline photo had a fixed 320px height (a 301x320 crop of a 1.7:1 photo on phones); the two photos beside text had 100% / 240px heights (thin tall slices at tablet) */
  .elementor.elementor-12 .e-widget_fykyzr61a-a02d627{height:auto!important;aspect-ratio:3/2;}
  .elementor.elementor-12 .elementor-element.elementor-element-3827f87 img,.elementor.elementor-12 .elementor-element.elementor-element-4264c6b img{height:auto!important;aspect-ratio:3/2;}
  /* Ultra-panoramic banners (4.7:1 Projects, 3.2:1 Products) were cropped to a 16:10 box; give them a 3:1 band */
  .elementor[data-elementor-type="wp-page"] > .e-con:has(> .e-image-base) > .e-image-base:is([data-id="9be2ef5"],[data-id="195de1a"]){aspect-ratio:3/1;}
}
@media (min-width:768px) and (max-width:1024px){
  .elementor.elementor-2167 .e-a846cd0-09f734b{width:auto!important;align-self:stretch;margin-left:var(--mf-gutter);margin-right:var(--mf-gutter);padding-top:40px;padding-bottom:48px;}
}/* End custom CSS */