.elementor-597 .elementor-element.elementor-element-330fd465:not(.elementor-motion-effects-element-type-background), .elementor-597 .elementor-element.elementor-element-330fd465 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(135deg, #061A2D 0%, #0B2942 100%);}.elementor-597 .elementor-element.elementor-element-330fd465 > .elementor-container{max-width:1280px;}.elementor-597 .elementor-element.elementor-element-330fd465{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:80px 0px 80px 0px;}.elementor-597 .elementor-element.elementor-element-330fd465 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-597 .elementor-element.elementor-element-10a492b5{font-family:"Inter", Sans-serif;}.elementor-597 .elementor-element.elementor-element-ce0a82b{--spacer-size:16px;}.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-597 .elementor-element.elementor-element-10820100{text-align:center;}.elementor-597 .elementor-element.elementor-element-10820100 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:50px;font-weight:900;line-height:1.1em;color:#FFFFFF;}.elementor-597 .elementor-element.elementor-element-41334393{--spacer-size:16px;}.elementor-597 .elementor-element.elementor-element-4753019a{font-family:"Inter", Sans-serif;}.elementor-597 .elementor-element.elementor-element-5ef22036:not(.elementor-motion-effects-element-type-background), .elementor-597 .elementor-element.elementor-element-5ef22036 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F2F8FD;}.elementor-597 .elementor-element.elementor-element-5ef22036 > .elementor-container{max-width:1280px;}.elementor-597 .elementor-element.elementor-element-5ef22036{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:72px 0px 72px 0px;}.elementor-597 .elementor-element.elementor-element-5ef22036 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-597 .elementor-element.elementor-element-73b7878 > .elementor-element-populated{padding:0px 24px 0px 0px;}.elementor-597 .elementor-element.elementor-element-7203a2a6{font-family:"Inter", Sans-serif;}.elementor-597 .elementor-element.elementor-element-1a7ecc88{--spacer-size:14px;}.elementor-597 .elementor-element.elementor-element-2573ba41{text-align:start;}.elementor-597 .elementor-element.elementor-element-2573ba41 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:28px;font-weight:900;line-height:1.2em;color:#111827;}.elementor-597 .elementor-element.elementor-element-482b06bc{--spacer-size:10px;}.elementor-597 .elementor-element.elementor-element-69370601{font-family:"Inter", Sans-serif;}.elementor-597 .elementor-element.elementor-element-2f465f0d{--spacer-size:20px;}.elementor-597 .elementor-element.elementor-element-2fad07f6{font-family:"Inter", Sans-serif;}.elementor-597 .elementor-element.elementor-element-4dbeef02{font-family:"Inter", Sans-serif;}.elementor-597 .elementor-element.elementor-element-2d58a708{font-family:"Inter", Sans-serif;}.elementor-597 .elementor-element.elementor-element-6e9c5cd3:not(.elementor-motion-effects-element-type-background) > .elementor-widget-wrap, .elementor-597 .elementor-element.elementor-element-6e9c5cd3 > .elementor-widget-wrap > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-597 .elementor-element.elementor-element-6e9c5cd3 > .elementor-element-populated, .elementor-597 .elementor-element.elementor-element-6e9c5cd3 > .elementor-element-populated > .elementor-background-overlay, .elementor-597 .elementor-element.elementor-element-6e9c5cd3 > .elementor-background-slideshow{border-radius:14px 14px 14px 14px;}.elementor-597 .elementor-element.elementor-element-6e9c5cd3 > .elementor-element-populated{box-shadow:0px 4px 24px 0px rgba(8,36,59,0.08);transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:32px 32px 32px 32px;}.elementor-597 .elementor-element.elementor-element-6e9c5cd3 > .elementor-element-populated > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-597 .elementor-element.elementor-element-79d1e1b6{font-family:"Inter", Sans-serif;}.elementor-597 .elementor-element.elementor-element-6fdc64b6{--spacer-size:14px;}.elementor-597 .elementor-element.elementor-element-75c5c48c{text-align:start;}.elementor-597 .elementor-element.elementor-element-75c5c48c .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:24px;font-weight:700;line-height:1.2em;color:#111827;}.elementor-597 .elementor-element.elementor-element-79c7ccae{--spacer-size:6px;}.elementor-597 .elementor-element.elementor-element-9ee6cc8{font-family:"Inter", Sans-serif;}.elementor-widget-form .elementor-field-group > label, .elementor-widget-form .elementor-field-subgroup label{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group > label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-type-html{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-button[type="submit"]{background-color:var( --e-global-color-accent );}.elementor-widget-form .e-form__buttons__wrapper__button-previous{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-message{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form{--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-text );--e-form-steps-indicator-active-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-completed-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-background-color:var( --e-global-color-text );--e-form-steps-indicator-progress-meter-color:var( --e-global-color-text );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-597 .elementor-element.elementor-element-735d5723 .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-597 .elementor-element.elementor-element-735d5723 .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-597 .elementor-element.elementor-element-735d5723 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-597 .elementor-element.elementor-element-735d5723 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-597 .elementor-element.elementor-element-735d5723 .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-597 .elementor-element.elementor-element-735d5723 .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-597 .elementor-element.elementor-element-735d5723 .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-597 .elementor-element.elementor-element-735d5723 .elementor-field-group > label, .elementor-597 .elementor-element.elementor-element-735d5723 .elementor-field-subgroup label{color:#111827;}.elementor-597 .elementor-element.elementor-element-735d5723 .elementor-field-group > label{font-family:"Inter", Sans-serif;font-size:13px;font-weight:600;}.elementor-597 .elementor-element.elementor-element-735d5723 .elementor-field-type-html{padding-bottom:0px;}.elementor-597 .elementor-element.elementor-element-735d5723 .elementor-field-group .elementor-field, .elementor-597 .elementor-element.elementor-element-735d5723 .elementor-field-subgroup label{font-family:"Inter", Sans-serif;font-size:14px;}.elementor-597 .elementor-element.elementor-element-735d5723 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#FFFFFF;border-color:#DCE5EF;border-radius:8px 8px 8px 8px;}.elementor-597 .elementor-element.elementor-element-735d5723 .elementor-field-group .elementor-select-wrapper select{background-color:#FFFFFF;border-color:#DCE5EF;border-radius:8px 8px 8px 8px;}.elementor-597 .elementor-element.elementor-element-735d5723 .elementor-field-group .elementor-select-wrapper::before{color:#DCE5EF;}.elementor-597 .elementor-element.elementor-element-735d5723 .e-form__buttons__wrapper__button-next{background-color:#0878F9;color:#ffffff;}.elementor-597 .elementor-element.elementor-element-735d5723 .elementor-button[type="submit"]{background-color:#0878F9;color:#ffffff;}.elementor-597 .elementor-element.elementor-element-735d5723 .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-597 .elementor-element.elementor-element-735d5723 .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-597 .elementor-element.elementor-element-735d5723 .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-597 .elementor-element.elementor-element-735d5723 .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-597 .elementor-element.elementor-element-735d5723 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-597 .elementor-element.elementor-element-735d5723 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-597 .elementor-element.elementor-element-735d5723 .elementor-button{border-radius:8px 8px 8px 8px;}.elementor-597 .elementor-element.elementor-element-735d5723{--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}.elementor-597 .elementor-element.elementor-element-4eac17e7{font-family:"Inter", Sans-serif;}.elementor-597 .elementor-element.elementor-element-77f66c3f:not(.elementor-motion-effects-element-type-background), .elementor-597 .elementor-element.elementor-element-77f66c3f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-597 .elementor-element.elementor-element-77f66c3f > .elementor-container{max-width:900px;}.elementor-597 .elementor-element.elementor-element-77f66c3f{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:70px 0px 70px 0px;}.elementor-597 .elementor-element.elementor-element-77f66c3f > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-597 .elementor-element.elementor-element-b039c4{font-family:"Inter", Sans-serif;}.elementor-597 .elementor-element.elementor-element-269369f6{--spacer-size:14px;}.elementor-597 .elementor-element.elementor-element-7d6ba992{text-align:center;}.elementor-597 .elementor-element.elementor-element-7d6ba992 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:34px;font-weight:900;line-height:1.2em;color:#111827;}.elementor-597 .elementor-element.elementor-element-2cea5a13{--spacer-size:32px;}.elementor-597 .elementor-element.elementor-element-3066e342{padding:0px 0px 0px 0px;}.elementor-597 .elementor-element.elementor-element-2297943e > .elementor-element-populated{padding:0px 12px 0px 0px;}.elementor-widget-toggle .elementor-toggle-title, .elementor-widget-toggle .elementor-toggle-icon{color:var( --e-global-color-primary );}.elementor-widget-toggle .elementor-toggle-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-toggle .elementor-tab-title.elementor-active a, .elementor-widget-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon{color:var( --e-global-color-accent );}.elementor-widget-toggle .elementor-toggle-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-toggle .elementor-tab-content{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-597 .elementor-element.elementor-element-4c78075 .elementor-toggle-title, .elementor-597 .elementor-element.elementor-element-4c78075 .elementor-toggle-icon{color:#111827;}.elementor-597 .elementor-element.elementor-element-4c78075 .elementor-toggle-icon svg{fill:#111827;}.elementor-597 .elementor-element.elementor-element-4c78075 .elementor-toggle-title{font-family:"Inter", Sans-serif;font-size:15px;font-weight:600;}.elementor-597 .elementor-element.elementor-element-4c78075 .elementor-tab-content{color:#5B6472;font-family:"Inter", Sans-serif;font-size:14px;}.elementor-597 .elementor-element.elementor-element-498afce7 > .elementor-element-populated{padding:0px 0px 0px 12px;}.elementor-597 .elementor-element.elementor-element-457e868b .elementor-toggle-title, .elementor-597 .elementor-element.elementor-element-457e868b .elementor-toggle-icon{color:#111827;}.elementor-597 .elementor-element.elementor-element-457e868b .elementor-toggle-icon svg{fill:#111827;}.elementor-597 .elementor-element.elementor-element-457e868b .elementor-toggle-title{font-family:"Inter", Sans-serif;font-size:15px;font-weight:600;}.elementor-597 .elementor-element.elementor-element-457e868b .elementor-tab-content{color:#5B6472;font-family:"Inter", Sans-serif;font-size:14px;}@media(max-width:1024px){.elementor-597 .elementor-element.elementor-element-330fd465{padding:60px 0px 60px 0px;}.elementor-597 .elementor-element.elementor-element-10820100 .elementor-heading-title{font-size:41px;}.elementor-597 .elementor-element.elementor-element-5ef22036{padding:54px 0px 54px 0px;}.elementor-597 .elementor-element.elementor-element-2573ba41 .elementor-heading-title{font-size:22px;}.elementor-597 .elementor-element.elementor-element-75c5c48c .elementor-heading-title{font-size:19px;}.elementor-597 .elementor-element.elementor-element-77f66c3f{padding:52px 0px 52px 0px;}.elementor-597 .elementor-element.elementor-element-7d6ba992 .elementor-heading-title{font-size:27px;}}@media(max-width:767px){.elementor-597 .elementor-element.elementor-element-330fd465{padding:50px 20px 50px 20px;}.elementor-597 .elementor-element.elementor-element-ce0a82b{--spacer-size:10px;}.elementor-597 .elementor-element.elementor-element-10820100 .elementor-heading-title{font-size:30px;}.elementor-597 .elementor-element.elementor-element-41334393{--spacer-size:10px;}.elementor-597 .elementor-element.elementor-element-5ef22036{padding:40px 16px 40px 16px;}.elementor-597 .elementor-element.elementor-element-1a7ecc88{--spacer-size:8px;}.elementor-597 .elementor-element.elementor-element-2573ba41 .elementor-heading-title{font-size:22px;}.elementor-597 .elementor-element.elementor-element-482b06bc{--spacer-size:6px;}.elementor-597 .elementor-element.elementor-element-2f465f0d{--spacer-size:12px;}.elementor-597 .elementor-element.elementor-element-6e9c5cd3 > .elementor-element-populated{padding:24px 20px 24px 20px;}.elementor-597 .elementor-element.elementor-element-6fdc64b6{--spacer-size:8px;}.elementor-597 .elementor-element.elementor-element-75c5c48c .elementor-heading-title{font-size:20px;}.elementor-597 .elementor-element.elementor-element-79c7ccae{--spacer-size:4px;}.elementor-597 .elementor-element.elementor-element-77f66c3f{padding:38px 20px 38px 20px;}.elementor-597 .elementor-element.elementor-element-269369f6{--spacer-size:8px;}.elementor-597 .elementor-element.elementor-element-7d6ba992 .elementor-heading-title{font-size:24px;}.elementor-597 .elementor-element.elementor-element-2cea5a13{--spacer-size:20px;}}/* Start custom CSS *//* ============================================================
   KESHAV WEB SOLUTIONS — Additional CSS (Final)
   Appearance > Customize > Additional CSS
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

/* ── Global ── */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { font-family: 'Inter', sans-serif !important; overflow-x: hidden; }
.elementor-section { margin-bottom: 0 !important; }
.elementor-inner-section { margin-bottom: 0 !important; }
img { max-width: 100%; height: auto; }

/* ============================================================
   BADGE
   ============================================================ */
.badge {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em;
  color: #0878F9 !important;
  background: #EAF5FF !important;
  border: 1px solid #bbd8ff !important;
  border-radius: 20px !important;
  padding: 5px 14px !important;
  text-transform: uppercase;
  font-family: 'Inter', sans-serif !important;
}

/* ============================================================
   BUTTONS (all contexts)
   ============================================================ */
.btn-primary,
a.btn-primary,
.elementor-button.btn-primary {
  background: #0878F9 !important;
  color: #fff !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  padding: 12px 24px !important;
  border-radius: 8px !important;
  border: none !important;
  transition: all 0.22s !important;
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  text-decoration: none !important;
  font-family: 'Inter', sans-serif !important;
  white-space: nowrap;
}
.btn-primary:hover,
a.btn-primary:hover,
.elementor-button.btn-primary:hover {
  background: #0A66E8 !important;
  color: #fff !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(8,120,249,0.28) !important;
}

/* ============================================================
   ICON CIRCLE
   ============================================================ */
.icon-circle {
  width: 48px;
  height: 48px;
  border-radius: 10px;
  background: #EAF5FF;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  flex-shrink: 0;
}
.icon-circle.sm { width: 36px; height: 36px; border-radius: 8px; font-size: 16px; }

/* ============================================================
   HERO — ALL PAGES
   ============================================================ */
.section-services-hero,
.section-portfolio-hero,
.section-reviews-hero,
.section-about-hero,
.section-contact-hero {
  background: linear-gradient(135deg, #061A2D 0%, #08243B 55%, #0B2942 100%) !important;
  overflow: hidden;
  position: relative;
}
.section-services-hero::before,
.section-portfolio-hero::before,
.section-reviews-hero::before,
.section-about-hero::before,
.section-contact-hero::before {
  content: '';
  position: absolute;
  top: -80px; right: -80px;
  width: 400px; height: 400px;
  border-radius: 50%;
  background: rgba(8,120,249,0.07);
  pointer-events: none;
}
.section-hero {
  background: linear-gradient(135deg, #061A2D 0%, #08243B 55%, #0B2942 100%) !important;
  overflow: hidden;
  position: relative;
}

/* ============================================================
   SERVICE DETAIL CARDS — exact HTML match
   ============================================================ */
.svc-detail {
  background: #fff;
  border: 1px solid #DCE5EF;
  border-radius: 14px;
  padding: 36px 32px;
  transition: all 0.25s;
}
.svc-detail:hover {
  box-shadow: 0 8px 32px rgba(8,120,249,0.12);
  transform: translateY(-3px);
}
.svc-detail-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: start;
}
/* Feature list inside service cards */
.feat-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.feat-list li {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13.5px;
  color: #5B6472;
  font-family: 'Inter', sans-serif;
  line-height: 1.5;
}
.feat-list li::before {
  content: '→';
  color: #0878F9;
  font-weight: 700;
  flex-shrink: 0;
}

/* Container for service sections */
.section-services-cards .elementor-container { max-width: 1280px !important; }
.services-all-cards > .elementor-widget-wrap { gap: 0 !important; }

/* ============================================================
   HOME PAGE SERVICES PREVIEW (5 cards)
   ============================================================ */
.service-card {
  background: #fff;
  border: 1px solid #DCE5EF;
  border-radius: 12px;
  padding: 26px 22px;
  height: 100%;
  transition: all 0.25s;
}
.service-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 36px rgba(8,120,249,0.13);
  border-color: #bbd8ff;
}

/* ============================================================
   PORTFOLIO CARDS
   ============================================================ */
.port-card {
  background: #0B2942;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 12px;
  overflow: hidden;
  transition: all 0.25s;
}
.port-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(8,120,249,0.22);
}

/* ============================================================
   REVIEW CARDS
   ============================================================ */
.rev-card {
  background: #fff;
  border: 1px solid #DCE5EF;
  border-radius: 12px;
  padding: 24px;
  box-shadow: 0 2px 14px rgba(8,36,59,0.06);
  transition: all 0.25s;
  height: 100%;
}
.rev-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 30px rgba(8,120,249,0.11);
}

/* ============================================================
   ABOUT FEAT CARDS
   ============================================================ */
.feat-card {
  background: #fff;
  border: 1px solid #DCE5EF;
  border-radius: 12px;
  padding: 18px;
  margin-bottom: 14px;
  transition: all 0.25s;
}
.feat-card:hover { transform: translateY(-2px); box-shadow: 0 6px 24px rgba(8,120,249,0.1); }

/* ============================================================
   STATISTICS STRIP
   ============================================================ */
.section-stats {
  background: linear-gradient(135deg, #061A2D 0%, #08243B 100%) !important;
}
.stat-num { font-size: 40px; font-weight: 900; color: #fff; line-height: 1; font-family: 'Inter', sans-serif; }
.stat-label { font-size: 13px; font-weight: 500; color: rgba(255,255,255,0.6); margin-top: 6px; font-family: 'Inter', sans-serif; }

/* ============================================================
   CTA SECTION
   ============================================================ */
.section-cta {
  background: linear-gradient(135deg, #EAF5FF 0%, #F2F8FD 100%) !important;
  position: relative;
  overflow: hidden;
}
.section-cta::before {
  content: '';
  position: absolute;
  top: -60px; right: -60px;
  width: 280px; height: 280px;
  border-radius: 50%;
  background: rgba(8,120,249,0.06);
  pointer-events: none;
}

/* ============================================================
   INDUSTRIES (Home)
   ============================================================ */
.section-industries { border-bottom: 1px solid #DCE5EF; }
.industry-item:hover .industry-icon-wrap { background: #0878F9 !important; }
.industry-item:hover .industry-icon-wrap svg,
.industry-item:hover .industry-icon-wrap span { color: #fff !important; }

/* ============================================================
   FAQ — Elementor Toggle overrides
   ============================================================ */
.elementor-toggle-item {
  border: 1px solid #DCE5EF !important;
  border-radius: 10px !important;
  overflow: hidden;
  margin-bottom: 12px !important;
}
.elementor-toggle .elementor-tab-title {
  padding: 16px 20px !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  color: #111827 !important;
  font-family: 'Inter', sans-serif !important;
  border: none !important;
  background: #fff !important;
}
.elementor-toggle .elementor-tab-title.elementor-active { color: #0878F9 !important; }
.elementor-toggle .elementor-tab-title .elementor-toggle-icon { color: #5B6472 !important; }
.elementor-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon { color: #0878F9 !important; }
.elementor-toggle .elementor-tab-content {
  padding: 0 20px 18px !important;
  font-size: 14.5px !important;
  color: #5B6472 !important;
  line-height: 1.7 !important;
  font-family: 'Inter', sans-serif !important;
  border: none !important;
  background: #fff !important;
}

/* ============================================================
   CONTACT FORM (Elementor Pro)
   ============================================================ */
.section-contact { background: #F2F8FD !important; }
.elementor-form .elementor-field-label {
  font-size: 13px !important; font-weight: 600 !important;
  color: #111827 !important; font-family: 'Inter', sans-serif !important;
}
.elementor-form .elementor-field {
  border: 1px solid #DCE5EF !important; border-radius: 8px !important;
  padding: 11px 14px !important; font-size: 14px !important;
  font-family: 'Inter', sans-serif !important; background: #fff !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
}
.elementor-form .elementor-field:focus {
  border-color: #0878F9 !important;
  box-shadow: 0 0 0 3px rgba(8,120,249,0.12) !important;
  outline: none !important;
}
.elementor-form .elementor-button {
  background: #0878F9 !important; border-radius: 8px !important;
  font-weight: 600 !important; font-size: 15px !important;
  font-family: 'Inter', sans-serif !important;
  border: none !important; width: 100% !important; transition: all 0.22s !important;
}
.elementor-form .elementor-button:hover {
  background: #0A66E8 !important; transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(8,120,249,0.28) !important;
}

/* ============================================================
   PORTFOLIO FILTER TABS
   ============================================================ */
.filter-tab {
  padding: 8px 18px !important; border-radius: 8px !important;
  border: 1px solid #DCE5EF !important; background: #fff !important;
  font-size: 13.5px !important; font-weight: 600 !important;
  color: #5B6472 !important; cursor: pointer !important;
  transition: all 0.2s !important; font-family: 'Inter', sans-serif !important;
}
.filter-tab:hover, .filter-tab.active {
  background: #0878F9 !important; color: #fff !important; border-color: #0878F9 !important;
}

/* ============================================================
   MAX-WIDTH for all sections
   ============================================================ */
.elementor-section > .elementor-container { max-width: 1280px !important; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1024px) {
  .svc-detail-grid { grid-template-columns: 1fr !important; gap: 24px !important; }
  .feat-list { grid-template-columns: 1fr !important; }
  .section-hero .elementor-column { width: 100% !important; }
  .hero-right { display: none !important; }
}
@media (max-width: 767px) {
  .svc-detail { padding: 24px 18px !important; border-radius: 10px !important; }
  .svc-detail-grid { grid-template-columns: 1fr !important; gap: 20px !important; }
  .feat-list { grid-template-columns: 1fr !important; }
  .section-stats .elementor-column { width: 50% !important; }
}
@media (max-width: 480px) {
  .section-stats .elementor-column { width: 50% !important; }
  .svc-detail { padding: 20px 14px !important; }
}


/* ============================================================
   PORTFOLIO PAGE — Card Column Styling
   ============================================================ */

/* Each card column gets dark navy card look */
.port-item > .elementor-column-wrap,
.port-item > .elementor-widget-wrap {
  background: #0B2942 !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  padding: 0 !important;
  transition: all 0.25s !important;
  display: flex !important;
  flex-direction: column !important;
}
.port-item:hover > .elementor-column-wrap,
.port-item:hover > .elementor-widget-wrap {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 40px rgba(8,120,249,0.22) !important;
}

/* Column outer gap (so cards don't touch) */
.port-item.elementor-column { padding: 0 10px 20px !important; }

/* Browser bar widget — no padding */
.port-browser-bar-wrap .elementor-widget-container { padding: 0 !important; }

/* Screenshot image — fills card width, fixed height */
.port-screenshot-img .elementor-widget-container { padding: 0 !important; line-height: 0; }
.port-screenshot-img img {
  width: 100% !important;
  height: 148px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 0 !important;
}

/* Gradient placeholder — shown ONLY when no real image uploaded */
.port-mock-placeholder-wrap .elementor-widget-container { padding: 0 !important; }

/* Hide gradient placeholder when real image is present above it */
.port-screenshot-img:has(img[src]:not([src=""])) ~ .port-mock-placeholder-wrap { display: none !important; }
/* Fallback for browsers without :has() support */
.port-screenshot-img img[src]:not([src=""]) { display: block !important; }

/* Card info section */
.port-card-info-wrap .elementor-widget-container { padding: 0 !important; }

/* Filter tabs */
.filter-tab {
  padding: 8px 18px !important;
  border-radius: 8px !important;
  border: 1px solid #DCE5EF !important;
  background: #fff !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #5B6472 !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
  font-family: 'Inter', sans-serif !important;
}
.filter-tab:hover, .filter-tab.active {
  background: #0878F9 !important;
  color: #fff !important;
  border-color: #0878F9 !important;
}

/* Portfolio grid inner section columns wrap properly */
.port-grid-row > .elementor-container {
  flex-wrap: wrap !important;
  gap: 0 !important;
}

/* Instructions box */
.port-instructions .elementor-widget-container { padding: 0 !important; }

/* Responsive */
@media (max-width: 1024px) {
  .port-item.elementor-column { width: 50% !important; }
}
@media (max-width: 600px) {
  .port-item.elementor-column { width: 100% !important; }
  .port-screenshot-img img { height: 200px !important; }
}

/* ============================================================
   PORTFOLIO CARDS — column-based card layout
   ============================================================ */

/* The column IS the card */
.port-card-el > .elementor-column-wrap {
  background: #0B2942 !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  transition: all 0.25s !important;
}
.port-card-el:hover > .elementor-column-wrap {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 40px rgba(8,120,249,0.22) !important;
}
/* Remove all inner padding so image/chrome flush to edges */
.port-card-el > .elementor-column-wrap > .elementor-widget-wrap {
  padding: 0 !important;
}
.port-card-el .elementor-widget-wrap { padding: 0 !important; }
.port-card-el .elementor-widget { margin: 0 !important; }

/* Chrome bar (browser dots) */
.port-chrome-bar { width: 100% !important; }
.port-chrome-bar .elementor-widget-container { padding: 0 !important; margin: 0 !important; }

/* Screenshot image fills card width */
.port-card-img .elementor-widget-container { padding: 0 !important; }
.port-card-img img {
  width: 100% !important;
  height: 170px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 0 !important;
}

/* Info area at bottom of card */
.port-card-info .elementor-widget-container { padding: 0 !important; }
.port-card-info .elementor-text-editor { padding: 0 !important; }

/* Row gap between card rows */
.port-row .elementor-column { padding: 0 8px !important; }
.port-row { gap: 0 !important; }

/* Filter tabs */
.filter-tab {
  padding: 8px 18px !important;
  border-radius: 8px !important;
  border: 1px solid #DCE5EF !important;
  background: #fff !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #5B6472 !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
  font-family: 'Inter', sans-serif !important;
}
.filter-tab:hover,
.filter-tab.active {
  background: #0878F9 !important;
  color: #fff !important;
  border-color: #0878F9 !important;
}

/* Responsive */
@media (max-width: 767px) {
  .port-row .elementor-column {
    width: 50% !important;
    padding: 0 4px !important;
    margin-bottom: 12px !important;
  }
}
@media (max-width: 480px) {
  .port-row .elementor-column { width: 100% !important; }
  .port-card-img img { height: 200px !important; }
}

/* ============================================================
   REVIEW CARDS — column-based card layout
   ============================================================ */

/* Column IS the card */
.rev-card-col > .elementor-column-wrap {
  background: #fff !important;
  border: 1px solid #DCE5EF !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 14px rgba(8,36,59,.06) !important;
  transition: all .25s !important;
  overflow: hidden;
}
.rev-card-col:hover > .elementor-column-wrap {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 30px rgba(8,120,249,.12) !important;
}
.rev-card-col > .elementor-column-wrap > .elementor-widget-wrap {
  padding: 20px 20px 20px 20px !important;
}

/* Avatar image — circular */
.rev-avatar-img .elementor-widget-container { padding: 0 0 10px 0 !important; }
.rev-avatar-img img {
  width: 52px !important;
  height: 52px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  display: block !important;
}

/* Name & business text */
.rev-name-biz { margin-bottom: 0 !important; }
.rev-name-biz .elementor-widget-container { padding: 0 !important; }

/* Stars */
.rev-stars .elementor-widget-container { padding: 0 !important; }

/* Quote */
.rev-quote .elementor-widget-container { padding: 0 !important; }

/* Result badge */
.rev-badge-result .elementor-widget-container { padding: 0 !important; }

/* Row gap */
.rev-row .elementor-column { margin-bottom: 0 !important; }

/* Tip box */
.rev-add-tip .elementor-widget-container {
  background: #F2F8FD !important;
  border: 1px solid #bbd8ff !important;
  border-radius: 10px !important;
  padding: 14px 18px !important;
}

/* Responsive */
@media (max-width: 767px) {
  .rev-row .elementor-column { width: 100% !important; margin-bottom: 16px !important; }
}
@media (max-width: 1024px) {
  .rev-row .elementor-column { width: 50% !important; margin-bottom: 16px !important; }
}

/* ============================================================
   REVIEW CARDS — column-based, easy to duplicate
   ============================================================ */

/* Each review is a column — right-click → duplicate to add more */
.rev-card-col > .elementor-column-wrap {
  height: 100% !important;
}
.rev-card-col > .elementor-column-wrap > .elementor-widget-wrap {
  height: 100% !important;
}

/* The actual card */
.rev-card {
  background: #fff;
  border: 1px solid #DCE5EF;
  border-radius: 12px;
  padding: 24px;
  box-shadow: 0 2px 14px rgba(8,36,59,0.06);
  transition: all 0.25s;
  height: 100%;
}
.rev-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 30px rgba(8,120,249,0.11);
}

/* Row gap */
.rev-row .elementor-column {
  padding-left: 8px !important;
  padding-right: 8px !important;
}

/* Stars */
.stars { color: #f59e0b !important; font-size: 16px; letter-spacing: 2px; }

/* Result badge inside card */
.rev-result {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #EAF5FF;
  border-radius: 8px;
  padding: 6px 12px;
  font-size: 12.5px;
  font-weight: 600;
  color: #0878F9;
  font-family: 'Inter', sans-serif;
}

/* Editor tip strip */
.elementor-widget-text-editor p[style*="border: 1px dashed"] {
  display: block;
}

/* Responsive */
@media (max-width: 767px) {
  .rev-row .elementor-column { width: 100% !important; margin-bottom: 16px !important; }
  .rev-card { padding: 20px 16px; }
}

/* ============================================================
   CONTACT PAGE — info + form card layout
   ============================================================ */

/* Left info column */
.contact-left-col > .elementor-column-wrap > .elementor-widget-wrap {
  padding-right: 24px !important;
}

/* Right form column — white card */
.contact-right-col > .elementor-column-wrap {
  background: #fff !important;
  border: 1px solid #DCE5EF !important;
  border-radius: 14px !important;
  box-shadow: 0 4px 24px rgba(8,36,59,0.08) !important;
}
.contact-right-col > .elementor-column-wrap > .elementor-widget-wrap {
  padding: 32px !important;
}

/* Info cards inside contact */
.contact-info-cards .elementor-widget-container { padding: 0 !important; }
.contact-info-cards .feat-card { margin-bottom: 0; }

/* Elementor Form — contact page specific */
.section-contact-main .elementor-form .elementor-field-group {
  margin-bottom: 14px !important;
}
.section-contact-main .elementor-form .elementor-field-label {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #111827 !important;
  font-family: 'Inter', sans-serif !important;
  margin-bottom: 6px !important;
  display: block;
}
.section-contact-main .elementor-form .elementor-field {
  border: 1px solid #DCE5EF !important;
  border-radius: 8px !important;
  padding: 11px 14px !important;
  font-size: 14px !important;
  color: #111827 !important;
  font-family: 'Inter', sans-serif !important;
  background: #fff !important;
  width: 100% !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
}
.section-contact-main .elementor-form .elementor-field:focus {
  border-color: #0878F9 !important;
  box-shadow: 0 0 0 3px rgba(8,120,249,0.12) !important;
  outline: none !important;
}
.section-contact-main .elementor-form .elementor-button {
  background: #0878F9 !important;
  border-radius: 8px !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  padding: 14px !important;
  font-family: 'Inter', sans-serif !important;
  border: none !important;
  width: 100% !important;
  transition: all 0.22s !important;
  margin-top: 8px;
}
.section-contact-main .elementor-form .elementor-button:hover {
  background: #0A66E8 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(8,120,249,0.28) !important;
}

/* FAQ section — max-width 900px */
.section-contact-faq .elementor-container { max-width: 900px !important; }
.faq-col-l > .elementor-column-wrap > .elementor-widget-wrap {
  padding-right: 12px !important;
}
.faq-col-r > .elementor-column-wrap > .elementor-widget-wrap {
  padding-left: 12px !important;
}

/* Responsive contact */
@media (max-width: 1024px) {
  .contact-left-col, .contact-right-col { width: 100% !important; }
  .contact-left-col > .elementor-column-wrap > .elementor-widget-wrap {
    padding-right: 0 !important;
  }
  .contact-right-col > .elementor-column-wrap > .elementor-widget-wrap {
    padding: 24px !important;
  }
}
@media (max-width: 767px) {
  .faq-col-l, .faq-col-r { width: 100% !important; }
  .faq-col-l > .elementor-column-wrap > .elementor-widget-wrap { padding-right: 0 !important; }
  .faq-col-r > .elementor-column-wrap > .elementor-widget-wrap { padding-left: 0 !important; }
  .contact-right-col > .elementor-column-wrap > .elementor-widget-wrap { padding: 20px 16px !important; }
}/* End custom CSS */