@charset "UTF-8";/* CSS Document *//* ================================   Webfonts================================ *//* -------- Raleway -------- */@font-face {  font-family: 'Raleway';  font-style: normal;  font-weight: 400;  src:    url('../webfonts/raleway-v37-latin-regular.woff2') format('woff2'), url('../webfonts/raleway-v37-latin-regular.ttf') format('truetype');}@font-face {  font-family: 'Raleway';  font-style: normal;  font-weight: 600;  src:    url('../webfonts/raleway-v37-latin-600.woff2') format('woff2'), url('../webfonts/raleway-v37-latin-600.ttf') format('truetype');}@font-face {  font-family: 'Raleway';  font-style: normal;  font-weight: 700;  src:    url('../webfonts/raleway-v37-latin-700.woff2') format('woff2'), url('../webfonts/raleway-v37-latin-700.ttf') format('truetype');}/* -------- Poppins -------- */@font-face {  font-family: 'Poppins';  font-style: normal;  font-weight: 400;  src:    url('../webfonts/poppins-v24-latin-regular.woff2') format('woff2'), url('../webfonts/poppins-v24-latin-regular.ttf') format('truetype');}@font-face {  font-family: 'Poppins';  font-style: italic;  font-weight: 400;  src:    url('../webfonts/poppins-v24-latin-italic.woff2') format('woff2'), url('../webfonts/poppins-v24-latin-italic.ttf') format('truetype');}@font-face {  font-family: 'Poppins';  font-style: normal;  font-weight: 500;  src:    url('../webfonts/poppins-v24-latin-500.woff2') format('woff2'), url('../webfonts/poppins-v24-latin-500.ttf') format('truetype');}@font-face {  font-family: 'Poppins';  font-style: italic;  font-weight: 500;  src:    url('../webfonts/poppins-v24-latin-500italic.woff2') format('woff2'), url('../webfonts/poppins-v24-latin-500italic.ttf') format('truetype');}@font-face {  font-family: 'Poppins';  font-style: normal;  font-weight: 700;  src:    url('../webfonts/poppins-v24-latin-700.woff2') format('woff2'), url('../webfonts/poppins-v24-latin-700.ttf') format('truetype');}@font-face {  font-family: 'Poppins';  font-style: italic;  font-weight: 700;  src:    url('../webfonts/poppins-v24-latin-700italic.woff2') format('woff2'), url('../webfonts/poppins-v24-latin-700italic.ttf') format('truetype');}/* ================================   Design Tokens================================ */ :root {  /* Brand / Accent */  --color-accent-1: #EC992A;  --color-accent-2: #E8B910;  /* Text */  --color-white: #ffffff;  --color-dark: #383838;  --color-text: #717171;}body {  font-family: 'Raleway', sans-serif;  color: #717171;  font-weight: 400;  line-height: 1.6;}body p {  font-size: 1.25rem;  font-weight: 400}h1, .h1 {  font-family: 'Poppins', sans-serif;  font-size: 3rem;  font-style: normal;  font-weight: 700;  line-height: normal;  color: var(--color-white);}h2, .h2 {  font-family: 'Poppins', sans-serif;  font-size: 1.5rem;  font-style: normal;  font-weight: 500;  line-height: normal;  color: var(--color-dark);}h3, .h3 {  font-family: 'Raleway', sans-serif;  font-size: 1.5625rem;  font-style: normal;  font-weight: 700;  line-height: normal;  text-transform: uppercase;  color: var(--color-accent-1);}h5, .h5 {  color: var(--color-white);  font-weight: 700;}.introduce__quote p {  color: var(--color-dark);  text-align: center;  font-family: 'Poppins', sans-serif;  font-size: 1.875rem;  font-style: italic;  font-weight: 400;  line-height: 2.6875rem;}.introduce h3 {  margin-bottom: 2.5rem;}p.hervorgehoben {  color: var(--color-text);  font-family: 'Raleway', sans-serif;  font-size: 1.25rem;  font-style: normal;  font-weight: 600;  line-height: 1.75rem;}.statement p {  color: var(--color-white);  text-align: center;  font-family: 'Poppins', sans-serif;  font-size: 1.5625rem;  font-style: italic;  font-weight: 400;  line-height: normal;}.statement .statement__text_b {  font-weight: 700;}.brand__logo {  height: auto;  width: auto;  display: block;}.lang {  position: relative;}.lang__btn {  border: 0;  background: transparent;  font-size: 22px;  line-height: 1;  padding: 6px 8px;  cursor: pointer;}.lang__menu {  position: absolute;  right: 0;  top: calc(100% + 8px);  min-width: 160px;  padding: 10px;  border-radius: 4px;  background: #fff;  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);  display: none;}.lang__menu a {  display: block;  padding: 8px 10px;  text-decoration: none;  color: var(--color-dark);  font-family: Raleway;  font-size: 1.25rem;  font-style: normal;  font-weight: 700;}.lang__menu a:hover {  background: rgba(0, 0, 0, 0.06);  border-radius: 2px;}.lang__menu .act-language {  color: var(--color-accent-1);}.lang.is-open .lang__menu {  display: block;}/* ===== Scroll Animations (performance: transform/opacity only) ===== */.fade-up, .fade-right {  opacity: 0;  transform: translate3d(0, 18px, 0);  transition: opacity 600ms ease, transform 600ms ease;  will-change: opacity, transform;}.fade-right {  transform: translate3d(28px, 0, 0);}.is-inview {  opacity: 1;  transform: translate3d(0, 0, 0);}section.hero {  position: relative;  overflow: hidden;  padding-top: 160px;  background: linear-gradient(90deg, #D1CED2 10%, #E4E0EA 90.56%);}.hero__visual {  position: relative;  min-height: 450px;}/* Header liegt über Hero */.site-header {  position: absolute;  top: 0;  left: 0;  width: 100%;  z-index: 100;  background: transparent;  padding-top: 0; /* <-- wichtig */  margin-top: 0; /* <-- wichtig */}.hero::before {  content: "";  position: absolute;  inset: 0;  z-index: 10;  /* SVG-Polygon als Hintergrund */  background-image: url("../img/head-polygon-yellow.svg");  background-repeat: no-repeat;  background-position: top left;  background-size: contain;  pointer-events: none;}.hero .container {  position: relative;  z-index: 40;} /* Text/CTA über Hintergrund *//* Rechte Visual-Spalte */.hero__visual {  position: relative;  min-height: 450px;  z-index: 15; /* über hero::before */}/* Person */.hero__person {  position: absolute;  right: 0;  bottom: 0;  max-width: min(620px, 100%);  height: auto;  display: block;  pointer-events: none;  user-select: none;  z-index: 20; /* unter Overlay, über Background */}/* Overlay-Polygon rechts (transparentes png) */.hero__overlay {  position: absolute;  right: 0;  bottom: 0;  height: 70%; /* <-- 70% der Hero-Höhe */  max-height: 400px;  width: auto;  max-width: none;  z-index: 40;  transform: translate3d(40px, 0, 0);  transition: transform 500ms ease;  pointer-events: none;  user-select: none;  display: block;}.hero__overlay.is-on {  transform: translate3d(0, 0, 0);}@media (prefers-reduced-motion: reduce) {  .hero__overlay {    transition: none;    transform: none;  }}/* Start CTA Hero */.btn-primary {  display: inline-flex;  align-items: center;  justify-content: center;  padding: 1rem;  border: 1px solid var(--color-white);  background: transparent;  border-radius: 0;  font-family: 'Poppins', sans-serif;  font-style: normal;  font-weight: 400;  font-size: 1.25rem;  line-height: 1.75rem;  text-align: center;  color: var(--color-white);  text-decoration: none;  cursor: pointer;  transition:    color 0.2s ease, border-color 0.2s ease;}/* Hover / Focus */.btn-primary:hover, .btn-primary:focus {  color: var(--color-dark);  border-color: var(--color-dark);  background: transparent}.btn-primary:active {  opacity: 0.85;}/* Ende CTA Hero *//* Start CTA Kontakt */.btn-outline-secondary {  display: inline-flex;  align-items: center;  gap: 30px; /* Abstand Icon → Text */  background-color: transparent;  border: 0;  font-family: 'Poppins', sans-serif;  font-size: 1.5rem;  font-style: normal;  font-weight: 500;  line-height: 1.75rem;  color: var(--color-white);  text-decoration: none;  cursor: pointer;  transition:    color 0.2s ease,}.btn-outline-secondary:hover, .btn-outline-secondary:focus {  color: var(--color-dark);  background-color: transparent}/* SVG/Icon links */.btn-outline-secondary img {  width: 1em;  height: auto;  transition: filter 0.2s ease;}/* Hover → Text + Icon dunkel */.btn-outline-secondary:hover, .btn-outline-secondary:focus {  color: var(--color-dark);  border-color: var(--color-dark);}.btn-outline-secondary:hover img, .btn-outline-secondary:focus img {  filter: brightness(0) saturate(100%);}.btn-outline-secondary img {  width: 2.75rem;  height: auto;}/* Stop CTA Kontakt *//* start introduce triangle */section.introduce {  background: url("../img/triangle-introduce.svg") no-repeat top left;  background-color: #F3F0F6;  padding-bottom: 90px;  padding-top: 90px}/* stop introduce triangle *//* start Statement triangle */section.statement {  position: relative;  overflow: visible;}section.statement::after {  content: "";  position: absolute;  right: 0;  bottom: 0;  /* Responsive Größe mit 500px als Maximum */  width: clamp(220px, 35vw, 500px);  aspect-ratio: 472 / 423;  height: auto;  background: url("../img/triangle-schaetzen.svg") no-repeat bottom right;  background-size: contain;  z-index: 20;  pointer-events: none;}/* stop Statement triangle *//* start triangle last */.faq {  position: relative;  overflow: hidden;  background-color: #F3F0F6;  background: url("../img/last-big-triangle.svg") no-repeat right bottom;}/* Content über dem Background */.faq > .container, .faq > .container-fluid {  position: relative;  z-index: 1;}/* stop triangle last *//* Responsive Anpassungen */@media (max-width: 991.98px) {  .hero__visual {    min-height: 350px;  }  .hero__person {    max-width: min(420px, 100%);  }}section.fullwidth-image {  background-color: #F3C62D;}img.fullwidth-image__img {  max-height: 400px;  margin: 0 auto;  display: block;}.faq {  padding-top: 5.625rem;  padding-bottom: 12rem;}.faq__side {  background: linear-gradient(to bottom, #E8B910 0%, #EC992A 100%);  padding: 3.125rem;  text-align: center;  height: 100%;}.faq__side p.hervorgehoben {  margin-top: 3.5rem;}section.introduce {  background-color: #F3F0F6;  padding-top: 5.625rem;  padding-bottom: 5.625rem;}blockquote {  margin: 0 0 5.625rem;}.statement {  background: linear-gradient(to bottom, #E8B910 0%, #E5AA23 100%);  padding-top: 3.75rem;  padding-bottom: 3.75rem;}.contact-banner {  background: linear-gradient(to bottom, #E3A400 0%, #EFBC0F 100%);  padding-top: 3rem;  padding-bottom: 3rem;  color: var(--color-white);}.contact-banner p {  font-family: Raleway;  font-size: 1.25rem;  font-style: normal;  font-weight: 400;  line-height: 1.75rem; /* 140% */}.contact-banner .hervorgehoben, .contact-banner p a {  color: var(--color-white);  text-decoration: none}.site-footer .container {  display: flex;  justify-content: center;  gap: 2rem; /* Abstand zwischen den beiden Links */  text-align: center;}.site-footer .py-4 .d-flex {  padding: 1.875rem;}.site-footer a {  display: inline-block;  text-align: center;  color: var(--color-accent-1);  font-family: 'Raleway', sans-serif;  font-size: 1.25rem;  font-style: normal;  font-weight: 700;  line-height: 1.6875rem;  text-transform: uppercase;  text-decoration: none;  transition: color 0.2s ease;}.site-footer a:hover, .site-footer a:focus {  color: var(--color-dark);}h5 {  padding: 2rem 0;}/* box left */.faq__side p {  color: var(--color-white);}/* end box left *//* Akkordion start */#faqAccordion.accordion {  --bs-accordion-bg: transparent;  --bs-accordion-border-color: transparent;  --bs-accordion-btn-focus-box-shadow: none;  --bs-accordion-active-bg: transparent;  --bs-accordion-btn-icon: none;  --bs-accordion-btn-active-icon: none;  float: right}#faqAccordion .accordion-item {  border: 0;  background: transparent;}/* Header/Button = H4-Look */#faqAccordion .accordion-header {  margin: 0;}#faqAccordion .accordion-header .hervorgehoben {  padding: 1rem 0;}#faqAccordion .accordion-button {  background: transparent;  box-shadow: none;  padding: 0;  display: flex;  align-items: center;  /* H4 Styling */  font-family: 'Raleway', sans-serif;  font-size: 1.5625rem;  font-style: normal;  font-weight: 700;  line-height: normal;  text-transform: uppercase;  color: var(--color-accent-1);}#faqAccordion .accordion-button::after {  display: none;}/* SVG-Icon links (20px Abstand) */#faqAccordion .accordion-button::before {  content: "";  width: 20px;  height: 20px;  flex: 0 0 20px;  margin-right: 20px;  background: url("../img/acc-pfeil-default.svg") no-repeat center;  background-size: contain;  transform: rotate(0deg);  transition: transform 0.2s ease;}/* Wenn offen: Icon 90° drehen */#faqAccordion .accordion-button[aria-expanded="true"]::before {  background: url("../img/acc-pfeil-open.svg") no-repeat center;  background-size: contain;  transform: rotate(90deg);}/* Body Text Styling */#faqAccordion .accordion-body {  padding: 0;  margin-top: 1rem; /* Abstand unter Headline, falls gewünscht */  color: var(--color-text);  font-family: 'Raleway', sans-serif;  font-size: 1.25rem;  font-style: normal;  font-weight: 400;  line-height: 1.75rem;}/*vertikaler Abstand zwischen Items */#faqAccordion .accordion-item + .accordion-item {  margin-top: 2.5rem;}/* Akkordion Ende */section.hero.impressum, section.hero.datenschutz {  height: 400px;  width: 100%;  padding-top: 150px;}.impressum .row.align-items-center {  height: 340px;}#main .impressum::before {  background-size: 70%;}.datenschutz .container p {  font-size: 1rem;}.datenschutz .container a {  color: #E37B00;}/* START MOBILE *//* prefers-reduced-motion: Accessibility */@media (prefers-reduced-motion: reduce) {  .fade-up, .fade-right {    opacity: 1 !important;    transform: none !important;    transition: none !important;  }}@media (max-width: 767.98px) {  .hero__overlay {    height: 70%;    max-height: 20%;  }  h2, .h2 {    font-size: 1rem;  }  .brand__logo {    width: 200px;  }  .lang img {    width: 28px;  }  .lang__menu a {    padding: 6px 6px;    font-size: 1rem;  }  .lang__menu {    min-width: 120px;  }  section.hero {    padding-top: 120px;  }  #main section.introduce {    padding-top: 2rem;    padding-bottom: 3rem;  }  .introduce__quote p {    font-size: 1rem;    line-height: 1.5rem;  }  h3, .h3 {    font-size: 1.4rem;  }  #main .introduce h3 {    margin-bottom: 1rem;    font-size: 1.2rem;  }  p.hervorgehoben {    font-size: 0.95rem;    line-height: 1.45rem;  }  body p {    font-size: 0.85rem;  }  .statement p {    font-size: 0.9rem;  }  .hero .container {    margin-bottom: 30px;  }  section.statement::after {    background: none;  }  blockquote {    margin: 0 0 3.5rem;  }  #faqAccordion .accordion-body {    padding: 0;    margin-top: 0rem;    font-size: 0.9rem;    line-height: 1.45rem;  }  #faqAccordion .accordion-button {    font-size: 1rem;  }  #faqAccordion .accordion-header .hervorgehoben {    padding: 0.6rem 0;  }  .faq {    padding-bottom: 3rem;  }  .btn-outline-secondary {    gap: 15px;    font-size: 1rem;  }  .btn-outline-secondary img {    width: 2rem;  }  .contact-banner p {    font-size: 1rem;    line-height: 1.5rem;  }  .btn-primary {    padding: 0.4rem;    font-size: 1rem;    line-height: 1.4rem  }  .contact-banner {    padding-top: 2.5rem;    padding-bottom: 1.5rem;  }  .site-footer a {    display: inline !important;    text-align: center !important;    font-size: 1.2rem !important;  }  .hero__visual {    display: none;  }  .hero::before {    content: "";    position: absolute;    inset: 0;    z-index: 10;    background:      url("../img/foto-carsten-willert.png") no-repeat calc(100% + 30px) bottom / 58%, url("../img/head-polygon-yellow.svg") no-repeat left top / cover;    pointer-events: none;  }  h1, .h1 {    font-size: 1.6rem;    color: var(--color-white);    line-height: 2rem;    max-width: 60%;  }  section.hero {    padding-top: 110px;  }  img.fullwidth-image__img {    width: 100%;  }  h2, .h2 {    font-size: 1rem;    max-width: 260px;  }  #main .impressum::before {    content: "";    position: absolute;    inset: 0;    z-index: 10;    background-image: url(../img/head-polygon-yellow.svg);    background-repeat: no-repeat;    background-position: top left;    background-size: cover;    pointer-events: none;  }  section.hero.impressum, section.hero.datenschutz {    height: 260px;    width: 100%;    padding-top: 0px;  }  .site-footer .py-4 .d-flex {    display: inline !important;    padding: 1rem 3rem !important;  }  .trennstrich {    display: none;  }}