button,input,textarea {
    font:inherit
}

button,a,input,textarea {
    -webkit-tap-highlight-color:transparent
}

a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible {
    outline:3px solid var(--blue);
    outline-offset:5px
}

.contact-layout {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px;
       padding:65px 0 45px;
}

.contact-aside>.sticker {
    transform:rotate(-6deg);
    margin-bottom:40px
}

.contact-aside h2 {
    font-size:3rem;
    margin-bottom:20px
}

.contact-aside>p {
    margin-bottom:25px
}

.contact-info {
    border-left:4px solid var(--red);
    padding-left:20px;
    margin:30px 0
}

.contact-info h3 {
    font-size:1.65rem;
    margin-bottom:10px
}

.contact-info p {
    font-size:.95rem
}

.availability {
    font-size:.9rem;
    background:var(--silver);
    padding:18px;
    border-radius:14px;
    overflow-wrap:anywhere
}

.availability a {
    text-decoration:underline
}

form {
    padding:35px;
    background:white;
    border:1px solid var(--border);
    border-radius:24px;
    align-self:start;
    box-shadow:8px 8px 0 #e9eef9
}

.field {
    margin-bottom:22px
}

label {
    display:block;
    font-size:.9rem;
    font-weight:800;
    margin-bottom:9px
}

input,textarea {
    border:1px solid #c7cfdd;
    border-radius:10px;
    background:var(--paper);
    width:100%;
    padding:13px 15px;
    color:var(--ink)
}

textarea {
    resize:vertical;
    min-height:140px
}

form .button {
    width:100%
}

#form-status {
    font-size:.82rem;
    color:#556176;
    margin-top:17px
}

@media(max-width:1100px) {

    .contact-layout {
        gap:35px
    }

}

@media(max-width:900px) {

    .contact-layout {
        grid-template-columns:1fr 1fr;
        gap:28px
    }

    form {
        padding:24px
    }

}

@media(max-width:650px) {

    .contact-layout {
        grid-template-columns:1fr;
        gap:25px;
        padding-bottom:50px
    }

    .contact-aside h2 {
        font-size:2.8rem
    }

    .contact-aside>.sticker {
        margin-bottom:30px
    }

    form {
        padding:22px
    }

    .contact-info {
        margin:25px 0
    }

    .availability {
        margin-bottom:0!important
    }

}

.contact-right {
    display:flex;
    flex-direction:column;
    gap:28px;
    width:100%;
}

.contact-social {
    width:100%;
    padding:10px 0 5px;
}

.contact-social-title {
    margin:0 0 16px;
    font-size:11px;
    font-weight:900;
    letter-spacing:2px;
    text-transform:uppercase;
    color:#0b1020;
}

.contact-social-icons {
    display:flex;
    align-items:center;
    gap:14px;
    flex-wrap:wrap;
}

.social-icon {
    width:64px;
    height:64px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:18px;

    font-size:30px;
    text-decoration:none;

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        opacity .2s ease;
}

.social-icon:hover {
    transform:translateY(-5px) scale(1.05);
}

.social-icon:active {
    transform:scale(.95);
}

.social-icon.facebook {
    background:#1877F2;
    color:#fff;
    box-shadow:0 8px 20px rgba(24,119,242,.22);
}

.social-icon.tiktok {
    background:#000;
    color:#fff;
    box-shadow:0 8px 20px rgba(0,0,0,.18);
}

.social-icon.whatsapp {
    background:#25D366;
    color:#fff;
    box-shadow:0 8px 20px rgba(37,211,102,.22);
}

.social-icon.instagram {
    color:#fff;

    background:
        radial-gradient(
            circle at 30% 107%,
            #fdf497 0%,
            #fdf497 5%,
            #fd5949 45%,
            #d6249f 60%,
            #285AEB 90%
        );

    box-shadow:0 8px 20px rgba(214,36,159,.22);
}

.social-icon.telegram {
    background:#229ED9;
    color:#fff;
    box-shadow:0 8px 20px rgba(34,158,217,.22);
}

.contact-right #contact-form {
    width:100%;
}

@media (max-width:900px) {

    .contact-right {
        gap:22px;
    }

    .contact-social {
        padding-top:0;
    }

}

@media (max-width:650px) {

    .contact-social-icons {
        gap:10px;
    }

    .social-icon {
        width:52px;
        height:52px;
        border-radius:15px;
        font-size:25px;
    }

    .contact-social-title {
        font-size:10px;
        margin-bottom:12px;
    }

}
