:root {
  /* Font Families */
  --font-family-inter: "Inter", sans-serif;

  /* Font Weights */
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;

  /* Font Sizes (px) */
  --font-size-48: 48px; 
  --font-size-36: 36px;
  --font-size-30: 30px;
  --font-size-24: 24px;
  --font-size-20: 20px;
  --font-size-18: 18px;
  --font-size-16: 16px;
  --font-size-14: 14px;
  --font-size-12: 12px;

  /* Color System */
  --color-light-blue: #155DFC;
  --color-orange: #FF5E1A;
  --color-blue: #272F67;
  --color-dark-blue: #161B3A;
  --color-white: #FFFFFF;
  --color-secondary-blue:#364153;
  --color-off-black: #101828;

  /* Line Height */
  --line-height-normal: 1.2;

  /* Spacing System */
  --s160: 160px;
  --s95: 95px;
  --s80: 80px;
  --s65: 65px;
  --s50: 50px;
  --s40: 40px;
  --s30: 30px;
  --s24: 24px;
  --s20: 20px;

  /* Gap */
  --g95: 95px;
  --g80: 80px;
  --g65: 65px;
  --g50: 50px;
  --g40: 40px;
  --g30: 30px;
  --g24: 24px;
  --g20: 20px;

  /* Transitions */
  --transition-fast: all 0.15s ease-in-out;
  --transition-normal: all 0.3s ease-in-out;
}
/* Basic Reset and Body Styles */
*, *::before, *::after {box-sizing:border-box; margin:0; padding:0; outline:none; box-shadow: none;}
html {font-size:16px; scroll-behavior:smooth;}
body {font-family:var(--font-family-inter); color:var( --color-dark-blue); font-size:var(--font-size-16); line-height:var(--line-height-normal); -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; -webkit-tap-highlight-color:transparent;}
a {transition: 0.3s;text-decoration: none;}
/* Background Color Utilities */
.bg-light-blue { background-color: var(--color-light-blue); }
.bg-blue { background-color: var(--color-blue); }
.bg-dark-blue { background-color: var(--color-blue); }
.bg-orange { background-color: var(--color-orange); }
.bg-white { background-color: var(--color-white); }
.background-gradient { background: linear-gradient(174.32deg, #161B3A 1.12%, #272F67 94.28%); }
.color-secondary-blue{color:var(--color-secondary-blue);}
/* Spacing Utilities (margin & padding) - These remain the same */
.m-0 { margin: 0; }
.mt-0 { margin-top: 0; }
.mr-0 { margin-right: 0; }
.mb-0 { margin-bottom: 0; }
.ml-0 { margin-left: 0; }
.mx-0 { margin-left: 0; margin-right: 0; }
.my-0 { margin-top: 0; margin-bottom: 0; }

.p-0 { padding: 0; }
.pt-0 { padding-top: 0; }
.pr-0 { padding-right: 0; }
.pb-0 { padding-bottom: 0; }
.pl-0 { padding-left: 0; }
.px-0 { padding-left: 0; padding-right: 0; }
.py-0 { padding-top: 0; padding-bottom: 0; }
/* section + section {padding-bottom: var(--s160);} */
.e-con-boxed.e-parent>.e-con-inner {padding-left:20px;padding-right:20px;}
header { position: fixed; top: 0; left: 0; width: 100%; z-index: 99; box-shadow: 1px 1px 1px #f7f7f7; } 
header.sticky .e-con-inner { padding-top: 15px !important; padding-bottom: 15px !important; } 
header .e-con-inner{transition:all ease-in-out .3s;}
header .elementor-nav-menu li > a{text-transform: uppercase;}
.popup-link a{position: relative;display: inline-block;}
.popup-link a::after{content:'';position: absolute;width: 100%;height:1px;background-color: var(--color-light-blue);bottom: 2px;left: 0;transition: all 0.3s ease;}
.popup-link a:hover:after{background-color: var(--color-dark-blue);}
p+p{margin-top: 20px;}
@keyframes fadeInLeft { from { opacity: 0; transform: translate3d(-50px, 0, 0); } to { opacity: 1; transform: none; } } .fadeInLeft { animation-name: fadeInLeft;  animation-duration: .5s; }
@keyframes fadeInRight { from { opacity: 0; transform: translate3d(50px, 0, 0); } to { opacity: 1; transform: none; } } .fadeInRight { animation-name: fadeInRight; animation-duration: .5s; }
@keyframes fadeInUp { from { opacity: 0; transform: translate3d(0, 50px, 0); } to { opacity: 1; transform: none; } } .fadeInUp { animation-name: fadeInUp; animation-duration: .5s; }
@keyframes fadeInDown { from { opacity: 0; transform: translate3d(0, -50px, 0); } to { opacity: 1; transform: none; } } .fadeInDown { animation-name: fadeInDown;  animation-duration: .5s;}
.dialog-close-button svg{transition: all 0.3s ease;}
.dialog-close-button:hover svg{fill: var(--color-light-blue) !important;}
.get-in-touch-form .contact-form{display:flex;flex-direction:column;gap:24px;}
.elementor-widget-text-editor a {color:var(--color-light-blue);}
.elementor-widget-text-editor a:hover {color:var(--color-orange);}
/* Row for first & last name */
.get-in-touch-form .row {display:flex;gap:24px;}
.get-in-touch-form .field {display:flex;flex-direction:column;flex:1;}
.get-in-touch-form .field p {display:flex;flex-direction:column;gap:5px;}
.get-in-touch-form .field br {display: none;}
.get-in-touch-form label {font-weight:600;color:var(--color-off-black);}
.get-in-touch-form input, .get-in-touch-form textarea {width:100%;outline:none;padding:10px 12px;border-radius:8px;border:1px solid #D1D5DC;background-color:#F9FAFB;font-family:var(--font-family-inter);}
.get-in-touch-form input:focus, .get-in-touch-form textarea:focus {border-color:var(--color-light-blue);}
.get-in-touch-form textarea {resize:none;min-height:100px;}
.get-in-touch-form .form-btn p { display:flex;align-items:center;gap:10px;}
.get-in-touch-form input[type="submit"] {width:100%;padding:14px;border:none;cursor:pointer;font-weight:500;border-radius:10px;color:var(--color-white);transition:background 0.25s ease;font-family:var(--font-family-inter);background-color:var(--color-light-blue);}
.get-in-touch-form input[type="submit"]:hover {background-color:var(--color-blue);}
.get-in-touch-form .form-btn .wpcf7-spinner {display:none;}
.get-in-touch-form .wpcf7 form .wpcf7-response-output {margin: 20px 0 0;padding: 8px 12px;border-radius: 10px;}
footer .menu-item a { width:max-content;}
header.sticky {box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.16);}
.dialog-type-lightbox {background-color: rgba(0, 0, 0, .8);bottom: 0;height: 100%;left: 0;position: fixed;-webkit-user-select: none;-moz-user-select: none;user-select: none;width: 100%;z-index: 9999;}

@media only screen and (max-width: 1440.98px) {
:root {   
  /* Spacing System */
  --s160: 120px;
}
}

@media only screen and (max-width: 1366.98px) {
:root { 
  /* Font Sizes (px) */
  --font-size-48: 42px;
  --font-size-36: 34px;
  --font-size-24: 22px;
  --font-size-18: 18px;
  --font-size-16: 16px;
  --font-size-30: 28px; 
  /* Spacing System */
  --s160: 100px;
  --s95: 85px;
  --s80: 60px;
  --s65: 50px;
    /* Gap */
  --g95: 60px;
  --g80: 60px;
  --g65: 50px;
  --g50: 30px;
}
}
 
@media only screen and (max-width: 1024.98px) {
:root { 
  /* Font Sizes (px) */
  --font-size-48: 38px;
  --font-size-36: 32px;
  --font-size-24: 20px;
  --font-size-18: 18px;
  --font-size-30: 26px;
  --font-size-16: 16px; 
  /* Spacing System */
  --s160: 80px;
  --s95: 50px;
  --s80: 50px;
  --s50:25px;
  /* Gap */
  --g95: 40px;
  --g80: 40px;
  --g65: 40px;
}
}

@media only screen and (max-width: 767.98px) {

:root { 
  /* Font Sizes (px) */
  --font-size-48: 32px;
  --font-size-36: 28px; 
  --font-size-30: 24px; 
  /* Spacing System */
  --s160: 50px;
  /* Gap */
  --g95: 30px;
  --g80: 30px;
  --g65: 30px;
}
header .elementor-item.has-submenu,
header .elementor-item-anchor.has-submenu{justify-content:space-between}
header .elementor-nav-menu .sub-arrow svg{pointer-events:none;}
header .elementor-nav-menu--dropdown a:hover .sub-arrow svg,
header .elementor-nav-menu--dropdown a:focus .sub-arrow svg, 
header .elementor-nav-menu--dropdown a.elementor-item-active .sub-arrow svg, 
header .elementor-nav-menu--dropdown a.highlighted .sub-arrow svg{fill:#ffffff;}
header .header-inner {top: 0;}
.elementor-nav-menu--stretch .elementor-nav-menu__container.elementor-nav-menu--dropdown{top:calc(var(--top-space)) !important;width:auto !important;min-width:280px;margin:0 !important;height:100vh;position:fixed !important;left:-200% !important;transition:all ease .5s !important;transform:scale(1) !important;max-height:100% !important;overflow-y:auto !important;border-radius:0 !important;padding-bottom:var(--top-space) !important;}
body::before{position:fixed;content:'';background-color:rgb(39 47 103 / 20%);width:0;height:100%;top: calc(var(--top-space));right:0;bottom:0;z-index:99;transition:all ease .5s;backdrop-filter: blur(10px);}
body:has(.elementor-active)::before{width: calc(100% - 280px);}
body .elementor-menu-toggle.elementor-active~nav.elementor-nav-menu--dropdown.elementor-nav-menu__container {left: 0 !important;}
header.sticky .elementor-nav-menu--stretch .elementor-nav-menu__container.elementor-nav-menu--dropdown{top:calc(var(--top-space) - 10px) !important;width:auto !important;min-width:280px;margin:0 !important;height:100vh;position:fixed !important;left:-200% !important;transition:all ease .5s !important;transform:scale(1) !important;max-height:100% !important;overflow-y:auto !important;border-radius:0 !important;padding-bottom:var(--top-space) !important;}
body:has(.sticky)::before{top: calc(var(--top-space) - 10px);}
body:has(.elementor-active) { overflow:hidden;height:100vh;}
}