/* ==========================================================
   MILSEC · ALLIANCES SECTION
   components/alliances/alliances.css
========================================================== */

.alliances-section{
    position:relative;
    overflow:hidden;
    background:
        radial-gradient(circle at top left,
            rgba(19,131,128,.08),
            transparent 35%),
        linear-gradient(180deg,#ffffff 0%,#f8fbfb 100%);
}

/*==================================================
GRID
==================================================*/

.alliances-grid{

    display:grid;

    grid-template-columns:repeat(3,minmax(280px,1fr));

    gap:32px;

    margin-top:60px;

}

/*==================================================
CARD
==================================================*/

.alliance-card{

    position:relative;

    display:flex;

    flex-direction:column;

    align-items:center;

    text-align:center;

    padding:40px 34px;

    background:#fff;

    border-radius:28px;

    border:1px solid rgba(15,23,42,.08);

    box-shadow:
        0 12px 35px rgba(15,23,42,.06);

    overflow:hidden;

    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;

}

.alliance-card::before{

    content:"";

    position:absolute;

    width:220px;
    height:220px;

    top:-120px;
    right:-120px;

    border-radius:50%;

    background:
        radial-gradient(circle,
            rgba(19,131,128,.10),
            transparent 70%);

    transition:.35s;

}

.alliance-card:hover{

    transform:translateY(-10px);

    border-color:rgba(19,131,128,.18);

    box-shadow:
        0 28px 70px rgba(15,23,42,.12);

}

.alliance-card:hover::before{

    transform:scale(1.15);

}

/*==================================================
LOGO
==================================================*/

.alliance-logo{

    width:100%;

    height:120px;

    display:flex;

    justify-content:center;

    align-items:center;

    margin-bottom:28px;

}

.alliance-logo img{

    max-width:220px;

    max-height:90px;

    width:auto;

    height:auto;

    object-fit:contain;

    transition:
        transform .35s ease,
        filter .35s ease;

}

.alliance-card:hover .alliance-logo img{

    transform:scale(1.05);

}

/*==================================================
TITLE
==================================================*/

.alliance-card h3{

    margin:0 0 16px;

    color:#122327;

    font-size:1.35rem;

    font-weight:700;

    line-height:1.35;

}

/*==================================================
DESCRIPTION
==================================================*/

.alliance-card p{

    margin:0;

    color:#64748b;

    line-height:1.8;

    font-size:.97rem;

    flex:1;

}

/*==================================================
LINK
==================================================*/

.alliance-link{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:8px;

    margin-top:28px;

    color:#118b8b;

    text-decoration:none;

    font-weight:700;

    font-size:.95rem;

    transition:.3s;

}

.alliance-link::after{

    content:"→";

    transition:.3s;

}

.alliance-link:hover{

    color:#0b6d6d;

}

.alliance-link:hover::after{

    transform:translateX(6px);

}

/*==================================================
HOVER BORDER
==================================================*/

.alliance-card::after{

    content:"";

    position:absolute;

    inset:0;

    border-radius:28px;

    border:2px solid transparent;

    pointer-events:none;

    transition:.35s;

}

.alliance-card:hover::after{

    border-color:rgba(19,131,128,.18);

}

/*==================================================
TABLET
==================================================*/

@media (max-width:1024px){

    .alliances-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

/*==================================================
MOBILE
==================================================*/

@media (max-width:768px){

    .alliances-grid{

        grid-template-columns:1fr;

        gap:24px;

    }

    .alliance-card{

        padding:32px 24px;

    }

    .alliance-logo{

        height:90px;

    }

    .alliance-logo img{

        max-width:180px;

        max-height:70px;

    }

    .alliance-card h3{

        font-size:1.2rem;

    }

}

/*==================================================
DARK OVERLAY DECORATION
==================================================*/

.alliance-card:hover{

    background:
        linear-gradient(
            180deg,
            #ffffff,
            #f7fcfc
        );

}

/*==================================================
REDUCED MOTION
==================================================*/

@media (prefers-reduced-motion:reduce){

    .alliance-card,
    .alliance-card::before,
    .alliance-card::after,
    .alliance-logo img,
    .alliance-link{

        transition:none;

    }

}