.elementor-392 .elementor-element.elementor-element-c65b05b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-392 .elementor-element.elementor-element-8f4771a{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:15px;--padding-right:0px;}.elementor-392 .elementor-element.elementor-element-263b701{--display:flex;--min-height:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}@media(max-width:767px){.elementor-392 .elementor-element.elementor-element-c65b05b{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-392 .elementor-element.elementor-element-8f4771a{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-392 .elementor-element.elementor-element-61e7e9d{padding:17px 17px 17px 17px;}.elementor-392 .elementor-element.elementor-element-263b701{--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:stretch;}.elementor-392 .elementor-element.elementor-element-0731e86{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}}@media(min-width:768px){.elementor-392 .elementor-element.elementor-element-c65b05b{--content-width:1410px;}.elementor-392 .elementor-element.elementor-element-263b701{--width:1410px;}}/* Start custom CSS for html, class: .elementor-element-0731e86 *//* Только содержимое страницы. Шапка и подвал остаются штатными. */
#pm-contacts-page {
  /* Акцент и шрифты связаны с глобальными настройками Elementor. */
  --pm-accent: var(--e-global-color-primary, #29465b);
  --pm-ink: #252d34;
  --pm-muted: #606a73;
  --pm-line: #e3e8ec;
  --pm-soft: #f5f7f8;
  --pm-radius: 12px;
  width: 100%; max-width: 100%; min-width: 0;
  margin: 0; padding: 0;
  color: var(--pm-ink); background: #fff;
  font-family: inherit;
  font-family: var(--e-global-typography-text-font-family, inherit);
  font-size: 16px; font-weight: 400; line-height: 1.6;
  text-align: left;
  display: flow-root;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}
#pm-contacts-page, #pm-contacts-page *,
#pm-contacts-page *::before, #pm-contacts-page *::after { box-sizing: border-box; }
/* Геометрия только внутренних блоков, не шапки или подвала сайта. */
#pm-contacts-page :where(.pm-shell, .pm-hero, .pm-section, .pm-addresses,
  .pm-address-card, .pm-team, .pm-person, .pm-legal, .pm-requisites) {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  min-width: 0;
  position: static;
  float: none;
  transform: none;
}
#pm-contacts-page :where(h1,h2,h3,p,dl,dt,dd,address) { margin: 0; padding: 0; }
#pm-contacts-page :where(h1,h2,h3) {
  color: var(--pm-ink); font-family: inherit;
  font-family: var(--e-global-typography-primary-font-family, inherit);
  font-weight: 700; font-style: normal; text-transform: none;
  letter-spacing: normal; overflow-wrap: anywhere;
}
#pm-contacts-page h1 { font-size: 52px; line-height: 1.12; }
#pm-contacts-page h2 { font-size: 30px; line-height: 1.25; }
#pm-contacts-page h3 { font-size: 23px; line-height: 1.3; }
#pm-contacts-page a {
  color: inherit; text-decoration: none; box-shadow: none;
  overflow-wrap: anywhere;
}
#pm-contacts-page a:focus-visible {
  outline: 2px solid var(--pm-ink); outline-offset: 5px; border-radius: 4px;
}
#pm-contacts-page svg {
  display: block; width: 21px; height: 21px; flex: 0 0 21px;
  fill: none; stroke: currentColor; stroke-width: 1.65;
  stroke-linecap: round; stroke-linejoin: round;
}
#pm-contacts-page .pm-shell {
  display: block; width: 100%; 
  margin-inline: auto; padding: 24px 24px 72px;
}
#pm-contacts-page .pm-crumbs {
  display: flex; align-items: center; flex-wrap: wrap; gap: 10px;
  margin-bottom: 30px; color: var(--pm-muted); font-size: 14px;
}
#pm-contacts-page .pm-crumbs a { display: inline-flex; align-items: center; min-height: 44px; }
#pm-contacts-page .pm-crumbs a:hover { text-decoration: underline; }
#pm-contacts-page .pm-crumbs [aria-current] { color: var(--pm-ink); }
#pm-contacts-page .pm-hero {
  display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,1fr);
  align-items: center; gap: 56px;
}
#pm-contacts-page .pm-intro { max-width: 520px; margin-top: 20px; color: var(--pm-muted); font-size: 18px; }
#pm-contacts-page .pm-main-contacts {
  min-width: 0; padding: 24px 28px;
  border: 1px solid var(--pm-line); border-radius: var(--pm-radius);
  background: var(--pm-soft);
}
#pm-contacts-page .pm-main-row {
  display: flex; align-items: center; gap: 16px; min-width: 0;
}
#pm-contacts-page .pm-main-row + .pm-main-row {
  margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--pm-line);
}
#pm-contacts-page .pm-icon {
  display: flex; align-items: center; justify-content: center;
  flex: 0 0 44px; width: 44px; height: 44px;
  border: 1px solid var(--pm-line); border-radius: 10px;
  color: var(--pm-accent); background: #fff;
}
#pm-contacts-page .pm-main-value { flex: 1; min-width: 0; }
#pm-contacts-page .pm-label { display: block; color: var(--pm-muted); font-size: 14px; line-height: 1.5; }
#pm-contacts-page .pm-main-link {
  display: inline-flex; align-items: center; min-height: 44px;
  font-size: 21px; font-weight: 600; line-height: 1.35;
}
#pm-contacts-page .pm-main-link span { min-width: 0; overflow-wrap: anywhere; }
#pm-contacts-page .pm-main-link:hover { text-decoration: underline; text-underline-offset: 5px; }
#pm-contacts-page .pm-section { margin-top: 56px; }
#pm-contacts-page .pm-section-head { margin-bottom: 24px; }
#pm-contacts-page .pm-section-note { max-width: 680px; margin-top: 10px; color: var(--pm-muted); }
#pm-contacts-page .pm-addresses { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
#pm-contacts-page .pm-address-card {
  min-width: 0; padding: 28px; border: 1px solid var(--pm-line);
  border-radius: var(--pm-radius); background: #fff;
}
#pm-contacts-page .pm-address-title { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; }
#pm-contacts-page .pm-address-title h3 { font-size: 21px; }
#pm-contacts-page address { font-size: 17px; font-style: normal; line-height: 1.65; overflow-wrap: anywhere; }
#pm-contacts-page .pm-postcode { display: block; margin-bottom: 2px; color: var(--pm-muted); font-size: 14px; }
#pm-contacts-page .pm-hours {
  display: flex; align-items: center; gap: 9px;
  margin-top: 16px; color: var(--pm-muted); font-size: 14px;
}
#pm-contacts-page .pm-hours svg { width: 17px; height: 17px; flex-basis: 17px; }
#pm-contacts-page .pm-team { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
#pm-contacts-page .pm-person {
  display: flex; flex-direction: column; min-width: 0; padding: 26px;
  border: 1px solid var(--pm-line); border-radius: var(--pm-radius);
  background: #fff;
}
#pm-contacts-page .pm-person-info { min-width: 0; }
#pm-contacts-page .pm-role {
  min-height: 42px; margin-bottom: 15px; color: var(--pm-muted);
  font-size: 14px; line-height: 1.5;
}
#pm-contacts-page .pm-role::before {
  content: ''; display: block; width: 28px; height: 3px;
  margin-bottom: 18px; background: var(--pm-accent); border-radius: 2px;
}
#pm-contacts-page .pm-name span {
  display: block; margin-top: 5px; font-family: inherit;
  font-size: 17px; font-weight: 500; line-height: 1.45;
}
#pm-contacts-page .pm-person-links {
  display: grid; gap: 3px; margin-top: auto; padding-top: 24px;
}
#pm-contacts-page .pm-contact-link {
  display: flex; align-items: center; gap: 10px; min-width: 0;
  min-height: 44px; font-size: 15px; line-height: 1.5;
}
#pm-contacts-page .pm-contact-link:first-child {
  min-height: 55px; padding-top: 10px; border-top: 1px solid var(--pm-line); font-weight: 600;
}
#pm-contacts-page .pm-contact-link svg { width: 18px; height: 18px; flex-basis: 18px; color: var(--pm-accent); }
#pm-contacts-page .pm-contact-link span { min-width: 0; overflow-wrap: anywhere; }
#pm-contacts-page .pm-contact-link:hover span { text-decoration: underline; text-underline-offset: 4px; }
#pm-contacts-page .pm-legal {
  display: grid; grid-template-columns: minmax(0,0.85fr) minmax(0,1.6fr);
  gap: 40px; padding: 36px; border-radius: var(--pm-radius); background: var(--pm-soft);
}
#pm-contacts-page .pm-legal h2 { max-width: 320px; }
#pm-contacts-page .pm-requisites { min-width: 0; }
#pm-contacts-page .pm-requisite {
  display: grid; grid-template-columns: 150px minmax(0,1fr); gap: 20px;
  padding: 15px 0; border-bottom: 1px solid var(--pm-line);
}
#pm-contacts-page .pm-requisite:first-child { padding-top: 0; }
#pm-contacts-page .pm-requisite:last-child { border-bottom: 0; padding-bottom: 0; }
#pm-contacts-page .pm-requisite dt { color: var(--pm-muted); font-size: 14px; }
#pm-contacts-page .pm-requisite dd { font-size: 16px; line-height: 1.6; overflow-wrap: anywhere; }
#pm-contacts-page .pm-company { font-weight: 600; }

/* Лёгкое тонирование элементов основным цветом сайта. */
@supports (background: color-mix(in srgb, #000 5%, #fff)) {
  #pm-contacts-page {
    --pm-line: color-mix(in srgb, var(--pm-accent) 15%, #fff);
    --pm-soft: color-mix(in srgb, var(--pm-accent) 4%, #fff);
  }
}
/* Адаптация обычными медиазапросами: без измерения размеров контейнера. */
@media (max-width: 1020px) {
  #pm-contacts-page .pm-hero { gap: 28px; }
  #pm-contacts-page .pm-team { grid-template-columns: minmax(0,1fr); gap: 14px; }
  #pm-contacts-page .pm-person {
    display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    align-items: center; gap: 28px;
  }
  #pm-contacts-page .pm-role { min-height: 0; margin-bottom: 10px; }
  #pm-contacts-page .pm-role::before { margin-bottom: 12px; }
  #pm-contacts-page .pm-person-links {
    margin-top: 0; padding: 0 0 0 24px; border-left: 1px solid var(--pm-line);
  }
  #pm-contacts-page .pm-contact-link:first-child { min-height: 44px; padding-top: 0; border-top: 0; }
  #pm-contacts-page .pm-legal { grid-template-columns: minmax(0,1fr); gap: 26px; }
  #pm-contacts-page .pm-legal h2 { max-width: none; }
}
@media (min-width: 701px) and (max-width: 850px) {
  #pm-contacts-page .pm-hero { grid-template-columns: minmax(0,1fr); gap: 24px; }
  #pm-contacts-page .pm-main-contacts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; padding: 22px; }
  #pm-contacts-page .pm-main-row + .pm-main-row { margin: 0; padding: 0; border: 0; }
  #pm-contacts-page .pm-main-row { gap: 12px; }
  #pm-contacts-page .pm-main-link { font-size: 19px; }
}
@media (max-width: 700px) {
  #pm-contacts-page .pm-shell { padding: 12px 18px 44px; }
  #pm-contacts-page .pm-crumbs { margin-bottom: 20px; }
  #pm-contacts-page .pm-hero, #pm-contacts-page .pm-addresses { grid-template-columns: minmax(0,1fr); gap: 18px; }
  #pm-contacts-page .pm-intro { font-size: 16px; margin-top: 14px; }
  #pm-contacts-page .pm-main-contacts { margin-top: 8px; padding: 20px; }
  #pm-contacts-page .pm-section { margin-top: 38px; }
  #pm-contacts-page .pm-section-head { margin-bottom: 18px; }
  #pm-contacts-page .pm-address-card, #pm-contacts-page .pm-person, #pm-contacts-page .pm-legal { padding: 22px; }
  #pm-contacts-page .pm-person { display: flex; align-items: stretch; gap: 0; }
  #pm-contacts-page .pm-role { margin-bottom: 14px; }
  #pm-contacts-page .pm-person-links { margin-top: 20px; padding: 12px 0 0; border-left: 0; border-top: 1px solid var(--pm-line); }
  #pm-contacts-page .pm-requisite { grid-template-columns: minmax(0,1fr); gap: 5px; padding: 14px 0; }
}
@media (max-width: 360px) {
  #pm-contacts-page .pm-shell { padding-inline: 14px; }
  #pm-contacts-page .pm-main-contacts { padding: 18px; }
  #pm-contacts-page .pm-main-row { gap: 10px; }
  #pm-contacts-page .pm-main-link { font-size: 18px; }
  #pm-contacts-page .pm-icon { width: 38px; height: 38px; flex-basis: 38px; }
  #pm-contacts-page .pm-address-card, #pm-contacts-page .pm-person, #pm-contacts-page .pm-legal { padding: 18px; }
}
/* Защитные правила для HTML-виджета и его непосредственной оболочки.
   Не ограничиваем документ по высоте и не отключаем вертикальную прокрутку. */
@media (max-width: 1020px) {
  #pm-contacts-page h1 { font-size: 40px; }

  .pm-contacts-host,
  .pm-contacts-host > .e-con-inner {
    --min-height: 0px;
    --height: auto;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    flex-grow: 0 !important;
    flex-basis: auto !important;
    justify-content: flex-start !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  /* Автоматически находим только виджет с этой страницей и его оболочку. */
  @supports .elementor-392 .elementor-element.elementor-element-0731e86(:has(*)) {
    .elementor-widget-html:has(#pm-contacts-page),
    .elementor-widget-html > .elementor-widget-container:has(> #pm-contacts-page) {
      height: auto !important;
      min-height: 0 !important;
      max-height: none !important;
      flex-grow: 0 !important;
      flex-basis: auto !important;
      align-self: stretch !important;
      padding-top: 0 !important;
      padding-bottom: 0 !important;
      margin-top: 0 !important;
      margin-bottom: 0 !important;
    }

    .e-con:has(> .elementor-widget-html #pm-contacts-page),
    .e-con:has(> .e-con-inner > .elementor-widget-html #pm-contacts-page),
    .e-con-inner:has(> .elementor-widget-html #pm-contacts-page) {
      --min-height: 0px;
      --height: auto;
      height: auto !important;
      min-height: 0 !important;
      max-height: none !important;
      flex-grow: 0 !important;
      flex-basis: auto !important;
      justify-content: flex-start !important;
      padding-top: 0 !important;
      padding-bottom: 0 !important;
    }
  }
}
@media (max-width: 700px) {
  #pm-contacts-page h1 { font-size: 36px; }
  #pm-contacts-page h2 { font-size: 25px; }
}/* End custom CSS */