/* ==========================================
   COMPONENTS
========================================== */

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

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;

    padding:14px 28px;

    border:none;
    border-radius:12px;

    font-family:var(--font-primary);
    font-size:16px;
    font-weight:600;

    cursor:pointer;

    transition:var(--transition);
}

.btn svg{
    transition:var(--transition);
}

.btn:hover svg{
    transform:translateX(4px);
}

/* Primary */

.btn-primary{

    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;

    min-width:185px;
    height:54px;

    padding:0 28px;

    background:linear-gradient(180deg,#173F79 0%,#0F2E63 100%);

    border:1px solid rgba(215,155,43,.35);

    border-radius:10px;

    color:#fff;

    font-size:15px;
    font-weight:600;
    letter-spacing:.2px;

    text-decoration:none;

    transition:all .35s ease;

    box-shadow:
        0 12px 30px rgba(15,46,99,.18);

}

.btn-primary::after{

    content:"→";

    font-size:18px;

    color:#D79B2B;

    transition:.3s ease;

}

.btn-primary:hover{

    transform:translateY(-3px);

    box-shadow:
        0 22px 45px rgba(15,46,99,.25);

}

.btn-primary:hover::after{

    transform:translateX(6px);

}

/* Outline */

.btn-outline{

    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;

    min-width:185px;
    height:54px;

    padding:0 28px;

    background:#FFFFFF;

    border:1.5px solid #D79B2B;

    border-radius:10px;

    color:#0F2E63;

    font-size:14px;
    font-weight:600;
    letter-spacing:.2px;

    text-decoration:none;

    transition:all .35s ease;

}

.btn-outline::after{

    content:"→";

    font-size:18px;

    color:#D79B2B;

    transition:.3s ease;

}

.btn-outline:hover{

    background:#0F2E63;

    color:#FFFFFF;

    border-color:#0F2E63;

    transform:translateY(-3px);

    box-shadow:
        0 18px 40px rgba(15,46,99,.18);

}

.btn-outline:hover::after{

    color:#D79B2B;

    transform:translateX(6px);

}

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

.section-header{
    max-width:760px;
    margin:0 auto 64px;
    text-align:center;
}

.section-header__eyebrow{
    display:inline-block;
    margin-bottom:14px;

    color:var(--color-secondary);

    text-transform:uppercase;
    letter-spacing:1px;

    font-size:14px;
    font-weight:700;
}

.section-header__title{
    margin-bottom:20px;
}

.section-header__description{
    color:var(--color-muted);
    font-size:18px;
}

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

.card{
    background:#fff;
    border:1px solid var(--color-border);
    border-radius:20px;
    overflow:hidden;

    transition:var(--transition);

    box-shadow:0 10px 30px rgba(0,0,0,.06);
}

.card:hover{
    transform:translateY(-8px);
    box-shadow:0 25px 60px rgba(0,0,0,.12);
}

.card__image{
    overflow:hidden;
}

.card__image img{
    width:100%;
    display:block;
    transition:.4s ease;
}

.card:hover .card__image img{
    transform:scale(1.05);
}

.card__body{
    padding:32px;
}

.card__title{
    margin-bottom:12px;
}

.card__text{
    margin:0;
    color:var(--color-muted);
    line-height:1.7;
}

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

.badge{
    display:inline-flex;
    align-items:center;

    padding:8px 16px;

    border-radius:999px;

    background:#fff;

    color:var(--color-primary);

    font-size:13px;
    font-weight:700;

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