/*======================================================================

MC-19
CONTACT SECTION


Version : 2.0

======================================================================*/

.ms-contact{

    position:relative;

    overflow:hidden;

    background:var(--ms-bg);

    padding:140px 0;

}

.ms-contact::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-contact-layout{

    position:relative;

    z-index:2;

}


.ms-contact-header{

    max-width:760px;

    margin:0 auto 96px;

    text-align:center;

}

.ms-contact-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-contact-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-contact-description{

    max-width:720px;

    margin:0 auto;

    color:var(--ms-text-soft);

    font-size:clamp(16px,2vw,19px);

    line-height:1.9;

}


.ms-contact-grid{

    display:grid;

    grid-template-columns:

        minmax(0,1fr)

        minmax(0,1fr);

    gap:42px;

    align-items:stretch;

}


.ms-contact-card{

    position:relative;

    display:flex;

    flex-direction:column;

    min-width:0;

    height:100%;

    padding:40px;

    border-radius:28px;

    background:var(--ms-surface);

    border:1px solid var(--ms-border);

    overflow:hidden;

}

.ms-contact-card::before{

    content:"";

    position:absolute;

    inset:0;

    pointer-events:none;

    border-radius:inherit;

    background:

        linear-gradient(

            180deg,

            rgba(197,165,114,.03),

            transparent 35%

        );

}


.ms-contact-card-content{

    position:relative;

    z-index:2;

    display:flex;

    flex-direction:column;

    flex:1;

    min-width:0;

}



.ms-contact-form{

    min-width:0;

}

.ms-contact-info{

    min-width:0;

}



.ms-contact-card-title{

    color:var(--ms-white);

    font-size:clamp(28px,3vw,36px);

    font-weight:700;

    line-height:1.18;

    margin-bottom:18px;

}

.ms-contact-card-description{

    color:var(--ms-text-soft);

    font-size:17px;

    line-height:1.9;

    margin-bottom:42px;

}



@media (max-width:1024px){

    .ms-contact{

        padding:110px 0;

    }

    .ms-contact-grid{

        grid-template-columns:1fr;

        gap:48px;

    }

}

@media (max-width:767px){

    .ms-contact{

        padding:84px 0;

    }

    .ms-contact-header{

        margin-bottom:56px;

    }

    .ms-contact-card{

        padding:28px;

        border-radius:24px;

    }

}



.ms-contact-form-body{

    display:flex;

    flex-direction:column;

    flex:1;

    min-width:0;

}

.ms-contact-fields{

    display:grid;

    grid-template-columns:

        repeat(2,minmax(0,1fr));

    gap:22px;

    width:100%;

    margin-bottom:24px;

}

.ms-contact-field{

    display:flex;

    flex-direction:column;

    gap:10px;

    min-width:0;

}

.ms-contact-field--full{

    grid-column:1 / -1;

}

.ms-contact-label{

    color:var(--ms-white);

    font-size:14px;

    font-weight:600;

    letter-spacing:.04em;

}

.ms-contact-input,

.ms-contact-textarea{

    width:100%;

    max-width:100%;

    min-width:0;

    box-sizing:border-box;

    padding:16px 18px;

    border-radius:16px;

    border:1px solid rgba(197,165,114,.12);

    background:#141919;

    color:var(--ms-white);

    font-family:inherit;

    font-size:16px;

    transition:

        border-color .30s ease,

        box-shadow .30s ease,

        background .30s ease;

}

.ms-contact-input::placeholder,

.ms-contact-textarea::placeholder{

    color:rgba(225,225,225,.45);

}

.ms-contact-input:focus,

.ms-contact-textarea:focus{

    outline:none;

    border-color:rgba(197,165,114,.42);

    background:#191f20;

    box-shadow:0 0 0 4px rgba(197,165,114,.08);

}

.ms-contact-textarea{

    resize:vertical;

    min-height:190px;

}

.ms-contact-submit{

    display:flex;

    align-items:center;

    gap:18px;

    margin-top:10px;

    flex-wrap:wrap;

}

.ms-contact-note{

    color:var(--ms-text-soft);

    font-size:14px;

    line-height:1.8;

}

.ms-contact-info-body{

    display:flex;

    flex-direction:column;

    flex:1;

    min-width:0;

}

.ms-contact-info-list{

    display:flex;

    flex-direction:column;

    gap:22px;

}

.ms-contact-info-item{

    display:flex;

    align-items:flex-start;

    gap:18px;

    padding:22px;

    border-radius:20px;

    border:1px solid rgba(197,165,114,.10);

    background:rgba(255,255,255,.015);

    transition:

        border-color .30s ease,

        transform .30s ease;

}

.ms-contact-info-item:hover{

    transform:translateY(-3px);

    border-color:rgba(197,165,114,.28);

}

.ms-contact-info-icon{

    width:54px;

    height:54px;

    flex-shrink:0;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:rgba(197,165,114,.06);

    border:1px solid rgba(197,165,114,.18);

    color:var(--ms-gold);

}

.ms-contact-info-icon svg{

    width:22px;

    height:22px;

}

.ms-contact-info-content{

    display:flex;

    flex-direction:column;

    gap:6px;

    flex:1;

    min-width:0;

}

.ms-contact-info-label{

    color:var(--ms-text-soft);

    font-size:13px;

    font-weight:600;

    letter-spacing:.08em;

    text-transform:uppercase;

}

.ms-contact-info-value{

    color:var(--ms-white);

    font-size:17px;

    font-weight:600;

    line-height:1.8;

    overflow-wrap:anywhere;

    word-break:break-word;

}

.ms-contact-info-value a{

    color:inherit;

    text-decoration:none;

}

.ms-contact-info-value a:hover{

    color:var(--ms-gold);

}



.ms-contact-social{

    display:flex;

    flex-wrap:wrap;

    gap:18px;

    margin-top:auto;

    padding-top:42px;

}

.ms-contact-social a{

    width:54px;

    height:54px;

    flex:0 0 auto;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:rgba(197,165,114,.05);

    border:1px solid rgba(197,165,114,.18);

    color:var(--ms-gold);

    transition:

        transform .35s ease,

        border-color .35s ease,

        background .35s ease,

        color .35s ease;

}

.ms-contact-social a:hover{

    transform:translateY(-3px);

    border-color:rgba(197,165,114,.35);

    background:rgba(197,165,114,.10);

    color:var(--ms-white);

}

.ms-contact-social svg{

    width:20px;

    height:20px;

}



@media (max-width:1024px){

    .ms-contact{

        padding:110px 0;

    }

    .ms-contact-header{

        margin-bottom:72px;

    }

    .ms-contact-grid{

        grid-template-columns:1fr;

        gap:48px;

    }

    .ms-contact-card{

        padding:34px;

    }

}

@media (max-width:767px){

    .ms-contact{

        padding:84px 0;

    }

    .ms-contact-header{

        margin-bottom:48px;

    }

    .ms-contact-card{

        padding:24px;

        border-radius:22px;

    }

    .ms-contact-fields{

        grid-template-columns:1fr;

        gap:18px;

    }

    .ms-contact-field--full{

        grid-column:auto;

    }

    .ms-contact-input,

    .ms-contact-textarea{

        font-size:16px;

        padding:15px 16px;

    }

    .ms-contact-textarea{

        min-height:170px;

    }

    .ms-contact-info-item{

        padding:18px;

        gap:16px;

    }

    .ms-contact-info-icon{

        width:48px;

        height:48px;

    }

    .ms-contact-info-icon svg{

        width:20px;

        height:20px;

    }

    .ms-contact-info-value{

        font-size:16px;

        line-height:1.7;

    }

    .ms-contact-social{

        justify-content:center;

        gap:18px;

        padding-top:36px;

    }

    .ms-contact-social a{

        width:50px;

        height:50px;

    }

    .ms-contact-submit{

        flex-direction:column;

        align-items:flex-start;

        gap:14px;

    }

}

@media (max-width:480px){

    .ms-contact-card{

        padding:20px;

    }

    .ms-contact-card-title{

        font-size:clamp(28px,8vw,34px);

    }

    .ms-contact-card-description{

        font-size:16px;

    }

    .ms-contact-info-item{

        flex-direction:row;

        align-items:flex-start;

    }

    .ms-contact-info-content{

        min-width:0;

    }

    .ms-contact-info-value{

        overflow-wrap:anywhere;

        word-break:break-word;

    }

}



.ms-contact-input:focus-visible,
.ms-contact-textarea:focus-visible,
.ms-contact-social a:focus-visible{

    outline:2px solid var(--ms-gold);

    outline-offset:4px;

}
