.dd-header {
  position: sticky;
  inset-block-start: 0;
  z-index: var(--dd-z-header);
  background-color: rgba(255, 255, 255, 0.92);
  backdrop-filter: saturate(180%) blur(14px);
  -webkit-backdrop-filter: saturate(180%) blur(14px);
  border-block-end: var(--dd-edge-bold) solid var(--dd-ink-900);
  transition: box-shadow var(--dd-dur-base) var(--dd-ease);
}

.dd-header.is-scrolled { box-shadow: 0 4px 0 rgba(28, 15, 34, 0.14); }

@supports not (backdrop-filter: blur(1px)) {
  .dd-header { background-color: var(--dd-white); }
}

.dd-header__inner {
  display: flex;
  align-items: center;
  gap: var(--dd-space-5);
  min-block-size: var(--dd-header-h);
}

.dd-header__brand {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  margin-inline-end: auto;
}

.dd-header__brand {
  gap: var(--dd-space-3);
  transition: opacity var(--dd-dur-base) var(--dd-ease);
}
.dd-header__brand:hover { opacity: 0.82; }

.dd-header__mark {
  inline-size: 46px;
  block-size: 46px;
  flex-shrink: 0;
}

.dd-header__word {
  inline-size: min(178px, 48vw);
  block-size: auto;
}

.dd-header__nav { display: none; }

.dd-header__list {
  display: flex;
  align-items: center;
  gap: var(--dd-space-1);
  list-style: none;
  margin: 0;
  padding: 0;
}

.dd-header__link {
  position: relative;
  display: block;
  padding: var(--dd-space-2) var(--dd-space-3);
  color: var(--dd-ink-800);
  font-size: var(--dd-text-sm);
  font-weight: 600;
  letter-spacing: 0.01em;
  text-decoration: none;
  white-space: nowrap;
  transition: color var(--dd-dur-base) var(--dd-ease);
}

.dd-header__link::after {
  content: "";
  position: absolute;
  inset-block-end: 0;
  inset-inline: var(--dd-space-3);
  block-size: var(--dd-edge-bold);
  background-color: var(--dd-accent-strong);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform var(--dd-dur-base) var(--dd-ease-out);
}

.dd-header__link:hover { color: var(--dd-ink-900); }
.dd-header__link:hover::after { transform: scaleX(1); }

.dd-header__link.is-active { color: var(--dd-ink-900); }
.dd-header__link.is-active::after { transform: scaleX(1); }

.dd-header__actions {
  display: flex;
  align-items: center;
  gap: var(--dd-space-3);
  flex-shrink: 0;
}

.dd-header__phone {
  display: none;
  align-items: center;
  gap: var(--dd-space-2);
  color: var(--dd-ink-800);
  font-size: var(--dd-text-sm);
  font-weight: 600;
  text-decoration: none;
}
.dd-header__phone:hover { color: var(--dd-accent); }

.dd-header__cta { display: none; }

.dd-header__toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: 44px;
  block-size: 44px;
  padding: 0;
  border: 1.5px solid var(--dd-border);
  border-radius: var(--dd-radius-md);
  background-color: transparent;
  color: var(--dd-ink-800);
  cursor: pointer;
  transition: background-color var(--dd-dur-base) var(--dd-ease),
              border-color var(--dd-dur-base) var(--dd-ease);
}
.dd-header__toggle:hover { background-color: var(--dd-lilac-100); border-color: var(--dd-plum-500); }

.dd-header__bars,
.dd-header__bars::before,
.dd-header__bars::after {
  display: block;
  inline-size: 19px;
  block-size: 2px;
  border-radius: 1px;
  background-color: currentColor;
  transition: transform var(--dd-dur-base) var(--dd-ease),
              opacity var(--dd-dur-fast) var(--dd-ease);
}
.dd-header__bars { position: relative; }
.dd-header__bars::before,
.dd-header__bars::after { content: ""; position: absolute; inset-inline-start: 0; }
.dd-header__bars::before { inset-block-start: -6px; }
.dd-header__bars::after  { inset-block-start: 6px; }

[aria-expanded="true"] .dd-header__bars { background-color: transparent; }
[aria-expanded="true"] .dd-header__bars::before { transform: translateY(6px) rotate(45deg); }
[aria-expanded="true"] .dd-header__bars::after  { transform: translateY(-6px) rotate(-45deg); }

.dd-mobilemenu {
  border-block-start: 1px solid var(--dd-border);
  background-color: var(--dd-lilac-50);
  padding-block: var(--dd-space-5);
  animation: dd-slide-down var(--dd-dur-base) var(--dd-ease-out);
}
.dd-mobilemenu[hidden] { display: none; }

@keyframes dd-slide-down {
  from { opacity: 0; transform: translateY(-8px); }
  to   { opacity: 1; transform: translateY(0); }
}

.dd-mobilemenu__list {
  list-style: none;
  margin: 0 0 var(--dd-space-5);
  padding: 0;
}

.dd-mobilemenu__link {
  display: block;
  padding: var(--dd-space-3) 0;
  border-block-end: 1px solid var(--dd-border);
  color: var(--dd-ink-800);
  font-family: var(--dd-font-display);
  font-size: var(--dd-text-h4);
  text-decoration: none;
}
.dd-mobilemenu__link.is-active { color: var(--dd-accent); }

@media (min-width: 480px) {
  .dd-header__word { inline-size: 196px; }
}

@media (min-width: 992px) {
  .dd-header__nav { display: block; }
  .dd-header__cta { display: inline-flex; }
  .dd-header__toggle { display: none; }
  .dd-mobilemenu { display: none !important; }
  .dd-header__mark { inline-size: 44px; block-size: 44px; }
  .dd-header__word { inline-size: 168px; }
  .dd-header__inner { gap: var(--dd-space-4); }
}

@media (min-width: 1140px) {
  .dd-header__mark { inline-size: 52px; block-size: 52px; }
  .dd-header__word { inline-size: 208px; }
  .dd-header__inner { gap: var(--dd-space-5); }
}

@media (min-width: 1280px) {
  .dd-header__phone { display: inline-flex; }
}

.dd-footer {
  position: relative;
  margin-block-start: auto;
  padding-block-start: var(--dd-diagonal-drop);
  clip-path: polygon(0 var(--dd-diagonal-drop), 100% 0, 100% 100%, 0 100%);
  background-color: var(--dd-plum-900);
  color: var(--dd-lilac-200);
  font-size: var(--dd-text-sm);
}

.dd-footer::before {
  content: "";
  position: absolute;
  inset-block-start: 0;
  inset-inline: 0;
  block-size: 180px;
  background-image: radial-gradient(
    rgba(236, 80, 42, 0.30) 3px,
    transparent 3.5px
  );
  background-size: 18px 18px;
  mask-image: linear-gradient(to bottom, rgb(0 0 0 / 1), rgb(0 0 0 / 0));
  pointer-events: none;
}

.dd-footer > * { position: relative; }

.dd-footer__main {
  display: grid;
  gap: var(--dd-space-7);
  padding-block: var(--dd-space-8) var(--dd-space-7);
  grid-template-columns: 1fr;
}

@media (min-width: 640px) {
  .dd-footer__main { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 992px) {
  .dd-footer__main { grid-template-columns: 1.6fr 1fr 1fr 1fr; }
}

.dd-footer__mark {
  inline-size: 66px;
  block-size: 66px;
}

.dd-footer__word {
  display: block;
  inline-size: min(232px, 62vw);
  block-size: auto;
  margin-block-start: var(--dd-space-4);
}

.dd-footer__claim {
  max-inline-size: 34ch;
  margin-block-start: var(--dd-space-4);
  color: var(--dd-lilac-200);
  line-height: 1.65;
}

.dd-footer__socials {
  display: flex;
  gap: var(--dd-space-2);
  list-style: none;
  margin: var(--dd-space-5) 0 0;
  padding: 0;
}
.dd-footer__socials a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: 42px;
  block-size: 42px;
  border: 1px solid rgba(251, 247, 240, 0.22);
  border-radius: var(--dd-radius-pill);
  color: var(--dd-lilac-50);
  font-size: 1.05rem;
  text-decoration: none;
  transition: background-color var(--dd-dur-base) var(--dd-ease),
              border-color var(--dd-dur-base) var(--dd-ease);
}
.dd-footer__socials a:hover {
  background-color: var(--dd-solid);
  border-color: var(--dd-solid);
}

.dd-footer__heading {
  margin-block-end: var(--dd-space-4);
  color: var(--dd-lilac-50);
  font-family: var(--dd-font-body);
  font-size: var(--dd-text-xs);
  font-weight: 700;
  letter-spacing: var(--dd-tracking-caps);
  text-transform: uppercase;
}

.dd-footer__list { list-style: none; margin: 0; padding: 0; }
.dd-footer__list li + li { margin-block-start: var(--dd-space-3); }

.dd-footer__list a,
.dd-footer__address a {
  color: var(--dd-lilac-200);
  text-decoration: none;
  transition: color var(--dd-dur-base) var(--dd-ease);
}
.dd-footer__list a:hover,
.dd-footer__address a:hover { color: var(--dd-lilac-50); }

.dd-footer__address { font-style: normal; line-height: 1.9; margin: 0; }

.dd-footer__legal {
  display: flex;
  flex-wrap: wrap;
  gap: var(--dd-space-2) var(--dd-space-5);
  justify-content: space-between;
  padding-block: var(--dd-space-5);
  border-block-start: 1px solid rgba(251, 247, 240, 0.14);
  color: var(--dd-sand-300);
  font-size: var(--dd-text-xs);
}
.dd-footer__legal p { margin: 0; }

.dd-grant { background-color: var(--dd-lilac-50); color: var(--dd-ink-800); }

.dd-grant__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--dd-space-5) var(--dd-space-7);
  padding-block: var(--dd-space-6);
  text-align: center;
}

.dd-grant__logos {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--dd-space-6);
}

.dd-grant__logo { inline-size: auto; }
.dd-grant__logo--dsp { block-size: 62px; }
.dd-grant__logo--neumann { block-size: 40px; }

.dd-grant__text {
  max-inline-size: 46ch;
  margin: 0;
  color: var(--dd-ink-800);
  font-size: var(--dd-text-sm);
  line-height: 1.6;
}

@media (min-width: 768px) {
  .dd-grant__inner { justify-content: space-between; text-align: start; }
  .dd-grant__text { text-align: end; }
}

.dd-consent-banner {
  position: fixed;
  inset-inline: 0;
  inset-block-end: 0;
  z-index: var(--dd-z-header);
  padding-block: var(--dd-space-4);
  background-color: var(--dd-white);
  border-block-start: 1px solid var(--dd-border);
  box-shadow: var(--dd-shadow-lg);
}

.dd-consent-banner__inner {
  display: grid;
  gap: var(--dd-space-4);
}

@media (min-width: 860px) {
  .dd-consent-banner__inner {
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: var(--dd-space-6);
  }
}

.dd-consent-banner__title {
  margin: 0 0 var(--dd-space-2);
  font-size: var(--dd-text-h4);
}

.dd-consent-banner__text {
  margin: 0;
  font-size: var(--dd-text-sm);
  line-height: var(--dd-leading-body);
  color: var(--dd-text-muted);
}

.dd-consent-banner__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--dd-space-3);
}

.dd-consent-banner__actions .dd-btn { flex: 1 1 auto; justify-content: center; }

.dd-footer__link-button {
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
  color: inherit;
  text-align: start;
  cursor: pointer;
}

.dd-footer__link-button:hover { text-decoration: underline; }
