#hero {
    padding: var(--space-80) var(--space-0);
}

#hero .h1-extrabold {
    color: var(--primary-text-main);
}

#hero .body-l {
    color: var(--primary-text-secondary);
}

#hero div.phone {
    display: flex;
    gap: var(--space-10);
    align-items: center;
    padding: var(--space-15);
    background: var(--background-surface);
    border-radius: var(--radius-m);
}

#hero .body-s {
    color: var(--primary-text-muted);
}

#hero .phone.body-s {
    white-space: normal;
}

#hero .phone.body-s .schedule {
    display: block;
    white-space: nowrap;
}

#hero .contacts {
    display: flex;
    flex-direction: column;
    gap: var(--space-20);
    align-items: center;
    justify-content: center;
}

#hero .h4 {
    padding: var(--space-10) var(--space-20);
    color: var(--primary-main);
    background: var(--primary-main-10);
    border-radius: var(--radius-m);
}

#hero .phone-number {
    justify-content: center;
    width: 100%;
    text-align: center;
    transition: background var(--transition-fast), transform var(--transition-instant);
    cursor: pointer;
    user-select: none;
}

#hero .phone-number .copy-icon {
    color: var(--primary-main);
}

#hero .schedule-wrap {
    display: flex;
    flex-direction: column;
    width: max-content;
}

#hero .schedule-wrap .schedule {
    width: 100%;
    color: var(--primary-text-secondary);
}

#hero .phone-number:active {
    transform: var(--scale-decrease);
}

#contacts .contacts {
    display: flex;
    gap: var(--space-16);
    width: 100%;
}

#contacts .card {
    display: flex;
    flex-direction: column;
    padding: var(--space-30);
    width: 100%;
    background: var(--background-dark-surface);
    border: 1px solid var(--background-page-5);
    border-radius: var(--radius-m);
}

#contacts .card .title {
    display: flex;
    flex-direction: column;
}

#contacts .card .title .h3 {
    color: var(--primary-main);
}

#contacts .card .title .body-l {
    color: var(--text-inverted);
}

#contacts .card .caption {
    color: var(--primary-text-secondary);
    margin-top: var(--space-10);
    margin-bottom: var(--space-20);
}

#contacts .socials {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--space-10);
}

#contacts .secondary {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 52px;
    background: var(--background-page-5);
    border: none;
    border-radius: var(--radius-m);
}

#contacts .secondary .icon,
#contacts .secondary .site-social-icon-mask {
    color: var(--primary-text-secondary);
    background-color: currentColor;
}

#contacts button {
    margin-top: var(--space-auto);
}

#feedback {
    padding: var(--space-80) var(--space-0);
}

@media (max-width: 480px) {
    #contacts .contacts {
        flex-direction: column;
    }

    #contacts .socials {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #contacts .card .title .body-l {
        justify-content: center;
    }

    #feedback {
        padding: var(--space-40) var(--space-16);
    }

    #hero {
        padding: var(--space-10) var(--space-16) var(--space-40) var(--space-16);
    }

    #hero .contacts {
        width: 100%;
    }

    #hero div.phone {
        flex-direction: column;
        width: 100%;
        text-align: center;
    }

    #hero .phone-number {
        width: 100%;
        color: var(--primary-main);
    }

    #hero .phone-number,
    #hero .phone-number *,
    #hero .phone-number a,
    #hero .phone-number a[x-apple-data-detectors],
    #hero .phone-number a[href^="tel"] {
        text-decoration: none;
        color: var(--primary-main) !important;
        -webkit-text-fill-color: var(--primary-main);
    }

    #contacts .card {
        padding: var(--space-20);
        text-align: center;
    }
}

@media (max-width: 1024px) {
    #contacts .socials {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #hero {
        padding: var(--space-10) var(--space-32) var(--space-50) var(--space-32);
    }

    #feedback {
        padding: var(--space-50) var(--space-32);
    }

    .form {
        width: 100%;
    }
}

@media (hover: hover) {
    #contacts .secondary:hover .icon,
    #contacts .secondary:hover .site-social-icon-mask {
        color: var(--text-inverted);
        background-color: currentColor;
    }

    #hero .phone-number:hover {
        background: var(--primary-main-15);
    }
}
