/* DNA Protocol: repairs to the existing theme, not a replacement design. */
body:not(.home) .body-container > .content-wrapper {
  --dna-page-gutter: clamp(16px, 2.083333vw, 40px);
  width: 100%;
  max-width: none;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--dna-page-gutter);
  padding-right: var(--dna-page-gutter);
  box-sizing: border-box;
}
body:not(.home) .content-wrapper:not(:has(> .sidebar)) > .content,
body .content-wrapper.dna-no-sidebar > .content {
  width: 100% !important;
  max-width: none !important;
  min-width: 0;
  margin-left: 0 !important;
  margin-right: 0 !important;
  flex: 1 1 100%;
}
.content-wrapper.dna-no-sidebar > .sidebar,
.content-wrapper.dna-no-sidebar > .simple-sidebar-trigger { display: none !important; }
body:not(.home) .content-wrapper .elementor-top-section.elementor-section-stretched {
  width: 100% !important;
  left: 0 !important;
}
body .content-wrapper .content,
body .content-wrapper .elementor-column,
body .content-wrapper .elementor-widget-wrap { min-width: 0; }
.post-content pre { max-width: 100%; overflow-x: auto; box-sizing: border-box; }
.post-content h1, .post-content h2, .post-content h3,
.post-content p, .post-content a { overflow-wrap: break-word; }
.post-content img { max-width: 100%; height: auto; }
body .content-wrapper.dna-no-sidebar { margin-top: clamp(48px, 5vw, 90px); }

/* Preserve the About artwork, typefaces, colors, rounded cards and section order. */
.elementor-23027 > .elementor-section > .elementor-container { max-width: none !important; }
.elementor-23027 .elementor-element.elementor-element-8120119 {
  padding-top: clamp(48px, 5vw, 96px);
  padding-bottom: clamp(32px, 3vw, 64px);
}
.elementor-23027 .elementor-element.elementor-element-ad620c2 {
  margin-top: clamp(56px, 5vw, 96px);
  padding-bottom: clamp(24px, 3vw, 48px);
}
.elementor-23027 .elementor-element.elementor-element-c7141b6,
.elementor-23027 .elementor-element.elementor-element-19177a3 {
  margin-top: clamp(48px, 5vw, 96px);
}
.elementor-23027 .elementor-element.elementor-element-9d91176 > .elementor-widget-container {
  margin: clamp(24px, 3vw, 48px) 0 0;
}
.elementor-23027 .elementor-element.elementor-element-9d91176 .special-text {
  font-size: clamp(82px, 14vw, 240px);
  line-height: 1;
}
.elementor-23027 .elementor-element.elementor-element-63588f5 .neuros-heading {
  font-size: clamp(34px, 3vw, 56px);
  line-height: 1.12;
}
.elementor-23027 .elementor-element.elementor-element-07657be .neuros-heading,
.elementor-23027 .elementor-element.elementor-element-86eed98 .neuros-heading {
  font-size: clamp(34px, 3.3vw, 64px);
  line-height: 1.14;
}
.elementor-23027 .elementor-element.elementor-element-e6909c4 {
  padding: clamp(32px, 4vw, 72px) clamp(24px, 3vw, 56px);
}
@media (min-width: 992px) {
  .elementor-23027 .elementor-element.elementor-element-0129ce5 { width: 58%; }
  .elementor-23027 .elementor-element.elementor-element-635620c { width: 42%; }
  .elementor-23027 .elementor-element.elementor-element-7eff544 > .elementor-element-populated {
    margin-right: clamp(24px, 4vw, 72px);
    --e-column-margin-right: clamp(24px, 4vw, 72px);
  }
  .elementor-23027 .elementor-element.elementor-element-6439f92 > .elementor-element-populated { margin-top: 0; }
}
@media (max-width: 991px) {
  .elementor-23027 .elementor-element.elementor-element-0129ce5,
  .elementor-23027 .elementor-element.elementor-element-635620c { width: 100%; }
}
@media (max-width: 575px) {
  .elementor-23027 .elementor-element.elementor-element-63588f5 .neuros-heading,
  .elementor-23027 .elementor-element.elementor-element-07657be .neuros-heading,
  .elementor-23027 .elementor-element.elementor-element-86eed98 .neuros-heading { font-size: clamp(28px, 8vw, 34px); }
  .elementor-23027 .elementor-element.elementor-element-c3f3399,
  .elementor-23027 .elementor-element.elementor-element-a4b6ba4 { width: 100%; max-width: 100%; }
}

/* Contact panels must fit their own column, not borrow viewport-wide padding. */
body .elementor .elementor-widget.elementor-widget-neuros_wpforms {
  min-width: 0;
  max-width: 100%;
  container-type: inline-size;
}
body .elementor .elementor-widget.elementor-widget-neuros_wpforms > .elementor-widget-container {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding: clamp(24px, 3vw, 64px) !important;
  box-sizing: border-box;
  max-width: 100%;
}
@supports (padding: 1cqw) {
  body .elementor .elementor-widget.elementor-widget-neuros_wpforms > .elementor-widget-container {
    padding: clamp(24px, 8cqw, 64px) !important;
  }
}
.neuros-wpforms-widget, .neuros-wpforms-widget .wpforms-container,
.neuros-wpforms-widget .wpforms-form { min-width: 0; max-width: 100%; }
.neuros-wpforms-widget input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]),
.neuros-wpforms-widget textarea, .neuros-wpforms-widget select {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0;
  box-sizing: border-box;
}
.neuros-wpforms-widget .wpforms-submit { max-width: 100%; white-space: normal; }

/* Search keeps the site's existing font, light palette and rounded buttons. */
.dna-search-results { padding: clamp(30px, 5vw, 80px) clamp(20px, 3vw, 40px); }
.dna-search-results h1 { margin-top: 0; overflow-wrap: anywhere; }
.dna-search-query { display: flex; align-items: flex-end; gap: 20px; margin: 30px 0; }
.dna-search-query label { flex: 1 1 auto; min-width: 0; }
.dna-search-query label span { display: block; margin-bottom: 8px; }
.dna-search-query input { width: 100%; box-sizing: border-box; }
.dna-search-query button, .dna-search-more { flex: 0 0 auto; border-radius: 40px; padding: 14px 24px; background: #333; color: #fff; border: 1px solid #333; font: inherit; cursor: pointer; }
.dna-search-query button:focus-visible, .dna-search-more:focus-visible, .dna-search-list a:focus-visible { outline: 2px solid #f14f44; outline-offset: 5px; }
.dna-search-list { padding: 0; list-style: none; }
.dna-search-list li { padding: 28px 0; border-bottom: 1px solid #ddd; }
.dna-search-list h2 { font-size: clamp(22px, 2vw, 32px); line-height: 1.3; margin: 0 0 12px !important; overflow-wrap: anywhere; }
.dna-search-list p { margin: 0; overflow-wrap: anywhere; }
.dna-search-more { margin-top: 28px; }
@media (max-width: 575px) { .dna-search-query { flex-direction: column; align-items: stretch; } }

/* About full-width correction: a single gutter, aligned to the header. */
body.page-id-23027 .body-container > .content-wrapper {
  width: 100% !important;
  max-width: none !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
}
body.page-id-23027 .content-wrapper > .content,
body.page-id-23027 .content-inner,
body.page-id-23027 .elementor-23027 {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
body.page-id-23027 .elementor-23027 > .elementor-top-section {
  width: 100% !important;
  max-width: none !important;
  left: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body.page-id-23027 .elementor-23027 > .elementor-top-section > .elementor-container {
  width: 100% !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
@media (min-width: 1366px) {
  body.page-id-23027 .body-container > .content-wrapper {
    padding-left: 40px !important;
    padding-right: 40px !important;
  }
}

/* Consensus: extend only the grey listing background through the page gutters. */
body.page-id-23418 .elementor-23418 > .elementor-element.elementor-element-be5bedf {
  position: relative;
  isolation: isolate;
}
body.page-id-23418 .elementor-23418 > .elementor-element.elementor-element-be5bedf::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(-1 * var(--dna-page-gutter, 40px));
  right: calc(-1 * var(--dna-page-gutter, 40px));
  z-index: -1;
  background-color: #F0F2F4;
  pointer-events: none;
}

/* Consensus: join the existing contact panel and footer without stepped edges. */
body.page-id-23418 .elementor-23418 > .elementor-element.elementor-element-ef22ae6 {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body.page-id-23418 .body-container > .footer-wrapper {
  margin-left: clamp(16px, 2.083333vw, 40px);
  margin-right: clamp(16px, 2.083333vw, 40px);
}

/* Careers: one responsive alignment system for listings, details and related roles. */
:is(body.page-id-4769, body.single-neuros_vacancy) .body-container > .content-wrapper {
  --dna-page-gutter: clamp(20px, 2.083333vw, 40px);
  width: 100%;
  max-width: none;
  padding-left: var(--dna-page-gutter);
  padding-right: var(--dna-page-gutter);
  margin-top: clamp(48px, 5vw, 88px);
  margin-bottom: clamp(48px, 5vw, 88px);
}
body.page-id-4769 .elementor-4769 > .elementor-top-section > .elementor-container {
  max-width: none !important;
  padding-left: 0;
  padding-right: 0;
}
:is(body.page-id-4769, body.single-neuros_vacancy) .vacancy-listing-wrapper { margin-top: 0; }
:is(body.page-id-4769, body.single-neuros_vacancy) .vacancy-item-wrapper { padding-top: 0; }
:is(body.page-id-4769, body.single-neuros_vacancy) .vacancy-item {
  display: grid !important;
  grid-template-columns: clamp(220px, 22vw, 310px) minmax(0, 1fr) 156px;
  align-items: center;
  gap: clamp(24px, 3vw, 56px);
  width: 100%;
  margin: 0 !important;
  padding: clamp(32px, 3vw, 48px) 0 !important;
  box-sizing: border-box;
}
:is(body.page-id-4769, body.single-neuros_vacancy) .vacancy-item > :is(.vacancy-item-header, .vacancy-item-excerpt, .vacancy-item-button) {
  position: static !important;
  min-width: 0;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
:is(body.page-id-4769, body.single-neuros_vacancy) .vacancy-item-button { justify-self: end; align-self: center; }
:is(body.page-id-4769, body.single-neuros_vacancy) .vacancy-item-button .neuros-button {
  min-width: 156px;
  min-height: 48px;
  box-sizing: border-box;
  text-align: center;
  white-space: nowrap;
}
:is(body.page-id-4769, body.single-neuros_vacancy) .vacancy-post-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  column-gap: 16px;
  row-gap: 6px;
}
:is(body.page-id-4769, body.single-neuros_vacancy) .vacancy-post-meta-item { margin: 0; }
:is(body.page-id-4769, body.single-neuros_vacancy) .vacancy-item-header .vacancy-salary { margin-top: 18px; }
:is(body.page-id-4769, body.single-neuros_vacancy) .vacancy-salary-value { line-height: 1.5; overflow-wrap: normal; }
:is(body.page-id-4769, body.single-neuros_vacancy) .vacancy-post-title { margin-top: 0; margin-bottom: 12px; line-height: 1.25; }
:is(body.page-id-4769, body.single-neuros_vacancy) .vacancy-excerpt { line-height: 1.7; }
body.single-neuros_vacancy .body-container > .content-wrapper-sidebar-position-left {
  display: grid;
  grid-template-columns: clamp(240px, 22vw, 340px) minmax(0, 1fr);
  gap: clamp(28px, 4vw, 72px);
  align-items: start;
  margin-bottom: 0;
}
body.single-neuros_vacancy .content-wrapper-sidebar-position-left > .content {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  max-width: none !important;
  width: auto !important;
  margin: 0 !important;
}
body.single-neuros_vacancy .content-wrapper-sidebar-position-left > .sidebar {
  grid-column: 1;
  grid-row: 1;
  position: static !important;
  transform: none !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  max-width: none;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.single-neuros_vacancy .content-wrapper-sidebar-position-left > .simple-sidebar-trigger,
body.single-neuros_vacancy .content-wrapper-sidebar-position-left .shop-hidden-sidebar-close { display: none !important; }
body.single-neuros_vacancy .vacancy-info { padding: clamp(24px, 2.5vw, 40px); box-sizing: border-box; }
body.single-neuros_vacancy .single-vacancy { margin-top: 0; }
body.single-neuros_vacancy .vacancy-content-title {
  margin-top: 44px !important;
  margin-bottom: 16px !important;
  line-height: 1.25;
}
body.single-neuros_vacancy .vacancy-content-title:first-child { margin-top: 0 !important; }
body.single-neuros_vacancy .vacancy-post-content > p { max-width: 85ch; line-height: 1.75; }
body.single-neuros_vacancy .vacancy-post-content ul { padding-left: 1.25em; }
body.single-neuros_vacancy .vacancy-post-content li { line-height: 1.7; }
body.single-neuros_vacancy .vacancy-post-content li + li { margin-top: 6px; }
body.single-neuros_vacancy .content-wrapper-sidebar-position-none .neuros-heading { margin-bottom: 24px; }
@media (max-width: 1000px) {
  :is(body.page-id-4769, body.single-neuros_vacancy) .vacancy-item {
    grid-template-columns: minmax(180px, 30%) minmax(0, 1fr);
    gap: 20px 28px;
  }
  :is(body.page-id-4769, body.single-neuros_vacancy) .vacancy-item-header { grid-column: 1; grid-row: 1 / 3; align-self: start; }
  :is(body.page-id-4769, body.single-neuros_vacancy) .vacancy-item-excerpt { grid-column: 2; grid-row: 1; }
  :is(body.page-id-4769, body.single-neuros_vacancy) .vacancy-item-button { grid-column: 2; grid-row: 2; justify-self: start; }
}
@media (max-width: 900px) {
  body.single-neuros_vacancy .body-container > .content-wrapper-sidebar-position-left { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  body.single-neuros_vacancy .content-wrapper-sidebar-position-left > .sidebar { grid-column: 1; grid-row: 1; }
  body.single-neuros_vacancy .content-wrapper-sidebar-position-left > .content { grid-column: 1; grid-row: 2; }
}
@media (max-width: 640px) {
  :is(body.page-id-4769, body.single-neuros_vacancy) .vacancy-item { grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 28px 0 !important; }
  :is(body.page-id-4769, body.single-neuros_vacancy) .vacancy-item-excerpt { grid-column: 1; grid-row: 1; }
  :is(body.page-id-4769, body.single-neuros_vacancy) .vacancy-item-header { grid-column: 1; grid-row: 2; }
  :is(body.page-id-4769, body.single-neuros_vacancy) .vacancy-item-button { grid-column: 1; grid-row: 3; }
  :is(body.page-id-4769, body.single-neuros_vacancy) .vacancy-item-header .vacancy-salary { margin-top: 10px; }
  body.single-neuros_vacancy .vacancy-content-title { margin-top: 32px !important; }
}

/* Careers: clean reading backgrounds without decorative vertical rules. */
body.page-id-4769 .body-container > .body-lines,
body.single-neuros_vacancy .body-container > .body-lines {
  display: none !important;
}


/* Careers content expansion: original DNA mark, scoped to career actions. */
:is(body.page-id-4769, body.single-neuros_vacancy) :is(.vacancy-item-button, .vacancy-post-button) > .neuros-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 10px 14px !important;
  isolation: isolate;
}
:is(body.page-id-4769, body.single-neuros_vacancy) :is(.vacancy-item-button, .vacancy-post-button) > .neuros-button > span.icon-button-arrow.left {
  display: inline-block !important;
  position: static !important;
  order: -1;
  flex: 0 0 20px;
  width: 20px !important;
  height: 20px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  background: url('/assets/custom/HD1.png') center / contain no-repeat !important;
  pointer-events: none;
}
:is(body.page-id-4769, body.single-neuros_vacancy) :is(.vacancy-item-button, .vacancy-post-button) > .neuros-button > span.icon-button-arrow.right {
  display: none !important;
}
:is(body.page-id-4769, body.single-neuros_vacancy) :is(.vacancy-item-button, .vacancy-post-button) > .neuros-button > span.icon-button-arrow::before,
:is(body.page-id-4769, body.single-neuros_vacancy) :is(.vacancy-item-button, .vacancy-post-button) > .neuros-button > span.icon-button-arrow::after {
  content: none !important;
}
:is(body.page-id-4769, body.single-neuros_vacancy) :is(.vacancy-item-button, .vacancy-post-button) > .neuros-button:focus-visible {
  outline: 2px solid #1f1f1f;
  outline-offset: 5px;
}
:is(body.page-id-4769, body.single-neuros_vacancy) .dna-new-vacancy .vacancy-salary-value {
  font-size: 15px;
  line-height: 1.5;
  font-weight: 500;
}
body.single-neuros_vacancy .dna-job-title {
  margin: 0 0 28px;
  font-size: clamp(30px, 3.2vw, 48px);
  line-height: 1.15;
  letter-spacing: -0.035em;
  overflow-wrap: anywhere;
}
body.single-neuros_vacancy .dna-job-description > .dna-job-title + .vacancy-content-title {
  margin-top: 0 !important;
}
body.single-neuros_vacancy .dna-vacancy-facts { margin: 0; }
body.single-neuros_vacancy .dna-vacancy-facts dt {
  margin: 24px 0 6px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #626262;
}
body.single-neuros_vacancy .dna-vacancy-facts dt:first-child { margin-top: 0; }
body.single-neuros_vacancy .dna-vacancy-facts dd { margin: 0; font-size: 17px; line-height: 1.5; }
body.single-neuros_vacancy .dna-hiring-note { font-size: 14px; color: #626262; }
