.contacts-hero {
    padding: 96rem 0 80rem;
}

.contacts-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(420rem, 1fr);
    gap: 56rem;
    align-items: center;
}

.contacts-hero h1 {
    margin: 0;
    font-size: 54rem;
    line-height: 62rem;
}

.contacts-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 16rem;
    margin-top: 32rem;
}

.contacts-quick {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16rem;
}

.contacts-quick article {
    display: grid;
    gap: 8rem;
    min-height: 132rem;
    border: 1rem solid var(--color-border);
    border-radius: var(--radius-sm);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: var(--shadow-sm);
    padding: 22rem;
}

.contacts-quick span,
.contacts-office__note {
    color: var(--color-text-soft);
    font-size: 13rem;
    font-weight: 750;
    line-height: 18rem;
    text-transform: uppercase;
}

.contacts-quick a,
.contacts-quick strong {
    color: var(--color-text);
    font-size: 20rem;
    font-weight: 800;
    line-height: 28rem;
}

.contacts-quick a:hover {
    color: var(--color-primary-dark);
}

.contacts-office {
    padding: 80rem 0;
    background: rgba(237, 238, 239, 0.72);
}

.contacts-office__grid,
.contact-form-section__grid {
    display: grid;
    grid-template-columns: minmax(0, 0.82fr) minmax(520rem, 1fr);
    gap: 40rem;
    align-items: start;
}

.contacts-office__content {
    padding-top: 12rem;
}

.contacts-office__note {
    margin: 20rem 0 0;
    text-transform: none;
}

.contacts-map {
    overflow: hidden;
    min-height: 420rem;
    border: 1rem solid var(--color-border);
    border-radius: var(--radius-sm);
    background: var(--color-surface);
    box-shadow: var(--shadow-md);
}

.contacts-map iframe,
.contacts-map__empty {
    width: 100%;
    height: 420rem;
}

.contacts-map iframe {
    border: 0;
}

.contacts-map__empty {
    display: grid;
    place-items: center;
    color: var(--color-text-soft);
    padding: 32rem;
    text-align: center;
}

.contact-form-section {
    padding: 88rem 0 112rem;
}

.contact-form {
    border: 1rem solid var(--color-border);
    border-radius: var(--radius-sm);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: var(--shadow-lg);
    padding: 36rem;
}

.contact-form__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22rem;
}

.contact-form__full {
    grid-column: 1 / -1;
}

@media (max-width: 1024px) {
    .contacts-hero__grid,
    .contacts-office__grid,
    .contact-form-section__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .contacts-hero {
        padding-top: 56rem;
    }

    .contacts-hero h1 {
        font-size: 40rem;
        line-height: 48rem;
    }

    .contacts-quick,
    .contact-form__grid {
        grid-template-columns: 1fr;
    }

    .contact-form {
        padding: 26rem;
    }
}
