/*=========================================
PERSONAL BANKING
=========================================*/

.product-section{
    padding: 7rem 0;
    background: #fff;
}

.product-section .container{
    width: min(1200px,92%);
    margin: 0 auto;
}

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

.product-header{
    max-width: 760px;
    margin: 0 auto 5rem;

    text-align: center;
}

.product-header h2{
    margin: 1rem 0 1.5rem;

    color: #07204A;

    font-size: clamp(2.6rem,4vw,3.8rem);
    line-height: 1.15;
}

.product-header p{
    color: #667085;

    font-size: 1.08rem;
    line-height: 1.9;
}

/*=========================================
FEATURE GRID
=========================================*/

.product-features{
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 2rem;

    margin-bottom: 5rem;
}

.feature-card{
    padding: 2.5rem 2rem;

    background: #fff;

    border: 1px solid #E5E7EB;
    border-radius: 24px;

    text-align: center;

    transition: all .35s ease;

    box-shadow: 0 12px 35px rgba(15,23,42,.05);
}

.feature-card:hover{

    transform: translateY(-10px);

    border-color: rgba(212,175,55,.45);

    box-shadow: 0 25px 50px rgba(15,23,42,.08);

}

.feature-icon{

    width: 82px;
    height: 82px;

    margin: 0 auto 1.8rem;

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

    background: rgba(212,175,55,.12);

    border-radius: 22px;

    color: #D4AF37;

    font-size: 2rem;

    transition: .35s;

}

.feature-card:hover .feature-icon{

    background: #D4AF37;

    color: #07204A;

    transform: rotate(-6deg);

}

.feature-card h3{

    margin-bottom: 1rem;

    color: #07204A;

    font-size: 1.45rem;

}

.feature-card p{

    color: #667085;

    line-height: 1.9;

}

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

.product-highlight{

    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;

    padding: 4rem;

    background: linear-gradient(
        135deg,
        #04152E,
        #07204A
    );

    border-radius: 30px;

    margin-bottom: 4rem;

    overflow: hidden;
    position: relative;

}

.product-highlight::before{

    content: "";

    position: absolute;

    width: 280px;
    height: 280px;

    top: -120px;
    right: -120px;

    background: rgba(212,175,55,.08);

    border-radius: 50%;

}

.highlight-left,
.highlight-right{

    position: relative;
    z-index: 2;

}

.highlight-left h3{

    margin-bottom: 1.3rem;

    color: #fff;

    font-size: 2rem;

}

.highlight-left p{

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

    line-height: 1.9;

}

.highlight-right{

    display: flex;
    flex-direction: column;
    gap: 1.3rem;

}

.benefit{

    display: flex;
    align-items: center;
    gap: 1rem;

    padding: 1.2rem 1.4rem;

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

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

    border-radius: 18px;

    backdrop-filter: blur(10px);

}

.benefit i{

    color: #D4AF37;

    font-size: 1.2rem;

}

.benefit span{

    color: #fff;

    font-weight: 500;

}

/*=========================================
BUTTONS
=========================================*/

.product-actions{

    display: flex;
    justify-content: center;
    gap: 1rem;
    flex-wrap: wrap;

}

.product-actions .btn{

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

    padding: 1rem 2.3rem;

    border-radius: 999px;

    text-decoration: none;

    font-weight: 600;

    transition: .35s;

}

.product-actions .btn-primary{

    background: #D4AF37;

    color: #07204A;

}

.product-actions .btn-primary:hover{

    background: #E6C24B;

    transform: translateY(-4px);

}

.product-actions .btn-secondary{

    background: transparent;

    color: #07204A;

    border: 2px solid #07204A;

}

.product-actions .btn-secondary:hover{

    background: #07204A;

    color: #fff;

    transform: translateY(-4px);

}

/*=========================================
RESPONSIVE
=========================================*/

@media (max-width:1100px){

    .product-features{

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

    }

}

@media (max-width:992px){

    .product-highlight{

        grid-template-columns: 1fr;

        gap: 2rem;

        padding: 3rem;

    }

}

@media (max-width:768px){

    .product-section{

        padding: 5rem 0;

    }

    .product-features{

        grid-template-columns: 1fr;

    }

    .product-header{

        margin-bottom: 3.5rem;

    }

    .product-header h2{

        font-size: 2.3rem;

    }

    .product-highlight{

        padding: 2rem;

    }

    .product-actions{

        flex-direction: column;

    }

    .product-actions .btn{

        width: 100%;

    }

}

@media (max-width:480px){

    .product-header h2{

        font-size: 2rem;

    }

    .feature-card{

        padding: 2rem 1.5rem;

    }

    .highlight-left h3{

        font-size: 1.6rem;

    }

}

/*=========================================
BUSINESS BANKING
=========================================*/

.business-section{
    padding: 7rem 0;
    background: #F8FAFC;
}

.business-section .container{
    width: min(1200px,92%);
    margin: 0 auto;
}

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

.business-header{
    max-width: 760px;
    margin: 0 auto 5rem;
    text-align: center;
}

.business-header h2{
    margin: 1rem 0 1.5rem;

    color: #07204A;

    font-size: clamp(2.6rem,4vw,3.8rem);
    line-height: 1.15;
}

.business-header p{
    color: #667085;

    font-size: 1.08rem;
    line-height: 1.9;
}

/*=========================================
SERVICE LIST
=========================================*/

.business-services{
    display: flex;
    flex-direction: column;
    gap: 1.5rem;

    margin-bottom: 5rem;
}

.business-card{
    display: flex;
    justify-content: space-between;
    align-items: center;

    gap: 2rem;

    padding: 2rem 2.5rem;

    background: #fff;

    border: 1px solid #E5E7EB;
    border-radius: 24px;

    transition: all .35s ease;

    box-shadow: 0 12px 35px rgba(15,23,42,.05);
}

.business-card:hover{

    transform: translateY(-6px);

    border-color: rgba(212,175,55,.45);

    box-shadow: 0 20px 45px rgba(15,23,42,.08);

}

.service-left{
    display: flex;
    align-items: center;
    gap: 1.5rem;

    flex: 1;
}

.service-icon{

    width: 80px;
    height: 80px;

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

    flex-shrink: 0;

    border-radius: 20px;

    background: rgba(212,175,55,.12);

    color: #D4AF37;

    font-size: 2rem;

    transition: .35s;

}

.business-card:hover .service-icon{

    background: #D4AF37;

    color: #07204A;

    transform: rotate(-8deg);

}

.service-left h3{

    margin-bottom: .75rem;

    color: #07204A;

    font-size: 1.45rem;

}

.service-left p{

    color: #667085;

    line-height: 1.8;

}

.service-tag{

    padding: .8rem 1.4rem;

    background: rgba(212,175,55,.12);

    border-radius: 999px;

    color: #D4AF37;

    font-size: .85rem;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;

    white-space: nowrap;

}

/*=========================================
STATISTICS
=========================================*/

.business-stats{

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

    gap: 1.5rem;

    margin-bottom: 4rem;

}

.stat-box{

    padding: 2.5rem 1.5rem;

    background: linear-gradient(
        135deg,
        #04152E,
        #07204A
    );

    border-radius: 24px;

    text-align: center;

    transition: .35s;

}

.stat-box:hover{

    transform: translateY(-8px);

}

.stat-box h3{

    margin-bottom: .75rem;

    color: #D4AF37;

    font-size: 2.3rem;

    font-weight: 700;

}

.stat-box span{

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

    line-height: 1.6;

}

/*=========================================
BUTTONS
=========================================*/

.business-actions{

    display: flex;
    justify-content: center;

    gap: 1rem;

    flex-wrap: wrap;

}

.business-actions .btn{

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

    padding: 1rem 2.3rem;

    border-radius: 999px;

    text-decoration: none;

    font-weight: 600;

    transition: .35s ease;

}

.business-actions .btn-primary{

    background: #D4AF37;

    color: #07204A;

}

.business-actions .btn-primary:hover{

    background: #E6C24B;

    transform: translateY(-4px);

    box-shadow: 0 15px 35px rgba(212,175,55,.25);

}

.business-actions .btn-secondary{

    background: transparent;

    color: #07204A;

    border: 2px solid #07204A;

}

.business-actions .btn-secondary:hover{

    background: #07204A;

    color: #fff;

    transform: translateY(-4px);

}

/*=========================================
RESPONSIVE
=========================================*/

@media (max-width:992px){

    .business-stats{

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

    }

    .business-card{

        flex-direction: column;
        align-items: flex-start;

    }

    .service-tag{

        margin-left: 95px;

    }

}

@media (max-width:768px){

    .business-section{

        padding: 5rem 0;

    }

    .business-header{

        margin-bottom: 3.5rem;

    }

    .business-header h2{

        font-size: 2.3rem;

    }

    .service-left{

        flex-direction: column;
        align-items: flex-start;

    }

    .service-tag{

        margin-left: 0;

    }

    .business-stats{

        grid-template-columns: 1fr;

    }

    .business-actions{

        flex-direction: column;

    }

    .business-actions .btn{

        width: 100%;

    }

}

@media (max-width:480px){

    .business-header h2{

        font-size: 2rem;

    }

    .business-card{

        padding: 1.8rem;

    }

    .service-icon{

        width: 70px;
        height: 70px;

        font-size: 1.8rem;

    }

    .service-left h3{

        font-size: 1.3rem;

    }

}


/*=========================================
LOANS & MORTGAGES
=========================================*/

.loans-section{
    padding: 7rem 0;
    background: #fff;
}

.loans-section .container{
    width: min(1200px,92%);
    margin: 0 auto;
}

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

.loans-header{
    max-width: 760px;
    margin: 0 auto 5rem;
    text-align: center;
}

.loans-header h2{
    margin: 1rem 0 1.5rem;
    color: #07204A;
    font-size: clamp(2.6rem,4vw,3.8rem);
    line-height: 1.15;
}

.loans-header p{
    color: #667085;
    font-size: 1.08rem;
    line-height: 1.9;
}

/*=========================================
LOAN PRODUCTS
=========================================*/

.loan-products{
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 2rem;
    margin-bottom: 5rem;
}

.loan-product{
    position: relative;

    padding: 2.5rem;

    background: #fff;

    border: 1px solid #E5E7EB;
    border-radius: 24px;

    transition: .35s;

    overflow: hidden;

    box-shadow: 0 12px 35px rgba(15,23,42,.05);
}

.loan-product:hover{

    transform: translateY(-10px);

    border-color: rgba(212,175,55,.45);

    box-shadow: 0 25px 50px rgba(15,23,42,.08);

}

.loan-number{

    width: 65px;
    height: 65px;

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

    margin-bottom: 2rem;

    border-radius: 18px;

    background: rgba(212,175,55,.12);

    color: #D4AF37;

    font-size: 1.5rem;
    font-weight: 700;

    transition: .35s;

}

.loan-product:hover .loan-number{

    background: #D4AF37;

    color: #07204A;

}

.loan-product h3{

    margin-bottom: 1rem;

    color: #07204A;

    font-size: 1.5rem;

}

.loan-product p{

    color: #667085;

    line-height: 1.9;

}

/*=========================================
LOAN PROCESS
=========================================*/

.loan-process{

    padding: 4rem;

    margin-bottom: 5rem;

    border-radius: 30px;

    background: linear-gradient(
        135deg,
        #04152E,
        #07204A
    );

}

.loan-process h3{

    margin-bottom: 3rem;

    text-align: center;

    color: #fff;

    font-size: 2rem;

}

.process-grid{

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

    gap: 2rem;

    position: relative;

}

.process-grid::before{

    content: "";

    position: absolute;

    top: 42px;
    left: 12%;
    right: 12%;

    height: 2px;

    background: rgba(212,175,55,.35);

}

.process-step{

    position: relative;
    z-index: 2;

    text-align: center;

}

.step-circle{

    width: 85px;
    height: 85px;

    margin: 0 auto 1.5rem;

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

    border-radius: 50%;

    background: #D4AF37;

    color: #07204A;

    font-size: 1.8rem;

    transition: .35s;

}

.process-step:hover .step-circle{

    transform: scale(1.08);

}

.process-step h4{

    margin-bottom: .75rem;

    color: #fff;

    font-size: 1.3rem;

}

.process-step p{

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

    line-height: 1.7;

}

/*=========================================
BOTTOM CTA
=========================================*/

.loan-bottom{

    padding: 4rem;

    text-align: center;

    border: 1px solid #E5E7EB;
    border-radius: 30px;

    background: #F8FAFC;

}

.loan-bottom h3{

    margin-bottom: 1rem;

    color: #07204A;

    font-size: 2rem;

}

.loan-bottom p{

    max-width: 700px;

    margin: 0 auto 2.5rem;

    color: #667085;

    line-height: 1.9;

}

.loan-buttons{

    display: flex;
    justify-content: center;
    gap: 1rem;

    flex-wrap: wrap;

}

.loan-buttons .btn{

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

    padding: 1rem 2.3rem;

    border-radius: 999px;

    text-decoration: none;

    font-weight: 600;

    transition: .35s;

}

.loan-buttons .btn-primary{

    background: #D4AF37;

    color: #07204A;

}

.loan-buttons .btn-primary:hover{

    background: #E6C24B;

    transform: translateY(-4px);

    box-shadow: 0 15px 35px rgba(212,175,55,.25);

}

.loan-buttons .btn-secondary{

    background: transparent;

    color: #07204A;

    border: 2px solid #07204A;

}

.loan-buttons .btn-secondary:hover{

    background: #07204A;

    color: #fff;

    transform: translateY(-4px);

}

/*=========================================
RESPONSIVE
=========================================*/

@media (max-width:1100px){

    .loan-products{

        grid-template-columns: 1fr;

    }

}

@media (max-width:992px){

    .process-grid{

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

        row-gap: 3rem;

    }

    .process-grid::before{

        display: none;

    }

}

@media (max-width:768px){

    .loans-section{

        padding: 5rem 0;

    }

    .loans-header{

        margin-bottom: 3.5rem;

    }

    .loans-header h2{

        font-size: 2.3rem;

    }

    .loan-process{

        padding: 2.5rem;

    }

    .loan-bottom{

        padding: 2.5rem;

    }

    .loan-buttons{

        flex-direction: column;

    }

    .loan-buttons .btn{

        width: 100%;

    }

}

@media (max-width:576px){

    .process-grid{

        grid-template-columns: 1fr;

    }

    .loan-product{

        padding: 2rem;

    }

    .loan-bottom h3{

        font-size: 1.7rem;

    }

}

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

.cards-section{
    padding: 7rem 0;
    background: #F8FAFC;
}

.cards-section .container{
    width: min(1200px,92%);
    margin: 0 auto;
}

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

.cards-header{
    max-width: 760px;
    margin: 0 auto 5rem;
    text-align: center;
}

.cards-header h2{
    margin: 1rem 0 1.5rem;
    color: #07204A;
    font-size: clamp(2.6rem,4vw,3.8rem);
    line-height: 1.15;
}

.cards-header p{
    color: #667085;
    font-size: 1.08rem;
    line-height: 1.9;
}

/*=========================================
CARD GRID
=========================================*/

.cards-grid{
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 2rem;
    align-items: stretch;

    margin-bottom: 5rem;
}

.bank-card{
    position: relative;

    display: flex;
    flex-direction: column;

    padding: 2.5rem;

    background: linear-gradient(
        180deg,
        #0B2C5E,
        #04152E
    );

    border-radius: 28px;

    overflow: hidden;

    transition: .35s ease;

    box-shadow: 0 20px 45px rgba(15,23,42,.12);
}

.bank-card:hover{

    transform: translateY(-10px);

    box-shadow: 0 35px 60px rgba(15,23,42,.18);

}

.bank-card::before{

    content: "";

    position: absolute;

    width: 250px;
    height: 250px;

    top: -120px;
    right: -120px;

    border-radius: 50%;

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

}

.featured{

    transform: scale(1.04);

    border: 2px solid #D4AF37;

}

.featured:hover{

    transform: scale(1.04) translateY(-10px);

}

/*=========================================
FEATURED LABEL
=========================================*/

.featured-tag{

    position: absolute;

    top: 20px;
    right: -45px;

    width: 180px;

    text-align: center;

    padding: .5rem 0;

    background: #D4AF37;

    color: #07204A;

    font-size: .75rem;
    font-weight: 700;

    letter-spacing: 1px;

    transform: rotate(40deg);

}

/*=========================================
CARD BADGE
=========================================*/

.card-badge{

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

    width: fit-content;

    padding: .6rem 1.2rem;

    margin-bottom: 2rem;

    border-radius: 999px;

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

    color: #fff;

    font-weight: 600;

}

.card-badge.gold{

    background: #D4AF37;

    color: #07204A;

}

.card-badge.platinum{

    background: #E5E7EB;

    color: #07204A;

}

/*=========================================
CARD CHIP
=========================================*/

.card-chip{

    width: 60px;
    height: 42px;

    margin-bottom: 2rem;

    border-radius: 10px;

    background: linear-gradient(
        135deg,
        #D4AF37,
        #F4D66B
    );

}

/*=========================================
TEXT
=========================================*/

.bank-card h3{

    margin-bottom: 1rem;

    color: #fff;

    font-size: 1.8rem;

}

.card-description{

    margin-bottom: 2rem;

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

    line-height: 1.8;

}

/*=========================================
FEATURE LIST
=========================================*/

.bank-card ul{

    list-style: none;

    margin: 0;
    padding: 0;

    flex: 1;

}

.bank-card li{

    display: flex;
    align-items: center;

    gap: .8rem;

    padding: .9rem 0;

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

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

}

.bank-card li:last-child{

    border-bottom: none;

}

.bank-card li i{

    color: #D4AF37;

}

/*=========================================
BUTTON
=========================================*/

.bank-card .btn{

    margin-top: 2rem;

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

    width: 100%;

    padding: 1rem;

    border-radius: 999px;

    text-decoration: none;

    font-weight: 600;

    background: #D4AF37;

    color: #07204A;

    transition: .35s;

}

.bank-card .btn:hover{

    background: #E6C24B;

    transform: translateY(-3px);

}

/*=========================================
BOTTOM PANEL
=========================================*/

.cards-bottom{

    padding: 4rem;

    background: #fff;

    border: 1px solid #E5E7EB;

    border-radius: 30px;

    text-align: center;

}

.cards-bottom h3{

    margin-bottom: 1rem;

    color: #07204A;

    font-size: 2rem;

}

.cards-bottom p{

    max-width: 720px;

    margin: 0 auto 2.5rem;

    color: #667085;

    line-height: 1.9;

}

/*=========================================
BOTTOM FEATURES
=========================================*/

.cards-features{

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

    gap: 1.5rem;

}

.cards-features span{

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

    gap: 1rem;

    padding: 2rem 1rem;

    background: #F8FAFC;

    border-radius: 20px;

    transition: .35s;

}

.cards-features span:hover{

    transform: translateY(-6px);

    background: rgba(212,175,55,.08);

}

.cards-features i{

    color: #D4AF37;

    font-size: 2rem;

}

.cards-features span{

    color: #07204A;

    font-weight: 600;

}

/*=========================================
RESPONSIVE
=========================================*/

@media(max-width:1100px){

    .cards-grid{

        grid-template-columns: 1fr;

    }

    .featured{

        transform: none;

    }

    .featured:hover{

        transform: translateY(-10px);

    }

}

@media(max-width:768px){

    .cards-section{

        padding: 5rem 0;

    }

    .cards-header{

        margin-bottom: 3.5rem;

    }

    .cards-header h2{

        font-size: 2.3rem;

    }

    .cards-bottom{

        padding: 2.5rem;

    }

    .cards-features{

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

    }

}

@media(max-width:576px){

    .cards-features{

        grid-template-columns: 1fr;

    }

    .bank-card{

        padding: 2rem;

    }

    .featured-tag{

        display: none;

    }

    .cards-bottom h3{

        font-size: 1.7rem;

    }

}