.contacts-page {
	background: #fff;
}

body.page-id-23.custom-background {
	background: #fff;
}

.page-id-23 .header__brand,
.page-id-23 .header__nav,
.page-id-23 .footer__brand,
.page-id-23 .footer__email {
	background: #f1f2f3;
}

.contacts-layout {
	box-sizing: border-box;
	width: 100%;
	max-width: 1920px;
	margin-inline: auto;
	padding-inline: clamp(1rem, 3.5vw, 3.125rem);
}

.contacts-hero {
	position: relative;
	margin-top: 6.875rem;
}

.contacts-breadcrumbs {
	display: flex;
	align-items: center;
	gap: 0.45rem;
	color: #1a1818;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.2;
}

.contacts-breadcrumbs a,
.contacts-breadcrumbs a:visited {
	color: #b7b7b7;
	text-decoration: none;
}

.contacts-breadcrumbs a:hover, .contacts-breadcrumbs a:focus-visible { color: #ff4f0b; }

.contacts-hero h1 {
	margin: 1.25rem 0 0;
	padding-bottom: 3.875rem;
	border-bottom: 1px solid rgba(26, 24, 24, 0.12);
	font-size: clamp(4rem, 7.5vw, 9rem);
	font-weight: 600;
	line-height: 1;
	text-transform: uppercase;
}

.contacts-hero__mark {
	position: absolute;
	top: 3.3125rem;
	right: clamp(1rem, 3.5vw, 3.125rem);
	width: 4.125rem;
	height: auto;
}

.contacts-links {
	margin-top: 0;
}

.contacts-links a,
.contacts-links a:visited {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	height: 5.8125rem;
	min-height: 0;
	margin: 0;
	padding: 0;
	border-bottom: 1px solid rgba(26, 24, 24, 0.12);
	color: #1a1818;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1;
	text-decoration: none;
}

.contacts-offices {
	margin-top: 3.5rem;
	padding-bottom: 6.25rem;
}

.contacts-links a { transition: background-color .4s ease; }
.contacts-links a:hover, .contacts-links a:focus-visible { color: #1a1818; background: #ebebeb; }
.contacts-hero__mark { transition: transform .4s ease; }
.contacts-hero__mark:hover { transform: translateX(-20px); }

.contacts-offices__list {
	width: calc(50% - 1.25rem);
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
}

.contacts-office {
	box-sizing: border-box;
	min-height: 16.5rem;
	padding: 2.5rem;
	border-radius: 0.625rem;
	background: #f2f2f2;
}

.contacts-office h2 {
	margin: 0 0 1rem;
	font-size: 3rem;
	font-weight: 700;
	line-height: 0.8;
	text-transform: uppercase;
}

.contacts-office address {
	font-size: 1.5rem;
	font-style: normal;
	font-weight: 500;
	line-height: 1.2;
}

@media (max-width: 1024px) {
  .contacts-layout { padding-inline: 20px; }
  .contacts-hero { margin-top: 110px; }
  .contacts-hero h1 { margin-top: 20px; padding-bottom: 30px; font-size: 7.5vw; }
  .contacts-hero__mark { top: 45px; right: 20px; width: auto; height: 60px; }
  .contacts-offices__list { width: 100%; }
}

@media (max-width: 767px) {
  .contacts-layout { padding-inline: 15px; }
  .contacts-breadcrumbs { font-size: 16px; line-height: 16px; font-weight: 600; }
  .contacts-hero h1 { margin-top: 10px; font-size: 7.5vw; }
  .contacts-hero__mark { top: 31px; right: 15px; height: 32px; }
  .contacts-links { margin: 0; }
  .contacts-links a, .contacts-links a:visited { height: 88px; font-size: 18px; line-height: 27px; }
  .contacts-offices { margin-top: 55px; padding-bottom: 55px; }
  .contacts-offices__list { gap: 40px; }
  .contacts-office { min-height: 238px; padding: 20px; border-radius: 10px; }
  .contacts-office h2 { margin-bottom: 20px; font-size: 24px; line-height: 1; }
  .contacts-office address { font-size: 24px; line-height: 1.2; }
}
