.elementor-kit-6{--e-global-color-primary:#4338CA;--e-global-color-secondary:#111827;--e-global-color-text:#374151;--e-global-color-accent:#F59E0B;--e-global-color-indigo50:#EEF2FF;--e-global-color-slate50:#F8FAFC;--e-global-color-indigolite:#818CF8;--e-global-color-ambersoft:#FEF3C7;--e-global-color-inkmuted:#6B7280;--e-global-typography-primary-font-family:"Plus Jakarta Sans";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Plus Jakarta Sans";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-weight:600;color:#374151;font-family:"Inter", Sans-serif;font-size:17px;font-weight:400;line-height:1.7em;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:#4338CA;font-family:"Plus Jakarta Sans", Sans-serif;font-weight:700;color:#FFFFFF;border-radius:999px 999px 999px 999px;}.elementor-kit-6 button:hover,.elementor-kit-6 button:focus,.elementor-kit-6 input[type="button"]:hover,.elementor-kit-6 input[type="button"]:focus,.elementor-kit-6 input[type="submit"]:hover,.elementor-kit-6 input[type="submit"]:focus,.elementor-kit-6 .elementor-button:hover,.elementor-kit-6 .elementor-button:focus{background-color:#312E81;color:#FFFFFF;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{color:#4338CA;}.elementor-kit-6 a:hover{color:#312E81;}.elementor-kit-6 h1{color:#111827;font-family:"Plus Jakarta Sans", Sans-serif;font-weight:800;line-height:1.08em;}.elementor-kit-6 h2{color:#111827;font-family:"Plus Jakarta Sans", Sans-serif;font-weight:700;line-height:1.15em;}.elementor-kit-6 h3{color:#111827;font-family:"Plus Jakarta Sans", Sans-serif;font-weight:700;}.elementor-kit-6 h4{color:#111827;font-family:"Plus Jakarta Sans", Sans-serif;}.elementor-kit-6 h5{color:#111827;font-family:"Plus Jakarta Sans", Sans-serif;}.elementor-kit-6 h6{color:#111827;font-family:"Plus Jakarta Sans", Sans-serif;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1180px;}.e-con{--container-max-width:1180px;}.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 .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@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 *//* IDesignbyJW global styles */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

/* Safety net: never let entrance-animation hide content if JS is slow/blocked */
.elementor-invisible { opacity: 1 !important; visibility: visible !important; }

/* Grid rows: content-sized, no forced empty 1fr row / mobile gaps */
.e-grid > .e-con-inner { grid-template-rows: auto !important; align-content: start; }

/* Sticky glass header + subtle condense on scroll */
#site-header {
  border-bottom: 1px solid rgba(17,24,39,0.07);
  transition: padding .28s ease, background .28s ease, box-shadow .28s ease, backdrop-filter .28s ease, border-color .28s ease;
}
#site-header.elementor-sticky--effects {
  padding-top: 9px !important; padding-bottom: 9px !important;
  background: rgba(255,255,255,0.85) !important;
  -webkit-backdrop-filter: saturate(180%) blur(16px);
  backdrop-filter: saturate(180%) blur(16px);
  border-bottom-color: rgba(17,24,39,0.05);
  box-shadow: 0 6px 28px rgba(17,24,39,0.09);
}

/* Nav menu: keep on one line, don't stretch full width inside flex row */
#site-header .elementor-widget-nav-menu { width: auto !important; }
#site-header .elementor-nav-menu { flex-wrap: nowrap !important; }
#site-header .elementor-nav-menu--main .elementor-item {
  font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 600; font-size: 15px;
}
/* Desktop nav: soft pill hover + clear active state (replaces underline) */
@media (min-width: 1025px) {
  #site-header .elementor-nav-menu--main .elementor-item {
    color: #475569 !important;
    padding: 9px 16px !important;
    border-radius: 10px !important;
    line-height: 1 !important;
    transition: color .18s ease, background-color .18s ease;
  }
  #site-header .elementor-nav-menu--main .elementor-item:hover {
    color: #4338CA !important; background-color: #EEF2FF !important;
  }
  #site-header .elementor-nav-menu--main .current-menu-item > .elementor-item,
  #site-header .elementor-nav-menu--main .current-menu-ancestor > .elementor-item {
    color: #4338CA !important; background-color: #EEF2FF !important;
  }
}
/* Centered nav: on wide screens float the menu to the header's visual center
   (logo stays left, CTA right). Below 1150px the nav returns to normal flow
   inside the right group, collapsing to the burger at <=1024px. */
@media (min-width: 1150px) {
  #site-header #header-inner { position: relative; }
  #site-header #header-nav {
    position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
    margin: 0; z-index: 1;
  }
}
/* Mobile/tablet: logo left, burger + Hire Me grouped tight on the right. Collapse
   the nav widget to just the burger (hide the desktop menu list, which otherwise
   reserves its full width; the burger dropdown is a separate injected element). */
@media (max-width: 1024px) {
  /* The collapsed dropdown (height:0 but full menu WIDTH) padded the nav widget,
     creating a gap. Float it as an absolute panel so the widget shrinks to the
     burger and it hugs the CTA; the dropdown becomes a tidy card below-right. */
  #site-header #header-nav { position: relative; flex: 0 0 auto !important; }
  #site-header #header-nav .elementor-nav-menu--dropdown.elementor-nav-menu__container {
    position: absolute !important; top: calc(100% + 12px) !important; right: 0 !important;
    width: 256px !important; max-width: calc(100vw - 30px) !important;
    border: 1px solid #EEF1F5 !important; border-radius: 14px !important;
    box-shadow: 0 22px 54px rgba(17,24,39,.17) !important; z-index: 9997 !important;
  }
  #site-header #header-hire .elementor-button { padding: 10px 18px !important; font-size: 14px !important; }
}
/* Small phones: compact the logo to just the JW monogram so everything fits on one line. */
@media (max-width: 460px) {
  #site-logo a > span:last-child { display: none !important; }
  #site-header #header-hire .elementor-button { padding: 9px 14px !important; }
}

/* Header buttons never wrap (Hire Me stays on one line) */
#site-header .elementor-button { white-space: nowrap; }
/* Hire Me button: arrow nudges right on hover */
#site-header .elementor-button .elementor-button-icon { transition: transform .2s ease; }
#site-header .elementor-button:hover .elementor-button-icon { transform: translateX(3px); }
#site-header .elementor-button:hover { box-shadow: 0 10px 26px rgba(67,56,202,0.34) !important; }

/* Buttons: smooth, lift on hover */
.elementor-button { transition: transform .2s ease, box-shadow .2s ease, background .2s ease !important;
  letter-spacing: .01em; }
.elementor-button:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(67,56,202,0.28); }

/* Card hover lift (applied to elements carrying #..card ids via per-element css too) */
.jw-card { transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.jw-card:hover { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(17,24,39,0.10); }

/* Gradient text utility */
.jw-gradient-text .elementor-heading-title {
  background: linear-gradient(120deg,#4338CA 0%, #818CF8 55%, #F59E0B 120%);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}

/* Eyebrow label */
.jw-eyebrow .elementor-heading-title {
  letter-spacing: .18em; text-transform: uppercase; font-size: 13px; font-weight: 700; color:#4338CA;
}

/* Forms: breathing room under field labels + comfortable field padding */
.elementor-field-group > label.elementor-field-label { margin-bottom: 9px; display: inline-block; }
.elementor-form-fields-wrapper .elementor-field-group { margin-bottom: 4px; }
.elementor-field-group .elementor-field { padding: 13px 16px; }

/* Selection */
::selection { background: #4338CA; color: #fff; }/* End custom CSS */