/* DACH MPU 5.0.7 — contrast and navigation repair.
   Small override layer after 5.0.6; scope all rules to DACH components.
   Important is reserved for resetting globally styled submenu buttons. */
:root {
  --dmp507-navy:#122e42;
  --dmp507-petrol:#125763;
  --dmp507-text:#183649;
  --dmp507-muted:#526978;
  --dmp507-dark:#103545;
  --dmp507-light:#f2f8f8;
  --dmp507-gold:#e1c590;
}
/* 1) Navigation — remove large blue blocks added by global button styling. */
body .dmp-header .dmp-nav-list > li { display:flex; align-items:center; gap:3px; }
body .dmp-header .dmp-nav-list > li > a { color:#16364a; font-weight:700; letter-spacing:0; }
body .dmp-header .dmp-nav-list > li:hover > a,
body .dmp-header .dmp-nav-list > li:focus-within > a { color:#0d6470; }
body .dmp-header .dmp-nav-list > li > button.dmp-submenu-toggle,
body .dmp-header .dmp-nav-list > li > button.dmp-submenu-toggle:hover,
body .dmp-header .dmp-nav-list > li > button.dmp-submenu-toggle:active {
  appearance:none !important;-webkit-appearance:none !important;
  display:inline-flex !important; align-items:center;justify-content:center;
  flex:0 0 19px; width:19px !important; min-width:19px !important;
  height:38px !important; min-height:0 !important;
  margin:0 !important;padding:0 !important;
  border:0 !important; border-radius:0 !important;
  background:transparent !important; background-image:none !important;
  color:#547181 !important; box-shadow:none !important;
  text-shadow:none !important; transform:none !important;
  outline-offset:3px; line-height:1 !important;
}
body .dmp-header .dmp-nav-list > li > button.dmp-submenu-toggle:focus-visible {
  outline:2px solid #176878 !important;outline-offset:3px;
  border-radius:3px !important;
}
body .dmp-header button.dmp-submenu-toggle > span {
  font-size:0!important;display:block!important;
  width:7px;height:7px;transform:translateY(-2px) rotate(45deg)!important;
  border-right:1.7px solid currentColor; border-bottom:1.7px solid currentColor;
  transition:transform .17s ease;
}
body .dmp-header button.dmp-submenu-toggle[aria-expanded="true"] > span {
  transform:translateY(2px) rotate(225deg)!important;
}
body .dmp-header .dmp-nav-list > li > button.dmp-submenu-toggle:hover > span { color:#116775; }
body .dmp-header .dmp-nav-list .sub-menu {
  border:1px solid #dce7e8; background:#fff; color:#1a3b4e;
  box-shadow:0 18px 40px rgba(12,38,53,.13);
}
body .dmp-header .dmp-nav-list .sub-menu a {
  color:#24485a; font-weight:600; white-space:normal;
}
body .dmp-header .dmp-nav-list .sub-menu a:hover,
body .dmp-header .dmp-nav-list .sub-menu a:focus-visible {background:#edf6f5;color:#0e5966;}
body .dmp-header .dmp-search-toggle {background:#f7fbfb;color:#173f52;border-color:#dce7e9;box-shadow:none;}
body .dmp-header .dmp-search-toggle:hover {background:#e9f3f3;}
body .dmp-header .dmp-header-cta {background:#102d45;color:#fff!important;border-color:#102d45;}
body .dmp-header .dmp-header-cta:hover {background:#145764;border-color:#145764;}
/* 2) Dark contact section — explicit color on headings, paragraphs and labels. */
body .dmp-home section.dmp-contact-section {
  background:linear-gradient(125deg,#103344 0%,#104b52 100%);
  color:#f5f9fa;
}
body .dmp-home .dmp-contact-layout > div:first-child > h2,
body .dmp-home .dmp-contact-section .dmp-contact-layout h2 {
  color:#fff!important; font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(33px,3.5vw,49px);font-weight:760;
  letter-spacing:-.04em;line-height:1.16;
  text-shadow:none;
}
body .dmp-home .dmp-contact-layout > div:first-child > p:not(.dmp-eyebrow),
body .dmp-home .dmp-contact-section .dmp-contact-layout > div:first-child > p:not(.dmp-eyebrow) {
  color:#e0eaed!important; font-size:clamp(15px,1.25vw,17px);
  line-height:1.8;max-width:475px;
}
body .dmp-home .dmp-contact-section .dmp-eyebrow {
  color:var(--dmp507-gold)!important;font-weight:800;letter-spacing:.15em;
}
/* 3) Contact form stays light, with clear fields and legible labels. */
body .dmp-home .dmp-contact-box {
  background:#f8fafb; border:1px solid rgba(255,255,255,.45);
  border-radius:16px; padding:clamp(23px,2.45vw,36px);
  box-shadow:0 22px 52px rgba(5,24,37,.18);color:#19364a;
}
body .dmp-home .dmp-contact-box h2,
body .dmp-home .dmp-contact-box h3,
body .dmp-home .dmp-contact-box strong {color:#132d43!important;}
body .dmp-home .dmp-contact-box p,
body .dmp-home .dmp-contact-box small {color:#536c7b;}
body .dmp-home .dmp-contact-box .dmpu-contact {color:#18384e;max-width:100%;}
body .dmp-home .dmp-contact-box .dmpu-contact h3 {
  font-family:Arial,Helvetica,sans-serif;font-weight:750;
  font-size:clamp(22px,2.15vw,29px);letter-spacing:-.035em;line-height:1.27;
  color:#122f43;margin-bottom:7px;
}
body .dmp-home .dmp-contact-box .dmpu-contact > p {color:#526a7b;line-height:1.7;}
/* Flex labels previously rendered the required asterisks on a separate line. */
body .dmp-home .dmp-contact-box .dmpu-fields label {
  display:block; font-size:13px;font-weight:750;color:#19384c;
  line-height:1.45; margin:0;
}
body .dmp-home .dmp-contact-box .dmpu-fields label > span {
  display:inline !important;color:#b07a35;vertical-align:baseline;
}
body .dmp-home .dmp-contact-box .dmpu-fields input,
body .dmp-home .dmp-contact-box .dmpu-fields select,
body .dmp-home .dmp-contact-box .dmpu-fields textarea {
  display:block;width:100%;margin-top:7px;min-height:48px;
  background:#fff;color:#15364a;border:1px solid #cbd9de;
  border-radius:9px;padding:10px 12px;box-shadow:none;
}
body .dmp-home .dmp-contact-box .dmpu-fields input:focus,
body .dmp-home .dmp-contact-box .dmpu-fields select:focus {
  border-color:#1b7482;outline:2px solid rgba(29,115,125,.16);outline-offset:1px;
}
body .dmp-home .dmp-contact-box .dmpu-consent {
  display:flex; gap:11px;align-items:flex-start;color:#2f5063;font-size:12px;line-height:1.7;
}
body .dmp-home .dmp-contact-box .dmpu-consent input {flex:0 0 auto;min-width:16px;min-height:16px;}
body .dmp-home .dmp-contact-box .dmpu-contact button[type="submit"] {
  background:#102e48;color:white;border-radius:9px;min-height:50px;
  font-size:13px;font-weight:750;box-shadow:none;
}
body .dmp-home .dmp-contact-box .dmpu-contact button[type="submit"]:hover {background:#145764;}
/* 4) Coherent type system for main page, buttons, cards and dark footer. */
body .dmp-home h1,body .dmp-home h2,body .dmp-home h3,
body .dmp-footer h2 {font-family:Arial,Helvetica,sans-serif;}
body .dmp-home .dmp-section-heading > h2,
body .dmp-home .dmp-trust h2,
body .dmp-home .dmp-steps h3 {color:#13344b;}
body .dmp-home .dmp-btn {font-weight:750;letter-spacing:0;}
body .dmp-home .dmp-reason-card small {color:#526b7b;}
body .dmp-footer {color:#e9f2f4;background:#102d3e;}
body .dmp-footer .dmp-footer-column h2 {color:#fff;}
body .dmp-footer .dmp-footer-brand p,
body .dmp-footer .dmp-footer-contact p {color:#d2e0e5;}
body .dmp-footer .dmp-footer-list a,
body .dmp-footer .dmp-footer-detail {color:#d5e4e8;}
body .dmp-footer .dmp-footer-list a:hover {color:#fff;}
body .dmp-footer .dmp-footer-cta {color:#173b4c;background:#e5cfa7;}
body .dmp-footer .dmp-footer-cta:hover {background:#f2ddba;}
@media(max-width:1080px) {
  body .dmp-header .dmp-nav-list > li {gap:0;align-items:center;}
  body .dmp-header .dmp-nav-list > li > a {flex:1;min-width:0;padding:14px 10px;}
  body .dmp-header .dmp-nav-list > li > button.dmp-submenu-toggle,
  body .dmp-header .dmp-nav-list > li > button.dmp-submenu-toggle:hover {
    flex:0 0 44px;width:44px!important;min-width:44px!important;
    height:45px!important;background:#f3f8f8!important;
    border-radius:8px!important; color:#24485a!important;
  }
  body .dmp-header .dmp-nav-list .sub-menu {border:0;box-shadow:none;background:#f4f8f8;}
  body .dmp-header .dmp-nav-list .sub-menu.is-open {display:block!important;}
}
@media(max-width:760px){
  body .dmp-home .dmp-contact-section {padding:48px 0;}
  body .dmp-home .dmp-contact-layout {display:grid;grid-template-columns:1fr;gap:28px;}
  body .dmp-home .dmp-contact-layout > div:first-child > h2 {font-size:clamp(31px,8vw,43px);}
  body .dmp-home .dmp-contact-box {padding:23px 18px;}
}
@media(prefers-reduced-motion:reduce){
  body .dmp-header button.dmp-submenu-toggle > span {transition:none;}
}
