:root {
  --dpg-green:#193d36;
  --dpg-ink:#102d36;
  --dpg-muted:#637371;
  --dpg-warm:#f4f4f1;
  --dpg-ice:#e5f0f3;
  --dpg-border:#d6e2de;
  --dpg-gutter:clamp(22px,4.5vw,76px);
}
.dpg-site {
  margin:0;
  background:#fff;
  color:var(--dpg-ink);
  font-family:Arial,Helvetica,sans-serif;
  font-size:18px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  hyphens:none;
  word-break:normal;
  overflow-wrap:normal;
}
.dpg-site * {
  box-sizing:border-box;
}
.dpg-site img {
  max-width:100%;
  height:auto;
  vertical-align:middle;
}
.dpg-site a {
  color:inherit;
  text-decoration:none;
}
.dpg-site a:hover {
  text-decoration:underline;
  text-underline-offset:5px;
}
.dpg-site button,.dpg-site input,.dpg-site select,.dpg-site textarea {
  font:inherit;
}
.dpg-site :focus-visible {
  outline:3px solid #17637c;
  outline-offset:5px;
}
.dpg-site h1,.dpg-site h2,.dpg-site h3,.dpg-site h4 {
  font-family:inherit;
  line-height:1.14;
  font-weight:500;
  letter-spacing:-.035em;
  color:inherit;
  margin:0 0 24px;
}
.dpg-site h1 {
  font-size:clamp(38px,4.3vw,66px);
}
.dpg-site h2 {
  font-size:clamp(30px,3vw,44px);
}
.dpg-site h3 {
  font-size:24px;
  letter-spacing:-.025em;
}
.dpg-site h4 {
  font-size:20px;
}
.dpg-site p {
  margin:0 0 22px;
}
.dpg-shell {
  max-width:1440px;
  padding-inline:var(--dpg-gutter);
  margin-inline:auto;
}
.dpg-header {
  background:#fff;
  border-bottom:1px solid #eef0ed;
  position:sticky;
  top:0;
  z-index:50;
}
.admin-bar .dpg-header {
  top:32px;
}
.dpg-header-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  min-height:100px;
}
.dpg-logo {
  display:block;
  flex-shrink:0;
}
.dpg-logo img {
  width:215px;
  height:auto;
}
.dpg-nav {
  display:flex;
  align-items:center;
  gap:clamp(15px,1.7vw,26px);
  font-size:14px;
  line-height:1.35;
}
.dpg-nav>a:not(.dpg-button) {
  padding-block:14px;
}
.dpg-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:20px;
  min-height:52px;
  padding:14px 22px;
  background:var(--dpg-green);
  color:#fff!important;
  border:1px solid var(--dpg-green);
  border-radius:3px;
  font-size:15px;
  font-weight:600;
  line-height:1.5;
  text-align:center;
  transition:background .2s;
}
.dpg-button:hover {
  background:#29544a;
  text-decoration:none!important;
}
.dpg-button-light {
  background:#fff;
  color:var(--dpg-green)!important;
  border-color:#fff;
}
.dpg-button-light:hover {
  background:var(--dpg-warm);
}
.dpg-nav-cta {
  font-size:13px;
  padding:12px 16px;
}
.dpg-language {
  display:flex;
  gap:9px;
  align-items:center;
  font-size:13px;
  white-space:nowrap;
}
.dpg-language a[aria-current] {
  font-weight:700;
  border-bottom:2px solid var(--dpg-green);
}
.dpg-menu-toggle {
  display:none;
  align-items:center;
  gap:10px;
  background:none;
  border:1px solid var(--dpg-border);
  padding:10px 12px;
  min-height:48px;
  color:var(--dpg-green);
}
.dpg-skip-link {
  position:fixed;
  top:8px;
  left:8px;
  transform:translateY(-150%);
  padding:14px;
  background:#fff;
  z-index:100;
}
.dpg-skip-link:focus {
  transform:translateY(0);
}
.dpg-hero {
  position:relative;
  isolation:isolate;
  min-height:660px;
  display:flex;
  align-items:center;
  background:#e9efed;
  overflow:hidden;
}
.dpg-hero>.dpg-shell {
  width:100%;
  z-index:2;
}
.dpg-hero-image {
  position:absolute;
  right:0;
  top:0;
  width:65%;
  height:100%!important;
  object-fit:cover;
  object-position:center;
}
.dpg-hero:after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,#f7f8f5 0%,rgba(247,248,245,.98) 30%,rgba(247,248,245,.88) 43%,rgba(247,248,245,0) 70%);
  z-index:1;
}
.dpg-hero-content {
  position:relative;
  padding:72px 0 78px;
  max-width:615px;
}
.dpg-eyebrow {
  text-transform:uppercase;
  font-size:12px;
  font-weight:700;
  letter-spacing:.12em;
  line-height:1.6;
  margin:0 0 20px!important;
}
.dpg-hero-content h1 {
  max-width:600px;
  margin-bottom:26px;
}
.dpg-hero-content>p:not(.dpg-eyebrow) {
  max-width:515px;
  font-size:17px;
}
.dpg-hero-content .dpg-hero-lead {
  font-size:22px!important;
  line-height:1.4;
}
.dpg-actions {
  display:flex;
  align-items:flex-start;
  gap:20px;
  flex-direction:column;
  margin-top:30px;
}
.dpg-text-link {
  font-size:15px;
  font-weight:600;
  display:inline-flex;
  gap:12px;
  align-items:center;
  border-bottom:1px solid var(--dpg-border);
  padding-bottom:5px;
}
.dpg-hero-caption {
  position:absolute;
  bottom:0;
  right:0;
  background:rgba(25,61,54,.87);
  padding:10px 22px;
  color:#fff;
  z-index:3;
  font-size:12px;
  margin:0!important;
}
.dpg-competence-line {
  padding:23px 0;
  border-bottom:1px solid var(--dpg-border);
  font-size:14px;
  letter-spacing:.02em;
  text-align:center;
  color:var(--dpg-green);
}
.dpg-section {
  padding:clamp(64px,7vw,106px) 0;
  scroll-margin-top:var(--dpg-header-offset, 89px);
}
.dpg-section-warm {
  background:var(--dpg-warm);
}
.dpg-section-heading {
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:9%;
  align-items:start;
  margin-bottom:52px;
}
.dpg-section-heading h2 {
  max-width:460px;
  margin-bottom:0;
}
.dpg-section-heading>p,.dpg-section-heading>div+div {
  color:var(--dpg-muted);
  padding-top:4px;
}
.dpg-services-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:40px 48px;
}
.dpg-service-card {
  border-top:1px solid var(--dpg-border);
  padding-top:27px;
}
.dpg-icon {
  width:52px;
  height:52px!important;
  object-fit:contain;
  margin-bottom:22px;
}
.dpg-service-card h3 {
  font-size:22px;
}
.dpg-service-card p,.dpg-benefit p {
  font-size:16px;
  color:var(--dpg-muted);
  margin:0;
}
.dpg-additional-planning {
  display:grid;
  grid-template-columns:60px 1fr;
  gap:32px;
  padding:36px;
  margin:48px 0;
  background:var(--dpg-warm);
}
.dpg-additional-planning p {
  font-size:16px;
  max-width:1000px;
}
.dpg-additional-planning p:last-child {
  margin-bottom:0;
}
.dpg-subheading {
  margin:44px 0 26px!important;
}
.dpg-extras-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:28px;
}
.dpg-extras-grid .dpg-icon {
  width:38px;
  height:38px!important;
}
.dpg-section-footer {
  border-top:1px solid var(--dpg-border);
  padding-top:28px;
  margin-top:42px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:36px;
  font-size:16px;
}
.dpg-section-footer p {
  max-width:650px;
  margin:0;
}
.dpg-section-footer .dpg-text-link {
  flex-shrink:0;
}
.dpg-benefits-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:32px;
}
.dpg-benefit {
  border-left:1px solid #d4dcd5;
  padding-left:25px;
}
.dpg-benefit:first-child {
  border:0;
  padding-left:0;
}
.dpg-benefit h3 {
  font-size:22px;
  line-height:1.25;
}
.dpg-section-note {
  margin:38px 0 0!important;
  font-size:16px;
  color:var(--dpg-muted);
}
.dpg-audience-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:30px;
}
.dpg-audience-card {
  background:var(--dpg-warm);
  display:flex;
  flex-direction:column;
}
.dpg-audience-card>img {
  width:100%;
  height:210px!important;
  object-fit:cover;
}
.dpg-card-body {
  padding:28px;
  flex:1;
}
.dpg-card-body h3 {
  font-size:23px;
  line-height:1.22;
}
.dpg-card-lead {
  font-weight:600;
  font-size:16px;
}
.dpg-card-body p,.dpg-audience-details {
  font-size:16px;
}
.dpg-audience-details {
  border-top:1px solid var(--dpg-border);
  margin:20px 0;
  padding-top:14px;
}
.dpg-audience-details summary {
  cursor:pointer;
  min-height:40px;
  font-weight:600;
}
.dpg-audience-details[open] summary {
  margin-bottom:15px;
}
.dpg-audience-details .dpg-text-link {
  font-size:14px;
}
.dpg-section-green {
  background:var(--dpg-green);
  color:#fff;
}
.dpg-section-green .dpg-section-heading>p {
  color:#d9e3df;
}
.dpg-process {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:28px;
  padding:0;
  margin:40px 0;
  list-style:none;
  counter-reset:process;
}
.dpg-process-step {
  border-top:1px solid #69867e;
  padding-top:22px;
}
.dpg-step-number {
  display:block;
  color:#a9c1b7;
  font-size:13px;
  letter-spacing:.08em;
  margin-bottom:28px;
}
.dpg-process h3 {
  font-size:20px;
}
.dpg-process p {
  font-size:15px;
  color:#d9e3df;
}
.dpg-lead {
  font-size:22px;
  line-height:1.45;
}
.dpg-diagram-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:26px;
  margin:40px 0 24px;
}
.dpg-diagram {
  margin:0;
  background:#fff;
  border:1px solid var(--dpg-border);
  border-radius:6px;
  overflow:hidden;
}
.dpg-diagram img {
  width:100%;
  display:block;
}
.dpg-diagram figcaption {
  padding:20px 25px;
  font-size:15px;
}
.dpg-diagram-legend {
  font-size:14px;
  color:var(--dpg-muted);
}
.dpg-team-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:28px;
  margin:44px 0;
}
.dpg-team-card {
  border-top:1px solid var(--dpg-border);
  padding-top:25px;
}
.dpg-team-card h3 {
  font-size:23px;
}
.dpg-team-card p {
  font-size:15px;
  color:var(--dpg-muted);
}
.dpg-team-role {
  font-weight:600;
  color:var(--dpg-green)!important;
}
.dpg-project-grid,.dpg-knowledge-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
}
.dpg-project-card img {
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
}
.dpg-project-image {
  position:relative;
  display:block;
}
.dpg-project-card h3 {
  font-size:22px;
  margin:20px 0 12px;
}
.dpg-project-card p {
  font-size:15px;
}
.dpg-project-card .project-image-credit {
  font-size:11px;
  color:var(--dpg-muted);
}
.dpg-knowledge-card {
  border-top:1px solid var(--dpg-border);
  padding-top:28px;
}
.dpg-knowledge-card h3 {
  font-size:25px;
}
.dpg-knowledge-card p {
  font-size:16px;
  color:var(--dpg-muted);
}
.dpg-empty-state {
  padding:30px 0;
  border-top:1px solid var(--dpg-border);
  color:var(--dpg-muted);
}
.dpg-contact-banner {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:var(--dpg-green);
  color:#fff;
  padding:80px 0;
}
.dpg-contact-image {
  position:absolute;
  inset:0;
  width:100%;
  height:100%!important;
  object-fit:cover;
  opacity:.2;
  z-index:-1;
}
.dpg-contact-banner .dpg-shell {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:10%;
}
.dpg-contact-banner h2 {
  max-width:640px;
}
.dpg-contact-banner p {
  font-size:17px;
}
.dpg-contact-formats {
  font-size:15px!important;
  margin-top:28px!important;
}
.dpg-contact-details {
  display:flex;
  flex-wrap:wrap;
  gap:12px 26px;
  font-size:15px;
  margin-top:25px;
}
.dpg-footer {
  padding:42px 0 25px;
  background:white;
}
.dpg-footer-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:45px;
  padding-bottom:35px;
}
.dpg-footer-nav {
  display:flex;
  flex-wrap:wrap;
  gap:16px 25px;
  font-size:14px;
}
.dpg-footer-bottom {
  display:flex;
  justify-content:space-between;
  gap:30px;
  border-top:1px solid var(--dpg-border);
  padding-top:25px;
  font-size:12px;
  color:var(--dpg-muted);
}
.dpg-footer-bottom p {
  margin:0;
}
.dpg-footer-bottom nav {
  display:flex;
  gap:20px;
  flex-wrap:wrap;
}
.dpg-reading {
  max-width:960px;
  padding:72px var(--dpg-gutter) 90px;
  margin:auto;
}
.dpg-reading h1 {
  font-size:clamp(36px,4vw,58px);
  max-width:900px;
  margin-bottom:35px;
}
.dpg-reading h2 {
  font-size:32px;
  margin-top:55px;
}
.dpg-reading h3 {
  font-size:23px;
  margin-top:35px;
}
.dpg-reading p,.dpg-reading li {
  color:#435954;
}
.dpg-reading a {
  color:var(--dpg-green);
  text-decoration:underline;
  text-underline-offset:4px;
}
.dpg-reading li {
  margin-bottom:14px;
}
.dpg-reading>p:first-of-type {
  font-size:22px;
  line-height:1.5;
}
.dpg-breadcrumb {
  padding-top:26px;
  font-size:13px;
  color:var(--dpg-muted);
}
.dpg-contact-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
}
.dpg-contact-grid h2 {
  font-size:30px;
}
.dpg-contact-card {
  padding:35px;
  background:var(--dpg-warm);
}
.dpg-site .container {
  max-width:1280px;
  margin:auto;
  padding:50px var(--dpg-gutter);
}
.dpg-site .post-content a {
  text-decoration:underline;
}
.dpg-site .post-content h2 {
  margin-top:45px;
}
.dpg-site .post-content p {
  max-width:80ch;
}
.dpg-site .forminator-ui input,.dpg-site .forminator-ui textarea,.dpg-site .forminator-ui select {
  max-width:100%;
}
@media(min-width:1101px) {
  .dpg-menu-toggle {
    display:none!important;
  }
}
@media(max-width:1100px) {
  .dpg-header-inner {
    min-height:85px;
    gap:20px;
    flex-wrap:wrap;
    padding-block:15px;
  }
  .dpg-menu-toggle:not([hidden]) {
    display:flex;
  }
  .dpg-nav {
    width:100%;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding-bottom:15px;
  }
  .dpg-js .dpg-nav {
    display:none;
  }
  .dpg-js .dpg-nav.is-open {
    display:flex;
    max-height:calc(100vh - 110px);
    max-height:calc(100dvh - 110px);
    overflow-y:auto;
    overscroll-behavior:contain;
  }
  .dpg-nav>a {
    padding:15px 0;
    border-top:1px solid var(--dpg-border);
    font-size:17px;
  }
  .dpg-nav .dpg-button {
    padding:14px;
    margin-top:15px;
  }
  .dpg-language {
    margin-top:15px;
    gap:18px;
    font-size:16px;
  }
  .dpg-nav .dpg-language a {
    padding:8px;
  }
  .dpg-hero-content {
    max-width:550px;
  }
  .dpg-hero-image {
    width:72%;
  }
  .dpg-hero:after {
    background:linear-gradient(90deg,#f7f8f5 0%,rgba(247,248,245,.97) 30%,rgba(247,248,245,.8) 52%,rgba(247,248,245,.1) 95%);
  }
  .dpg-extras-grid,.dpg-benefits-grid,.dpg-team-grid {
    grid-template-columns:repeat(2,1fr);
  }
  .dpg-benefit:nth-child(3) {
    padding-left:0;
    border:0;
  }
  .dpg-process {
    grid-template-columns:repeat(3,1fr);
  }
  .dpg-audience-grid {
    grid-template-columns:repeat(2,1fr);
  }
  .dpg-section-footer,.dpg-footer-top {
    align-items:flex-start;
    flex-direction:column;
  }
  .dpg-footer-top {
    gap:28px;
  }
  .dpg-section-footer .dpg-text-link {
    flex-shrink:1;
  }
  .dpg-contact-grid {
    gap:35px;
  }
}
@media(max-width:700px) {
  .dpg-header-inner {
    min-height:76px;
    padding-block:13px;
  }
  .dpg-logo img {
    width:182px;
  }
  .dpg-menu-toggle {
    font-size:14px;
    padding:8px;
  }
  .dpg-hero {
    display:flex;
    flex-direction:column;
    min-height:0;
  }
  .dpg-hero>.dpg-shell {
    order:0;
  }
  .dpg-hero-content {
    padding:42px 0 35px;
    max-width:100%;
  }
  .dpg-hero-content h1 {
    font-size:clamp(36px,8vw,48px);
  }
  .dpg-hero-image {
    position:relative;
    order:1;
    width:100%;
    height:300px!important;
    object-position:center 55%;
  }
  .dpg-hero:after {
    display:none;
  }
  .dpg-hero-caption {
    font-size:11px;
    padding:7px 16px;
  }
  .dpg-hero-content .dpg-hero-lead {
    font-size:20px!important;
  }
  .dpg-hero-content>p:not(.dpg-eyebrow) {
    font-size:16px;
  }
  .dpg-competence-line {
    font-size:12px;
    text-align:left;
    padding:18px 0;
  }
  .dpg-section-heading {
    grid-template-columns:1fr;
    gap:25px;
    margin-bottom:35px;
  }
  .dpg-section-heading>p {
    margin:0;
  }
  .dpg-services-grid {
    grid-template-columns:1fr 1fr;
    gap:32px 23px;
  }
  .dpg-service-card h3 {
    font-size:20px;
  }
  .dpg-service-card p {
    font-size:14px;
  }
  .dpg-additional-planning {
    padding:26px 22px;
    grid-template-columns:1fr;
    gap:5px;
  }
  .dpg-benefits-grid {
    gap:30px 22px;
  }
  .dpg-benefit {
    padding:0!important;
    border:0;
  }
  .dpg-benefit h3 {
    font-size:20px;
  }
  .dpg-benefit p {
    font-size:14px;
  }
  .dpg-audience-grid,.dpg-diagram-grid,.dpg-project-grid,.dpg-knowledge-grid {
    grid-template-columns:1fr;
  }
  .dpg-audience-card>img {
    height:235px!important;
  }
  .dpg-audience-grid {
    gap:25px;
  }
  .dpg-process {
    grid-template-columns:1fr;
    gap:18px;
  }
  .dpg-step-number {
    margin-bottom:14px;
  }
  .dpg-process-step {
    padding-top:20px;
  }
  .dpg-process h3 {
    font-size:24px;
  }
  .dpg-team-grid {
    gap:20px;
  }
  .dpg-team-card h3 {
    font-size:21px;
  }
  .dpg-contact-banner {
    padding:60px 0;
  }
  .dpg-contact-banner .dpg-shell {
    grid-template-columns:1fr;
    gap:18px;
  }
  .dpg-contact-details {
    display:block;
  }
  .dpg-contact-details a {
    display:block;
    margin-block:12px;
  }
  .dpg-footer-bottom {
    flex-direction:column;
    gap:20px;
  }
  .dpg-reading {
    padding-top:44px;
  }
  .dpg-reading h2 {
    font-size:28px;
  }
  .dpg-contact-grid {
    grid-template-columns:1fr;
  }
  .dpg-section {
    scroll-margin-top:var(--dpg-header-offset, 75px);
  }
  .admin-bar .dpg-header {
    top:46px;
  }
  .dpg-breadcrumb {
    font-size:12px;
  }
  .dpg-contact-card {
    padding:25px;
  }
}
@media(prefers-reduced-motion:reduce) {
  .dpg-site * {
    scroll-behavior:auto!important;
    transition:none!important;
  }
}
/* Long German discipline names must remain within narrow mobile columns. */
.dpg-site article,.dpg-site .dpg-section-heading>div,.dpg-site .dpg-section-heading>p {
  min-width:0;
}
.dpg-service-card h3,.dpg-service-card h4,.dpg-benefit h3,.dpg-team-card h3 {
  overflow-wrap:normal;
  hyphens:none;
}
.dpg-section-green .dpg-section-heading>div+div {
  color:#d9e3df;
}
.dpg-contact-banner .dpg-section-heading>div+div,.dpg-contact-banner .dpg-section-heading>p {
  color:#e2eae6;
}
.dpg-site .dpg-section-green p,.dpg-site .dpg-contact-banner p,.dpg-site .dpg-contact-banner a:not(.dpg-button) {
  color:#e2eae6;
}
.dpg-site .dpg-section-green h2,.dpg-site .dpg-section-green h3,.dpg-site .dpg-contact-banner h2 {
  color:#fff;
}
.dpg-wide {
  max-width:1440px;
  padding:60px var(--dpg-gutter);
  margin:auto;
}
.dpg-wide>h1,.dpg-wide>p {
  max-width:900px;
}
.dpg-wide .dpg-section .dpg-shell {
  padding-inline:0;
}
.dpg-wide .dpg-section {
  padding:40px 0;
  background:#fff;
}
.dpg-wide .dpg-section-heading {
  display:none;
}
/* Existing site-wide paragraph overrides must not defeat the supplied color system. */
.dpg-site p {
  color:inherit!important;
}
.dpg-site .dpg-service-card p,.dpg-site .dpg-benefit p,.dpg-site .dpg-team-card p,.dpg-site .dpg-knowledge-card p {
  color:var(--dpg-muted)!important;
}
.dpg-site .dpg-section-green p,.dpg-site .dpg-contact-banner p {
  color:#e2eae6!important;
}
.dpg-site h1,.dpg-site h2 {
  overflow-wrap:normal;
  hyphens:none;
}
.dpg-site .ms-btn-primary {
  background:var(--dpg-green);
  border-color:var(--dpg-green);
}
.dpg-site .ms-modal {
  color:var(--dpg-ink);
  font-family:Arial,Helvetica,sans-serif;
}
.dpg-site .ms-modal h3 {
  font-size:25px;
}
.dpg-site .ms-modal-close {
  min-width:44px;
  min-height:44px;
}

/* Match the supplied reference: compact horizontal overviews and quiet architectural bands. */
.dpg-header-inner { min-height: 88px; }
.dpg-logo img { width: 242px; }
.dpg-hero { min-height: 610px; }
.dpg-hero-image { width: 65%; object-position: right 55%; }
.dpg-hero:after { background: linear-gradient(90deg,#f8f9f7 0%,#f8f9f7 35%,rgba(248,249,247,.85) 45%,rgba(248,249,247,.15) 64%,transparent 79%); }
.dpg-hero-content { max-width: 620px; padding: 65px 0; }
.dpg-hero-content h1 { font-size: clamp(38px,4.1vw,62px); }
.dpg-hero-content>p:not(.dpg-eyebrow) { max-width: 490px; }
.dpg-hero-content .dpg-actions { margin-top: 25px; gap: 16px; }
.dpg-hero-content .dpg-text-link { font-size: 13px; }
.dpg-site .dpg-hero-caption { color: #fff!important; }
.dpg-competence-line { padding: 15px 0; font-size: 13px; }
.dpg-section { padding: clamp(50px,5.2vw,76px) 0; }
.dpg-section-heading { grid-template-columns: .92fr 1.25fr; gap: 8%; margin-bottom: 40px; }
.dpg-section-heading h2 { font-size: clamp(30px,2.9vw,42px); }
.dpg-section-heading>p,.dpg-section-heading>div+div { font-size: 17px; }
.dpg-discipline-strip { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 24px; margin: 52px 0 28px; }
.dpg-discipline-strip a { display: flex; align-items: center; flex-direction: column; gap: 20px; text-align: center; font-size: 16px; line-height: 1.35; font-weight: 500; }
.dpg-discipline-strip img { width: 58px; height: 58px; }
.dpg-service-details { border-top: 1px solid var(--dpg-border); margin-top: 38px; }
.dpg-service-details>summary { padding: 20px 0; cursor: pointer; color: var(--dpg-muted); font-size: 15px; }
.dpg-service-details[open]>summary { margin-bottom: 20px; }
.dpg-service-details .dpg-services-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.dpg-benefits-grid { margin-top: 48px; gap: 45px; }
.dpg-benefit { padding: 0; border: 0; text-align: center; }
.dpg-benefit h3 { font-size: 21px; margin: 0 auto 15px; max-width: 250px; }
.dpg-benefit p { font-size: 14px; line-height: 1.5; }
.dpg-benefit .dpg-icon { width: 58px; height: 58px!important; }
.dpg-section-note { margin-top: 30px!important; text-align: center; }
.dpg-audience-grid { grid-template-columns: repeat(6,minmax(0,1fr)); gap: 14px; }
.dpg-audience-card>img { height: auto!important; aspect-ratio: 1.06; }
.dpg-audience-card .dpg-card-body { padding: 17px 13px; }
.dpg-audience-card h3 { font-size: 16px; line-height: 1.3; letter-spacing: -.02em; min-height: 62px; margin-bottom: 12px; }
.dpg-audience-card .dpg-card-lead { font-size: 13px; line-height: 1.45; margin-bottom: 15px; }
.dpg-audience-card .dpg-text-link,.dpg-audience-details { font-size: 12px; }
.dpg-audience-details { margin: 15px 0; padding-top: 10px; }
.dpg-audience-details summary { min-height: 30px; font-size: 12px; }
.dpg-audience-details p { font-size: 15px; }
.dpg-audience-grid:has(details[open]) { grid-template-columns: repeat(3,minmax(0,1fr)); }
.dpg-audience-grid:has(details[open]) .dpg-audience-card>img { aspect-ratio: 1.8; }
.dpg-section-process { background: #fff; padding-top: 20px; }
.dpg-section-process .dpg-section-heading { margin-bottom: 20px; }
.dpg-section-process .dpg-section-heading p { font-size: 16px; }
.dpg-section-process .dpg-process { gap: 24px; margin: 30px 0; }
.dpg-section-process .dpg-process-step { border-color: var(--dpg-border); }
.dpg-section-process .dpg-step-number { color: var(--dpg-muted); margin-bottom: 14px; }
.dpg-section-process .dpg-process h3 { font-size: 19px; margin-bottom: 14px; }
.dpg-section-process .dpg-process p { color: var(--dpg-muted)!important; font-size: 14px; }
.dpg-section-process .dpg-button-light { color: var(--dpg-green)!important; border-color: var(--dpg-border); }
#planung-und-bau .dpg-section-heading { margin-bottom: 25px; }
#planung-und-bau .dpg-section-heading p { font-size: 16px; }
#planung-und-bau .dpg-section-heading .dpg-lead { margin-top: 20px; font-size: 20px; }
.dpg-diagram-grid { gap: 25px; margin-top: 28px; }
.dpg-diagram figcaption { padding: 14px 24px; }
#ueber-uns { padding-block: 55px; }
#ueber-uns .dpg-section-heading { margin-bottom: 28px; }
.dpg-team-grid { margin: 25px 0; }
.dpg-team-card { padding-top: 18px; }
.dpg-team-card h3 { font-size: 21px; margin-bottom: 14px; }
#projekte { background: #fff; }
.dpg-project-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; }
.dpg-project-card .dpg-card-body { padding: 12px; }
.dpg-project-card h3 { font-size: 20px; margin: 0 0 10px; }
.dpg-project-card h2 { font-size: 20px; margin: 0 0 10px; }
.dpg-pagination { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 40px; }
.dpg-pagination [aria-current="page"] { font-weight: 700; text-decoration: underline; }
.dpg-project-card p { font-size: 14px; line-height: 1.45; }
.dpg-project-card .dpg-text-link { font-size: 13px; }
.dpg-project-image .project-image-credit { position: absolute; right: 8px; bottom: 8px; padding: 2px 5px; background: rgba(255,255,255,.66); color: #56615e; font-size: 10px; line-height: 1.2; }
#projekte>.dpg-shell>.dpg-text-link { margin-top: 25px; }
.dpg-knowledge-card { border: 0; padding: 0; background: var(--dpg-warm); }
.dpg-knowledge-card>img,.dpg-knowledge-card>a>img { aspect-ratio: 1.6; object-fit: cover; width: 100%; }
.dpg-knowledge-card .dpg-card-body { padding: 25px; }
.dpg-knowledge-card h3 { font-size: 24px; }
.dpg-knowledge-card .dpg-eyebrow { font-size: 11px; }
.dpg-review-label { font-size: 12px; color: var(--dpg-muted); margin-block: 12px; }
.dpg-contact-banner { padding: 72px 0; }
.dpg-contact-image { opacity: .55; }
.dpg-contact-banner:after { content: ''; position: absolute; inset: 0; background: rgba(8,28,27,.45); z-index: -1; }
.dpg-contact-banner .dpg-section-heading { margin-bottom: 0; }
.dpg-contact-banner h2 { font-size: clamp(32px,3.2vw,48px); }
.dpg-contact-details { padding: 32px 0; margin: 0; font-size: 14px; }
.dpg-contact-details .dpg-section-heading { margin-bottom: 0; }
.dpg-contact-details p { font-size: 14px; }
.dpg-footer { padding-top: 32px; }
@media(max-width:1100px) {
  .dpg-header-inner { min-height: 80px; }
  .dpg-discipline-strip { gap: 15px; }
  .dpg-discipline-strip a { font-size: 14px; }
  .dpg-audience-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
  .dpg-audience-card h3 { min-height: 42px; font-size: 18px; }
  .dpg-audience-card .dpg-card-body { padding: 20px; }
  .dpg-audience-card .dpg-card-lead { font-size: 14px; }
  .dpg-project-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px) {
  .dpg-logo img { width: 190px; }
  .dpg-header-inner { min-height: 74px; }
  .dpg-hero { min-height: 0; }
  .dpg-hero-content { padding: 42px 0 32px; }
  .dpg-hero-content h1 { font-size: clamp(36px,8vw,48px); }
  .dpg-hero-image { width: 100%; height: 290px!important; }
  .dpg-section-heading { grid-template-columns: 1fr; gap: 24px; }
  .dpg-discipline-strip { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px 20px; margin: 35px 0 20px; }
  .dpg-discipline-strip a:last-child { grid-column: 1/-1; }
  .dpg-discipline-strip a { font-size: 16px; gap: 14px; }
  .dpg-service-details .dpg-services-grid { grid-template-columns: 1fr; }
  .dpg-benefits-grid { gap: 35px 22px; }
  .dpg-benefit h3 { font-size: 18px; }
  .dpg-audience-grid,.dpg-audience-grid:has(details[open]) { grid-template-columns: 1fr; }
  .dpg-audience-card>img,.dpg-audience-grid:has(details[open]) .dpg-audience-card>img { aspect-ratio: 1.8; }
  .dpg-audience-card h3 { min-height: 0; font-size: 23px; }
  .dpg-audience-card .dpg-card-lead,.dpg-audience-card .dpg-text-link,.dpg-audience-details summary { font-size: 15px; }
  .dpg-project-grid { grid-template-columns: 1fr; }
  .dpg-contact-details { padding: 32px 0 10px; }
  .dpg-contact-details .dpg-section-heading { font-size: 14px; }
}
.dpg-card-category { color: var(--dpg-muted); font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.dpg-editorial-status { color: var(--dpg-muted); font-size: 12px; }
.dpg-reading>.dpg-editorial-status { border-bottom: 1px solid var(--dpg-border); padding-bottom: 16px; }
.dpg-project-detail-image { margin: 30px 0; }
.dpg-project-detail-image img { width: 100%; }
.dpg-project-detail-image figcaption { margin-top: 8px; font-size: 12px; color: var(--dpg-muted); }
.dpg-photo-credit,.dpg-builder-credit { font-size: 11px; line-height: 1.5; margin-top: 6px!important; }
.dpg-builder-credit a { text-decoration: underline; text-underline-offset: 2px; }
.dpg-site .project-thumbnail { position: relative; }
.dpg-site .project-thumbnail .project-image-credit { right: 0; bottom: 0; padding: 4px 7px; background: rgba(255,255,255,.92); color: var(--dpg-muted); font-size: 11px; text-shadow: none; }
.dpg-site .dpg-footer .dpg-stamps { margin:0; padding:30px 0 34px; border-top:1px solid var(--dpg-border); }
.dpg-site .dpg-footer .dpg-stamps__grid { justify-content:space-between; gap:20px; }
.dpg-site .dpg-footer .dpg-stamp { --dpg-stamp-size:clamp(7.4rem,12vw,10.5rem); }
.dpg-social { display:flex; align-items:flex-start; gap:8px; }
.dpg-social-icon { display:inline-flex; align-items:center; justify-content:center; min-width:34px; height:34px; padding:0 5px; border:1px solid var(--dpg-border); border-radius:50%; color:var(--dpg-green)!important; font-size:11px; font-weight:700; line-height:1; }
.dpg-social-icon-pending { opacity:.45; cursor:default; }
@media(max-width:800px) { .dpg-site .dpg-footer .dpg-stamps__grid { justify-content:center; } }
.dpg-visual { position: relative; }
.dpg-visual img { display: block; width: 100%; }
.dpg-image-credit { position: absolute; right: 0; bottom: 0; z-index: 2; padding: 4px 7px; background: rgba(255,255,255,.92); color: #40534e; font-size: 11px; line-height: 1.4; }
.dpg-visual-background { display: contents; }
.dpg-hero .dpg-image-credit { bottom: 50px; right: 18px; }
.dpg-contact-banner .dpg-image-credit { bottom: 12px; right: 18px; }
.dpg-audience-card>.dpg-visual img { aspect-ratio: 1.06; height: auto!important; object-fit: cover; }
.dpg-audience-grid:has(details[open]) .dpg-visual img { aspect-ratio: 1.8; }
.dpg-knowledge-image .dpg-visual img { aspect-ratio: 1.6; height: auto; object-fit: cover; }
.dpg-visual[data-dpg-visual="hero"] .dpg-hero-image { width: 65%; object-position: center 48%; }

/* One-page navigation and the shared detail areas below each choice. */
@media(prefers-reduced-motion:no-preference) {
  html:has(body.dpg-site) { scroll-behavior: smooth; }
}
.dpg-nav { gap: clamp(10px,1.1vw,18px); font-size: 13px; }
.dpg-site #planung-und-bau,.dpg-site #projekte,.dpg-site #wissen,.dpg-site #kontakt { scroll-margin-top: var(--dpg-header-offset, 89px); }
.dpg-site .dpg-discipline-strip button {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 20px;
  width: 100%;
  min-height: 125px;
  padding: 12px 6px 16px;
  border: 0;
  border-bottom: 2px solid transparent;
  background: transparent;
  color: var(--dpg-ink);
  cursor: pointer;
  text-align: center;
  font-size: 16px;
  line-height: 1.35;
  font-weight: 500;
}
.dpg-site .dpg-discipline-strip button[aria-selected="true"] { border-color: var(--dpg-green); color: var(--dpg-green); }
.dpg-site .dpg-discipline-strip button:hover { color: var(--dpg-green); }
.dpg-selection-panel { border-top: 1px solid var(--dpg-border); background: var(--dpg-warm); }
.dpg-selection-panel h3 { margin-bottom: 14px; }
.dpg-selection-panel p { margin-bottom: 12px; }
.dpg-service-panel { display: grid; grid-template-columns: 70px 1fr; gap: 26px; padding: clamp(24px,3vw,42px); margin-bottom: 28px; }
.dpg-selection-icon { width: 56px; height: 56px; }
.dpg-audience-tabs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0 28px; margin: 0 0 20px; border-top: 1px solid var(--dpg-border); }
.dpg-audience-tabs button { border: 0; border-bottom: 1px solid var(--dpg-border); background: transparent; color: var(--dpg-muted); cursor: pointer; min-height: 66px; padding: 15px 4px; text-align: left; font-size: 16px; line-height: 1.3; }
.dpg-audience-tabs button:hover { color: var(--dpg-green); }
.dpg-audience-tabs button[aria-selected="true"] { border-bottom: 2px solid var(--dpg-green); color: var(--dpg-green); font-weight: 600; }
.dpg-audience-grid[hidden] { display: none; }
.dpg-audience-panel { display: grid; grid-template-columns: minmax(220px,.9fr) minmax(0,1.1fr); min-height: 360px; border: 0; }
.dpg-audience-panel>.dpg-visual { min-height: 360px; }
.dpg-audience-panel>.dpg-visual img { width: 100%; height: 100%!important; min-height: 360px; object-fit: cover; }
.dpg-audience-panel-copy { align-self: center; padding: clamp(26px,4vw,56px); }
.dpg-audience-panel-copy .dpg-card-lead { font-size: 19px; }
.dpg-audience-panel-copy .dpg-text-link { margin-top: 12px; }
@media(max-width:1100px) {
  .dpg-site .dpg-discipline-strip button { gap: 14px; font-size: 14px; }
}
@media(max-width:700px) {
  .dpg-site #planung-und-bau,.dpg-site #projekte,.dpg-site #wissen,.dpg-site #kontakt { scroll-margin-top: var(--dpg-header-offset, 75px); }
  .dpg-site .dpg-discipline-strip button { min-height: 0; font-size: 16px; }
  .dpg-site .dpg-discipline-strip button:last-child { grid-column: 1/-1; }
  .dpg-service-panel { grid-template-columns: 1fr; gap: 12px; }
  .dpg-audience-tabs { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dpg-audience-tabs { gap: 0 16px; }
  .dpg-audience-tabs button { font-size: 14px; padding: 12px 2px; }
  .dpg-audience-panel { grid-template-columns: 1fr; }
  .dpg-audience-panel>.dpg-visual,.dpg-audience-panel>.dpg-visual img { min-height: 0; height: auto!important; }
  .dpg-audience-panel>.dpg-visual img { aspect-ratio: 1.6; }
  .dpg-audience-card>.dpg-visual img { aspect-ratio: 1.8; }
  .dpg-visual[data-dpg-visual="hero"] .dpg-hero-image { width: 100%; }
  .dpg-hero .dpg-image-credit { bottom: 54px; }
}

/* Section boundaries follow the sticky header instead of a fixed approximation. */
.dpg-site main [id] { scroll-margin-top: var(--dpg-header-offset, 89px); }
.dpg-site main section[id] { scroll-margin-top: var(--dpg-header-offset, 89px); }
.dpg-contact-actions .dpg-actions { margin-top: 24px; gap: 12px; }
.dpg-contact-actions .ms-schedule-button { background: #fff; color: var(--dpg-green)!important; cursor: pointer; }
.dpg-contact-phone { display: inline-block; margin-top: 12px; font-size: 16px; }
.dpg-contact-banner .dpg-contact-actions a { color: #fff; }
.dpg-contact-banner .dpg-contact-actions .dpg-button { background: #fff; border-color: #fff; color: var(--dpg-green)!important; }
.dpg-contact-banner .dpg-contact-actions .ms-schedule-button { background: transparent; border-color: #fff; color: #fff!important; }
.dpg-property-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 28px; }
.dpg-property-card { padding-top: 22px; border-top: 1px solid var(--dpg-border); }
.dpg-property-card h3 { font-size: 22px; margin-bottom: 16px; }
.dpg-property-card p { font-size: 16px; color: var(--dpg-muted); }
.dpg-project-filters { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 28px; }
.dpg-project-filters button { border: 1px solid var(--dpg-border); border-radius: 3px; padding: 12px 18px; background: #fff; color: var(--dpg-green); cursor: pointer; }
.dpg-project-filters button[aria-pressed="true"] { background: var(--dpg-green); border-color: var(--dpg-green); color: #fff; }
.dpg-project-filters[hidden],.dpg-project-card[hidden] { display: none; }
@media(max-width:1100px) { .dpg-property-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) {
  .dpg-site main [id],.dpg-site main section[id] { scroll-margin-top: var(--dpg-header-offset, 75px); }
  .dpg-property-grid { grid-template-columns: 1fr; gap: 18px; }
  .dpg-property-card h3 { font-size: 21px; }
}
@media(max-width:360px) {
  .dpg-header .dpg-logo img { width: 160px; }
  .dpg-header-inner { gap: 10px; }
  .dpg-menu-toggle { gap: 6px; }
}
@media(max-width:700px) {
  .dpg-hero > .dpg-visual > picture { order: 1; width: 100%; }
}
@media(max-width:1100px) {
  html:not(.dpg-js) { --dpg-header-offset: 0px; }
  html:not(.dpg-js) .dpg-header { position: static; }
}
