/* Loaded only on explicitly selected canonical material pages. */
body.editorial-page { --editorial-ink: #0b2134; --editorial-text: #243c4e; }
body.editorial-page div#page main.main {
  padding-top: 0;
  margin-bottom: 64px;
}
body.editorial-page--standard main.main > .container,
body.editorial-page--standard div#page > .navigation > .container {
  max-width: 870px;
}
body.editorial-page main h1.page-title {
  text-align: left;
  margin: 28px 0 32px;
  color: var(--editorial-ink);
  font-size: 46px;
  line-height: 1.15;
}
body.editorial-page--standard main .node--view-mode-full {
  width: 100%;
  min-width: 0;
}
body.editorial-page--standard main .node--view-mode-full .node__content {
  min-width: 0;
}
body.editorial-page main :is(.node--view-mode-full .field--name-body, .taxonomy-term--view-mode-description .field--name-description) {
  min-width: 0;
  max-width: 100%;
  color: var(--editorial-text);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.65;
  overflow-wrap: break-word;
}
body.editorial-page main :is(.node--view-mode-full .field--name-body, .taxonomy-term--view-mode-description .field--name-description) p {
  margin: 0 0 18px;
  font-size: inherit;
  line-height: inherit;
}
body.editorial-page main :is(.node--view-mode-full .field--name-body, .taxonomy-term--view-mode-description .field--name-description) :is(h2,h3,h4,h5,h6) {
  color: var(--editorial-ink);
  line-height: 1.25;
  text-align: left;
}
body.editorial-page main :is(.node--view-mode-full .field--name-body, .taxonomy-term--view-mode-description .field--name-description) h2 { font-size: 29px; margin: 36px 0 14px; }
body.editorial-page main :is(.node--view-mode-full .field--name-body, .taxonomy-term--view-mode-description .field--name-description) h3 { font-size: 24px; margin: 30px 0 14px; }
body.editorial-page main :is(.node--view-mode-full .field--name-body, .taxonomy-term--view-mode-description .field--name-description) h4 { font-size: 21px; margin: 26px 0 12px; }
body.editorial-page main :is(.node--view-mode-full .field--name-body, .taxonomy-term--view-mode-description .field--name-description) h5 { font-size: 19px; margin: 24px 0 12px; }
body.editorial-page main :is(.node--view-mode-full .field--name-body, .taxonomy-term--view-mode-description .field--name-description) h6 { font-size: 18px; margin: 22px 0 12px; }
body.editorial-page main :is(.node--view-mode-full .field--name-body, .taxonomy-term--view-mode-description .field--name-description) :is(ul,ol) { padding-left: 26px; margin: 16px 0 24px; }
body.editorial-page main :is(.node--view-mode-full .field--name-body, .taxonomy-term--view-mode-description .field--name-description) li { margin: 6px 0; }
body.editorial-page main :is(.node--view-mode-full .field--name-body, .taxonomy-term--view-mode-description .field--name-description) a:not(.btn) { text-decoration: underline; text-underline-offset: 3px; }
body.editorial-page main :is(.node--view-mode-full .field--name-body, .taxonomy-term--view-mode-description .field--name-description) a:not(.btn):hover { color: #bd4e0a; }
body.editorial-page main :is(.node--view-mode-full .field--name-body, .taxonomy-term--view-mode-description .field--name-description, .editorial-project-details) a:focus-visible,
body.editorial-page .editorial-table-scroll:focus-visible { outline: 2px solid #f06e20; outline-offset: 3px; }
/* Preserve source dimensions and complete images, including diagrams. */
body.editorial-page main .node--view-mode-full :is(.field--name-field-foto,.field--name-field-image,.field--name-field-image-news) { margin-bottom: 28px; }
body.editorial-page main .node--view-mode-full :is(.field--name-field-foto,.field--name-field-image,.field--name-field-image-news) img,
body.editorial-page main :is(.node--view-mode-full .field--name-body,.taxonomy-term--view-mode-description .field--name-description) img:not([class*="icon"]):not(a img):not(button img) {
  max-width: 100%;
  height: auto;
  object-fit: contain;
  border-radius: 28px;
}
body.editorial-page main :is(.node--view-mode-full .field--name-body,.taxonomy-term--view-mode-description .field--name-description) img:not([class*="icon"]):not(a img):not(button img) { margin-block: 24px; }
body.editorial-page--standard main .node--view-mode-full .field--name-field-foto :is(article,.field--name-field-media-image,.field__item) { width: 100%; min-width: 0; }
body.editorial-page main .editorial-project-details {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,180px),1fr));
  gap: 20px;
  padding: 20px 24px;
  margin: 0 0 32px;
  border: 1px solid rgba(11,33,52,.14);
  border-radius: 20px;
  background: rgba(255,255,255,.28);
  color: var(--editorial-text);
  font-size: 15px;
  line-height: 1.5;
}
body.editorial-page main .editorial-project-details .field__label { margin-bottom: 6px; color: var(--editorial-ink); }
body.editorial-page main .editorial-project-details > .field { min-width: 0; }
body.editorial-page .editorial-table-scroll { max-width: 100%; overflow-x: auto; margin: 24px 0; }
body.editorial-page .editorial-table-scroll table { width: 100%; margin: 0; border-collapse: collapse; font-size: 15px; line-height: 1.5; }
body.editorial-page .editorial-table-scroll :is(td,th) { padding: 12px; border-bottom: 1px solid rgba(11,33,52,.15); }
/* Service layouts keep their image/text columns; only text gets this scale. */
body.editorial-page--service div#page main .service-layout {
  display: block;
  text-align: left;
}
body.editorial-page--service main .service-intro {
  display: grid;
  grid-template-columns: minmax(0,1fr) 370px;
  align-items: center;
  gap: 48px;
  margin-bottom: 36px;
  padding-bottom: 36px;
  border-bottom: 1px solid rgba(11,33,52,.15);
}
body.editorial-page--service main .service-intro--text { grid-template-columns: minmax(0,840px); justify-content: center; }
body.editorial-page--service main .service-intro__copy {
  min-width: 0;
  color: var(--editorial-text);
  font-size: 18px;
  line-height: 1.65;
}
body.editorial-page--service main .service-intro__copy :is(h2,h3,h4) { margin: 0 0 20px; color: var(--editorial-ink); line-height: 1.25; text-align: left; }
body.editorial-page--service main .service-intro__copy h2 { font-size: 29px; }
body.editorial-page--service main .service-intro__copy h3 { font-size: 24px; }
body.editorial-page--service main .service-intro__copy p { margin: 0 0 18px; font-size: inherit; line-height: inherit; }
body.editorial-page--service main .service-intro__copy a:not(.btn) { text-decoration: underline; text-underline-offset: 3px; }
body.editorial-page--service main .service-intro__copy a:focus-visible { outline: 2px solid #f06e20; outline-offset: 3px; }
body.editorial-page--service main .service-intro > :is(.field--name-field-catalog-image,.field--name-field-image) {
  width: 100%;
  max-width: 370px;
  margin: 0;
  border-radius: 32px;
  overflow: hidden;
}
body.editorial-page--service main .service-intro img { display: block; width: 100%; max-height: none; height: auto; object-fit: contain; border-radius: 32px; }
body.editorial-page--consulting main .service-intro > .field--name-field-image img { aspect-ratio: 1; object-fit: cover; }
body.editorial-page--service main .service-layout > :is(.field--name-body,.field--name-description),
body.editorial-page--service main :is(.service-toc,.service-supplements,.service-support) { width: 100%; max-width: 840px; margin-inline: auto; }
body.editorial-page--service main .service-cta { margin-top: 24px; }
body.editorial-page--service main .service-cta p { margin: 0; }
body.editorial-page--service main .service-cta .btn { border-radius: 30px; max-width: 100%; white-space: normal; }
body.editorial-page--service main .service-toc { margin-bottom: 32px; padding: 18px 22px; border: 1px solid rgba(11,33,52,.16); border-radius: 20px; background: rgba(255,255,255,.2); }
body.editorial-page--service main .service-toc details { border: 0; margin: 0; padding: 0; }
body.editorial-page--service main .service-toc summary { font-size: 17px; font-weight: 600; color: var(--editorial-ink); cursor: pointer; }
body.editorial-page--service main .service-toc ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px 28px; padding: 0; margin: 18px 0 0; list-style: none; }
body.editorial-page--service main .service-toc a { color: var(--editorial-ink); font-size: 15px; text-decoration: underline; text-underline-offset: 3px; }
body.editorial-page--service main .service-toc a:hover { color: #bd4e0a; }
body.editorial-page--service main .service-toc :is(summary,a):focus-visible { outline: 2px solid #f06e20; outline-offset: 3px; }
body.editorial-page--service main :is(.field--name-body,.field--name-description) [id] { scroll-margin-top: 90px; }
body.editorial-page--service main .service-supplements { margin-top: 32px; display: grid; gap: 20px; }
body.editorial-page--service main .service-supplements:empty,
body.editorial-page--service main .service-support:empty { display: none; }
body.editorial-page--service main .service-support { margin-top: 40px; }
body.editorial-page--service main .service-projects h2 { margin: 0 0 24px; font-size: 29px; color: var(--editorial-ink); text-align: left; }
body.editorial-page--service main .service-projects__grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,230px),1fr)); gap: 20px; }
body.editorial-page--service main .service-project-card { min-width: 0; border-radius: 28px; overflow: hidden; background: #102a42; color: #e0e7ed; padding-bottom: 20px; }
body.editorial-page--service main .service-project-card :is(article,.field--name-field-media-image,.field__item) { width: 100%; min-width: 0; }
body.editorial-page--service main .service-project-card .field--name-field-media-image { flex: 1 1 100%; }
body.editorial-page--service main .service-project-card img { width: 100%; height: auto; display: block; }
body.editorial-page--service main .service-project-card h3 { margin: 16px 18px 12px; font-size: 19px; line-height: 1.3; text-align: left; }
body.editorial-page--service main .service-project-card h3 a { color: #fff; }
body.editorial-page--service main .service-project-card h3 a:hover { color: #ffad76; }
body.editorial-page--service main .service-project-card h3 a:focus-visible { outline: 2px solid #f06e20; outline-offset: 3px; }
body.editorial-page--service main .service-project-card .field--name-field-field-project-intro { margin: 0 18px; font-size: 14px; line-height: 1.5; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
@media (max-width:1199px) {
  body.editorial-page--service main .service-intro { grid-template-columns: minmax(0,1fr) 280px; gap: 32px; }
}
@media (max-width:767px) {
  body.editorial-page--service main .service-intro { grid-template-columns: minmax(0,1fr); gap: 20px; margin-bottom: 24px; padding-bottom: 24px; }
  body.editorial-page--service main .service-intro__copy { font-size: 17px; }
  body.editorial-page--service main .service-intro__copy h2 { font-size: 25px; }
  body.editorial-page--service main .service-intro > :is(.field--name-field-catalog-image,.field--name-field-image) { justify-self: center; }
  body.editorial-page--service main .service-toc ul { grid-template-columns: minmax(0,1fr); }
  body.editorial-page--service main .service-projects__grid { grid-template-columns: minmax(0,1fr); }
}
body.editorial-page .editorial-faq { margin: 24px 0 32px; }
body.editorial-page .editorial-faq__item {
  margin: 0 0 12px;
  border: 1px solid rgba(11,33,52,.16);
  border-radius: 18px;
  background: rgba(255,255,255,.2);
}
body.editorial-page .editorial-faq__item > summary {
  position: relative;
  padding: 18px 52px 18px 20px;
  color: var(--editorial-ink);
  font-weight: 600;
  line-height: 1.4;
  cursor: pointer;
  list-style: none;
}
body.editorial-page .editorial-faq__item > summary::-webkit-details-marker { display: none; }
body.editorial-page main :is(.field--name-body,.field--name-description) .editorial-faq__item > summary :is(h2,h3,h4,h5,h6) { margin: 0; font-size: inherit; line-height: inherit; }
body.editorial-page .editorial-faq__item > summary::after {
  position: absolute;
  right: 20px;
  top: 18px;
  color: #f06e20;
  content: '+';
  font-size: 23px;
  line-height: 1;
}
body.editorial-page .editorial-faq__item[open] > summary::after { content: '−'; }
body.editorial-page .editorial-faq__item > summary:hover { color: #bd4e0a; }
body.editorial-page .editorial-faq__item > summary:focus-visible { outline: 2px solid #f06e20; outline-offset: 3px; border-radius: 18px; }
body.editorial-page .editorial-faq__answer { padding: 0 20px 18px; }
body.editorial-page .editorial-faq__answer > .editorial-faq__text > :last-child { margin-bottom: 0; }
body.editorial-page--service main .node--type-service .node__content { min-width: 0; }
body.editorial-page--service div#page main .node.node--type-service.node--view-mode-full .node__content .field--name-body {
  color: var(--editorial-text);
  font-size: 18px;
  font-weight: 400;
}
@media (max-width:1199px) {
  body.editorial-page main h1.page-title { font-size: 40px; }
}
@media (max-width:767px) {
  body.editorial-page .mm-page { padding-top: 72px; }
  body.editorial-page div#page main.main { margin-bottom: 56px; }
  body.editorial-page main h1.page-title { font-size: 32px; margin: 24px 0 28px; }
  body.editorial-page main :is(.node--view-mode-full .field--name-body,.taxonomy-term--view-mode-description .field--name-description) { font-size: 17px; }
  body.editorial-page main :is(.node--view-mode-full .field--name-body,.taxonomy-term--view-mode-description .field--name-description) h2 { font-size: 25px; margin-top: 32px; }
  body.editorial-page main :is(.node--view-mode-full .field--name-body,.taxonomy-term--view-mode-description .field--name-description) h3 { font-size: 22px; }
  body.editorial-page main .editorial-project-details { grid-template-columns: minmax(0,1fr); padding: 18px; }
  body.editorial-page--service div#page main .node.node--type-service.node--view-mode-full .node__content .field--name-body { font-size: 17px; }
}
