/*
Generat Settings
*/

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

html,
body {
  overflow-x: hidden;
  width: 100%;
}

/* Sections
     ========================================================================== */

/**
   * Remove the margin in all browsers.
   */

body {
  margin: 0;
}

/**
   * Render the `main` element consistently in IE.
   */

main {
  display: block;
}



/* Grouping content
     ========================================================================== */

/**
   * 1. Add the correct box sizing in Firefox.
   * 2. Show the overflow in Edge and IE.
   */

hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

/**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */

pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/* Text-level semantics
     ========================================================================== */

/**
   * Remove the gray background on active links in IE 10.
   */

a {
  background-color: transparent;
}

/**
   * 1. Remove the bottom border in Chrome 57-
   * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
   */

abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */
}

/**
   * Add the correct font weight in Chrome, Edge, and Safari.
   */

b,
strong {
  font-weight: bolder;
}

/**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */

code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
   * Add the correct font size in all browsers.
   */

small {
  font-size: 80%;
}

/**
   * Prevent `sub` and `sup` elements from affecting the line height in
   * all browsers.
   */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
     ========================================================================== */

/**
   * Remove the border on images inside links in IE 10.
   */

img {
  border-style: none;
}

/* Forms
     ========================================================================== */

/**
   * 1. Change the font styles in all browsers.
   * 2. Remove the margin in Firefox and Safari.
   */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
   * Show the overflow in IE.
   * 1. Show the overflow in Edge.
   */

button,
input {
  /* 1 */
  overflow: visible;
}

/**
   * Remove the inheritance of text transform in Edge, Firefox, and IE.
   * 1. Remove the inheritance of text transform in Firefox.
   */

button,
select {
  /* 1 */
  text-transform: none;
}

/**
   * Correct the inability to style clickable types in iOS and Safari.
   */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
   * Remove the inner border and padding in Firefox.
   */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
   * Restore the focus styles unset by the previous rule.
   */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
   * Correct the padding in Firefox.
   */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
   * 1. Correct the text wrapping in Edge and IE.
   * 2. Correct the color inheritance from `fieldset` elements in IE.
   * 3. Remove the padding so developers are not caught out when they zero out
   *    `fieldset` elements in all browsers.
   */

legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
   * Add the correct vertical alignment in Chrome, Firefox, and Opera.
   */

progress {
  vertical-align: baseline;
}

/**
   * Remove the default vertical scrollbar in IE 10+.
   */

textarea {
  overflow: auto;
}

/**
   * 1. Add the correct box sizing in IE 10.
   * 2. Remove the padding in IE 10.
   */

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
   * Correct the cursor style of increment and decrement buttons in Chrome.
   */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
   * 1. Correct the odd appearance in Chrome and Safari.
   * 2. Correct the outline style in Safari.
   */

[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
   * Remove the inner padding in Chrome and Safari on macOS.
   */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
   * 1. Correct the inability to style clickable types in iOS and Safari.
   * 2. Change font properties to `inherit` in Safari.
   */

::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/* Interactive
     ========================================================================== */

/*
   * Add the correct display in Edge, IE 10+, and Firefox.
   */

details {
  display: block;
}

/*
   * Add the correct display in all browsers.
   */

summary {
  display: list-item;
}

/* Misc
     ========================================================================== */

/**
   * Add the correct display in IE 10+.
   */

template {
  display: none;
}

/**
   * Add the correct display in IE 10.
   */

[hidden] {
  display: none;
}


/* =WordPress Core
-------------------------------------------------------------- */
.alignnone {
  margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
  display: block;
  margin: 5px auto 5px auto;
}

.alignright {
  float: right;
  margin: 5px 0 20px 20px;
}

.alignleft {
  float: left;
  margin: 5px 20px 20px 0;
}

a img.alignright {
  float: right;
  margin: 5px 0 20px 20px;
}

a img.alignnone {
  margin: 5px 20px 20px 0;
}

a img.alignleft {
  float: left;
  margin: 5px 20px 20px 0;
}

a img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption {
  background: #fff;
  border: 1px solid #f0f0f0;
  max-width: 96%;
  /* Image does not overflow the content area */
  padding: 5px 3px 10px;
  text-align: center;
}

.wp-caption.alignnone {
  margin: 5px 20px 20px 0;
}

.gallery-caption {
  position: relative;
}

.bypostauthor {
  position: relative;
}


.wp-caption.alignleft {
  margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
  margin: 5px 0 20px 20px;
}

.wp-caption img {
  border: 0 none;
  height: auto;
  margin: 0;
  max-width: 98.5%;
  padding: 0;
  width: auto;
}

.wp-caption p.wp-caption-text {
  font-size: 11px;
  line-height: 17px;
  margin: 0;
  padding: 0 4px 5px;
}

/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
  /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
  background-color: #eee;
  clip: auto !important;
  clip-path: none;
  color: #444;
  display: block;
  font-size: 1em;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */
}

table {
  width: 100%;
}

.widgets_grid_box .widget_categories ul:before,
.widgets_grid_box .widget_meta ul:before,
.widgets_grid_box .widget_archive ul:before {
  clear: both;
  content: '';
  overflow: auto;
}

.widgets_grid_box ul ul.children {
  padding: 0px 0px 0px 5px !important;
  border-radius: 0px;
  border: 0px !important;

}

.widgets_grid_box .widget_categories ul li,
.widgets_grid_box .widget_archive ul li {
  text-align: right;
}

.widgets_grid_box .widget_categories ul li a,
.widgets_grid_box .widget_archive ul li a {
  float: left;
}

.post-password-form label {
  width: 100%;
}

input[type="password"] {
  width: 100%;
}

.wp-block-button {
  margin-bottom: 15px;
}

.has-background-dim,
.has-background-dim p {
  color: #fff;
}

.col-lg-12.padding_zero {
  padding: 0px;
}

.sec_comments .col-lg-12 {
  padding: 0px;
}

/* WHY CHOOSE SECTION FIX */

#why-choose .row {
  row-gap: 30px;
}

#why-choose .col-xl-4,
#why-choose .col-lg-6 {
  display: flex;
  margin-bottom: 0;
}

#why-choose .service_box {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  border-radius: 12px;
  overflow: hidden;
}

#why-choose .service_content_two {
  height: 100%;
  display: flex;
  flex-direction: column;
}

#why-choose .content_inner {
  height: 100%;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
}

#why-choose .content_inner_in {
  padding: 35px 30px;
  width: 100%;
}

#why-choose .content_inner_in h2 {
  font-size: 22px;
  margin-bottom: 10px;
}

#why-choose .content_inner_in p {
  font-size: 15px;
  line-height: 1.6;
  margin-bottom: 15px;
}

#why-choose .content_inner_in ul {
  padding-left: 18px;
  margin-bottom: 0;
}

#why-choose .content_inner_in ul li {
  font-size: 14px;
  margin-bottom: 5px;
}

/* overlay fix */

#why-choose .overlay_content {
  padding: 25px;
}

/* mobile responsive */

@media (max-width:991px) {

  #why-choose .content_inner_in {
    padding: 30px 25px;
  }

}

@media (max-width:768px) {

  #why-choose .row {
    row-gap: 25px;
  }

  #why-choose .content_inner_in h2 {
    font-size: 20px;
  }

  #why-choose .content_inner_in p {
    font-size: 14px;
  }

}


/* service */

/* SERVICES SECTION IMPROVEMENT */

.services_section .row {
  row-gap: 35px;
}

/* COLUMN FIX */

.services_section .col-lg-4 {
  display: flex;
}

/* CARD DESIGN */

.services_section .service_box {
  width: 100%;
  height: 100%;
  background: #ffffff;
  border-radius: 12px;
  padding: 35px 30px;
  transition: all .35s ease;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.04);
  border: 1px solid #f1f1f1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

/* HOVER EFFECT */

.services_section .service_box:hover {
  transform: translateY(-8px);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08);
  border-color: #e6e6e6;
}

/* CONTENT */

.services_section .service_content h3 {
  font-size: 20px;
  margin-bottom: 12px;
  line-height: 1.4;
}

.services_section .service_content p {
  font-size: 15px;
  line-height: 1.7;
  color: #666;
  margin-bottom: 20px;
}

/* BUTTON */

.services_section .read_more {
  font-weight: 600;
  font-size: 14px;
  color: #14b8a6;
  text-decoration: none;
}

.services_section .read_more:hover {
  color: #0f9f95;
}

/* MOBILE RESPONSIVE */

@media (max-width:991px) {

  .services_section .service_box {
    padding: 30px 25px;
  }

}

@media (max-width:768px) {

  .services_section .row {
    row-gap: 25px;
  }

  .services_section .service_content h3 {
    font-size: 18px;
  }

  .services_section .service_content p {
    font-size: 14px;
  }

}


/* Footer Layout Fix */
/* ===== FOOTER MAIN ===== */

.footer_area {
  background: #1f2937;
  color: #fff;
  font-family: Arial, Helvetica, sans-serif;
}

.footer_widgets_wrap {
  /* padding: 80px 0 40px; */
}

/* ===== LOGO ===== */

.footer_logo img {
  max-width: 170px;
}

/* ===== TEXT ===== */

.footer_widgets p {
  color: #cbd5e1;
  font-size: 14px;
  line-height: 24px;
  margin-top: 15px;
}

/* ===== TITLES ===== */

.fo_wid_title h2 {
  font-size: 20px;
  font-weight: 600;
  color: #fff;
  margin-bottom: 25px;
  position: relative;
}

.fo_wid_title h2::after {
  content: "";
  width: 40px;
  height: 3px;
  background: #14b8a6;
  display: block;
  margin-top: 8px;
}

/* ===== MENU ===== */

.menu {
  list-style: none;
  padding: 0;
  margin: 0;
}

.menu li {
  margin-bottom: 12px;
}

.menu li a {
  color: #cbd5e1;
  text-decoration: none;
  font-size: 14px;
  transition: .3s;
}

.menu li a:hover {
  color: #14b8a6;
  padding-left: 6px;
}

/* ===== CONTACT ===== */

/* CONTACT SECTION */

.foo_cont_inner {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.office h6 {
  color: #078586;
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 4px;
}

.office p {
  margin: 0;
  color: #cbd5e1;
  font-size: 14px;
}

.contact_item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
}

.contact_item span {
  font-weight: 600;
  color: #fff;
}

.contact_item a {
  color: #cbd5e1;
  text-decoration: none;
}

.contact_item a:hover {
  color: #14b8a6;
}

/* ===== SOCIAL ICONS ===== */

.social_media_v_one ul {
  display: flex;
  gap: 18px;
  padding: 0;
  margin-top: 25px;
}

.social_media_v_one ul li {
  list-style: none;
}

.social_media_v_one ul li a {
  color: #cbd5e1;
  font-size: 18px;
}

.social_media_v_one ul li small {
  display: none;
  /* hide text to avoid layout breaking */
}

.social_media_v_one ul li a:hover {
  color: #14b8a6;
}

/* ===== WHATSAPP BUTTON ===== */

.theme_btn {
  display: inline-block;
  background: #f97316;
  padding: 10px 20px;
  border-radius: 6px;
  font-size: 14px;
  color: #fff;
  text-decoration: none;
  margin-top: 15px;
}

.theme_btn:hover {
  background: #fb923c;
}

/* ===== BOTTOM BAR ===== */

.creote-footer-copyright {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding: 20px 0;
  margin-top: 40px;
}

.footer_copy_content {
  font-size: 14px;
  color: #cbd5e1;
}

.footer_copy_content_right a {
  color: #cbd5e1;
  margin-right: 10px;
  font-size: 13px;
  text-decoration: none;
}

.footer_copy_content_right a:hover {
  color: #14b8a6;
}

/* ===== MOBILE FIX ===== */

@media (max-width:991px) {

  .footer_widgets {
    margin-bottom: 40px;
  }

  .social_media_v_one ul {
    justify-content: flex-start;
  }

}

.leadership_section {
  padding: 100px 0;
  background: #F0F0F8;
}

.section_heading h2 {
  font-size: 40px;
  font-weight: 700;
  color: #1F2937;
  margin-bottom: 15px;
}

.section_heading p {
  max-width: 700px;
  margin: auto;
  color: #6B7280;
  margin-bottom: 60px;
}

/* CARD */

.leader_card {

  background: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(12px);

  border-radius: 18px;

  overflow: hidden;

  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);

  transition: 0.4s;

  height: 100%;

  display: flex;
  flex-direction: column;

}

.leader_card:hover {
  transform: translateY(-8px);
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.15);
}

/* IMAGE */

.leader_img img {
  width: 100%;
  height: 320px;
  object-fit: cover;
}

/* CONTENT */

.leader_content {

  padding: 30px;

  display: flex;
  flex-direction: column;
  flex-grow: 1;

}

.leader_content h3 {
  font-size: 22px;
  font-weight: 700;
  color: #1F2937;
  margin-bottom: 5px;
}

.leader_role {
  color: #5B2D8E;
  font-weight: 600;
  margin-bottom: 15px;
  display: block;
}

.leader_content p {
  color: #6B7280;
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 20px;
}

/* BADGES */

.leader_badges {
  margin-bottom: 25px;
}

.leader_badges span {

  background: #F3F4F6;

  padding: 6px 12px;

  border-radius: 20px;

  font-size: 12px;

  margin-right: 6px;

  color: #1F2937;

}

/* LINKEDIN BUTTON */

.linkedin_btn {

  display: inline-block;

  background: #2563EB;

  color: #fff;

  padding: 10px 20px;

  border-radius: 30px;

  font-size: 14px;

  text-decoration: none;

  transition: 0.3s;

}

.linkedin_btn:hover {
  background: #1d4ed8;
  color: #fff;
}

.certification_section {
  padding: 90px 0;
  background: #ffffff;
}

.cert_grid {

  display: grid;

  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));

  gap: 40px;

  margin-top: 50px;

  align-items: center;
  text-align: center;

}

.cert_grid img {

  max-height: 60px;

  opacity: 0.7;

  transition: 0.3s;

}

.cert_grid img:hover {
  opacity: 1;
  transform: scale(1.1);
}


.why_fortyfi {

  padding: 100px 0;

  background: #F0F0F8;

}

.why_heading h2 {

  font-size: 40px;

  font-weight: 700;

  color: #1F2937;

  margin-bottom: 15px;

}

.why_heading p {

  max-width: 700px;

  margin: auto;

  color: #6B7280;

  margin-bottom: 70px;

}


/* CARD */

.why_card {

  background: #fff;

  border-radius: 16px;

  padding: 35px;

  height: 100%;

  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.05);

  transition: 0.4s;

  position: relative;

  overflow: hidden;

}

.why_card:hover {

  transform: translateY(-8px);

  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.1);

}


/* ICON */

.why_icon {

  width: 60px;

  height: 60px;

  background: linear-gradient(135deg, #5B2D8E, #7C3AED);

  color: #fff;

  display: flex;

  align-items: center;

  justify-content: center;

  border-radius: 14px;

  font-size: 22px;

  margin-bottom: 20px;

}


/* TITLE */

.why_card h3 {

  font-size: 20px;

  font-weight: 700;

  color: #1F2937;

  margin-bottom: 12px;

}


/* TEXT */

.why_card p {

  font-size: 14px;

  color: #6B7280;

  line-height: 1.7;

}


/* GRID GAP */

.why_fortyfi .row {

  row-gap: 30px;

}


/* ===== Hero Section ===== */
.service-hero {
  position: relative;
  color: #fff;
  padding: 120px 20px;
  overflow: hidden;
}

.hero-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 1200px;
  margin: 0 auto;
}

.hero-text {
  max-width: 600px;
}

.hero-title {
  font-size: 48px;
  font-weight: 800;
  line-height: 1.2;
  margin-bottom: 20px;
}

.hero-desc {
  font-size: 18px;
  margin-bottom: 15px;
  color: #655c5c;
  line-height: 1.6;
}

.hero-cta a {
  margin-right: 15px;
  padding: 14px 28px;
  border-radius: 8px;
  font-weight: 600;
  transition: all 0.3s ease;
}

.hero-btn {
  background: #00D4AA;
  color: #fff;
}

.hero-btn:hover {
  background: #00b38f;
  transform: translateY(-3px);
}

.hero-btn.outline_btn {
  background: transparent;
  border: 2px solid #00D4AA;
  color: #0e0c0c;
}

.hero-btn.outline_btn:hover {
  background: #00D4AA;
  color: #fff;
}

/* Hero Illustration */
.hero-animation img {
  max-width: 450px;
  animation: float 4s ease-in-out infinite;
}

/* Subtle float animation */
@keyframes float {
  0% {
    transform: translateY(0px);
  }

  50% {
    transform: translateY(-20px);
  }

  100% {
    transform: translateY(0px);
  }
}

/* ===== Scroll Animations ===== */
.animate {
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.6s ease-out;
}

.animate.visible {
  opacity: 1;
  transform: translateY(0);
}

/* ===== Responsive ===== */
@media (max-width: 992px) {
  .hero-inner {
    flex-direction: column;
    text-align: center;
  }

  .hero-animation img {
    max-width: 300px;
    margin-top: 30px;
  }

  .hero-title {
    font-size: 36px;
  }

  .hero-desc {
    font-size: 16px;
  }
}

/* ========================== */



.service-overview {
  background: linear-gradient(120deg, #f0f0f8, #e2e6f0);
  padding: 100px 20px;
}

.overview-header .section-title {
  font-size: 42px;
  font-weight: 800;
  color: #5B2D8E;
  margin-bottom: 20px;
  position: relative;
}

.overview-header .section-title::after {
  content: '';
  display: block;
  width: 60px;
  height: 4px;
  background: linear-gradient(to right, #5B2D8E, #00D4AA);
  margin: 15px auto 0 auto;
  border-radius: 2px;
}

.overview-intro {
  font-size: 18px;
  color: #4B5563;
  max-width: 800px;
  margin: 0 auto 60px auto;
  line-height: 1.8;
}

.overview-grid-one-row {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  justify-content: center;
}

.overview-card {
  flex: 1 1 22%;
  background: #ffffff;
  border-radius: 20px;
  padding: 35px 25px;
  text-align: center;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08);
  border-top: 4px solid transparent;
  transition: all 0.5s ease;
  min-width: 250px;
}

.overview-card h3 {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 15px;
  color: #5B2D8E;
}

.overview-card p {
  font-size: 16px;
  color: #4B5563;
  line-height: 1.7;
}

.overview-card:hover {
  transform: translateY(-10px) scale(1.03);
  box-shadow: 0 25px 45px rgba(0, 0, 0, 0.2);
  border-top: 4px solid #00D4AA;
}

/* Scroll Animations */
.animate {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.6s ease-out;
}

.animate.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Mobile */
@media(max-width:1024px) {
  .overview-card {
    flex: 1 1 45%;
  }
}

@media(max-width:768px) {
  .overview-card {
    flex: 1 1 100%;
  }

  .overview-header .section-title {
    font-size: 32px;
  }

  .overview-intro {
    font-size: 16px;
    margin-bottom: 40px;
  }
}

.service-capabilities {
  background: #fff;
  padding: 100px 20px;
}

.section-header .section-title {
  font-size: 38px;
  font-weight: 800;
  color: #5B2D8E;
  margin-bottom: 15px;
  position: relative;
}

.section-header .section-title::after {
  content: '';
  display: block;
  width: 60px;
  height: 4px;
  background: linear-gradient(to right, #5B2D8E, #00D4AA);
  margin: 12px auto 0 auto;
  border-radius: 2px;
}

.section-intro {
  color: #4B5563;
  font-size: 16px;
  max-width: 750px;
  margin: 0 auto 60px auto;
  line-height: 1.7;
  text-align: center;
}

.capabilities-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 30px;
  justify-items: center;
}

.capability-card {
  background: #f5f6fa;
  border-radius: 20px;
  padding: 30px 20px;
  text-align: center;
  transition: all 0.5s ease;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08);
  position: relative;
}

.capability-card .icon-wrapper {
  width: 80px;
  height: 80px;
  margin: 0 auto 20px auto;
  border-radius: 50%;
  background: linear-gradient(135deg, #5B2D8E, #00D4AA);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.4s ease;
}

.capability-card .icon-wrapper img {
  width: 40px;
  filter: brightness(0) invert(1);
}

.capability-card h3 {
  font-size: 22px;
  font-weight: 700;
  color: #1A1A2E;
  margin-bottom: 10px;
}

.capability-card p {
  font-size: 15px;
  color: #4B5563;
  line-height: 1.6;
}

.capability-card:hover {
  transform: translateY(-10px) scale(1.05);
  box-shadow: 0 25px 45px rgba(0, 0, 0, 0.2);
}

.capability-card:hover .icon-wrapper {
  transform: rotate(10deg) scale(1.1);
}

/* Scroll Animations */
.animate {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.6s ease-out;
}

.animate.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Mobile */
@media(max-width:1024px) {
  .capability-card {
    flex: 1 1 45%;
  }
}

@media(max-width:768px) {
  .capability-card {
    flex: 1 1 100%;
  }
}


.industries_section {

  padding: 100px 0;

  background: #F0F0F8;

}

.industry_heading h2 {

  font-size: 40px;

  font-weight: 700;

  margin-bottom: 15px;

  color: #1F2937;

}

.industry_heading p {

  max-width: 700px;

  margin: auto;

  color: #6B7280;

  margin-bottom: 70px;

}


/* CARD */

.industry_card {

  display: block;

  background: #fff;

  padding: 35px;

  border-radius: 16px;

  text-decoration: none;

  height: 100%;

  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.05);

  transition: 0.35s;

}

.industry_card:hover {

  transform: translateY(-8px);

  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.1);

}


/* ICON */

.industry_icon {

  width: 60px;

  height: 60px;

  background: linear-gradient(135deg, #5B2D8E, #7C3AED);

  color: #fff;

  display: flex;

  align-items: center;

  justify-content: center;

  border-radius: 14px;

  font-size: 22px;

  margin-bottom: 18px;

}


/* TITLE */

.industry_card h3 {

  font-size: 18px;

  font-weight: 700;

  color: #1F2937;

  margin-bottom: 10px;

}


/* TEXT */

.industry_card p {

  font-size: 14px;

  color: #6B7280;

  line-height: 1.6;

}


.industries_section .row {

  row-gap: 30px;

}

/* HERO */

.portfolio_hero{
background:linear-gradient(135deg,#1A1A2E,#5B2D8E);
padding:120px 0;
text-align:center;
color:#fff;
}

.portfolio_heading h1{
font-size:48px;
margin-bottom:15px;
}

.portfolio_heading p{
max-width:700px;
margin:auto;
opacity:.9;
}


/* FILTER */

.portfolio_filters{
display:flex;
gap:15px;
justify-content:center;
flex-wrap:wrap;
margin-bottom:70px;
}

.portfolio_filters button{
padding:10px 22px;
border-radius:30px;
border:none;
background:#F0F0F8;
cursor:pointer;
font-weight:500;
transition:0.3s;
}

.portfolio_filters button:hover{
background:#e6e6f3;
}

.portfolio_filters .active{
background:#5B2D8E;
color:#fff;
}


/* GRID SPACING */

.portfolio_grid{
padding:90px 0;
background:#F0F0F8;
}

.portfolio_grid .row{
row-gap:35px;
}


/* CARD */

.portfolio_card{
background:#fff;
border-radius:16px;
overflow:hidden;
box-shadow:0 12px 30px rgba(0,0,0,.06);
transition:all .35s ease;
height:100%;
display:flex;
flex-direction:column;
}

.portfolio_card:hover{
transform:translateY(-10px);
box-shadow:0 25px 60px rgba(0,0,0,.12);
}


/* IMAGE */

.portfolio_image{
overflow:hidden;
}

.portfolio_image img{
width:100%;
height:220px;
object-fit:cover;
transition:0.5s;
}

.portfolio_card:hover .portfolio_image img{
transform:scale(1.08);
}


/* CONTENT */

.portfolio_content{
padding:28px;
flex-grow:1;
display:flex;
flex-direction:column;
}


/* TAGS */

.tag{
display:inline-block;
padding:6px 12px;
border-radius:6px;
font-size:12px;
margin-right:6px;
margin-bottom:10px;
background:#F0F0F8;
color:#1F2937;
}


/* TITLE */

.portfolio_content h3{
font-size:18px;
font-weight:700;
margin:10px 0;
color:#1F2937;
}


/* RESULT */

.result{
font-weight:600;
color:#2563EB;
margin-bottom:20px;
}


/* BUTTON */

.case_btn{
margin-top:auto;
color:#5B2D8E;
font-weight:600;
text-decoration:none;
transition:0.3s;
}

.case_btn:hover{
color:#7C3AED;
}


/* CTA */

.portfolio_cta{
background:#5B2D8E;
color:#fff;
padding:100px 0;
text-align:center;
}

.cta_btn{
background:#00D4AA;
color:#fff;
padding:14px 30px;
border-radius:30px;
display:inline-block;
margin-top:20px;
text-decoration:none;
font-weight:600;
transition:0.3s;
}

.cta_btn:hover{
background:#00b895;
}


.resources_section{

padding:100px 0;

background:#F0F0F8;

}

.resources_heading h2{

font-size:40px;

font-weight:700;

color:#1F2937;

margin-bottom:15px;

}

.resources_heading p{

max-width:700px;

margin:auto;

color:#6B7280;

margin-bottom:70px;

}


/* GRID GAP */

.resources_section .row{

row-gap:35px;

}


/* CARD */

.resource_card{

background:#fff;

border-radius:16px;

padding:35px;

height:100%;

box-shadow:0 15px 40px rgba(0,0,0,.05);

transition:.35s;

display:flex;

flex-direction:column;

}

.resource_card:hover{

transform:translateY(-8px);

box-shadow:0 25px 60px rgba(0,0,0,.12);

}


/* ICON */

.resource_icon{

width:60px;

height:60px;

background:linear-gradient(135deg,#5B2D8E,#7C3AED);

color:#fff;

display:flex;

align-items:center;

justify-content:center;

border-radius:14px;

font-size:22px;

margin-bottom:20px;

}


/* TITLE */

.resource_card h3{

font-size:20px;

font-weight:700;

color:#1F2937;

margin-bottom:12px;

}


/* TEXT */

.resource_card p{

font-size:14px;

color:#6B7280;

line-height:1.6;

margin-bottom:25px;

}


/* BUTTON */

.resource_btn{

margin-top:auto;

display:inline-block;

background:#00D4AA;

color:#fff;

padding:12px 22px;

border-radius:30px;

text-decoration:none;

font-weight:600;

transition:.3s;

}

.resource_btn:hover{

background:#00bfa0;

}


/* =========================== */
.blog_cards_section{
padding:100px 0;
background:#f8fafc;
}

.blog_cards_grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:35px;
}


/* CARD */

.blog_card{
background:#fff;
border-radius:16px;
overflow:hidden;
box-shadow:0 10px 35px rgba(0,0,0,0.06);
transition:all .35s ease;
}

.blog_card:hover{
transform:translateY(-10px);
box-shadow:0 25px 70px rgba(0,0,0,0.15);
}


/* IMAGE */

.blog_image{
position:relative;
overflow:hidden;
}

.blog_image img{
width:100%;
height:230px;
object-fit:cover;
transition:.4s;
}

.blog_card:hover img{
transform:scale(1.08);
}


/* CATEGORY */

.blog_category{
position:absolute;
top:18px;
left:18px;
background:#5B2D8E;
color:#fff;
font-size:12px;
padding:6px 14px;
border-radius:30px;
}


/* CONTENT */

.blog_content{
padding:26px;
}

.blog_date{
font-size:13px;
color:#8b8b95;
margin-bottom:10px;
}

.blog_content h3{
font-size:20px;
margin-bottom:12px;
}

.blog_content h3 a{
text-decoration:none;
color:#111;
}

.blog_content p{
font-size:14px;
color:#666;
margin-bottom:20px;
line-height:1.6;
}


/* READ MORE */

.blog_read{
font-weight:600;
color:#5B2D8E;
text-decoration:none;
}

.blog_read:hover{
color:#7c3aed;
}

@media (max-width:992px){

.blog_cards_grid{
grid-template-columns:1fr 1fr;
}

}

@media (max-width:600px){

.blog_cards_grid{
grid-template-columns:1fr;
}

.blog_hero h1{
font-size:34px;
}

}


/* ============================ */

.service-capabilities{
background:#f9fafc;
}

.capabilities-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:30px;
margin-top:50px;
}

.cap-card{
background:#fff;
padding:30px;
border-radius:12px;
box-shadow:0 10px 30px rgba(0,0,0,0.06);
transition:.3s;
}

.cap-card:hover{
transform:translateY(-8px);
box-shadow:0 25px 60px rgba(0,0,0,0.15);
}

.cap-card h3{
margin:10px 0;
font-size:20px;
}



.tech-stack{
background:#f9fafc;
padding:100px 0;
}

.tech-stack .section-header{
margin-bottom:60px;
}

.tech-stack h2{
font-size:40px;
font-weight:700;
margin-bottom:10px;
}

.tech-stack p{
color:#6b7280;
font-size:16px;
}


/* GRID */

.tech-grid{
display:grid;
grid-template-columns:repeat(6,1fr);
gap:30px;
justify-content:center;
align-items:center;
}


/* CARD */

.tech-item{
background:#fff;
padding:30px 20px;
border-radius:14px;
text-align:center;
box-shadow:0 8px 25px rgba(0,0,0,0.05);
transition:all .3s ease;
border:1px solid #f1f1f1;
}

.tech-item:hover{
transform:translateY(-8px);
box-shadow:0 20px 50px rgba(0,0,0,0.15);
}


/* IMAGE */

.tech-item img{
height:50px;
width:auto;
margin-bottom:12px;
transition:.3s;
}

.tech-item:hover img{
transform:scale(1.1);
}


/* TEXT */

.tech-item span{
display:block;
font-weight:600;
font-size:14px;
color:#333;
}


/* RESPONSIVE */

@media (max-width:1200px){

.tech-grid{
grid-template-columns:repeat(4,1fr);
}

}

@media (max-width:768px){

.tech-grid{
grid-template-columns:repeat(2,1fr);
}

}

@media (max-width:480px){

.tech-grid{
grid-template-columns:1fr;
}

}


.service-process{
background:#f8f9fc;
padding:100px 0;
position:relative;
}

.service-process .section-header{
margin-bottom:60px;
}

.service-process .section-header h2{
font-size:38px;
font-weight:700;
margin-bottom:10px;
}

.service-process .section-header p{
color:#6b7280;
font-size:16px;
}


/* GRID */

.process-steps{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:30px;
position:relative;
}


/* CARD */

.process-step{
background:#fff;
padding:35px 30px;
border-radius:14px;
text-align:center;
box-shadow:0 10px 30px rgba(0,0,0,0.06);
transition:all .35s ease;
border-top:4px solid #5B2D8E;
position:relative;
}

.process-step:hover{
transform:translateY(-10px);
box-shadow:0 25px 60px rgba(0,0,0,0.15);
}


/* STEP NUMBER */

.process-step span{
display:inline-flex;
align-items:center;
justify-content:center;
width:55px;
height:55px;
border-radius:50%;
background:#5B2D8E;
color:#fff;
font-size:20px;
font-weight:700;
margin-bottom:15px;
}


/* TITLE */

.process-step h3{
font-size:20px;
margin-bottom:10px;
font-weight:600;
}


/* TEXT */

.process-step p{
font-size:14px;
color:#6b7280;
line-height:1.6;
}


/* HOVER EFFECT */

.process-step::after{
content:"";
position:absolute;
bottom:0;
left:0;
height:3px;
width:0%;
background:#00D4AA;
transition:.4s;
}

.process-step:hover::after{
width:100%;
}


/* RESPONSIVE */

@media (max-width:1024px){

.process-steps{
grid-template-columns:repeat(2,1fr);
}

}

@media (max-width:600px){

.service-process{
padding:70px 0;
}

.process-steps{
grid-template-columns:1fr;
gap:20px;
}

.process-step{
padding:28px 22px;
}

.service-process .section-header h2{
font-size:28px;
}

}

.related-projects{
padding:100px 0;
background:#f9fafc;
}

.related-projects h2{
font-size:38px;
font-weight:700;
margin-bottom:60px;
}


/* GRID */

.projects-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:35px;
}


/* CARD */

.project-card{
background:#fff;
border-radius:14px;
overflow:hidden;
box-shadow:0 10px 30px rgba(0,0,0,0.06);
transition:all .35s ease;
}

.project-card:hover{
transform:translateY(-10px);
box-shadow:0 25px 60px rgba(0,0,0,0.15);
}


/* IMAGE */

.project-card img{
width:100%;
height:220px;
object-fit:cover;
transition:.4s;
}

.project-card:hover img{
transform:scale(1.07);
}


/* CONTENT */

.project-card h3{
font-size:20px;
padding:20px 20px 5px;
font-weight:600;
}

.project-card p{
font-size:14px;
color:#6b7280;
padding:0 20px 20px;
line-height:1.6;
}


/* METRIC BADGE */

.project-card p::before{
content:"✔ ";
color:#00D4AA;
font-weight:bold;
}


/* RESPONSIVE */

@media (max-width:1024px){

.projects-grid{
grid-template-columns:repeat(2,1fr);
}

}

@media (max-width:600px){

.related-projects{
padding:70px 0;
}

.projects-grid{
grid-template-columns:1fr;
gap:25px;
}

.related-projects h2{
font-size:28px;
}

}


.service-faq{
padding:100px 0;
background:#f7f8fc;
}

.faq-heading h2{
font-size:36px;
font-weight:700;
margin-bottom:10px;
}

.faq-heading p{
color:#6b7280;
margin-bottom:50px;
}

.faq-wrapper{
max-width:800px;
margin:auto;
}

.faq-item{
background:#fff;
border-radius:10px;
margin-bottom:15px;
box-shadow:0 8px 20px rgba(0,0,0,0.06);
overflow:hidden;
transition:0.3s;
}

.faq-question{
display:flex;
justify-content:space-between;
align-items:center;
padding:20px 25px;
cursor:pointer;
font-weight:600;
font-size:18px;
}

.faq-question:hover{
color:#6c2bd9;
}

.faq-icon{
font-size:22px;
font-weight:bold;
}

.faq-answer{
max-height:0;
overflow:hidden;
transition:max-height 0.3s ease;
padding:0 25px;
}

.faq-answer p{
padding-bottom:20px;
color:#555;
line-height:1.6;
}


.service-cta{
background:linear-gradient(135deg,#5B2D8E,#1A1A2E);
padding:110px 0;
text-align:center;
color:#fff;
position:relative;
overflow:hidden;
}


/* TITLE */

.service-cta h2{
font-size:40px;
font-weight:700;
margin-bottom:15px;
}


/* TEXT */

.service-cta p{
font-size:16px;
opacity:.9;
margin-bottom:30px;
}


/* BUTTON WRAPPER */

.service-cta .theme_btn{
display:inline-block;
padding:14px 32px;
border-radius:30px;
font-weight:600;
text-decoration:none;
margin:10px;
transition:.3s;
}


/* PRIMARY BUTTON */

.service-cta .theme_btn{
background:#00D4AA;
color:#fff;
box-shadow:0 10px 25px rgba(0,0,0,.2);
}

.service-cta .theme_btn:hover{
transform:translateY(-3px);
box-shadow:0 15px 35px rgba(0,0,0,.3);
}


/* OUTLINE BUTTON */

.service-cta .outline_btn{
background:transparent;
border:2px solid #fff;
color:#fff;
}

.service-cta .outline_btn:hover{
background:#fff;
color:#5B2D8E;
}


/* PHONE TEXT */

.contact-line{
margin-top:20px;
font-size:14px;
opacity:.85;
}


/* BACKGROUND GLOW EFFECT */

.service-cta::before{
content:"";
position:absolute;
width:500px;
height:500px;
background:#00D4AA;
filter:blur(180px);
opacity:.25;
top:-150px;
left:-150px;
}


/* RESPONSIVE */

@media (max-width:768px){

.service-cta{
padding:80px 20px;
}

.service-cta h2{
font-size:30px;
}

.service-cta .theme_btn{
display:block;
margin:12px auto;
width:220px;
}

}


.legal-page{
padding:100px 0;
background:#f9fafc;
}

.legal-page h1{
font-size:42px;
margin-bottom:20px;
}

.legal-page h3{
margin-top:30px;
font-size:22px;
}

.legal-page p{
line-height:1.7;
color:#555;
margin-bottom:15px;
}

.legal-page ul{
margin:15px 0 20px 20px;
}

.legal-page li{
margin-bottom:8px;
}