/* Business Park AQJOL — Contacts page.
   Desktop first block uses the approved Portfolio page hero geometry. */

.contacts-page-body {
    margin: 0;
    background: #ffffff;
    color: #1f1f1f;
}

.contacts-page {
    width: 100%;
    overflow: hidden;
    background: #ffffff;
}

.contacts-info {
    display: none;
}

@media (min-width: 761px) {
    .contacts-page-body .blog-header__inner {
        width: min(100%, 1920px);
    }

    .contacts-breadcrumbs {
        width: 100%;
        height: 24px;
        flex: 0 0 24px;
    }

    .contacts-hero {
        width: 100%;
        max-width: none;
        margin: 0;
        background: #ffffff;
    }

    .contacts-hero__content {
        box-sizing: border-box;
        width: min(100%, 1903px);
        margin: 0 auto;
        padding: 64px 40px 64px;
    }

    .contacts-hero__title {
        width: 100%;
        height: 80px;
        margin: 0;
        color: #1f1f1f;
        font-family: 'RoadRadio', Arial, Helvetica, sans-serif;
        font-size: 96px;
        font-weight: 700;
        line-height: 80px;
        letter-spacing: 0;
        text-transform: uppercase;
        white-space: nowrap;
    }

    .contacts-hero__subtitle {
        width: 1040px;
        min-height: 48px;
        margin: 24px 0 0;
        color: #1f1f1f;
        font-family: 'Manrope', Arial, Helvetica, sans-serif;
        font-size: 20px;
        font-weight: 500;
        line-height: 24px;
        letter-spacing: 0;
    }

    .contacts-hero__media {
        width: 100%;
        max-width: none;
        height: 720px;
        overflow: hidden;
        background: #ffffff;
    }

    .contacts-hero__media img {
        display: block;
        width: 100%;
        height: 100%;
        max-width: none;
        object-fit: cover;
        object-position: 50% 50%;
    }
}

/* Contacts info block — desktop, under hero media. */
@media (min-width: 761px) {
    .contacts-info {
        display: block;
        width: 100%;
        background: #1f1f1f;
        color: #ffffff;
        overflow: hidden;
    }

    .contacts-info__inner {
        box-sizing: border-box;
        width: min(100%, 1920px);
        margin: 0 auto;
        padding: 128px 40px 77px;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 904px));
        justify-content: center;
        column-gap: 32px;
        row-gap: 64px;
        background: #1f1f1f;
    }

    .contacts-info__item {
        min-width: 0;
        min-height: 104px;
    }

    .contacts-info__label {
        width: 100%;
        height: 20px;
        margin: 0;
        color: rgba(255, 255, 255, .7);
        font-family: 'RoadRadio', Arial, Helvetica, sans-serif;
        font-size: 20px;
        font-weight: 700;
        line-height: 20px;
        letter-spacing: 0;
        text-transform: uppercase;
    }

    .contacts-info__line {
        display: flex;
        align-items: center;
        min-width: 0;
        margin-top: 8px;
    }

    .contacts-info__line--phone,
    .contacts-info__line--address {
        gap: 32px;
    }

    .contacts-info__value,
    .contacts-info__value:hover,
    .contacts-info__value:focus-visible {
        color: #ffffff;
        text-decoration: none;
    }

    .contacts-info__value--phone,
    .contacts-info__value--email {
        display: block;
        margin: 8px 0 0;
        font-family: 'RoadRadio', Arial, Helvetica, sans-serif;
        font-size: 68px;
        font-weight: 700;
        line-height: 80px;
        letter-spacing: 0;
        text-transform: uppercase;
        white-space: nowrap;
    }

    .contacts-info__line--phone .contacts-info__value--phone {
        margin: 0;
    }

    .contacts-info__value--email {
        overflow: hidden;
        text-overflow: clip;
    }

    .contacts-info__value--address {
        display: block;
        max-width: 669px;
        margin: 8px 0 0;
        font-family: 'RoadRadio', Arial, Helvetica, sans-serif;
        font-size: 52px;
        font-weight: 700;
        line-height: 52px;
        letter-spacing: 0;
        text-transform: uppercase;
    }

    .contacts-info__line--address .contacts-info__value--address {
        margin: 0;
    }

    .contacts-info__icon {
        box-sizing: border-box;
        flex: 0 0 64px;
        width: 64px;
        height: 64px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 1px solid rgba(255, 255, 255, .7);
        color: #ffffff;
        text-decoration: none;
    }

    .contacts-info__icon img {
        display: block;
        width: 32px;
        height: 32px;
        object-fit: contain;
        filter: brightness(0) invert(1);
    }

    .contacts-info__copy-symbol {
        position: relative;
        display: block;
        width: 32px;
        height: 32px;
    }

    .contacts-info__copy-symbol::before,
    .contacts-info__copy-symbol::after {
        content: '';
        position: absolute;
        box-sizing: border-box;
        width: 18px;
        height: 22px;
        border: 2px solid #ffffff;
    }

    .contacts-info__copy-symbol::before {
        left: 7px;
        top: 4px;
    }

    .contacts-info__copy-symbol::after {
        left: 11px;
        top: 0;
        background: #1f1f1f;
    }

    .contacts-info__company {
        width: 904px;
        max-width: 100%;
        margin: 8px 0 0;
        color: #ffffff;
        font-family: 'RoadRadio', Arial, Helvetica, sans-serif;
        font-size: 44px;
        font-weight: 700;
        line-height: 52px;
        letter-spacing: 0;
        text-transform: uppercase;
        white-space: nowrap;
    }

    .contacts-info__details {
        width: 904px;
        max-width: 100%;
        margin: 12px 0 0;
        color: rgba(255, 255, 255, .7);
        font-family: 'RoadRadio', Arial, Helvetica, sans-serif;
        font-size: 24px;
        font-weight: 700;
        line-height: 28px;
        letter-spacing: 0;
        text-transform: uppercase;
    }
}

/* Contacts consultation form — reuses approved Portfolio/Residents geometry. */
@media (min-width: 761px) {
    .contacts-form {
        width: 100%;
        background: #ffffff;
        color: #1f1f1f;
    }

    .contacts-form .residents-contact__inner {
        width: min(100%, 1903px);
    }

    .contacts-form .residents-contact__title,
    .contacts-form__title {
        width: min(100%, 920px);
        max-width: 920px;
        min-height: 300px;
        margin: 0;
        padding: 0;
        color: #1f1f1f;
        font-family: 'RoadRadio', Arial, Helvetica, sans-serif;
        font-size: clamp(76px, 5.21vw, 100px);
        font-style: normal;
        font-weight: 700;
        line-height: 1;
        letter-spacing: 0;
        text-align: left;
        text-transform: uppercase;
        white-space: pre-line;
    }

    .contacts-form .residents-contact__subtitle,
    .contacts-form__subtitle {
        margin-top: 42px;
    }

    .contacts-form__roles {
        width: 100%;
        min-height: 40px;
        margin: 0 0 40px;
        padding: 0;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: center;
        box-sizing: border-box;
    }

    .contacts-form__roles-label {
        position: absolute;
        width: 1px;
        height: 1px;
        margin: -1px;
        padding: 0;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }

    .contacts-form__role {
        min-width: 0;
        height: 40px;
        display: inline-flex;
        align-items: center;
        gap: 16px;
        color: #1f1f1f;
        font-family: 'RoadRadio', Arial, Helvetica, sans-serif;
        font-size: 32px;
        font-style: normal;
        font-weight: 700;
        line-height: 32px;
        letter-spacing: 0;
        text-transform: uppercase;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
    }

    .contacts-form__role input {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }

    .contacts-form__role-box {
        position: relative;
        width: 40px;
        height: 40px;
        flex: 0 0 40px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        border: 1.25px solid rgba(31, 31, 31, .3);
        background: #ffffff;
        transition: background-color .22s ease, border-color .22s ease;
    }

    .contacts-form__role-check {
        width: 20px;
        height: 20px;
        display: block;
        object-fit: contain;
        opacity: 0;
        transform: scale(.32) rotate(-12deg);
        transform-origin: 50% 50%;
        pointer-events: none;
    }

    .contacts-form__role input:checked + .contacts-form__role-box {
        border-color: #1f1f1f;
        background: #1f1f1f;
    }

    .contacts-form__role input:checked + .contacts-form__role-box .contacts-form__role-check {
        opacity: 1;
        transform: scale(1) rotate(0deg);
    }

    .contacts-form__role strong {
        display: block;
        color: inherit;
        font: inherit;
    }
}

@media (max-width: 760px) {
    .contacts-form {
        display: block;
        width: 100%;
        margin: 0;
        padding: 64px 0 40px;
        box-sizing: border-box;
        overflow: hidden;
        background: #ffffff;
        color: #1f1f1f;
    }

    .contacts-form .residents-contact__inner,
    .contacts-form__inner {
        width: 100%;
        max-width: none;
        min-height: 0;
        margin: 0;
        padding: 0;
        display: block;
        box-sizing: border-box;
    }

    .contacts-form .residents-contact__left,
    .contacts-form__left {
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 0 16px;
        box-sizing: border-box;
    }

    .contacts-form .residents-contact__title,
    .contacts-form__title {
        width: min(361px, 100%);
        max-width: none;
        min-height: 132px;
        margin: 0 auto;
        padding: 0;
        color: #1f1f1f;
        font-family: 'RoadRadio', Arial, Helvetica, sans-serif;
        font-size: 44px;
        font-style: normal;
        font-weight: 700;
        line-height: 44px;
        letter-spacing: 0;
        text-align: left;
        text-transform: uppercase;
        white-space: pre-line;
    }

    .contacts-form .residents-contact__subtitle,
    .contacts-form__subtitle {
        width: min(361px, 100%);
        max-width: none;
        margin: 4px auto 0;
        padding: 0;
        color: rgba(31, 31, 31, .50);
        font-family: 'RoadRadio', Arial, Helvetica, sans-serif;
        font-size: 16px;
        font-style: normal;
        font-weight: 700;
        line-height: 18px;
        letter-spacing: 0;
        text-align: left;
        text-transform: uppercase;
    }

    .contacts-form .residents-contact__phone,
    .contacts-form__phone {
        width: min(361px, 100%);
        max-width: none;
        height: 32px;
        min-height: 32px;
        margin: 24px auto 0;
        padding: 0;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        color: #1f1f1f;
        font-family: 'RoadRadio', Arial, Helvetica, sans-serif;
        font-size: 20px;
        font-style: normal;
        font-weight: 700;
        line-height: 24px;
        letter-spacing: .02em;
        text-decoration: none;
    }

    .contacts-form .residents-contact__phone-icon,
    .contacts-form__phone-icon {
        width: 32px;
        height: 32px;
        flex: 0 0 32px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        border: 1px solid #1f1f1f;
        background: #ffffff;
    }

    .contacts-form .residents-contact__phone-icon img,
    .contacts-form__phone-icon img {
        display: block;
        width: 19px;
        height: 20px;
        object-fit: contain;
    }

    .contacts-form .residents-contact__form,
    .contacts-form__form {
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 0;
        display: block;
        box-sizing: border-box;
        background: #ffffff;
    }

    .contacts-form__roles {
        position: relative;
        width: min(361px, calc(100% - 32px));
        height: 20px;
        margin: 32px auto 24px;
        padding: 0;
        display: flex;
        align-items: center;
        gap: 32px;
        box-sizing: border-box;
    }

    .contacts-form__roles-label {
        position: absolute;
        width: 1px;
        height: 1px;
        margin: -1px;
        padding: 0;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }

    .contacts-form__role {
        height: 20px;
        display: inline-flex;
        align-items: center;
        gap: 10px;
        color: #1f1f1f;
        font-family: 'RoadRadio', Arial, Helvetica, sans-serif;
        font-size: 16px;
        font-style: normal;
        font-weight: 700;
        line-height: 18px;
        letter-spacing: .02em;
        text-transform: uppercase;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
    }

    .contacts-form__role input {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }

    .contacts-form__role-box {
        position: relative;
        width: 16px;
        height: 16px;
        flex: 0 0 16px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        border: 1px solid #d0d0d0;
        background: #ffffff;
        transition: background-color .22s ease, border-color .22s ease;
    }

    .contacts-form__role-check {
        width: 10px;
        height: 10px;
        display: block;
        object-fit: contain;
        opacity: 0;
        transform: scale(.32) rotate(-12deg);
        transform-origin: 50% 50%;
        pointer-events: none;
    }

    .contacts-form__role input:checked + .contacts-form__role-box {
        border-color: #1f1f1f;
        background: #1f1f1f;
    }

    .contacts-form__role input:checked + .contacts-form__role-box .contacts-form__role-check {
        opacity: 1;
        transform: scale(1) rotate(0deg);
    }

    .contacts-form__role strong {
        display: block;
        color: inherit;
        font: inherit;
    }

    .contacts-form .residents-contact__fields,
    .contacts-form__fields {
        width: 100%;
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        border: 0;
        border-top: 1px solid #d0d0d0;
        border-bottom: 1px solid #d0d0d0;
        background: #ffffff;
        box-sizing: border-box;
    }

    .contacts-form .residents-contact__field,
    .contacts-form__field {
        position: relative;
        width: 100%;
        min-height: 72px;
        height: 72px;
        margin: 0;
        padding: 0;
        display: block;
        box-sizing: border-box;
        border: 0;
        border-bottom: 1px solid #d0d0d0;
        background: transparent;
        cursor: text;
    }

    .contacts-form .residents-contact__field:last-child,
    .contacts-form__field:last-child {
        border-bottom: 0;
    }

    .contacts-form .residents-contact__field > span,
    .contacts-form__field > span {
        position: absolute;
        z-index: 1;
        top: 20px;
        left: 16px;
        right: 16px;
        display: block;
        color: #1f1f1f;
        font-family: 'RoadRadio', Arial, Helvetica, sans-serif;
        font-size: 24px;
        font-style: normal;
        font-weight: 700;
        line-height: 32px;
        letter-spacing: 0;
        text-transform: uppercase;
        pointer-events: none;
        transition: none;
    }

    .contacts-form .residents-contact__field:focus-within > span,
    .contacts-form .residents-contact__field:has(input:not(:placeholder-shown)) > span,
    .contacts-form .residents-contact__field:has(textarea:not(:placeholder-shown)) > span,
    .contacts-form__field:focus-within > span,
    .contacts-form__field:has(input:not(:placeholder-shown)) > span,
    .contacts-form__field:has(textarea:not(:placeholder-shown)) > span {
        top: 8px;
        color: rgba(31, 31, 31, .50);
        font-family: 'Manrope', Arial, Helvetica, sans-serif;
        font-size: 12px;
        font-weight: 600;
        line-height: 16px;
        letter-spacing: 0;
    }

    .contacts-form .residents-contact__field input,
    .contacts-form .residents-contact__field textarea,
    .contacts-form__field input,
    .contacts-form__field textarea {
        width: 100%;
        height: 72px;
        min-height: 72px;
        margin: 0;
        padding: 28px 16px 8px;
        display: block;
        box-sizing: border-box;
        border: 0;
        border-radius: 0;
        outline: 0;
        background: transparent;
        color: #1f1f1f;
        font-family: 'Manrope', Arial, Helvetica, sans-serif;
        font-size: 16px;
        font-style: normal;
        font-weight: 500;
        line-height: 22px;
        resize: none;
    }

    .contacts-form .residents-contact__submit,
    .contacts-form__submit {
        width: min(361px, calc(100% - 32px));
        height: 66px;
        min-height: 66px;
        margin: 24px auto 0;
        padding: 0 16px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        box-sizing: border-box;
        border: 0;
        background: #1f1f1f;
        color: #ffffff;
        cursor: pointer;
        font-family: 'RoadRadio', Arial, Helvetica, sans-serif;
        font-size: 16px;
        font-style: normal;
        font-weight: 700;
        line-height: 18px;
        letter-spacing: .02em;
        text-align: center;
        text-transform: uppercase;
    }

    .contacts-form .residents-contact__submit img,
    .contacts-form__submit img {
        display: block;
        width: 10.8px;
        height: 10px;
        flex: 0 0 10.8px;
        object-fit: contain;
    }

    .contacts-form .residents-contact__consent,
    .contacts-form__consent {
        width: min(300px, calc(100% - 64px));
        min-height: 0;
        margin: 16px auto 0;
        padding: 0;
        color: rgba(31, 31, 31, .72);
        font-family: 'Manrope', Arial, Helvetica, sans-serif;
        font-size: 12px;
        font-style: normal;
        font-weight: 400;
        line-height: 16px;
        letter-spacing: 0;
        text-align: center;
    }

    .contacts-form .residents-contact__consent a,
    .contacts-form__consent a {
        color: inherit;
        text-decoration: underline;
        text-underline-offset: 2px;
    }
}

/* Contacts map block — desktop, tabs + gray overlay over map. */
.contacts-map {
    display: none;
}

@media (min-width: 761px) {
    .contacts-map {
        display: block;
        width: 100%;
        margin: 0;
        padding: 96px 0 0;
        background: #1f1f1f;
        color: #ffffff;
        overflow: hidden;
    }

    .contacts-map__inner {
        box-sizing: border-box;
        width: min(100%, 1920px);
        margin: 0 auto;
        padding: 0 40px;
        background: #1f1f1f;
    }

    .contacts-map__head {
        width: 100%;
        margin: 0;
        padding: 0;
    }

    .contacts-map__title {
        width: 100%;
        min-height: 80px;
        margin: 0;
        padding: 0;
        color: #ffffff;
        font-family: 'RoadRadio', Arial, Helvetica, sans-serif;
        font-size: 80px;
        font-style: normal;
        font-weight: 700;
        line-height: 80px;
        letter-spacing: 0;
        text-transform: uppercase;
    }

    .contacts-map__subtitle {
        width: 846px;
        max-width: 100%;
        min-height: 24px;
        margin: 24px 0 0;
        padding: 0;
        color: #ffffff;
        font-family: 'Manrope', Arial, Helvetica, sans-serif;
        font-size: 20px;
        font-style: normal;
        font-weight: 500;
        line-height: 24px;
        letter-spacing: 0;
    }

    .contacts-map__viewport {
        position: relative;
        width: 100%;
        height: 800px;
        margin: 64px 0 0;
        padding: 0;
        overflow: hidden;
        background: #3a3a3a;
    }

    .contacts-map__panel {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
    }

    .contacts-map__panel.is-active {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }

    .contacts-map__panel[hidden] {
        display: block;
    }

    .contacts-map__media,
    .contacts-map__placeholder {
        display: block;
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
        border: 0;
        object-fit: cover;
        filter: grayscale(1) brightness(.55) contrast(1.05);
    }

    .contacts-map__media--iframe {
        pointer-events: auto;
    }

    .contacts-map__media--two-gis-widget {
        background: #1f1f1f;
    }

    .contacts-map__media--two-gis {
        position: relative;
        background: #3a3a3a;
        pointer-events: auto;
    }

    .contacts-map__placeholder {
        background: #3a3a3a;
    }

    .contacts-map__gray-overlay {
        position: absolute;
        z-index: 2;
        inset: 0;
        background: rgba(31, 31, 31, .58);
        pointer-events: none;
    }

    .contacts-map__marker {
        position: absolute;
        z-index: 3;
        left: 50%;
        top: 50%;
        width: 461px;
        height: 86px;
        transform: translate(-22.75px, -60px);
        pointer-events: none;
    }

    .contacts-map__pin {
        position: absolute;
        left: 0;
        top: 34px;
        width: 45.5px;
        height: 52px;
        display: block;
    }

    .contacts-map__pin--image img {
        display: block;
        width: 45.5px;
        height: 52px;
        object-fit: contain;
        filter: none;
    }

    .contacts-map__pin--default::before {
        content: '';
        position: absolute;
        left: 7px;
        top: 2px;
        width: 34px;
        height: 34px;
        border-radius: 50% 50% 50% 0;
        background: #ffffff;
        transform: rotate(-45deg);
    }

    .contacts-map__pin--default::after {
        content: '';
        position: absolute;
        left: 20px;
        top: 14px;
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: #1f1f1f;
        opacity: .65;
    }

    .contacts-map__balloon {
        position: absolute;
        left: 56px;
        top: 0;
        width: 405px;
        min-width: 405px;
        height: 62px;
        min-height: 62px;
        display: inline-flex;
        align-items: center;
        justify-content: flex-start;
        gap: 24px;
        box-sizing: border-box;
        padding: 16px 24px;
        border: 1px solid rgba(255, 255, 255, .30);
        background: rgba(172, 172, 172, .40);
        color: #ffffff;
        -webkit-backdrop-filter: blur(6px);
        backdrop-filter: blur(6px);
        overflow: hidden;
    }

    .contacts-map__balloon-caret {
        position: relative;
        z-index: 1;
        display: block;
        flex: 0 0 18px;
        width: 18px;
        height: 18px;
        margin: 0;
        padding: 0;
        background: transparent;
        clip-path: none;
        transform: none;
    }

    .contacts-map__balloon-caret img {
        display: block;
        width: 18px;
        height: 18px;
        object-fit: contain;
        transform: none;
        transform-origin: center;
    }

    .contacts-map__balloon-content {
        position: relative;
        z-index: 1;
        display: block;
        min-width: 0;
        padding: 0;
    }

    .contacts-map__balloon strong {
        display: block;
        color: #ffffff;
        font-family: 'RoadRadio', Arial, Helvetica, sans-serif;
        font-size: 28px;
        font-style: normal;
        font-weight: 700;
        line-height: 30px;
        letter-spacing: 0;
        text-transform: uppercase;
        white-space: nowrap;
    }

    .contacts-map__balloon small {
        display: block;
        margin-top: 4px;
        color: rgba(255,255,255,.85);
        font-family: 'Manrope', Arial, Helvetica, sans-serif;
        font-size: 14px;
        font-style: normal;
        font-weight: 500;
        line-height: 18px;
        letter-spacing: 0;
        white-space: nowrap;
    }

    .contacts-map__tabs {
        width: 100%;
        min-height: 64px;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin: 0;
        padding: 0;
        background: #1f1f1f;
        border-top: 1px solid rgba(255, 255, 255, .08);
    }

    .contacts-map__tab {
        min-width: 0;
        height: 64px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        margin: 0;
        padding: 0 24px;
        box-sizing: border-box;
        border: 0;
        background: rgba(255, 255, 255, .20);
        color: #ffffff;
        font-family: 'RoadRadio', Arial, Helvetica, sans-serif;
        font-size: 18px;
        font-style: normal;
        font-weight: 700;
        line-height: 18px;
        letter-spacing: .02em;
        text-align: center;
        text-transform: uppercase;
        text-decoration: none;
        transition: background-color .2s ease;
    }

    .contacts-map__tab.is-active {
        background: #1f1f1f;
    }

    .contacts-map__tab:hover,
    .contacts-map__tab:focus-visible {
        color: #ffffff;
        text-decoration: none;
    }

    .contacts-map__tab img {
        display: block;
        width: 13.5px;
        height: 12.5px;
        flex: 0 0 auto;
        object-fit: contain;
    }

    .contacts-map__tabs .contacts-map__tab:only-child {
        grid-column: 1 / -1;
    }
}

/* Contacts meeting block — desktop only. */
.contacts-meeting {
    display: none;
}

@media (min-width: 761px) {
    .contacts-meeting {
        display: block;
        width: 100%;
        margin: 0;
        padding: 144px 0 0;
        background: #ffffff;
        color: #1f1f1f;
        overflow: hidden;
    }

    .contacts-meeting__head {
        box-sizing: border-box;
        width: min(100%, 1920px);
        margin: 0 auto;
        padding: 0 40px;
    }

    .contacts-meeting__title {
        width: 1354px;
        max-width: 100%;
        min-height: 160px;
        margin: 0;
        padding: 0;
        color: #1f1f1f;
        font-family: 'RoadRadio', Arial, Helvetica, sans-serif;
        font-size: 100px;
        font-style: normal;
        font-weight: 700;
        line-height: 80px;
        letter-spacing: 0;
        text-transform: uppercase;
    }

    .contacts-meeting__steps {
        box-sizing: border-box;
        width: min(100%, 1920px);
        min-height: 220px;
        margin: 64px auto 0;
        padding: 0 40px;
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        background: #ffffff;
        border-top: 1px solid #d0d0d0;
        border-bottom: 1px solid #d0d0d0;
    }

    .contacts-meeting__step {
        box-sizing: border-box;
        min-width: 0;
        min-height: 220px;
        margin: 0;
        padding: 90px 40px 64px 0;
        display: grid;
        grid-template-columns: 26px minmax(0, 510px);
        column-gap: 24px;
        align-content: start;
        color: #1f1f1f;
    }

    .contacts-meeting__step + .contacts-meeting__step {
        border-left: 1px solid #d0d0d0;
        padding-left: 40px;
    }

    .contacts-meeting__step-number {
        display: block;
        width: 26px;
        height: 36px;
        color: rgba(31, 31, 31, .70);
        font-family: 'RoadRadio', Arial, Helvetica, sans-serif;
        font-size: 32px;
        font-style: normal;
        font-weight: 700;
        line-height: 36px;
        letter-spacing: 0;
        text-transform: uppercase;
    }

    .contacts-meeting__step-body {
        min-width: 0;
        margin: 0;
        padding: 0;
    }

    .contacts-meeting__step-title {
        width: 510px;
        max-width: 100%;
        min-height: 40px;
        margin: 0;
        padding: 0;
        color: #1f1f1f;
        font-family: 'RoadRadio', Arial, Helvetica, sans-serif;
        font-size: 32px;
        font-style: normal;
        font-weight: 700;
        line-height: 40px;
        letter-spacing: 0;
        text-transform: uppercase;
    }

    .contacts-meeting__step-text {
        width: 510px;
        max-width: 100%;
        min-height: 40px;
        margin: 12px 0 0;
        padding: 0;
        color: #1f1f1f;
        font-family: 'Manrope', Arial, Helvetica, sans-serif;
        font-size: 16px;
        font-style: normal;
        font-weight: 500;
        line-height: 20px;
        letter-spacing: 0;
    }

    .contacts-meeting__cta,
    .contacts-meeting__cta:hover,
    .contacts-meeting__cta:focus-visible {
        width: min(100%, 1920px);
        height: 80px;
        margin: 0 auto;
        padding: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        box-sizing: border-box;
        background: #1f1f1f;
        color: #ffffff;
        font-family: 'RoadRadio', Arial, Helvetica, sans-serif;
        font-size: 18px;
        font-style: normal;
        font-weight: 700;
        line-height: 18px;
        letter-spacing: .02em;
        text-align: center;
        text-transform: uppercase;
        text-decoration: none;
    }

    .contacts-meeting__cta img {
        display: block;
        width: 13.5px;
        height: 12.5px;
        flex: 0 0 13.5px;
        object-fit: contain;
    }
}

/* Contacts meeting CTA — mobile uses the approved Investors mobile CTA geometry. */
@media (max-width: 760px) {
    .contacts-meeting {
        display: block;
        width: 100%;
        margin: 0;
        padding: 0;
        background: #1f1f1f;
        color: #ffffff;
    }

    .contacts-meeting__head,
    .contacts-meeting__steps {
        display: none;
    }

    .contacts-meeting__cta,
    .contacts-meeting__cta:hover,
    .contacts-meeting__cta:focus-visible {
        width: 100%;
        max-width: none;
        height: 66px;
        min-height: 66px;
        margin: 0;
        padding: 24px 20px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        box-sizing: border-box;
        border: 0;
        border-radius: 0;
        background: #1f1f1f;
        color: #ffffff;
        font-family: 'RoadRadio', Arial, Helvetica, sans-serif;
        font-size: 16px;
        font-style: normal;
        font-weight: 700;
        line-height: 18px;
        letter-spacing: .02em;
        text-align: center;
        text-decoration: none;
        text-transform: uppercase;
        white-space: nowrap;
    }

    .contacts-meeting__cta img {
        display: block;
        width: 10.8px;
        height: 10px;
        flex: 0 0 10.8px;
        object-fit: contain;
    }
}
