html, body {
  font-family: 'Nunito', Arial, sans-serif;
  letter-spacing: 0.0625em;
  font-size: 16px;
  scroll-behavior: smooth;
}

/* Ankerziele nicht unter dem fixierten Header verdecken */
[id] {
  scroll-margin-top: 100px;
}

a {
  color: #0554ab;
}
a:hover, a:active {
  text-decoration: none;
  color: white;
}

a:focus {
  outline: 3px solid #0554ab;
  outline-offset: 2px;
  text-decoration: underline;
}

#mainNav {
  height: auto;
  padding: 1vh 0;
  border: none;
  margin: 0;
  background-color: #110834;
  color: white;
}
#mainNav .navbar-brand,
#mainNav .navbar-toggler,
#mainNav .nav-link {
  padding: 0;
  border: none;
  margin: 1vh 15px;
  background-color: #110834;
  color: white;
}

#mainNav .nav-link {
  text-align: right;
  font-size: 1rem;
  font-weight: normal;
}

#mainNav .nav-link:hover {
  font-weight: normal;
}
#mainNav .nav-link:active,
#mainNav .nav-link.active {
  font-weight: bold;
  outline: 3px solid #ffffff;
  outline-offset: 3px;
}

/* Fokus-Rahmen für Nav-Links */
#mainNav .nav-link:focus {
  outline: 3px solid #ffffff;
  outline-offset: 3px;
}

.navbar-img{
  width: auto;
  height: auto;
  max-height: 4rem;
}

.dp-row-nav{
  width: 100%;
  margin-left: 0px;
  margin-right: 0px;
  align-items: baseline;
}

.dp-col-nav-right{
  text-align: right;
}

.dp-col-nav-left{
  text-align: left;
}

.dp-section-env{
  height: 1px;
  background-color: rgba(17, 8, 52, 0.12);
}

.dp-section {
  min-height: 100vh;
  height: auto;
}

.dp-overlay {
  min-height: inherit;
  height: auto;
  background-color: rgba(212, 208,246, 0.6);
}

.dp-container{
  padding-top: 15px;
  padding-bottom: 15px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  min-height: inherit;
  height: auto;
}

.dp-row{
  width: 100%;
  margin-left: 0px;
  margin-right: 0px;
  align-items: center;
  height: auto;
}

.dp-row-start{
  width: 100%;
  margin-left: 0px;
  margin-right: 0px;
  align-items: flex-start;
  height: auto;
}

.dp-row-end{
  width: 100%;
  margin-left: 0px;
  margin-right: 0px;
  align-items: flex-end;
  height: auto;
}

.dp-col{
  height: auto;
}

.dp-margin-top-bottom{
  margin-top: 15px;
  margin-bottom: 15px;
}

.dp-padding-left{
  padding-left: 15px;
}

.dp-padding-right{
  padding-right: 15px;
}

.dp-col-no-padding{
  padding-left: 0;
  padding-right: 0;
}

.dp-font-size {
  font-size: 1.0rem;
}

.dp-header{
  background-image: url("../img/bgimage-home.jpg");
  background-image: image-set(
    url("../img/bgimage-home.avif") type("image/avif"),
    url("../img/bgimage-home.webp") type("image/webp"),
    url("../img/bgimage-home.jpg") type("image/jpeg")
  );
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: scroll;
  background-size: cover;
}

.dp-header h1 {
  font-size: 1.5rem;
  color: #110834;
  margin: 20px;
  text-align: center;
}

.dp-about-section-1 {
  background-image: url("../img/bgimage-aboutus-vision.jpg");
  background-image: image-set(
    url("../img/bgimage-aboutus-vision.avif") type("image/avif"),
    url("../img/bgimage-aboutus-vision.webp") type("image/webp"),
    url("../img/bgimage-aboutus-vision.jpg") type("image/jpeg")
  );
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: scroll;
  background-size: cover;
}

.dp-about-section-2 {
  background-image: url("../img/bgimage-aboutus-partner.jpg");
  background-image: image-set(
    url("../img/bgimage-aboutus-partner.avif") type("image/avif"),
    url("../img/bgimage-aboutus-partner.webp") type("image/webp"),
    url("../img/bgimage-aboutus-partner.jpg") type("image/jpeg")
  );
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: scroll;
  background-size: cover;
}

.dp-about-section-3 {
  background-image: url("../img/bgimage-aboutus-solution.jpg");
  background-image: image-set(
    url("../img/bgimage-aboutus-solution.avif") type("image/avif"),
    url("../img/bgimage-aboutus-solution.webp") type("image/webp"),
    url("../img/bgimage-aboutus-solution.jpg") type("image/jpeg")
  );
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: scroll;
  background-size: cover;
}

@keyframes fade-in-bg-color {
  0%   { background-color: rgba(212, 208,246, 0.6); }
  100% { background-color: rgba(212, 208,246, 0.0); }
}
.dp-animate-bg-color {
  background-color: rgba(212, 208,246, 0.6);

  animation-name: fade-in-bg-color;
  animation-duration: 1.5s;
  animation-timing-function: ease-in;
  animation-iteration-count: 1;
  animation-delay: 0s;
}
.dp-animated-bg-color {
  background-color: rgba(212, 208,246, 0.0);
}

@keyframes fade-in-color {
  0%   { color: rgba(17, 8, 52, 0.2); }
  100% { color: rgba(17, 8, 52, 1.0); }
}
.dp-animate-color {
  color: rgba(17, 8, 52, 0.2);

  animation-name: fade-in-color;
  animation-duration: 1.5s;
  animation-timing-function: ease-in;
  animation-iteration-count: 1;
  animation-delay: 0s;
}
.dp-animated-color {
  color: rgba(17, 8, 52, 1.0) !important;
}

.dp-who {
  width:100%;
  text-align:center;
  padding-top: 15px;
  color: #110834;
  font-size: 1rem;
}

.dp-slogan {
  width: 100%;
  text-align: center;
  font-size: 2.5rem;
  font-weight: bold;
  color: rgba(17, 8, 52, 0.2);
  margin-bottom: 40px;
}

.dp-slogan-container:not(:first-child) {
  /* Hide all containers except the first */
  display: none;
}

.dp-project-section {
  background-image: url("../img/bgimage-softdev.jpg");
  background-image: image-set(
    url("../img/bgimage-softdev.avif") type("image/avif"),
    url("../img/bgimage-softdev.webp") type("image/webp"),
    url("../img/bgimage-softdev.jpg") type("image/jpeg")
  );
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: scroll;
  background-size: cover;
}

.dp-row-bg-1 {
  background-image: url("../img/software-entwicklung-1.png");
  background-image: image-set(
    url("../img/software-entwicklung-1.avif") type("image/avif"),
    url("../img/software-entwicklung-1.webp") type("image/webp"),
    url("../img/software-entwicklung-1.png") type("image/png")
  );
  background-position: top;
  background-repeat: no-repeat;
  background-attachment: scroll;
  background-size: contain;
}

.dp-row-bg-2 {
  background-image: url("../img/software-entwicklung-2.png");
  background-image: image-set(
    url("../img/software-entwicklung-2.avif") type("image/avif"),
    url("../img/software-entwicklung-2.webp") type("image/webp"),
    url("../img/software-entwicklung-2.png") type("image/png")
  );
  background-position: top;
  background-repeat: no-repeat;
  background-attachment: scroll;
  background-size: contain;
}

.dp-row-bg-3 {
  background-image: url("../img/software-entwicklung-3.png");
  background-image: image-set(
    url("../img/software-entwicklung-3.avif") type("image/avif"),
    url("../img/software-entwicklung-3.webp") type("image/webp"),
    url("../img/software-entwicklung-3.png") type("image/png")
  );
  background-position: top;
  background-repeat: no-repeat;
  background-attachment: scroll;
  background-size: contain;
}

@keyframes slide-in-bg-ltr {
  0%   { background-position: 1000px top; }
  100% { background-position: top; }
}
.dp-animate-bg-ltr {
  background-position: 1000px top;

  animation-name: slide-in-bg-ltr;
  animation-duration: 2s;
  animation-timing-function: ease-in;
  animation-iteration-count: 1;
  animation-delay: 0s;
}
.dp-animated-bg-ltr {
  background-position: top;
}

@keyframes slide-in-bg-rtl {
  0%   { background-position: -1000px top; }
  100% { background-position: top; }
}
.dp-animate-bg-rtl {
  background-position: -1000px top;

  animation-name: slide-in-bg-rtl;
  animation-duration: 2s;
  animation-timing-function: ease-in;
  animation-iteration-count: 1;
  animation-delay: 0s;
}
.dp-animated-bg-rtl {
  background-position: top;
}

.dp-text-center {
  color: #110834;
  text-align: center;
}
.dp-text-left {
  color: #110834;
  text-align: left;
}

.dp-contact-section {
  background-image: url("../img/bgimage-contact.jpg");
  background-image: image-set(
    url("../img/bgimage-contact.avif") type("image/avif"),
    url("../img/bgimage-contact.webp") type("image/webp"),
    url("../img/bgimage-contact.jpg") type("image/jpeg")
  );
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: scroll;
  background-size: cover;
}

.dp-contact-section.dp-section{
  min-height: 80vh;
}

.dp-form-contact {
  display: block !important;
}

.dp-form-contact .form-control{
  background-color: rgba(255,255,255,0.6);
}

.dp-form-contact > * {
  margin: 10px 0;
}

.dp-form-label {
  display: block;
  color: #110834;
  font-weight: bold;
  text-align: left;
}

.dp-input {
  border: 1px solid #b3b3b3 !important;
  border-radius: 8px !important;
  color: #110834 !important;
}

.dp-input:focus,
.dp-btn:focus {
  outline: 3px solid #110834;
  outline-offset: 3px;
  box-shadow: 0 0 0 3px white;
}

.dp-btn {
  display: block;
  padding: 15px;
  border: 0;
  border-radius: 8px !important;
  background-color: #0554ab !important;
  color: white;
}

.dp-btn:hover,
.dp-btn:focus,
.dp-btn:active {
  background-color: #110834 !important;
  color: white !important;
}

.dp-btn:disabled {
  cursor: wait;
  opacity: 0.7;
}

.dp-form-status {
  min-height: 1.5em;
  color: #110834;
  font-weight: bold;
  text-align: center;
}

.dp-form-status-success::before {
  content: "✓ ";
}

.dp-form-status-error::before {
  content: "⚠ ";
}

.dp-form-privacy-hint {
  font-size: 0.8rem;
  color: #110834;
  text-align: center;
  margin: 8px 0;
  line-height: 1.4;
}

.dp-form-privacy-hint a {
  color: #0554ab;
  text-decoration: underline;
}

.dp-footer {
  background-color: #110834;
  color: white;
  padding: 2vh 0;
  min-height: 20vh;
  height: auto;
}

/* Zum Schluss kommen die media queries */
/* Extra small devices (portrait phones, less than 576px) */
@media (max-width: 575.98px) {
  html, body {
    /* font-size: 16px; */
    font-size: 16px;
  }
  #mainNav .nav-link{
    /* font-size: 1rem; */
    font-size: 1rem;
  }
  .navbar-img{
    /* max-height: 4rem; */
    max-height: 4rem;
  }
  .dp-header h1 {
    /* font-size: 1.5rem; */
    font-size: 1.0rem;
  }
  .dp-who {
    /* font-size: 1rem; */
    font-size: 0.8rem;
  }
  .dp-slogan{
    /* font-size: 2.5rem; */
    font-size: 1.4rem;
  }
  .dp-font-size {
    /* font-size: 1.0rem; */
    font-size: 0.8rem;
  }
}

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) and (max-width: 767.98px) {
  html, body {
    /* font-size: 16px; */
    font-size: 16px;
  }
  #mainNav .nav-link{
    /* font-size: 1rem; */
    font-size: 1rem;
  }
  .navbar-img{
    /* max-height: 4rem; */
    max-height: 4rem;
  }
  .dp-header h1 {
    /* font-size: 1.5rem; */
    font-size: 1.2rem;
  }
  .dp-who {
    /* font-size: 1rem; */
    font-size: 1rem;
  }
  .dp-slogan{
    /* font-size: 2.5rem; */
    font-size: 1.8rem;
  }
  .dp-font-size {
    /* font-size: 1.0rem; */
    font-size: 1.0rem;
  }
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) and (max-width: 991.98px) {
  html, body {
    /* font-size: 16px; */
    font-size: 16px;
  }
  #mainNav .nav-link{
    /* font-size: 1rem; */
    font-size: 1rem;
  }
  .navbar-img{
    /* max-height: 4rem; */
    max-height: 4rem;
  }
  .dp-header h1 {
    /* font-size: 1.5rem; */
    font-size: 1.3rem;
  }
  .dp-who {
    /* font-size: 1rem; */
    font-size: 1rem;
  }
  .dp-slogan{
    /* font-size: 2.5rem; */
    font-size: 2.0rem;
  }
  .dp-font-size {
    /* font-size: 1.0rem; */
    font-size: 1.0rem;
  }
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) and (max-width: 1199.98px) {
  html, body {
    /* font-size: 16px; */
    font-size: 16px;
  }
  #mainNav .nav-link{
    /* font-size: 1rem; */
    font-size: 1rem;
  }
  .navbar-img{
    /* max-height: 4rem; */
    max-height: 4rem;
  }
  .dp-header h1 {
    /* font-size: 1.5rem; */
    font-size: 1.5rem;
  }
  .dp-who {
    /* font-size: 1rem; */
    font-size: 1rem;
  }
  .dp-slogan{
    /* font-size: 2.5rem; */
    font-size: 2.3rem;
  }
  .dp-font-size {
    /* font-size: 1.0rem; */
    font-size: 1.0rem;
  }
}

/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
  html, body {
    /* font-size: 16px; */
    font-size: 16px;
  }
  #mainNav .nav-link{
    /* font-size: 1rem; */
    font-size: 1rem;
  }
  .navbar-img{
    /* max-height: 4rem; */
    max-height: 4rem;
  }
  .dp-header h1 {
    /* font-size: 1.5rem; */
    font-size: 1.5rem;
  }
  .dp-who {
    /* font-size: 1rem; */
    font-size: 1rem;
  }
  .dp-slogan{
    /* font-size: 2.5rem; */
    font-size: 2.5rem;
  }
  .dp-font-size {
    /* font-size: 1.0rem; */
    font-size: 1.0rem;
  }
}

/* Screenreader-only utility (visuell versteckt, aber für Screenreader zugänglich) */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

/* Screenreader-only, wird beim Fokus sichtbar */
.sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  padding: inherit;
  margin: inherit;
  overflow: visible;
  clip: auto;
  clip-path: none;
  white-space: normal;
}

/* Sichtbare Fokusstile für Navigation */
#mainNav .nav-link:focus,
#mainNav .nav-link.active,
#mainNav .navbar-toggler:focus,
#mainNav .navbar-brand:focus {
  outline: 3px solid #ffffff;
  outline-offset: 3px;
}

/* Reduzierte Bewegung respektieren */
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation: none !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }

  /* Animations-Klassen auf Endzustand setzen, da Animationen deaktiviert sind */
  .dp-animate-bg-color {
    background-color: rgba(212, 208,246, 0.0) !important;
  }

  .dp-animate-color {
    color: rgba(17, 8, 52, 1.0) !important;
  }

  .dp-animate-bg-rtl {
    background-position: top !important;
  }

  .dp-animate-bg-ltr {
    background-position: top !important;
  }
}

/* Zoom-Unterstützung: 200 % und 400 % */
@media (min-resolution: 192dpi) {
  html, body {
    font-size: 20px;
  }

  .dp-slogan {
    font-size: 3rem;
  }

  .dp-header h1 {
    font-size: 1.8rem;
  }
}

@media (min-resolution: 384dpi) {
  html, body {
    font-size: 24px;
  }

  .dp-slogan {
    font-size: 3.5rem;
  }

  .dp-header h1 {
    font-size: 2rem;
  }
}

/* ============================================
   Neue Sektionen-CSS für die überarbeitete Startseite
   ============================================ */

/* Hero: Subline und CTA */
.dp-hero-subline {
  color: #110834;
  font-size: 1.1rem;
  line-height: 1.65;
  max-width: 720px;
  margin-top: 15px;
  margin-bottom: 10px;
  text-align: center;
}

.dp-hero-proof {
  color: #110834;
  font-size: 0.95rem;
  font-weight: bold;
  line-height: 1.5;
  margin: 18px auto 0;
  text-align: center;
}

.dp-hero-cta {
  margin-top: 25px;
  text-align: center;
}

.dp-btn-lg {
  padding: 18px 30px;
  font-size: 1.1rem;
}

/* Vertrauensleiste */
.dp-trust-bar {
  background-color: #ffffff;
  min-height: auto;
  padding: 2rem 0;
}

.dp-trust-items {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  align-items: center;
}

.dp-trust-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 10px 15px;
}

.dp-trust-label {
  font-weight: bold;
  color: #110834;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 4px;
}

.dp-trust-logos {
  color: #110834;
  font-size: 0.95rem;
  font-weight: 500;
}

.dp-trust-text {
  color: #110834;
  font-size: 0.95rem;
}

/* Problem-/Nutzenabschnitt */
.dp-problem-section {
  background-color: #f5f6fb;
  min-height: auto;
  padding: 5rem 0;
}

.dp-section-title {
  color: #110834;
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 15px;
}

.dp-section-intro {
  color: #110834;
  font-size: 1.05rem;
  line-height: 1.65;
  text-align: center;
  max-width: 760px;
  margin: 0 auto 35px auto;
}

.dp-problem-card {
  background-color: #ffffff;
  border-radius: 8px;
  height: calc(100% - 16px);
  padding: 28px 24px;
  margin: 8px;
  border: 1px solid rgba(17, 8, 52, 0.1);
}

.dp-problem-card h3 {
  color: #110834;
  font-size: 1.2rem;
  font-weight: bold;
  margin-bottom: 10px;
}

.dp-problem-card p {
  color: #110834;
  font-size: 1rem;
  line-height: 1.65;
  margin: 0;
}

/* Leistungsübersicht */
.dp-services-section {
  background-color: #ffffff;
  min-height: auto;
  padding: 5rem 0;
}

.dp-service-card {
  background-color: #ffffff;
  border-radius: 8px;
  height: calc(100% - 16px);
  padding: 28px 24px;
  margin: 8px;
  border: 1px solid rgba(17, 8, 52, 0.08);
  transition: box-shadow 0.3s ease;
}

.dp-service-card:hover {
  box-shadow: 0 4px 12px rgba(17, 8, 52, 0.1);
}

.dp-service-card h3 {
  color: #110834;
  font-size: 1.1rem;
  font-weight: bold;
  margin-bottom: 8px;
}

.dp-service-card p {
  color: #110834;
  font-size: 1rem;
  line-height: 1.65;
  margin: 0;
}

.dp-technology-note {
  color: #110834;
  line-height: 1.65;
  margin: 32px auto 0;
  max-width: 850px;
  text-align: center;
}

/* Hervorgehobene Kernleistungen */
.dp-service-primary {
  background-color: #f0eefc;
  border-color: rgba(5, 84, 171, 0.2);
  border-left: 4px solid #0554ab;
}

.dp-service-primary:hover {
  box-shadow: 0 4px 16px rgba(5, 84, 171, 0.15);
}

/* Branchen */
.dp-industry-section {
  background-color: #f5f6fb;
  min-height: auto;
  padding: 4.5rem 0;
}

.dp-industry-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.dp-industry-list li {
  color: #110834;
  font-size: 1.05rem;
  padding: 10px 0;
  border-bottom: 1px solid rgba(17, 8, 52, 0.08);
}

.dp-industry-list li:last-child {
  border-bottom: none;
}

.dp-industry-list li::before {
  content: "→ ";
  color: #0554ab;
  font-weight: bold;
  margin-right: 8px;
}

/* Vorgehensweise */
.dp-process-section {
  background-color: #ffffff;
  min-height: auto;
  padding: 5rem 0;
}

.dp-process-step {
  text-align: center;
  padding: 20px 15px;
  margin-bottom: 15px;
}

.dp-process-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  background-color: #0554ab;
  color: #ffffff;
  border-radius: 50%;
  font-size: 1.5rem;
  font-weight: bold;
  margin-bottom: 15px;
}

.dp-process-step h3 {
  color: #110834;
  font-size: 1.1rem;
  font-weight: bold;
  margin-bottom: 8px;
}

.dp-process-step p {
  color: #110834;
  font-size: 1rem;
  line-height: 1.65;
  margin: 0;
}

/* Referenzen */
.dp-references-section {
  background-color: #f5f6fb;
  min-height: auto;
  padding: 5rem 0;
}

.dp-reference-card {
  background-color: #ffffff;
  border-radius: 8px;
  height: calc(100% - 16px);
  padding: 28px 24px;
  margin: 8px;
  border-left: 4px solid #0554ab;
}

.dp-reference-card h3 {
  color: #110834;
  font-size: 1.1rem;
  font-weight: bold;
  margin-bottom: 5px;
}

.dp-reference-client {
  color: #0554ab;
  font-size: 0.9rem;
  font-weight: 500;
  margin-bottom: 8px;
}

.dp-reference-card p {
  color: #110834;
  font-size: 1rem;
  line-height: 1.65;
  margin: 0;
}

/* Team */
.dp-team-section {
  background-color: #ffffff;
  min-height: auto;
  padding: 5rem 0;
}

.dp-team-card {
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 15px;
  text-align: center;
}

.dp-team-info {
  background-color: #f5f6fb;
  border-radius: 8px;
  padding: 15px;
  margin-top: 15px;
}

/* Team-Bilder proportional – maximal 400px, auf Mobile volle Spaltenbreite */
.dp-team-card img {
  border-radius: 8px;
  margin-bottom: 15px;
  max-width: 400px;
  width: auto;
  height: auto;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 575.98px) {
  .dp-team-card img {
    max-width: 100%;
    width: auto;
    height: auto;
  }
}

.dp-team-card h3 {
  color: #110834;
  font-size: 1.2rem;
  font-weight: bold;
  margin-bottom: 5px;
}

.dp-team-role {
  color: #0554ab;
  font-size: 0.95rem;
  font-weight: 500;
  margin-bottom: 10px;
}

.dp-team-card p {
  color: #110834;
  font-size: 1rem;
  line-height: 1.65;
  margin: 0;
}

/* FAQ */
.dp-faq-section {
  background-color: #f5f6fb;
  min-height: auto;
  padding: 5rem 0;
}

.dp-faq-item {
  padding: 20px 0;
  border-bottom: 1px solid rgba(17, 8, 52, 0.1);
}

.dp-faq-item:last-child {
  border-bottom: none;
}

.dp-faq-item h3 {
  color: #110834;
  font-size: 1.1rem;
  font-weight: bold;
  margin-bottom: 8px;
}

.dp-faq-item p {
  color: #110834;
  font-size: 1rem;
  line-height: 1.65;
  margin: 0;
}

/* Kontakt: zusätzliche Info */
.dp-contact-alt {
  color: #110834;
  font-size: 0.95rem;
}

.dp-contact-alt p {
  margin-bottom: 5px;
}

/* ============================================
   Responsive-Anpassungen für neue Sektionen
   ============================================ */

/* Extra small devices (portrait phones, less than 576px) */
@media (max-width: 575.98px) {
  .dp-problem-section,
  .dp-services-section,
  .dp-industry-section,
  .dp-process-section,
  .dp-references-section,
  .dp-team-section,
  .dp-faq-section {
    padding: 3.5rem 0;
  }

  .dp-section-title {
    font-size: 1.6rem;
    line-height: 1.25;
  }

  .dp-section-intro {
    font-size: 1rem;
  }

  .dp-hero-subline {
    font-size: 1rem;
  }

  .dp-trust-items {
    flex-direction: column;
    gap: 10px;
  }

  .dp-trust-logos {
    font-size: 0.85rem;
  }

  .dp-process-number {
    width: 40px;
    height: 40px;
    font-size: 1.2rem;
  }

  .dp-btn-lg {
    padding: 14px 20px;
    font-size: 1rem;
  }
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) and (max-width: 991.98px) {
  .dp-section-title {
    font-size: 1.6rem;
  }

  .dp-section-intro {
    font-size: 1rem;
  }
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
  .dp-section-title {
    font-size: 2rem;
  }

  .dp-section-intro {
    font-size: 1.1rem;
  }
}

/* Ruhiger, fokussierter Einstieg und besser lesbarer Kontaktbereich */
.dp-header .dp-overlay {
  background-color: rgba(245, 246, 251, 0.86);
}

.dp-header .dp-container {
  padding-bottom: 4rem;
  padding-top: 7rem;
}

.dp-header picture {
  display: block;
  margin: 0 auto;
  max-width: 460px;
  width: 72%;
}

.dp-header h1 {
  font-size: clamp(1.8rem, 3vw, 2.8rem);
  line-height: 1.2;
  margin: 28px auto 18px;
  max-width: 780px;
}

.dp-contact-section.dp-section {
  min-height: auto;
}

.dp-contact-section .dp-overlay {
  padding: 5rem 0;
}

.dp-form-privacy-hint {
  font-size: 0.9rem;
  line-height: 1.6;
}

@media (max-width: 575.98px) {
  .dp-header .dp-container {
    padding-bottom: 3.5rem;
    padding-top: 6rem;
  }

  .dp-header picture {
    width: 84%;
  }

  .dp-header h1 {
    font-size: 1.9rem;
  }

  .dp-contact-section .dp-overlay {
    padding: 3.5rem 0;
  }
}
