/*=========================
    CONTACTS
==========================*/

.contacts{
    position:relative;

    overflow:hidden;

    padding:70px 0 65px;

    border-radius:0 0 54px 54px;

    background:#050A14;

    z-index:2;
}.contacts-top{

    max-width: 760px;

    margin: 0 auto -70px;

    text-align: center;

      transform:translateY(-90px);

}.contacts-top h2{

    margin:10px 0 12px;

    font-size:42px;

    line-height:1.15;

}.contacts-top p{

    margin:0 auto 22px;

    max-width:700px;

    color:#A9B4C7;

    font-size:17px;

    line-height:1.6;

}.contacts-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    height:48px;
    padding:0 28px;
    box-sizing:border-box;

    background:#167BFF;
    color:#ffffff;

    border:1px solid #167BFF;
    border-radius:12px;

    text-decoration:none;

    font-family:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
    font-weight:600;
    font-size:15px;
    line-height:1;
    white-space:nowrap;

    box-shadow:
        0 0 0 1px rgba(22,123,255,.06) inset,
        0 0 16px rgba(22,123,255,.18);

    transition:
        background 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease,
        transform 0.25s ease;
}.contacts-button:hover{
    background:#167BFF;
    border-color:#167BFF;
    box-shadow:
        0 0 0 1px rgba(22,123,255,.12) inset,
        0 0 28px rgba(22,123,255,.55),
        0 15px 35px rgba(22,123,255,.35);
    transform:none;
}.contacts-grid{

    display: grid;

    grid-template-columns: 340px 1fr;

    gap: 28px;

    align-items: stretch;

    margin-top: 0;

}.contacts-card{

    background: #101827;

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

    border-radius: 24px;

    padding:18px 22px;

    display: flex;
    flex-direction: column;
    justify-content: center;

    transition:
        transform .35s,
        border-color .35s,
        box-shadow .35s;

}.contacts-map{

    background:#101827;

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

    border-radius:24px;

    overflow:hidden;

    padding:0;

    transition:
        transform .35s,
        border-color .35s,
        box-shadow .35s;

        display:flex;

}.contacts-card:hover,
.contacts-map:hover{

    transform:translateY(-6px);

    border-color:rgba(22,123,255,.35);

    box-shadow:
        0 20px 45px rgba(0,0,0,.35),
        0 0 25px rgba(22,123,255,.08);

          transform:scale(1.02);

}.contacts-card h3{

    margin-bottom:24px;

    font-size:28px;

}.contact-item{

    padding:12px 0;

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

}.contact-item:last-child{

    border-bottom:none;

}.contact-title{

    display:block;

    margin-bottom:8px;

    font-size:13px;

    font-weight:700;

    letter-spacing:.15em;

    text-transform:uppercase;

    color:#167BFF;

}.contact-item p{

    margin:0;

    color:#C7D0DD;

    line-height:1.8;

}.contact-item a{

    color:#fff;

    font-size:20px;

    font-weight:600;

    text-decoration:none;

    transition:color .3s;

}.contact-item a:hover{

    color:#167BFF;

}

@media (max-width:992px) and (hover: none) and (pointer: coarse) {

    .contacts{

        padding:120px 0;

    }

    .contacts-top{

        margin-bottom:60px;

    }

    .contacts-top h2{

        font-size:38px;

    }

  .contacts-grid{

    display:grid;

    grid-template-columns:340px 1fr;

    gap:28px;

    align-items:stretch;

    margin-bottom:30px;

}

}.contacts a,
.contacts span{
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}.contact-link{

    display:block;

    color:#FFFFFF;

    font-size:17px;

    font-weight:600;

    line-height:1.45;

    cursor:default;

    transition:
        color .3s ease,
        text-shadow .3s ease;

    user-select:none;
    -webkit-user-select:none;
    -moz-user-select:none;
    -ms-user-select:none;

}.contact-link:hover{

    color:#167BFF;

    text-shadow:0 0 12px rgba(22,123,255,.45);

}.contacts-map{

    overflow:hidden;

    padding:0;

}.contacts-map iframe{
    width:100%;
    height:440px;
    border:0;
    display:block;

    flex:1;
    min-height:100%;

    transition:transform .5s ease;

}.contacts .container{

    position: relative;

    z-index: 2;


}.contacts-grid{

    margin-bottom: 40px;

}



/* Homepage final shape */
@media (min-width:993px){
    body.home .contacts{
        border-radius:0 0 64px 64px;
        overflow:hidden;
    }
}/* =========================================================
   CONTACTS BEFORE FOOTER
   Same overlap as the service pages: the section rides over
   the footer with rounded bottom corners instead of ending
   in a hard edge.
========================================================= */

body.home .contacts{
    position: relative;
    z-index: 2;
    margin-bottom: -64px;
    padding-bottom: 154px;
    border-radius: 0 0 64px 64px;
    /* !important: without the clip the map block spills past the
       rounded corners and hides the curve. */
    overflow: hidden !important;
}

@media (max-width: 767px){

    body.home .contacts{
        margin-bottom: -44px;
        padding-bottom: 104px;
        border-radius: 0 0 40px 40px;
    }

}
