/* Primary composition refinements approved after the visual audit. */

/* Temporarily remove both the floating and footer variants of “back to top”. */
#up-page,
.up-btn.js-up {
  display: none !important;
}

/* Keep the project lists readable and deliberately concise. */
@media (min-width: 1280px) {
  .Realized .object:not(:last-of-type) {
    margin-bottom: 28px;
  }

  .Realized .object__title {
    margin-bottom: 11px;
    line-height: 1.16;
  }

  .Realized .object__list {
    max-height: 174px;
    font-size: 16px;
    line-height: 1.22;
    -webkit-mask-image: linear-gradient(
      #000 0 52%,
      rgba(0, 0, 0, .88) 66%,
      rgba(0, 0, 0, .42) 84%,
      transparent 100%
    );
    mask-image: linear-gradient(
      #000 0 52%,
      rgba(0, 0, 0, .88) 66%,
      rgba(0, 0, 0, .42) 84%,
      transparent 100%
    );
  }

  .Offices {
    padding-top: 64px;
    padding-bottom: 68px;
  }

  .Offices .offices {
    gap: 60px;
  }
}

/* At intermediate desktop widths keep related office details on one visual
   row instead of stretching them through several screenfuls. */
@media (min-width: 1280px) and (max-width: 1446px) {
  .Offices .office {
    display: grid;
    grid-template-columns: minmax(370px, 430px) minmax(0, 1fr);
    align-items: stretch;
    gap: 40px;
  }

  .Offices .address {
    width: 100%;
    padding: 38px 42px;
  }

  .Offices .contacts-wrapper {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-content: center;
    gap: 28px;
  }

  .Offices .contacts,
  .Offices .contacts.tel,
  .Offices .contacts.email {
    width: auto;
    min-width: 0;
    padding: 30px 0;
  }

  .Offices .contacts__content {
    font-size: 20px;
    line-height: 1.3;
  }
}

/* From 1440px down the request actions use the same compact disclosure model
   as mobile, keeping the lower-right corner clear. */
@media (max-width: 1440px) {
  body > .stalkon-contact-widget {
    right: 16px;
    bottom: 16px;
  }

  body .stalkon-contact-widget .stalkon-contact-widget__toggle,
  body .stalkon-contact-widget .stalkon-actions-toggle {
    width: 50px !important;
    height: 50px !important;
    color: #fff;
    background: rgba(8, 120, 207, .82) !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: 0 11px 28px rgba(3, 66, 112, .26) !important;
    backdrop-filter: blur(8px);
  }

  body .stalkon-contact-widget .stalkon-actions-toggle {
    position: absolute;
    right: 0;
    bottom: 60px;
    display: grid !important;
    place-items: center;
    padding: 0;
    border-radius: 50%;
    cursor: pointer;
  }

  body .stalkon-contact-widget .stalkon-actions-toggle svg {
    position: absolute;
    width: 22px;
    height: 22px;
    transition:
      opacity .55s cubic-bezier(.22, .61, .36, 1),
      transform .7s cubic-bezier(.16, 1, .3, 1);
  }

  body .stalkon-contact-widget .stalkon-actions-toggle .icon-close {
    opacity: 0;
    transform: rotate(-70deg) scale(.7);
  }

  body .stalkon-contact-widget.is-actions-open .stalkon-actions-toggle .icon-request {
    opacity: 0;
    transform: rotate(70deg) scale(.7);
  }

  body .stalkon-contact-widget.is-actions-open .stalkon-actions-toggle .icon-close {
    opacity: 1;
    transform: none;
  }

  body .stalkon-contact-widget .stalkon-contact-widget__actions {
    right: 0 !important;
    bottom: 120px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end;
    visibility: hidden !important;
    opacity: 0 !important;
    filter: blur(4px) !important;
    pointer-events: none !important;
    transform: translateY(16px) scale(.955) !important;
    transform-origin: bottom right;
    transition:
      opacity .7s cubic-bezier(.22, .61, .36, 1),
      transform .78s cubic-bezier(.16, 1, .3, 1),
      filter .7s cubic-bezier(.22, .61, .36, 1),
      visibility 0s linear .78s !important;
  }

  body .stalkon-contact-widget.is-actions-open .stalkon-contact-widget__actions {
    visibility: visible !important;
    opacity: 1 !important;
    filter: none !important;
    pointer-events: auto !important;
    transform: none !important;
    transition-delay: 0s !important;
  }

  body .stalkon-contact-widget .stalkon-contact-widget__actions .stalkon-quick-action {
    visibility: visible !important;
    opacity: 0 !important;
    transform: translateY(12px) scale(.97) !important;
    pointer-events: none !important;
  }

  body .stalkon-contact-widget.is-actions-open .stalkon-contact-widget__actions .stalkon-quick-action {
    opacity: 1 !important;
    transform: none !important;
    pointer-events: auto !important;
  }

  body .stalkon-contact-widget .stalkon-contact-widget__list {
    z-index: 10 !important;
    bottom: 120px !important;
  }
}
