.elementor-kit-22{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-color-brand-red:#E53935;--e-global-color-brand-blue:#046bd2;--e-global-color-dark:#1e293b;--e-global-color-slate:#334155;--e-global-color-white:#FFFFFF;--e-global-color-bg-soft:#F0F5FA;--e-global-color-near-black:#111111;--e-global-color-border:#D1D5DB;--e-global-typography-primary-font-family:"Sk Modernist";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Sk Modernist";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Sk Modernist";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Sk Modernist";--e-global-typography-accent-font-weight:500;}.elementor-kit-22 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.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);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS */html{scroll-behavior:smooth;} body{font-family:"Sk Modernist","Inter",system-ui,sans-serif;}

/* Hide Astra default header/footer - Elementor Pro Theme Builder handles these */
body .site-header,
body .ast-primary-header-bar,
body > .site > .site-header,
body .site-footer,
body .ast-footer-overlay,
body .site-below-footer-wrap,
body .ast-small-footer {
    display: none !important;
}

/* GGGD custom overrides */
/* GGGD header logo crop */
.gggd-logo-img img{object-fit:contain;max-height:54px;width:auto !important;display:block;}
.gggd-logo-img .elementor-widget-container{display:flex;align-items:center;}
.gggd-logo-img a{display:inline-flex;align-items:center;}

/* Always show nav */
.elementor-widget-nav-menu.elementor-invisible{visibility:visible !important;opacity:1 !important;}

/* White on dark sections */
[data-elementor-id="179"] *,
[data-elementor-id="179"] a{color:#FFFFFF !important;}
[data-elementor-id="179"] a:hover{color:#34C2DA !important;}
[data-elementor-id="179"] svg{fill:#FFFFFF !important;}

/* Hero overlay white text */
.elementor-element-68172e0e h1,
.elementor-element-68172e0e h2,
.elementor-element-68172e0e p,
.elementor-element-68172e0e span,
.elementor-element-68172e0e .elementor-heading-title{color:#FFFFFF !important;}

/* Any dark-bg container → white text */
.elementor-element[data-settings*='"background_color":"#1F1F1F"'] *,
.elementor-element[data-settings*='"background_color":"#0F5169"'] *,
.elementor-element[data-settings*='"background_color":"#2a2a2a"'] *,
.elementor-element[data-settings*='"background_color":"#000000"'] *{color:#FFFFFF !important;}
.elementor-element[data-settings*='"background_color":"#1F1F1F"'] svg,
.elementor-element[data-settings*='"background_color":"#0F5169"'] svg,
.elementor-element[data-settings*='"background_color":"#2a2a2a"'] svg,
.elementor-element[data-settings*='"background_color":"#000000"'] svg{fill:#FFFFFF !important;}

/* GGGD extra fixes v2 */
/* Logo sizing — match GGP scale */
.gggd-logo-img img{max-height:70px !important;}
@media (max-width:1024px){.gggd-logo-img img{max-height:56px !important;}}

/* Force white site background (matches GGP) */
body, body.elementor-page, .site, .ast-container, #page{background-color:#FFFFFF !important;}

/* Top-bar button: white text, dark navy pill */
[data-elementor-id="177"] .elementor-element-5a04cd8 .elementor-button,
[data-elementor-id="177"] .elementor-element-5a04cd8 .elementor-button-text,
[data-elementor-id="177"] .elementor-element-5a04cd8 a.elementor-button{color:#FFFFFF !important;background-color:#1F2a33 !important;}
[data-elementor-id="177"] .elementor-element-5a04cd8 .elementor-button:hover,
[data-elementor-id="177"] .elementor-element-5a04cd8 .elementor-button:hover .elementor-button-text{color:#FFFFFF !important;background-color:#0F5169 !important;}

/* Services hero image + container: full bleed like GGP hero video */
.elementor-element-61c61242 .elementor-element-79962169{width:100% !important;max-width:100% !important;}
.elementor-element-61c61242 .elementor-element-79962169 img{width:100% !important;height:auto !important;max-height:560px;object-fit:cover;display:block;}
.elementor-element-61c61242 > .e-con-inner, .elementor-element-61c61242{padding-left:0 !important;padding-right:0 !important;max-width:100% !important;}

/* Why-choose icons: force blue theme */
.elementor-element-4134bcf8 .elementor-icon{background:#34C2DA !important;color:#FFFFFF !important;}
.elementor-element-4134bcf8 .elementor-icon svg{fill:#FFFFFF !important;}
.elementor-element-4134bcf8 .elementor-icon i{color:#FFFFFF !important;}



/* ========= GGGD v6 header + services clean ========= */

/* Top cyan bar */
.elementor-element-5a04cd8{min-height:44px !important;padding:8px 48px !important;}

/* Dark nav bar — THIN, fixed height regardless of logo */
.elementor-element-aa5be4a{
  height:56px !important;
  min-height:56px !important;
  max-height:56px !important;
  padding:0 48px !important;
  position:relative !important;
  overflow:visible !important;
}
.elementor-element-aa5be4a > .e-con-inner{
  height:56px !important;
  min-height:56px !important;
  overflow:visible !important;
  padding:0 !important;
}

/* Logo column: absolute position so it overflows bar without pushing height */
.elementor-element-e6aeeda{
  position:absolute !important;
  left:36px !important;
  top:0 !important;
  height:100% !important;
  display:flex !important;
  align-items:center !important;
  overflow:visible !important;
  width:auto !important;
  z-index:10;
}
.elementor-element-e6aeeda .gggd-logo-img{width:auto !important;overflow:visible !important;}
.elementor-element-e6aeeda .gggd-logo-img .elementor-widget-container{line-height:0 !important;overflow:visible !important;}
.elementor-element-e6aeeda .gggd-logo-img img{
  max-height:150px !important;
  height:auto !important;
  width:auto !important;
  max-width:none !important;
  display:block;
  object-fit:contain !important;
}
@media (max-width:1024px){
  .elementor-element-e6aeeda .gggd-logo-img img{max-height:100px !important;}
}
@media (max-width:600px){
  .elementor-element-e6aeeda .gggd-logo-img img{max-height:70px !important;}
}

/* Nav column: fill right */
.elementor-element-cc5dbc5{
  margin-left:auto !important;
  height:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
}

/* Top-bar button — white text locked */
[data-elementor-id="177"] .elementor-element-5a04cd8 .elementor-button,
[data-elementor-id="177"] .elementor-element-5a04cd8 .elementor-button .elementor-button-text{
  color:#FFFFFF !important;background-color:#1F2a33 !important;
}

/* ========= SERVICES GRID — simple flex 4-col, no grid ========= */
.elementor-element-6830c2c6{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  gap:20px !important;
  width:100% !important;
  max-width:1240px !important;
  margin:0 auto !important;
  padding:10px 24px 40px !important;
  align-items:stretch !important;
}
.elementor-element-6830c2c6 > .elementor-element{
  flex:1 1 0 !important;
  min-width:0 !important;
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
  display:flex !important;
  flex-direction:column !important;
  background:#FFFFFF !important;
  border-radius:12px !important;
  overflow:hidden !important;
  box-shadow:0 4px 18px rgba(15,81,105,.08) !important;
  padding:0 !important;
}
.elementor-element-6830c2c6 > .elementor-element > .e-con-inner{
  padding:0 !important;width:100%;max-width:100%;
}
.elementor-element-6830c2c6 img{
  width:100% !important;height:200px !important;
  object-fit:cover !important;display:block;
  margin:0 !important;border-radius:0 !important;
}
.elementor-element-6830c2c6 .elementor-widget-heading{padding:16px 18px 0 !important;}
.elementor-element-6830c2c6 .elementor-widget-heading .elementor-heading-title{
  font-family:'Sk Modernist',sans-serif !important;
  font-size:18px !important;line-height:1.25 !important;font-weight:700 !important;
  color:#0F5169 !important;margin:0 !important;
  min-height:46px;
  word-break:normal;hyphens:auto;
}
.elementor-element-6830c2c6 .elementor-widget-text-editor{padding:8px 18px 20px !important;}
.elementor-element-6830c2c6 .elementor-widget-text-editor p{
  font-size:13px !important;line-height:1.55 !important;color:#54595F !important;margin:0 !important;
}

@media (max-width:1024px){
  .elementor-element-6830c2c6{flex-wrap:wrap !important;}
  .elementor-element-6830c2c6 > .elementor-element{flex:0 0 calc(50% - 10px) !important;}
}
@media (max-width:600px){
  .elementor-element-6830c2c6 > .elementor-element{flex:0 0 100% !important;}
}

/* v9 recent work: white bg, blue heading + subtext */
.elementor-element-68ece308{background-color:#FFFFFF !important;background-image:none !important;}
.elementor-element-68ece308 .elementor-element-50d05901 .elementor-heading-title,
.elementor-element-68ece308 .elementor-element-50d05901 h1,
.elementor-element-68ece308 .elementor-element-50d05901 h2{color:#1A4C5E !important;}
.elementor-element-68ece308 .elementor-element-2aa446db,
.elementor-element-68ece308 .elementor-element-2aa446db *{color:#1A4C5E !important;}

/* v10 logo-in-bar + why-choose uniform 2-line + services top padding + recent work centered */

/* Logo centered inside dark nav bar */
.elementor-element-e6aeeda{position:absolute !important;left:36px !important;top:50% !important;transform:translateY(-50%) !important;height:auto !important;display:flex !important;align-items:center !important;overflow:visible !important;width:auto !important;z-index:10 !important;}
.elementor-element-e6aeeda .gggd-logo-img img{max-height:48px !important;height:48px !important;width:auto !important;max-width:none !important;display:block !important;object-fit:contain !important;}
.elementor-element-aa5be4a{overflow:visible !important;}

/* Why-Choose uniform 2-line headlines */
.elementor-element-101e9656 .elementor-heading-title,
.elementor-element-2df080e5 .elementor-heading-title,
.elementor-element-225a1e2f .elementor-heading-title,
.elementor-element-2ed49ad8 .elementor-heading-title,
.elementor-element-78603ee3 .elementor-heading-title,
.elementor-element-58ec4b21 .elementor-heading-title{
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
  min-height:2.4em !important;
  max-height:2.4em !important;
  line-height:1.2 !important;
  text-align:center !important;
  margin:0 auto !important;
}

/* Services section — extra top padding to match bottom spacing */
.elementor-element-61c61242{padding-top:80px !important;}

/* Recent Work — center heading + subtext stacked above slider */
.elementor-element-68ece308{background-color:#FFFFFF !important;background-image:none !important;display:flex !important;flex-direction:column !important;align-items:stretch !important;}
.elementor-element-68ece308 .elementor-element-1f002f85{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  width:100% !important;
  max-width:900px !important;
  margin:0 auto !important;
  padding:40px 20px 20px !important;
}
.elementor-element-68ece308 .elementor-element-1f002f85 > .elementor-element{
  width:100% !important;
  max-width:900px !important;
  flex:0 0 auto !important;
  text-align:center !important;
}
.elementor-element-68ece308 .elementor-element-50d05901,
.elementor-element-68ece308 .elementor-element-50d05901 .elementor-widget-container,
.elementor-element-68ece308 .elementor-element-50d05901 .elementor-heading-title{
  text-align:center !important;
  color:#1A4C5E !important;
}
.elementor-element-68ece308 .elementor-element-50d05901 h1,
.elementor-element-68ece308 .elementor-element-50d05901 h2{color:#1A4C5E !important;text-align:center !important;}
.elementor-element-68ece308 .elementor-element-2aa446db,
.elementor-element-68ece308 .elementor-element-2aa446db *{color:#1A4C5E !important;text-align:center !important;}
.elementor-element-68ece308 .elementor-element-2aa446db{margin-top:12px !important;}

/* v11 logo bigger (96px) + overflow dark bar */
.elementor-element-e6aeeda .gggd-logo-img img{max-height:96px !important;height:96px !important;}
.elementor-element-aa5be4a{overflow:visible !important;}
.elementor-element-e6aeeda{overflow:visible !important;}

/* v12 force-white logo + guaranteed vertical center on dark bar */
.elementor-element-aa5be4a{position:relative !important;overflow:visible !important;}
.elementor-element-e6aeeda{
  position:absolute !important;
  left:36px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  margin:0 !important;
  padding:0 !important;
  height:auto !important;
  width:auto !important;
  display:block !important;
  z-index:10 !important;
  overflow:visible !important;
}
.elementor-element-e6aeeda .elementor-widget-container,
.elementor-element-e6aeeda .gggd-logo-img,
.elementor-element-e6aeeda .gggd-logo-img a{
  display:block !important;
  line-height:0 !important;
  padding:0 !important;
  margin:0 !important;
}
.elementor-element-e6aeeda .gggd-logo-img img{
  max-height:96px !important;
  height:96px !important;
  width:auto !important;
  max-width:none !important;
  display:block !important;
  object-fit:contain !important;
  filter:brightness(0) invert(1) !important;
}/* End custom CSS */