/*======================================================================

MANSURGE COMPONENT
MC-16

LOGO CLOUD

Version : 1.0

======================================================================*/

.ms-logo-cloud{

    position:relative;

    overflow:hidden;

    background:var(--ms-bg);

    padding:140px 0;

}

.ms-logo-cloud::before{

    content:"";

    position:absolute;

    inset:0;

    pointer-events:none;

    background:

    radial-gradient(

        circle at top left,

        rgba(197,165,114,.05),

        transparent 60%

    ),

    radial-gradient(

        circle at bottom right,

        rgba(197,165,114,.04),

        transparent 55%

    );

}

.ms-logo-cloud-layout{

    position:relative;

    z-index:2;

}

.ms-logo-cloud-header{

    max-width:760px;

    margin:0 auto 96px;

    text-align:center;

}

.ms-logo-cloud-subtitle{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:10px 18px;

    margin-bottom:30px;

    border-radius:999px;

    background:rgba(197,165,114,.08);

    border:1px solid rgba(197,165,114,.18);

    color:var(--ms-gold);

    font-size:14px;

    font-weight:600;

    letter-spacing:.08em;

    text-transform:uppercase;

}

.ms-logo-cloud-title{

    color:var(--ms-white);

    font-size:clamp(36px,5vw,56px);

    font-weight:700;

    line-height:1.08;

    letter-spacing:-.02em;

    margin-bottom:28px;

}

.ms-logo-cloud-description{

    max-width:720px;

    margin:0 auto;

    color:var(--ms-text-soft);

    font-size:clamp(16px,2vw,19px);

    line-height:1.9;

}

.ms-logo-cloud-grid{

    display:grid;

    grid-template-columns:repeat(4,minmax(0,1fr));

    gap:34px;

    align-items:stretch;

}

.ms-logo-card{

    position:relative;

    display:flex;

    flex-direction:column;

    overflow:hidden;

    background:var(--ms-surface);

    border:1px solid var(--ms-border);

    border-radius:28px;

    transition:

        transform .45s ease,

        border-color .45s ease,

        box-shadow .45s ease;

}

.ms-logo-card:hover{

    transform:translateY(-8px);

    border-color:rgba(197,165,114,.35);

    box-shadow:0 24px 52px rgba(0,0,0,.30);

}

.ms-logo-content{

    display:flex;

    flex-direction:column;

    flex:1;

    align-items:center;

    justify-content:center;

    padding:42px;

}

.ms-logo-image{

    display:flex;

    align-items:center;

    justify-content:center;

    width:100%;

    min-height:120px;

}

.ms-logo-image img{

    display:block;

    max-width:180px;

    max-height:70px;

    width:auto;

    height:auto;

    object-fit:contain;

    opacity:.85;

    transition:

        opacity .35s ease,

        transform .35s ease;

}

.ms-logo-card:hover .ms-logo-image img{

    opacity:1;

    transform:scale(1.04);

}

.ms-logo-name{

    margin-top:28px;

    color:var(--ms-white);

    font-size:clamp(20px,2vw,24px);

    font-weight:700;

    text-align:center;

    line-height:1.35;

}

.ms-logo-description{

    margin-top:18px;

    color:var(--ms-text-soft);

    font-size:clamp(16px,1.7vw,18px);

    line-height:1.85;

    text-align:center;

    display:-webkit-box;

    -webkit-box-orient:vertical;

    -webkit-line-clamp:4;

    overflow:hidden;

    min-height:calc(1.85em * 4);

}

.ms-logo-spacer{

    flex:1;

    min-height:24px;

}

.ms-logo-link{

    display:inline-flex;

    align-items:center;

    gap:10px;

    margin-top:auto;

    color:var(--ms-gold);

    font-size:15px;

    font-weight:600;

    text-decoration:none;

    transition:

        color .30s ease,

        transform .30s ease;

}

.ms-logo-link svg{

    width:16px;

    height:16px;

    transition:transform .30s ease;

}

.ms-logo-link:hover{

    color:var(--ms-white);

}

.ms-logo-link:hover svg{

    transform:translateX(5px);

}

.ms-logo-cloud-footer{

    display:flex;

    justify-content:center;

    margin-top:80px;

}

.ms-logo-cloud-all{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:12px;

    padding:16px 36px;

    border-radius:999px;

    border:1px solid rgba(197,165,114,.20);

    background:transparent;

    color:var(--ms-gold);

    font-size:15px;

    font-weight:600;

    text-decoration:none;

    transition:

        background .35s ease,

        border-color .35s ease,

        color .35s ease,

        transform .35s ease;

}

.ms-logo-cloud-all:hover{

    background:rgba(197,165,114,.08);

    border-color:rgba(197,165,114,.35);

    color:var(--ms-white);

    transform:translateY(-2px);

}

@media (max-width:1024px){

    .ms-logo-cloud{

        padding:110px 0;

    }

    .ms-logo-cloud-header{

        margin-bottom:72px;

    }

    .ms-logo-cloud-grid{

        grid-template-columns:repeat(2,minmax(0,1fr));

        gap:30px;

    }

    .ms-logo-content{

        padding:32px;

    }

}

@media (max-width:767px){

    .ms-logo-cloud{

        padding:84px 0;

    }

    .ms-logo-cloud-header{

        margin-bottom:48px;

    }

    .ms-logo-cloud-grid{

        grid-template-columns:1fr;

        gap:24px;

    }

    .ms-logo-content{

        padding:24px;

    }

    .ms-logo-cloud-footer{

        margin-top:56px;

    }

    .ms-logo-cloud-all{

        width:100%;

        justify-content:center;

    }

}

.ms-logo-link:focus-visible,
.ms-logo-cloud-all:focus-visible{

    outline:2px solid var(--ms-gold);

    outline-offset:4px;

}
