/* TM_ABOUT_LAYOUT_CONSOLIDATED_2_1_9 */
:root {
  --tm-about-frame: 1534px;
  --tm-about-inner: 1500px;
  --tm-about-line: #17191c;
  --tm-about-content-background: linear-gradient(90deg, #0d1013, #0a0c0e);
}

body.tm-about-page {
  background: #050607 !important;
  color: #f4f4f4 !important;
}

/* Durchgehender Inhaltsrahmen: fuellt auch Abstaende zwischen den Sektionen. */
body.tm-about-page > main {
  display: flow-root;
  box-sizing: border-box;
  width: 100%;
  max-width: var(--tm-about-frame);
  margin-inline: auto;
  border-inline: 1px solid var(--tm-about-line);
  background: var(--tm-about-content-background) !important;
  color: #f4f4f4 !important;
}

body.tm-about-page .tm-about-hero {
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: 0 !important;
  border-inline: 0;
  color: #fff;
}

body.tm-about-page .tm-about-hero__inner {
  box-sizing: border-box;
  width: 100% !important;
  max-width: var(--tm-about-inner) !important;
  margin-inline: auto !important;
  padding-inline: 34px !important;
}

body.tm-about-page main > .tm21-shell {
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: 0 !important;
  padding-left: 51px !important;
  padding-right: 51px !important;
  border-inline: 0;
  background: transparent !important;
}

/* Einleitung im Stil der hervorgehobenen redaktionellen Lead-Texte. */
body.tm-about-page .tm-about-intro {
  padding-top: 42px !important;
  padding-bottom: 42px !important;
  text-align: left !important;
}

body.tm-about-page .tm-about-intro > p {
  box-sizing: border-box;
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 2px 0 2px 30px;
  border-left: 4px solid #f47b20;
  color: #f4f4f4 !important;
  font-size: clamp(1.12rem, 1.55vw, 1.5rem);
  line-height: 1.72;
  text-align: left !important;
}

/* Footer auf derselben 1534-px-Außenkante wie Modellbahn/Wissen. */
body.tm-about-page .tm21-global-footer-layout--default {
  width: 100% !important;
  max-width: var(--tm-about-frame) !important;
  margin-inline: auto !important;
  border-left: 1px solid var(--tm-about-line) !important;
  border-right: 1px solid var(--tm-about-line) !important;
  box-sizing: border-box !important;
}

body.tm-about-page .tm-about-intro,
body.tm-about-page .tm-about-story,
body.tm-about-page .tm-about-intro > p,
body.tm-about-page .tm-about-story > p:last-child,
body.tm-about-page .tm-about-person p,
body.tm-about-page .tm-about-competences p {
  color: #c7cfd5 !important;
}

body.tm-about-page .tm-about-story h2,
body.tm-about-page .tm-about-person h2,
body.tm-about-page .tm-about-competences h3 {
  color: #f5f7f8 !important;
}

body.tm-about-page .tm-about-person,
body.tm-about-page .tm-about-competences article {
  background: #10171d !important;
  border-color: #28323a !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .25) !important;
}

body.tm-about-page .tm-about-person > div:last-child {
  background: #10171d;
}

body.tm-about-page .tm-about-person > img,
body.tm-about-page .tm-about-person__placeholder,
body.tm-about-page .tm-about-cta {
  border-color: #2b353d !important;
  background-color: #10171d !important;
}

body.tm-about-page .tm-about-areas > a {
  border-color: #2b353d !important;
  background: linear-gradient(145deg, #10171d, #202b33) !important;
}

body.tm-about-page .tm-about-kicker,
body.tm-about-page .tm-about-hero p,
body.tm-about-page .tm-about-role,
body.tm-about-page .tm-about-competences article > span,
body.tm-about-page .tm-about-areas small {
  color: #f47b20 !important;
}

@media (max-width: 1534px) {
  body.tm-about-page > main,
  body.tm-about-page .tm-about-hero,
  body.tm-about-page main > .tm21-shell,
  body.tm-about-page .tm21-global-footer-layout--default {
    max-width: 100% !important;
  }

  body.tm-about-page main > .tm21-shell {
    padding-left: 34px !important;
    padding-right: 34px !important;
  }
}

@media (max-width: 700px) {
  body.tm-about-page .tm-about-hero__inner,
  body.tm-about-page main > .tm21-shell {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  body.tm-about-page .tm-about-intro {
    padding-top: 28px !important;
    padding-bottom: 28px !important;
  }

  body.tm-about-page .tm-about-intro > p {
    padding-left: 18px;
    border-left-width: 3px;
    font-size: 1.08rem;
    line-height: 1.62;
  }
}
