/* Donaupark Mautern – EPT-Vorbereitung. Keine globalen body/html-Regeln. */
/* 01-wachau */

.dp-ept-section.dp-section, .dp-ept-section.dp-section * { box-sizing: border-box; }

.dp-ept-section.dp-section {
  --dp-cream: #f9f5ee;
  --dp-green: #b5d8d1;
  --dp-red: #97413c;
  --dp-image: #a8c8d2;
  max-width:none;
  margin-inline: auto;
  container-type: inline-size; container-name: dp-wachau;
  background: var(--dp-cream);
  color: #171b18;
  font-family: "Cera Pro", Arial, sans-serif;
}

.dp-ept-section.dp-section .dp-composition { position: relative; isolation: isolate; padding-top: 25%; }

.dp-ept-section.dp-section .dp-picture {
  position: absolute; z-index: -1; inset: 0 0 auto;
  height: 49cqw;
  background: var(--dp-image);
  clip-path: polygon(0 0, 100% 7%, 100% 91%, 57% 100%, 0 75%);
}

.dp-ept-section.dp-section .dp-location {
  position: relative; display: flow-root;
  width: 57%; min-height: 35cqw;
  padding-block: 2.2cqw 2cqw;
  font-size: 1.48cqw; line-height: 1.38;
}

.dp-ept-section.dp-section .dp-location::before {
  content: ""; position: absolute; z-index: -1; inset: 0;
  background: var(--dp-green);
  clip-path: polygon(0 0, 50% 0, 100% 68%, 87% 100%, 0 100%);
}

.dp-ept-section.dp-section .dp-flow {
  float: right; width: 50%; height: 35cqw;
  margin-top: -2.2cqw; margin-bottom: -2cqw;
  shape-outside: polygon(0 0, 100% 0, 100% 100%, 74% 100%, 100% 68%);
  shape-margin: 1.7cqw;
}

.dp-ept-section.dp-section h2 {
  color: var(--dp-red); font-weight: 500;
  font-size: 2.35cqw; line-height: 1.16;
}

.dp-ept-section.dp-section .dp-location h2 { margin: 0 0 1.8cqw 4cqw; }

.dp-ept-section.dp-section .dp-location p { margin: 0 2.2cqw 1.8cqw 4cqw; }

.dp-ept-section.dp-section .dp-location p:last-child { margin-bottom: 0; }

.dp-ept-section.dp-section strong { font-weight: 700; }

.dp-ept-section.dp-section .dp-quality {
  position: absolute; left: 59.5%; right: 4%; bottom: 2.8cqw;
}

.dp-ept-section.dp-section .dp-quality h2 { margin: 0; }

@container dp-wachau (max-width:990px) {
.dp-ept-section.dp-section .dp-composition { padding-top: 0; }

.dp-ept-section.dp-section .dp-picture {
    position: relative; z-index: auto; height: 44cqw;
    clip-path: polygon(0 0, 100% 8%, 100% 90%, 0 100%);
  }

.dp-ept-section.dp-section .dp-location {
    width: 100%; min-height: 0;
    padding: 42px 28px 54px;
    font-size: 17px; line-height: 1.5;
  }

.dp-ept-section.dp-section .dp-location::before {
    clip-path: polygon(0 0, 93% 0, 100% 24px, 100% calc(100% - 24px), 93% 100%, 0 100%);
  }

.dp-ept-section.dp-section .dp-flow { display: none; }

.dp-ept-section.dp-section h2 { font-size: clamp(25px, 5cqw, 36px); line-height: 1.18; }

.dp-ept-section.dp-section .dp-location h2 { margin: 0 0 24px; }

.dp-ept-section.dp-section .dp-location p { margin: 0 0 22px; }

.dp-ept-section.dp-section .dp-location p:last-child { margin-bottom: 0; }

.dp-ept-section.dp-section .dp-quality { position: static; padding: 32px 24px 40px; padding-bottom: 0px;}


}

@media print {
.dp-ept-section.dp-section { print-color-adjust: exact; -webkit-print-color-adjust: exact; }


}

/* 02-nachhaltigkeit */

.dp-ept-section.dp-sustainability, .dp-ept-section.dp-sustainability * { box-sizing: border-box; }

.dp-ept-section.dp-sustainability {
  --dp-cream: #f9f5ee;
  --dp-text: #62896e;
  --dp-placeholder: #c3ccc4;
  max-width:none;
  margin-inline: auto;
  container-type: inline-size; container-name: dp-nachhaltigkeit;
  font-family: "Cera Pro", Arial, sans-serif;
  color: var(--dp-text);
  background: var(--dp-cream);
}

.dp-ept-section.dp-sustainability .dp-sustainability-layout {
  position: relative;
  min-height: 28cqw;
}

.dp-ept-section.dp-sustainability .dp-sustainability-copy {
  position: relative;
  width: 50%;
  padding: 5.7cqw 3.3cqw 5.7cqw 4.2cqw;
  font-size: clamp(15px, 1.48cqw, 24px);
  line-height: 1.38;
  overflow-wrap: break-word;
}

.dp-ept-section.dp-sustainability .dp-sustainability-copy p { margin: 0 0 1.5em; }

.dp-ept-section.dp-sustainability .dp-sustainability-copy p:last-child { margin-bottom: 0; }

.dp-ept-section.dp-sustainability .dp-sustainability-copy strong { font-weight: 700; }

.dp-ept-section.dp-sustainability .dp-sustainability-picture {
  position: absolute;
  inset: 0 0 0 50%;
  background-color: var(--dp-placeholder);
  background-size: cover;
  background-position: center;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 20% 100%);
}

@container dp-nachhaltigkeit (max-width:990px) {
.dp-ept-section.dp-sustainability .dp-sustainability-layout { min-height: 0; }

.dp-ept-section.dp-sustainability .dp-sustainability-copy {
    width: 100%; padding: 32px 24px;
    font-size: 17px; line-height: 1.5;
  }

.dp-ept-section.dp-sustainability .dp-sustainability-picture {
    position: relative; inset: auto;
    width: 100%; height: 60cqw;
    clip-path: polygon(0 0, 100% 8%, 100% 100%, 0 100%);
  }


}

/* 03-wohngebaeude */

.dp-ept-section.dp-buildings, .dp-ept-section.dp-buildings * { box-sizing: border-box; }

.dp-ept-section.dp-buildings {
  --dp-cream: #f9f5ee;
  --dp-text: #62896e;
  --dp-placeholder: #c3ccc4;
  max-width:none;
  margin-inline: auto;
  container-type: inline-size; container-name: dp-wohngebaeude;
  background: var(--dp-cream);
  color: var(--dp-text);
  font-family: "Cera Pro", Arial, sans-serif;
}

.dp-ept-section.dp-buildings .dp-buildings-layout { position: relative; min-height: 28cqw; }

.dp-ept-section.dp-buildings .dp-buildings-picture {
  position: absolute; inset: 0 40% 0 0;
  background-color: var(--dp-placeholder);
  background-size: cover;
  background-position: center;
  clip-path: polygon(0 0, 100% 0, 83.3333% 100%, 0 100%);
}

.dp-ept-section.dp-buildings .dp-buildings-copy {
  position: relative;
  width: 50%; margin-left: 50%;
  display: flow-root;
  padding: 5.2cqw 4cqw 4.8cqw 0;
  font-size: clamp(15px, 1.48cqw, 24px);
  line-height: 1.38;
  text-align: center;
  overflow-wrap: break-word;
}

.dp-ept-section.dp-buildings .dp-buildings-flow {
  float: left;
  width: 10cqw; height: 28cqw;
  margin-top: -5.2cqw; margin-bottom: -4.8cqw;
  shape-outside: polygon(0 0, 100% 0, 0 100%);
  shape-margin: 1.5cqw;
}

.dp-ept-section.dp-buildings .dp-buildings-copy p { margin: 0 0 1.5em; }

.dp-ept-section.dp-buildings .dp-buildings-copy p:last-child { margin-bottom: 0; }

.dp-ept-section.dp-buildings .dp-buildings-copy strong { font-weight: 700; }

@container dp-wohngebaeude (max-width:990px) {
.dp-ept-section.dp-buildings .dp-buildings-layout { min-height: 0; }

.dp-ept-section.dp-buildings .dp-buildings-picture {
    position: relative; inset: auto;
    width: 100%; height: 60cqw;
    clip-path: polygon(0 0, 100% 0, 100% 90%, 0 100%);
  }

.dp-ept-section.dp-buildings .dp-buildings-copy {
    width: 100%; margin-left: 0; padding: 32px 24px;
    font-size: 17px; line-height: 1.5; text-align: left;
  }

.dp-ept-section.dp-buildings .dp-buildings-flow { display: none; }


}

/* 04-lage */

.dp-ept-section.dp-map, .dp-ept-section.dp-map * { box-sizing: border-box; }

.dp-ept-section.dp-map {
  --dp-cream: #f9f5ee;
  --dp-green: #52715B;
  --dp-gold: #ae891d;
  --dp-local: #f2e8d2;
  --dp-region: #ded5bb;
  max-width:none; margin-inline: auto;
  container-type: inline-size; container-name: dp-lage;
  font-family: "Cera Pro", Arial, sans-serif;
}

.dp-ept-section.dp-map .dp-map-layout { position: relative; min-height: 84cqw; background: var(--dp-local); }

.dp-ept-section.dp-map .dp-map-local { position: absolute; inset: 0; background: var(--dp-local); background-size: cover; background-position: center; }

.dp-ept-section.dp-map .dp-map-region-border {
  position: absolute; top: 0; left: 0; width: 58%; height: 42.5cqw;
  background: #fff;
  clip-path: polygon(0 0, 87% 0, 100% 37%, 43% 100%, 0 55%);
}

.dp-ept-section.dp-map .dp-map-region {
  position: absolute; top: 0; left: 0; width: 57%; height: 41.4cqw;
  background: var(--dp-region);
  background-size: cover; background-position: center;
  clip-path: polygon(0 0, 88% 0, 100% 37%, 43% 100%, 0 55%);
  
}

.dp-ept-section.dp-map .dp-map-copy {
  z-index: 2; position: relative; width: 50%; margin-left: 50%;
  padding: 1.5cqw 3cqw 2cqw 4.8cqw;
  color: var(--dp-green); text-align: center;
  font-size: 1.48cqw; line-height: 1.36;
  isolation: isolate;
}

.dp-ept-section.dp-map .dp-map-copy::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: #fff;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 13% 100%);
}

.dp-ept-section.dp-map .dp-map-copy p { margin: 0; }

.dp-ept-section.dp-map strong { font-weight: 700; }

.dp-ept-section.dp-map .dp-map-distances {
  z-index: 2; position: absolute; bottom: 0; right: 0;
  width: 50%; padding: 2cqw 4cqw 1.5cqw 5cqw;
  color: var(--dp-gold); font-size: 1.1cqw; line-height: 1.45;
  isolation: isolate;
}

.dp-ept-section.dp-map .dp-map-distances::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: var(--dp-cream);
  clip-path: polygon(7% 0, 100% 0, 100% 100%, 0 100%);
}

.dp-ept-section.dp-map .dp-map-distances table { border-collapse: collapse; width: min(100%, 23cqw); font: inherit; }

.dp-ept-section.dp-map .dp-map-distances caption { text-align: left; padding-bottom: .7em; }

.dp-ept-section.dp-map .dp-map-distances th { text-align: left; font-weight: 400; padding: 0 1em 0 0; }

.dp-ept-section.dp-map .dp-map-distances td { padding: 0; text-align: right; font-variant-numeric: tabular-nums; }

@container dp-lage (max-width:990px) {
.dp-ept-section.dp-map .dp-map-layout { display: flex; flex-direction: column; min-height: 0; }

.dp-ept-section.dp-map .dp-map-copy { order: 0; width: 100%; margin: 0; padding: 30px 24px; font-size: 17px; line-height: 1.5; text-align: left; }

.dp-ept-section.dp-map .dp-map-copy::before { clip-path: none; }

.dp-ept-section.dp-map .dp-map-region-border { display: none; }

.dp-ept-section.dp-map .dp-map-region { order: 1; position: relative; inset: auto; width: 100%; height: 65cqw; clip-path: polygon(0 0, 100% 0, 100% 75%, 45% 100%, 0 75%); }

.dp-ept-section.dp-map .dp-map-local { order: 2; position: relative; inset: auto; width: 100%; height: 85cqw; }

.dp-ept-section.dp-map .dp-map-distances { order: 3; position: relative; inset: auto; width: 100%; padding: 36px 24px 28px; font-size: 15px; }

.dp-ept-section.dp-map .dp-map-distances::before { clip-path: polygon(0 12px, 100% 0, 100% 100%, 0 100%); }

.dp-ept-section.dp-map .dp-map-distances table { width: 100%; }


}

/* 05-auf-einen-blick */

.dp-ept-section.dp-facts, .dp-ept-section.dp-facts * { box-sizing: border-box; }

.dp-ept-section.dp-facts {
  --dp-cream: #f9f5ee;
  --dp-green: #b5d8d1;
  --dp-red: #97413c;
  max-width:none; margin-inline: auto;
  container-type: inline-size; container-name: dp-auf-einen-blick;
  background: var(--dp-cream);
  color: #181c18;
  font-family: "Cera Pro", Arial, sans-serif;
}

.dp-ept-section.dp-facts .dp-facts-layout { position: relative; height: 71cqw; }

.dp-ept-section.dp-facts .dp-facts-title {
  position: absolute; top: 5.9cqw; left: 5%; width: 30%;
  margin: 0; text-align: center;
  font-size: 2.35cqw; line-height: 1.18;
  font-weight: 500; color: var(--dp-red);
}

.dp-ept-section.dp-facts .dp-fact {
  position: absolute; width: 34%; height: 26.5cqw;
  isolation: isolate; text-align: center;
  font-size: 1.5cqw; line-height: 1.3;
}

.dp-ept-section.dp-facts .dp-fact::before {
  content: ""; position: absolute; z-index: -1; inset: 0;
  background: var(--dp-green);
  clip-path: polygon(12.5% 0, 87.5% 0, 100% 48%, 50% 100%, 0 48%);
}

.dp-ept-section.dp-facts .dp-fact--up::before {
  clip-path: polygon(50% 0, 100% 52%, 87.5% 100%, 12.5% 100%, 0 52%);
}

.dp-ept-section.dp-facts .dp-fact p { margin: 0; }

.dp-ept-section.dp-facts .dp-fact strong { font-weight: 700; }

.dp-ept-section.dp-facts img {
  max-width: 20%;
  height: auto;
}

.dp-ept-section.dp-facts .dp-fact-separator {
  display: block; width: 1.25cqw; height: 1.05cqw;
  margin: .4cqw auto;
  background: #fff;
  clip-path: polygon(50% 0, 100% 40%, 80% 100%, 20% 100%, 0 40%);
}

.dp-ept-section.dp-facts .dp-fact-homes { left: 2.5%; top: 15.1cqw; padding: 1.5cqw 2cqw 0; }

.dp-ept-section.dp-facts .dp-fact-technology { left: 33.2%; top: 1cqw; padding: 6.4cqw 2cqw 0; }

.dp-ept-section.dp-facts .dp-fact-equipment { left: 63.8%; top: 15.1cqw; padding: 3.2cqw 2cqw 0; }

.dp-ept-section.dp-facts .dp-fact-timing { left: 15.2%; top: 42.3cqw; padding: 5.5cqw 3cqw 0; }

.dp-ept-section.dp-facts .dp-fact-timing .dp-fact-separator { margin-block: 1.5cqw; }

.dp-ept-section.dp-facts .dp-fact-team { left: 46%; top: 28.7cqw; padding: 3.9cqw 1.9cqw 0; }

.dp-ept-section.dp-facts .dp-fact-architect {
  display: block; margin: 0 auto 2cqw;
  width: 6.5cqw; font-size: .82cqw; line-height: 1.55;
  letter-spacing: .22em; font-weight: 400; color: #5e7268;
}

.dp-ept-section.dp-facts .dp-fact-architect span { display: block; border-bottom: 1px solid #9eb1a6; }

.dp-ept-section.dp-facts .dp-fact-architect span:last-child { border-bottom: 0; }

.dp-ept-section.dp-facts .dp-fact-certificate {
  position: absolute; left: 21.4%; top: 28.2cqw;
  width: 41.4%; height: 13.3cqw; isolation: isolate;
  padding: 1.3cqw 0 0 16cqw;
  font-size: 1.5cqw; line-height: 1.3;
}

.dp-ept-section.dp-facts .dp-fact-certificate::before {
  content: ""; position: absolute; z-index: -1; inset: 0; background: #fff;
  clip-path: polygon(39% 0, 100% 0, 59% 100%, 0 100%);
}

.dp-ept-section.dp-facts .dp-fact-certificate p { margin: 0; }

.dp-ept-section.dp-facts .dp-fact-badge {
  display: inline-flex; align-items: flex-end; justify-content: center;
  margin-top: .9cqw; padding: .5cqw;
  width: 5.3cqw; height: 5.3cqw;
  border-radius: 1cqw 0 1cqw 0;
  background: #d8b530; color: #fff; font-weight: 700;
}

@container dp-auf-einen-blick (max-width:990px) {
.dp-ept-section.dp-facts .dp-facts-layout {
    height: auto; display: flex; flex-direction: column;
    align-items: center; gap: 16px; padding: 32px 16px;
  }

.dp-ept-section.dp-facts .dp-facts-title {
    position: static; width: 100%; margin: 0 0 12px;
    font-size: 27px; line-height: 1.2;
  }

.dp-ept-section.dp-facts .dp-fact {
    position: relative; inset: auto; width: min(100%, 390px);
    height: auto; min-height: 330px; font-size: 16px; line-height: 1.35;
    padding: 35px 28px 90px;
  }

.dp-ept-section.dp-facts .dp-fact::before {
    clip-path: polygon(7% 0, 93% 0, 100% calc(100% - 75px), 50% 100%, 0 calc(100% - 75px));
  }

.dp-ept-section.dp-facts .dp-fact--up { padding: 92px 28px 32px; }

.dp-ept-section.dp-facts .dp-fact--up::before {
    clip-path: polygon(50% 0, 100% 75px, 93% 100%, 7% 100%, 0 75px);
  }

.dp-ept-section.dp-facts .dp-fact-separator { width: 13px; height: 11px; margin: 8px auto; }

.dp-ept-section.dp-facts .dp-facts-title { order: 0; }

.dp-ept-section.dp-facts .dp-fact-homes { order: 1; }

.dp-ept-section.dp-facts .dp-fact-technology { order: 2; }

.dp-ept-section.dp-facts .dp-fact-equipment { order: 3; }

.dp-ept-section.dp-facts .dp-fact-team { order: 4; }

.dp-ept-section.dp-facts .dp-fact-timing { order: 5; padding-top: 50px; }

.dp-ept-section.dp-facts .dp-fact-certificate { order: 6; }

.dp-ept-section.dp-facts .dp-fact-timing .dp-fact-separator { margin-block: 18px; }

.dp-ept-section.dp-facts .dp-fact-architect { width: 72px; font-size: 10px; margin-bottom: 20px; }

.dp-ept-section.dp-facts .dp-fact-certificate {
    position: relative; inset: auto; width: min(100%, 390px);
    height: auto; padding: 28px 40px; font-size: 16px; text-align: center;
  }

.dp-ept-section.dp-facts .dp-fact-certificate::before { clip-path: polygon(9% 0, 100% 0, 91% 100%, 0 100%); }

.dp-ept-section.dp-facts .dp-fact-badge { margin-top: 12px; width: 58px; height: 58px; padding: 7px; border-radius: 10px 0 10px 0; }


}

/* 06-wohnung-2-zimmer */

.dp-ept-section.dp-apartment, .dp-ept-section.dp-apartment * { box-sizing: border-box; }

.dp-ept-section.dp-apartment {
  --dp-cream: #f9f5ee;
  --dp-green: #52715B;
  --dp-photo: #c3ccc4;
  --dp-plan: #e8e8e4;
  container-type: inline-size; container-name: dp-wohnung-2-zimmer;
  max-width:none; margin-inline: auto;
  font-family: "Cera Pro", Arial, sans-serif;
  background: var(--dp-cream);
}

.dp-ept-section.dp-apartment .dp-apartment-layout { position: relative; min-height: 42.5cqw; isolation: isolate; }

.dp-ept-section.dp-apartment .dp-apartment-layout::before {
  content: ""; position: absolute; z-index: -1; inset: 0;
  background: #fff;
  clip-path: polygon(0 0, 39% 0, 53.4% 100%, 0 100%);
}

.dp-ept-section.dp-apartment .dp-apartment-heading {
  position: absolute; top: 0; left: 48%; width: 16%;
  margin: 0; text-align: center; color: var(--dp-green);
  font-size: 2.4cqw; line-height: 1.2; font-weight: 400;
}

.dp-ept-section.dp-apartment .dp-apartment-plan {
  position: absolute; left: 4.7%; top: 3.9cqw;
  width: 33%; margin: 0;
}

.dp-ept-section.dp-apartment .dp-apartment-plan-placeholder { width: 100%; aspect-ratio: 1; background: var(--dp-plan); }

.dp-ept-section.dp-apartment .dp-apartment-plan img { display: block; width: 100%; height: auto; object-fit: contain; }

.dp-ept-section.dp-apartment .dp-apartment-plan figcaption { margin-top: 2cqw; font-size: 1.3cqw; line-height: 1.4; color: #292c29; }

.dp-ept-section.dp-apartment .dp-apartment-photo {
  position: absolute; inset: 0;
  background: var(--dp-photo);
  background-size: cover; background-position: right center;
  clip-path: polygon(77.5% 0, 100% 0, 100% 100%, 53.4% 100%, 47.4% 57.5%);
}

@container dp-wohnung-2-zimmer (max-width:990px) {
.dp-ept-section.dp-apartment .dp-apartment-layout {
    display: flex; flex-direction: column; min-height: 0;
  }

.dp-ept-section.dp-apartment .dp-apartment-layout::before { display: none; }

.dp-ept-section.dp-apartment .dp-apartment-heading {
    position: static; width: 100%; padding: 28px 24px;
    font-size: 27px; line-height: 1.2;
  }

.dp-ept-section.dp-apartment .dp-apartment-plan {
    position: static; width: 100%; padding: 28px 24px;
    background: #fff;
  }

.dp-ept-section.dp-apartment .dp-apartment-plan-placeholder { max-width: 480px; margin-inline: auto; }

.dp-ept-section.dp-apartment .dp-apartment-plan figcaption { margin-top: 16px; font-size: 14px; }

.dp-ept-section.dp-apartment .dp-apartment-photo {
    position: relative; inset: auto; width: 100%; height: 70cqw;
    clip-path: polygon(12% 0, 100% 0, 100% 100%, 0 100%, 0 15%);
  }


}

/* 07-wohnung-3-zimmer */

.dp-ept-section.dp-apartment-three, .dp-ept-section.dp-apartment-three * { box-sizing: border-box; }

.dp-ept-section.dp-apartment-three {
  --dp-cream: #f9f5ee;
  --dp-green: #52715B;
  --dp-photo: #c3ccc4;
  --dp-plan: #e8e8e4;
  container-type: inline-size; container-name: dp-wohnung-3-zimmer;
  max-width:none; margin-inline: auto;
  font-family: "Cera Pro", Arial, sans-serif;
  background: var(--dp-cream);
}

.dp-ept-section.dp-apartment-three .dp-apartment-three-layout { position: relative; min-height: 43cqw; isolation: isolate; }

.dp-ept-section.dp-apartment-three .dp-apartment-three-layout::before {
  content: ""; position: absolute; z-index: -1; inset: 0;
  background: #fff;
  clip-path: polygon(53.7% 0, 100% 0, 100% 100%, 77.5% 100%, 44.8% 60%);
}

.dp-ept-section.dp-apartment-three .dp-apartment-three-heading {
  position: absolute; left: 44.8%; bottom: .3cqw; width: 15%;
  margin: 0; text-align: center; color: var(--dp-green);
  font-size: 2.4cqw; line-height: 1.2; font-weight: 400;
}

.dp-ept-section.dp-apartment-three .dp-apartment-three-plan {
  position: absolute; left: 51.5%; top: 5.7cqw;
  width: 45%; margin: 0;
}

.dp-ept-section.dp-apartment-three .dp-apartment-three-plan-placeholder {
  width: 100%; aspect-ratio: 1.6; background: var(--dp-plan);
  clip-path: polygon(17% 0, 100% 0, 100% 100%, 52% 100%, 0 56%);
}

.dp-ept-section.dp-apartment-three .dp-apartment-three-plan img { display: block; width: 100%; height: auto; object-fit: contain; }

.dp-ept-section.dp-apartment-three .dp-apartment-three-plan figcaption {
  margin-top: 2cqw; padding-right: .7cqw; text-align: right;
  font-size: 1.3cqw; line-height: 1.4; color: #292c29;
}

.dp-ept-section.dp-apartment-three .dp-apartment-three-photo {
  position: absolute; inset: 0 46.3% 0 0;
  background: var(--dp-photo); background-size: cover; background-position: center;
  clip-path: polygon(0 0, 100% 0, 73.18% 100%, 0 100%);
}

@container dp-wohnung-3-zimmer (max-width:990px) {
.dp-ept-section.dp-apartment-three .dp-apartment-three-layout { display: flex; flex-direction: column; min-height: 0; }

.dp-ept-section.dp-apartment-three .dp-apartment-three-layout::before { display: none; }

.dp-ept-section.dp-apartment-three .dp-apartment-three-heading {
    position: static; width: 100%; padding: 28px 24px;
    font-size: 27px; line-height: 1.2;
  }

.dp-ept-section.dp-apartment-three .dp-apartment-three-plan { position: static; width: 100%; padding: 28px 24px; background: #fff; }

.dp-ept-section.dp-apartment-three .dp-apartment-three-plan-placeholder { max-width: 480px; margin-inline: auto; }

.dp-ept-section.dp-apartment-three .dp-apartment-three-plan figcaption { margin-top: 16px; padding-right: 0; font-size: 14px; }

.dp-ept-section.dp-apartment-three .dp-apartment-three-photo {
    position: relative; inset: auto; width: 100%; height: 70cqw;
    clip-path: polygon(0 0, 88% 0, 100% 15%, 100% 100%, 0 100%);
  }


}


/* Gemeinsame Breite für bündige Abschnitte. */
.dp-ept-section { width: 100%; max-width:none; margin-block: 0; scroll-margin-top: 100px; }
.dp-ept-section [class*="-photo"] img { display: block; width: 100%; height: 100%; object-fit: cover; }

/* Regions containing EPT Image. EPT spacing must be set to zero. */
.dp-ept-section .dp-media-cover { overflow: hidden; }
/* EPT Image: only the content chain fills the region.
   Never give every div a height: .bg-inner is a separate decorative layer. */
.dp-ept-section .dp-media-cover > .paragraph--type--ept-image {
  position: relative; width: 100%; height: 100%; min-height: 0;
  max-width: none; margin: 0; padding: 0; box-sizing: border-box;
}
.dp-ept-section .dp-media-cover > .paragraph--type--ept-image > .bg-inner {
  position: absolute; inset: 0; width: auto; height: auto;
  margin: 0; padding: 0; pointer-events: none; z-index: 0;
}
.dp-ept-section .dp-media-cover > .paragraph--type--ept-image > .ept-container {
  position: relative; z-index: 1; width: 100%; height: 100%;
  max-width: none; min-height: 0; margin: 0; padding: 0; box-sizing: border-box;
}
.dp-ept-section .dp-media-cover .ept-container :where(div, article, picture, a) {
  display: block; height: 100%; min-height: 0; width: 100%; max-width: none;
  margin: 0; padding: 0; box-sizing: border-box;
}
.dp-ept-section .dp-media-cover img {
  display: block; width: 100%; height: 100%; max-width: none; object-fit: cover;
}
.dp-ept-section .dp-media-contain img {
  display: block; width: 100%; height: auto; object-fit: contain;
}
.dp-ept-section .dp-media-contain { background: #fff; }
.dp-ept-section .dp-region-title :where(h2,p) { margin: 0; font: inherit; color: inherit; }
.dp-ept-section .dp-apartment-plan .dp-region-caption,
.dp-ept-section .dp-apartment-three-plan .dp-region-caption {
  margin-top: 1rem; font: 14px/1.4 "Cera Pro", Arial, sans-serif; color: #292c29;
}
.dp-ept-section .dp-fact-certificate img { max-width: 20%; margin-top: 10px;height: auto; }

.dp-ept-section.dp-section .dp-picture { z-index: 0; }
.dp-ept-section .dp-location, .dp-ept-section .dp-quality { z-index: 1; }

.dp-ept-section .dp-map-local {z-index:0;}
.dp-ept-section .dp-map-region-border {z-index:1;}
.dp-ept-section .dp-map-region {z-index:2;}
.dp-ept-section .dp-map-copy, .dp-ept-section .dp-map-distances {z-index:3;}

.dp-ept-section .dp-fact p + p::before {
 content: ""; display: block; width: 13px; height: 11px; margin: 8px auto;
 background: white; clip-path: polygon(50% 0, 100% 40%, 80% 100%, 20% 100%, 0 40%);
}

/* 1.0.4: inherit proportional region typography through actual EPT wrappers.
   Overrides the live theme's .node p {font-size:20px}. */
.dp-ept-section .paragraph--type--ept-text,
.dp-ept-section .paragraph--type--ept-text > .ept-container,
.dp-ept-section .paragraph--type--ept-text .field--name-field-ept-text,
.dp-ept-section .paragraph--type--ept-text .field--name-field-ept-text :is(p,ul,ol,li) {
  font-size: inherit; line-height: inherit; color: inherit;
}
.dp-ept-section.dp-section .dp-quality {
  font-size: 2.35cqw; line-height: 1.16; color: var(--dp-red); font-weight: 500;
}
.dp-ept-section.dp-section .dp-quality .field--name-field-ept-text :is(p,h2) {
  margin: 0; font-size: inherit; line-height: inherit; color: inherit;
}
@container dp-wachau (max-width:990px) {
  .dp-ept-section.dp-section .dp-location {
    font-size: clamp(16px, 2.2cqw, 19px);
  }
  .dp-ept-section.dp-section .dp-quality {
    font-size: clamp(25px, 5cqw, 36px); line-height: 1.18;
  }
}

/* 1.1.0: sections 00 and 08–12. Text and images remain EPT paragraphs. */
.dp-ept-section:is(.dp-hero,.dp-apartment-four,.dp-vip,.dp-registration,.dp-contact,.dp-footer),
.dp-ept-section:is(.dp-hero,.dp-apartment-four,.dp-vip,.dp-registration,.dp-contact,.dp-footer) * {box-sizing:border-box}
.dp-ept-section:is(.dp-hero,.dp-apartment-four,.dp-vip,.dp-registration,.dp-contact,.dp-footer) {
 --dp-cream:#f9f5ee;--dp-green:#52715B;--dp-red:#97413c;
 container-type:inline-size;container-name:dp-new;
 max-width:none;margin-inline:auto;background:var(--dp-cream);
 font-family:"Cera Pro",Arial,sans-serif;color:#171b18;
}
.dp-ept-section.dp-hero {container-name:dp-hero}
.dp-hero-layout {position:relative}
.dp-hero-image {position:relative;height:45cqw;background:#c3ccc4;overflow:hidden}
.dp-hero-claim {position:absolute;top:3cqw;left:8%;width:84%;text-align:center;color:#333;font-size:5.8cqw;line-height:1.15;font-family:"Cavolini";}
.dp-hero-claim :is(h1,p) {font:inherit;color:inherit;margin:0}
.dp-hero-band {position:relative;isolation:isolate;margin-top:-11cqw;padding:11cqw 6cqw 5cqw;display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:4cqw;min-height:24cqw}
.dp-hero-band::before {content:"";position:absolute;inset:0;z-index:-1;background:var(--dp-cream);clip-path:polygon(0 44%,56% 25%,69% 0,81% 24%,100% 18%,100% 100%,0 100%)}
.dp-hero-intro {text-align:center;color:#52715B;font-size:1.75cqw;line-height:1.3}
.dp-hero-brand {margin-top:-7cqw;text-align:center}
.dp-ept-section .dp-hero-logo {background:transparent;max-width:28cqw;margin:auto}
.dp-hero-logo img {max-height:16cqw;object-fit:contain}
.dp-hero-address {font-size:1.25cqw;color:#62896e;line-height:1.4;margin-top:1cqw}
.dp-ept-section.dp-apartment-four {container-name:dp-four}
.dp-apartment-four-layout {position:relative;isolation:isolate;min-height:44cqw}
.dp-apartment-four-layout::before {content:"";position:absolute;inset:0;z-index:-1;background:white;clip-path:polygon(0 0,55% 0,65% 66%,49% 100%,0 100%)}
.dp-apartment-four-plan {position:absolute;left:4%;top:3cqw;width:55%;background:transparent!important}
.dp-apartment-four-caption {position:absolute;left:4%;bottom:3cqw;font-size:1.3cqw;line-height:1.4}
.dp-apartment-four-heading {position:absolute;left:58%;bottom:0;width:20%;font-size:2.4cqw;line-height:1.2;color:var(--dp-green);text-align:left;z-index:2}
.dp-apartment-four-photo {position:absolute;inset:0;background:#c3ccc4;clip-path:polygon(55% 0,100% 0,100% 100%,79% 100%,65% 66%)}
.dp-vip-layout {padding:4cqw 12cqw 3.8cqw;text-align:center}
.dp-vip-heading {font-size:2.4cqw;line-height:1.2;color:var(--dp-red);font-weight:500;margin-bottom:2.5cqw}
.dp-vip-copy {font-size:1.5cqw;line-height:1.4}
.dp-registration-layout {position:relative;isolation:isolate;padding:3cqw 15cqw 7cqw 17cqw;font-size:1.5cqw;line-height:1.4}
.dp-registration-layout::before {content:"";position:absolute;inset:0;z-index:-1;background:#b0c8b7;clip-path:polygon(16% 0,100% 0,100% 100%,15.5% 100%,1.5% 80%)}
.dp-registration-top {display:grid;grid-template-columns:1fr 1fr;gap:2cqw;align-items:start;margin-bottom:3cqw}
.dp-registration-heading {color:#fff;font-size:2.4cqw;line-height:1.2;font-weight:500;border-bottom:1px solid white;padding-bottom:.4cqw}
.dp-registration-intro {font-size:1.45cqw;line-height:1.35}
.dp-registration-form {min-width:0}
.dp-registration-form :is(.ept-container,.webform-submission-form) {max-width:none;width:100%}
.dp-registration-form .dp-form-row {display:grid;gap:.6cqw;margin-bottom:1cqw}
.dp-registration-form .dp-form-row--identity {grid-template-columns:1fr 1.2fr 3.5fr}
.dp-registration-form .dp-form-row--contact {grid-template-columns:1.25fr 1fr}
.dp-registration-form :is(.form-item,.js-form-item) {min-width:0}
.dp-registration-form .dp-form-row > .form-item {margin:0}
.dp-registration-form :is(input[type=text],input[type=email],input[type=tel],select,textarea) {width:100%;max-width:100%;min-height:2.6em;border:1px solid transparent;border-radius:0;padding:.55em .65em;background:var(--dp-cream);color:#24382a;font:inherit}
.dp-registration-form :is(input,select,textarea,button):focus-visible {outline:3px solid #335c43;outline-offset:2px}
.dp-registration-form :is(label,legend,.fieldset-legend,.form-item,.form-item label) {font-size:inherit;line-height:inherit}
.dp-registration-form fieldset {border:0;margin:1.5em 0;padding:0;min-width:0}
.dp-registration-form .form-checkboxes {display:flex;flex-wrap:wrap;gap:.5em 1.5em}
.dp-registration-form :is(input[type=checkbox],input[type=radio]) {width:1.15em;height:1.15em;accent-color:#426d4e;vertical-align:middle}
.dp-registration-form :is(input[type=submit],button[type=submit]) {background:#29917d;color:white;border:0;border-radius:0;font:inherit;font-size:1.4em;padding:.35em 2.5em;cursor:pointer;max-width:100%}
.dp-registration-form .form-actions {text-align:right}
.dp-registration-form :is(.messages,.form-item--error-message) {position:relative;overflow-wrap:anywhere}
.dp-registration-links {margin-top:1.5em;font-size:1.15cqw}
.dp-registration-links a {color:inherit;text-decoration:underline}
.dp-contact-layout {position:relative;isolation:isolate;min-height:35cqw}
.dp-contact-layout::before {content:"";position:absolute;inset:0;z-index:-1;background:#fff;clip-path:polygon(15.5% 0,60% 0,48% 100%,3% 100%)}
.dp-contact-copy {position:relative;width:60%;padding:4.5cqw 6cqw 5cqw 17cqw;font-size:1.5cqw;line-height:1.4}
.dp-contact-copy h2 {font-size:2.35cqw;line-height:1.2;color:var(--dp-red);margin:1em 0 .2em}
.dp-contact-copy a {color:#80a68b;overflow-wrap:anywhere}
.dp-contact-image {position:absolute;inset:0 0 0 48%;clip-path:polygon(23% 0,100% 0,100% 100%,0 100%);background:#c3ccc4}
.dp-footer-layout {display:flex;justify-content:space-between;align-items:center;gap:2cqw;position:relative;isolation:isolate;padding:1.5cqw 2cqw 1.5cqw 5cqw;font-size:1.35cqw;line-height:1.4;color:#fff}
.dp-footer-layout::before {content:"";position:absolute;inset:0;z-index:-1;background:#98443d;clip-path:polygon(3% 0,100% 0,100% 100%,1.5% 100%)}
.dp-footer-layout p {margin:0}
.dp-footer-layout a {color:inherit;text-decoration:underline}
.dp-footer-links {text-align:right}
.dp-footer-project img {width:auto;max-width:220px;max-height:70px}
@container dp-hero (max-width:990px) {
 .dp-hero-image {height:65cqw}
 .dp-hero-claim {top:6cqw;font-size:8cqw}
 .dp-hero-band {grid-template-columns:1fr;margin-top:-9cqw;padding:18cqw 7cqw 8cqw;gap:20px}
 .dp-hero-band::before {clip-path:polygon(0 7%,62% 4%,72% 0,83% 4%,100% 3%,100% 100%,0 100%)}
 .dp-hero-brand {margin:0;order:0}
 .dp-hero-intro {order:1;font-size:clamp(16px,3.5cqw,19px)}
 .dp-ept-section .dp-hero-logo {max-width:58cqw}
 .dp-hero-logo img {max-height:32cqw}
 .dp-hero-address {font-size:14px}
}
@container dp-four (max-width:990px) {
 .dp-apartment-four-layout {display:flex;flex-direction:column;min-height:0}
 .dp-apartment-four-layout::before {display:none}
 .dp-apartment-four-heading {position:static;width:100%;padding:28px 24px;font-size:27px;text-align:center}
 .dp-apartment-four-plan {position:static;width:100%;padding:24px;background:white!important}
 .dp-apartment-four-caption {position:static;padding:0 24px 24px;background:white;font-size:14px}
 .dp-apartment-four-photo {position:relative;inset:auto;height:70cqw;clip-path:polygon(0 0,88% 0,100% 15%,100% 100%,0 100%)}
}
@container dp-new (max-width:990px) {
 .dp-vip-layout {padding:36px 24px}
 .dp-vip-heading {font-size:27px;margin-bottom:24px}
 .dp-vip-copy {font-size:17px;line-height:1.5}
 .dp-registration-layout {padding:44px 24px 60px;font-size:17px}
 .dp-registration-layout::before {clip-path:polygon(5% 0,100% 0,100% 100%,7% 100%,0 96%,0 5%)}
 .dp-registration-top {grid-template-columns:1fr;gap:20px;margin-bottom:28px}
 .dp-registration-heading {font-size:27px}
 .dp-registration-intro {font-size:17px}
 .dp-registration-form .dp-form-row {grid-template-columns:1fr;gap:14px;margin-bottom:14px}
 .dp-registration-form .form-checkboxes {display:block}
 .dp-registration-form .form-actions {text-align:left}
 .dp-registration-links {font-size:14px}
 .dp-contact-layout {min-height:0;display:flex;flex-direction:column}
 .dp-contact-layout::before {clip-path:none}
 .dp-contact-copy {width:100%;padding:36px 24px;font-size:17px}
 .dp-contact-copy h2 {font-size:25px}
 .dp-contact-image {position:relative;inset:auto;width:100%;height:70cqw;clip-path:polygon(7% 0,100% 0,100% 100%,0 100%,0 10%)}
 .dp-footer-layout {flex-direction:column;align-items:flex-start;padding:24px;font-size:14px;gap:14px}
 .dp-footer-layout::before {clip-path:none}
 .dp-footer-links {text-align:left}
}

/* KP3 / 1.2.0: four independent sections, original PDF leaf vectors. */
.dp-ept-section.dp-feature {container-type:inline-size;max-width:none;margin:0 auto;background:#f9f5ee;color:#52715B;font-family:"Cera Pro",Arial,sans-serif}
.dp-feature,.dp-feature * {box-sizing:border-box}
.dp-feature-layout {position:relative;display:grid;grid-template-columns:62% 38%;min-height:28cqw;background-repeat:no-repeat;background-size:100% 100%;isolation:isolate}
.dp-feature--parkanlage .dp-feature-layout {background-image:url('../images/leaves-parkanlage.svg')}
.dp-feature--freizeit .dp-feature-layout {background-image:url('../images/leaves-freizeit.svg')}
.dp-feature--nachhaltig .dp-feature-layout {background-image:url('../images/leaves-nachhaltig.svg')}
.dp-feature--modern .dp-feature-layout {background-image:url('../images/leaves-modern.svg');min-height:32cqw}
.dp-feature-copy {position:relative;grid-column:1;padding:3.6cqw 13cqw 3.6cqw 4cqw;align-self:center;font-size:clamp(16px,1.48cqw,24px);line-height:1.4;z-index:1}
.dp-feature-image {position:absolute;inset:0 0 0 auto;width:48%;clip-path:polygon(0 0,100% 0,100% 100%,20% 100%)}
.dp-feature--left .dp-feature-layout {grid-template-columns:52% 48%}
.dp-feature--left .dp-feature-copy {grid-column:2;padding:3.6cqw 4cqw 3.6cqw 12cqw;text-align:center}
.dp-feature--left .dp-feature-image {inset:0 auto 0 0;width:62%;clip-path:polygon(0 0,100% 0,82% 100%,0 100%)}
.dp-ept-section.dp-feature .dp-feature-copy .paragraph--type--ept-text,
.dp-ept-section.dp-map-kp3 .paragraph--type--ept-text {margin:0;padding:0;background:transparent;font:inherit;color:inherit}
.dp-ept-section:is(.dp-feature,.dp-map-kp3) .paragraph--type--ept-text > .bg-inner {display:none}
.dp-ept-section:is(.dp-feature,.dp-map-kp3) .paragraph--type--ept-text .ept-container {width:100%;max-width:none;margin:0;padding:0}
.dp-ept-section:is(.dp-feature,.dp-map-kp3) .field--name-field-ept-text {font:inherit;color:inherit}
.dp-ept-section:is(.dp-feature,.dp-map-kp3) .field--name-field-ept-text p {font:inherit;color:inherit;margin:0 0 1em}
.dp-ept-section:is(.dp-feature,.dp-map-kp3) .field--name-field-ept-text p:last-child {margin-bottom:0}
.dp-ept-section.dp-feature .field--name-field-ept-text h2 {font-size:clamp(24px,2.35cqw,38px);line-height:1.2;color:#97413c;font-weight:500;margin:0 0 1.3em}
/* Map grid grows with copy; maps preserve their full image ratio. */
.dp-ept-section.dp-map-kp3 .dp-map-layout {position:relative;display:grid;grid-template-columns:51% 49%;min-height:0;height:auto;background:var(--dp-cream);isolation:isolate}
.dp-ept-section.dp-map-kp3 .dp-map-local {position:relative;inset:auto;grid-area:1/1/4/3;width:100%;height:auto;align-self:start;clip-path:none;background:transparent}
.dp-ept-section.dp-map-kp3 .dp-map-copy {position:relative;inset:auto;grid-area:1/1;width:82%;margin:0;padding:2.5cqw 4cqw 2.5cqw 2.5cqw;text-align:left;font-size:clamp(16px,1.48cqw,24px);align-self:start}
.dp-ept-section.dp-map-kp3 .dp-map-copy::before {clip-path:polygon(0 0,100% 0,88% 100%,0 100%)}
.dp-ept-section.dp-map-kp3 .dp-map-distances {position:relative;inset:auto;grid-area:3/2;width:100%;margin-top:45cqw;padding:2cqw 5cqw;font-size:clamp(13px,1.1cqw,18px);align-self:end}
.dp-ept-section.dp-map-kp3 .dp-map-address {position:relative;grid-area:4/1/5/3;padding:1.2cqw 10cqw;color:#30917c;font-size:clamp(14px,1.4cqw,22px);z-index:2;background:var(--dp-cream)}
.dp-ept-section.dp-map-kp3 .dp-map-region {position:relative;inset:auto;grid-area:5/1/6/3;width:100%;height:auto;clip-path:polygon(0 0,81% 0,96% 100%,0 100%);background:transparent}
.dp-ept-section.dp-map-kp3 .dp-map-layout::after {content:"";position:absolute;right:0;bottom:0;width:10%;height:48%;background:url('../images/leaf.svg') center/100% auto repeat-y;pointer-events:none;z-index:1}
.dp-hero-band {background-image:url('../images/leaves-header.svg');background-size:100% 100%}
.dp-vip-layout {background-image:url('../images/leaf.svg');background-position:98% 50%;background-size:12% auto;background-repeat:no-repeat}
@container (max-width:990px) {
 .dp-feature-layout,.dp-feature--left .dp-feature-layout {display:flex;flex-direction:column;min-height:0;background-size:cover}
 .dp-feature-copy,.dp-feature--left .dp-feature-copy {padding:30px 24px;width:100%;font-size:17px;text-align:left;order:0}
 .dp-feature-image,.dp-feature--left .dp-feature-image {position:relative;inset:auto;width:100%;height:62cqw;clip-path:none;order:1}
  .dp-ept-section:is(.dp-feature, .dp-map-kp3) .field--name-field-ept-text p { margin: 0px; }
 .dp-ept-section.dp-map-kp3 .dp-map-layout {display:flex;flex-direction:column}
 .dp-ept-section.dp-map-kp3 .dp-map-copy {width:100%;padding:28px 24px;order:0}
 .dp-ept-section.dp-map-kp3 .dp-map-local {order:1}
 .dp-ept-section.dp-map-kp3 .dp-map-address {order:3;padding:18px 24px}
 .dp-ept-section.dp-map-kp3 .dp-map-distances {order:2;margin:0;padding:24px;font-size:15px; }
 .dp-ept-section.dp-map-kp3 .dp-map-distances .paragraph--type--ept-text { margin-top: -12px; margin-bottom: -36px; }
 .dp-map-distances td:nth-child(2) { text-align: right !important; }
 .dp-ept-section.dp-map-kp3 .dp-map-region {order:4;clip-path:none}
 .dp-ept-section.dp-map-kp3 .dp-map-layout::after {display:none}
}

/* 1.2.1: contain complete floor plans inside reserved, non-overlapping areas. */
.dp-ept-section:is(.dp-apartment,.dp-apartment-three,.dp-apartment-four) .layout__region--plan {background:transparent!important;overflow:visible}
.dp-ept-section:is(.dp-apartment,.dp-apartment-three,.dp-apartment-four) .layout__region--plan .paragraph--type--ept-image {height:100%;width:100%;max-width:none;margin:0;padding:0;background:transparent}
.dp-ept-section:is(.dp-apartment,.dp-apartment-three,.dp-apartment-four) .layout__region--plan .bg-inner {display:none}
.dp-ept-section:is(.dp-apartment,.dp-apartment-three,.dp-apartment-four) .layout__region--plan .ept-container,
.dp-ept-section:is(.dp-apartment,.dp-apartment-three,.dp-apartment-four) .layout__region--plan .ept-container :where(div,picture,a) {display:block;width:100%;height:100%;max-width:none;margin:0;padding:0;background:transparent}
.dp-ept-section:is(.dp-apartment,.dp-apartment-three,.dp-apartment-four) .layout__region--plan img {display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center}
.dp-ept-section:is(.dp-apartment,.dp-apartment-three,.dp-apartment-four) .layout__region--heading {z-index:3}
.dp-ept-section:is(.dp-apartment,.dp-apartment-three,.dp-apartment-four) .layout__region--heading .paragraph--type--ept-text {margin:0;padding:0;background:transparent;font:inherit;color:inherit}
.dp-ept-section:is(.dp-apartment,.dp-apartment-three,.dp-apartment-four) .layout__region--heading .bg-inner {display:none}
.dp-ept-section:is(.dp-apartment,.dp-apartment-three,.dp-apartment-four) .layout__region--heading .ept-container {max-width:none;width:100%;padding:0;margin:0}
.dp-ept-section:is(.dp-apartment,.dp-apartment-three,.dp-apartment-four) .layout__region--heading :is(p,h2) {font:inherit;color:inherit;margin:0}
@container (width > 990px) {
 .dp-ept-section.dp-apartment .dp-apartment-plan {left:4%;top:4cqw;width:32%;height:auto}
 .dp-ept-section.dp-apartment .layout__region--plan {height:30cqw}
 .dp-ept-section.dp-apartment-three .dp-apartment-three-plan {left:56%;top:3cqw;width:40%;height:auto}
 .dp-ept-section.dp-apartment-three .layout__region--plan {height:22cqw}
 .dp-ept-section.dp-apartment-three .dp-apartment-three-heading {left:43%;bottom:2cqw;width:19%}
 .dp-ept-section.dp-apartment-four .dp-apartment-four-plan {left:4%;top:3cqw;width:48%;height:29cqw}
 .dp-ept-section:is(.dp-apartment,.dp-apartment-three) .dp-region-caption {margin-top:1cqw;font-size:clamp(12px,1.1cqw,18px)}
}
/* Modern: the text itself wraps along the photo's diagonal. */
.dp-ept-section.dp-feature--modern .dp-feature-copy {padding:3.6cqw 4cqw 3.6cqw 0;align-self:start;text-align:left}
.dp-ept-section.dp-feature--modern .field--name-field-ept-text {text-align:left!important;display:flow-root}
.dp-ept-section.dp-feature--modern .field--name-field-ept-text p {text-align:left!important}
.dp-ept-section.dp-feature--modern .field--name-field-ept-text::before {content:"";float:left;width:12cqw;height:32cqw;shape-outside:polygon(0 0,100% 0,0 100%);shape-margin:1.5cqw;pointer-events:none}
@container (max-width:990px) {
 .dp-ept-section:is(.dp-apartment,.dp-apartment-three,.dp-apartment-four) .layout__region--plan {height:auto}
 .dp-ept-section:is(.dp-apartment,.dp-apartment-three,.dp-apartment-four) .layout__region--plan .paragraph--type--ept-image,
 .dp-ept-section:is(.dp-apartment,.dp-apartment-three,.dp-apartment-four) .layout__region--plan .ept-container,
 .dp-ept-section:is(.dp-apartment,.dp-apartment-three,.dp-apartment-four) .layout__region--plan .ept-container :where(div,picture,a),
 .dp-ept-section:is(.dp-apartment,.dp-apartment-three,.dp-apartment-four) .layout__region--plan img {height:auto}
 .dp-ept-section.dp-feature--modern .dp-feature-copy {padding:30px 24px}
 .dp-ept-section.dp-feature--modern .field--name-field-ept-text::before {display:none}
}

/* 1.2.2 – Header 00: explicit stacking keeps EPT image wrappers behind logo. */
.dp-ept-section.dp-hero {overflow:visible}
.dp-ept-section.dp-hero .dp-hero-layout {position:relative;isolation:isolate}
.dp-ept-section.dp-hero .dp-hero-image {position:relative;z-index:0;height:46cqw;}
.dp-ept-section.dp-hero .dp-hero-claim {z-index:3;top:2.5cqw;left:8%;width:84%;color:#fff;font-size:4.5cqw;line-height:1.15;pointer-events:auto;font-weight: 600;}
.dp-ept-section.dp-hero .dp-hero-band {position:relative;z-index:2;isolation:isolate;margin-top:-14cqw;padding:11cqw 6cqw 5cqw;min-height:30cqw;grid-template-columns:1fr 1fr;align-items:center;gap:4cqw;background:none}
.dp-ept-section.dp-hero .dp-hero-band::before {z-index:-1;background-color:var(--dp-cream);background-image:url('../images/leaves-header.svg');background-size:100% 100%;clip-path:polygon(0 47%,58% 27%,69.5% 0,78% 21%,100% 13%,100% 100%,0 82%)}
.dp-ept-section.dp-hero .dp-hero-brand {position:relative;z-index:1;margin-top:-7cqw;align-self:start;text-align:center}
.dp-ept-section.dp-hero .dp-hero-logo {width:100%;max-width:32cqw;margin:0 auto;background:transparent}
.dp-ept-section.dp-hero .dp-hero-logo img {position:static;display:block;width:100%;height:auto;max-height:19cqw;object-fit:contain}
.dp-ept-section.dp-hero .dp-hero-intro {position:relative;z-index:1;font-size:clamp(16px,1.75cqw,28px);line-height:1.3;text-align:center}
.dp-ept-section.dp-hero .dp-hero-address {font-size:clamp(13px,1.25cqw,20px);line-height:1.4;margin-top:1cqw}
.dp-ept-section.dp-hero :is(.dp-hero-claim,.dp-hero-intro,.dp-hero-address,.dp-hero-logo) > .paragraph {margin:0;padding:0;background:transparent;font:inherit;color:inherit;max-width:none}
.dp-ept-section.dp-hero :is(.dp-hero-claim,.dp-hero-intro,.dp-hero-address,.dp-hero-logo) .bg-inner {display:none}
.dp-ept-section.dp-hero :is(.dp-hero-claim,.dp-hero-intro,.dp-hero-address,.dp-hero-logo) .ept-container {margin:0;padding:0;width:100%;max-width:none;background:transparent;font:inherit;color:inherit}
.dp-ept-section.dp-hero :is(.dp-hero-claim,.dp-hero-intro,.dp-hero-address) .field--name-field-ept-text {font:inherit;color:inherit}
.dp-ept-section.dp-hero :is(.dp-hero-claim,.dp-hero-intro,.dp-hero-address) .field--name-field-ept-text :is(h1,h2,p) {font:inherit;color:inherit;margin:0;text-align:inherit}
@container dp-hero (max-width:990px) {
 .dp-ept-section.dp-hero .dp-hero-image {height:62cqw}
 .dp-ept-section.dp-hero .dp-hero-claim {top:4cqw;left:5%;width:90%;font-size:7cqw}
 .dp-ept-section.dp-hero .dp-hero-band {display:flex;flex-direction:column;margin-top:-12cqw;padding:12cqw 24px 36px;gap:24px;min-height:0}
 .dp-ept-section.dp-hero .dp-hero-band::before {clip-path:polygon(0 10cqw,36% 7cqw,50% 0,64% 7cqw,100% 5cqw,100% 100%,0 100%)}
 .dp-ept-section.dp-hero .dp-hero-brand {order:0;align-self:center;width:100%;margin:0}
 .dp-ept-section.dp-hero .dp-hero-logo {max-width:60cqw}
 .dp-ept-section.dp-hero .dp-hero-logo img {max-height:34cqw}
 .dp-ept-section.dp-hero .dp-hero-intro {order:1;font-size:17px}
 .dp-ept-section.dp-hero .dp-hero-address {font-size:14px}
}

/* 1.2.4: 1.2.2 basis; only align the header peak with the logo column. */
@container dp-hero (width > 990px) {
 .dp-ept-section.dp-hero .dp-hero-band::before {clip-path:polygon(0 47%,61.5% 27%,73% 0,81.5% 21%,100% 13%,100% 100%,0 82%)}
}

/* 1.2.5 – Freizeit: left aligned lines follow the photograph's diagonal. */
.dp-ept-section.dp-feature--freizeit .dp-feature-layout {min-height:32cqw}
.dp-ept-section.dp-feature--freizeit .dp-feature-copy {padding:3.6cqw 4cqw 3.6cqw 0;align-self:start;text-align:left}
.dp-ept-section.dp-feature--freizeit .field--name-field-ept-text {text-align:left!important;display:flow-root}
.dp-ept-section.dp-feature--freizeit .field--name-field-ept-text p {text-align:left!important}
.dp-ept-section.dp-feature--freizeit .field--name-field-ept-text::before {content:"";float:left;width:12cqw;height:32cqw;shape-outside:polygon(0 0,100% 0,0 100%);shape-margin:1.5cqw;pointer-events:none}
@container (max-width:990px) {
 .dp-ept-section.dp-feature--freizeit .dp-feature-layout {min-height:0}
 .dp-ept-section.dp-feature--freizeit .dp-feature-copy {padding:30px 24px}
 .dp-ept-section.dp-feature--freizeit .field--name-field-ept-text::before {display:none}
}

/* 1.2.6 – Wachau/Parkanlage: shared vertices instead of unrelated heights.
   Composition top inset = 25cqw. Green tip at 70% of remaining height:
   25cqw + .70*(100% - 25cqw) = 70% + 7.5cqw.
   Bottom green vertex and next photo start both use x=51.2%. */
@container (width > 990px) {
 .dp-ept-section.dp-section .dp-composition {padding-top:25cqw;margin-top: -75px;}
 .dp-ept-section.dp-section .dp-picture {inset:0;height:100%;clip-path:polygon(0 0,100% 7%,100% calc(70% + 4.2cqw),58.5% calc(70% + 7.5cqw),0 25cqw)}
 .dp-ept-section.dp-section .dp-location {width:58.5%}
 .dp-ept-section.dp-section .dp-location::before {clip-path:polygon(0 0,50% 0,100% 70%,87.5213675% 100%,0 100%)}
 .dp-ept-section.dp-section .dp-quality {left:59%;right:4%;bottom:2.8cqw}
 .dp-ept-section.dp-feature--parkanlage .dp-feature-image {width:48.8%;clip-path:polygon(0 0,100% 0,100% 100%,20% 100%)}
}
.dp-ept-section.dp-section .dp-quality::before {content:"";position:absolute;right:-1cqw;bottom:-1.5cqw;width:12cqw;height:15cqw;background:url('../images/leaf.svg') center/contain no-repeat;pointer-events:none;z-index:-1}
@container (max-width:990px) {
 .dp-ept-section.dp-section .dp-quality::before {display:none}
}

/* 1.2.7 – Wachau: reference-sized copy and clearance on BOTH diagonals.
   The float and green area share a 37cqw baseline. Float's x=75.042735%
   maps to the green bottom vertex x=87.5213675% (float is half-width).
   Content stays in normal flow; no text is clipped or hidden. */
@container dp-wachau (width > 990px) {
 .dp-ept-section.dp-section .dp-location {
   min-height:37cqw;padding-block:2.2cqw 3cqw;
   font-size:1.4cqw;line-height:1.36;text-align:left;
 }
 .dp-ept-section.dp-section .dp-flow {
   height:37cqw;margin-top:-2.2cqw;margin-bottom:-3cqw;
   shape-outside:polygon(0 0,100% 0,100% 100%,75.042735% 100%,100% 70%);
   shape-margin:1.5cqw;
 }
 .dp-ept-section.dp-section .dp-location h2 {
   max-width:24cqw;font-size:2.35cqw;line-height:1.16;
   margin:0 0 1.5cqw 4cqw;text-align:left;
 }
 .dp-ept-section.dp-section .dp-location p {
   margin:0 2.2cqw 1.5cqw 4cqw;text-align:left;
 }
 .dp-ept-section.dp-section .dp-location p:last-child {margin-bottom:0}
}

/* 1.2.9: safe fallback plus measured, centered diagonal text flow.
   No negative float margins: those collapse the exclusion area. */
@container (width > 990px) {
 .dp-ept-section:is(.dp-feature--freizeit,.dp-feature--modern) .dp-feature-copy {
   align-self:center;padding:3.6cqw 4cqw 3.6cqw 0;
 }
 .dp-ept-section:is(.dp-feature--freizeit,.dp-feature--modern) .field--name-field-ept-text {
   padding-left:12cqw;
 }
 .dp-ept-section:is(.dp-feature--freizeit,.dp-feature--modern) .field--name-field-ept-text::before {display:none}
 .dp-ept-section:is(.dp-feature--freizeit,.dp-feature--modern) .field--name-field-ept-text.dp-diagonal-flow {padding-left:0}
 .dp-ept-section:is(.dp-feature--freizeit,.dp-feature--modern) .field--name-field-ept-text.dp-diagonal-flow::before {
   content:"";display:block;float:left;width:var(--dp-flow-start,12cqw);
   height:var(--dp-flow-height,20cqw);margin:0;shape-margin:0;
   shape-outside:polygon(0 0,100% 0,var(--dp-flow-end,0px) 100%,0 100%);
 }
}

/* 1.2.10 – Lage: anchor distance copy to the map's actual bottom edge.
   The image and both overlays share one grid row; no guessed top offset.
   The row can grow if the text needs more space. */
@container (width > 990px) {
 .dp-ept-section.dp-map-kp3 .dp-map-local {grid-area:1/1/2/3}
 .dp-ept-section.dp-map-kp3 .dp-map-copy {grid-area:1/1/2/2}
 .dp-ept-section.dp-map-kp3 .dp-map-distances {
   grid-area:1/2/2/3;align-self:end;margin:0;
   padding:2cqw 4cqw 2cqw 5cqw;height:auto;min-width:0;
 }
 .dp-ept-section.dp-map-kp3 .dp-map-address {grid-area:2/1/3/3}
 .dp-ept-section.dp-map-kp3 .dp-map-region {grid-area:3/1/4/3}
}

/* 1.2.11 – Three-room plan at PDF scale. The known 1400x1124 image
   contains ~180px left and ~290px top blank space; crop only that margin. */
@container (width > 990px) {
 .dp-ept-section.dp-apartment-three .dp-apartment-three-plan {
   left:51.5%;top:5.7cqw;width:45.5%;height:auto;
 }
 .dp-ept-section.dp-apartment-three .layout__region--plan {height:31.1cqw;position:relative}
 .dp-ept-section.dp-apartment-three .layout__region--plan:has(img[src*="3-Zimmerwohnung-Grundriss"]) {
   overflow:hidden;clip-path:polygon(0 0,100% 0,100% 100%,32% 100%,0 75%);
 }
 .dp-ept-section.dp-apartment-three .layout__region--plan img[src*="3-Zimmerwohnung-Grundriss"] {
   position:absolute;right:0;bottom:0;width:114.754098%;height:auto;
   max-width:none;max-height:none;object-fit:contain;
 }
 .dp-ept-section.dp-apartment-three .dp-region-caption {
   margin-top:.6cqw;text-align:right;padding-right:.5cqw;
 }
 .dp-ept-section.dp-apartment-three .dp-region-caption .field--name-field-ept-text p {margin:0;text-align:right}
}

/* 1.2.12 – Vormerkformular: palette and actual live Webform composites. */
.dp-ept-section.dp-registration {--dp-cream:#f9f4ee;--dp-form-mint:#85bdb0;--dp-form-accent:#35917c;background-color:var(--dp-cream);background-image:url('../images/leaf.svg');background-repeat:repeat-y;background-position:1% 2cqw;background-size:12cqw auto}
.dp-ept-section.dp-registration .dp-registration-layout {padding:3.5cqw 11cqw 4cqw 18cqw;font-size:clamp(14px,1.4cqw,22px);line-height:1.35}
.dp-ept-section.dp-registration .dp-registration-layout::before {background:var(--dp-form-mint);clip-path:polygon(16% 0,100% 0,100% 100%,15.5% 100%,2% 80%)}
.dp-ept-section.dp-registration .dp-registration-top {grid-template-columns:1.1fr .9fr;gap:2cqw;align-items:center;margin:0 0 3cqw;border-bottom:1px solid white;padding-bottom:.7cqw}
.dp-ept-section.dp-registration .dp-registration-heading {font-size:clamp(20px,2.05cqw,34px);line-height:1.15;font-weight:700;border:0;padding:0}
.dp-ept-section.dp-registration .dp-registration-intro {font-size:clamp(12px,1.25cqw,19px);line-height:1.3}
.dp-ept-section.dp-registration :is(.dp-registration-top,.dp-registration-form) .paragraph {margin:0;padding:0;background:transparent}
.dp-ept-section.dp-registration :is(.dp-registration-top,.dp-registration-form) .bg-inner {display:none}
.dp-ept-section.dp-registration :is(.dp-registration-top,.dp-registration-form) .ept-container {width:100%;max-width:none;margin:0;padding:0}
.dp-ept-section.dp-registration .dp-registration-top .field--name-field-ept-text p {font:inherit;line-height:inherit;margin:0}
.dp-ept-section.dp-registration .dp-registration-form :is(fieldset,.form-item,.form-actions,.webform-flexbox,.webform-flex--container) {margin:0!important;padding:0;border:0;min-width:0}
.dp-ept-section.dp-registration .dp-registration-form .webform-name > .webform-flexbox {display:grid;grid-template-columns:1fr 1.1fr 4.8fr;gap:.5cqw}
.dp-ept-section.dp-registration .dp-registration-form .webform-contact__row-2 {display:grid;grid-template-columns:1.25fr 1fr;gap:.5cqw}
.dp-ept-section.dp-registration .dp-registration-form .webform-flex {min-width:0;margin:0;padding:0;width:auto}
.dp-ept-section.dp-registration .dp-registration-form :is(.webform-name--wrapper,.webform-contact--wrapper) {margin-bottom:.5cqw!important}
.dp-ept-section.dp-registration .dp-registration-form :is(input[type=text],input[type=email],input[type=tel],select,textarea) {border:0;border-radius:0;background:var(--dp-cream);font:inherit;color:#174d43;min-height:3.6cqw;padding:.7em .65em;box-shadow:none}
.dp-ept-section.dp-registration .dp-registration-form input::placeholder {color:var(--dp-form-accent);opacity:1}
.dp-ept-section.dp-registration .dp-form-accessible-label {position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.dp-ept-section.dp-registration .dp-form-interest-title {display:block;margin:2.4cqw 0 .8cqw;font-weight:600}
.dp-ept-section.dp-registration .dp-form-interest-options {display:flex;align-items:center;gap:2cqw;margin-bottom:2.5cqw}
.dp-ept-section.dp-registration .dp-form-interest-options .js-webform-radios {display:flex;flex-wrap:wrap;gap:1.6cqw}
.dp-ept-section.dp-registration .dp-form-interest-options fieldset {min-width:0}
.dp-ept-section.dp-registration .dp-registration-form .form-check {display:grid;grid-template-columns:1.1em minmax(0,1fr);column-gap:.5em;align-items:start;margin-bottom:.45em!important;padding:0;min-height:0;}
.dp-ept-section.dp-registration .dp-registration-form :is(input[type=checkbox],input[type=radio]) {float:none;position:static;appearance:auto;flex:none;margin:.12em 0 0;width:1em;height:1em;accent-color:var(--dp-form-accent);border-radius:0}
.dp-ept-section.dp-registration .dp-registration-form .form-check label {margin:0;line-height:1.35}
.dp-ept-section.dp-registration .dp-registration-form .form-check .description {grid-column:2;font-size:.85em;line-height:1.3;color:#000 !important;}
.dp-ept-section.dp-registration .dp-form-required-note {font-size:.8em!important;margin:24px 0 1.8em !important;line-height:1.3}
.dp-ept-section.dp-registration .dp-registration-form [data-drupal-selector="edit-kenntnis"] {display:block;margin-bottom:.6em}
.dp-ept-section.dp-registration .dp-registration-form .form-actions {text-align:right;margin-top:.8cqw!important}
.dp-ept-section.dp-registration .dp-registration-form button[type=submit] {background:#29917d;color:white;min-width:26cqw;font-size:clamp(20px,2.4cqw,36px);line-height:1.2;font-weight:700;padding:.4em 1.2em;border:0;border-radius:0}
.dp-ept-section.dp-registration .dp-registration-form button[type=submit]:hover {background:#287563}
.dp-ept-section.dp-registration .dp-registration-links:empty {display:none}
@container (max-width:990px) {
 .dp-ept-section.dp-registration .dp-registration-layout {padding:32px 24px 38px;font-size:16px}
 .dp-ept-section.dp-registration .dp-registration-layout::before {clip-path:polygon(4% 0,100% 0,100% 100%,4% 100%,0 90%)}
 .dp-ept-section.dp-registration .dp-registration-top {grid-template-columns:1fr;gap:12px;margin-bottom:24px;padding-bottom:14px}
 .dp-ept-section.dp-registration .dp-registration-form .webform-name > .webform-flexbox {grid-template-columns:1fr 1fr;gap:8px}
 .dp-ept-section.dp-registration .webform-name__last {grid-column:1/-1}
 .dp-ept-section.dp-registration .dp-registration-form .webform-contact__row-2 {grid-template-columns:1fr;gap:8px}
 .dp-ept-section.dp-registration .dp-registration-form :is(.webform-name--wrapper,.webform-contact--wrapper) {margin-bottom:8px!important}
 .dp-ept-section.dp-registration .dp-registration-form :is(input[type=text],input[type=email],input[type=tel]) {min-height:44px}
 .dp-ept-section.dp-registration .dp-form-interest-title {margin:24px 0 12px}
 .dp-ept-section.dp-registration .dp-form-interest-options {flex-wrap:wrap;gap:12px;margin-bottom:24px}
 .dp-ept-section.dp-registration .dp-form-interest-options .js-webform-radios {gap:12px}
 .dp-ept-section.dp-registration .dp-registration-form button[type=submit] {width:100%;min-height:48px;margin-top:12px}
}

/* 1.2.13 – KP4: square controls, aligned choices, original PDF leaves. */
.dp-ept-section.dp-registration {background-image:url('../images/leaves-registration.svg');background-repeat:no-repeat;background-position:left top;background-size:100% 100%}
.dp-ept-section.dp-registration .dp-registration-layout {padding-left:17.4cqw;padding-right:15.25cqw}
.dp-ept-section.dp-registration .dp-registration-top {grid-template-columns:35.2cqw minmax(0,1fr);gap:2.2cqw;align-items:start;border:0;padding-bottom:0}
.dp-ept-section.dp-registration .dp-registration-heading {font-size:2.5cqw;line-height:1.15;font-weight:500;border-bottom:1px solid #fff;padding-bottom:.35cqw}
.dp-ept-section.dp-registration .dp-registration-intro {font-size:1.5cqw;line-height:1.125;padding-top:.55cqw}
.dp-ept-section.dp-registration .dp-form-intro-line {display:block;white-space:nowrap}
.dp-ept-section.dp-registration .dp-form-interest-options {align-items:center}
.dp-ept-section.dp-registration .dp-form-interest-options .form-check {margin-bottom:0!important;align-items:center}
.dp-ept-section.dp-registration .dp-form-join {line-height:1.35;align-self:center;margin:0;padding:0}
.dp-ept-section.dp-registration .dp-registration-form :is(input[type=checkbox],input[type=radio]) {
 appearance:none!important;-webkit-appearance:none!important;
 border:1px solid var(--dp-cream);border-radius:0!important;
 background-color:var(--dp-cream);background-image:none;
 width:1em;height:1em;min-width:1em;box-shadow:none;cursor:pointer;
}
.dp-ept-section.dp-registration .dp-form-interest-options input[type=radio] {margin:0}
.dp-ept-section.dp-registration .dp-registration-form :is(input[type=checkbox],input[type=radio]):checked {
 background-color:var(--dp-form-accent);
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3 8 3 3 7-7' fill='none' stroke='white' stroke-width='2'/%3E%3C/svg%3E");
 background-size:100% 100%;background-repeat:no-repeat;
}
.dp-ept-section.dp-registration .dp-registration-form :is(input[type=checkbox],input[type=radio]):focus-visible {outline:2px solid #174d43;outline-offset:3px}
@container (max-width:990px) {
 .dp-ept-section.dp-registration .dp-registration-layout {padding-left:24px;padding-right:24px}
 .dp-ept-section.dp-registration .dp-registration-top {grid-template-columns:1fr;gap:12px}
 .dp-ept-section.dp-registration .dp-registration-heading {font-size:clamp(20px,4cqw,30px);padding-bottom:8px}
 .dp-ept-section.dp-registration .dp-registration-intro {font-size:15px;line-height:1.3;padding-top:0}
 .dp-ept-section.dp-registration .dp-form-intro-line {display:inline;white-space:normal}
}

/* Persistent field titles and compact layout for the current Webform. */
.dp-ept-section.dp-registration .dp-registration-form .dp-form-titled-field {
  display:flex;flex-direction:column;background:var(--dp-cream);
}
.dp-ept-section.dp-registration .dp-registration-form .dp-form-field-title {
  position:static;display:block;float:none;width:auto;height:auto;
  margin:0;padding:.35em .65em 0;color:var(--dp-form-accent);
  font-size:.9em;font-weight:400;line-height:1.2;
}
.dp-ept-section.dp-registration .dp-registration-form .dp-form-field-title::after {content:none;background:none}
.dp-ept-section.dp-registration .dp-registration-form .dp-form-field-required::after {
  content:'*';display:inline;vertical-align:baseline;margin:0;background:none;
}
.dp-ept-section.dp-registration .dp-registration-form .dp-form-titled-field input {
  width:100%;min-height:1.65em;height:auto;margin:0;padding:0 .65em .25em;line-height:1.4;
}
.dp-ept-section.dp-registration .dp-registration-form :is(.webform-name--wrapper,.webform-contact--wrapper) > legend {
  position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);margin:0;padding:0;
}
.dp-ept-section.dp-registration .dp-registration-form :is(.webform-name,.webform-contact,.fieldset-wrapper) {margin:0;padding:0}
.dp-ept-section.dp-registration .dp-registration-form .webform-contact__row-2 {margin-top:0!important;margin-bottom:0!important}
.dp-ept-section.dp-registration .dp-registration-form .dp-form-interest-title {margin:2cqw 0 .65em;font-weight:700}
.dp-ept-section.dp-registration .dp-registration-form .dp-form-interest-options {display:flex;align-items:center;gap:.55em;margin:0 0 2.5cqw;font-weight:700}
.dp-ept-section.dp-registration .dp-form-interest-options .js-webform-radios {display:flex;flex-wrap:wrap;align-items:center;gap:1em}
.dp-ept-section.dp-registration .dp-form-interest-options .form-check {margin:0!important;align-items:center}
.dp-ept-section.dp-registration .dp-form-interest-options .form-check label {font-weight:700}
.dp-ept-section.dp-registration .dp-form-interest-options input[type=radio] {width:1.35em;height:1.35em;min-width:1.35em;margin:0}
.dp-ept-section.dp-registration .dp-form-interest-options .form-check {grid-template-columns:1.35em auto}
.dp-ept-section.dp-registration .dp-registration-form .dp-form-footer {display:grid;grid-template-columns:1fr 37%;align-items:center;gap:1em;margin-top:.8em}
.dp-ept-section.dp-registration .dp-registration-form .dp-form-footer .form-actions {margin:0!important}
.dp-ept-section.dp-registration .dp-registration-form .dp-form-infoabo {margin-bottom:0!important;}
.dp-ept-section.dp-registration .dp-registration-form .dp-form-infoabo label {font-weight:700}
.dp-ept-section.dp-registration .dp-registration-form .dp-form-footer button[type=submit] {width:100%;min-width:0;margin:0;font-weight:500}
@container (max-width:990px) {
  .dp-ept-section.dp-registration .dp-registration-form .dp-form-titled-field input {min-height:30px;font-size:16px}
  .dp-ept-section.dp-registration .dp-registration-form .dp-form-interest-title {margin-top:24px}
  .dp-ept-section.dp-registration .dp-registration-form .dp-form-interest-options {flex-wrap:nowrap;gap:.5em;margin-bottom:24px}
  .dp-ept-section.dp-registration .dp-form-interest-options .js-webform-radios {gap:.6em}
  .dp-ept-section.dp-registration .dp-registration-form .dp-form-footer {grid-template-columns:1fr;align-items:start}
}

/* 1.2.16: stacked compositions retain diagonal edges up to 990px.
   Container widths also cover the narrower Mercury preview. */
@container (max-width:990px) {
  .dp-ept-section.dp-feature .dp-feature-image {
    clip-path:polygon(0 0,100% 8%,100% 100%,0 92%);
  }
  .dp-ept-section.dp-feature--left .dp-feature-image {
    clip-path:polygon(0 8%,100% 0,100% 92%,0 100%);
  }
  .dp-ept-section.dp-map-kp3 .dp-map-copy {
    padding:28px 10% 40px 24px;
  }
  .dp-ept-section.dp-map-kp3 .dp-map-copy::before {
    clip-path:polygon(0 0,100% 0,94% 100%,0 100%);
  }
  .dp-ept-section.dp-map-kp3 .dp-map-region {
    clip-path:polygon(0 0,94% 0,100% 100%,0 100%);
  }
  .dp-ept-section.dp-map-kp3 .dp-map-distances {
    padding:36px 24px 28px;
  }
  .dp-ept-section.dp-contact .dp-contact-layout::before {
    clip-path:polygon(5% 0,100% 0,95% 100%,0 100%);
  }
  .dp-ept-section.dp-contact .dp-contact-copy {padding:36px max(24px,7cqw)}
  .dp-ept-section.dp-footer .dp-footer-layout {
    padding-inline:max(24px,6cqw);
  }
  .dp-ept-section.dp-footer .dp-footer-layout::before {
    clip-path:polygon(3% 0,100% 0,100% 100%,0 100%);
  }
  /* The white floor-plan panels remain angled without clipping plans/text. */
  .dp-ept-section:is(.dp-apartment,.dp-apartment-three,.dp-apartment-four)
  :is(.dp-apartment-plan,.dp-apartment-three-plan,.dp-apartment-four-plan) {
    position:relative;isolation:isolate;background:transparent!important;
    padding:36px max(24px,7cqw);
  }
  .dp-ept-section:is(.dp-apartment,.dp-apartment-three,.dp-apartment-four)
  :is(.dp-apartment-plan,.dp-apartment-three-plan,.dp-apartment-four-plan)::before {
    content:'';position:absolute;inset:0;z-index:-1;background:#fff;
    clip-path:polygon(0 0,94% 0,100% 100%,6% 100%);
  }
  .dp-ept-section.dp-apartment-three .dp-apartment-three-plan::before {
    clip-path:polygon(6% 0,100% 0,94% 100%,0 100%);
  }
  .dp-ept-section.dp-facts .dp-facts-layout {
    padding:32px max(16px,4cqw);gap:24px;
  }
  .dp-ept-section.dp-facts :is(.dp-fact,.dp-fact-certificate) {
    width:min(90%,480px);
  }
  .dp-ept-section.dp-facts :is(.dp-fact-homes,.dp-fact-equipment,.dp-fact-timing) {
    align-self:flex-start;
  }
  .dp-ept-section.dp-facts :is(.dp-fact-technology,.dp-fact-team,.dp-fact-certificate) {
    align-self:flex-end;
  }
}
