.elementor-122 .elementor-element.elementor-element-3a1c9a8{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-122 .elementor-element.elementor-element-3a1c9a8:not(.elementor-motion-effects-element-type-background), .elementor-122 .elementor-element.elementor-element-3a1c9a8 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}.elementor-122 .elementor-element.elementor-element-1a8dca1{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-122 .elementor-element.elementor-element-a7125a5{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-122 .elementor-element.elementor-element-e112082{margin:30px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;z-index:10;text-align:center;}.elementor-122 .elementor-element.elementor-element-e112082 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:25px;font-weight:900;line-height:1.2em;color:#FFFFFF;}.elementor-122 .elementor-element.elementor-element-35136cc .elementskit-menu-hamburger:hover{background-color:#FFFFFF;}.elementor-122 .elementor-element.elementor-element-35136cc .elementskit-menu-close{background-color:#000000;color:#FFFFFF;}.elementor-122 .elementor-element.elementor-element-35136cc .elementskit-menu-close:hover{background-color:#FFFFFF;color:rgba(0, 0, 0, 0.5);}.elementor-122 .elementor-element.elementor-element-35136cc{width:100%;max-width:100%;}.elementor-122 .elementor-element.elementor-element-35136cc .elementskit-menu-container{height:80px;border-radius:0px 0px 0px 0px;}.elementor-122 .elementor-element.elementor-element-35136cc .elementskit-navbar-nav > li > a{font-family:"Inter", Sans-serif;font-size:16px;font-weight:600;color:#000000;padding:0px 15px 0px 15px;}.elementor-122 .elementor-element.elementor-element-35136cc .elementskit-navbar-nav > li > a:hover{color:#707070;}.elementor-122 .elementor-element.elementor-element-35136cc .elementskit-navbar-nav > li > a:focus{color:#707070;}.elementor-122 .elementor-element.elementor-element-35136cc .elementskit-navbar-nav > li > a:active{color:#707070;}.elementor-122 .elementor-element.elementor-element-35136cc .elementskit-navbar-nav > li:hover > a{color:#707070;}.elementor-122 .elementor-element.elementor-element-35136cc .elementskit-navbar-nav > li:hover > a .elementskit-submenu-indicator{color:#707070;}.elementor-122 .elementor-element.elementor-element-35136cc .elementskit-navbar-nav > li > a:hover .elementskit-submenu-indicator{color:#707070;}.elementor-122 .elementor-element.elementor-element-35136cc .elementskit-navbar-nav > li > a:focus .elementskit-submenu-indicator{color:#707070;}.elementor-122 .elementor-element.elementor-element-35136cc .elementskit-navbar-nav > li > a:active .elementskit-submenu-indicator{color:#707070;}.elementor-122 .elementor-element.elementor-element-35136cc .elementskit-navbar-nav > li.current-menu-item > a{color:#707070;}.elementor-122 .elementor-element.elementor-element-35136cc .elementskit-navbar-nav > li.current-menu-ancestor > a{color:#707070;}.elementor-122 .elementor-element.elementor-element-35136cc .elementskit-navbar-nav > li.current-menu-ancestor > a .elementskit-submenu-indicator{color:#707070;}.elementor-122 .elementor-element.elementor-element-35136cc .elementskit-navbar-nav > li > a .elementskit-submenu-indicator{color:#FFFFFF;fill:#FFFFFF;}.elementor-122 .elementor-element.elementor-element-35136cc .elementskit-navbar-nav > li > a .ekit-submenu-indicator-icon{color:#FFFFFF;fill:#FFFFFF;}.elementor-122 .elementor-element.elementor-element-35136cc .elementskit-navbar-nav .elementskit-submenu-panel > li > a{padding:15px 15px 15px 15px;color:#000000;}.elementor-122 .elementor-element.elementor-element-35136cc .elementskit-navbar-nav .elementskit-submenu-panel > li > a:hover{color:#707070;}.elementor-122 .elementor-element.elementor-element-35136cc .elementskit-navbar-nav .elementskit-submenu-panel > li > a:focus{color:#707070;}.elementor-122 .elementor-element.elementor-element-35136cc .elementskit-navbar-nav .elementskit-submenu-panel > li > a:active{color:#707070;}.elementor-122 .elementor-element.elementor-element-35136cc .elementskit-navbar-nav .elementskit-submenu-panel > li:hover > a{color:#707070;}.elementor-122 .elementor-element.elementor-element-35136cc .elementskit-navbar-nav .elementskit-submenu-panel > li.current-menu-item > a{color:#707070 !important;}.elementor-122 .elementor-element.elementor-element-35136cc .elementskit-submenu-panel{padding:15px 0px 15px 0px;}.elementor-122 .elementor-element.elementor-element-35136cc .elementskit-navbar-nav .elementskit-submenu-panel{border-radius:0px 0px 0px 0px;min-width:220px;}.elementor-122 .elementor-element.elementor-element-35136cc .elementskit-menu-hamburger{float:right;}.elementor-122 .elementor-element.elementor-element-35136cc .elementskit-menu-hamburger .elementskit-menu-hamburger-icon{background-color:#FFFFFF;}.elementor-122 .elementor-element.elementor-element-35136cc .elementskit-menu-hamburger > .ekit-menu-icon{color:#FFFFFF;}.elementor-122 .elementor-element.elementor-element-35136cc .elementskit-menu-hamburger:hover .elementskit-menu-hamburger-icon{background-color:#000000;}.elementor-122 .elementor-element.elementor-element-35136cc .elementskit-menu-hamburger:hover > .ekit-menu-icon{color:#000000;}.elementor-122 .elementor-element.elementor-element-30a6c77{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-122 .elementor-element.elementor-element-30a6c77:not(.elementor-motion-effects-element-type-background), .elementor-122 .elementor-element.elementor-element-30a6c77 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}.elementor-122 .elementor-element.elementor-element-4c76cbf{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-122 .elementor-element.elementor-element-d242b75{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-122 .elementor-element.elementor-element-7752dbd{margin:30px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;z-index:10;text-align:center;}.elementor-122 .elementor-element.elementor-element-7752dbd .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:25px;font-weight:900;line-height:1.2em;color:#FFFFFF;}.elementor-122 .elementor-element.elementor-element-ae874e1{--display:flex;--justify-content:center;--align-items:flex-end;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-122 .elementor-element.elementor-element-03be09b{width:100%;max-width:100%;}.elementor-122 .elementor-element.elementor-element-03be09b .elementskit-menu-container{height:80px;border-radius:0px 0px 0px 0px;}.elementor-122 .elementor-element.elementor-element-03be09b .elementskit-navbar-nav > li > a{font-family:"Inter", Sans-serif;font-size:16px;font-weight:600;color:#FFFFFF;padding:0px 15px 0px 15px;}.elementor-122 .elementor-element.elementor-element-03be09b .elementskit-navbar-nav > li > a:hover{color:#FFFFFF;}.elementor-122 .elementor-element.elementor-element-03be09b .elementskit-navbar-nav > li > a:focus{color:#FFFFFF;}.elementor-122 .elementor-element.elementor-element-03be09b .elementskit-navbar-nav > li > a:active{color:#FFFFFF;}.elementor-122 .elementor-element.elementor-element-03be09b .elementskit-navbar-nav > li:hover > a{color:#FFFFFF;}.elementor-122 .elementor-element.elementor-element-03be09b .elementskit-navbar-nav > li:hover > a .elementskit-submenu-indicator{color:#FFFFFF;}.elementor-122 .elementor-element.elementor-element-03be09b .elementskit-navbar-nav > li > a:hover .elementskit-submenu-indicator{color:#FFFFFF;}.elementor-122 .elementor-element.elementor-element-03be09b .elementskit-navbar-nav > li > a:focus .elementskit-submenu-indicator{color:#FFFFFF;}.elementor-122 .elementor-element.elementor-element-03be09b .elementskit-navbar-nav > li > a:active .elementskit-submenu-indicator{color:#FFFFFF;}.elementor-122 .elementor-element.elementor-element-03be09b .elementskit-navbar-nav > li.current-menu-item > a{color:#FFFFFF;}.elementor-122 .elementor-element.elementor-element-03be09b .elementskit-navbar-nav > li.current-menu-ancestor > a{color:#FFFFFF;}.elementor-122 .elementor-element.elementor-element-03be09b .elementskit-navbar-nav > li.current-menu-ancestor > a .elementskit-submenu-indicator{color:#FFFFFF;}.elementor-122 .elementor-element.elementor-element-03be09b .elementskit-navbar-nav > li > a .elementskit-submenu-indicator{color:#101010;fill:#101010;}.elementor-122 .elementor-element.elementor-element-03be09b .elementskit-navbar-nav > li > a .ekit-submenu-indicator-icon{color:#101010;fill:#101010;}.elementor-122 .elementor-element.elementor-element-03be09b .elementskit-navbar-nav .elementskit-submenu-panel > li > a{padding:15px 15px 15px 15px;color:#000000;}.elementor-122 .elementor-element.elementor-element-03be09b .elementskit-navbar-nav .elementskit-submenu-panel > li > a:hover{color:#707070;}.elementor-122 .elementor-element.elementor-element-03be09b .elementskit-navbar-nav .elementskit-submenu-panel > li > a:focus{color:#707070;}.elementor-122 .elementor-element.elementor-element-03be09b .elementskit-navbar-nav .elementskit-submenu-panel > li > a:active{color:#707070;}.elementor-122 .elementor-element.elementor-element-03be09b .elementskit-navbar-nav .elementskit-submenu-panel > li:hover > a{color:#707070;}.elementor-122 .elementor-element.elementor-element-03be09b .elementskit-navbar-nav .elementskit-submenu-panel > li.current-menu-item > a{color:#707070 !important;}.elementor-122 .elementor-element.elementor-element-03be09b .elementskit-submenu-panel{padding:15px 0px 15px 0px;}.elementor-122 .elementor-element.elementor-element-03be09b .elementskit-navbar-nav .elementskit-submenu-panel{border-radius:0px 0px 0px 0px;min-width:220px;}.elementor-122 .elementor-element.elementor-element-03be09b .elementskit-menu-hamburger{float:right;}.elementor-122 .elementor-element.elementor-element-03be09b .elementskit-menu-hamburger .elementskit-menu-hamburger-icon{background-color:rgba(0, 0, 0, 0.5);}.elementor-122 .elementor-element.elementor-element-03be09b .elementskit-menu-hamburger > .ekit-menu-icon{color:rgba(0, 0, 0, 0.5);}.elementor-122 .elementor-element.elementor-element-03be09b .elementskit-menu-hamburger:hover .elementskit-menu-hamburger-icon{background-color:rgba(0, 0, 0, 0.5);}.elementor-122 .elementor-element.elementor-element-03be09b .elementskit-menu-hamburger:hover > .ekit-menu-icon{color:rgba(0, 0, 0, 0.5);}.elementor-122 .elementor-element.elementor-element-03be09b .elementskit-menu-close{color:rgba(51, 51, 51, 1);}.elementor-122 .elementor-element.elementor-element-03be09b .elementskit-menu-close:hover{color:rgba(0, 0, 0, 0.5);}.elementor-122 .elementor-element.elementor-element-04cadf5{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-122 .elementor-element.elementor-element-bf7a277 .elementor-button{background-color:#000000;}@media(max-width:1024px){.elementor-122 .elementor-element.elementor-element-35136cc .elementskit-nav-identity-panel{padding:10px 0px 10px 0px;}.elementor-122 .elementor-element.elementor-element-35136cc .elementskit-menu-container{max-width:350px;border-radius:0px 0px 0px 0px;}.elementor-122 .elementor-element.elementor-element-35136cc .elementskit-navbar-nav > li > a{color:#000000;padding:10px 15px 10px 15px;}.elementor-122 .elementor-element.elementor-element-35136cc .elementskit-navbar-nav .elementskit-submenu-panel > li > a{padding:15px 15px 15px 15px;}.elementor-122 .elementor-element.elementor-element-35136cc .elementskit-navbar-nav .elementskit-submenu-panel{border-radius:0px 0px 0px 0px;}.elementor-122 .elementor-element.elementor-element-35136cc .elementskit-menu-hamburger{padding:8px 8px 8px 8px;width:45px;border-radius:3px;}.elementor-122 .elementor-element.elementor-element-35136cc .elementskit-menu-close{padding:8px 8px 8px 8px;margin:12px 12px 12px 12px;width:45px;border-radius:3px;}.elementor-122 .elementor-element.elementor-element-35136cc .elementskit-nav-logo > img{max-width:160px;max-height:60px;}.elementor-122 .elementor-element.elementor-element-35136cc .elementskit-nav-logo{margin:5px 0px 5px 0px;padding:5px 5px 5px 5px;}.elementor-122 .elementor-element.elementor-element-03be09b .elementskit-nav-identity-panel{padding:10px 0px 10px 0px;}.elementor-122 .elementor-element.elementor-element-03be09b .elementskit-menu-container{max-width:350px;border-radius:0px 0px 0px 0px;}.elementor-122 .elementor-element.elementor-element-03be09b .elementskit-navbar-nav > li > a{color:#000000;padding:10px 15px 10px 15px;}.elementor-122 .elementor-element.elementor-element-03be09b .elementskit-navbar-nav .elementskit-submenu-panel > li > a{padding:15px 15px 15px 15px;}.elementor-122 .elementor-element.elementor-element-03be09b .elementskit-navbar-nav .elementskit-submenu-panel{border-radius:0px 0px 0px 0px;}.elementor-122 .elementor-element.elementor-element-03be09b .elementskit-menu-hamburger{padding:8px 8px 8px 8px;width:45px;border-radius:3px;}.elementor-122 .elementor-element.elementor-element-03be09b .elementskit-menu-close{padding:8px 8px 8px 8px;margin:12px 12px 12px 12px;width:45px;border-radius:3px;}.elementor-122 .elementor-element.elementor-element-03be09b .elementskit-nav-logo > img{max-width:160px;max-height:60px;}.elementor-122 .elementor-element.elementor-element-03be09b .elementskit-nav-logo{margin:5px 0px 5px 0px;padding:5px 5px 5px 5px;}}@media(max-width:767px){.elementor-122 .elementor-element.elementor-element-3a1c9a8{--margin-top:05px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-122 .elementor-element.elementor-element-a7125a5{--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-122 .elementor-element.elementor-element-e112082{width:var( --container-widget-width, 250px );max-width:250px;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:250px;--container-widget-flex-grow:0;}.elementor-122 .elementor-element.elementor-element-e112082 .elementor-heading-title{font-size:25px;}.elementor-122 .elementor-element.elementor-element-35136cc{width:var( --container-widget-width, 50px );max-width:50px;--container-widget-width:50px;--container-widget-flex-grow:0;}.elementor-122 .elementor-element.elementor-element-35136cc .elementskit-navbar-nav .elementskit-submenu-panel > li > a{color:#FFFFFF;}.elementor-122 .elementor-element.elementor-element-35136cc .elementskit-nav-logo > img{max-width:120px;max-height:50px;}.elementor-122 .elementor-element.elementor-element-d242b75{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-122 .elementor-element.elementor-element-7752dbd .elementor-heading-title{font-size:30px;}.elementor-122 .elementor-element.elementor-element-03be09b .elementskit-nav-logo > img{max-width:120px;max-height:50px;}}@media(min-width:768px){.elementor-122 .elementor-element.elementor-element-1a8dca1{--content-width:1250px;}.elementor-122 .elementor-element.elementor-element-a7125a5{--width:25%;}.elementor-122 .elementor-element.elementor-element-4c76cbf{--content-width:1250px;}.elementor-122 .elementor-element.elementor-element-d242b75{--width:25%;}.elementor-122 .elementor-element.elementor-element-ae874e1{--width:55%;}.elementor-122 .elementor-element.elementor-element-04cadf5{--width:25%;}}/* Start custom CSS for heading, class: .elementor-element-e112082 *//* ========================================
   Animated Heading Styles (Fully Responsive)
   Selector: .elementor-heading-title.elementor-size-default
   Brand = Deep Slate, Charcoal & Purple Accent
   ======================================== */

/* 1. Fade-in Animation Keyframes */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* 2. Base Heading Styles */
.elementor-heading-title.elementor-size-default {
  position: relative;
  display: inline-block; /* Ensures underline is only as wide as the text */
  font-family: "Inter", sans-serif;
  font-weight: 800;
  color: #222222;      /* deep slate */
  font-size: 2.5rem;   /* 40px on desktop */
  line-height: 1.2;
  margin: 0 auto 1rem;
  padding-bottom: 0.5rem; /* Space for the underline */
  text-shadow: 1px 1px 2px rgba(0,0,0,0.1);
  animation: fadeInUp 0.8s ease-out both;
}

/* 3. Animated Underline Styles */
.elementor-heading-title.elementor-size-default::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2.5px;
  background: linear-gradient(90deg, #6B46C1 0%, #805AD5 100%); /* Purple gradient */
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.6s cubic-bezier(0.19, 1, 0.22, 1); /* Smoother transition */
}

/* 4. Reveal Underline on Hover */
.elementor-heading-title.elementor-size-default:hover::after {
  transform: scaleX(1);
}

/* 5. Responsive Adjustments */

/* -- Tablet View -- */
@media (max-width: 1024px) {
  .elementor-heading-title.elementor-size-default {
    font-size: 2.25rem; /* 36px */
  }
}

/* -- Mobile View -- */
@media (max-width: 767px) {
  .elementor-heading-title.elementor-size-default {
    font-size: 1.5rem; /* 32px */
    margin-bottom: 0.5rem; /* Tighter margin on mobile */
    padding-bottom: 0.2rem; /* Tighter padding on mobile */
  }
}

/* -- Small Mobile View -- */
@media (max-width: 480px) {
  .elementor-heading-title.elementor-size-default {
    font-size: 1rem; /* 28px */
  }
}/* End custom CSS */
/* Start custom CSS for ekit-nav-menu, class: .elementor-element-35136cc *//* ========================================
   Header Navigation — White Theme
   Selector: .elementor-element-cb5586f
   Brand = White Background, Dark Text & Purple Accent
   ======================================== */

/* 1. Desktop Nav Bar */
.elementor-element-cb5586f .ekit-wid-con nav {
  background-color: #ffffff;       /* white background */
  padding: 16px 20px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  transition: background 0.3s ease;
}

/* 2. Menu Links */
.elementor-element-cb5586f .ekit-menu-container .ekit-menu-nav-link {
  color: #222222;                  /* dark text */
  font-family: "Inter", sans-serif;
  font-size: 16px;
  font-weight: 600;
  padding: 8px 16px;
  position: relative;
  transition: color 0.3s ease;
}

/* 3. Underline Accent */
.elementor-element-cb5586f .ekit-menu-nav-link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 100%;
  height: 3px;
  background: #6B46C1;             /* purple accent */
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}

/* 4. Hover & Active */
.elementor-element-cb5586f .ekit-menu-nav-link:hover,
.elementor-element-cb5586f .ekit-menu-nav-link.elementskit-active-menu {
  color: #6B46C1;                  /* purple on hover */
}
.elementor-element-cb5586f .ekit-menu-nav-link:hover::after,
.elementor-element-cb5586f .ekit-menu-nav-link.elementskit-active-menu::after {
  transform: scaleX(1);
}

/* 5. Hamburger Icon (Mobile Toggle) */
.elementor-element-cb5586f .elementskit-menu-hamburger-icon {
  display: block;
  width: 24px;
  height: 2px;
  margin: 5px 0;
  background-color: #222222;
  transition: background-color 0.3s ease;
}
.elementor-element-cb5586f .elementskit-menu-hamburger:hover .elementskit-menu-hamburger-icon {
  background-color: #6B46C1;
}

/* 6. Off‑Canvas Panel (Mobile) */
.elementor-element-cb5586f .elementskit-menu-container.elementskit-menu-offcanvas-elements {
  background-color: #ffffff;       /* white panel */
  padding: 28px 20px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.);
}

/* 7. Mobile Links */
.elementor-element-cb5586f .elementskit-menu-offcanvas-elements .ekit-menu-nav-link {
  display: block;
  margin-bottom: 16px;
  font-size: 18px;
  color: #222222;
}

/* 8. Close Button */
.elementor-element-cb5586f .elementskit-menu-close {
  position: absolute;
  top: 16px;
  right: 20px;
  background: none;
  border: none;
  color: #222222;
  font-size: 24px;
  cursor: pointer;
  transition: color 0.3s ease;
}
.elementor-element-cb5586f .elementskit-menu-close:hover {
  color: #6B46C1;
}

/* 9. Overlay */
.elementor-element-cb5586f .elementskit-menu-overlay {
  background: rgba(255,255,255,0.85);
}

/* 10. Responsive Adjustments */
/* Tablet & below */
@media (max-width: 1024px) {
  .elementor-element-cb5586f .ekit-wid-con nav {
    padding: 12px 16px;
  }
  .elementor-element-cb5586f .ekit-menu-nav-link {
    font-size: 18px;
    padding: 12px 0;
  }
  .elementor-element-cb5586f .elementskit-menu-hamburger-icon {
    width: 20px;
    height: 2px;
  }
  .elementor-element-cb5586f .elementskit-menu-close {
    top: 12px;
    right: 16px;
    font-size: 22px;
  }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-7752dbd *//* ========================================
   Animated Heading Styles (Fully Responsive)
   Selector: .elementor-heading-title.elementor-size-default
   Brand = Deep Slate, Charcoal & Purple Accent
   ======================================== */

/* 1. Fade-in Animation Keyframes */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* 2. Base Heading Styles */
.elementor-heading-title.elementor-size-default {
  position: relative;
  display: inline-block; /* Ensures underline is only as wide as the text */
  font-family: "Inter", sans-serif;
  font-weight: 800;
  color: #222222;      /* deep slate */
  font-size: 2.5rem;   /* 40px on desktop */
  line-height: 1.2;
  margin: 0 auto 1rem;
  padding-bottom: 0.5rem; /* Space for the underline */
  text-shadow: 1px 1px 2px rgba(0,0,0,0.1);
  animation: fadeInUp 0.8s ease-out both;
}

/* 3. Animated Underline Styles */
.elementor-heading-title.elementor-size-default::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2.5px;
  background: linear-gradient(90deg, #6B46C1 0%, #805AD5 100%); /* Purple gradient */
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.6s cubic-bezier(0.19, 1, 0.22, 1); /* Smoother transition */
}

/* 4. Reveal Underline on Hover */
.elementor-heading-title.elementor-size-default:hover::after {
  transform: scaleX(1);
}

/* 5. Responsive Adjustments */

/* -- Tablet View -- */
@media (max-width: 1024px) {
  .elementor-heading-title.elementor-size-default {
    font-size: 2.25rem; /* 36px */
  }
}

/* -- Mobile View -- */
@media (max-width: 767px) {
  .elementor-heading-title.elementor-size-default {
    font-size: 2rem; /* 32px */
    margin-bottom: 0.75rem; /* Tighter margin on mobile */
    padding-bottom: 1rem; /* Tighter padding on mobile */
  }
}

/* -- Small Mobile View -- */
@media (max-width: 480px) {
  .elementor-heading-title.elementor-size-default {
    font-size: 1rem; /* 28px */
  }
}/* End custom CSS */
/* Start custom CSS for ekit-nav-menu, class: .elementor-element-03be09b *//* ========================================
   Header Navigation — White Theme
   Selector: .elementor-element-cb5586f
   Brand = White Background, Dark Text & Purple Accent
   ======================================== */

/* 1. Desktop Nav Bar */
.elementor-element-cb5586f .ekit-wid-con nav {
  background-color: #ffffff;       /* white background */
  padding: 16px 20px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  transition: background 0.3s ease;
}

/* 2. Menu Links */
.elementor-element-cb5586f .ekit-menu-container .ekit-menu-nav-link {
  color: #222222;                  /* dark text */
  font-family: "Inter", sans-serif;
  font-size: 16px;
  font-weight: 600;
  padding: 8px 16px;
  position: relative;
  transition: color 0.3s ease;
}

/* 3. Underline Accent */
.elementor-element-cb5586f .ekit-menu-nav-link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 100%;
  height: 3px;
  background: #6B46C1;             /* purple accent */
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}

/* 4. Hover & Active */
.elementor-element-cb5586f .ekit-menu-nav-link:hover,
.elementor-element-cb5586f .ekit-menu-nav-link.elementskit-active-menu {
  color: #6B46C1;                  /* purple on hover */
}
.elementor-element-cb5586f .ekit-menu-nav-link:hover::after,
.elementor-element-cb5586f .ekit-menu-nav-link.elementskit-active-menu::after {
  transform: scaleX(1);
}

/* 5. Hamburger Icon (Mobile Toggle) */
.elementor-element-cb5586f .elementskit-menu-hamburger-icon {
  display: block;
  width: 24px;
  height: 2px;
  margin: 5px 0;
  background-color: #222222;
  transition: background-color 0.3s ease;
}
.elementor-element-cb5586f .elementskit-menu-hamburger:hover .elementskit-menu-hamburger-icon {
  background-color: #6B46C1;
}

/* 6. Off‑Canvas Panel (Mobile) */
.elementor-element-cb5586f .elementskit-menu-container.elementskit-menu-offcanvas-elements {
  background-color: #ffffff;       /* white panel */
  padding: 28px 20px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.);
}

/* 7. Mobile Links */
.elementor-element-cb5586f .elementskit-menu-offcanvas-elements .ekit-menu-nav-link {
  display: block;
  margin-bottom: 16px;
  font-size: 18px;
  color: #222222;
}

/* 8. Close Button */
.elementor-element-cb5586f .elementskit-menu-close {
  position: absolute;
  top: 16px;
  right: 20px;
  background: none;
  border: none;
  color: #222222;
  font-size: 24px;
  cursor: pointer;
  transition: color 0.3s ease;
}
.elementor-element-cb5586f .elementskit-menu-close:hover {
  color: #6B46C1;
}

/* 9. Overlay */
.elementor-element-cb5586f .elementskit-menu-overlay {
  background: rgba(255,255,255,0.85);
}

/* 10. Responsive Adjustments */
/* Tablet & below */
@media (max-width: 1024px) {
  .elementor-element-cb5586f .ekit-wid-con nav {
    padding: 12px 16px;
  }
  .elementor-element-cb5586f .ekit-menu-nav-link {
    font-size: 18px;
    padding: 12px 0;
  }
  .elementor-element-cb5586f .elementskit-menu-hamburger-icon {
    width: 20px;
    height: 2px;
  }
  .elementor-element-cb5586f .elementskit-menu-close {
    top: 12px;
    right: 16px;
    font-size: 22px;
  }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-bf7a277 *//* =========================================================
   CTA Button for Element 'bf7a277' (All-White/Light Scheme)
   ========================================================= */

/* --- Base Button Style --- */
.elementor-element-bf7a277 .elementor-button.elementor-button-link.elementor-size-sm {
  position: relative;
  display: inline-block;
  padding: 10px 15px;
  font-family: "Inter", sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: #999999;                 /* light grey text */
  background-color: #FFFFFF;      /* white background */
  border: 2px solid #E0E0E0;      /* very light grey border */
  border-radius: 50px;
  overflow: hidden;
  transition: all 0.3s ease;
  z-index: 1;
  animation: pulse-glow-subtle 3s ease-in-out infinite;
}

/* --- Shine Overlay --- */
.elementor-element-bf7a277 .elementor-button.elementor-size-sm::before {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(
    circle at center,
    rgba(255,255,255,0.6) 0%,  /* white gloss effect */
    rgba(255,255,255,0) 60%
  );
  transform: scale(0);
  transition: transform 0.5s ease;
  pointer-events: none;
  border-radius: 50%;
  z-index: -1;
}

/* --- Hover Effects --- */
.elementor-element-bf7a277 .elementor-button.elementor-size-sm:hover {
  color: #666666;                 /* medium grey text on hover */
  background-color: #F5F5F5;      /* off-white background on hover */
  border-color: #CCCCCC;          /* slightly darker grey border on hover */
  transform: scale(1.05);
  box-shadow: 0 6px 15px rgba(0,0,0,0.1); /* subtle, light shadow */
}
.elementor-element-bf7a277 .elementor-button.elementor-size-sm:hover::before {
  transform: scale(1);
}

/* --- Pulse Animation Keyframes --- */
@keyframes pulse-glow-subtle {
  0%, 100% { box-shadow: 0 0 0 rgba(0,0,0,0); }
  50%      { box-shadow: 0 0 15px rgba(0,0,0,0.08); } /* very subtle light glow */
}

/* ========================================
   Responsive Adjustments
   ======================================== */

/* --- Tablet (≤1024px) --- */
@media (max-width: 1024px) {
  .elementor-element-bf7a277 .elementor-button.elementor-size-sm {
    font-size: 16px;
    padding: 14px 32px;
  }
}

/* --- Mobile (≤767px) --- */
@media (max-width: 767px) {
  .elementor-element-bf7a277 .elementor-button.elementor-size-sm {
    font-size: 14px;
    padding: 12px 28px;
    width: auto; /* prevents overflow */
  }
}/* End custom CSS */