/* ==========================
   GLOBAL STYLES
========================== */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
     font-family:'Inter',sans-serif;
    background:#ffffff;
    color:#111111;
    overflow-x:hidden;
    line-height:1.9;
}

/* Animated Background */

body::before{
    content:'';
    position:fixed;
    inset:0;
    background:
    radial-gradient(circle at 10% 20%, rgba(0,212,255,.12), transparent 25%),
    radial-gradient(circle at 90% 40%, rgba(111,76,255,.12), transparent 25%),
    radial-gradient(circle at 50% 90%, rgba(0,255,170,.08), transparent 30%);
    pointer-events:none;
    z-index:-1;
}
h1,h2,h3,h4,h5,h6{
    color:#111111 !important;
}

/* =================================
   FULL WIDTH BLOG HEADER
================================= */

/* =================================
   FULL WIDTH PROFESSIONAL HEADER
================================= */

.hero{

    width:100%;

    height:500px;

    background:#071d49;

    display:flex;

    align-items:center;

    justify-content:center;

    text-align:center;

    padding:0 60px;

    position:relative;

    overflow:hidden;
}

/* background decorations */

.hero::before{

    content:"";

    position:absolute;

    width:800px;
    height:800px;

    border-radius:50%;

    background:rgba(255,255,255,.04);

    right:-250px;
    top:-300px;
}

.hero::after{

    content:"";

    position:absolute;

    width:600px;
    height:600px;

    border-radius:50%;

    background:rgba(0,212,255,.06);

    left:-200px;
    bottom:-250px;
}

.hero-content{

    max-width:1400px;

    width:100%;

    position:relative;

    z-index:2;
}

/* TITLE */

.hero h1{

    color:#ffffff !important;

    font-size:50px;

    font-weight:700;

    line-height:1.08;

    letter-spacing:-2px;

    max-width:1200px;

    margin:auto;

    margin-bottom:25px;
}

/* SUBTITLE */

.hero p{

    color:#dbe7ff !important;

    font-size:20px;

    font-weight:600;
}
@keyframes letterReveal{

    0%{
        opacity:0;
        transform:translateY(60px);
    }

    100%{
        opacity:1;
        transform:translateY(0);
    }

}


.stats{
    max-width:1300px;
    margin:auto;
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:25px;
    padding:80px 20px;
}

.card{
    background:rgba(255,255,255,.05);
    border:2px solid #dce5f1;
    border-radius:25px;
    padding:40px;
    backdrop-filter:blur(15px);
    transition:.4s;
    position:relative;
    overflow:hidden;
}

.card::before{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(
    135deg,
    rgba(0,212,255,.15),
    transparent
    );
    opacity:0;
    transition:.4s;
}

.card:hover{
    transform:translateY(-12px);
    border-color:#00d4ff;
    box-shadow:0 20px 50px rgba(0,212,255,.15);
}

.card:hover::before{
    opacity:1;
}

.card h2{
     color:#0077ff;
    font-size:54px;
    margin-bottom:15px;
}

.card p{
    color:#222222;
}

/* ==========================
   CONTENT SECTIONS
========================== */

.content,
.ai-agents-section,
.migration-framework,
.why-logics-section{
    max-width:1200px;
    margin:auto;
    padding:100px 20px;
}
.content h2{
    font-size:56px;
    font-weight:800;
    margin-bottom:35px;
    position:relative;
}
.content h2::after{
    content:'';
    display:block;
    width:120px;
    height:5px;

    background:#ffd54a;

    margin-top:15px;
    border-radius:20px;
} 	

.content p{
    color:#222222;
    font-size:20px;
    line-height:1.95;
    margin-bottom:25px;
}

/* ==========================
   FLOW SECTION
========================== */

.flow{
    max-width:1300px;
    margin:auto;
    padding:100px 20px;
}

.flow h2{
    text-align:center;
    margin-bottom:60px;
    font-size:48px;
}

/* ==========================
   AI TRANSFORMATION FLOW
========================== */

.flow{

    background:#081b38;

    border-radius:40px;

    padding:100px 60px;

    margin:120px auto;

    overflow:hidden;

    position:relative;
}

.flow h2{

    color:white !important;

    text-align:center;

    font-size:58px;

    margin-bottom:90px;
}

.flow-row{

    display:flex;

    flex-direction:column;

    gap:25px;

    position:relative;
}

.flow-row div{

    width:320px;

    background:white;

    color:#081b38;

    padding:20px 25px;

    border-radius:18px;

    font-size:18px;

    font-weight:700;

    position:relative;

    transition:.4s;

    box-shadow:
    0 15px 40px rgba(0,0,0,.15);
}

/* Staircase Layout */

.flow-row div:nth-child(1){
    margin-left:0;
}

.flow-row div:nth-child(2){
    margin-left:120px;
}

.flow-row div:nth-child(3){
    margin-left:240px;
}

.flow-row div:nth-child(4){
    margin-left:360px;
}

.flow-row div:nth-child(5){
    margin-left:480px;
}

.flow-row div:nth-child(6){
    margin-left:600px;
}

/* Numbering */

.flow-row div:nth-child(1)::before{
    content:"01";
}

.flow-row div:nth-child(2)::before{
    content:"02";
}

.flow-row div:nth-child(3)::before{
    content:"03";
}

.flow-row div:nth-child(4)::before{
    content:"04";
}

.flow-row div:nth-child(5)::before{
    content:"05";
}

.flow-row div:nth-child(6)::before{
    content:"06";
}

.flow-row div::before{

    position:absolute;

    left:-18px;

    top:50%;

    transform:translateY(-50%);

    width:45px;
    height:45px;

    background:#00d4ff;

    color:white;

    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:14px;
    font-weight:800;

    box-shadow:
    0 0 25px rgba(0,212,255,.6);
}
.flow-row div:not(:last-child)::after{

    content:"";

    position:absolute;

    width:110px;
    height:80px;

    right:-90px;
    top:65%;

    border-right:4px dashed #00d4ff;
    border-bottom:4px dashed #00d4ff;

    border-radius:0 0 60px 0;

    animation:pulsePath 2s infinite;
}

@keyframes pulsePath{

    0%{
        opacity:.4;
    }

    50%{
        opacity:1;
    }

    100%{
        opacity:.4;
    }
}
.flow-row div:not(:last-child)::before{

    z-index:2;
}
.flow-row div:not(:last-child) span.arrow-head{
    display:none;
}

.flow-row div:not(:last-child)::after{

    box-shadow:
    0 0 15px rgba(0,212,255,.5),
    0 0 30px rgba(0,212,255,.3);
}

/* Hover */

.flow-row div:hover{

    transform:
    translateY(-8px)
    scale(1.04);

    background:#e8f7ff;

    box-shadow:
    0 20px 50px rgba(0,212,255,.35);
}

.flow-row div:hover{
    transform:translateY(-10px);
    border-color:#00d4ff;
}

.flow-row div{

    opacity:0;

    transform:
    translateY(80px)
    scale(.95);

    transition:
    opacity .8s ease,
    transform .8s ease;
}

.flow-row div.show{

    opacity:1;

    transform:
    translateY(0)
    scale(1);
}

/* ==========================
   AI AGENTS BOXES
========================== */

.usecase-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:25px;
}

.usecase-box{
    background:rgba(255,255,255,.04);
    border:2px solid #dce5f1;
    border-radius:24px;
    padding:35px;
    text-align:center;
    transition:.4s;
    animation:slideUp .8s ease forwards;
    opacity:0;
}

.usecase-box:nth-child(1){animation-delay:.2s;}
.usecase-box:nth-child(2){animation-delay:.4s;}
.usecase-box:nth-child(3){animation-delay:.6s;}
.usecase-box:nth-child(4){animation-delay:.8s;}

.usecase-box:hover{
    transform:translateY(-10px);
    box-shadow:0 20px 40px rgba(0,212,255,.12);
}

.usecase-box h3{
    font-size:22px;
}
.usecase-box{
    border:2px solid #d7e3f3;
    background:#ffffff;
}

.usecase-box h3{
    color:#111111;
    font-size:24px;
    font-weight:700;
}
/* ==========================
   USE CASE FLOAT ANIMATION
========================== */

.usecase-box{

    opacity:0;

    transform:
    translateY(80px)
    scale(.95);

    transition:
    opacity .8s ease,
    transform .8s ease;
}

.usecase-box.show{

    opacity:1;

    transform:
    translateY(0)
    scale(1);
}

.usecase-box:hover{

    transform:
    translateY(-12px)
    scale(1.03);

    box-shadow:
    0 20px 50px rgba(0,212,255,.25);
}

/* ==========================
   TIMELINE
========================== */

.timeline{
    position:relative;
    max-width:1000px;
    margin:auto;
}

.timeline::before{
    content:'';
    position:absolute;
    left:40px;
    top:0;
    width:3px;
    height:100%;
    background:linear-gradient(#00d4ff,#7f5cff);
}

.timeline-item{
    display:flex;
    gap:30px;
    margin-bottom:40px;
}

.timeline-number{
    width:80px;
    height:80px;
    min-width:80px;
    border-radius:50%;
    background:linear-gradient(135deg,#00d4ff,#7f5cff);
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:700;
    font-size:24px;
}

.timeline-content{
    background:rgba(255,255,255,.05);
    border-radius:25px;
    padding:30px;
    border:2px solid #dce5f1;
    flex:1;
    transition:.4s;
}

.timeline-content:hover{
    transform:translateX(10px);
    border-color:#00d4ff;
}

/* ==========================
   BENEFITS CARDS
========================== */

.benefits-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:25px;
    margin-top:60px;
}

.benefit-card{
    background:rgba(255,255,255,.05);
    border:2px solid #dce5f1;
    padding:35px;
    border-radius:25px;
    transition:.4s;
}

.benefit-card:hover{
    transform:translateY(-12px);
    border-color:#00d4ff;
    box-shadow:0 20px 40px rgba(0,212,255,.15);
}
.benefit-card{
    background:#ffffff;
    border:2px solid #d7e3f3;
}

.number{
    width:60px;
    height:60px;
    border-radius:50%;
    background:linear-gradient(135deg,#00d4ff,#7f5cff);
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:700;
    margin-bottom:20px;
}

/* ==========================
   LISTS
========================== */

ol,
ul{
    margin-left:30px;
    margin-top:20px;
}

li{
    margin-bottom:15px;
    font-weight:600;
}

/* ==========================
   REVEAL ANIMATION
========================== */

.reveal{
    opacity:0;
    transform:translateY(80px);
}

.reveal.active{
    opacity:1;
    transform:translateY(0);
    transition:1s ease;
}

/* ==========================
   KEYFRAMES
========================== */

@keyframes fadeUp{
    from{
        opacity:0;
        transform:translateY(60px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

@keyframes slideUp{
    from{
        opacity:0;
        transform:translateY(70px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

/* ==========================
   RESPONSIVE
========================== */

@media(max-width:768px){

.hero h1{
    font-size:42px;
}

.content h2,
.flow h2{
    font-size:34px;
}

.timeline::before{
    left:30px;
}

.timeline-number{
    width:60px;
    height:60px;
    min-width:60px;
    font-size:18px;
}
.timeline-content{
    background:#ffffff;
    border:2px solid #dce5f1;
}

}



.hero,
.stats,
.content,
.flow,
.ai-agents-section,
.migration-framework,
.why-logics-section{
    width:100% !important;
     max-width:1350px;
    padding:100px 40px;
    margin:auto !important;
}

strong{
    background:#fff3b0;
    padding:2px 6px;
    border-radius:5px;
}


/* ==========================
   FRAMEWORK GRID
========================== */

.framework-grid{

    display:grid;

    grid-template-columns:
    repeat(auto-fit,minmax(280px,1fr));

    gap:25px;

    margin-top:50px;
}

.framework-card{

    background:white;

    border:2px solid #dce5f1;

    border-radius:20px;

    padding:35px;

    transition:.4s;
}

.framework-card:hover{

    transform:
    translateY(-10px);

    border-color:#0d6efd;

    box-shadow:
    0 20px 40px rgba(13,110,253,.15);
}

.framework-card span{

    width:60px;
    height:60px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:#071d49;

    color:white;

    font-weight:800;

    margin-bottom:20px;
}

.framework-card h3{

    color:#111;

    font-size:22px;

    font-weight:700;
}


/* ==========================
   MISTAKE CARDS
========================== */

.mistakes-grid{

    display:grid;

    grid-template-columns:
    repeat(auto-fit,minmax(350px,1fr));

    gap:25px;

    margin-top:50px;
}

.mistake-card{

    background:#fffdf8;

    border-left:6px solid #ffc107;

    border-radius:18px;

    padding:30px;

    transition:.4s;

    border-top:1px solid #eee;
    border-right:1px solid #eee;
    border-bottom:1px solid #eee;
}

.mistake-card:hover{

    transform:
    translateY(-8px);

    box-shadow:
    0 15px 35px rgba(255,193,7,.15);
}

.mistake-card h3{

    color:#111;

    font-size:24px;

    margin-bottom:15px;
}

.mistake-card p{

    color:#333;

    line-height:1.8;
}


   


.framework-card,
.mistake-card{

    opacity:0;

    transition:
    opacity .8s ease,
    transform .8s ease;
}

.framework-card:nth-child(odd),
.mistake-card:nth-child(odd){

    transform:
    translateX(-120px)
    rotate(-10deg)
    scale(.85);
}

.framework-card:nth-child(even),
.mistake-card:nth-child(even){

    transform:
    translateX(120px)
    rotate(10deg)
    scale(.85);
}

.framework-card.show,
.mistake-card.show{

    opacity:1;

    transform:
    translateX(0)
    rotate(0deg)
    scale(1);
}

.mistake-card::before{

    content:"";

    position:absolute;

    inset:0;

    background:
    linear-gradient(
    90deg,
    transparent,
    rgba(0,212,255,.12),
    transparent
    );

    opacity:0;

    pointer-events:none;
}

.mistake-card:hover::before{

    opacity:1;

    animation:scanGlitch .5s linear;
}

@keyframes scanGlitch{

    0%{

        clip-path:
        inset(0 0 85% 0);
    }

    20%{

        clip-path:
        inset(20% 0 55% 0);
    }

    40%{

        clip-path:
        inset(50% 0 20% 0);
    }

    60%{

        clip-path:
        inset(10% 0 70% 0);
    }

    80%{

        clip-path:
        inset(70% 0 5% 0);
    }

    100%{

        clip-path:
        inset(100% 0 0 0);
    }
}


/* =================================
   CLIENT TESTIMONIALS
================================= */

.client-testimonials{

    padding:120px 0;

    background:#ffffff;

    overflow:hidden;
}

.client-testimonials h2{

    text-align:center;

    font-size:58px;

    font-weight:900;

    color:#111;

    margin-bottom:80px;
}

.testimonial-slider{

    width:100%;

    overflow:hidden;
}

.testimonial-track{

    display:flex;

    gap:35px;

    width:max-content;

    animation:testimonialScroll 40s linear infinite;
}

.testimonial-box{

    width:380px;

    min-height:480px;

    background:#071d49;

    border-radius:35px;

    padding:35px;

    flex-shrink:0;

    text-align:center;

    position:relative;

    transition:.4s;

    border:2px solid rgba(255,255,255,.08);
}

.testimonial-box:hover{

    transform:translateY(-12px);

    box-shadow:
    0 25px 60px rgba(7,29,73,.35);
}

.testimonial-box img{

    height:180px;

    width:auto;

    object-fit:contain;

    margin-bottom:20px;
}

.stars{

    color:#FFC107;

    font-size:26px;

    letter-spacing:4px;

    margin-bottom:18px;
}

.testimonial-box h3{

    color:white;

    font-size:24px;

    margin-bottom:18px;

    font-weight:800;
}

.testimonial-box p{

    color:#d9e6ff;

    font-size:16px;

    line-height:1.9;
}

/* Pause on Hover */

.testimonial-slider:hover .testimonial-track{

    animation-play-state:paused;
}

@keyframes testimonialScroll{

    from{
        transform:translateX(0);
    }

    to{
        transform:translateX(-50%);
    }
}

.testimonial-box h3{

    color:#ffffff !important;

    font-size:24px;

    font-weight:800;

    letter-spacing:.5px;

    margin-bottom:15px;

    text-transform:capitalize;
}


/* ==========================
   CONTACT SECTION
========================== */

.contact-section{

    padding:120px 20px;

    background:#ffffff;

    max-width:1400px;

    margin:auto;
}

.contact-header{

    text-align:center;

    margin-bottom:70px;
}

.contact-tag{

    background:#e8f2ff;

    color:#071d49;

    padding:10px 22px;

    border-radius:50px;

    font-weight:700;

    display:inline-block;

    margin-bottom:25px;
}

.contact-header h2{

    font-size:58px;

    font-weight:900;

    color:#111;

    max-width:900px;

    margin:auto;

    margin-bottom:20px;
}

.contact-header p{

    font-size:20px;

    color:#444;

    max-width:800px;

    margin:auto;
}

.contact-wrapper{

    display:grid;

    grid-template-columns:1.2fr .8fr;

    gap:40px;
}

/* FORM */

.contact-form-box{

    background:#071d49;

    padding:50px;

    border-radius:35px;
}

.contact-form-box h3{

    color:#fff;

    font-size:32px;

    margin-bottom:30px;
}

.form-group{

    margin-bottom:20px;
}

.contact-form-box input,
.contact-form-box select,
.contact-form-box textarea{

    width:100%;

    padding:18px 20px;

    border:none;

    border-radius:15px;

    font-size:16px;

    outline:none;

    background:white;

    color:#111;
}

.contact-form-box textarea{

    height:160px;

    resize:none;
}

.contact-form-box button{

    width:100%;

    border:none;

    background:#FFC107;

    color:#111;

    font-size:18px;

    font-weight:800;

    padding:18px;

    border-radius:15px;

    cursor:pointer;

    transition:.3s;
}

.contact-form-box button:hover{

    transform:translateY(-4px);

    box-shadow:
    0 15px 30px rgba(255,193,7,.3);
}

/* INFO SIDE */

.contact-info-box{

    display:flex;

    flex-direction:column;

    gap:20px;
}

.info-card{

    background:#f5f8fc;

    border:2px solid #e5ebf3;

    padding:25px;

    border-radius:22px;

    transition:.3s;
}

.info-card:hover{

    transform:translateY(-6px);
}

.info-card h4{

    color:#071d49;

    margin-bottom:10px;
}

.info-card p{

    color:#222;
}

.cta-box{

    background:#071d49;

    padding:35px;

    border-radius:25px;

    margin-top:10px;
}

.cta-box h3{

    color:white;

    margin-bottom:15px;
}

.cta-box p{

    color:#dce8ff;
}

/* MOBILE */

@media(max-width:900px){

.contact-wrapper{

    grid-template-columns:1fr;
}

.contact-header h2{

    font-size:40px;
}

}



.contact-form-box,
.info-card,
.cta-box{

    transition:.4s;
}

.contact-form-box:hover,
.cta-box:hover{

    transform:translateY(-8px);
}


/* ==========================
   CONTACT SECTION TEXT FIXES
========================== */

.contact-form-box h3{
    color:#ffffff !important;
}

.contact-form-box p{
    color:#dbe7ff !important;
}

.contact-form-box label{
    color:#ffffff !important;
}

.cta-box h3{
    color:#ffffff !important;
}

.cta-box p{
    color:#dbe7ff !important;
}

.contact-header h2{
    color:#111111;
}

.contact-header p{
    color:#333333;
}


/* ==========================
   CONTACT ANIMATIONS
========================== */

.contact-header{
    opacity:0;
    transform:translateY(-50px);
    transition:1s ease;
}

.contact-form-box{
    opacity:0;
    transform:translateX(-120px);
    transition:1s ease;
}

.contact-info-box{
    opacity:0;
    transform:translateX(120px);
    transition:1s ease;
}

/* Active State */

.contact-header.show,
.contact-form-box.show,
.contact-info-box.show{

    opacity:1;
    transform:translate(0);
}


