.contacts-page-body { background: #050505; }
.contacts-page-main { min-height: calc(100vh - 112px); }
.contacts-page-head { padding-top: 188px; padding-bottom: 34px; }
.breadcrumbs { margin-bottom: 28px; display: flex; align-items: center; gap: 10px; color: #555; font-size: 12px; line-height: 1.4; }
.breadcrumbs a { color: #8a8a8a; transition: color .2s ease; }
.breadcrumbs a:hover { color: #fff; }
.breadcrumbs [aria-current="page"] { color: #5f5f5f; }
.contacts-page-head h1 { margin: 0; color: #fff; font-size: clamp(64px, 4.35vw, 84px); line-height: .99; letter-spacing: -4px; font-weight: 400; }

.contacts-content { padding-bottom: 112px; }
.contacts-primary { padding: 42px 0 54px; display: flex; flex-direction: column; align-items: flex-start; }
.contacts-primary > span { color: #666; font-size: 12px; }
.contacts-phone { max-width: 100%; margin: 22px 0 42px; color: #fff; font-size: clamp(58px, 8.2vw, 126px); line-height: .9; letter-spacing: -.065em; font-weight: 400; white-space: nowrap; transition: color .2s ease; }
.contacts-phone:hover { color: #bdbdbd; }

.contact-links { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; border-radius: 24px; overflow: hidden; background: #292929; }
.contact-link { min-height: 110px; padding: 24px; display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; background: #101010; color: #d8d8d8; font-size: 14px; transition: background .2s ease, color .2s ease; }
.contact-link > span:last-child { font-size: 20px; }
.contact-link:hover { background: #181818; color: #fff; }
.contact-link.is-disabled { color: #555; cursor: default; }
.contact-link.is-disabled:hover { background: #101010; color: #555; }
.contact-link:focus-visible, .contacts-phone:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }

@media (max-width: 900px) {
  .contacts-phone { font-size: clamp(48px, 10vw, 84px); }
  .contact-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .contacts-page-head { padding-top: 148px; padding-bottom: 22px; }
  .breadcrumbs { margin-bottom: 20px; font-size: 11px; }
  .contacts-page-head h1 { font-size: 48px; letter-spacing: -2.7px; }
  .contacts-content { padding-bottom: 76px; }
  .contacts-primary { padding: 28px 0 40px; }
  .contacts-phone { margin: 18px 0 32px; font-size: clamp(32px, 9.5vw, 64px); letter-spacing: -.055em; }
  .contact-links { border-radius: 20px; }
  .contact-link { min-height: 86px; padding: 18px; font-size: 12px; }
}

@media (max-width: 420px) {
  .contacts-phone { font-size: clamp(30px, 9.2vw, 38px); }
  .contact-link { min-height: 78px; }
}
