/* =============================================================
   CONTACTS.CSS — контакты, политика, 404
   ============================================================= */

.offices {
  display:               grid;
  grid-template-columns: repeat(2, 1fr);
  gap:                   20px;
}
.office {
  display:        flex;
  flex-direction: column;
  padding:        clamp(24px, 3.5vw, 40px);
  border:         1px solid var(--line);
  border-radius:  10px;
}
.office__region { font-size: 15px; color: var(--text-3); margin-bottom: 8px; }
.office .h2     { margin-bottom: 14px; }
.office__text   { color: var(--text-2); margin-bottom: 28px; max-width: 460px; }
.office__phone  { font-size: 22px; font-weight: 600; margin-bottom: 20px; }
.office__phone:hover { color: var(--brand); }
.office .btn    { align-self: flex-start; margin-top: auto; }

/* ПОЛИТИКА */
.legal { max-width: 760px; color: var(--text-2); }
.legal h2 {
  font-size:     22px;
  font-weight:   600;
  color:         var(--text);
  margin:        40px 0 12px;
}
.legal p + p, .legal ul { margin-top: 12px; }
.legal ul       { list-style: disc; padding-left: 22px; }
.legal li + li  { margin-top: 6px; }
.legal a        { color: var(--brand); text-decoration: underline; text-underline-offset: 3px; }

/* 404 */
.not-found {
  min-height:  80svh;
  display:     grid;
  place-items: center;
  text-align:  center;
  padding:     calc(var(--header-h) + 48px) var(--page-px) 72px;
}
.not-found__code { font-size: clamp(72px, 14vw, 140px); font-weight: 600; letter-spacing: -0.04em; line-height: 1; color: var(--line-2); margin-bottom: 12px; }
.not-found .h1   { margin-bottom: 16px; }
.not-found .lead { margin: 0 auto 32px; }
.not-found .btn-row { justify-content: center; }

@media (max-width: 760px) {
  .offices { grid-template-columns: minmax(0, 1fr); }
  .office .btn { align-self: stretch; }
}
