/*=========================================================
HOME PAGE - HERO
=========================================================*/

.hero{

    position:relative;

    min-height:60vh;

    padding:20px 0 30px;

    display:flex;

    align-items:center;

    margin-top:82px;

    overflow:hidden;

    background:
        linear-gradient(
            90deg,
            rgba(6,20,55,.92) 0%,
            rgba(6,20,55,.82) 35%,
            rgba(6,20,55,.45) 65%,
            rgba(6,20,55,.18) 100%
        ),
        url("../images/hero-banner.png");

    background-size:cover;

    background-position:center;

    background-repeat:no-repeat;

}

.hero-overlay{

    display:none;

}

.hero .container{

    position:relative;

    z-index:2;

    width:min(1400px,92%);

    margin:auto;

}

.hero-content{

    max-width:640px;

    padding:40px;

    border-radius:24px;

    background:rgba(8,22,60,.18);

    backdrop-filter:blur(6px);

}

/*=========================================
BADGE
=========================================*/

.hero-badge{

    display:inline-flex;

    align-items:center;

    padding:7px 18px;

    border-radius:40px;

    margin-bottom:12px;

    background:rgba(255,255,255,.10);

    border:1px solid rgba(255,255,255,.18);

    backdrop-filter:blur(10px);

    color:#fff;

    font-size:13px;

    font-weight:500;

}

/*=========================================
HEADING
=========================================*/

.hero h1{

    margin:0;

    font-size:60px;

    text-shadow:0 8px 30px rgba(0,0,0,.35);

    line-height:1.02;

    font-weight:800;

    color:#fff;

    letter-spacing:-2px;

}

.hero h1 span{

    display:block;

    color:#FF9800;

}

/*=========================================
PARAGRAPH
=========================================*/

.hero p{

    margin:18px 0 24px;

    max-width:620px;

    color:#E5E7EB;

    font-size:18px;

    line-height:1.6;

}

/*=========================================
BUTTONS
=========================================*/

.hero-buttons{

    display:flex;

    gap:16px;

    flex-wrap:wrap;

}

.btn-primary{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    width:190px;

    height:50px;

    border-radius:14px;

    box-shadow:0 12px 35px rgba(255,152,0,.35);

    background:#FF9800;

    color:#fff;

    font-size:15px;

    font-weight:600;

    transition:.3s;

}

.btn-primary:hover{

    background:#f57c00;

    transform:translateY(-4px);

    box-shadow:0 20px 45px rgba(255,152,0,.45);

}

.btn-secondary{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    width:190px;

    height:50px;

    border-radius:12px;

    border:1.5px solid rgba(255,255,255,.5);

    color:#fff;

    font-size:15px;

    font-weight:600;

    background:transparent;

    transition:.3s;

}

.btn-secondary:hover{

    background:#fff;

    color:#081B4B;

}

/*=========================================
RESPONSIVE
=========================================*/

@media(max-width:991px){

.hero{

    min-height:620px;

    padding:60px 0;

    margin-top:74px;

    background-position:center;

}

.hero-content{

    text-align:center;

    margin:auto;

}

.hero h1{

    font-size:48px;

}

.hero p{

    font-size:18px;

    margin:20px auto 28px;

}

.hero-buttons{

    justify-content:center;

}

}

@media(max-width:576px){

.hero{

    min-height:560px;

    padding:45px 0;

}

.hero h1{

    font-size:36px;

    line-height:1.15;

}

.hero-badge{

    font-size:13px;

    padding:8px 18px;

}

.hero p{

    font-size:16px;

    line-height:1.7;

}

.hero-buttons{

    flex-direction:column;

    align-items:center;

    gap:14px;

}

.btn-primary,
.btn-secondary{

    width:100%;
    max-width:250px;

}

}
/*=========================================================
OUR SOLUTIONS
=========================================================*/

.solutions{

     padding:70px 0 60px;

    background:#F8FBFF;

}

.section-heading{

    max-width:760px;

    margin:0 auto 40px;

    text-align:center;

}

.section-heading span{

    display:inline-block;

    padding:10px 22px;

    margin-bottom:14px;

    border-radius:40px;

    background:#EAF3FF;

    color:#2F80ED;

    font-size:14px;

    font-weight:600;

    letter-spacing:1px;

    text-transform:uppercase;

}

.section-heading h2{

    margin:0;

    color:#0F172A;

    font-size:44px;

    line-height:1.2;

    font-weight:700;

}

.section-heading p{

    margin-top:25px;

    color:#64748B;

    font-size:18px;

    line-height:1.8;

}

/*=========================================
GRID
=========================================*/

.solutions-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

}

/*=========================================
CARD
=========================================*/

.solution-card{

    background:#ffffff;

    border-radius:18px;

    padding:40px;

    border:1px solid #EDF2F7;

    transition:.35s;

    box-shadow:0 10px 30px rgba(15,23,42,.05);

}

.solution-card:hover{

    transform:translateY(-8px);

    box-shadow:0 20px 45px rgba(15,23,42,.12);

    border-color:#2F80ED;

}

.solution-card h3{

    margin:0 0 18px;

    color:#0F172A;

    font-size:24px;

    font-weight:700;

}

.solution-card p{

    margin:0;

    color:#64748B;

    line-height:1.8;

    font-size:16px;

}

/*=========================================
RESPONSIVE
=========================================*/

@media(max-width:992px){

.solutions-grid{

grid-template-columns:repeat(2,1fr);

}

.section-heading h2{

font-size:40px;

}

}

@media(max-width:768px){

.solutions{

padding:90px 0;

}

.solutions-grid{

grid-template-columns:1fr;

}

.section-heading h2{

font-size:34px;

}

.section-heading p{

font-size:16px;

}

.solution-card{

padding:30px;

}

}
/*=========================================================
SOLUTION ICONS
=========================================================*/

.solution-card{

    display:flex;

    flex-direction:column;

    text-decoration:none;

    color:inherit;

    min-height:280px;

}

.solution-icon{

    width:74px;

    height:74px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:#EAF3FF;

    margin-bottom:24px;

    transition:.35s;

}

.solution-icon img{

    width:38px;

    height:38px;

    object-fit:contain;

    display:block;

}

.solution-card:hover .solution-icon{

    background:#2F80ED;

}

.solution-card:hover .solution-icon img{

    filter:brightness(0) invert(1);

}

.learn-more{

    margin-top:auto;

    color:#2F80ED;

    font-weight:600;

    font-size:15px;

}
/*=========================================================
INDUSTRIES
=========================================================*/

.industries{

     padding:70px 0 20px;

    background:#ffffff;

}

.industries-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

}

.industry-card{

    min-height:280px;
    background:#fff;

    border:1px solid #EDF2F7;

    border-radius:18px;

    padding:35px;

    transition:.35s;

    box-shadow:0 10px 30px rgba(15,23,42,.05);

}

.industry-card:hover{

    transform:translateY(-8px);

    border-color:#2F80ED;

    box-shadow:0 25px 50px rgba(15,23,42,.10);

}

.industry-icon{

    width:70px;

    height:70px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:#EAF3FF;

    margin-bottom:24px;

    transition:.35s;

}

.industry-icon img{

    width:34px;

    height:34px;

}

.industry-card:hover .industry-icon{

    background:#2F80ED;

}

.industry-card:hover .industry-icon img{

    filter:brightness(0) invert(1);

}

.industry-card h3{

    margin:0 0 15px;

    font-size:24px;

    color:#0F172A;

}

.industry-card p{

    margin:0;

    color:#64748B;

    line-height:1.8;

}

@media(max-width:1200px){

    .industries-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:768px){

    .industries{

        padding:90px 0;

    }

    .industries-grid{

        grid-template-columns:1fr;

    }

}
/*=========================================================
WHY CHOOSE ARPIVA
=========================================================*/

.why-arpiva {
    position: relative;
    overflow: hidden;

    padding: 0px 0 25px;

    background-image: url("../images/why-arpiva-background.png") !important;
    background-size: cover !important;
    background-position: center 70% !important;
    background-repeat: no-repeat !important;
}


.why-grid {

    position: relative;
    z-index: 2;

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 30px;

    /* MOVE CONTENT UP */
    align-items: start;
}
.why-content {
    position: relative;
    top: -80px;
    z-index: 3;
}

.section-tag {

    display: inline-block;

    padding: 10px 22px;

    border-radius: 40px;

    background: #EAF3FF;

    color: #2F80ED;

    font-size: 14px;

    font-weight: 600;

    letter-spacing: 1px;

    text-transform: uppercase;

    margin-bottom: 14px;
}

.why-content {

    position: relative;
    z-index: 3;
}

.why-content h2 {

    font-size: 44px;

    line-height: 1.1;

    color: #0F172A;
    margin-top: 0;
    

    margin-bottom: 14px;
}

.why-content > p {

    color: #64748B;

    font-size: 16px;

    line-height: 1.6;

    margin-bottom: 25px;

    max-width: 680px;
}

.why-list {

    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 14px;
}

.why-item {

    background: rgba(255,255,255,0.94);

    backdrop-filter: blur(4px);

    border-radius: 14px;

    padding: 20px;

    border: 1px solid rgba(237,242,247,0.95);

    transition: .35s;
}

.why-item:hover {

    transform: translateY(-6px);

    border-color: #2F80ED;

    box-shadow: 0 15px 35px rgba(15,23,42,.08);
}

.why-item h4 {

    margin-bottom: 8px;

    font-size: 18px;

    color: #0F172A;
}

.why-item p {

    margin: 0;
    color: #64748B;
    line-height: 1.5;
    font-size: 14px;
}

/*
=========================================================
OLD IMAGE BLOCK
=========================================================
*/

.why-image {
    display: none !important;
}

.why-image img {
    display: none !important;
}


/*
=========================================================
RESPONSIVE
=========================================================
*/

@media (max-width: 992px) {

    .why-arpiva {

        padding: 65px 0 80px;

        background-size: cover !important;

        background-position: center center;
    }

    .why-grid {

        grid-template-columns: 1fr;

        gap: 45px;
    }

}

@media (max-width: 768px) {

    .why-arpiva {

        padding: 55px 0 70px;

        background-image:
            linear-gradient(
                180deg,
                rgba(255,255,255,0.97) 0%,
                rgba(255,255,255,0.93) 55%,
                rgba(255,255,255,0.72) 100%
            ),
            url("../images/why-arpiva-background.png");

        background-size: cover !important;

        background-position: 65% center !important;;
    }

    .why-list {

        grid-template-columns: 1fr;
    }

    .why-content h2 {

        font-size: 36px;
    }

    .why-content > p {

        font-size: 16px;

        line-height: 1.8;

        margin-bottom: 35px;
    }

    .why-item {

        padding: 22px;
    }

}
/*=========================================================
OUR PROCESS
=========================================================*/

.process{

    margin-top:-80px;

    padding:70px 0 90px;

    background:#fff;

    position:relative;

    z-index:2;

}

.process-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

    margin-top:70px;

}

.process-step{

    background:#fff;

    padding:40px;

    border-radius:20px;

    border:1px solid #EDF2F7;

    text-align:center;

    transition:.35s;

    box-shadow:0 10px 30px rgba(15,23,42,.05);

    cursor:pointer;

}

.process-step:hover{

    transform:translateY(-10px);

    border-color:#2F80ED;

    box-shadow:0 18px 40px rgba(15,23,42,.10);

}

.step-icon{

    width:78px;

    height:78px;

    margin:0 auto 28px;

    background:#EDF4FF;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    transition:.35s;

}

.step-icon img{

    width:34px;

    height:34px;

}

.process-step:hover .step-icon{

    background:#2F80ED;

}

.process-step:hover .step-icon img{

    filter:brightness(0) invert(1);

}

.process-step h3{

    margin-bottom:18px;

    color:#0F172A;

    font-size:24px;

    font-weight:700;

}

.process-step p{

    color:#64748B;

    line-height:1.8;

    font-size:16px;

    margin:0;

}

@media(max-width:992px){

.process-grid{

    grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.process{

    padding:90px 0;

}

.process-grid{

    grid-template-columns:1fr;

}

.process-step{

    padding:30px;

}

}
/*=========================================================
CALL TO ACTION
=========================================================*/

.cta{

    margin-top:-80px;

    padding:70px 0 80px;

    position:relative;

    z-index:2;

    background:#F8FBFF;

}

.cta-box{

    position:relative;

    overflow:hidden;

    padding:90px 80px;

    border-radius:28px;

    text-align:center;

    background:linear-gradient(
        135deg,
        #0A2A73 0%,
        #1546B0 100%
    );

    box-shadow:0 25px 60px rgba(15,23,42,.12);

}

.cta-box::before{

    content:"";

    position:absolute;

    width:380px;

    height:380px;

    border-radius:50%;

    background:rgba(255,255,255,.05);

    top:-180px;

    right:-120px;

}

.cta-box::after{

    content:"";

    position:absolute;

    width:250px;

    height:250px;

    border-radius:50%;

    background:rgba(255,255,255,.04);

    bottom:-120px;

    left:-70px;

}

.cta-badge{

    display:inline-block;

    padding:12px 24px;

    border-radius:40px;

    background:rgba(255,255,255,.12);

    color:#fff;

    font-size:14px;

    font-weight:600;

    letter-spacing:1px;

    margin-bottom:25px;

}

.cta h2{

    position:relative;

    z-index:2;

    margin:0;

    color:#fff;

    font-size:56px;

    line-height:1.2;

    font-weight:800;

}

.cta p{

    position:relative;

    z-index:2;

    max-width:760px;

    margin:35px auto 45px;

    color:#EAF2FF;

    font-size:20px;

    line-height:1.9;

}

.cta-buttons{

    position:relative;

    z-index:2;

    display:flex;

    justify-content:center;

    gap:20px;

    flex-wrap:wrap;

}

.btn-secondary-white{

    display:flex;

    align-items:center;

    justify-content:center;

    width:200px;

    height:50px;

    border-radius:12px;

    border:2px solid #ffffff;

    color:#ffffff;

    font-weight:600;

    transition:.35s;

}

.btn-secondary-white:hover{

    background:#ffffff;

    color:#1546B0;

}

@media(max-width:768px){

.cta{

    padding:90px 0;

}

.cta-box{

    padding:60px 30px;

}

.cta h2{

    font-size:38px;

}

.cta p{

    font-size:17px;

}

.cta-buttons{

    flex-direction:column;

    align-items:center;

}

.btn-primary,

.btn-secondary-white{

    width:100%;

    max-width:320px;

}

}