/*--------------------------------------------------------------------- File Name: style.css ---------------------------------------------------------------------*/


/*--------------------------------------------------------------------- import Fonts ---------------------------------------------------------------------*/

@import url('https://fonts.googleapis.com/css?family=Raleway:300,400,500,600,700');



/*--------------------------------------------------------------------- import Files ---------------------------------------------------------------------*/

@import url(animate.min.css);
@import url(normalize.css);
@import url(icomoon.css);
@import url(font-awesome.min.css);
@import url(meanmenu.css);
@import url(owl.carousel.min.css);
@import url(swiper.min.css);
@import url(slick.css);
@import url(jquery.fancybox.min.css);
@import url(jquery-ui.css);
@import url(nice-select.css);

/*--------------------------------------------------------------------- Header Styles ---------------------------------------------------------------------*/


.header-container {
    width: calc(100% - 224px);  /* Normal state with margins */
    height: 72px;
    background: #FFFFFF;
    border: 1px solid #E3E1E1;
    border-radius: 48px;
    box-shadow: 0px 8px 18px rgba(0, 0, 0, 0.04);
    padding: 16px;
    position: fixed;
    top: 24px;
    left: 112px;
    right: 112px;
    z-index: 1000;
    transition: all 0.3s ease;
}

/* Sticky state - full width with padding */
.header-container.sticky {
    top: 0;
        left: 0;
        right: 0;
        width: 100%;
    border-radius: 0;
    width: 100%;
    margin: 0;
    padding: 16px 148px;
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(227, 225, 225, 0.5);
    box-shadow: 0px 8px 18px rgba(0, 0, 0, 0.04);
}

.header-content {
    width: 100%;
    height: 40px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.logo-section {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
}

.logo-icon {
    width: 56px;
    height: 56px;
    color: #171819;
}

.logo-text {
    color: #171819;
    font-size: 14px;
    line-height: 14px;
}

.nav-section {
    display: flex;
    align-items: center;
    gap: 224px;
}

.nav-links {
    display: flex;
    align-items: center;
    gap: 40px;
}

.nav-link {
    color: #616767;
    font-size: 16px;
    line-height: 36px;
    text-decoration: none;
    transition: color 0.3s ease;
}

.nav-link:hover {
    color: #171819;
}

.cta-button {
    width: 165px;
    height: 40px;
    background: #171819;
    border-radius: 24px;
    color: #FFFFFF;
    font-size: 16px;
    line-height: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: all 0.3s ease;
    padding: 8px 16px;
}

.cta-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(23, 24, 25, 0.1);
}

/* Hamburger Menu Styles */
.menu-toggle {
    display: none;
    flex-direction: column;
    justify-content: space-between;
    width: 24px;
    height: 20px;
    cursor: pointer;
    z-index: 1001;
}

.menu-toggle span {
    display: block;
    width: 100%;
    height: 2px;
    background-color: #171819;
    transition: all 0.3s ease;
}

/* Mobile Responsive Styles */
@media screen and (max-width: 768px) {
    .header-container {
        width: 100%;
        left: 0;
        transform: none;
        border-radius: 48px;
        top: 0;
        padding: 12px 16px;
    }

    .header-container.sticky {
        padding: 12px 16px;
    }

    .menu-toggle {
        display: flex;
    }

    .nav-section {
        position: fixed;
        top: 0;
        right: -100%;
        width: 80%;
        height: 100vh;
        background: #FFFFFF;
        flex-direction: column;
        padding: 80px 40px;
        transition: right 0.3s ease;
        box-shadow: -2px 0 10px rgba(0, 0, 0, 0.1);
        gap: 40px;
    }

    .nav-section.active {
        right: 0;
    }

    .nav-links {
        flex-direction: column;
        gap: 24px;
        width: 100%;
    }

    .nav-link {
        font-size: 18px;
        width: 100%;
        text-align: left;
    }

    .cta-button {
        width: 100%;
        justify-content: center;
        margin-top: 24px;
    }

    /* Hamburger animation */
    .menu-toggle.active span:nth-child(1) {
        transform: translateY(9px) rotate(45deg);
    }

    .menu-toggle.active span:nth-child(2) {
        opacity: 0;
    }

    .menu-toggle.active span:nth-child(3) {
        transform: translateY(-9px) rotate(-45deg);
    }
}

@media screen and (max-width: 480px) {
    .header-container {
        width: calc(100% - 32px);
        left: 16px;
        right: 16px;
        border-radius: 48px;
        margin-top: 8px;
    }

    .header-container.sticky {
        padding: 16px;
        width: 100%;
        left: 0;
        right: 0;
        border-radius: 0;
        margin-top: 0;
    }

    .logo-icon {
        width: 48px;
        height: 48px;
    }

    .logo-text {
        font-size: 12px;
    }

    .nav-section {
        width: 100%;
        padding: 80px 24px;
    }
}

/*--------------------------------------------------------------------- skeleton ---------------------------------------------------------------------*/

* {
     box-sizing: border-box !important;
    
}

/* Base styles */
.main-layout {
    position: relative;
    background-color: white;
    min-height: 100vh;
    width: 100%;
    background: 
        linear-gradient(to right,
            transparent 112px,
            rgba(0, 0, 0, 0.08) 112px,
            rgba(0, 0, 0, 0.08) 113px,
            transparent 113px
        ),
        linear-gradient(to right,
            transparent calc(112px + (100% - 224px) * 0.25),
            rgba(0, 0, 0, 0.08) calc(112px + (100% - 224px) * 0.25),
            rgba(0, 0, 0, 0.08) calc(112px + (100% - 224px) * 0.25 + 1px),
            transparent calc(112px + (100% - 224px) * 0.25 + 1px)
        ),
        linear-gradient(to right,
            transparent calc(112px + (100% - 224px) * 0.5),
            rgba(0, 0, 0, 0.08) calc(112px + (100% - 224px) * 0.5),
            rgba(0, 0, 0, 0.08) calc(112px + (100% - 224px) * 0.5 + 1px),
            transparent calc(112px + (100% - 224px) * 0.5 + 1px)
        ),
        linear-gradient(to right,
            transparent calc(112px + (100% - 224px) * 0.75),
            rgba(0, 0, 0, 0.08) calc(112px + (100% - 224px) * 0.75),
            rgba(0, 0, 0, 0.08) calc(112px + (100% - 224px) * 0.75 + 1px),
            transparent calc(112px + (100% - 224px) * 0.75 + 1px)
        ),
        linear-gradient(to right,
            transparent calc(100% - 112px),
            rgba(0, 0, 0, 0.08) calc(100% - 112px),
            rgba(0, 0, 0, 0.08) calc(100% - 111px),
            transparent calc(100% - 111px)
        );
}

/* Mobile grid lines (480px and below) */
@media screen and (max-width: 480px) {
    .main-layout {
        background: 
            linear-gradient(to right,
                transparent 16px,
                rgba(0, 0, 0, 0.08) 16px,
                rgba(0, 0, 0, 0.08) 17px,
                transparent 17px
            ),
            linear-gradient(to right,
                transparent calc(16px + (100% - 32px) * 0.25),
                rgba(0, 0, 0, 0.08) calc(16px + (100% - 32px) * 0.25),
                rgba(0, 0, 0, 0.08) calc(17px + (100% - 32px) * 0.25),
                transparent calc(17px + (100% - 32px) * 0.25)
            ),
            linear-gradient(to right,
                transparent calc(16px + (100% - 32px) * 0.5),
                rgba(0, 0, 0, 0.08) calc(16px + (100% - 32px) * 0.5),
                rgba(0, 0, 0, 0.08) calc(17px + (100% - 32px) * 0.5),
                transparent calc(17px + (100% - 32px) * 0.5)
            ),
            linear-gradient(to right,
                transparent calc(16px + (100% - 32px) * 0.75),
                rgba(0, 0, 0, 0.08) calc(16px + (100% - 32px) * 0.75),
                rgba(0, 0, 0, 0.08) calc(17px + (100% - 32px) * 0.75),
                transparent calc(17px + (100% - 32px) * 0.75)
            ),
            linear-gradient(to right,
                transparent calc(100% - 16px),
                rgba(0, 0, 0, 0.08) calc(100% - 16px),
                rgba(0, 0, 0, 0.08) calc(100% - 15px),
                transparent calc(100% - 15px)
            );
    }
}

html {
     scroll-behavior: smooth;
     
}

a {
     color: #1f1f1f;
     text-decoration: none !important;
     outline: none !important;
     -webkit-transition: all .3s ease-in-out;
     -moz-transition: all .3s ease-in-out;
     -ms-transition: all .3s ease-in-out;
     -o-transition: all .3s ease-in-out;
     transition: all .3s ease-in-out;
}

h1,
h2,
h3,
h4,
h5,
h6 {
     letter-spacing: 0;
     font-weight: normal;
     position: relative;
     padding: 0;
     font-weight: normal;
     line-height: normal;
     color: #111111;
     margin: 0
}

h1 {
     font-size: 24px;
}

h2 {
     font-size: 22px;
}

h3 {
     font-size: 18px;
}

h4 {
     font-size: 16px
}

h5 {
     font-size: 14px
}

h6 {
     font-size: 13px
}

*,
*::after,
*::before {
     -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
     box-sizing: border-box;
}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
     color: #212121;
     text-decoration: none!important;
     opacity: 1
}

button:focus {
     outline: none;
}

ul,
li,
ol {
     margin: 0px;
     padding: 0px;
     list-style: none;
}

p {
     margin: 0px;
     font-weight: 400;
     font-size: 16px;
     line-height: 24px;
}

a {
     color: #222222;
     text-decoration: none;
     outline: none !important;
}

a,
.btn {
     text-decoration: none !important;
     outline: none !important;
     -webkit-transition: all .3s ease-in-out;
     -moz-transition: all .3s ease-in-out;
     -ms-transition: all .3s ease-in-out;
     -o-transition: all .3s ease-in-out;
     transition: all .3s ease-in-out;
}

img {
     height: auto;
}

 :focus {
     outline: 0;
}

.btn-custom {
     margin-top: 20px;
     background-color: transparent !important;
     border: 2px solid #ddd;
     padding: 12px 40px;
     font-size: 16px;
}

.lead {
     font-size: 18px;
     line-height: 30px;
     color: #767676;
     margin: 0;
     padding: 0;
}

.form-control:focus {
     border-color: #ffffff !important;
     box-shadow: 0 0 0 .2rem rgba(255, 255, 255, .25);
}

.navbar-form input {
     border: none !important;
}

.badge {
     font-weight: 500;
}

blockquote {
     margin: 20px 0 20px;
     padding: 30px;
}

button {
     border: 0;
     margin: 0;
     padding: 0;
     cursor: pointer;
}

.full {
     float: left;
     width: 100%;
}

.full {
     width: 100%;
     float: left;
     margin: 0;
     padding: 0;
}

.titlepage {
     padding-bottom: 60px;
}

.titlepage h2 {
     font-size: 45px;
     color: #2b2b2b;
     line-height: 60px;
     font-weight: bold;
     padding: 0;
     display: inline-block;
}

.d_flex {
     display: flex;
     Justify-content: space-between;
     flex-wrap: wrap;
}


.link_btn {
     display: flex;
     align-items: center;
}


.text_align_left {
     text-align: left;
}

.text_align_right {
     text-align: right;
}

.text_align_center {
     text-align: center;
}

.img_responsive {
     max-width: 100%;
}


/**-- heading section --**/


/*---------------------------- preloader area ----------------------------*/

.loader_bg {
     position: fixed;
     z-index: 9999999;
     background: #ffffff;
     width: 100%;
     height: 100%;
}

.loader1 {
     height: 100%;
     width: 100%;
     position: absolute;
     left: 0;
     top: 0;
     display: flex;
     justify-content: center;
     align-items: center;
}

.loader img {
     width: 280px;
}


/*-- header --*/

.header {
width: 100%;
height: 88px;
padding: 16px 112px 16px 112px;
z-index: 999;
}
.sticky {
     position: fixed;
     background-color: rgba(255, 255, 255, 0.85);
     box-shadow: 0 0 4px rgb(231, 229, 228);
     backdrop-filter: blur(12px);
     top: 0;
     width: 100%
   }
.content {
     padding: 16px;
   }
.header + .content {
     padding-top: 102px;
   }
.navigation.navbar {
     float: right;
     padding: 0;
}

.navigation.navbar-dark .navbar-nav .nav-link {
     padding: 15px 30px;
     color: #2b2b2b;
     font-size: 17px;
     line-height: 20px;
     font-weight: 400;
     border-radius: 30px;
     text-transform: uppercase;
}

.navigation.navbar-dark .navbar-nav .nav-link:focus,
.navigation.navbar-dark .navbar-nav .nav-link:hover {
     color: #fff;
     background: #03032D;
}

.navigation.navbar-dark .navbar-nav .active>.nav-link,
.navigation.navbar-dark .navbar-nav .nav-link.active,
.navigation.navbar-dark .navbar-nav .nav-link.show,
.navigation.navbar-dark .navbar-nav .show>.nav-link {
     color: #fff;
     background: #03032D;
}

.di_no {
     display: none;
}

ul.email {
     padding-top: 1px;
     display: flex;
     align-items: center;
     justify-content: flex-end;
     flex-wrap: wrap;
}

ul.email li {
     padding: 0px 30px;
}

ul.email li:nth-child(2) {
     padding-right: 0;
}

ul.email li a {
     font-size: 29px;
}

ul.email li i {
     color: #5e5d5e;
     font-size: 19px;
}


/** end header **/


/** banner section **/


.slider_main {
    padding-top: 0;
}

.relative {
     left: 0;
     right: 0;
     text-align: left;
     position: inherit;
}

.carousel-indicators {
     bottom: 0;
}

.carousel-control.right,
.carousel-control.left {
     background-image: none;
}

.carousel-item {
     min-height: 350px;
     height: 100%;
     width: 100%;
}

.board {
     max-width: 474px;
     float: right;
     text-align: left;
     width: 100%;
}

.relative h3 {

     animation: textclip 4s linear infinite;
     background-image: linear-gradient(
    -225deg,
    #00000b 0%,
    #16161b 29%,
    #03032D 67%,
    #03032D 100%
  );
  background-size: auto auto;
  background-clip: border-box;
  background-size: 200% auto;
  color: #fff;
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
     font-size: 50px;
     font-style: normal;
     font-weight: 800;
     line-height: 72px; /* 144% */
     padding-top: 112px;
     padding-bottom: 16px;
     background-clip: text;
     -webkit-background-clip: text;
     -webkit-text-fill-color: transparent;
}
@keyframes textclip {
     to {
       background-position: 200% center;
     }
   }

.carousel .icon-container {
     display: inline-block;
     font-size: 25px;
     line-height: 25px;
     padding: 1em;
     text-align: center;
     border-radius: 50%;
}

.slider_main .carousel-indicators {
     display: none;
}



.banner_img {
     padding-right: 0px;
}

.banner_img figure {
     margin: 0;
}

/** end banner section **/


/** our class **/

.class {
     padding: 140px 0px 0px 0px;

}

.class .titlepage p {
     font-size: 17px;
     padding-top: 15px;
     color: #2b2b2b;
}
.offer{
     padding: 56px 112px 80px 112px ;
     overflow: visible;
}
.offering{
     flex: 0 0 calc(33.3333% - 15px); /* Adjust the width as needed */
     max-width: calc(33.3333% - 15px); /* Adjust the width as needed */
   }
.offercontainer{
     display: flex;
     flex-direction: row;
     align-items: stretch;
     justify-content: space-evenly;
     overflow: visible;
     position: relative; 
}
.offercard{
     height: 380px;
     padding: 32px 24px 24px 24px;
     background-size: 400% 400%;
     border-radius: 32px;
     border: 1px;
     background: #F5F5F5 !important;
     box-shadow: none !important;  /* explicitly remove shadow */
     display: flex;
     flex-direction: column;
     align-items: stretch;
     overflow: hidden;
     position: relative; 
}
.offercard .serviceicon{
     height: 48px;
     width: 48px;
     margin-bottom: 24px;
}
.offercard .cardline{
     width: 56px;
     padding-bottom: 16px;
}
.offercard h3{
     font-size:18px;
     font-weight: 600;
     padding-bottom: 16px;
}
.offercard p{
     font-size:16px;
     color: #6A6F6F;

}
.infocards{
     display: flex;
     flex-direction: row;
     align-items: stretch;
     justify-content: space-between;
     overflow: hidden;
     position: relative;    
}

.info h2{
text-align: left;
padding-bottom: 24px;
}


.aboutme {
    
     border-radius: 32px;
     justify-content: center;
     padding: 48px 80px 48px 80px;
     background: -moz-linear-gradient(45deg, #000003 0%, #000008 29%, #000003 66%, #000003 100%);
     background: -webkit-linear-gradient(45deg, hwb(240 0% 97%) 0%,rgb(1, 28, 35) 29%,rgb(2, 32, 39) 66%,#000003 100%);
     background: linear-gradient(45deg, #000003 0%,#000003 29%,#000003 66%,#000003 100%);
     background-size: 400% 400%;
     -webkit-animation: Gradient 10s ease infinite;
      -moz-animation: Gradient 10s ease infinite;
      animation: Gradient 10s ease infinite;
      /*min-height: calc(100vh - 2rem);*/
      display: flex;
      flex-direction: column;
      align-items: stretch;
      justify-content: space-evenly;
      overflow: hidden;
      position: relative; 
 }
 .aboutme::before, 
 .aboutme::after {
      content: "";
      width: 70vmax;
      height: 70vmax;
      position: absolute;
      background: rgba(255, 255, 255, 0.07);
      left: -20vmin;
      top: -20vmin;
      animation: morph 10s linear infinite alternate, spin 10s linear infinite;
      z-index: 1;
      will-change: border-radius, transform;
      transform-origin: 55% 55%;
    
 }
      
 body::after {
     width: 70vmin;
     height: 70vmin;
     left: auto;
     right: -10vmin;
     top: auto;
     bottom: 0;
     animation: morph 10s linear infinite alternate, spin 26s linear infinite reverse;
     transform-origin: 20% 20%; 
 }
 
 @-webkit-keyframes Gradient {
      0% {
           background-position: 0 50%
      }
      50% {
           background-position: 100% 50%
      }
      100% {
           background-position: 0 50%
      }
 }
 
 @-moz-keyframes Gradient {
      0% {
           background-position: 0 50%
      }
      50% {
           background-position: 100% 50%
      }
      100% {
           background-position: 0 50%
      }
 }
 
 @keyframes Gradient {
      0% {
           background-position: 0 50%
      }
      50% {
           background-position: 100% 50%
      }
      100% {
           background-position: 0 50%
      }
 }
 
 @keyframes morph {
   0% {
     border-radius: 40% 60% 60% 40% / 70% 30% 70% 30%; }
   100% {
     border-radius: 40% 60%; } 
 }
 
 @keyframes spin {
   to {
     transform: rotate(1turn); 
   } 
 }
      .st0{display:none;}
      .st1{display:inline;}
      .st2{opacity:0.29;}
      .st3{fill:#FFFFFF;}
      .st4{clip-path:url(#SVGID_2_);fill:#FFFFFF;}
      .st5{clip-path:url(#SVGID_4_);}
      .st6{clip-path:url(#SVGID_6_);}
      .st7{clip-path:url(#SVGID_8_);}
      .st8{clip-path:url(#SVGID_10_);}
      .st9{fill:none;}
      .st10{clip-path:url(#SVGID_12_);}
      .st11{opacity:0.7;}
      .st12{clip-path:url(#SVGID_14_);}
      .st13{opacity:0.2;}
      .st14{clip-path:url(#SVGID_16_);}
      .st15{opacity:0.3;fill:#FFFFFF;enable-background:new;
     }

.blue {
     background: #3e0bce;
}

.margi_bottom {
     margin-bottom: 30px;
}


/** end our class **/


/** about section **/
.casestudies{
     padding-bottom:80px;

}
.about {
     background-size: cover;
     background-position: center center;
     background-repeat: no-repeat;
     background-attachment: fixed;
     padding-left: 112px;
     padding-right: 112px;
     padding-top: 80px;
}
.about .container-fluid{
     padding: 80px 0px 80px 0px;
     border-radius: 32px;
     border: 2px solid rgba(251, 251, 251, 0.5);
     background: #F5F5F5;
}
.about .titlepage {
     padding-bottom: 0;
     max-width: 554px;
     float: right;
}

.about .titlepage h2 {
     padding-bottom: 30px;
     color: #080808;
}

.about .titlepage p {
     font-weight: 400;
     font-size: 17px;
     line-height: 30px;
     color: #201f1f;
     padding-bottom: 32px;
}

.about_img figure {
     margin: 0;
}


.about_img figure img:hover {
     transform: scale(1.2);
}
.about_img figure img {
      transition: transform .2s;
     width: 60%;
     margin-bottom: 32px;
}

.about .read_more {
     color: #03032D;
     font-size: 18px;
     font-weight: 500;
     
}

.about .read_more:hover {
     color: #03032D;
}


/** end about section **/


.full_bg{
    padding-left: 112px;
    padding-right: 112px;
    width: 100%;
    align-items: center;
    padding-top: 140px;
}
.relative p{
     color: var(--Black-text-m, rgba(0, 0, 0, 0.64));
     font-feature-settings: 'clig' off, 'liga' off;
     font-size: 20px;
     font-style: normal;
     font-weight: 400;
     line-height: 40px; /* 200% */
     letter-spacing: -0.5px;
}

.class{
     padding:80px 112px 24px 112px;
}

/** testimonial **/

.testimonial {
     
     background: url(../images/testbg.png);
     padding: 80px 112px 24px 112px ;
     margin-top: 56px;
}

.testimonial .titlepage h2 {
     color: #161616;
}

.carousel-indicators {
     display: none;
}

#myCarousel a.carousel-control-next,
#myCarousel a.carousel-control-prev {
     background: #000001;
     width: 64px;
     height: 64px;
     top: 112%;
     opacity: 1;
     font-size: 32px;
     border-radius: 40px;
     color: #fff;
}

#myCarousel a.carousel-control-prev {
     left: 44%;
}

#myCarousel a.carousel-control-next {
     right: 44%;
}

#myCarousel a.carousel-control-next:focus,
#myCarousel a.carousel-control-next:hover,
#myCarousel a.carousel-control-prev:focus,
#myCarousel a.carousel-control-prev:hover {
     color: #fff;
     background: #000006;
     opacity: 1;
}

.relative {
     position: inherit;
     bottom: 0;
     padding: 0;
}

.testimonial .carousel-item {
     padding-top: 53px;
}
.testimonial h4 {
     font-size: 18px;
     color: #000007;
     line-height: 25px;
     margin-top: 38px;
}
.test_box {
     background: #000002;
     border-radius: 20px;
     padding: 0 20px 40px 20px;
}

.test_box span {
     width: 100px;
     box-shadow: 0 0 38px rgba(14, 14, 13, 0.10);
     height: 100px;
     background: #fff;
     border-radius: 50px;
     margin: 0 auto;
     display: flex;
     align-items: center;
     margin-top: -49px;
     display: inline-grid;
}

.test_box span img {
     width: 38px;
     height: 52px;
     padding: 0;
}

.test_box h4 {
     color: #fff;
     font-size: 24px;
     line-height: 25px;
     font-weight: bold;
     margin-top: 38px;
}

.test_box img {
     width: 20px;
     margin: 0 auto;
     padding: 15px 0;
}

.test_box p {
     color: #fff;
     font-size: 17px;
}

.white_bg {
     background: #fff;
     padding: 0 40px 60px 40px;
     margin: 0 20px 32px;
     box-shadow: 0 0 38px rgba(14, 14, 13, 0.27);
     height: 426px;
}

.white_bg span {
     width: 120px;
     height: 120px;
     border-radius: 60px;
}

.white_bg span img {
     width: 45px;
     height: 52px;
     padding: 0;
}

.white_bg h4 {
     font-size: 25px;
     color: #2b2b2b;
}

.white_bg img {
     width: 41px;
     margin: 0 auto;
     padding: 25px 0;
}

.white_bg p {
     color: #2b2b2b;
}


/** end testimonial **/


/** footer **/

.footer {
     padding-top: 80px;
     text-align: center;
     align-items: center;
}

/* end newsletter*/

ul.fullink li {
     float: left;
     padding: 0px 27px;
}

ul.fullink li a {
     color: #2b2b2b;
     font-size: 17px;
}

ul.fullink li a:hover {
     color: #5326d3;
}

ul.fullink li:nth-child(1) {
     padding-left: 0;
}

ul.fullink li:nth-child(5) {
     padding-right: 0;
}

ul.social_icon {
     float: center;
     padding-top: 0px;
}

ul.social_icon li {
     display: inline-block;
     margin: 0 1px;
}

ul.social_icon li a {
     background: #535253;
     width: 48px;
     height: 48px;
     display: flex;
     align-items: center;
     justify-content: center;
     color: #fff;
     border-radius: 30px;
}

ul.social_icon li a i {
     font-size: 19px;
     transition: ease-in all 0.5s;
}

ul.social_icon li a:hover {
     color: #fff;
     background: #15024b;
     transition: ease-in all 0.5s;
}

.copyright {
     margin-top: 112px;
     padding-bottom: 112px;
     background: rgba(245, 245, 245, 0.5);
}

.copyright p {
     color: #171515;
     font-size: 20px;
     line-height: 22px;
     text-align: center;
     padding-top: 80px; 
   font-weight: normal;
}




/**  inner page css **/

.inner_page .header {
     box-shadow: 0 0 10px rgb(5, 118, 188);
     margin-bottom: 10px;
     position: inherit;
}

.inner_page .about {
     margin-top: 80px;
}

.inner_page .class {
     padding-top: 80px;
     padding-bottom: 0;
}


/** contact **/


.custom-select {
     padding: 0px 10px;
     color: #501f14;
     font-size: 17px;
     height: 50px;
     border: inherit;
     box-shadow: 0px 0px 2px 0 #03032D;
     margin-bottom: 20px;
     border-radius: 11px;
}

.custom-select:focus {
     border: inherit;
     box-shadow: 0px 0px 2px 0 #03032D;
}

.main_form .textarea {
     margin-bottom: 20px;
     width: 100%;
     background: #fff;
     color: #501f14;
     font-size: 17px;
     font-weight: normal;
     padding: 12px 15px 10px 15px;
     height: 155px;
     border-radius: 11px;
     border: inherit;
     box-shadow: 0px 0px 2px 0#03032D;
}

.main_form .send_btn {
     font-size: 18px;
     transition: ease-in all 0.5s;
     background-color: #03032D;
     text-transform: uppercase;
     color: #fff;
     max-width: 193px;
     width: 100%;
     display: block;
     margin-top: 10px !important;
     font-weight: 600;
     height: 53px;
     border-radius: 10px;
     padding: 13px 0;
}

.main_form .send_btn:hover {
     background: #3e0bce;
     color: #fff;
     transition: ease-in all 0.5s;
}

#request *::placeholder {
     color: #501f14;
     opacity: 1;
}
.problemstatement{
display: flex;
width: 1440px;
padding: 64px 148px;
     flex-direction: column;
align-items: flex-start;
gap: 24px;
}

.problemstatement h3{
     font-size: 24px;
     font-weight:700;
     padding-bottom: 24px;
}
.problemstatement p{
font-size: 18px;
font-style: normal;
font-weight: 400;
line-height: 32px; /* 177.778% */
letter-spacing: 0.5px;
}

/** end contact **/
.reveal{
     position: relative;
     transform: translateY(150px);
     opacity: 0;
     transition: 1s all ease;
}
.reveal.active{
     transform: translateY(0);
     opacity: 1;
   }

   .loader {
     width: 48px;
     height: 48px;
     display: block;
     margin:15px auto;
     position: relative;
     color: #FFF;
     box-sizing: border-box;
     animation: rotation 1s linear infinite;
    }
    .loader::after,
    .loader::before {
     content: ''; 
     box-sizing: border-box;
     position: absolute;
     width: 24px;
     height: 24px;
     top: 50%;
     left: 50%;
     transform: scale(0.5) translate(0, 0);
     background-color: #5052db;
     border-radius: 50%;
     animation: animloader 1s infinite ease-in-out;
    }
    .loader::before {
     background-color: #03032D;
     transform: scale(0.5) translate(-48px, -48px);
    }
    
    @keyframes rotation {
     0% {
     transform: rotate(0deg);
     }
     100% {
     transform: rotate(360deg);
     }
    } 
    @keyframes animloader {
     50% {
     transform: scale(1) translate(-50%, -50%);
    }
    }

    .aboutme h2{
    padding-bottom: 24px;
    color: #f9f8f8;
    font-size: 45px;
    line-height: 60px;
    font-weight: bold;
    justify-content: center;
    text-align:left;
   
    }
    .aboutme h3{
     color: #f9f8f8;
     font-size: 32px;
     line-height: 60px;
     font-weight: bold;
     justify-content: center;
     text-align:left;
    
     }
    .aboutme p {
     font-weight: 400;
     font-size: 16px;
     line-height: 30px;
     color: #f6f3f3;
     padding-bottom: 32px;
     justify-content: center;
     text-align: left;
     font-weight: 300px;;
 }
 .navbar { z-index: 1;}
 .navbar-nav {align-items: center;}

 *{
     margin: 0;
     padding: 0;
     box-sizing: border-box;
 }
 body{
     font-size: 16px;
     font-weight: 300;
     line-height: 23px;
     font-family: 'Poppins', sans-serif;
 }
 ul{
     list-style-type:none;
 }
 a,a:hover{
     text-decoration: none;
 }

 body{
     font-size: 14px;
     font-family: 'Raleway', sans-serif;
     line-height: 1.80857;
     font-weight: normal;

     .testimonial{
          
         .row{
             .tabs{
                 all: unset;
                 margin-right: 50px;
                 display: flex;
                 flex-direction: column;
                 li{

                     all:unset;
                     display: block;
                     position: relative;
                     &.active{
                         &::before{
                             position: absolute;
                             content: "";
                             width: 50px;
                             height: 50px;
                             background-color: #03032D;
                             border-radius: 50%;
                         }
                     }
                     &.active{
                         &::after{
                             position: absolute;
                             content: "";
                             width: 30px;
                             height: 30px;
                             background-color: #000000;
                             border-radius: 50%;
                         }
                     }
                     &:nth-child(1){
                        align-self: flex-end;
                        &::before{
                             left: 64%;
                             bottom: -50px;
                        }
                        &::after{
                             left: 97%;
                             bottom: -81px;                           
                        }
                        figure{
                             img{
                                 margin-left:auto;
                             }
                        }
                     }
                     &:nth-child(2){
                         align-self: flex-start;
                         &::before{
                             right: -65px;
                             top: 50%;                    
                         }
                         &::after{
                             bottom: 101px;
                             border-radius: 50%;
                             right: -120px;
                         }
                         figure{
                             img{
                                 margin-right:auto;
                                 max-width: 300px;
                                 width: 100%;
                                 margin-top: -50px;
                             }
                         }
                     }
                     &:nth-child(3){
                         align-self: flex-end;
                         &::before{
                             right: -10px;
                             top: -66%;                  
                         }
                         &::after{
                             top: -130px;
                             border-radius: 50%;
                             right: -46px;
                         }
                         figure{
                             img{
                                 margin-left:auto;
                                 margin-top: -50px;
                             }
                         }
                         &:focus{
                             border: 10px solid red;
                         }
                     }
                     figure{
                         position: relative;
                         img{
                             display: block;
                         }
                         &::after{
                             content: "";
                             position: absolute;
                             top:0;
                             z-index: -1;
                             width: 100%;
                             height: 100%;
                             border: 4px solid #000000;
                             border-radius: 50%;
                             -webkit-transform: scale(1);
                             -ms-transform: scale(1);
                             transform: scale(1);
                             -webkit-transition: 0.3s;
                             -o-transition: 0.3s;
                             transition: 0.3s;
                         }
                         &:hover{
                             &::after{
                                 -webkit-transform: scale(1.1);
                                 -ms-transform: scale(1.1);
                                 transform: scale(1.1);
                             }
                         }
                     }
                 }
                 &.carousel-indicators{
                     li.active{
                         figure{
                             &::after{
                                 -webkit-transform: scale(1.1);
                                 -ms-transform: scale(1.1);
                                 transform: scale(1.1);
                             }
                         }
                     }
                 }
             }
             .carousel{
                 > h3{
                     font-size: 20px;
                     line-height: 1.45;
                     color: rgba(0,0,0,.5);
                     font-weight: 600;
                     margin-bottom: 0;
                 }
                 h1{
                     font-size: 40px;
                     line-height: 1.225;
                     margin-top: 23px;
                     font-weight: 700;
                     margin-bottom: 0;
                 }
                 .carousel-indicators{
                     all: unset;
                     padding-top: 43px;
                     display: flex;
                     list-style: none;
                     li{
                         background: #7a7777;
                         background-clip: padding-box;
                         height: 5px;
                         width: 40px;
                         border-radius: 78px;
                     }
                 }
                 .carousel-inner{
                    .carousel-item{
                         .quote-wrapper{
                             margin-top: 42px;
                             p{
                                 font-size: 18px;
                                 line-height: 1.72222;
                                 font-weight: 500;
                                 color: rgba(0,0,0,.7);
                             }
                             h3{
                                 color: #000;
                                 font-weight: 700;
                                 margin-top: 37px;
                                 font-size: 20px;
                                 line-height: 1.45;
                                 text-transform: uppercase;
                             }
                         }
                    }
                 }
             }
         }
     }
 }
 @media only screen and (max-width: 1200px) {
     body{
         .testimonial{
             .row{
                 .tabs{
                     margin-right: 25px;
                 }
             }
         }
     }
 }
 @media only screen and (max-width: 567px) {
     
 }
  
 /* CSS */
 .button-50 {
   appearance: button;
   background: #03032D;
   border-radius: 8px;
   box-shadow: #fff 4px 4px 0 0,#03032D 4px 4px 0 1px;
   box-sizing: border-box;
   color: #fff;
   cursor: pointer;
   display: inline-block;
   font-size: 14px;
   font-weight: 400;
   line-height: 20px;
   margin: 0 5px 10px 0;
   overflow: visible;
   padding: 12px 40px;
   text-align: center;
   text-transform: none;
   touch-action: manipulation;
   user-select: none;
   -webkit-user-select: none;
   vertical-align: middle;
   white-space: nowrap;
   transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
   position: relative;
   overflow: hidden;
 }
 
 .button-50:focus {
   text-decoration: none;
 }
 
 .button-50:hover {
   text-decoration: none;
   transform: translateY(-4px) scale(1.02);
   box-shadow: #fff 8px 8px 0 0,#03032D 8px 8px 0 2px;
   color: #FFFFFF;
   background: #03032D;
   letter-spacing: 0.5px;
 }
 
 .button-50:active {
   box-shadow: rgba(254, 254, 254, 100) 0 3px 5px inset;
   outline: 0;
   transform: translateY(1px) scale(0.98);
 }
 
 .button-50:not([disabled]):active {
   box-shadow: #fff 2px 2px 0 0, #03032D 2px 2px 0 1px;
   transform: translate(2px, 2px);
 }

 .button-50::before {
   content: '';
   position: absolute;
   top: 0;
   left: -100%;
   width: 100%;
   height: 100%;
   background: linear-gradient(
     120deg,
     transparent,
     rgba(255, 255, 255, 0.5),
     transparent
   );
   transition: 0.7s;
   transform: skewX(-15deg);
 }

 .button-50:hover::before {
   left: 150%;
   transition: 0.7s;
 }

 .cases h2{
     padding-bottom: 24px;
     font-size: 45px;
     line-height: 60px;
     font-weight: bold;
     justify-content: center;
     text-align:left;
     }

.cases h3{
          font-size:20px;
          font-weight: 600;
          padding-bottom: 16px;
     }
.cases p {
      font-weight: 400;
      font-size: 16px;
      line-height: 30px;
      padding-bottom: 32px;
      justify-content: center;
      text-align: left;
      font-weight: 300px;;
     }
.intro{
     background-color: #000000;
}
.problem{
     padding-top: 112px;
     padding-bottom:80px;

     margin-left: 112px;
     margin-right: 64px;
}
.statement{
     padding-top: 112px;
     padding-left: 200px;
     padding-right:200px ;
}
.problem p{
     color: #FFFFFF;
}
.intro h2{
     padding-bottom: 24px;
     font-size: 45px;
     line-height: 60px;
     font-weight: bold;
     justify-content: center;
     text-align:left;
     color: #FFFFFF;
}

.users{
     padding-bottom:  56px;;
     margin-left: 180px;
     margin-right: 180px;
     margin-right: 180px;


}
.designprocess{
     padding-bottom:  56px;;
     margin-left: 180px;
     margin-right: 180px;
}
.designprocess img{
     width: 100%;
}
.discovery{
     background-color: #F5F5F5;
     padding: 48px 180px 56px 180px;
     align-items: center;
     

}
.questions{
     display: flex;
}
.bullet{
     padding-right:16px;
}
.bullet img{
     width:24px;
     height:24px;

}
.usergroup{
          display: flex;
          flex-direction: row;
     align-items: stretch;
          justify-content: space-evenly;
          overflow: visible;
          position: relative; 
          padding-bottom: 64px;
     }
.usergroupcard{
          height: 380px;
          border-radius: 16px;
          padding: 32px 32px 32px 32px;
          background:white;
          background-size: 400% 400%;
          box-shadow: 0px 12px 19px 0px #0000000F;
          display: flex;
          flex-direction: column;
          align-items: stretch;
          overflow: visible;
          position: relative; 
          width: 800px;
          margin-right: 24px;
     }
.usergroupcard .serviceicon{
          height: 48px;
          width: 48px;
          margin-bottom: 24px;
     }
.usergroupcard .cardline{
          width: 56px;
          padding-bottom: 16px;
     }
.usergroupcard h3{
          font-size:18px;
          font-weight: 600;
          padding-bottom: 16px;
     }
.usergroupcard p{
          font-size:16px;
          color: #6A6F6F;
     }

/* Global Styles */
:root {
    --primary-bg: #FFFFFF;
    --secondary-bg: #F8F9FA;
    --text-color: #1A1A1A;
    --text-color-muted: rgba(26, 26, 26, 0.7);
    --accent-color: #0984E3;
    --card-bg: #FFFFFF;
    --border-color: #E9ECEF;
    --border-radius: 16px;
    --section-spacing: 80px;
    --shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Inter', sans-serif;
    line-height: 1.6;
    color: var(--text-color);
    background-color: var(--primary-bg);
}

.case-study-container {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0;
}

/* Hero Section */
.hero-section {
    width: 100%;
    height: 621.4px;
    background: #171819;
    margin-top: 72px;
    padding: 0;
     overflow: hidden;
}

.content-wrapper {
    max-width: 1440px;
    margin: 0 auto;
    padding: 152.7px 112px 152.7px 112px;
    display: flex;
    justify-content: space-between;
    gap: 105px;
}

.text-content {
    max-width: 602px;
}

.tag {
    margin-bottom: 48px;
}

.tag span {
    color: #B6F4F4;
    font-size: 32px;
    font-weight: 600;
    line-height: 48px;
}

.description h1 {
    color: #FFFFFF;
    font-size: 56px;
    font-weight: 700;
    line-height: 84px;
    margin-bottom: 24px;
}

.description p {
    color: #FFFFFF;
    font-size: 20px;
    line-height: 32px;
    opacity: 0.8;
}

.device-mockups {
     position: relative; 
    flex: 1;
    max-width: 726px;
}

.macbook-mockup {
    position: relative;
    width: 100%;
    height: 354.86px;
}

.macbook-mockup img {
    position: absolute;
    top: 0;
    left: 0;
}

.macbook-mockup .screen {
    top: 18.43px;
    left: 37.58px;
    width: 453.88px;
    height: 284.58px;
}

.ipad-mockup {
    position: absolute;
    top: 84.81px;
    right: 13.98px;
    width: 266.86px;
    height: 312.59px;
}

.ipad-mockup img {
    position: absolute;
    top: 0;
    left: 0;
}

.ipad-mockup .screen {
    top: 12.07px;
    left: 11.48px;
    width: 198.39px;
    height: 282.72px;
}

/* Responsive Styles */
@media screen and (max-width: 1440px) {
    .content-wrapper {
        padding: 80px 40px;
        gap: 60px;
    }

    .text-content {
        max-width: 500px;
    }

    .device-mockups {
        max-width: 600px;
    }
}

@media screen and (max-width: 1024px) {
    .content-wrapper {
        flex-direction: column;
        padding: 60px 24px;
        gap: 40px;
    }

    .text-content {
        max-width: 100%;
    }

    .device-mockups {
        max-width: 100%;
    }

    .macbook-mockup, .ipad-mockup {
        transform: scale(0.8);
        transform-origin: left top;
    }
}

@media screen and (max-width: 768px) {
    .hero-section {
        height: auto;
    }

    .tag span {
        font-size: 24px;
        line-height: 36px;
    }

    .description h1 {
        font-size: 40px;
        line-height: 60px;
    }

    .description p {
        font-size: 16px;
        line-height: 28px;
    }

    .macbook-mockup, .ipad-mockup {
        transform: scale(0.6);
    }
}

@media screen and (max-width: 480px) {
    .main-layout {
        position: relative;
        background-color: white;
        min-height: 100vh;
        width: 100%;
    }

    .content-wrapper {
        padding: 40px 16px;
    }

    .tag span {
        font-size: 20px;
        line-height: 30px;
    }

    .description h1 {
        font-size: 32px;
        line-height: 48px;
    }

    .macbook-mockup, .ipad-mockup {
        transform: scale(0.4);
    }
}

/* Navigation Bar Styles */
.frame-4704 {
    width: 1440px;
    height: 72px;
    background: #171819;
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1000;
    display: flex;
    align-items: center;
    padding: 16px 112px;
}

.frame-6388 {
    width: 1216px;
    height: 40px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.nav-button {
    height: 40px;
    padding: 0 16px;
    border: 1px solid #FFFFFF;
    border-radius: 24px;
    background: transparent;
    cursor: pointer;
    transition: all 0.3s ease;
}

.nav-button:hover {
    background: rgba(255, 255, 255, 0.1);
}

.button-content {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 0;
}

.button-content span {
    color: #FFFFFF;
    font-size: 16px;
    font-weight: 400;
}

.nav-buttons {
    display: flex;
    gap: 16px;
}

.icon {
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Navigation Mobile Responsive Styles */
@media screen and (max-width: 1440px) {
    .frame-4704 {
        width: 100%;
        padding: 16px;
    }
    
    .frame-6388 {
        width: 100%;
    }
}

@media screen and (max-width: 768px) {
    .frame-4704 {
        padding: 12px;
    }
    
    .nav-button span {
        font-size: 14px;
    }
    
    .icon {
        width: 20px;
        height: 20px;
    }
}

@media screen and (max-width: 480px) {
    .frame-4704 {
        padding: 8px;
    }
    
    .nav-buttons {
        gap: 8px;
    }
    
    .nav-button {
        padding: 0 12px;
    }
    
    .button-content {
        gap: 4px;
    }
    
    .nav-button span {
        font-size: 12px;
    }
}

/* Problem Statement Section */
.problem-statement {
    width: 100%;
    height: 384px;
    display: flex;
    justify-content: center;
    padding: 0;
}

.statement-wrapper {
    max-width: 1440px;
    width: 100%;
    padding: 64px 200px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.statement-wrapper h2 {
    font-size: 48px;
    font-weight: 700;
    line-height: 72px;
    color: rgba(0, 0, 0, 0.87);
    max-width: 446px;
}

.statement-wrapper p {
    font-size: 20px;
    line-height: 32px;
    color: rgba(0, 0, 0, 0.87);
    max-width: 1040px;
}

/* Problem Statement Responsive Styles */
@media screen and (max-width: 1440px) {
    .statement-wrapper {
        padding: 64px 100px;
    }
}

@media screen and (max-width: 1024px) {
    .problem-statement {
        height: auto;
    }

    .statement-wrapper {
        padding: 48px 60px;
    }

    .statement-wrapper h2 {
        font-size: 40px;
        line-height: 60px;
    }

    .statement-wrapper p {
        font-size: 18px;
        line-height: 30px;
    }
}

@media screen and (max-width: 768px) {
    .statement-wrapper {
        padding: 40px 24px;
    }

    .statement-wrapper h2 {
        font-size: 32px;
        line-height: 48px;
    }

    .statement-wrapper p {
        font-size: 16px;
        line-height: 28px;
    }
}

@media screen and (max-width: 480px) {
    .statement-wrapper {
        padding: 32px 16px;
    }

    .statement-wrapper h2 {
        font-size: 28px;
        line-height: 42px;
    }
}

/* Project Details Section */
.project-details {
    width: 100%;
    height: 423.64px;
    padding: 64px 0;
    display: flex;
    justify-content: center;
}

.details-wrapper {
    max-width: 1440px;
    width: 100%;
    padding: 0 200px;
}

.detail-cards {
    display: flex;
    gap: 40px;
}

.detail-card {
    flex: 1;
    padding: 24px;
    background: linear-gradient(180deg, #FAFAFD 0%, #ECEFF3 100%);
    border-radius: 24px;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.detail-card .tag {
    margin-bottom: 0;
}

.detail-card .tag span {
    display: inline-block;
    padding: 4px 16px;
    background: #76D3D5;
    border-radius: 16px;
    color: rgba(0, 0, 0, 0.87);
    font-size: 14px;
    line-height: 16px;
}

.detail-card h3 {
    font-size: 20px;
    font-weight: 600;
    color: rgba(0, 0, 0, 0.87);
    margin: 0;
}

.detail-card h2 {
    font-size: 48px;
    font-weight: 700;
    color: rgba(0, 0, 0, 0.87);
    margin: 0;
}

.tools-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
}

.tool {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.tool-icon {
    width: 64px;
    height: 64px;
    background: #F5F5F5;
    border: 4px solid #F5F5F5;
    border-radius: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.tool-icon img {
    width: 32px;
    height: 32px;
    object-fit: contain;
}

.tool span {
    color: rgba(0, 0, 0, 0.6);
    font-size: 16px;
    text-align: center;
}

/* Project Details Responsive Styles */
@media screen and (max-width: 1440px) {
    .details-wrapper {
        padding: 0 100px;
    }
}

@media screen and (max-width: 1024px) {
    .project-details {
        height: auto;
    }

    .details-wrapper {
        padding: 0 60px;
    }

    .detail-cards {
        flex-direction: column;
    }

    .detail-card h2 {
        font-size: 40px;
    }
}

@media screen and (max-width: 768px) {
    .details-wrapper {
        padding: 0 24px;
    }

    .detail-card {
        padding: 20px;
    }

    .tools-grid {
        gap: 16px;
    }

    .tool-icon {
        width: 48px;
        height: 48px;
    }

    .tool-icon img {
        width: 24px;
        height: 24px;
    }
}

@media screen and (max-width: 480px) {
    .details-wrapper {
        padding: 0 16px;
    }

    .detail-card h2 {
        font-size: 32px;
    }
}

/* User and Audience Section */
.user-audience {
    width: 100%;
    height: 564px;
    padding: 64px 200px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.user-audience h2 {
    font-size: 48px;
    font-weight: 700;
    line-height: 72px;
    color: rgba(0, 0, 0, 0.87);
    margin-bottom: 24px;
}

.user-cards {
    display: flex;
    gap: 40px;
    width: 100%;
    max-width: 1040px;
}

.user-card {
    flex: 1;
    padding: 32px;
    background: linear-gradient(180deg, #FAFAFD 0%, #ECEFF3 100%);
    border-radius: 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
}

.card-icon {
    width: 88px;
    height: 88px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.card-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.card-content {
    text-align: left;
    width: 100%;
}

.card-content h3 {
    font-size: 24px;
    font-weight: 600;
    color: rgba(0, 0, 0, 0.87);
    margin-bottom: 8px;
}

.card-content p {
    font-size: 16px;
    line-height: 28px;
    color: rgba(0, 0, 0, 0.6);
}

/* Responsive Styles for User and Audience Section */
@media screen and (max-width: 1440px) {
    .user-audience {
        padding: 64px 100px;
    }
}

@media screen and (max-width: 1024px) {
    .user-audience {
        height: auto;
        padding: 48px 60px;
    }

    .user-cards {
        flex-direction: column;
    }

    .user-card {
        max-width: 100%;
    }
}

@media screen and (max-width: 768px) {
    .user-audience {
        padding: 40px 24px;
    }

    .user-audience h2 {
        font-size: 32px;
        line-height: 48px;
    }
}

@media screen and (max-width: 480px) {
    .user-audience {
        padding: 32px 16px;
    }

    .user-card {
        padding: 24px;
    }

    .card-content h3 {
        font-size: 20px;
    }
}

/* Design Process Section */
.design-process {
    width: 100%;
    padding: 64px 200px;
    display: flex;
    flex-direction: column;
    align-items: center;
    background: #FFFFFF;
}

.design-process h2 {
    font-size: 48px;
    font-weight: 700;
    line-height: 72px;
    color: rgba(0, 0, 0, 0.87);
    margin-bottom: 24px;
    text-align: center;
}

.process-steps {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 40px;
    width: 100%;
    max-width: 1040px;
}

.step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
}

.step-icon {
    width: 120px;
    height: 120px;
    background: #FFFFFF;
    border: 8px solid #F5F5F5;
    border-radius: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.step span {
    font-size: 18px;
    font-weight: 500;
    color: rgba(0, 0, 0, 0.6);
    text-align: center;
}

.step-arrow {
    width: 90px;
    height: 4px;
    background: #171819;
    margin-top: -60px;
}

/* Responsive Design */
@media screen and (max-width: 1440px) {
    .design-process {
        padding: 64px 100px;
    }
}

@media screen and (max-width: 1024px) {
    .design-process {
        padding: 48px 60px;
    }
    
    .process-steps {
        flex-wrap: wrap;
        gap: 24px;
    }
    
    .step-arrow {
        display: none;
    }
}

@media screen and (max-width: 768px) {
    .design-process {
        padding: 40px 24px;
    }
    
    .design-process h2 {
        font-size: 32px;
        line-height: 48px;
    }
    
    .step-icon {
        width: 100px;
        height: 100px;
    }
}

@media screen and (max-width: 480px) {
    .design-process {
        padding: 32px 16px;
    }
    
    .step-icon {
        width: 80px;
        height: 80px;
    }
    
    .step span {
        font-size: 16px;
    }
}

.hamburger-menu {
    display: none;
    cursor: pointer;
    padding: 10px;
}

.hamburger-menu span {
    display: block;
    width: 25px;
    height: 3px;
    background-color: #000;
    margin: 5px 0;
    transition: all 0.3s ease;
}

@media screen and (max-width: 768px) {
    .hamburger-menu {
        display: block;
    }

    .nav-section {
        display: none;
        position: absolute;
        top: 70px;
        left: 0;
        width: 100%;
        background: white;
        padding: 20px 16px;
        box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    }

    .nav-section.active {
        display: block;
    }

    .nav-links {
        flex-direction: column;
        gap: 20px;
    }

    .nav-link {
        display: block;
        padding: 10px 0;
    }

    .cta-button {
        width: 100%;
        margin-top: 15px;
        text-align: center;
    }
}



@media screen and (max-width: 768px) {
    .offercard {
        height: auto;
        min-height: 300px;
        padding: 24px 16px 16px 16px;
        border-radius: 24px;
        margin-bottom: 16px;
    }

    .offercard h3 {
        font-size: 20px;
        margin-bottom: 12px;
    }

    .offercard p {
        font-size: 16px;
    }

    .serviceicon {
        width: 40px;
        height: 40px;
    }

    .cardline {
        margin: 16px 0;
    }
}
/* Global Styles & Fonts */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&display=swap');

:root {
  --primary: #111827;
  --secondary: #4B5563;
  --accent: #171717; /* Neutral Black */
  --bg-light: #F9FAFB;
  --bg-surface: #FFFFFF;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: 'Plus Jakarta Sans', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-color: var(--bg-surface);
  color: var(--primary);
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 10px;
}

::-webkit-scrollbar-track {
  background: #FAFAFA;
}

::-webkit-scrollbar-thumb {
  background: #E5E7EB;
  border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
  background: #D1D5DB;
}
/* Reset & Global */
html {
  scroll-behavior: smooth;
}
body {
  -ms-overflow-style: none; /* IE and Edge */
  scrollbar-width: none; /* Firefox */
}
body::-webkit-scrollbar {
  display: none; /* Chrome, Safari, Opera */
}

/* Animation Utilities */
.fade-in-section {
  opacity: 0;
  transform: translateY(2rem);
  transition: opacity 1s ease-out, transform 1s ease-out;
  will-change: opacity, visibility;
}

.fade-in-section.is-visible {
  opacity: 1;
  transform: none;
}

/* Stagger delays manually where needed */
.delay-100 { transition-delay: 100ms; }
.delay-200 { transition-delay: 200ms; }
.delay-300 { transition-delay: 300ms; }
.delay-400 { transition-delay: 400ms; }
.delay-500 { transition-delay: 500ms; }
