:root {
  --background: #fbfcfd;
  --foreground: #0f1a2e;
  --brand-green: #1f7ad1;
  --brand-green-deep: #0e2a55;
  --brand-gold: #2cb8b8;
  --border: rgba(15, 26, 46, 0.12);
}

body{
    font-family:'Manrope',sans-serif;
    font-weight:400;
    line-height:1.8;
    color:#4b5563;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
   
}


h2,
h3,
h4,
h5,
h6,
.serif{
    font-family:'Cormorant Garamond',serif;
    font-weight:600;
    
}


/* ==========================
   INNER PAGE HEADER
========================== */
.header-logo img{
    max-height:50px;
}

.inner-page .header-main{
    background:#fff;
    box-shadow:0 1px 12px rgba(0,0,0,.05);
}

.inner-page .header-main a{
    color:#111827;
}

.inner-page #menuBtn{
    color:#111827;
}

.inner-page .header-main{

    background:rgba(255,255,255,.96);

    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);

    box-shadow:0 2px 20px rgba(0,0,0,.06);

    border-bottom:1px solid rgba(0,0,0,.05);
}

.inner-page .header-inner{

    height:72px !important;
}

.inner-page .story-link,
.inner-page #menuBtn, 
.inner-page .logo-text{

    color:#111827 !important;
}

.inner-page #menuBtn span,
.inner-page .story-link{

    font-weight:500;
}

.inner-page .hamburger-line{

    background:#111827 !important;
}



html, body {
  background: var(--background);
  color: var(--foreground);
  /* font-family: 'Inter', system-ui, sans-serif; */
  -webkit-font-smoothing: antialiased;
}

.serif {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 500;
  letter-spacing: -0.01em;
}

.eyebrow {
  font-size: 11px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  font-weight: 500;
}

.text-brand-green { color: var(--brand-green); }
.text-brand-gold { color: var(--brand-gold); }
.bg-deep { background: #0b1a36; color: #fff; }

.story-link { position: relative; }
.story-link::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -4px;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.4s ease;
}
.story-link:hover::after {
  transform: scaleX(1);
  transform-origin: left;
}

.reveal {
  opacity: 0;
  transform: translate3d(0, 24px, 0);
  transition: opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1),
              transform 1s cubic-bezier(0.16, 1, 0.3, 1);
}
.reveal.in {
  opacity: 1;
  transform: none;
}

.hide-scrollbar::-webkit-scrollbar { display: none; }


/* HEADER */

.nav-dropdown{

    position:relative;
}

.nav-dropdown > a{

    display:flex;
    align-items:center;
    gap:8px;
}

.dropdown-menu{

    position:absolute;

    top:100%;
    left:0;

    min-width:240px;

    background:#fff;

    border-radius:16px;

    padding:12px 0;

    box-shadow:
    0 15px 40px rgba(0,0,0,.08);

    opacity:0;
    visibility:hidden;

    transform:
    translateY(15px);

    transition:.3s ease;

    z-index:999;
}

.dropdown-menu a{

    display:block;

    padding:12px 20px;

    color:#333 !important;

    transition:.3s;
}

.dropdown-menu a:hover{

    background:#f5f9ff;

    color:#1d71b8;

    padding-left:28px;
}

.nav-dropdown:hover .dropdown-menu{

    opacity:1;

    visibility:visible;

    transform:
    translateY(0);
}

.nav-dropdown i{

    font-size:12px;

    transition:.3s;
}

.nav-dropdown:hover i{

    transform:
    rotate(180deg);
}



.mobile-dropdown-btn{

    width:100%;

    display:flex;
    justify-content:space-between;
    align-items:center;

    background:none;
    border:none;

    color:#111827;

    padding:18px 24px;

    cursor:pointer;

    font-size:16px;
}

.mobile-submenu{

    max-height:0;

    overflow:hidden;

    transition:
    max-height .4s ease;
}

.mobile-submenu a{

    padding:12px 20px;

    display:block;

    font-size:14px;
}

.mobile-dropdown.active .mobile-submenu{

    max-height:300px;
}

.mobile-dropdown.active i{

    transform:
    rotate(180deg);
}

.logo-text,
.desktop-nav a,
.mobile-menu-btn{
    color:currentColor;
}


.header-inner{
    height:80px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 40px;
}

.footer-logo img {
    margin-left: auto;
    margin-right: auto;
}

.logo-text img {
   
    width: 70%;
    margin-left: 27%;
}
.logo-text{
   
    text-decoration:none;
    letter-spacing:6px;
    font-size:15px;
    font-weight:500;
}

.desktop-nav{
    display:flex;
    gap:40px;
}

.desktop-nav a{
    text-decoration:none;
    font-size:13px;
    letter-spacing:2px;
    text-transform:uppercase;
}

.mobile-menu-btn{
    display:none;
    width:40px;
    height:40px;
    position:relative;
    background:none;
    border:none;
    cursor:pointer;
    z-index:1001;
}

.mobile-menu-btn span{
    position:absolute;
    left:8px;
    width:24px;
    height:2px;
    background:currentColor;
    transition:.35s ease;
}

.mobile-menu-btn span:nth-child(1){
    top:12px;
}

.mobile-menu-btn span:nth-child(2){
    top:19px;
}

.mobile-menu-btn span:nth-child(3){
    top:26px;
}

.mobile-menu-btn.active span:nth-child(1){
    top:19px;
    transform:rotate(45deg);
}

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

.mobile-menu-btn.active span:nth-child(3){
    top:19px;
    transform:rotate(-45deg);
}

.mobile-menu{
    position:absolute;
    top:100%;
    left:0;
    width:100%;
    background:#ffffff;

    max-height:0;
    overflow:hidden;
    opacity:0;

    transition:all .4s ease;
    z-index:999;
}

.mobile-menu.active{
    max-height:300px;
    opacity:1;
}


.mobile-menu a{
    display:block;
    padding:18px 24px;
    text-decoration:none;
    color:#0f1a2e;
    border-bottom:1px solid rgba(0,0,0,.08);
    text-transform:uppercase;
    letter-spacing:2px;
    font-size:13px;
}



@media(max-width:768px){

    .desktop-nav{
        display:none;
    }

    .mobile-menu-btn{
        display:block;
    }

    .header-inner{
        padding:0 20px;
    }

    .logo-text{
        font-size:12px;
        letter-spacing:4px;
    }
}
.header-main{

    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:1000;
    color:#fff;
    border-bottom:1px solid transparent;
}

.header-inner{
    height:84px;
}

.mobile-menu{
    max-height:0;
    opacity:0;
    background:rgba(251,252,253,.95);
    backdrop-filter:blur(14px);
    color:#0f1a2e;
}

/* HERO */
.hero-section{
    height:200vh;
}

.hero-bg{
    background:#0a1428;
}

.hero-video{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
}


.hero-content{
    position:absolute;
    left:8%;
    top:52%;
    transform:translateY(-50%);
    z-index:20;
    max-width:900px;
     animation:heroFade 1.2s ease-out forwards;
}

@keyframes heroFade{
    from{
        opacity:0;
        transform:translateY(-50%) translateY(30px);
    }
    to{
        opacity:1;
        transform:translateY(-50%) translateY(0);
    }
}

.hero-eyebrow{
    color:rgba(255,255,255,.7);
    letter-spacing:.35em;
    font-size:12px;
    margin-bottom:20px;
}

.hero-title{
    font-family: "DM Sans", sans-serif;
    margin:0;
    font-size:clamp(3rem,5vw,4.8rem);
    font-weight:600;
    line-height:1.05;
    color:#fff;
    text-shadow: 0 3px 0px rgba(0, 0, 0, .35), 0 8px 40px rgba(0, 0, 0, .25);
}

.hero-title span{
    display:block;
    /* color:#67a4e5; */
}


.hero-title .highlight{
    color:#d4a54a;
}

.hero-tagline{
    margin-top:22px;
    font-size:18px;
    line-height:1.7;
    color:rgba(255,255,255,.9);
    max-width:650px;

    text-shadow:
        0 2px 10px rgba(0,0,0,.35);
}

.hero-tagline span{
    color:#7bb3ff;
}


.hero-title span,
.hero-tagline{
    opacity:0;
    transform:translateY(50px);
    animation:fadeUp 1s ease forwards;
}

.hero-title span:nth-child(1){
    animation-delay:.2s;
}

.hero-title span:nth-child(2){
    animation-delay:.5s;
}

.hero-title span:nth-child(3){
    animation-delay:.8s;
}

.hero-tagline{
    animation-delay:1.1s;
}

@keyframes fadeUp{
    from{
        opacity:0;
        transform:translateY(50px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

#heroVignette{
    position:absolute;
    inset:0;

    background:
    linear-gradient(
        90deg,
        rgba(0,0,0,.55) 0%,
        rgba(0,0,0,.28) 35%,
        rgba(4,65,126,.10) 100%
    ),
    linear-gradient(
        180deg,
        rgba(0,0,0,.18) 0%,
        rgba(0,0,0,.25) 100%
    );

    opacity:1;
}

/*------xxx----rotate word------*/

.quality-badge{
    position:relative;
    width:120px;
    height:120px;
    margin:auto;
}

.badge-ring{
    width:100%;
    height:100%;
    animation:rotateRing 20s linear infinite;
}

.circle-text{
    fill:#0f172a;
    font-size:18px;
    font-weight:700;
    letter-spacing:4px;
    text-transform:uppercase;
}

.center-text{
    position:absolute;
    inset:0;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
}

.center-text h3{
    margin:0;
    font-size:12px;
    font-family:serif;
    font-weight:500;
    color:#0f172a;
}

.center-text p{
    margin-top:0px;
    font-size:10px;
    color:#0f172a;
}

@keyframes rotateRing{
    from{
        transform:rotate(0deg);
    }
    to{
        transform:rotate(360deg);
    }
}




/* INTRO */
.intro-title{
    transition-delay:120ms;
    line-height: 1.1 !important;
}

.intro-text{
    color:#5a6478;
    transition-delay:240ms;
}

/* FEATURES */
.features-section{
    background:#f1f5f9;
    height:400vh;
}

.feature-content{
    background:var(--background);
}

.feature-text-stack{
    min-height:280px;
}

/* COMMON SECTION BG */
.section-bg{
    background:var(--background);
}

/* RESEARCH */
.research-panel{
    background:#0e2a55;
    color:#fff;
}

.research-text{
    color:rgba(255,255,255,.7);
}

.labs-link{
    border-color:var(--brand-gold);
}

.research-image{
    transition-delay:150ms;
}

/* QUOTE */
.quote-author{
    color:#5a6478;
}

/* CTA */
.cta-section{
    background:#eef2f7;
}

.cta-text{
    color:#5a6478;
}

.cta-btn{
    background:#0f1a2e;
    color:#fff;
}

/* FOOTER */
.footer-main{
    background:#0a1428;
    color:#cbd5e1;
}

.footer-copy{
    color:rgba(255,255,255,.5);
}

/*-------xxx----new style-----------*/
.feat-txt{
    position:absolute;
    inset:0;
    opacity:0;
    transform:translateY(30px);
    transition:all .7s ease;
    /* pointer-events:none; */
}

.feat-txt.active{
    opacity:1;
    transform:translateY(0);
}

.feat-img{
    position:absolute;
    inset:0;
    opacity:0;
    transition:opacity .7s ease;
}

.feat-img img{
    width:100%;
    height:100%;
    object-fit:cover;
    transform:scale(1.06);
    transition:transform 1.2s ease;
}

.feat-img.active{
    opacity:1;
}

.feat-img.active img{
    transform:scale(1);
}


.feat-txt p {
    line-height: 32px;
    color: #515151;
    font-size: 17px;
}


.brand-clr {
    /* color:#2c4093; */
    color:#000;
}


.max-w-3xl {
    max-width: 50rem !important;
}



.feature-point{
    display:flex;
    gap:18px;
    align-items:flex-start;
}

.feature-icon{
    width:48px;
    height:48px;
    min-width:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:rgba(4,65,126,.08);
    color:#04417e;
    font-size:18px;
}

.feature-point h4{
    font-size:18px;
    font-weight:600;
    margin-bottom:6px;
    color:#0f1a2e;
}

.feature-point p{
    color:#5a6478;
    line-height:1.7;
    margin:0;
}

.featu {
    font-size: 40px; 
    font-weight: 700;
}

.top-txt {
    font-size: 12px !important;
    color:#000 !important;
}


.know-more-btn{
    display:inline-flex;
    align-items:center;
    gap:12px;
    margin-top:35px;
    padding:14px 30px;
    background:#04417e;
    color:#fff;
    border-radius:50px;
    text-decoration:none;
    font-size:14px;
    font-weight:600;
    letter-spacing:.08em;
    text-transform:uppercase;
    overflow:hidden;
    position:relative;
    transition:all .4s ease;
    top: 23%;
}

.know-more-btn svg{
    transition:transform .4s ease;
}

.know-more-btn::before{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(
        120deg,
        transparent,
        rgba(255,255,255,.25),
        transparent
    );
    transform:translateX(-120%);
    transition:transform .7s ease;
}

.know-more-btn:hover{
    transform:translateY(-3px);
    box-shadow:0 15px 35px rgba(4,65,126,.25);
}

.know-more-btn:hover::before{
    transform:translateX(120%);
}

.know-more-btn:hover svg{
    transform:translateX(6px);
}

.px-8 {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
}

@media (min-width: 768px) {
    
.md\:px-16 {
        padding-left: 4rem !important;
        padding-right: 4rem !important;
    }
}

/*----xxx--------xxx-- innovation-------xxx----*/


.science-section{
    height:400vh;
    background:#041c46;
    position:relative;
}

.science-sticky{
    position:sticky;
    top:0;
    height:100vh;

    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;

    overflow:hidden;
}

/* TITLE */

.section-title{
    text-align:center;
    margin-bottom:70px;
}

.eyebrow{
    color:#2c4093;
    letter-spacing:4px;
    font-size:13px;
    display:block;
    margin-bottom:15px;
}

.section-title h2{
    color:#fff;
    font-size:50px;
    line-height:1.1;
    font-weight:300;
    font-family:'Cormorant Garamond', serif;
}

.title-underline{
    width:220px;
    height:2px;
    margin:25px auto 0;

    background:rgba(255,255,255,.08);

    overflow:hidden;
    border-radius:20px;
}

.title-underline span{
    position:relative;

    display:block;

    width:0;
    height:100%;

    background:linear-gradient(
        90deg,
        #7fc0ff,
        #ffffff,
        #7fc0ff
    );

    box-shadow:
    0 0 15px rgba(127,192,255,.8);

    transition:width .15s linear;
}

.title-underline span::after{
    content:'';

    position:absolute;

    right:-5px;
    top:50%;

    transform:translateY(-50%);

    width:8px;
    height:8px;

    border-radius:50%;

    background:#fff;

    box-shadow:
    0 0 10px #7fc0ff,
    0 0 20px #7fc0ff;
}

/* CARDS */

.cards-row{
    display:flex;
    justify-content:center;
    gap:30px;
    width:100%;
    max-width:1400px;
    padding:0 40px;
}

.value-card{

    width:380px;

    background:rgba(255,255,255,.06);

    border:1px solid rgba(255,255,255,.08);

    backdrop-filter:blur(15px);

    border-radius:24px;

    padding:20px 10px 20px 10px;

    text-align:center;

    color:#fff;

    opacity:0;

    transform:translateY(100px);

    transition:
    opacity .7s ease,
    transform .7s ease;
}

.value-card.show{
    opacity:1;
    transform:translateY(0);
}

.icon-box{
    width:70px;
    height:70px;

    margin:0 auto 25px;

    border-radius:20px;

    background:rgba(85,160,255,.15);

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:30px;
}

.value-card h3{
    font-size:30px;
    margin-bottom:20px;
    font-family:'Cormorant Garamond', serif;
}

.value-card p{
    color:rgba(255,255,255,.75);
    line-height:1.8;
}

/* MOBILE */



@media (max-width:768px){

    .hero-video{
         object-fit:contain;
        background:#000;
    }

}

@media (max-width:768px){

    #hero{
        height:100vh;
    }

    #hero .hero-bg{
        height:70vh;
    }

}

@media(max-width:991px){

    .section-title h2{
        font-size:42px;
    }

    .cards-row{
        flex-direction:column;
        align-items:center;
    }

    .value-card{
        width:90%;
        max-width:500px;
    }
}

@media(max-width:576px){

    .pd-tp {
        padding-top: 10px !important;
    }

    .quality-badge {
        position: relative !important;
        left: 0 !important;
    }

    .hero-title {
        font-size: 40px;
    }

    .science-sticky{
       height: 140vh;
    }

    .section-title h2{
        font-size:32px;
    }

    .value-card h3{
        font-size:24px;
    }
}





/*-------xxx------What we do-------xxxx------*/









/*------xxx-----Footer----------xxxxxx---------*/



/* ==========================
   FOOTER
========================== */

.footer-main{
    background:#04172d;
    padding:100px 20px 40px;
    text-align:center;
    color:#fff;
    position:relative;
    overflow:hidden;
}

.footer-container{
    max-width:1200px;
    margin:0 auto;
}

.footer-logo{
    font-size:34px;
    font-weight:700;
    letter-spacing:8px;
    margin-bottom:18px;
    color:#fff;
    text-transform:uppercase;
}

.footer-tagline{
    color:rgba(255,255,255,.7);
    font-size:15px;
    letter-spacing:1px;
    margin-bottom:40px;
    line-height:1.8;
}

/* ==========================
   QUICK LINKS
========================== */

.footer-links{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:40px;
    flex-wrap:wrap;
    margin-bottom:50px;
}

.footer-links a{
    color:#fff;
    text-decoration:none;
    font-size:14px;
    letter-spacing:2px;
    text-transform:uppercase;
    transition:.3s ease;
}

.footer-links a:hover{
    color:#7bb3ff;
}

/* ==========================
   CONTACT
========================== */

.footer-contact{
    display:flex;
    justify-content:center;
    align-items:flex-start;
    gap:25px;
    flex-wrap:wrap;
    margin-bottom:60px;
}

.footer-item{
    display:flex;
    align-items:flex-start;
    gap:12px;
}

.footer-item a{
    color:rgba(255,255,255,.85);
    text-decoration:none;
    transition:.3s ease;
}

.footer-item a:hover{
    color:#7bb3ff;
}

.footer-icon{
    color:#7bb3ff;
    font-size:18px;
    line-height:1.5;
    min-width:20px;
}

.footer-address{
    text-align:left;
    max-width:359px;
    color:rgba(255,255,255,.85);
    line-height:1.7;
}

.separator{
    width:1px;
    height:42px;
    background:rgba(255,255,255,.15);
}

/* ==========================
   NEON LINE
========================== */

.footer-neon-line{
    width:100%;
    max-width:700px;
    height:2px;
    margin:0 auto 30px;

    background:linear-gradient(
        90deg,
        transparent,
        #04417e,
        #7bb3ff,
        #04417e,
        transparent
    );

    box-shadow:
        0 0 8px rgba(4,65,126,.7),
        0 0 20px rgba(4,65,126,.5),
        0 0 35px rgba(4,65,126,.3);

    animation:neonPulse 3s ease-in-out infinite;
}

@keyframes neonPulse{

    0%{
        opacity:.5;
        transform:scaleX(.92);
    }

    50%{
        opacity:1;
        transform:scaleX(1);
    }

    100%{
        opacity:.5;
        transform:scaleX(.92);
    }

}

/* ==========================
   COPYRIGHT
========================== */

.footer-copy{
    color:rgba(255,255,255,.55);
    font-size:13px;
    letter-spacing:.5px;
    margin:0;
}

/* ==========================
   MOBILE
========================== */

@media(max-width:768px){

    .footer-main{
        padding:80px 20px 30px;
    }

    .footer-logo{
        font-size:24px;
        letter-spacing:4px;
    }

    .footer-links{
        gap:20px;
    }

    .footer-contact{
        flex-direction:column;
        align-items:center;
        gap:20px;
    }

    .separator{
        display:none;
    }

    .footer-address{
        max-width:280px;
        text-align:left;
    }

}



/* =========ABOUT=================
   BREADCRUMB BAR
========================== */

.about-breadcrumb-wrap{

    margin-top:74px;

    background:#04417e;

    padding:16px 20px;
}

.breadcrumb{

    max-width:1200px;
    margin:auto;

    display:flex;
    align-items:center;
    gap:12px;

    font-size:14px;
}

.breadcrumb a{

    color:#fff;
    text-decoration:none;
}

.breadcrumb span{

    color:rgba(255,255,255,.7);
}

/* ==========================
   HEADER
========================== */

.about-header{

    text-align:center;

    padding:50px 20px 50px;

    max-width:1200px;
    margin:auto;
}

.about-label{

    display:inline-block;

    color:#04417e;

    font-size:13px;

    letter-spacing:4px;

    margin-bottom:20px;

    font-weight:600;
}

.about-title{

    font-size:clamp(3rem,6vw,5.5rem);

    line-height:1;
    max-width: 750px;
    color:#111827;
    margin-left: auto;
    margin-right: auto;
    margin-bottom:30px;
}

.about-title span{

    color:#04417e;
}

.title-line{

    width:140px;

    height:3px;

    margin:auto;

    border-radius:50px;

    background:linear-gradient(
        90deg,
        transparent,
        #04417e,
        transparent
    );
}

/* ==========================
   INTRO
========================== */

.about-intro{

    padding:0 20px 80px;
}

.lead-text{

    max-width:900px;

    margin:auto;

    text-align:center;

    font-size:20px;

    line-height:2;

    color:#4b5563;
}

.lead-text span{

    color:#04417e;

    font-weight:600;
}

/* ==========================
   CARDS
========================== */

.about-content{
     overflow:hidden;

    max-width:1200px;

    margin:auto;

    padding:0 20px 120px;
}

/* .about-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:30px;
} */

.about-grid{

    max-width:1000px;

    margin:auto;

    display:flex;

    flex-direction:column;

    gap:60px;
}

.card-1,
.card-3{

    margin-right:auto;

    width:70%;
}

.card-2,
.card-4{

    margin-left:auto;

    width:70%;
}

.about-card{

    background:#fff;

    padding:45px;

    border-radius:28px;

    border:1px solid rgba(4,65,126,.08);

    box-shadow:
    0 15px 40px rgba(0,0,0,.05);

     opacity:0;

    transition:
    all 1.2s cubic-bezier(.22,1,.36,1);

    position:relative;

    overflow:hidden;
}

.card-1,
.card-3{

    transform:
    translateX(-60px)
    rotate(-4deg);
}

.card-2,
.card-4{

    transform:
    translateX(60px)
    rotate(4deg);
}

.about-card.in{

    opacity:1;

    transform:
    translateX(0)
    rotate(0);
}

/* 
.about-card.in{

     opacity:1;
    transform:translateX(0) rotate(0);
} */


.about-card:hover{

    background:#04417e;

    transform:
    translateY(-10px);

    box-shadow:
    0 25px 60px rgba(4,65,126,.25);
}
.about-icon{

    width:70px;
    height:70px;

    border-radius:18px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:rgba(4,65,126,.08);

    color:#04417e;

    font-size:28px;

    margin-bottom:25px;

    transition:.4s;
}



.about-card h3{

      color:#04417e;

    transition:.4s;

    font-size:2rem;

    margin-bottom:20px;
}

.about-card p{

    font-size:16px;

     color:#5b6472;

    transition:.4s;
}

.about-card:hover h3,
.about-card:hover p{

    color:#fff;
}

.about-card:hover .about-icon{

    background:#fff;

    color:#04417e;

    transform:scale(1.08);
}

/* ==========================
   HIGHLIGHT
========================== */

.about-highlight{

    background:linear-gradient(
        135deg,
        #04417e,
        #02284d
    );

    padding:120px 20px;

    text-align:center;
}

.highlight-inner{

    max-width:1100px;

    margin:auto;
}

.highlight-inner h2{

    font-size:clamp(2.5rem,5vw,4.5rem);

    color:#fff;

    margin-bottom:30px;
}

.highlight-inner h2 span{

    color:#8cc3ff;
}

.highlight-inner p{

    color:rgba(255,255,255,.85);

    font-size:18px;

    max-width:800px;

    margin:auto;
}

/* ==========================
   REVEAL FIX
========================== */

.reveal{

    opacity:1 !important;

    transform:none !important;
}

/* ==========================
   MOBILE
========================== */

@media(max-width:768px){

    .card-1,
    .card-2,
    .card-3,
    .card-4{

        width:100%;

        margin:0;
    }

}

@media(max-width:768px){

    .about-breadcrumb-wrap{
        margin-top:64px;
    }

    .about-title{
        font-size:3rem;
    }

    .lead-text{
        font-size:18px;
    }

    .about-grid{
        grid-template-columns:1fr;
    }

    .about-card{
        padding:30px;
    }

    .about-card h3{
        font-size:1.7rem;
    }

}


.page-hero{
    position:relative;
    overflow:hidden;
}

#particles{
    /* position:absolute; */
    inset:0;
    z-index:0;
}

.page-hero .container{
    position:relative;
    z-index:2;
}


.particle{

    position:absolute;

    width:10px;
    height:10px;

    border-radius:50%;

    background:#04417e;

    box-shadow:
    0 0 20px rgba(4,65,126,.4),
    0 0 40px rgba(4,65,126,.2);

    opacity:.15;

    animation:floatParticle 18s linear infinite;
}

@keyframes floatParticle{

    0%{
        transform:
        translateY(0)
        translateX(0)
        scale(1);

        opacity:0;
    }

    20%{
        opacity:1;
    }

    50%{
        transform:
        translateY(-60px)
        translateX(30px)
        scale(1.3);
    }

    100%{
        transform:
        translateY(-120px)
        translateX(-30px)
        scale(.8);

        opacity:0;
    }

}

.page-hero{

    padding:160px 20px 80px;

    background:#f8fafc;

    border-bottom:1px solid rgba(0,0,0,.05);
}

.page-hero .container{

    max-width:1200px;
    margin:auto;
}

.page-hero h1{

    font-family:'Cormorant Garamond',serif;

    font-size:clamp(48px,7vw,90px);

    color:#111827;

    line-height:1;

    margin-bottom:15px;
}

.hero-subtitle{

    font-size:20px;

    color:#5b6472;

    max-width:700px;
}

.what-intro{

    padding:100px 20px;
}

.what-intro .container{

    max-width:1000px;

    margin:auto;
}

.section-tag{

    letter-spacing:4px;

    color:#04417e;

    font-size:13px;

    font-weight:600;

    margin-bottom:20px;
}

.what-intro h2{

    font-family:'Cormorant Garamond',serif;

    font-size:clamp(40px,6vw,70px);

    line-height:1.1;

    margin-bottom:50px;

    color:#111827;
}

.what-intro h2 span{

    color:#04417e;
}

.reading-content{

    font-size:17px;

    line-height:2;

    color:#5b6472;
}

.reading-content p{

    margin-bottom:25px;
}


.service-section{

    padding:0 20px 120px;
    overflow: hidden;
}

.service-section .container{

    max-width:1200px;

    margin:auto;
}

.service-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:35px;
}

.service-card{

    background:#fff;

    border-radius:30px;

    padding:50px;

    border:1px solid rgba(4,65,126,.08);

    box-shadow:0 20px 50px rgba(0,0,0,.05);
 transition:none;

    will-change:transform, opacity;

    opacity:0;
}


.service-card:first-child{

    transform:translateX(-200px);
}

.service-card:last-child{

    transform:translateX(200px);
}

.service-card:hover{

    background:#04417e;

    transform:translateY(-10px);
}

.service-icon{

    width:75px;

    height:75px;

    border-radius:20px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:rgba(4,65,126,.08);

    color:#04417e;

    font-size:28px;

    margin-bottom:25px;

    transition:.4s;
}

.service-card h3{

    font-family:'Cormorant Garamond',serif;

    font-size:36px;

    color:#04417e;

    margin-bottom:20px;

    transition:.4s;
}

.service-card p{

    color:#5b6472;

    line-height:1.9;

    transition:.4s;
}

.service-card:hover h3,
.service-card:hover p{

    color:#fff;
}

.service-card:hover .service-icon{

    background:#fff;

    transform:scale(1.1);
}

@media(max-width:768px){

    .page-hero{

        padding:130px 20px 60px;
    }

    .service-grid{

        grid-template-columns:1fr;
    }

    .service-card{

        padding:35px;
    }

    .quote-block{

        padding:35px 25px;
    }

    .quote-block h3{

        font-size:30px;
    }
}


.quote-wrap{

    padding:120px 20px;
    display:flex;
    justify-content:center;
}

.quote-block{
    width:180px;
    height:180px;
    border-radius:50%;
    background:linear-gradient(135deg,#02264b,#04417e);
    color:#fff;

    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;

    overflow:hidden;

    box-shadow:0 25px 70px rgba(4,65,126,.25);
}



.quote-block span,
.quote-block h3{

    opacity:0;

    transform:translateY(20px);

    transition:
    opacity .6s ease,
    transform .6s ease;
}

.quote-block.active{

    width:min(100%,950px);

    height:340px;

    border-radius:40px;

    padding:50px;
}

.quote-block.active span,
.quote-block.active h3{

    opacity:1;

    transform:translateY(0);
}

.quote-block span{

    font-size:13px;

    letter-spacing:4px;

    text-transform:uppercase;

    color:rgba(255,255,255,.7);

    margin-bottom:25px;
}

.quote-block h3{

    font-family:'Cormorant Garamond',serif;

    font-size:clamp(42px,5vw,72px);

    line-height:1.1;

    font-weight:600;
}

@media(max-width:768px){

    .quote-block.active{

        height:260px;
    }

    .quote-block h3{

        font-size:38px;
    }
}



/*------xxx-----Vision and Mission------xxx------*/

.vm-section{
    position:relative;
    overflow:hidden;
    padding:100px 0;
    background:linear-gradient(
    180deg,
    #ffffff,
    #f5faff,
    #ffffff);
}

.container{
    width:90%;
    max-width:1300px;
    margin:auto;
    position:relative;
    z-index:5;
}

/* Title */

.vm-title{
    text-align:center;
    margin-bottom:100px;
}

.vm-title span{
    color:#1d71b8;
    font-weight:700;
    letter-spacing:3px;
    font-size:14px;
}

.vm-title h1{
    font-size:70px;
    margin:15px 0;
    color:#0f3f7a;
}

.vm-title p{
    color:#666;
    font-size:18px;
}

/* Background Grid */

.bg-grid{
    position:absolute;
    inset:0;

    background-image:
    linear-gradient(rgba(29,113,184,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(29,113,184,.04) 1px, transparent 1px);

    background-size:80px 80px;
}

/* Blobs */

.blob{
    position:absolute;
    border-radius:50%;
    filter:blur(100px);
}

.blob1{
    width:350px;
    height:350px;
    background:#d9eeff;
    left:-100px;
    top:100px;
}

.blob2{
    width:450px;
    height:450px;
    background:#e3f7ff;
    right:-150px;
    top:400px;
}

.blob3{
    width:400px;
    height:400px;
    background:#eef5ff;
    left:30%;
    bottom:0;
}

/* Floating Icons */

.floating{
    position:absolute;
    color:#1d71b8;
    opacity:.08;
    animation:float 6s ease-in-out infinite;
}

.floating i{
    font-size:120px;
}

.floating1{
    top:15%;
    left:8%;
}

.floating2{
    right:8%;
    top:45%;
}

.floating3{
    left:15%;
    bottom:15%;
}

@keyframes float{
    0%,100%{
        transform:translateY(0);
    }
    50%{
        transform:translateY(-25px);
    }
}

/* Vision & Mission */

.vision-wrapper,
.mission-wrapper{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:50px;
    align-items:center;
    margin-bottom: 8%;
    padding: 0px 20px 0px 20px;
}

.mission-wrapper{
    margin-top:120px;
}

.vision-image,
.mission-image{
    overflow:hidden;
    border-radius:25px;
}

.vision-image img,
.mission-image img{
    width:100%;
    display:block;
    transition:1s;
}

.vision-image:hover img,
.mission-image:hover img{
    transform:scale(1.08);
}

.vision-content span,
.mission-content span{
    color:#1d71b8;
    font-weight:700;
    letter-spacing:2px;
}

.vision-content h2,
.mission-content h2{
    font-size:48px;
    color:#0f3f7a;
    margin:20px 0;
    line-height:1.2;
}

.vision-content p,
.mission-content p{
    line-height:2;
    color:#555;
    font-size:17px;
}

/* Journey */
.parallax-purpose{
    position:relative;
    min-height:70vh;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    overflow:hidden;

    background-image:url('assets/images/parax.jpeg');
    background-position:center;
    background-size:cover;
    background-attachment:fixed;
}

.parallax-overlay{
    position:absolute;
    inset:0;

    background:
    linear-gradient(
        rgba(17,76,141,.85),
        rgba(9,52,104,.85)
    );
}

.parallax-content{
    position:relative;
    z-index:2;
    max-width:900px;
    padding:40px;
}

.parallax-content span{
    display:block;
    color:#7fd4ff;
    letter-spacing:4px;
    font-weight:600;
    margin-bottom:20px;
}

.parallax-content h2{
    color:#fff;
    font-size:clamp(40px,5vw,75px);
    line-height:1.2;
    margin-bottom:30px;
}

.parallax-content p{
    color:#e8f4ff;
    font-size:20px;
    line-height:1.8;
}

/* Banner */

.purpose-banner{
    margin-top:120px;
    background:#114c8d;
    border-radius:30px;
    padding:100px 40px;
    text-align:center;
}

.purpose-banner h2{
    color:white;
    font-size:32px;
    line-height:1.3;
}

/* Scroll Animation */

.reveal-up,
.reveal-left,
.reveal-right{
    opacity:0;
    transition:1s ease;
}

.reveal-up{
    transform:translateY(80px);
}

.reveal-left{
    transform:translateX(-100px);
}

.reveal-right{
    transform:translateX(100px);
}

.active{
    opacity:1;
    transform:none;
}

/* Mobile */

@media(max-width:991px){

    .vm-title h1{
        font-size:45px;
    }

    .vision-wrapper,
    .mission-wrapper{
        grid-template-columns:1fr;
        gap:40px;
    }

    .mission-image{
        order:-1;
    }

    .vision-content h2,
    .mission-content h2{
        font-size:34px;
    }

    .purpose-banner h2{
        font-size:30px;
    }


}

/*----xx-------Core Values-----xxxxxx--------*/


.core-values-section{
    position:relative;
    overflow:hidden;
    padding:100px 0;
    background:
    linear-gradient(
    180deg,
    #ffffff,
    #f6fbff,
    #ffffff);
}

.container{
    width:90%;
    max-width:1300px;
    margin:auto;
    position:relative;
    z-index:2;
}

/* TITLE */

.section-title{
    text-align:center;
    margin-bottom:80px;
}

.section-title span{
    color:#1d71b8;
    font-weight:700;
    letter-spacing:3px;
}

.section-title h1{
    font-size:clamp(45px,7vw,80px);
    color:#0f3f7a;
    margin-top:15px;
}

/* LAYOUT */

.values-wrapper{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:center;
}

/* IMAGE */

.values-image{
    position:relative;
}

.image-shape{
    overflow:hidden;

    border-radius:
    120px 30px
    120px 30px;

    box-shadow:
    0 30px 80px rgba(0,0,0,.12);
}

.image-shape img{
    width:100%;
    height:650px;
    object-fit:cover;
    display:block;
    transition:1s;
}

.values-image:hover img{
    transform:scale(1.08);
}

/* FLOATING BADGE */

.floating-badge{
    position:absolute;
    right:-20px;
    bottom:50px;

    width:130px;
    height:130px;

    border-radius:50%;

    background:#1d71b8;

    display:flex;
    align-items:center;
    justify-content:center;

    color:#fff;
    font-weight:700;

    box-shadow:
    0 20px 50px rgba(29,113,184,.35);

    animation:floatBadge 4s ease-in-out infinite;
}

@keyframes floatBadge{

    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-15px);
    }

}

/* CONTENT */

.values-content h2{
    color:#0f3f7a;
    font-size:clamp(34px,4vw,60px);
    line-height:1.2;
    margin-bottom:30px;
}

.values-content p{
    font-size:18px;
    line-height:2;
    color:#555;
    margin-bottom:25px;
}

/* BLOBS */

.blob{
    position:absolute;
    border-radius:50%;
    filter:blur(120px);
}

.blob1{
    width:400px;
    height:400px;
    background:#dff1ff;
    top:100px;
    left:-150px;
}

.blob2{
    width:500px;
    height:500px;
    background:#eef7ff;
    right:-200px;
    bottom:0;
}

/* PARALLAX */

.precision-banner{
    position:relative;
    min-height:60vh;

    display:flex;
    align-items:center;
    justify-content:center;

    background:url('assets/images/parax.jpeg');
    background-size:cover;
    background-position:center;
    background-attachment:fixed;

    text-align:center;
}

.overlay{
    position:absolute;
    inset:0;

    background:
    linear-gradient(rgb(15 63 122 / 90%), rgb(15 63 122 / 89%))
}

.banner-content{
    position:relative;
    z-index:2;
}

.banner-content span{
    color:#9dd8ff;
    letter-spacing:4px;
    font-weight:600;
}

.banner-content h2{
    color:white;
    font-size:62px;
    line-height:1.1;
    margin-top:20px;
}

/* SCROLL EFFECTS */

.reveal-up,
.reveal-left,
.reveal-right{
    opacity:0;
    transition:1s ease;
}

.reveal-up{
    transform:translateY(80px);
}

.reveal-left{
    transform:translateX(-100px);
}

.reveal-right{
    transform:translateX(100px);
}

.active{
    opacity:1;
    transform:none;
}

/* MOBILE */

@media(max-width:991px){

    .values-wrapper{
        grid-template-columns:1fr;
        gap:50px;
    }

    .image-shape img{
        height:450px;
    }

    .floating-badge{
        width:90px;
        height:90px;
        font-size:13px;
        right:10px;
    }

    .values-content p{
        font-size:16px;
    }

}


.light-beam{
    position:absolute;
    top:-20%;
    width:250px;
    height:150%;
    background:
    linear-gradient(
    90deg,
    transparent,
    rgba(29,113,184,.08),
    transparent);

    transform:rotate(25deg);
}

.beam1{
    left:-20%;
    animation:beamMove1 18s linear infinite;
}

.beam2{
    left:-50%;
    animation:beamMove2 25s linear infinite;
}

@keyframes beamMove1{
    from{
        left:-30%;
    }
    to{
        left:130%;
    }
}

@keyframes beamMove2{
    from{
        left:-60%;
    }
    to{
        left:150%;
    }
}



#networkCanvas{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    z-index:0;
    pointer-events:none;
    
}

.core-values-section,
.container{
    position:relative;
    z-index:2;
}
/*-xxx-------------R & D---------xxxxxx--------*/



/* ==========================
   GLOBAL
========================== */

.rnd-hero,
.rnd-overview,
.rnd-process,
.precision-banner{
    position:relative;
    overflow:hidden;
}

.container{
    width:90%;
    max-width:1300px;
    margin:auto;
}

.container-small{
    width:90%;
    max-width:1000px;
    margin:auto;
}

/* ==========================
   HERO SECTION
========================== */

.rnd-hero{

    min-height:100vh;

    display:flex;
    align-items:center;

    background:
    linear-gradient(
    135deg,
    #ffffff,
    #f4f9ff,
    #ffffff);

    padding:100px 0;
}

.rnd-hero .container{

    display:grid;
    grid-template-columns:1fr 1fr;
    gap: 70px;
    align-items: center;
    padding: 0px 30px 0px 30px;
}

.sub-title{

    display:inline-block;

    color:#1d71b8;

    font-weight:700;

    letter-spacing:3px;

    margin-bottom:20px;
}

.rnd-content h2{

    font-size:clamp(50px,7vw,90px);

    line-height:1.1;

    color:#0f3f7a;

    margin-bottom:30px;
}

.rnd-content h2 span{

    color:#1d71b8;
}

.rnd-content p{

    font-size:18px;

    line-height:2;

    color:#555;
}

/* ==========================
   HERO IMAGE
========================== */

.rnd-image{

    position:relative;
}

.image-shape{

    overflow:hidden;

    border-radius:
    120px 25px
    120px 25px;

    box-shadow:
    0 30px 70px
    rgba(0,0,0,.12);
}

.image-shape img{

    width:100%;

    height:650px;

    object-fit:cover;

    transition:1s;
}

.image-shape:hover img{

    transform:scale(1.08);
}

/* ==========================
   FLOATING CARD
========================== */

.floating-card{

    position:absolute;

    bottom:40px;
    right:-30px;

    width:280px;

    background:
    rgba(255,255,255,.9);

    backdrop-filter:blur(15px);

    padding:25px;

    border-radius:20px;

    box-shadow:
    0 20px 40px
    rgba(0,0,0,.08);

    animation:
    floatCard 4s ease-in-out infinite;
}

.floating-card h4{

    color:#0f3f7a;
    margin-bottom:10px;
}

.floating-card p{

    color:#666;
    line-height:1.7;
}

@keyframes floatCard{

    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-15px);
    }
}

/* ==========================
   BACKGROUND RINGS
========================== */

.hero-rings span{

    position:absolute;

    border:1px solid
    rgba(29,113,184,.08);

    border-radius:50%;
}

.hero-rings span:nth-child(1){

    width:400px;
    height:400px;

    top:-100px;
    right:-100px;

    animation:
    rotateRing 30s linear infinite;
}

.hero-rings span:nth-child(2){

    width:650px;
    height:650px;

    top:-200px;
    right:-200px;

    animation:
    rotateRing 50s linear infinite reverse;
}

.hero-rings span:nth-child(3){

    width:900px;
    height:900px;

    top:-300px;
    right:-300px;

    animation:
    rotateRing 70s linear infinite;
}

@keyframes rotateRing{

    from{
        transform:rotate(0deg);
    }

    to{
        transform:rotate(360deg);
    }
}

/* ==========================
   GRID BACKGROUND
========================== */

.hero-grid{

    position:absolute;
    inset:0;

    background:
    linear-gradient(
    rgba(29,113,184,.03) 1px,
    transparent 1px),

    linear-gradient(
    90deg,
    rgba(29,113,184,.03) 1px,
    transparent 1px);

    background-size:
    50px 50px;

    z-index:0;
}

/* ==========================
   OVERVIEW
========================== */

.rnd-overview{

    padding:120px 0;

    background:#fff;
}

.container-small{
    position:relative;
    z-index:2;
}


.content-box{
  position:relative;
    z-index:2;
    background:#f9fcff;

    padding:70px;

    border-radius:30px;

    box-shadow:
    0 20px 60px
    rgba(0,0,0,.05);
}

.content-box h2{

    color:#0f3f7a;

    margin-bottom:30px;

    font-size:40px;
}

.content-box p{

    color:#555;

    line-height:2;

    margin-bottom:25px;
}

/* ==========================
   TIMELINE
========================== */

.rnd-process{

    padding:120px 0;

    background:
    linear-gradient(
    #fff,
    #f7fbff);
}

.section-heading{

    text-align:center;

    margin-bottom:80px;
}

.section-heading span{

    color:#1d71b8;

    font-weight:700;

    letter-spacing:3px;
}

.section-heading h2{

    font-size:50px;

    color:#0f3f7a;

    margin-top:15px;
}

.process-timeline{

    display:grid;

    grid-template-columns:
    repeat(6,1fr);

    gap:25px;
}

.step{

    background:white;

    border-radius:25px;

    padding:35px 20px;

    text-align:center;

    box-shadow:
    0 15px 40px
    rgba(0,0,0,.05);

    transition:.4s;
}

.step:hover{

    transform:translateY(-10px);
}

.number{

    width:70px;
    height:70px;

    margin:auto auto 20px;

    border-radius:50%;

    background:#1d71b8;

    color:#fff;

    display:flex;
    align-items:center;
    justify-content:center;

    font-weight:700;
}

/* ==========================
   PARALLAX
========================== */

.precision-banner{

    min-height:80vh;

    display:flex;
    align-items:center;
    justify-content:center;

    text-align:center;

    background:url('assets/images/parax.jpeg');

    background-size:cover;
    background-position:center;
    background-attachment:fixed;
}

.overlay{

    position:absolute;
    inset:0;

    background:
    rgb(15 63 122 / 85%);
}

.banner-content{

    position:relative;
    z-index:2;
}

.banner-content span{

    color:#9ed8ff;

    letter-spacing:4px;
}

.banner-content h2{

    color:white;

    font-size:
    clamp(50px,8vw,100px);

    margin-top:20px;
}

/* ==========================
   SCROLL ANIMATIONS
========================== */

.reveal-up,
.reveal-left,
.reveal-right{

    opacity:0;

    transition:1s ease;
}

.reveal-up{

    transform:
    translateY(80px);
}

.reveal-left{

    transform:
    translateX(-100px);
}

.reveal-right{

    transform:
    translateX(100px);
}

.active{

    opacity:1;

    transform:none;
}

/* ==========================
   MOBILE
========================== */

@media(max-width:991px){

    .rnd-hero .container{

        grid-template-columns:1fr;

        gap:50px;
    }

    .rnd-content{

        text-align:center;
    }

    .image-shape img{

        height:450px;
    }

    .floating-card{

        position:relative;

        right:auto;
        bottom:auto;

        width:100%;

        margin-top:20px;
    }

    .process-timeline{

        grid-template-columns:
        repeat(2,1fr);
    }

    .content-box{

        padding:35px;
    }

    .section-heading h2{

        font-size:36px;
    }
}

@media(max-width:576px){

    .process-timeline{

        grid-template-columns:1fr;
    }

    .rnd-content h1{

        font-size:42px;
    }

    .banner-content h2{

        font-size:50px;
    }
}


.rnd-overview{
    position:relative;
    overflow:hidden;
    padding:120px 0;
    background:
    linear-gradient(
    135deg,
    #ffffff,
    #f8fbff,
    #ffffff
    );
}

/* Floating Shapes */

.floating-shapes{
    position:absolute;
    inset:0;
    pointer-events:none;
}

.shape{
    position:absolute;
    border-radius:50%;
    filter:blur(12px);
}

/* Top Left */

.shape1{
    width:180px;
    height:180px;

    background:
    radial-gradient(
    circle,
    rgba(29,113,184,.18),
    transparent 70%
    );

    top:5%;
    left:3%;

    animation:
    float1 12s ease-in-out infinite;
}

/* Right */

.shape2{
    width:220px;
    height:220px;

    background:
    radial-gradient(
    circle,
    rgba(70,160,255,.15),
    transparent 70%
    );

    top:15%;
    right:5%;

    animation:
    float2 14s ease-in-out infinite;
}

/* Bottom Left */

.shape3{
    width:250px;
    height:250px;

    background:
    radial-gradient(
    circle,
    rgba(29,113,184,.12),
    transparent 70%
    );

    bottom:0;
    left:-50px;

    animation:
    float3 18s ease-in-out infinite;
}

/* Bottom Right */

.shape4{
    width:300px;
    height:300px;

    background:
    radial-gradient(
    circle,
    rgba(70,160,255,.10),
    transparent 70%
    );

    bottom:-80px;
    right:-80px;

    animation:
    float4 20s ease-in-out infinite;
}

/* Small Glow */

.shape5{
    width:120px;
    height:120px;

    background:
    radial-gradient(
    circle,
    rgba(29,113,184,.20),
    transparent 70%
    );

    top:50%;
    left:10%;

    animation:
    pulseGlow 4s ease-in-out infinite;
}

/* Animations */

@keyframes float1{

    0%,100%{
        transform:
        translateY(0)
        translateX(0);
    }

    50%{
        transform:
        translateY(-40px)
        translateX(20px);
    }

}

@keyframes float2{

    0%,100%{
        transform:
        translateY(0)
        translateX(0);
    }

    50%{
        transform:
        translateY(30px)
        translateX(-30px);
    }

}

@keyframes float3{

    0%,100%{
        transform:
        translateY(0);
    }

    50%{
        transform:
        translateY(-50px);
    }

}

@keyframes float4{

    0%,100%{
        transform:
        translateY(0)
        rotate(0deg);
    }

    50%{
        transform:
        translateY(-30px)
        rotate(20deg);
    }

}

@keyframes pulseGlow{

    0%,100%{
        opacity:.3;
        transform:scale(1);
    }

    50%{
        opacity:.8;
        transform:scale(1.3);
    }

}


.rnd-overview{
    position:relative;
    overflow:hidden;
    padding:120px 0;
    background:#f8fbff;
}

/* Background Layer */

.rnd-bg{
    position:absolute;
    inset:0;
    pointer-events:none;
    z-index:1;
}

/* Content */

.container-small{
    position:relative;
    z-index:2;
}

/* Glass Card */

.content-box{

    background:
    rgba(255,255,255,.92);

    backdrop-filter:blur(20px);

    border-radius:35px;

    padding:70px;

    box-shadow:
    0 20px 80px
    rgba(29,113,184,.08);

    position:relative;
}

/* Bottom Wave */

.wave{

    position:absolute;

    width:180%;

    height:400px;

    left:-40%;

    opacity:.3;
}

.wave1{

    bottom:-150px;

    background:
    radial-gradient(
    ellipse at center,
    rgba(29,113,184,.15) 0%,
    transparent 70%
    );

    animation:
    waveMove 18s linear infinite;
}

.wave2{

    bottom:-200px;

    background:
    radial-gradient(
    ellipse at center,
    rgba(29,113,184,.08) 0%,
    transparent 70%
    );

    animation:
    waveMoveReverse 25s linear infinite;
}

/* Glowing Dots */

.glow-dot{

    position:absolute;

    border-radius:50%;

    background:
    rgba(29,113,184,.25);

    filter:blur(3px);
}

.dot1{
    width:12px;
    height:12px;
    top:15%;
    left:10%;
    animation:floatDot 8s infinite;
}

.dot2{
    width:18px;
    height:18px;
    top:30%;
    right:15%;
    animation:floatDot 12s infinite;
}

.dot3{
    width:14px;
    height:14px;
    bottom:20%;
    left:20%;
    animation:floatDot 10s infinite;
}

.dot4{
    width:20px;
    height:20px;
    bottom:15%;
    right:12%;
    animation:floatDot 14s infinite;
}

/* Animations */

@keyframes waveMove{

    from{
        transform:
        translateX(0);
    }

    to{
        transform:
        translateX(-200px);
    }

}

@keyframes waveMoveReverse{

    from{
        transform:
        translateX(-200px);
    }

    to{
        transform:
        translateX(0);
    }

}

@keyframes floatDot{

    0%,100%{
        transform:
        translateY(0);
    }

    50%{
        transform:
        translateY(-30px);
    }

}

/*.---------xxx----- Manufacturing---------xx----*/


/* ===================================
   GLOBAL
=================================== */

.container{
    width:90%;
    max-width:1300px;
    margin:auto;
}

.section-tag{
    color:#1d71b8;
    font-weight:700;
    letter-spacing:3px;
    display:inline-block;
    margin-bottom:15px;
}

/* ===================================
   DIVIDER
=================================== */

.section-divider{

    padding:50px 0;

    display:flex;
    justify-content:center;
}

.section-divider span{

    width:220px;
    height:2px;

    background:
    linear-gradient(
    90deg,
    transparent,
    #1d71b8,
    transparent
    );

    position:relative;
}

.section-divider span::before{

    content:'';

    position:absolute;

    width:14px;
    height:14px;

    border-radius:50%;

    background:#1d71b8;

    top:-6px;
    left:50%;

    transform:translateX(-50%);
}

/* ===================================
   MANUFACTURING SECTION
=================================== */

.manufacturing-section{

    position:relative;

    overflow:hidden;

    padding:120px 0;

    background:
    linear-gradient(
    180deg,
    #ffffff,
    #f7fbff
    );
}

.manufacturing-section .container{

    display:grid;

    grid-template-columns:
    1fr 1fr;

    gap:80px;

    align-items:center;
}

/* Floating Orbs */

.bg-orb{

    position:absolute;

    border-radius:50%;

    filter:blur(80px);

    pointer-events:none;
}

.orb1{

    width:250px;
    height:250px;

    background:
    rgba(29,113,184,.08);

    top:50px;
    right:5%;

    animation:
    floatOrb 12s infinite ease-in-out;
}

.orb2{

    width:350px;
    height:350px;

    background:
    rgba(29,113,184,.05);

    bottom:-50px;
    left:-100px;

    animation:
    floatOrb 18s infinite ease-in-out;
}

@keyframes floatOrb{

    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-40px);
    }
}

/* Image */

.shape-image{

    overflow:hidden;

    border-radius:
    80px 20px
    80px 20px;

    position:relative;

    box-shadow:
    0 25px 60px
    rgba(0,0,0,.08);
}

.shape-image img{

    width:100%;
    height:650px;

    object-fit:cover;

    transition:1s;
}

.shape-image:hover img{

    transform:scale(1.08);
}

/* Light Sweep */

.shape-image::after{

    content:'';

    position:absolute;

    inset:0;

    background:
    linear-gradient(
    120deg,
    transparent 20%,
    rgba(255,255,255,.5) 50%,
    transparent 80%
    );

    transform:
    translateX(-120%);

    transition:1.2s;
}

.shape-image:hover::after{

    transform:
    translateX(120%);
}

/* Content */

.manufacturing-content h2{

    font-size:50px;

    color:#0f3f7a;

    margin-bottom:25px;
}

.manufacturing-content p{

    color:#555;

    line-height:2;

    margin-bottom:20px;
}

/* ===================================
   WORKFLOW
=================================== */

.workflow-section{

    position:relative;

    padding:120px 0;

    background:
    linear-gradient(180deg, #e0edfa, #f7fbff);
}

.workflow-section::before{

    content:'';

    position:absolute;

    inset:0;

    background:

    linear-gradient(
    rgba(29,113,184,.03) 1px,
    transparent 1px),

    linear-gradient(
    90deg,
    rgba(29,113,184,.03) 1px,
    transparent 1px);

    background-size:
    50px 50px;
}

.workflow-section .container{
    position:relative;
    z-index:2;
}

.section-heading{

    text-align:center;

    margin-bottom:70px;
}

.section-heading span{

    color:#1d71b8;

    font-weight:700;

    letter-spacing:3px;
}

.section-heading h2{

    font-size:50px;

    color:#0f3f7a;

    margin-top:15px;
}

.workflow-grid{

    display:grid;

    grid-template-columns:
    repeat(3,1fr);

    gap:30px;
}

.workflow-card{

    background:white;

    border-radius:25px;

    padding:40px 30px;

    text-align:center;

    box-shadow:
    0 15px 40px
    rgba(0,0,0,.05);

    transition:.4s;
}

.workflow-card:hover{

    transform:
    translateY(-10px);
}

.workflow-icon{

    width:90px;
    height:90px;

    margin:auto auto 25px;

    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    background:
    linear-gradient(
    135deg,
    #1d71b8,
    #4db8ff
    );

    color:white;

    font-size:34px;

    box-shadow:
    0 15px 35px
    rgba(29,113,184,.25);

    transition:.5s;
}

.workflow-card:hover .workflow-icon{

    transform:
    rotateY(180deg);
}

.workflow-card h3{

    color:#0f3f7a;

    font-size:20px;
}

/* ===================================
   FUTURE VISION
=================================== */

.future-vision{

    position:relative;

    overflow:hidden;

    padding:120px 0;

    background:
    linear-gradient(
    135deg,
    #ffffff,
    #f3f8ff
    );
}

.future-vision::before{

    content:'';

    position:absolute;

    width:700px;
    height:700px;

    border-radius:50%;

    border:1px solid
    rgba(29,113,184,.05);

    right:-300px;
    top:-100px;
}

.future-vision .container{

    display:grid;

    grid-template-columns:
    1fr 1fr;

    gap:80px;

    align-items:center;
}

.future-content{

    position:relative;
    z-index:2;
}

.future-content h2{

    font-size:50px;

    color:#0f3f7a;

    margin-bottom:25px;
}

.future-content p{

    color:#555;

    line-height:2;

    margin-bottom:20px;
}

.future-shape{

    overflow:hidden;

    border-radius:40px;

    box-shadow:
    0 25px 60px
    rgba(0,0,0,.08);
}

.future-shape img{

    width:100%;
    height:650px;

    object-fit:cover;

    transition:1s;
}

.future-shape:hover img{

    transform:scale(1.08);
}

/* ===================================
   PARALLAX BANNER
=================================== */

.manufacturing-banner{

    min-height:70vh;

    display:flex;

    align-items:center;
    justify-content:center;

    text-align:center;

    position:relative;

    background:
    url('images/manufacturing-banner.jpg')
    center/cover;

    background-attachment:fixed;
}

.banner-overlay{

    position:absolute;

    inset:0;

    background:
    rgba(15,63,122,.75);
}

.banner-content{

    position:relative;

    z-index:2;
}

.banner-content span{

    color:#9ed8ff;

    letter-spacing:4px;
}

.banner-content h2{

    color:white;

    font-size:
    clamp(50px,7vw,90px);

    margin-top:20px;
}

/* ===================================
   SCROLL REVEAL
=================================== */

.reveal-up,
.reveal-left,
.reveal-right{

    opacity:0;

    transition:1s ease;
}

.reveal-up{

    transform:
    translateY(80px);
}

.reveal-left{

    transform:
    translateX(-100px);
}

.reveal-right{

    transform:
    translateX(100px);
}

.active{

    opacity:1;

    transform:none;
}

/* ===================================
   MOBILE
=================================== */

@media(max-width:991px){

    .manufacturing-section .container,
    .future-vision .container{

        grid-template-columns:1fr;

        gap:50px;
    }

    .workflow-grid{

        grid-template-columns:
        repeat(2,1fr);
    }

    .shape-image img,
    .future-shape img{

        height:450px;
    }

    .manufacturing-content h2,
    .future-content h2,
    .section-heading h2{

        font-size:36px;
    }
}

@media(max-width:576px){

    .workflow-grid{

        grid-template-columns:1fr;
    }

    .banner-content h2{

        font-size:42px;
    }

    .manufacturing-section,
    .workflow-section,
    .future-vision{

        padding:80px 0;
    }
}




/*----------xxxxx-------Join Us---------xxxxx---------*/

/* ==========================
JOIN US
========================== */

.join-us-section{

    position:relative;
    overflow:hidden;

    padding:120px 0;

    background:
    linear-gradient(
    180deg,
    #ffffff,
    #f7fbff
    );
}

.join-grid{

    display:grid;

    grid-template-columns:
    1fr 1fr;

    gap:80px;

    align-items:center;
}

.join-content h2{

    font-size:52px;

    color:#0f3f7a;

    margin-bottom:10px;
}

.join-content h3{

    color:#1d71b8;

    margin-bottom:25px;

    font-size:26px;
}

.join-content p{

    line-height:2;

    color:#555;

    margin-bottom:20px;
}

/* IMAGE */

.image-wrapper{

    overflow:hidden;

    border-radius:
    80px 20px
    80px 20px;

    position:relative;

    box-shadow:
    0 25px 60px
    rgba(0,0,0,.08);
}

.image-wrapper img{

    width:100%;
    height:650px;

    object-fit:cover;

    transition:1s;
}

.image-wrapper:hover img{

    transform:scale(1.08);
}

.image-wrapper::after{

    content:'';

    position:absolute;

    inset:0;

    background:
    linear-gradient(
    120deg,
    transparent 20%,
    rgba(255,255,255,.4) 50%,
    transparent 80%
    );

    transform:
    translateX(-120%);

    transition:1.2s;
}

.image-wrapper:hover::after{

    transform:
    translateX(120%);
}

/* FLOATING SHAPES */

.join-bg-shape{

    position:absolute;

    border-radius:50%;

    filter:blur(80px);
}

.shape1{

    width:250px;
    height:250px;

    top:60px;
    right:5%;

    background:
    rgba(29,113,184,.08);

    animation:
    floatShape 10s infinite ease-in-out;
}

.shape2{

    width:350px;
    height:350px;

    left:-100px;
    bottom:-50px;

    background:
    rgba(29,113,184,.05);

    animation:
    floatShape 15s infinite ease-in-out;
}

@keyframes floatShape{

    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-40px);
    }
}

/* CULTURE STRIP */

.culture-strip{

    padding:80px 30px;

    background:#f7fbff;
}

.culture-strip .container{

    display:grid;

    grid-template-columns:
    repeat(4,1fr);

    gap:25px;
}

.culture-card{

    background:white;

    padding:35px;

    text-align:center;

    border-radius:20px;

    box-shadow:
    0 15px 35px
    rgba(0,0,0,.05);

    transition:.4s;
}

.culture-card:hover{

    transform:
    translateY(-10px);
}

.culture-card h4{
    font-weight: 600;
    font-size: 20px;
    color:#0f3f7a;
}

/* QUOTE */

.join-quote{

    padding:120px 0;

    text-align:center;

    background:
    linear-gradient(
    135deg,
    #0f3f7a,
    #1d71b8
    );
}

.join-quote h2{

    color:white;

    font-size:
    clamp(40px,6vw,70px);

    line-height:1.3;
}

/* MOBILE */

@media(max-width:991px){

    .join-grid{

        grid-template-columns:1fr;

        gap:50px;
    }

    .culture-strip .container{

        grid-template-columns:
        repeat(2,1fr);
    }

    .image-wrapper img{

        height:450px;
    }
}

@media(max-width:576px){

    .culture-strip .container{

        grid-template-columns:1fr;
    }

    .join-content h2{

        font-size:38px;
    }

    .join-content h3{

        font-size:22px;
    }
}

.join-quote{

    position:relative;

    min-height:300px;

    display:flex;
    align-items:center;
    justify-content:center;

    text-align:center;

    overflow:hidden;

    background:
    url('assets/images/parax.jpeg')
    center center/cover;

    background-attachment:fixed;
}

.quote-overlay{

    position:absolute;

    inset:0;

    background:
    linear-gradient(
    135deg,
    rgba(15,63,122,.85),
    rgba(29,113,184,.75)
    );
}

.join-quote .container{

    position:relative;
    z-index:2;
}

.join-quote h2{

    color:#fff;

    font-size:53px;

    max-width:900px;

    margin:auto;

    line-height:1.2;
}





/*------------contact page-------------*/


/* ====================================
CONTACT SECTION
==================================== */

.contact-section{

    padding:120px 0;

    background:
    linear-gradient(
    180deg,
    #ffffff,
    #f7fbff
    );

    overflow:hidden;
}

.contact-grid{

    display:grid;

    grid-template-columns:
    1.2fr .8fr;

    gap:60px;

    align-items:start;
}

/* ====================================
FORM
==================================== */

.contact-form{

    background:#fff;

    padding:50px;

    border-radius:30px;

    box-shadow:
    0 20px 60px
    rgba(0,0,0,.06);

    transition:.4s;
}

.contact-form:hover{

    transform:
    translateY(-5px);
}

.contact-form h2{

    font-size:42px;

    color:#0f3f7a;

    margin-bottom:30px;
}

.form-group{

    margin-bottom:20px;
}

.contact-form input,
.contact-form textarea{

    width:100%;

    border:none;

    outline:none;

    padding:18px 22px;

    border-radius:15px;

    background:#f7fbff;

    transition:.3s;

    font-size:15px;
}

.contact-form textarea{

    resize:none;
}

.contact-form input:focus,
.contact-form textarea:focus{

    background:#fff;

    box-shadow:
    0 0 0 2px
    rgba(29,113,184,.25);
}

.contact-form button{

    border:none;

    background:
    linear-gradient(
    135deg,
    #0f3f7a,
    #1d71b8
    );

    color:#fff;

    padding:16px 40px;

    border-radius:14px;

    cursor:pointer;

    font-size:15px;

    transition:.4s;
}

.contact-form button:hover{

    transform:
    translateY(-3px);

    box-shadow:
    0 15px 30px
    rgba(29,113,184,.25);
}

/* ====================================
INFO SIDE
==================================== */

.contact-info{

    display:flex;

    flex-direction:column;

    gap:25px;
}

/* ====================================
INFO CARD
==================================== */

.info-card{

    background:#fff;

    border-radius:25px;

    padding:35px;

    box-shadow:
    0 15px 40px
    rgba(0,0,0,.05);

    transition:.4s;

    border:
    1px solid
    rgba(29,113,184,.08);
}

.info-card:hover{

    background:
    linear-gradient(
    135deg,
    #0f3f7a,
    #1d71b8
    );

    transform:
    translateY(-10px);
}

.info-card:hover p,
.info-card:hover h4,
.info-card:hover .icon{

    color:#fff;
}

/* ====================================
ICONS
==================================== */

.icon{

    width:70px;
    height:70px;

    border-radius:18px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:
    linear-gradient(
    135deg,
    #1d71b8,
    #4db8ff
    );

    color:#fff;

    font-size:28px;

    margin-bottom:20px;

    transition:.5s;
}

.info-card:hover .icon{

    transform:
    rotateY(180deg)
    scale(1.1);

    background:#fff;

    color:#1d71b8;
}

.info-card h4{

    color:#0f3f7a;

    margin-bottom:12px;

    transition:.4s;
}

.info-card p{

    color:#666;

    line-height:1.9;

    transition:.4s;

    margin:0;
}

/* ====================================
SCROLL REVEAL
==================================== */


/* ====================================
STAGGER DELAYS
==================================== */

.info-card:nth-child(1){

    transition-delay:.1s;
}

.info-card:nth-child(2){

    transition-delay:.3s;
}

.info-card:nth-child(3){

    transition-delay:.5s;
}

/* ====================================
BACKGROUND BLOBS
==================================== */

.contact-section::before{

    content:'';

    position:absolute;

    width:250px;
    height:250px;

    border-radius:50%;

    background:
    rgba(29,113,184,.06);

    filter:blur(80px);

    top:50px;
    right:50px;

    animation:
    floatBlob 12s ease-in-out infinite;
}

.contact-section::after{

    content:'';

    position:absolute;

    width:300px;
    height:300px;

    border-radius:50%;

    background:
    rgba(29,113,184,.04);

    filter:blur(100px);

    bottom:0;
    left:-100px;

    animation:
    floatBlob 18s ease-in-out infinite;
}

@keyframes floatBlob{

    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-40px);
    }
}

/* ====================================
MOBILE
==================================== */

@media(max-width:991px){

    .contact-grid{

        grid-template-columns:1fr;

        gap:40px;
    }

    .contact-form{

        padding:35px;
    }

    .contact-form h2{

        font-size:34px;
    }
}

@media(max-width:576px){

    .contact-section{

        padding:80px 0;
    }

    .contact-form{

        padding:25px;
    }

    .info-card{

        padding:25px;
    }

    .icon{

        width:60px;
        height:60px;

        font-size:24px;
    }
}




/*----------xxxxx-------------home page bottom widget---------xxx-----*/


.focus-section{
    padding:20px 20px;
    background:#f8fafc;
}

.container{
    max-width:1200px;
    margin:auto;
}

.section-title{
    font-size:clamp(2rem,5vw,5rem);
    margin-bottom:80px;
}

.card-stack{
    position:relative;
}

.stack-item{
    position:sticky;
    margin-bottom:30px;
}

.focus-card{
    display:grid;
    grid-template-columns:1fr 1fr;
    min-height:80vh;
    overflow:hidden;
    border-radius:30px;
    background:#0f3d7a;
    color:#fff;
    box-shadow:0 20px 60px rgba(0,0,0,.2);
}

.card-image{
    position:relative;
}

.card-image img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.card-content{
    padding:80px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.card-tag{
    display:flex;
    align-items:center;
    gap:15px;
    text-transform:uppercase;
    letter-spacing:2px;
    margin-bottom:30px;
}

.line{
    width:50px;
    height:1px;
    background:rgba(255,255,255,.4);
}

.focus-card h3{
    font-size:clamp(2rem,4vw,4.5rem);
    margin-bottom:20px;
        line-height: 69px;
}

.focus-card p{
    font-size:18px;
    line-height:1.8;
    max-width:500px;
}

.focus-card a{
    margin-top:30px;
    color:#f4c96a;
    text-decoration:none;
}

@media(max-width:768px){

    .focus-card{
        grid-template-columns:1fr;
        min-height:auto;
    }

    .card-image{
        height:260px;
    }

    .card-content{
        padding:30px;
    }

}


.offer-section{
    max-width:1200px;
    margin:auto;
    padding:60px 20px 0px 20px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:60px;
}

.offer-content{
    flex:1;
}

.sub-title{
    color:#0a7c5d;
    font-size:14px;
    letter-spacing:3px;
    font-weight:600;
}

.offer-content h2{
    font-size:clamp(2.5rem,5vw,5rem);
    margin:15px 0;
    line-height:1.1;
}

.offer-content p{
    max-width:550px;
    font-size:18px;
    line-height:1.8;
    color:#666;
}

.offer-btn{
    display:inline-block;
    margin-top:30px;
    padding:14px 30px;
    background:#0a7c5d;
    color:#fff;
    text-decoration:none;
    border-radius:50px;
    transition:.3s;
}

.offer-btn:hover{
    transform:translateY(-3px);
}

.quality-badge{
    position: absolute;
    width: 180px;
    height: 180px;
        left: 81%;
    top: 215%;
}

.badge-ring{
    width:100%;
    height:100%;
    animation:spin 18s linear infinite;
}

.circle-text{
    fill:#000;
    font-size:17px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
}

.center-text{
    position:absolute;
    inset:0;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
}

.center-text h3{
    font-size:14px;
    margin:0;
    color:#000;
}

.center-text p{
    margin-top:0px;
    color:#666;
    font-size:9px;
}

@keyframes spin{
    from{
        transform:rotate(0deg);
    }
    to{
        transform:rotate(360deg);
    }
}

@media(max-width:768px){

    .offer-section{
        flex-direction:column;
        text-align:center;
        gap:50px;
    }

    .offer-content p{
        margin:auto;
    }

    .quality-badge{
        width:220px;
        height:220px;
    }

    .center-text h3{
        font-size:28px;
    }

}

.hero-title-wrap{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:60px;
    margin-bottom:40px;
}

.hero-title{
    flex:1;
}

.intro-title{
    font-size:clamp(2.6rem,5vw,4.6rem);
    line-height:1.1;
    margin:0;
}

.quality-badge{
    flex-shrink:0;
    width:190px;
    height:190px;
}

.badge-ring{
    width:100%;
    height:100%;
}

/* Mobile */

@media(max-width:992px){

    .hero-title-wrap{

        flex-direction:column;

        text-align:center;

        gap:30px;

    }

    .quality-badge{

        width:150px;

        height:150px;

    }

}




