html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  font-family: sans-serif;
}

body {
  margin: 0;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

audio, canvas, progress, video {
  vertical-align: baseline;
  display: inline-block;
}

audio:not([controls]) {
  height: 0;
  display: none;
}

[hidden], template {
  display: none;
}

a {
  background-color: #0000;
}

a:active, a:hover {
  outline: 0;
}

abbr[title] {
  border-bottom: 1px dotted;
}

b, strong {
  font-weight: bold;
}

dfn {
  font-style: italic;
}

h1 {
  margin: .67em 0;
  font-size: 2em;
}

mark {
  color: #000;
  background: #ff0;
}

small {
  font-size: 80%;
}

sub, sup {
  vertical-align: baseline;
  font-size: 75%;
  line-height: 0;
  position: relative;
}

sup {
  top: -.5em;
}

sub {
  bottom: -.25em;
}

img {
  border: 0;
}

svg:not(:root) {
  overflow: hidden;
}

hr {
  box-sizing: content-box;
  height: 0;
}

pre {
  overflow: auto;
}

code, kbd, pre, samp {
  font-family: monospace;
  font-size: 1em;
}

button, input, optgroup, select, textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}

button {
  overflow: visible;
}

button, select {
  text-transform: none;
}

button, html input[type="button"], input[type="reset"] {
  -webkit-appearance: button;
  cursor: pointer;
}

button[disabled], html input[disabled] {
  cursor: default;
}

button::-moz-focus-inner, input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input {
  line-height: normal;
}

input[type="checkbox"], input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}

input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

input[type="search"] {
  -webkit-appearance: none;
}

input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

legend {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto;
}

optgroup {
  font-weight: bold;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td, th {
  padding: 0;
}

@font-face {
  font-family: webflow-icons;
  src: url("data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBiUAAAC8AAAAYGNtYXDpP+a4AAABHAAAAFxnYXNwAAAAEAAAAXgAAAAIZ2x5ZmhS2XEAAAGAAAADHGhlYWQTFw3HAAAEnAAAADZoaGVhCXYFgQAABNQAAAAkaG10eCe4A1oAAAT4AAAAMGxvY2EDtALGAAAFKAAAABptYXhwABAAPgAABUQAAAAgbmFtZSoCsMsAAAVkAAABznBvc3QAAwAAAAAHNAAAACAAAwP4AZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADpAwPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAQAAAAAwACAACAAQAAQAg5gPpA//9//8AAAAAACDmAOkA//3//wAB/+MaBBcIAAMAAQAAAAAAAAAAAAAAAAABAAH//wAPAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEBIAAAAyADgAAFAAAJAQcJARcDIP5AQAGA/oBAAcABwED+gP6AQAABAOAAAALgA4AABQAAEwEXCQEH4AHAQP6AAYBAAcABwED+gP6AQAAAAwDAAOADQALAAA8AHwAvAAABISIGHQEUFjMhMjY9ATQmByEiBh0BFBYzITI2PQE0JgchIgYdARQWMyEyNj0BNCYDIP3ADRMTDQJADRMTDf3ADRMTDQJADRMTDf3ADRMTDQJADRMTAsATDSANExMNIA0TwBMNIA0TEw0gDRPAEw0gDRMTDSANEwAAAAABAJ0AtAOBApUABQAACQIHCQEDJP7r/upcAXEBcgKU/usBFVz+fAGEAAAAAAL//f+9BAMDwwAEAAkAABcBJwEXAwE3AQdpA5ps/GZsbAOabPxmbEMDmmz8ZmwDmvxmbAOabAAAAgAA/8AEAAPAAB0AOwAABSInLgEnJjU0Nz4BNzYzMTIXHgEXFhUUBw4BBwYjNTI3PgE3NjU0Jy4BJyYjMSIHDgEHBhUUFx4BFxYzAgBqXV6LKCgoKIteXWpqXV6LKCgoKIteXWpVSktvICEhIG9LSlVVSktvICEhIG9LSlVAKCiLXl1qal1eiygoKCiLXl1qal1eiygoZiEgb0tKVVVKS28gISEgb0tKVVVKS28gIQABAAABwAIAA8AAEgAAEzQ3PgE3NjMxFSIHDgEHBhUxIwAoKIteXWpVSktvICFmAcBqXV6LKChmISBvS0pVAAAAAgAA/8AFtgPAADIAOgAAARYXHgEXFhUUBw4BBwYHIxUhIicuAScmNTQ3PgE3NjMxOAExNDc+ATc2MzIXHgEXFhcVATMJATMVMzUEjD83NlAXFxYXTjU1PQL8kz01Nk8XFxcXTzY1PSIjd1BQWlJJSXInJw3+mdv+2/7c25MCUQYcHFg5OUA/ODlXHBwIAhcXTzY1PTw1Nk8XF1tQUHcjIhwcYUNDTgL+3QFt/pOTkwABAAAAAQAAmM7nP18PPPUACwQAAAAAANciZKUAAAAA1yJkpf/9/70FtgPDAAAACAACAAAAAAAAAAEAAAPA/8AAAAW3//3//QW2AAEAAAAAAAAAAAAAAAAAAAAMBAAAAAAAAAAAAAAAAgAAAAQAASAEAADgBAAAwAQAAJ0EAP/9BAAAAAQAAAAFtwAAAAAAAAAKABQAHgAyAEYAjACiAL4BFgE2AY4AAAABAAAADAA8AAMAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAADgCuAAEAAAAAAAEADQAAAAEAAAAAAAIABwCWAAEAAAAAAAMADQBIAAEAAAAAAAQADQCrAAEAAAAAAAUACwAnAAEAAAAAAAYADQBvAAEAAAAAAAoAGgDSAAMAAQQJAAEAGgANAAMAAQQJAAIADgCdAAMAAQQJAAMAGgBVAAMAAQQJAAQAGgC4AAMAAQQJAAUAFgAyAAMAAQQJAAYAGgB8AAMAAQQJAAoANADsd2ViZmxvdy1pY29ucwB3AGUAYgBmAGwAbwB3AC0AaQBjAG8AbgBzVmVyc2lvbiAxLjAAVgBlAHIAcwBpAG8AbgAgADEALgAwd2ViZmxvdy1pY29ucwB3AGUAYgBmAGwAbwB3AC0AaQBjAG8AbgBzd2ViZmxvdy1pY29ucwB3AGUAYgBmAGwAbwB3AC0AaQBjAG8AbgBzUmVndWxhcgBSAGUAZwB1AGwAYQByd2ViZmxvdy1pY29ucwB3AGUAYgBmAGwAbwB3AC0AaQBjAG8AbgBzRm9udCBnZW5lcmF0ZWQgYnkgSWNvTW9vbi4ARgBvAG4AdAAgAGcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAASQBjAG8ATQBvAG8AbgAuAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") format("truetype");
  font-weight: normal;
  font-style: normal;
}

[class^="w-icon-"], [class*=" w-icon-"] {
  speak: none;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  font-family: webflow-icons !important;
}

.w-icon-slider-right:before {
  content: "";
}

.w-icon-slider-left:before {
  content: "";
}

.w-icon-nav-menu:before {
  content: "";
}

.w-icon-arrow-down:before, .w-icon-dropdown-toggle:before {
  content: "";
}

.w-icon-file-upload-remove:before {
  content: "";
}

.w-icon-file-upload-icon:before {
  content: "";
}

* {
  box-sizing: border-box;
}

html {
  height: 100%;
}

body {
  color: #333;
  background-color: #fff;
  min-height: 100%;
  margin: 0;
  font-family: Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
}

img {
  vertical-align: middle;
  max-width: 100%;
  display: inline-block;
}

html.w-mod-touch * {
  background-attachment: scroll !important;
}

.w-block {
  display: block;
}

.w-inline-block {
  max-width: 100%;
  display: inline-block;
}

.w-clearfix:before, .w-clearfix:after {
  content: " ";
  grid-area: 1 / 1 / 2 / 2;
  display: table;
}

.w-clearfix:after {
  clear: both;
}

.w-hidden {
  display: none;
}

.w-button {
  color: #fff;
  line-height: inherit;
  cursor: pointer;
  background-color: #3898ec;
  border: 0;
  border-radius: 0;
  padding: 9px 15px;
  text-decoration: none;
  display: inline-block;
}

input.w-button {
  -webkit-appearance: button;
}

:where(button.w-popover-trigger), :where(button.w-modal-trigger) {
  color: inherit;
  cursor: pointer;
  font: inherit;
  line-height: inherit;
  text-align: inherit;
  -webkit-text-decoration: inherit;
  text-decoration: inherit;
  background-color: #0000;
  border: 0;
  margin: 0;
  padding: 0;
}

:where(.w-popover) {
  position-anchor: auto;
  position-area: top;
}

:where(.w-popover[data-w-popover-backdrop-animated], .w-modal[data-w-popover-backdrop-animated])::backdrop {
  animation: var(--w-backdrop-animation, none);
}

:where(.w-popover, .w-modal) {
  --w-backdrop-animation: initial;
}

.w-popover-mask {
  opacity: 0 !important;
  clip-path: none !important;
  pointer-events: auto !important;
  border: 0 !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  position: fixed !important;
  inset: 0 !important;
  transform: none !important;
}

.w-popover-mask[popover] {
  translate: none !important;
  rotate: none !important;
  scale: none !important;
}

.w-popover-mask::backdrop {
  display: none !important;
}

.w-popover-mask:not(:popover-open) {
  display: none !important;
}

@supports not selector(:popover-open) {
  .w-popover-mask {
    display: none !important;
  }
}

.w-popover[popover]:not(:popover-open) {
  display: none;
}

.w-modal:not([open]):not([popover]) {
  display: none;
}

.w-modal[popover]:not(:popover-open) {
  display: none;
}

:where(.w-modal[data-w-modal-lock-scroll]) {
  overscroll-behavior: contain;
}

html[data-w-dynpage] [data-w-cloak] {
  color: #0000 !important;
}

.w-code-block {
  margin: unset;
}

pre.w-code-block code {
  all: inherit;
}

pre.w-code-block code > span {
  display: block !important;
}

.w-optimization {
  display: contents;
}

.w-webflow-badge, .w-webflow-badge > img {
  box-sizing: unset;
  width: unset;
  height: unset;
  max-height: unset;
  max-width: unset;
  min-height: unset;
  min-width: unset;
  margin: unset;
  padding: unset;
  float: unset;
  clear: unset;
  border: unset;
  border-radius: unset;
  background: unset;
  background-image: unset;
  background-position: unset;
  background-size: unset;
  background-repeat: unset;
  background-origin: unset;
  background-clip: unset;
  background-attachment: unset;
  background-color: unset;
  box-shadow: unset;
  transform: unset;
  direction: unset;
  font-family: unset;
  font-weight: unset;
  color: unset;
  font-size: unset;
  line-height: unset;
  font-style: unset;
  font-variant: unset;
  text-align: unset;
  letter-spacing: unset;
  -webkit-text-decoration: unset;
  text-decoration: unset;
  text-indent: unset;
  text-transform: unset;
  list-style-type: unset;
  text-shadow: unset;
  vertical-align: unset;
  cursor: unset;
  white-space: unset;
  word-break: unset;
  word-spacing: unset;
  word-wrap: unset;
  transition: unset;
}

.w-webflow-badge {
  white-space: nowrap;
  cursor: pointer;
  box-shadow: 0 0 0 1px #0000001a, 0 1px 3px #0000001a;
  visibility: visible !important;
  opacity: 1 !important;
  z-index: 2147483647 !important;
  color: #aaadb0 !important;
  width: auto !important;
  height: auto !important;
  overflow: unset !important;
  background-color: #fff !important;
  border-radius: 3px !important;
  margin: 0 !important;
  padding: 6px !important;
  font-size: 12px !important;
  line-height: 14px !important;
  text-decoration: none !important;
  display: inline-block !important;
  position: fixed !important;
  inset: auto 12px 12px auto !important;
  transform: none !important;
}

.w-webflow-badge > img {
  position: unset;
  visibility: unset !important;
  opacity: 1 !important;
  vertical-align: middle !important;
  display: inline-block !important;
}

h1, h2, h3, h4, h5, h6 {
  margin-bottom: 10px;
  font-weight: bold;
}

h1 {
  margin-top: 20px;
  font-size: 38px;
  line-height: 44px;
}

h2 {
  margin-top: 20px;
  font-size: 32px;
  line-height: 36px;
}

h3 {
  margin-top: 20px;
  font-size: 24px;
  line-height: 30px;
}

h4 {
  margin-top: 10px;
  font-size: 18px;
  line-height: 24px;
}

h5 {
  margin-top: 10px;
  font-size: 14px;
  line-height: 20px;
}

h6 {
  margin-top: 10px;
  font-size: 12px;
  line-height: 18px;
}

p {
  margin-top: 0;
  margin-bottom: 10px;
}

blockquote {
  border-left: 5px solid #e2e2e2;
  margin: 0 0 10px;
  padding: 10px 20px;
  font-size: 18px;
  line-height: 22px;
}

figure {
  margin: 0 0 10px;
}

figcaption {
  text-align: center;
  margin-top: 5px;
}

ul, ol {
  margin-top: 0;
  margin-bottom: 10px;
  padding-left: 40px;
}

.w-list-unstyled {
  padding-left: 0;
  list-style: none;
}

.w-embed:before, .w-embed:after {
  content: " ";
  grid-area: 1 / 1 / 2 / 2;
  display: table;
}

.w-embed:after {
  clear: both;
}

.w-video {
  width: 100%;
  padding: 0;
  position: relative;
}

.w-video iframe, .w-video object, .w-video embed {
  border: none;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

button, [type="button"], [type="reset"] {
  cursor: pointer;
  -webkit-appearance: button;
  border: 0;
}

.w-form {
  margin: 0 0 15px;
}

.w-form-done {
  text-align: center;
  background-color: #ddd;
  padding: 20px;
  display: none;
}

.w-form-fail {
  background-color: #ffdede;
  margin-top: 10px;
  padding: 10px;
  display: none;
}

label {
  margin-bottom: 5px;
  font-weight: bold;
  display: block;
}

.w-input, .w-select {
  color: #333;
  vertical-align: middle;
  background-color: #fff;
  border: 1px solid #ccc;
  width: 100%;
  height: 38px;
  margin-bottom: 10px;
  padding: 8px 12px;
  font-size: 14px;
  line-height: 1.42857;
  display: block;
}

.w-input::placeholder, .w-select::placeholder {
  color: #999;
}

.w-input:focus, .w-select:focus {
  border-color: #3898ec;
  outline: 0;
}

.w-input[disabled], .w-select[disabled], .w-input[readonly], .w-select[readonly], fieldset[disabled] .w-input, fieldset[disabled] .w-select {
  cursor: not-allowed;
}

.w-input[disabled]:not(.w-input-disabled), .w-select[disabled]:not(.w-input-disabled), .w-input[readonly], .w-select[readonly], fieldset[disabled]:not(.w-input-disabled) .w-input, fieldset[disabled]:not(.w-input-disabled) .w-select {
  background-color: #eee;
}

textarea.w-input, textarea.w-select {
  height: auto;
}

.w-select {
  background-color: #f3f3f3;
}

.w-select[multiple] {
  height: auto;
}

.w-form-label {
  cursor: pointer;
  margin-bottom: 0;
  font-weight: normal;
  display: inline-block;
}

.w-radio {
  margin-bottom: 5px;
  padding-left: 20px;
  display: block;
}

.w-radio:before, .w-radio:after {
  content: " ";
  grid-area: 1 / 1 / 2 / 2;
  display: table;
}

.w-radio:after {
  clear: both;
}

.w-radio-input {
  float: left;
  margin: 3px 0 0 -20px;
  line-height: normal;
}

.w-file-upload {
  margin-bottom: 10px;
  display: block;
}

.w-file-upload-input {
  opacity: 0;
  z-index: -100;
  width: .1px;
  height: .1px;
  position: absolute;
  overflow: hidden;
}

.w-file-upload-default, .w-file-upload-uploading, .w-file-upload-success {
  color: #333;
  display: inline-block;
}

.w-file-upload-error {
  margin-top: 10px;
  display: block;
}

.w-file-upload-default.w-hidden, .w-file-upload-uploading.w-hidden, .w-file-upload-error.w-hidden, .w-file-upload-success.w-hidden {
  display: none;
}

.w-file-upload-uploading-btn {
  cursor: pointer;
  background-color: #fafafa;
  border: 1px solid #ccc;
  margin: 0;
  padding: 8px 12px;
  font-size: 14px;
  font-weight: normal;
  display: flex;
}

.w-file-upload-file {
  background-color: #fafafa;
  border: 1px solid #ccc;
  flex-grow: 1;
  justify-content: space-between;
  margin: 0;
  padding: 8px 9px 8px 11px;
  display: flex;
}

.w-file-upload-file-name {
  font-size: 14px;
  font-weight: normal;
  display: block;
}

.w-file-remove-link {
  cursor: pointer;
  width: auto;
  height: auto;
  margin-top: 3px;
  margin-left: 10px;
  padding: 3px;
  display: block;
}

.w-icon-file-upload-remove {
  margin: auto;
  font-size: 10px;
}

.w-file-upload-error-msg {
  color: #ea384c;
  padding: 2px 0;
  display: inline-block;
}

.w-file-upload-info {
  padding: 0 12px;
  line-height: 38px;
  display: inline-block;
}

.w-file-upload-label {
  cursor: pointer;
  background-color: #fafafa;
  border: 1px solid #ccc;
  margin: 0;
  padding: 8px 12px;
  font-size: 14px;
  font-weight: normal;
  display: inline-block;
}

.w-icon-file-upload-icon, .w-icon-file-upload-uploading {
  width: 20px;
  margin-right: 8px;
  display: inline-block;
}

.w-icon-file-upload-uploading {
  height: 20px;
}

.w-container {
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
}

.w-container:before, .w-container:after {
  content: " ";
  grid-area: 1 / 1 / 2 / 2;
  display: table;
}

.w-container:after {
  clear: both;
}

.w-container .w-row {
  margin-left: -10px;
  margin-right: -10px;
}

.w-row:before, .w-row:after {
  content: " ";
  grid-area: 1 / 1 / 2 / 2;
  display: table;
}

.w-row:after {
  clear: both;
}

.w-row .w-row {
  margin-left: 0;
  margin-right: 0;
}

.w-col {
  float: left;
  width: 100%;
  min-height: 1px;
  padding-left: 10px;
  padding-right: 10px;
  position: relative;
}

.w-col .w-col {
  padding-left: 0;
  padding-right: 0;
}

.w-col-1 {
  width: 8.33333%;
}

.w-col-2 {
  width: 16.6667%;
}

.w-col-3 {
  width: 25%;
}

.w-col-4 {
  width: 33.3333%;
}

.w-col-5 {
  width: 41.6667%;
}

.w-col-6 {
  width: 50%;
}

.w-col-7 {
  width: 58.3333%;
}

.w-col-8 {
  width: 66.6667%;
}

.w-col-9 {
  width: 75%;
}

.w-col-10 {
  width: 83.3333%;
}

.w-col-11 {
  width: 91.6667%;
}

.w-col-12 {
  width: 100%;
}

.w-hidden-main {
  display: none !important;
}

@media screen and (max-width: 991px) {
  .w-container {
    max-width: 728px;
  }

  .w-hidden-main {
    display: inherit !important;
  }

  .w-hidden-medium {
    display: none !important;
  }

  .w-col-medium-1 {
    width: 8.33333%;
  }

  .w-col-medium-2 {
    width: 16.6667%;
  }

  .w-col-medium-3 {
    width: 25%;
  }

  .w-col-medium-4 {
    width: 33.3333%;
  }

  .w-col-medium-5 {
    width: 41.6667%;
  }

  .w-col-medium-6 {
    width: 50%;
  }

  .w-col-medium-7 {
    width: 58.3333%;
  }

  .w-col-medium-8 {
    width: 66.6667%;
  }

  .w-col-medium-9 {
    width: 75%;
  }

  .w-col-medium-10 {
    width: 83.3333%;
  }

  .w-col-medium-11 {
    width: 91.6667%;
  }

  .w-col-medium-12 {
    width: 100%;
  }

  .w-col-stack {
    width: 100%;
    left: auto;
    right: auto;
  }
}

@media screen and (max-width: 767px) {
  .w-hidden-main, .w-hidden-medium {
    display: inherit !important;
  }

  .w-hidden-small {
    display: none !important;
  }

  .w-row, .w-container .w-row {
    margin-left: 0;
    margin-right: 0;
  }

  .w-col {
    width: 100%;
    left: auto;
    right: auto;
  }

  .w-col-small-1 {
    width: 8.33333%;
  }

  .w-col-small-2 {
    width: 16.6667%;
  }

  .w-col-small-3 {
    width: 25%;
  }

  .w-col-small-4 {
    width: 33.3333%;
  }

  .w-col-small-5 {
    width: 41.6667%;
  }

  .w-col-small-6 {
    width: 50%;
  }

  .w-col-small-7 {
    width: 58.3333%;
  }

  .w-col-small-8 {
    width: 66.6667%;
  }

  .w-col-small-9 {
    width: 75%;
  }

  .w-col-small-10 {
    width: 83.3333%;
  }

  .w-col-small-11 {
    width: 91.6667%;
  }

  .w-col-small-12 {
    width: 100%;
  }
}

@media screen and (max-width: 479px) {
  .w-container {
    max-width: none;
  }

  .w-hidden-main, .w-hidden-medium, .w-hidden-small {
    display: inherit !important;
  }

  .w-hidden-tiny {
    display: none !important;
  }

  .w-col {
    width: 100%;
  }

  .w-col-tiny-1 {
    width: 8.33333%;
  }

  .w-col-tiny-2 {
    width: 16.6667%;
  }

  .w-col-tiny-3 {
    width: 25%;
  }

  .w-col-tiny-4 {
    width: 33.3333%;
  }

  .w-col-tiny-5 {
    width: 41.6667%;
  }

  .w-col-tiny-6 {
    width: 50%;
  }

  .w-col-tiny-7 {
    width: 58.3333%;
  }

  .w-col-tiny-8 {
    width: 66.6667%;
  }

  .w-col-tiny-9 {
    width: 75%;
  }

  .w-col-tiny-10 {
    width: 83.3333%;
  }

  .w-col-tiny-11 {
    width: 91.6667%;
  }

  .w-col-tiny-12 {
    width: 100%;
  }
}

.w-widget {
  position: relative;
}

.w-widget-map {
  width: 100%;
  height: 400px;
}

.w-widget-map label {
  width: auto;
  display: inline;
}

.w-widget-map img {
  max-width: inherit;
}

.w-widget-map .gm-style-iw {
  text-align: center;
}

.w-widget-map .gm-style-iw > button {
  display: none !important;
}

.w-widget-twitter {
  overflow: hidden;
}

.w-widget-twitter-count-shim {
  vertical-align: top;
  text-align: center;
  background: #fff;
  border: 1px solid #758696;
  border-radius: 3px;
  width: 28px;
  height: 20px;
  display: inline-block;
  position: relative;
}

.w-widget-twitter-count-shim * {
  pointer-events: none;
  -webkit-user-select: none;
  user-select: none;
}

.w-widget-twitter-count-shim .w-widget-twitter-count-inner {
  text-align: center;
  color: #999;
  font-family: serif;
  font-size: 15px;
  line-height: 12px;
  position: relative;
}

.w-widget-twitter-count-shim .w-widget-twitter-count-clear {
  display: block;
  position: relative;
}

.w-widget-twitter-count-shim.w--large {
  width: 36px;
  height: 28px;
}

.w-widget-twitter-count-shim.w--large .w-widget-twitter-count-inner {
  font-size: 18px;
  line-height: 18px;
}

.w-widget-twitter-count-shim:not(.w--vertical) {
  margin-left: 5px;
  margin-right: 8px;
}

.w-widget-twitter-count-shim:not(.w--vertical).w--large {
  margin-left: 6px;
}

.w-widget-twitter-count-shim:not(.w--vertical):before, .w-widget-twitter-count-shim:not(.w--vertical):after {
  content: " ";
  pointer-events: none;
  border: solid #0000;
  width: 0;
  height: 0;
  position: absolute;
  top: 50%;
  left: 0;
}

.w-widget-twitter-count-shim:not(.w--vertical):before {
  border-width: 4px;
  border-color: #75869600 #5d6c7b #75869600 #75869600;
  margin-top: -4px;
  margin-left: -9px;
}

.w-widget-twitter-count-shim:not(.w--vertical).w--large:before {
  border-width: 5px;
  margin-top: -5px;
  margin-left: -10px;
}

.w-widget-twitter-count-shim:not(.w--vertical):after {
  border-width: 4px;
  border-color: #fff0 #fff #fff0 #fff0;
  margin-top: -4px;
  margin-left: -8px;
}

.w-widget-twitter-count-shim:not(.w--vertical).w--large:after {
  border-width: 5px;
  margin-top: -5px;
  margin-left: -9px;
}

.w-widget-twitter-count-shim.w--vertical {
  width: 61px;
  height: 33px;
  margin-bottom: 8px;
}

.w-widget-twitter-count-shim.w--vertical:before, .w-widget-twitter-count-shim.w--vertical:after {
  content: " ";
  pointer-events: none;
  border: solid #0000;
  width: 0;
  height: 0;
  position: absolute;
  top: 100%;
  left: 50%;
}

.w-widget-twitter-count-shim.w--vertical:before {
  border-width: 5px;
  border-color: #5d6c7b #75869600 #75869600;
  margin-left: -5px;
}

.w-widget-twitter-count-shim.w--vertical:after {
  border-width: 4px;
  border-color: #fff #fff0 #fff0;
  margin-left: -4px;
}

.w-widget-twitter-count-shim.w--vertical .w-widget-twitter-count-inner {
  font-size: 18px;
  line-height: 22px;
}

.w-widget-twitter-count-shim.w--vertical.w--large {
  width: 76px;
}

.w-background-video {
  color: #fff;
  height: 500px;
  position: relative;
  overflow: hidden;
}

.w-background-video > video {
  object-fit: cover;
  z-index: -100;
  background-position: 50%;
  background-size: cover;
  width: 100%;
  height: 100%;
  margin: auto;
  position: absolute;
  inset: -100%;
}

.w-background-video > video::-webkit-media-controls-start-playback-button {
  -webkit-appearance: none;
  display: none !important;
}

.w-background-video--control {
  background-color: #0000;
  padding: 0;
  position: absolute;
  bottom: 1em;
  right: 1em;
}

.w-background-video--control > [hidden] {
  display: none !important;
}

.w-slider {
  text-align: center;
  clear: both;
  -webkit-tap-highlight-color: #0000;
  tap-highlight-color: #0000;
  background: #ddd;
  height: 300px;
  position: relative;
}

.w-slider-mask {
  z-index: 1;
  white-space: nowrap;
  height: 100%;
  display: block;
  position: relative;
  left: 0;
  right: 0;
  overflow: hidden;
}

.w-slide {
  vertical-align: top;
  white-space: normal;
  text-align: left;
  width: 100%;
  height: 100%;
  display: inline-block;
  position: relative;
}

.w-slider-nav {
  z-index: 2;
  text-align: center;
  -webkit-tap-highlight-color: #0000;
  tap-highlight-color: #0000;
  height: 40px;
  margin: auto;
  padding-top: 10px;
  position: absolute;
  inset: auto 0 0;
}

.w-slider-nav.w-round > div {
  border-radius: 100%;
}

.w-slider-nav.w-num > div {
  width: auto;
  height: auto;
  font-size: inherit;
  line-height: inherit;
  padding: .2em .5em;
}

.w-slider-nav.w-shadow > div {
  box-shadow: 0 0 3px #3336;
}

.w-slider-nav-invert {
  color: #fff;
}

.w-slider-nav-invert > div {
  background-color: #2226;
}

.w-slider-nav-invert > div.w-active {
  background-color: #222;
}

.w-slider-dot {
  cursor: pointer;
  background-color: #fff6;
  width: 1em;
  height: 1em;
  margin: 0 3px .5em;
  transition: background-color .1s, color .1s;
  display: inline-block;
  position: relative;
}

.w-slider-dot.w-active {
  background-color: #fff;
}

.w-slider-dot:focus {
  outline: none;
  box-shadow: 0 0 0 2px #fff;
}

.w-slider-dot:focus.w-active {
  box-shadow: none;
}

.w-slider-arrow-left, .w-slider-arrow-right {
  cursor: pointer;
  color: #fff;
  -webkit-tap-highlight-color: #0000;
  tap-highlight-color: #0000;
  -webkit-user-select: none;
  user-select: none;
  width: 80px;
  margin: auto;
  font-size: 40px;
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.w-slider-arrow-left [class^="w-icon-"], .w-slider-arrow-right [class^="w-icon-"], .w-slider-arrow-left [class*=" w-icon-"], .w-slider-arrow-right [class*=" w-icon-"] {
  position: absolute;
}

.w-slider-arrow-left:focus, .w-slider-arrow-right:focus {
  outline: 0;
}

.w-slider-arrow-left {
  z-index: 3;
  right: auto;
}

.w-slider-arrow-right {
  z-index: 4;
  left: auto;
}

.w-icon-slider-left, .w-icon-slider-right {
  width: 1em;
  height: 1em;
  margin: auto;
  inset: 0;
}

.w-slider-aria-label {
  clip: rect(0 0 0 0);
  border: 0;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  position: absolute;
  overflow: hidden;
}

.w-slider-force-show {
  display: block !important;
}

.w-dropdown {
  text-align: left;
  z-index: 900;
  margin-left: auto;
  margin-right: auto;
  display: inline-block;
  position: relative;
}

.w-dropdown-btn, .w-dropdown-toggle, .w-dropdown-link {
  vertical-align: top;
  color: #222;
  text-align: left;
  white-space: nowrap;
  margin-left: auto;
  margin-right: auto;
  padding: 20px;
  text-decoration: none;
  position: relative;
}

.w-dropdown-toggle {
  -webkit-user-select: none;
  user-select: none;
  cursor: pointer;
  padding-right: 40px;
  display: inline-block;
}

.w-dropdown-toggle:focus {
  outline: 0;
}

.w-icon-dropdown-toggle {
  width: 1em;
  height: 1em;
  margin: auto 20px auto auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
}

.w-dropdown-list {
  background: #ddd;
  min-width: 100%;
  display: none;
  position: absolute;
}

.w-dropdown-list.w--open {
  display: block;
}

.w-dropdown-link {
  color: #222;
  padding: 10px 20px;
  display: block;
}

.w-dropdown-link.w--current {
  color: #0082f3;
}

.w-dropdown-link:focus {
  outline: 0;
}

.w-lightbox-backdrop {
  cursor: auto;
  letter-spacing: normal;
  text-indent: 0;
  text-shadow: none;
  text-transform: none;
  visibility: visible;
  white-space: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  color: #fff;
  text-align: center;
  z-index: 2000;
  opacity: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  -webkit-tap-highlight-color: transparent;
  background: #000000e6;
  outline: 0;
  font-family: Helvetica Neue, Helvetica, Ubuntu, Segoe UI, Verdana, sans-serif;
  font-size: 17px;
  font-style: normal;
  font-weight: 300;
  line-height: 1.2;
  list-style: disc;
  position: fixed;
  inset: 0;
  -webkit-transform: translate(0);
}

.w-lightbox-backdrop, .w-lightbox-container {
  -webkit-overflow-scrolling: touch;
  height: 100%;
  overflow: auto;
}

.w-lightbox-content {
  height: 100vh;
  position: relative;
  overflow: hidden;
}

.w-lightbox-view {
  opacity: 0;
  width: 100vw;
  height: 100vh;
  position: absolute;
}

.w-lightbox-view:before {
  content: "";
  height: 100vh;
}

.w-lightbox-group, .w-lightbox-group .w-lightbox-view, .w-lightbox-group .w-lightbox-view:before {
  height: 86vh;
}

.w-lightbox-frame, .w-lightbox-view:before {
  vertical-align: middle;
  display: inline-block;
}

.w-lightbox-figure {
  margin: 0;
  position: relative;
}

.w-lightbox-group .w-lightbox-figure {
  cursor: pointer;
}

.w-lightbox-img {
  width: auto;
  max-width: none;
  height: auto;
}

.w-lightbox-image {
  float: none;
  max-width: 100vw;
  max-height: 100vh;
  display: block;
}

.w-lightbox-group .w-lightbox-image {
  max-height: 86vh;
}

.w-lightbox-caption {
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
  background: #0006;
  padding: .5em 1em;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  overflow: hidden;
}

.w-lightbox-embed {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

.w-lightbox-control {
  cursor: pointer;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 24px;
  width: 4em;
  transition: all .3s;
  position: absolute;
  top: 0;
}

.w-lightbox-left {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii0yMCAwIDI0IDQwIiB3aWR0aD0iMjQiIGhlaWdodD0iNDAiPjxnIHRyYW5zZm9ybT0icm90YXRlKDQ1KSI+PHBhdGggZD0ibTAgMGg1djIzaDIzdjVoLTI4eiIgb3BhY2l0eT0iLjQiLz48cGF0aCBkPSJtMSAxaDN2MjNoMjN2M2gtMjZ6IiBmaWxsPSIjZmZmIi8+PC9nPjwvc3ZnPg==");
  display: none;
  bottom: 0;
  left: 0;
}

.w-lightbox-right {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii00IDAgMjQgNDAiIHdpZHRoPSIyNCIgaGVpZ2h0PSI0MCI+PGcgdHJhbnNmb3JtPSJyb3RhdGUoNDUpIj48cGF0aCBkPSJtMC0waDI4djI4aC01di0yM2gtMjN6IiBvcGFjaXR5PSIuNCIvPjxwYXRoIGQ9Im0xIDFoMjZ2MjZoLTN2LTIzaC0yM3oiIGZpbGw9IiNmZmYiLz48L2c+PC9zdmc+");
  display: none;
  bottom: 0;
  right: 0;
}

.w-lightbox-close {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii00IDAgMTggMTciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxNyI+PGcgdHJhbnNmb3JtPSJyb3RhdGUoNDUpIj48cGF0aCBkPSJtMCAwaDd2LTdoNXY3aDd2NWgtN3Y3aC01di03aC03eiIgb3BhY2l0eT0iLjQiLz48cGF0aCBkPSJtMSAxaDd2LTdoM3Y3aDd2M2gtN3Y3aC0zdi03aC03eiIgZmlsbD0iI2ZmZiIvPjwvZz48L3N2Zz4=");
  background-size: 18px;
  height: 2.6em;
  right: 0;
}

.w-lightbox-strip {
  white-space: nowrap;
  padding: 0 1vh;
  line-height: 0;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  overflow: auto hidden;
}

.w-lightbox-item {
  box-sizing: content-box;
  cursor: pointer;
  width: 10vh;
  padding: 2vh 1vh;
  display: inline-block;
  -webkit-transform: translate3d(0, 0, 0);
}

.w-lightbox-active {
  opacity: .3;
}

.w-lightbox-thumbnail {
  background: #222;
  height: 10vh;
  position: relative;
  overflow: hidden;
}

.w-lightbox-thumbnail-image {
  position: absolute;
  top: 0;
  left: 0;
}

.w-lightbox-thumbnail .w-lightbox-tall {
  width: 100%;
  top: 50%;
  transform: translate(0, -50%);
}

.w-lightbox-thumbnail .w-lightbox-wide {
  height: 100%;
  left: 50%;
  transform: translate(-50%);
}

.w-lightbox-spinner {
  box-sizing: border-box;
  border: 5px solid #0006;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  margin-top: -20px;
  margin-left: -20px;
  animation: .8s linear infinite spin;
  position: absolute;
  top: 50%;
  left: 50%;
}

.w-lightbox-spinner:after {
  content: "";
  border: 3px solid #0000;
  border-bottom-color: #fff;
  border-radius: 50%;
  position: absolute;
  inset: -4px;
}

.w-lightbox-hide {
  display: none;
}

.w-lightbox-noscroll {
  overflow: hidden;
}

@media (min-width: 768px) {
  .w-lightbox-content {
    height: 96vh;
    margin-top: 2vh;
  }

  .w-lightbox-view, .w-lightbox-view:before {
    height: 96vh;
  }

  .w-lightbox-group, .w-lightbox-group .w-lightbox-view, .w-lightbox-group .w-lightbox-view:before {
    height: 84vh;
  }

  .w-lightbox-image {
    max-width: 96vw;
    max-height: 96vh;
  }

  .w-lightbox-group .w-lightbox-image {
    max-width: 82.3vw;
    max-height: 84vh;
  }

  .w-lightbox-left, .w-lightbox-right {
    opacity: .5;
    display: block;
  }

  .w-lightbox-close {
    opacity: .8;
  }

  .w-lightbox-control:hover {
    opacity: 1;
  }
}

.w-lightbox-inactive, .w-lightbox-inactive:hover {
  opacity: 0;
}

.w-richtext:before, .w-richtext:after {
  content: " ";
  grid-area: 1 / 1 / 2 / 2;
  display: table;
}

.w-richtext:after {
  clear: both;
}

.w-richtext[contenteditable="true"]:before, .w-richtext[contenteditable="true"]:after {
  white-space: initial;
}

.w-richtext ol, .w-richtext ul {
  overflow: hidden;
}

.w-richtext .w-richtext-figure-selected.w-richtext-figure-type-video div:after, .w-richtext .w-richtext-figure-selected[data-rt-type="video"] div:after, .w-richtext .w-richtext-figure-selected.w-richtext-figure-type-image div, .w-richtext .w-richtext-figure-selected[data-rt-type="image"] div {
  outline: 2px solid #2895f7;
}

.w-richtext figure.w-richtext-figure-type-video > div:after, .w-richtext figure[data-rt-type="video"] > div:after {
  content: "";
  display: none;
  position: absolute;
  inset: 0;
}

.w-richtext figure {
  max-width: 60%;
  position: relative;
}

.w-richtext figure > div:before {
  cursor: default !important;
}

.w-richtext figure img {
  width: 100%;
}

.w-richtext figure figcaption.w-richtext-figcaption-placeholder {
  opacity: .6;
}

.w-richtext figure div {
  color: #0000;
  font-size: 0;
}

.w-richtext figure.w-richtext-figure-type-image, .w-richtext figure[data-rt-type="image"] {
  display: table;
}

.w-richtext figure.w-richtext-figure-type-image > div, .w-richtext figure[data-rt-type="image"] > div {
  display: inline-block;
}

.w-richtext figure.w-richtext-figure-type-image > figcaption, .w-richtext figure[data-rt-type="image"] > figcaption {
  caption-side: bottom;
  display: table-caption;
}

.w-richtext figure.w-richtext-figure-type-video, .w-richtext figure[data-rt-type="video"] {
  width: 60%;
  height: 0;
}

.w-richtext figure.w-richtext-figure-type-video iframe, .w-richtext figure[data-rt-type="video"] iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.w-richtext figure.w-richtext-figure-type-video > div, .w-richtext figure[data-rt-type="video"] > div {
  width: 100%;
}

.w-richtext figure.w-richtext-align-center {
  clear: both;
  margin-left: auto;
  margin-right: auto;
}

.w-richtext figure.w-richtext-align-center.w-richtext-figure-type-image > div, .w-richtext figure.w-richtext-align-center[data-rt-type="image"] > div {
  max-width: 100%;
}

.w-richtext figure.w-richtext-align-normal {
  clear: both;
}

.w-richtext figure.w-richtext-align-fullwidth {
  text-align: center;
  clear: both;
  width: 100%;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  display: block;
}

.w-richtext figure.w-richtext-align-fullwidth > div {
  padding-bottom: inherit;
  display: inline-block;
}

.w-richtext figure.w-richtext-align-fullwidth > figcaption {
  display: block;
}

.w-richtext figure.w-richtext-align-floatleft {
  float: left;
  clear: none;
  margin-right: 15px;
}

.w-richtext figure.w-richtext-align-floatright {
  float: right;
  clear: none;
  margin-left: 15px;
}

.w-nav {
  z-index: 1000;
  background: #ddd;
  position: relative;
}

.w-nav:before, .w-nav:after {
  content: " ";
  grid-area: 1 / 1 / 2 / 2;
  display: table;
}

.w-nav:after {
  clear: both;
}

.w-nav-brand {
  float: left;
  color: #333;
  text-decoration: none;
  position: relative;
}

.w-nav-link {
  vertical-align: top;
  color: #222;
  text-align: left;
  margin-left: auto;
  margin-right: auto;
  padding: 20px;
  text-decoration: none;
  display: inline-block;
  position: relative;
}

.w-nav-link.w--current {
  color: #0082f3;
}

.w-nav-menu {
  float: right;
  position: relative;
}

[data-nav-menu-open] {
  text-align: center;
  background: #c8c8c8;
  min-width: 200px;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  overflow: visible;
  display: block !important;
}

.w--nav-link-open {
  display: block;
  position: relative;
}

.w-nav-overlay {
  width: 100%;
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  overflow: hidden;
}

.w-nav-overlay [data-nav-menu-open] {
  top: 0;
}

.w-nav[data-animation="over-left"] .w-nav-overlay {
  width: auto;
}

.w-nav[data-animation="over-left"] .w-nav-overlay, .w-nav[data-animation="over-left"] [data-nav-menu-open] {
  z-index: 1;
  top: 0;
  right: auto;
}

.w-nav[data-animation="over-right"] .w-nav-overlay {
  width: auto;
}

.w-nav[data-animation="over-right"] .w-nav-overlay, .w-nav[data-animation="over-right"] [data-nav-menu-open] {
  z-index: 1;
  top: 0;
  left: auto;
}

.w-nav-button {
  float: right;
  cursor: pointer;
  -webkit-tap-highlight-color: #0000;
  tap-highlight-color: #0000;
  -webkit-user-select: none;
  user-select: none;
  padding: 18px;
  font-size: 24px;
  display: none;
  position: relative;
}

.w-nav-button:focus {
  outline: 0;
}

.w-nav-button.w--open {
  color: #fff;
  background-color: #c8c8c8;
}

.w-nav[data-collapse="all"] .w-nav-menu {
  display: none;
}

.w-nav[data-collapse="all"] .w-nav-button, .w--nav-dropdown-open, .w--nav-dropdown-toggle-open {
  display: block;
}

.w--nav-dropdown-list-open {
  position: static;
}

@media screen and (max-width: 991px) {
  .w-nav[data-collapse="medium"] .w-nav-menu {
    display: none;
  }

  .w-nav[data-collapse="medium"] .w-nav-button {
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .w-nav[data-collapse="small"] .w-nav-menu {
    display: none;
  }

  .w-nav[data-collapse="small"] .w-nav-button {
    display: block;
  }

  .w-nav-brand {
    padding-left: 10px;
  }
}

@media screen and (max-width: 479px) {
  .w-nav[data-collapse="tiny"] .w-nav-menu {
    display: none;
  }

  .w-nav[data-collapse="tiny"] .w-nav-button {
    display: block;
  }
}

.w-tabs {
  position: relative;
}

.w-tabs:before, .w-tabs:after {
  content: " ";
  grid-area: 1 / 1 / 2 / 2;
  display: table;
}

.w-tabs:after {
  clear: both;
}

.w-tab-menu {
  position: relative;
}

.w-tab-link {
  vertical-align: top;
  text-align: left;
  cursor: pointer;
  color: #222;
  background-color: #ddd;
  padding: 9px 30px;
  text-decoration: none;
  display: inline-block;
  position: relative;
}

.w-tab-link.w--current {
  background-color: #c8c8c8;
}

.w-tab-link:focus {
  outline: 0;
}

.w-tab-content {
  display: block;
  position: relative;
  overflow: hidden;
}

.w-tab-pane {
  display: none;
  position: relative;
}

.w--tab-active {
  display: block;
}

@media screen and (max-width: 479px) {
  .w-tab-link {
    display: block;
  }
}

.w-ix-emptyfix:after {
  content: "";
}

@keyframes spin {
  0% {
    transform: rotate(0);
  }

  100% {
    transform: rotate(360deg);
  }
}

.w-dyn-empty {
  background-color: #ddd;
  padding: 10px;
}

.w-dyn-hide, .w-dyn-bind-empty, .w-condition-invisible {
  display: none !important;
}

.wf-layout-layout {
  display: grid;
}

.w-layout-grid {
  grid-row-gap: 16px;
  grid-column-gap: 16px;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

@font-face {
  font-family: DM Sans;
  src: url("https://cdn.prod.website-files.com/6ac319b6daed2b76470fdd49/6ae74e10e0091504fab01610_DMSans-400.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: DM Sans;
  src: url("https://cdn.prod.website-files.com/6ac319b6daed2b76470fdd49/6ae74e1025366954c78c3132_DMSans-200.woff") format("woff");
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: DM Sans;
  src: url("https://cdn.prod.website-files.com/6ac319b6daed2b76470fdd49/6ae74e107b524d34b6feddfe_DMSans-600.woff") format("woff");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Caveat;
  src: url("https://cdn.prod.website-files.com/6ac319b6daed2b76470fdd49/6ae74e10e0091504fab01603_Caveat-400.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: DM Sans;
  src: url("https://cdn.prod.website-files.com/6ac319b6daed2b76470fdd49/6ae74e10015519ab492f4604_DMSans-700.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: DM Sans;
  src: url("https://cdn.prod.website-files.com/6ac319b6daed2b76470fdd49/6ae74e10f630557ed12a3a97_DMSans-500.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Cormorant Garamond;
  src: url("https://cdn.prod.website-files.com/6ac319b6daed2b76470fdd49/6ae74e1055c52f1dbfc1e8e2_CormorantGaramond-600.woff") format("woff");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: DM Sans;
  src: url("https://cdn.prod.website-files.com/6ac319b6daed2b76470fdd49/6ae74e1052c31f9549c32c57_DMSans-300.woff") format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Cormorant Garamond;
  src: url("https://cdn.prod.website-files.com/6ac319b6daed2b76470fdd49/6ae74e10bc263a033c05d86b_CormorantGaramond-300.woff") format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Cormorant Garamond;
  src: url("https://cdn.prod.website-files.com/6ac319b6daed2b76470fdd49/6ae74e10bc263a033c05d868_CormorantGaramond-400.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

:root {
  --_demmler---farbe--hintergrund: #f5f1ee;
  --_demmler---farbe--text: #1f1812;
  --_demmler---schrift--sans: "DM Sans", Arial, sans-serif;
  --_demmler---farbe--dunkel: #211b17;
  --_demmler---farbe--hell: #fff;
  --_demmler---schrift--serif: "Cormorant Garamond", sans-serif;
  --_demmler---schriftgröße--referenz-titel: clamp(1.75rem, 1.25rem + 2.2vw, 4rem);
  --_demmler---farbe--akzent: #5a2d94;
  --_demmler---schriftgröße--referenz-untertitel: clamp(1.125rem, 1rem + .35vw, 1.375rem);
  --_demmler---schriftgröße--referenz-text: clamp(1rem, .9rem + .4vw, 1.25rem);
  --_demmler---schrift--script: Caveat, sans-serif;
  --relume-library-lite--rl-black: black;
  --relume-library-lite--rl-white: white;
  --relume-library-lite--rl-gray: #f4f4f4;
  --_demmler---layout--max-breite: 90rem;
  --_demmler---bild--eckenradius: .3125rem;
}

.w-checkbox {
  margin-bottom: 5px;
  padding-left: 20px;
  display: block;
}

.w-checkbox:before {
  content: " ";
  grid-area: 1 / 1 / 2 / 2;
  display: table;
}

.w-checkbox:after {
  content: " ";
  clear: both;
  grid-area: 1 / 1 / 2 / 2;
  display: table;
}

.w-checkbox-input {
  float: left;
  margin: 4px 0 0 -20px;
  line-height: normal;
}

.w-checkbox-input--inputType-custom {
  border: 1px solid #ccc;
  border-radius: 2px;
  width: 12px;
  height: 12px;
}

.w-checkbox-input--inputType-custom.w--redirected-checked {
  background-color: #3898ec;
  background-image: url("https://d3e54v103j8qbb.cloudfront.net/static/custom-checkbox-checkmark.589d534424.svg");
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  border-color: #3898ec;
}

.w-checkbox-input--inputType-custom.w--redirected-focus {
  box-shadow: 0 0 3px 1px #3898ec;
}

.w-backgroundvideo-backgroundvideoplaypausebutton:focus-visible {
  outline-offset: 2px;
  border-radius: 50%;
  outline: 2px solid #3b79c3;
}

body {
  background-color: var(--_demmler---farbe--hintergrund);
  color: var(--_demmler---farbe--text);
  -webkit-text-fill-color: inherit;
  background-clip: border-box;
  font-family: DM Sans, Arial, sans-serif;
  font-size: 1.125rem;
  font-weight: 300;
  line-height: 1.45;
}

.dhome {
  background-color: var(--_demmler---farbe--hintergrund);
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--text);
  line-height: 1.45;
}

.dheader {
  z-index: 1000;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 88px;
  padding: 20px 5%;
  transition: background-color .35s, box-shadow .35s;
  display: flex;
  position: fixed;
  inset: 0% 0% auto;
}

.dheader:where(.w-variant-9637131b-fa2f-fabe-29a8-6fe486a1bf52) {
  background-color: #211d1b;
}

.dheader:before {
  z-index: -1;
  pointer-events: none;
  content: "";
  background-image: linear-gradient(#000c 0% 22.5%, #000000ba 35.3%, #0009 47.1%, #00000070 58.8%, #00000038 71%, #0000000d 84.5%, #0000 100%);
  height: 130%;
  transition: opacity .35s;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.dlogo {
  width: 155px;
}

.dnav {
  grid-column-gap: 22px;
  grid-row-gap: 22px;
  display: none;
}

.dnavlink {
  color: #fff;
  font-size: 13px;
  text-decoration: none;
}

.dmenu {
  pointer-events: auto;
  color: #fff;
  cursor: pointer;
  font-size: 28px;
  display: flex;
}

.dfooter {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  background-color: var(--_demmler---farbe--dunkel);
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--hell);
  -webkit-text-fill-color: inherit;
  background-image: linear-gradient(#1f181299, #1f181299), url("https://cdn.prod.website-files.com/6ac319b6daed2b76470fdd49/6ac3a9850f423878ffd3468e_00Handwerk-Massivholz-Naturmaterial.webp");
  background-position: 0 0, 0 0;
  background-size: auto, cover;
  background-clip: border-box;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  padding: 4rem 4% 20px;
  font-weight: 200;
  display: block;
}

.dfooterlogo {
  width: 365px;
}

.dfootertext {
  margin: 26px 0;
  font-size: 16px;
  font-weight: 200;
}

.pw-page {
  background-color: var(--_demmler---farbe--hell);
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--text);
}

.pw-wrap {
  width: min(110rem, 100% - 6rem);
  margin: 0 auto;
}

.pw-hero {
  background-color: #f1eee9;
  background-image: url("https://cdn.prod.website-files.com/6ac319b6daed2b76470fdd49/6ac31be0a03f738cab66a1aa_demmler-umbauten.webp");
  background-position: 0 0;
  background-size: cover;
  width: 100%;
  height: 100svh;
  min-height: 100px;
  max-height: none;
  padding: 0;
  position: relative;
  overflow: hidden;
}

.pw-references {
  min-height: 360px;
  padding: 1.5rem 0 3rem;
}

.reference-card {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  background-color: #fff;
  border-top: 1px solid #e3e0dd;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  padding: 3rem 0;
  display: block;
}

.reference-title {
  font-family: var(--_demmler---schrift--serif);
  color: var(--_demmler---farbe--text);
  font-size: var(--_demmler---schriftgröße--referenz-titel);
  margin: 0;
  font-weight: 400;
  line-height: 1.1;
}

.reference-summary {
  color: var(--_demmler---farbe--akzent);
  font-size: var(--_demmler---schriftgröße--referenz-untertitel);
  margin: .75rem 0 0;
  line-height: 1.45;
}

.reference-copy {
  color: var(--_demmler---farbe--text);
  font-size: var(--_demmler---schriftgröße--referenz-text);
  margin: 1rem 0 0;
  line-height: 1.55;
}

.contact-page {
  background-color: var(--_demmler---farbe--hell);
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--text);
}

.ue-page {
  background-color: var(--_demmler---farbe--hintergrund);
  color: var(--_demmler---farbe--text);
}

.ue-hero {
  box-sizing: border-box;
  background-color: #ede9e2;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  max-width: none;
  height: 100svh;
  min-height: 480px;
  padding: 112px 8vw clamp(3rem, 7vw, 7rem);
  display: flex;
}

.ue-hero.hero-v2 {
  background-color: #0000;
  background-image: linear-gradient(0deg, #14100cad 0%, #14100c33 48%, #14100c00 72%), url("https://s3.amazonaws.com/webflow-prod-assets/6ac319b6daed2b76470fdd49/6adb1fc0dbe61338e13024dc_Team_Karriere-Titelbild.png");
  background-repeat: no-repeat;
  background-size: cover;
  justify-content: flex-end;
}

.ue-eyebrow {
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--akzent);
  letter-spacing: 0;
  text-transform: uppercase;
  font-size: clamp(1rem, 1.069rem + .132vw, 1.25rem);
  font-weight: 400;
  line-height: 1.2;
}

.ue-eyebrow.hero-v2 {
  color: #f3ece0;
  display: none;
}

.ue-title {
  max-width: 850px;
  font-family: var(--_demmler---schrift--serif);
  color: var(--_demmler---farbe--text);
  white-space: pre-line;
  margin-top: 0;
  margin-bottom: 0;
  font-size: clamp(2.75rem, 1.115rem + 3.553vw, 6rem);
  font-weight: 400;
  line-height: 1.02;
}

.ue-title.hero-v2 {
  color: #f8f4ec;
}

.ue-lead {
  max-width: 680px;
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--text);
  margin-top: 1.35rem;
  margin-bottom: 0;
  font-size: clamp(1.375rem, .622rem + 1.184vw, 2.25rem);
  font-style: italic;
  font-weight: 300;
  line-height: 1.08;
}

.ue-lead.hero-v2 {
  color: #e9e1d2;
}

.ue-section {
  padding: 82px 8vw;
}

.ue-copy {
  max-width: 760px;
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--text);
  font-size: clamp(1.0625rem, .903rem + .434vw, 1.5rem);
  font-weight: 300;
  line-height: 1.2;
}

.ue-team {
  background-color: #fff;
  border: 1px #0000;
  border-radius: 0;
  padding: 82px 8vw;
}

.ue-team-title {
  font-family: var(--_demmler---schrift--serif);
  color: var(--_demmler---farbe--text);
  justify-content: center;
  margin-top: 50px;
  margin-bottom: 16px;
  font-size: clamp(2.125rem, .158rem + 3.158vw, 4.5rem);
  font-weight: 400;
  line-height: 1.04;
  display: flex;
}

.ue-team-intro {
  max-width: 680px;
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--text);
  margin-bottom: 36px;
  font-size: clamp(1.0625rem, .903rem + .434vw, 1.5rem);
  font-weight: 300;
  line-height: 1.2;
}

.ue-team-list {
  background-color: #f7f5f000;
  border: 1px #b9ad9d;
  max-width: 2200px;
  min-height: 140px;
  margin-left: auto;
  margin-right: auto;
  padding: 24px;
}

.ue-cta {
  color: #211b17;
  background-color: #f4f1ee;
  padding: 0;
}

.ue-cta-title {
  max-width: 700px;
  font-family: var(--_demmler---schrift--serif);
  color: var(--_demmler---farbe--hell);
  margin-bottom: 26px;
  font-size: clamp(2.125rem, .158rem + 3.158vw, 4.5rem);
  font-weight: 400;
  line-height: 1.04;
}

.ue-button {
  color: #fff;
  border: 1px solid #fff;
  padding: 14px 22px;
  font-weight: 700;
  text-decoration: none;
  display: inline-block;
}

.team-card {
  background-color: #fff;
  border-radius: 12px;
  min-height: 180px;
  margin-bottom: 20px;
  padding: 24px;
  box-shadow: 0 12px 30px #0000001f;
}

.team-area {
  color: #6f4fc2;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-bottom: 22px;
  font-size: 12px;
  font-weight: 700;
}

.team-name {
  font-family: var(--_demmler---schrift--serif);
  margin-bottom: 8px;
  font-size: 1.35rem;
  font-weight: 600;
  line-height: 1.08;
}

.team-role {
  font-family: var(--_demmler---schrift--sans);
  color: #655e57;
  margin: 0;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.1;
}

.service-page, .company-page, .architecture-page, .materials-page, .partners-page, .wrw-page, .venue-page, .legal-page {
  background-color: var(--_demmler---farbe--hintergrund);
  color: var(--_demmler---farbe--text);
}

.legal-header {
  background-color: #ebe7e1;
  max-width: 860px;
  margin: 0 auto;
  padding: 96px 32px 48px;
}

.legal-content {
  max-width: 860px;
  margin: 0 auto;
  padding: 48px 32px 96px;
}

.legal-title {
  margin: 0;
  font-size: 64px;
  line-height: 1;
}

.legal-subtitle {
  font-size: 20px;
}

.legal-heading {
  margin: 44px 0 12px;
  font-size: 26px;
}

.legal-copy {
  font-size: 16px;
  line-height: 1.6;
}

.legal-link {
  color: #6240b8;
}

.legal-notice {
  color: #665f59;
  border-top: 1px solid #d6cec4;
  padding-top: 20px;
}

.legal-page-1 {
  background-color: var(--_demmler---farbe--hintergrund);
  max-width: 900px;
  color: var(--_demmler---farbe--text);
  margin: 0 auto;
  padding: 88px 36px 110px;
}

.legal-head {
  border-bottom: 1px solid #d7cec4;
  padding-bottom: 34px;
}

.legal-kicker {
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--akzent);
  letter-spacing: 0;
  text-transform: uppercase;
  font-size: clamp(1rem, 1.069rem + .132vw, 1.25rem);
  font-weight: 400;
  line-height: 1.2;
}

.legal-title-1 {
  overflow-wrap: break-word;
  -webkit-hyphens: auto;
  hyphens: auto;
  margin: 14px 0 22px;
  font-size: 52px;
  line-height: 1.04;
}

.legal-subtitle-1 {
  margin: 4px 0;
  font-size: 16px;
}

.legal-note {
  background-color: #eee7db;
  border-left: 3px solid #6c47ae;
  margin: 32px 0;
  padding: 16px 18px;
  font-size: 14px;
}

.legal-copy-1 {
  overflow-wrap: break-word;
  font-size: 16px;
  line-height: 1.65;
}

.legal-h2 {
  overflow-wrap: break-word;
  -webkit-hyphens: auto;
  hyphens: auto;
  margin: 42px 0 16px;
  font-size: 26px;
  line-height: 1.2;
}

.legal-h3 {
  margin: 0 0 16px;
  font-size: 20px;
}

.legal-contact {
  background-color: #eee7db;
  padding: 16px 18px;
}

.legal-form {
  background-color: #fff;
  border: 1px solid #cfc4b7;
  margin: 24px 0;
  padding: 24px;
}

.legal-source {
  color: #655d55;
  margin-top: 46px;
  font-size: 13px;
}

.privacy-page {
  background-color: var(--_demmler---farbe--hintergrund);
  max-width: 900px;
  color: var(--_demmler---farbe--text);
  margin: 0 auto;
  padding: 88px 36px 110px;
}

.privacy-head {
  border-bottom: 1px solid #d7cec4;
  padding-bottom: 34px;
}

.privacy-kicker {
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--akzent);
  letter-spacing: 0;
  text-transform: uppercase;
  font-size: clamp(1rem, 1.069rem + .132vw, 1.25rem);
  font-weight: 400;
  line-height: 1.2;
}

.privacy-title {
  overflow-wrap: break-word;
  -webkit-hyphens: auto;
  hyphens: auto;
  margin: 14px 0 22px;
  font-size: 52px;
  line-height: 1.04;
}

.privacy-note {
  background-color: #eee7db;
  border-left: 3px solid #6c47ae;
  margin: 32px 0;
  padding: 16px 18px;
  font-size: 14px;
}

.privacy-copy {
  overflow-wrap: break-word;
  font-size: 16px;
  line-height: 1.65;
}

.privacy-h2 {
  overflow-wrap: break-word;
  -webkit-hyphens: auto;
  hyphens: auto;
  margin: 42px 0 16px;
  font-size: 26px;
  line-height: 1.2;
}

.privacy-data {
  background-color: #eee7db;
  padding: 16px 18px;
}

.privacy-list {
  margin: 0 0 20px;
  padding-left: 24px;
}

.news-page {
  background-color: var(--_demmler---farbe--hell);
  color: var(--_demmler---farbe--text);
}

.news-hero {
  align-items: flex-end;
  min-height: 100svh;
  display: flex;
  position: relative;
  overflow: hidden;
}

.news-hero-image {
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

.news-hero-overlay {
  background-image: linear-gradient(#14100d14 20%, #14100dad 100%);
  position: absolute;
  inset: 0;
}

.news-hero-copy {
  z-index: 1;
  color: #fff;
  width: 100%;
  max-width: 2200px;
  margin: 0 auto;
  padding: 80px min(4vw, 5.5rem) clamp(3rem, 7vw, 7rem);
  position: relative;
}

.news-title {
  font-family: var(--_demmler---schrift--serif);
  margin: 0;
  font-size: clamp(2.75rem, 1.115rem + 3.553vw, 6rem);
  font-weight: 400;
  line-height: 1.02;
}

.news-subtitle {
  max-width: 42rem;
  margin: 1.35rem 0 0;
  font-size: clamp(1.375rem, .622rem + 1.184vw, 2.25rem);
  font-style: italic;
  font-weight: 300;
  line-height: 1.08;
}

.team-photo {
  aspect-ratio: 4 / 5;
  object-fit: cover;
  width: 100%;
  margin: 0 0 24px;
  display: block;
}

.architecture-main-visual {
  background-color: var(--_demmler---farbe--hintergrund);
  width: 100%;
  max-width: none;
  margin: 0;
  padding-left: 0;
  padding-right: 0;
  display: block;
  overflow: hidden;
}

.architecture-main-image {
  aspect-ratio: 2.4;
  object-fit: cover;
  border-radius: 5px;
  width: 100%;
  height: auto;
  max-height: none;
  display: block;
  box-shadow: 0 4px 12px #0000002e;
}

.materials-main-visual {
  background-color: #d8d1c4;
  margin: 0;
  display: none;
  overflow: hidden;
}

.materials-main-image {
  object-fit: cover;
  width: 100%;
  height: auto;
  max-height: 78vh;
  display: block;
}

.materials-benefit-grid {
  grid-column-gap: 2.5rem;
  grid-row-gap: 2.5rem;
  grid-area: 1 / 2 / 5;
  grid-template-rows: auto;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  width: 100%;
  height: auto;
  margin-top: 0;
  display: grid;
}

.materials-benefit-image {
  filter: brightness(1.06) contrast(1.15);
  mix-blend-mode: multiply;
  object-fit: contain;
  background-color: #0000;
  width: clamp(5.5rem, 7.6vw, 8rem);
  max-width: 100%;
  height: clamp(5.5rem, 7.6vw, 8rem);
  margin-left: auto;
  margin-right: auto;
  display: block;
}

.about-growth-section {
  padding: 0 min(4vw, 5.5rem) clamp(4rem, 8vw, 8rem);
}

.about-growth-inner {
  max-width: 137.5rem;
  margin: 0 auto;
}

.about-growth-visual {
  grid-template-columns: minmax(0, 36.5fr) minmax(0, 63.5fr);
  align-items: center;
  column-gap: clamp(2rem, 4vw, 5rem);
  width: 100%;
  margin: 0;
  display: grid;
  overflow: hidden;
}

.about-growth-image {
  aspect-ratio: 47 / 20;
  object-fit: cover;
  width: 100%;
  height: auto;
  max-height: none;
  display: block;
}

.about-facts-grid {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  grid-template-rows: auto;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1rem 1.25rem;
  margin-top: 0;
  margin-bottom: 2rem;
  display: grid;
}

.about-fact-image {
  mix-blend-mode: multiply;
  object-fit: cover;
  background-color: #0000;
  width: 160px;
  max-width: 100%;
  height: 95px;
  display: block;
}

.dm-home-hero-copy {
  z-index: 1;
  grid-column-gap: 10px;
  grid-row-gap: 10px;
  color: #f2f3f4;
  grid-template-rows: auto;
  grid-template-columns: 3.5fr;
  grid-auto-columns: 1fr;
  width: min(100% - 3rem, 1240px);
  margin: 0 auto;
  padding: 0 0 clamp(3rem, 7vw, 7rem);
  display: block;
  position: absolute;
  inset: auto auto 0% 6.2vw;
}

.dm-home-hero-title {
  max-width: none;
  font-family: var(--_demmler---schrift--serif);
  color: #f2f3f4;
  letter-spacing: 0;
  justify-content: flex-start;
  margin: 0;
  font-size: clamp(2.75rem, 1.115rem + 3.553vw, 6rem);
  font-weight: 300;
  line-height: 1.02;
  display: flex;
}

.dm-home-hero-subtitle {
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--hintergrund);
  text-align: left;
  letter-spacing: -.03em;
  margin: 1.35rem 0 0;
  font-size: clamp(1.375rem, .622rem + 1.184vw, 2.25rem);
  font-style: italic;
  font-weight: 300;
  line-height: 1.08;
}

.dm-architecture-intro {
  background-color: var(--_demmler---farbe--hintergrund);
  padding: 70px min(4vw, 5.5rem);
}

.dm-architecture-intro-inner {
  grid-column-gap: 4vw;
  grid-row-gap: 2vw;
  grid-template-rows: auto;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  max-width: 2200px;
  margin: 0 auto;
  display: grid;
}

.dm-architecture-intro-title {
  max-width: 720px;
  font-family: var(--_demmler---schrift--serif);
  color: var(--_demmler---farbe--text);
  letter-spacing: -.03em;
  margin: 0 0 28px;
  font-size: clamp(2.125rem, .158rem + 3.158vw, 4.5rem);
  font-weight: 400;
  line-height: 1.04;
}

.dm-architecture-intro-text {
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--text);
  margin: 0 0 16px;
  font-size: clamp(1.0625rem, .903rem + .434vw, 1.5rem);
  font-weight: 300;
  line-height: 1.2;
}

.dm-architecture-intro-image {
  aspect-ratio: 2;
  object-fit: cover;
  border-radius: 4px;
  width: 100%;
  height: auto;
  min-height: 0;
  display: block;
  box-shadow: 0 8px 24px #0000001f;
}

.dm-architecture-process {
  background-color: var(--_demmler---farbe--hintergrund);
  padding: 60px min(4vw, 5.5rem) 0;
}

.dm-architecture-process-inner {
  width: 92%;
  max-width: 2200px;
  margin: 0 auto;
  padding-top: 44px;
  padding-bottom: 20px;
}

.dm-architecture-process-grid {
  grid-column-gap: 28px;
  grid-row-gap: 24px;
  grid-template-rows: auto;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  column-gap: 14px;
  width: 100%;
  margin-top: 30px;
  display: grid;
}

.dm-architecture-process-item {
  box-shadow: none;
  text-align: center;
  border-top: 0 #0000;
  padding: 0 0 26px;
  position: relative;
}

.dm-architecture-process-number {
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--text);
  margin: 4px 0 3px;
  font-size: 15px;
  font-weight: 500;
}

.dm-architecture-process-name {
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--text);
  margin: 0 0 5px;
  font-size: clamp(1.0625rem, .848rem + .446vw, 1.25rem);
  font-weight: 700;
  line-height: 1.3;
}

.dm-architecture-process-text {
  width: 100%;
  max-width: 220px;
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--text);
  margin: 0 auto;
  font-size: clamp(1.0625rem, .848rem + .446vw, 1.25rem);
  font-weight: 300;
  line-height: 1.3;
}

.dm-materials-intro {
  background-color: #f2f3f4;
  padding: 120px 5vw;
  display: none;
}

.dm-materials-intro-inner {
  text-align: center;
  max-width: 920px;
  margin: 0 auto;
}

.dm-materials-intro-title {
  font-family: var(--_demmler---schrift--serif);
  color: var(--_demmler---farbe--text);
  letter-spacing: -.05em;
  margin: 0 0 30px;
  font-size: clamp(38px, 5vw, 64px);
  font-weight: 400;
  line-height: 1.04;
}

.dm-materials-intro-text {
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--text);
  margin: 0;
  font-size: clamp(18px, 2vw, 24px);
  font-weight: 300;
  line-height: 1.45;
}

.dm-carpentry-hero {
  background-color: var(--_demmler---farbe--dunkel);
  height: 100svh;
  min-height: 480px;
  position: relative;
  overflow: hidden;
}

.dm-carpentry-video {
  z-index: 0;
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

.dm-carpentry-shade {
  pointer-events: none;
  background-color: #140f0b57;
  position: absolute;
  inset: 0;
}

.dm-carpentry-copy {
  z-index: 1;
  pointer-events: none;
  padding-bottom: clamp(3rem, 7vw, 7rem);
  position: absolute;
  bottom: 0;
  left: 5vw;
  right: 5vw;
}

.dm-carpentry-title {
  font-family: var(--_demmler---schrift--serif);
  color: var(--_demmler---farbe--hintergrund);
  letter-spacing: 0;
  margin: 0;
  font-size: clamp(2.75rem, 1.115rem + 3.553vw, 6rem);
  font-weight: 300;
  line-height: 1.02;
}

.dm-carpentry-subtitle {
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--hintergrund);
  letter-spacing: -.03em;
  margin: 1.35rem 0 0;
  font-size: clamp(1.375rem, .622rem + 1.184vw, 2.25rem);
  font-style: italic;
  font-weight: 300;
  line-height: 1.08;
}

.dm-partners {
  background-color: #fff;
  flex-direction: column;
  height: 100svh;
  min-height: 36rem;
  padding: 0;
  display: flex;
  position: relative;
}

.dm-partners:before {
  z-index: 1;
  pointer-events: none;
  content: "";
  background-image: linear-gradient(to top, #0009 0%, #00000040 40%, #0000 65%);
  display: none;
  position: absolute;
  inset: 0;
}

.dm-partners-inner {
  grid-column-gap: .875rem;
  grid-row-gap: .875rem;
  background-color: #fff;
  flex: none;
  grid-template-columns: minmax(0, 1.4fr) repeat(4, minmax(0, 1fr));
  align-items: center;
  width: 100%;
  max-width: none;
  margin: 0 auto;
  padding: .75rem 2.5vw .875rem;
  display: grid;
  position: static;
}

.dm-partners-title {
  max-width: none;
  font-family: var(--_demmler---schrift--serif);
  color: var(--_demmler---farbe--text);
  letter-spacing: -.03em;
  margin: 0 0 1rem;
  font-size: clamp(2rem, 3.33vw, 4.5rem);
  font-weight: 400;
  line-height: 1.05;
}

.dm-partners-text {
  max-width: 620px;
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--text);
  margin: 0;
  font-size: clamp(1rem, 1.39vw, 1.5rem);
  font-weight: 400;
  line-height: 1.45;
}

.dm-partners-image {
  object-fit: cover;
  flex: 1;
  width: 100%;
  height: auto;
  min-height: 0;
  display: block;
  position: static;
}

.dm-partners-logos {
  grid-column-gap: 28px;
  grid-row-gap: 28px;
  grid-template-rows: auto;
  grid-template-columns: repeat(4, 1fr);
  align-items: center;
  padding: 0;
  display: contents;
}

.dm-partners-logo {
  object-fit: contain;
  width: 80%;
  max-width: 240px;
  height: 110px;
  max-height: none;
  margin: 0 auto;
  padding: 0;
  display: block;
}

.dm-about-story {
  padding: 0 5vw 40px;
}

.dm-about-story-inner {
  grid-column-gap: 5vw;
  grid-row-gap: 8vw;
  grid-template-rows: auto;
  grid-template-columns: minmax(0, 36.5fr) minmax(0, 63.5fr);
  align-items: center;
  max-width: 2200px;
  margin: 60px auto 0;
  display: grid;
}

.dm-about-story-kicker {
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--akzent);
  letter-spacing: 0;
  text-transform: uppercase;
  margin: 0 0 16px;
  font-size: clamp(1rem, 1.069rem + .132vw, 1.25rem);
  font-weight: 400;
  line-height: 1.2;
}

.dm-about-story-title {
  font-family: var(--_demmler---schrift--serif);
  color: var(--_demmler---farbe--text);
  letter-spacing: -.03em;
  margin: 0 0 28px;
  font-size: clamp(2.125rem, .158rem + 3.158vw, 4.5rem);
  font-weight: 400;
  line-height: 1.04;
}

.dm-about-story-text {
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--text);
  margin: 0 0 16px;
  font-size: clamp(1.0625rem, .903rem + .434vw, 1.5rem);
  font-weight: 300;
  line-height: 1.2;
}

.dm-about-story-image {
  object-fit: cover;
  width: 100%;
  height: 650px;
  min-height: 0;
}

.dm-about-generation {
  padding: 40px 5vw;
}

.dm-about-generation-inner {
  grid-column-gap: 5vw;
  grid-row-gap: 8vw;
  grid-template-rows: auto;
  grid-template-columns: minmax(0, 63.5fr) minmax(0, 36.5fr);
  align-items: center;
  max-width: 2200px;
  margin: 0 auto;
  display: grid;
}

.dm-about-generation-image {
  object-fit: cover;
  width: 100%;
  height: 650px;
  min-height: 0;
}

.dm-about-generation-kicker {
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--akzent);
  letter-spacing: 0;
  text-transform: uppercase;
  margin: 0 0 16px;
  font-size: clamp(1rem, 1.069rem + .132vw, 1.25rem);
  font-weight: 400;
  line-height: 1.2;
}

.dm-about-generation-title {
  font-family: var(--_demmler---schrift--serif);
  color: var(--_demmler---farbe--text);
  letter-spacing: -.03em;
  margin: 0 0 28px;
  font-size: clamp(2.125rem, .158rem + 3.158vw, 4.5rem);
  font-weight: 400;
  line-height: 1.04;
}

.dm-about-generation-text {
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--text);
  margin: 0 0 16px;
  font-size: clamp(1.0625rem, .903rem + .434vw, 1.5rem);
  font-weight: 300;
  line-height: 1.2;
}

.dm-materials {
  background-color: var(--_demmler---farbe--hintergrund);
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--text);
  padding: 70px min(4vw, 5.5rem) 96px;
}

.dm-material-intro {
  text-align: center;
  max-width: 950px;
  margin: 0 auto 68px;
}

.dm-material-intro-title {
  font-family: var(--_demmler---schrift--serif);
  margin: 0 0 18px;
  font-size: clamp(46px, 4vw, 72px);
  font-weight: 400;
  line-height: 1.05;
}

.dm-material-intro-text {
  max-width: 150%;
  font-family: var(--_demmler---schrift--sans);
  margin: 0 auto;
  font-size: 30px;
  font-weight: 300;
  line-height: 1.42;
}

.dm-material-row {
  grid-column-gap: 9vw;
  grid-row-gap: 9vw;
  align-items: center;
  gap: 4vw;
  width: 100%;
  max-width: 1800px;
  margin: 0 auto 70px;
  display: flex;
}

.dm-material-copy {
  flex: 0 0 34%;
  max-width: 34%;
}

.dm-material-image {
  aspect-ratio: 2.25;
  object-fit: cover;
  border-radius: 5px;
  flex: 62%;
  width: 62%;
  max-height: 560px;
  box-shadow: 0 3px 11px #0000002e;
}

.dm-material-row-title {
  font-family: var(--_demmler---schrift--serif);
  margin: 0 0 18px;
  font-size: clamp(42px, 3.5vw, 64px);
  font-weight: 400;
  line-height: 1.06;
}

.dm-material-text {
  color: var(--_demmler---farbe--text);
  margin: 0;
  font-size: 24px;
  font-weight: 300;
  line-height: 1.4;
}

.dm-samina {
  background-color: var(--_demmler---farbe--akzent);
  max-width: none;
  min-height: 450px;
  color: var(--_demmler---farbe--hell);
  align-items: stretch;
  width: min(100% + 8vw, 2200px);
  margin: 0 auto 105px max(-4vw, 50% - 1100px);
  display: flex;
  position: relative;
  overflow: hidden;
}

.dm-samina-image {
  filter: brightness(.58);
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.dm-samina-copy {
  z-index: 2;
  color: #fff;
  width: 62%;
  max-width: 930px;
  padding: 48px 20px 90px min(4vw, 5.5rem);
  position: relative;
}

.dm-samina-title {
  font-family: var(--_demmler---schrift--serif);
  margin: 0 0 18px;
  font-size: clamp(42px, 3.1vw, 58px);
  font-weight: 400;
  line-height: 1.05;
}

.dm-samina-text {
  margin: 0 0 24px;
  font-size: 19px;
  font-weight: 400;
  line-height: 1.35;
}

.dm-samina-text.samina-unten {
  max-width: none;
  font-size: 22px;
  font-weight: 500;
}

.dm-samina-text.samina-oben {
  box-sizing: border-box;
  max-width: none;
  margin-bottom: 20px;
  font-size: 22px;
  font-weight: 200;
}

.dm-samina-link {
  z-index: 4;
  color: #fff;
  border: 0 solid #f5f1ee;
  padding: 0;
  font-size: 14px;
  font-weight: 400;
  text-decoration: none;
  display: inline-block;
  position: absolute;
  bottom: 30px;
  right: min(4vw, 5.5rem);
}

.dm-material-closing {
  width: 100%;
  max-width: 1800px;
  color: var(--_demmler---farbe--text);
  background-color: #0000;
  grid-template-rows: 1fr auto auto 1fr;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  align-items: center;
  gap: 0 4vw;
  margin: 12px auto 0;
  padding: 82px 9vw;
  display: grid;
}

.dm-material-closing-title {
  font-family: var(--_demmler---schrift--serif);
  color: var(--_demmler---farbe--text);
  grid-area: 2 / 1;
  align-self: end;
  margin: 0 0 1.5rem;
  font-size: clamp(42px, 3.4vw, 62px);
  font-weight: 400;
  line-height: 1.05;
}

.dm-material-closing-text {
  max-width: 680px;
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--text);
  grid-area: 3 / 1;
  align-self: start;
  margin: 0;
  font-size: clamp(1.125rem, 1.67vw, 1.75rem);
  font-weight: 300;
  line-height: 1.4;
}

.dm-carpentry-text {
  z-index: 2;
  max-width: 36%;
  font-family: var(--_demmler---schrift--sans);
  margin: 0;
  font-size: clamp(1rem, .857rem + .298vw, 1.125rem);
  font-weight: 300;
  line-height: 1.55;
  position: relative;
}

.dm-carpentry-link {
  z-index: 2;
  color: inherit;
  border-style: solid;
  border-width: 1px;
  margin-top: 32px;
  padding: 13px 21px;
  font-size: 14px;
  text-decoration: none;
  display: inline-block;
  position: relative;
}

.dm-footer-greeting {
  color: var(--_demmler---farbe--hintergrund);
  background-color: #0000;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  padding: 0;
  display: flex;
}

.dm-footer-script {
  width: 100%;
  font-family: var(--_demmler---schrift--script);
  color: #fdfdfd;
  text-align: center;
  margin: 0 0 1.5rem;
  font-size: 1.3rem;
  font-weight: 200;
}

.dm-footer-script.bild {
  font-size: 1.5rem;
}

.header-style-anchor, .dm-footer-style-anchor {
  display: none;
}

.dm-footer-legal {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  background-color: #1f181200;
  flex-flow: row;
  justify-content: space-between;
  align-items: center;
  max-width: 2200px;
  margin: 20px auto 0;
  padding: 0 min(8vw + 20px, 12.25rem) 5px;
  display: flex;
}

.dm-footer-legal-link {
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--hintergrund);
  font-size: .8rem;
  font-weight: 200;
  text-decoration: none;
}

.dm-team-style-anchor, .dm-partner-style-anchor, .dm-about-style-anchor, .dm-material-page-style-anchor {
  display: none;
}

.dm-contact-hero {
  box-sizing: border-box;
  background-color: var(--_demmler---farbe--hintergrund);
  color: #fff;
  background-image: url("https://s3.amazonaws.com/webflow-prod-assets/6ac319b6daed2b76470fdd49/6ac3a2bdbcd69d2e6293de3d_00%20Titelbild.png");
  background-repeat: no-repeat;
  background-size: cover;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  width: 100%;
  max-width: none;
  height: 100svh;
  min-height: 480px;
  padding: 120px 5vw clamp(3rem, 7vw, 7rem);
  display: flex;
}

.dm-contact-title {
  font-family: var(--_demmler---schrift--serif);
  color: #fff;
  margin: 0;
  font-size: clamp(2.75rem, 1.115rem + 3.553vw, 6rem);
  font-weight: 300;
  line-height: 1.02;
}

.dm-contact-lead {
  max-width: 700px;
  font-family: var(--_demmler---schrift--sans);
  color: #fff;
  margin: 1.35rem 0 0;
  font-size: clamp(1.375rem, .622rem + 1.184vw, 2.25rem);
  font-style: italic;
  font-weight: 300;
  line-height: 1.08;
}

.dm-wohnbar-style-anchor, .dm-wrw-style-anchor {
  display: none;
}

.dm-footer-location-link {
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--hintergrund);
  text-align: center;
  font-size: .875rem;
  font-weight: 200;
  text-decoration: none;
}

.dm-news-style-anchor {
  display: none;
}

.dmenu-overlay {
  z-index: 10;
  -webkit-text-fill-color: inherit;
  background-color: #f7f4f0;
  background-clip: border-box;
  flex-flow: column;
  width: 100%;
  height: auto;
  display: none;
  position: fixed;
  inset: 0% auto auto 0%;
}

.dmenu-content {
  grid-column-gap: 24px;
  grid-row-gap: 24px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  width: 90%;
  max-width: 1440px;
  margin-top: 100px;
  margin-left: auto;
  margin-right: auto;
  display: grid;
}

.link {
  display: block;
}

.link.dmenu-link {
  color: #333;
  margin: 0 auto .5rem;
  font-family: DM Sans, Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.625;
  text-decoration: none;
}

.heading {
  font-family: var(--_demmler---schrift--serif);
}

.heading.dmenu-heading {
  color: var(--_demmler---farbe--akzent);
  margin-top: 30px;
  margin-bottom: 20px;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
}

.dmenu-image {
  object-fit: cover;
  border-radius: 6px;
  width: 100%;
  height: 280px;
  box-shadow: 0 2px 5px #0003;
}

.dmenu-image-box {
  position: relative;
}

.dmenu-image-text {
  font-family: var(--_demmler---schrift--serif);
  color: #fff;
  text-align: center;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.2;
  display: flex;
  position: absolute;
  inset: 50% 50px 50px 50%;
  transform: translate(-50px, -50px);
}

.dmenu-contact {
  grid-column-gap: .75rem;
  grid-row-gap: .75rem;
  border-radius: 6px;
  flex-flow: column;
  align-items: center;
  margin-bottom: 2rem;
  padding-top: .75rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  display: flex;
}

.dmenu-contact-text {
  font-family: var(--_demmler---schrift--script);
  color: var(--_demmler---farbe--akzent);
  text-align: center;
  font-size: 1.25rem;
  line-height: 1.3;
  position: static;
  left: auto;
  right: auto;
}

.dmenu-contact-button {
  background-color: var(--_demmler---farbe--akzent);
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--hell);
  text-shadow: 0 1px 1px #0003;
  border-radius: 999px;
  padding-top: .5rem;
  font-size: 1rem;
  line-height: 1.5;
  text-decoration: none;
  display: inline-block;
}

.dmenu-contact-button.dfooter-contact-button {
  white-space: nowrap;
  vertical-align: baseline;
  padding: .65rem 0;
  font-size: .8rem;
}

.dmenu-topbar {
  flex-flow: row;
  justify-content: space-between;
  margin-right: 0%;
  padding-top: 1.5rem;
  padding-left: 5%;
  padding-right: 5%;
  display: flex;
}

.dmenu-logo {
  object-fit: contain;
  width: 150px;
  height: auto;
  overflow: visible;
}

.dmenu-social {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  flex: 1;
  justify-content: flex-end;
  align-items: center;
  display: flex;
}

.dmenu-social.dfooter-social {
  filter: invert();
  justify-content: flex-start;
}

.image {
  object-fit: contain;
  width: 1.5rem;
  height: 1.5rem;
}

.image-2 {
  width: 30px;
  height: 30px;
}

.link-block {
  cursor: pointer;
  margin: 0 0 0 24px;
}

.dmenu-actions {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  flex-flow: column;
  align-items: flex-end;
  display: flex;
}

.body {
  background-color: var(--_demmler---farbe--hintergrund);
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--text);
  font-size: clamp(1rem, .857rem + .298vw, 1.125rem);
  font-weight: 300;
  line-height: 1.45;
}

.dfooter-columns {
  grid-column-gap: 0rem;
  grid-row-gap: 24px;
  grid-template-rows: auto;
  grid-template-columns: 1.15fr 1.2fr 1.9fr;
  grid-auto-columns: 1fr;
  grid-auto-flow: column;
  align-items: center;
  width: 100%;
  max-width: 1800px;
  margin-left: auto;
  margin-right: auto;
  display: grid;
}

.div-2 {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  flex-flow: column;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  width: 100%;
  max-width: 220px;
  display: flex;
}

.div-3 {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  flex-flow: column;
  width: 100%;
  max-width: 220px;
  display: flex;
}

.image-3 {
  aspect-ratio: 16 / 9;
  object-fit: cover;
  width: 100%;
  max-width: none;
  height: auto;
  overflow: clip;
}

.image-4 {
  aspect-ratio: 16 / 9;
  object-fit: cover;
  width: 100%;
  max-width: none;
  height: auto;
}

.image-5 {
  aspect-ratio: 16 / 9;
  object-fit: cover;
  width: 100%;
  max-width: none;
  height: auto;
  max-height: none;
}

.div-5 {
  flex-flow: column;
  align-items: center;
  display: flex;
}

.div-6 {
  grid-column-gap: 3px;
  grid-row-gap: 3px;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.image-6 {
  filter: invert();
  width: 24px;
  max-width: none;
  font-size: 24px;
}

.div-7 {
  grid-column-gap: .1rem;
  grid-row-gap: .1rem;
  background-color: #5a2d94;
  border-radius: 999px;
  flex-flow: row;
  justify-content: center;
  align-items: center;
  padding: 0 1.7rem;
  display: flex;
}

.text-block {
  font-size: .8rem;
}

.div-8 {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  flex-flow: row;
  justify-content: flex-start;
  display: flex;
}

.div-9 {
  background-color: #fff3;
  width: 100%;
  height: 1px;
  margin-top: 15px;
  display: flex;
}

.gallery-slider {
  border-bottom: 0 solid #e4ebf3;
  padding: 0;
  position: relative;
}

.gallery-wrapper {
  grid-column-gap: 3rem;
  grid-row-gap: 24px;
  grid-template-rows: auto;
  grid-template-columns: minmax(0, .75fr) minmax(0, 1.75fr);
  grid-auto-columns: 1fr;
  align-items: center;
  display: grid;
}

.gallery-block {
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.splide__track {
  height: 100%;
  overflow: hidden;
}

.splide__list {
  height: 100%;
}

.splide__slide {
  height: 100%;
  overflow: hidden;
}

.splide {
  aspect-ratio: 16 / 9;
  width: 100%;
  box-shadow: none;
  border-radius: 6px;
  overflow: hidden;
}

.pw-hero-dynamic-image {
  z-index: 0;
  filter: brightness(.55);
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

.pw-intro-inner {
  grid-template-columns: 1.1fr 1fr;
  align-items: center;
  column-gap: 64px;
  width: min(1400px, 100% - 100px);
  margin-left: auto;
  margin-right: auto;
  display: grid;
}

.pw-intro-text {
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--text);
  margin: 0;
  font-size: 16px;
  line-height: 1.45;
}

.pw-intro-features {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: center;
  display: grid;
}

.pw-intro-feature {
  text-align: center;
  border-left: 1px solid #d7d4d1;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 10px;
  min-height: 105px;
  padding-left: 15px;
  padding-right: 15px;
  display: flex;
}

.pw-intro-label {
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--text);
  text-align: center;
  font-size: 14px;
  line-height: 1.35;
}

.pw-intro-section {
  background-color: #fff;
  padding: 40px min(4vw, 5.5rem) 45px;
}

.pw-intro-original-image {
  filter: brightness(1.06%) contrast(1.15%);
  mix-blend-mode: multiply;
  object-fit: contain;
  background-color: #0000;
  border-radius: 3px;
  width: 80px;
  height: 80px;
  display: block;
}

.pw-gallery-container {
  width: 100%;
  max-width: none;
  margin-left: auto;
  margin-right: auto;
}

.pw-project-gallery-image {
  object-fit: cover;
  border-radius: 6px;
  width: 100%;
  height: 100%;
  display: block;
}

.pw-worlds-section {
  background-color: #f4f1ee;
  max-width: none;
  margin-left: auto;
  margin-right: auto;
  padding: 1.5rem min(4vw, 5.5rem);
}

.pw-worlds-section:where(.w-variant-989b038e-4f5a-36d9-5ffe-9ecefd0d8a3d) {
  background-color: #0000;
}

.pw-worlds-inner {
  max-width: calc(2200px - 11rem);
  margin-left: auto;
  margin-right: auto;
}

.pw-worlds-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: .75rem;
  display: grid;
}

.pw-world-tile {
  aspect-ratio: 1.35;
  background-color: var(--_demmler---farbe--dunkel);
  border-radius: 6px;
  width: 100%;
  text-decoration: none;
  display: block;
  position: relative;
  overflow: hidden;
  box-shadow: 0 8px 24px #0000001f;
}

.pw-world-image {
  filter: brightness(.7);
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
}

.pw-world-title {
  font-family: var(--_demmler---schrift--sans);
  color: #fff;
  text-align: center;
  border-radius: 999px;
  margin: 0;
  padding: .55em 1.2em;
  font-size: clamp(1rem, 1.11vw, 1.375rem);
  font-weight: 400;
  line-height: 1.3;
  position: absolute;
  inset: 50% 7% auto;
  transform: translateY(-50%);
}

.dheader-social-row {
  align-items: center;
  gap: 1rem;
  margin-left: auto;
  margin-right: 2.5rem;
  display: flex;
}

.dheader-social-icon {
  filter: brightness(0%) invert();
  object-fit: contain;
  width: 1rem;
  height: 1rem;
  display: block;
}

.home-hero-shade {
  pointer-events: none;
  background-color: #0000;
  background-image: linear-gradient(#00000080 0%, #00000038 55%, #0000 100%);
  height: 9.5rem;
  display: none;
  position: absolute;
  inset: 0 0 auto;
}

.home-hero-copy {
  z-index: 1;
  grid-column-gap: 10px;
  grid-row-gap: 10px;
  color: #f2f3f4;
  grid-template-rows: auto;
  grid-template-columns: 3.5fr;
  grid-auto-columns: 1fr;
  width: min(100% - 3rem, 1240px);
  margin: 0 auto;
  padding: 0 0 clamp(3rem, 7vw, 7rem);
  display: block;
  position: absolute;
  inset: auto auto 0% 6.2vw;
}

.home-hero-title {
  max-width: none;
  font-family: var(--_demmler---schrift--serif);
  color: #f2f3f4;
  letter-spacing: 0;
  justify-content: flex-start;
  margin: 0;
  font-size: clamp(2.75rem, 1.115rem + 3.553vw, 6rem);
  font-weight: 300;
  line-height: 1.02;
  display: flex;
}

.home-hero-subtitle {
  max-width: 37.5vw;
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--hintergrund);
  text-align: left;
  letter-spacing: -.03em;
  margin: 1.35rem 0 0;
  font-size: clamp(1.375rem, .622rem + 1.184vw, 2.25rem);
  font-style: italic;
  font-weight: 200;
  line-height: 1.08;
}

.home-intro {
  max-width: 2200px;
  color: var(--_demmler---farbe--text);
  background-color: #fff0;
  margin-left: auto;
  margin-right: auto;
  padding: clamp(1.5rem, 2.5vw, 3.5rem) 8vw clamp(1.5rem, 2.5vw, 3.5rem) 11.5vw;
}

.home-intro-inner {
  grid-column-gap: 11.25vw;
  grid-row-gap: clamp(3rem, 8vw, 11rem);
  grid-template-rows: auto;
  grid-template-columns: minmax(0, .83fr) minmax(0, 1fr);
  max-width: none;
  margin: 0 auto 0 0;
  display: grid;
}

.home-intro-title {
  font-family: var(--_demmler---schrift--serif);
  color: var(--_demmler---farbe--text);
  letter-spacing: -.03em;
  margin: 0;
  font-size: clamp(2.125rem, .158rem + 3.158vw, 4.5rem);
  font-weight: 400;
  line-height: 1.04;
}

.home-intro-copy {
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--text);
  margin: 0 0 1.5rem;
  font-size: clamp(1.0625rem, .903rem + .434vw, 1.5rem);
  font-weight: 300;
  line-height: 1.2;
}

.home-intro-script {
  font-family: var(--_demmler---schrift--script);
  color: var(--_demmler---farbe--akzent);
  text-align: left;
  white-space: nowrap;
  margin: clamp(2rem, 3.4vw, 4.5rem) 0 0;
  font-size: clamp(1.5rem, 2.5vw, 2.25rem);
  font-weight: 400;
  line-height: 1.05;
}

.case {
  background-color: #f2f3f400;
  max-width: 2200px;
  margin-left: auto;
  margin-right: auto;
  padding: 112px min(4vw, 5.5rem);
}

.case-copy {
  max-width: 760px;
  margin-bottom: 52px;
}

.case-title {
  font-family: var(--_demmler---schrift--serif);
  color: var(--_demmler---farbe--text);
  letter-spacing: -.03em;
  margin: 0 0 28px;
  font-size: clamp(2.125rem, .158rem + 3.158vw, 4.5rem);
  font-weight: 400;
  line-height: 1.04;
}

.case-text {
  max-width: 650px;
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--text);
  margin: 0 0 16px;
  font-size: clamp(1.0625rem, .903rem + .434vw, 1.5rem);
  font-weight: 300;
  line-height: 1.55;
}

.case-before {
  min-height: 430px;
  display: none;
  position: relative;
  overflow: hidden;
}

.case-image {
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

.case-label {
  background-color: var(--_demmler---farbe--hell);
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--text);
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 8px 12px;
  font-size: 12px;
  font-weight: 700;
  position: absolute;
  bottom: 20px;
  left: 20px;
}

.case-after {
  min-height: 430px;
  display: none;
  position: relative;
  overflow: hidden;
}

.cd-image-2 {
  object-fit: cover;
  width: calc(min(100vw, 2200px) / 2 - min(4vw, 5.5rem) - 20px);
  max-width: none;
  height: 100%;
  display: block;
  position: absolute;
  inset: 0 auto 0% 0;
}

.cd-image {
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.cd-image-container {
  aspect-ratio: 639 / 603;
  width: 100%;
  max-width: none;
  height: auto;
  box-shadow: none;
  border-style: none;
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  position: relative;
  overflow: hidden;
}

.compare-text {
  align-items: center;
  margin-bottom: 0;
  line-height: 1.33;
  display: flex;
}

.compare-text.after {
  text-align: right;
}

.cd-image-label {
  z-index: 3;
  color: #fff;
  background-color: #00000080;
  border-radius: 5px;
  align-items: center;
  width: auto;
  height: auto;
  padding: .4em 1.3em;
  transition: background-color .25s;
  display: flex;
  position: absolute;
  top: 50%;
  bottom: auto;
  right: 15px;
  transform: translate(0, -50%);
}

.cd-image-label.original {
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  left: 15px;
  right: auto;
}

.btn-s-rounded-outlined {
  color: #141414;
  text-align: center;
  text-transform: uppercase;
  border: 1px solid #666;
  border-radius: 50px;
  flex: none;
  justify-content: center;
  align-items: center;
  min-width: 105px;
  padding: 10px 30px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.1;
  text-decoration: none;
  transition: all .2s;
  display: flex;
}

.btn-s-rounded-outlined:hover {
  color: #fff;
  background-color: #272731;
}

.btn-s-rounded-outlined.invert {
  color: #fff;
  border-color: #fff;
  display: none;
}

.cd-resize-img {
  justify-content: center;
  width: 100%;
  height: 100%;
  transition: opacity .3s;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  transform: translate(0);
}

.cd-handle {
  opacity: 0;
  cursor: ew-resize;
  width: 44px;
  height: 44px;
  transform-style: preserve-3d;
  background-color: #d51c44;
  background-image: url("https://cdn.prod.website-files.com/6ac319b6daed2b76470fdd49/6ad5f8538da2491b84d7cc3e_cd-arrows.svg");
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: 22px 22px;
  border-radius: 44px;
  margin-top: -22px;
  margin-left: -22px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: scale3d(0, 0, 0);
  box-shadow: 0 0 0 6px #0003;
}

.demmler-case-layout {
  grid-column-gap: 40px;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  width: 100%;
  max-width: none;
  margin-left: auto;
  margin-right: auto;
  display: grid;
}

.demmler-case-frame {
  width: 100%;
  min-width: 0;
  max-width: none;
  box-shadow: none;
  background-color: #0000;
  border-radius: 6px;
  display: block;
  overflow: hidden;
}

.demmler-services-row {
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 3.9fr);
  align-items: center;
  column-gap: 24px;
  width: 100%;
  max-width: none;
  margin-left: auto;
  margin-right: auto;
  display: grid;
}

.demmler-services-heading {
  font-family: var(--_demmler---schrift--sans);
  text-align: left;
  white-space: nowrap;
  margin: 0;
  font-size: clamp(1.375rem, .622rem + 1.184vw, 2.25rem);
  font-style: italic;
  font-weight: 300;
}

.demmler-services-four {
  grid-column-gap: 0px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: center;
  width: 100%;
  display: grid;
}

.demmler-service-cell {
  text-align: left;
  border-left: 1px solid #d1c9c4;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 12px;
  min-height: 76px;
  padding-left: 14px;
  padding-right: 14px;
  display: flex;
}

.demmler-service-small-icon {
  object-fit: contain;
  background-color: #0000;
  width: 6rem;
  min-width: 4.5rem;
  height: 6rem;
}

.demmler-service-label {
  font-family: var(--_demmler---schrift--sans);
  white-space: normal;
  word-break: normal;
  overflow-wrap: normal;
  margin: 0;
  padding-left: 0;
  padding-right: 0;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.3;
}

.dm-process-layout {
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 2.4fr);
  align-items: center;
  column-gap: 4rem;
  width: 100%;
  max-width: none;
  margin-left: auto;
  margin-right: auto;
  display: grid;
}

.dm-process-heading {
  max-width: 500px;
  font-family: var(--_demmler---schrift--serif);
  text-align: left;
  letter-spacing: -.03em;
  grid-area: 2 / 1;
  margin: 0;
  font-size: clamp(2.125rem, .158rem + 3.158vw, 4.5rem);
  font-weight: 400;
  line-height: 1.04;
}

.dm-process-steps {
  grid-area: 1 / 2 / span 2;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: start;
  column-gap: 26px;
  width: 100%;
  display: grid;
}

.dm-materials-layout {
  width: 100%;
  max-width: none;
  margin-left: auto;
  margin-right: auto;
  display: block;
}

.dm-materials-row {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
  width: 100%;
  display: grid;
}

.dm-material-card {
  color: #fff;
  background-color: #2b2927;
  border-radius: 6px;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 285px;
  padding: 14px;
  text-decoration: none;
  display: flex;
  position: relative;
  overflow: hidden;
  box-shadow: 0 2px 6px #0000002e;
}

.dm-material-img {
  z-index: 0;
  filter: brightness(.68);
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.dm-material-title {
  z-index: 1;
  height: 43px;
  font-family: var(--_demmler---schrift--sans);
  color: #fff;
  border-radius: 999px;
  align-items: center;
  margin: 0 0 10px;
  padding-left: 1.4rem;
  padding-right: 1.4rem;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.15;
  display: flex;
  position: absolute;
  bottom: 58px;
  left: 8%;
  right: 8%;
}

.dm-material-detail {
  z-index: 1;
  height: 40px;
  font-family: var(--_demmler---schrift--sans);
  color: #fff;
  align-items: flex-start;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.25;
  display: flex;
  position: absolute;
  bottom: 12px;
  left: calc(8% + 1.4rem);
  right: 12px;
}

.demmler-home-hero-corrected {
  background-color: var(--_demmler---farbe--dunkel);
  align-items: flex-end;
  height: 100svh;
  min-height: 480px;
  max-height: none;
  display: flex;
  position: relative;
  overflow: hidden;
  box-shadow: 0 7px 18px #00000026;
}

.dm-process-number-exact {
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--text);
  text-align: center;
  border-bottom: 1px solid #aaa39e;
  margin-bottom: 14px;
  padding-bottom: 12px;
  font-size: 25px;
  font-style: italic;
  font-weight: 400;
}

.dm-process-item-exact {
  text-align: center;
  border-top: none;
  min-width: 0;
  padding: 0;
}

.dm-process-heading-exact {
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--text);
  text-align: center;
  margin-bottom: 12px;
  font-size: clamp(1.0625rem, 1.35vw, 1.5rem);
  font-weight: 500;
  line-height: 1.25;
}

.dm-process-text-exact {
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--text);
  text-align: center;
  font-size: clamp(.875rem, 1vw, 1.25rem);
  font-weight: 300;
  line-height: 1.35;
}

.dm-process-section-exact {
  background-color: #0000;
  max-width: 2200px;
  margin-left: auto;
  margin-right: auto;
  padding: 70px min(4vw, 5.5rem) 65px;
}

.dm-services-section-exact {
  background-color: #0000;
  max-width: 2200px;
  margin-left: auto;
  margin-right: auto;
  padding: 20px min(4vw, 5.5rem) 35px;
}

.dm-materials-section-exact {
  background-color: #0000;
  max-width: 2200px;
  margin-left: auto;
  margin-right: auto;
  padding: 32px min(4vw, 5.5rem) 45px;
}

.dm-material-arrow {
  z-index: 2;
  pointer-events: none;
  font-family: var(--_demmler---schrift--sans);
  color: #fff;
  font-size: 22px;
  line-height: 1;
  position: absolute;
  bottom: 79px;
  right: calc(8% + 1.4rem);
}

.dm-news-section {
  background: none;
  width: 100%;
  max-width: 2200px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 min(4vw, 5.5rem) 3rem;
}

.dm-news-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px 18px;
  display: grid;
}

.dm-news-card {
  color: var(--_demmler---farbe--text);
  flex-direction: column;
  gap: 8px;
  display: flex;
}

.dm-news-heading {
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--text);
  font-size: clamp(1.25rem, 1.6vw, 2rem);
  font-weight: 500;
  line-height: 1.3;
}

.dm-news-image {
  object-fit: cover;
  width: 100%;
  height: 178px;
}

.dm-news-date {
  font-family: var(--_demmler---schrift--sans);
  font-size: .9rem;
}

.dm-news-intro {
  font-family: var(--_demmler---schrift--sans);
  font-size: 1rem;
  line-height: 1.5;
}

.dm-cms-reviews-section {
  background-color: #0000;
  width: 100%;
  max-width: 2200px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 min(4vw, 5.5rem) 3rem;
}

.dm-cms-reviews-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px 34px;
  max-width: none;
  margin-left: auto;
  margin-right: auto;
  display: grid;
}

.dm-cms-review-card {
  color: var(--_demmler---farbe--text);
  background-color: #0000;
  flex-direction: column;
  padding: 8px 12px;
  display: flex;
}

.dm-cms-review-name {
  font-family: var(--_demmler---schrift--sans);
  font-size: clamp(.95rem, 1.14vw, 1.25rem);
  font-weight: 300;
  line-height: 1.25;
}

.dm-cms-review-project {
  font-family: var(--_demmler---schrift--sans);
  color: #767676;
  border-bottom: 1px solid #bfa5cf;
  margin-bottom: 18px;
  padding-bottom: 16px;
  font-size: clamp(.85rem, 1vw, 1.125rem);
}

.dm-cms-review-title {
  font-family: var(--_demmler---schrift--sans);
  margin-bottom: 4px;
  font-size: clamp(1.25rem, 1.67vw, 1.875rem);
  font-weight: 600;
  line-height: 1.25;
}

.dm-cms-review-stars {
  font-family: var(--_demmler---schrift--sans);
  color: #f59b22;
  letter-spacing: 1px;
  margin-bottom: 12px;
  font-size: 20px;
  line-height: 1;
}

.dm-cms-review-text {
  font-family: var(--_demmler---schrift--sans);
  font-size: clamp(1rem, 1.25vw, 1.375rem);
  font-weight: 300;
  line-height: 1.38;
}

.rl-padding-section-large {
  padding-top: 7rem;
  padding-bottom: 7rem;
}

.rl-heading-style-h2 {
  color: var(--relume-library-lite--rl-black);
  margin-top: 0;
  margin-bottom: 0;
  font-family: Arial, sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.2;
}

.rl_blogpost1_spacing-block-3 {
  width: 100%;
  padding-bottom: 5rem;
}

.rl_blogpost1_content-top {
  justify-content: space-between;
  align-items: flex-end;
  width: 100%;
  display: flex;
}

.rl_blogpost1_title-wrapper {
  text-align: center;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  max-width: 42rem;
  margin-left: auto;
  margin-right: auto;
  display: flex;
}

.rl_section_blogpost1 {
  background-color: var(--relume-library-lite--rl-white);
}

.rl_blogpost1_image-wrapper {
  border-radius: .5rem;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-top: 43%;
  position: relative;
  overflow: hidden;
  box-shadow: 0 6px 18px #0000001f;
}

.rl_blogpost1_image {
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0%;
}

.rl_blogpost1_spacing-block-2 {
  width: 100%;
  padding-bottom: 3rem;
}

.rl_blogpost1_spacing-block-1 {
  width: 100%;
  padding-bottom: 1.5rem;
}

.rl-padding-global {
  padding-left: 5%;
  padding-right: 5%;
}

.rl-container-large {
  width: 100%;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
}

.dm-article-sections {
  color: #171717;
  max-width: 1320px;
  margin: 0 auto;
  padding: 40px 32px 48px;
}

.dm-article-row {
  grid-column-gap: 48px;
  grid-row-gap: 48px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  margin-bottom: 44px;
  display: grid;
}

.dm-article-copy {
  font-size: 16px;
  line-height: 1.55;
}

.dm-article-heading-1, .dm-article-heading-2 {
  margin-bottom: 20px;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.2;
}

.dm-article-image-1, .dm-article-image-2 {
  border-radius: .5rem;
  width: 100%;
  box-shadow: 0 6px 18px #0000001f;
}

.dm-article-gallery {
  grid-column-gap: 40px;
  grid-row-gap: 40px;
  grid-template-rows: auto;
  grid-template-columns: repeat(3, 1fr);
  margin-bottom: 56px;
  display: grid;
}

.dm-gallery-image-1, .dm-gallery-image-2, .dm-gallery-image-3 {
  object-fit: cover;
  object-position: center;
  border-radius: .5rem;
  width: 100%;
  height: 22rem;
  box-shadow: 0 6px 18px #0000001f;
}

.dm-article-back {
  color: var(--_demmler---farbe--akzent);
  text-align: center;
  text-transform: uppercase;
  font-size: 13px;
  text-decoration: none;
  display: block;
}

.dm-article-date {
  color: var(--_demmler---farbe--akzent);
  text-align: center;
  text-transform: uppercase;
  margin-bottom: 14px;
  font-size: 16px;
}

.dm-article-intro {
  text-align: center;
  max-width: 640px;
  margin: 22px auto 0;
  font-size: 16px;
  line-height: 1.5;
}

.dm-article-back-top {
  color: var(--_demmler---farbe--akzent);
  text-transform: uppercase;
  margin-bottom: 34px;
  font-size: 13px;
  text-decoration: none;
  display: block;
}

.dm-article-rich-text {
  font-size: 1.25rem;
  line-height: 1.65;
}

.dm-article-rich-outro {
  text-align: center;
  max-width: 630px;
  margin-bottom: 52px;
  margin-left: auto;
  margin-right: auto;
  font-size: 1.25rem;
  line-height: 1.65;
}

.news-cms-grid {
  box-sizing: border-box;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
  width: 100%;
  max-width: 2200px;
  margin: 0 auto;
  padding: 2.25rem min(4vw, 5.5rem) 3rem;
  display: grid;
}

.news-cms-card {
  box-shadow: none;
  color: #222;
  border-radius: 0;
  flex-direction: column;
  text-decoration: none;
  display: flex;
  overflow: hidden;
}

.news-cms-img {
  aspect-ratio: 3.35;
  object-fit: cover;
  border-radius: .25rem;
  width: 100%;
  height: auto;
  box-shadow: 0 8px 24px #0000001f;
}

.news-cms-title {
  color: var(--_demmler---farbe--akzent);
  margin: .65rem 0 .35rem;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.3;
}

.news-cms-excerpt {
  margin: 0 0 1rem;
  font-size: 1.05rem;
  line-height: 1.42;
}

.news-cms-date {
  margin-top: 0;
  margin-bottom: .35rem;
  font-size: 1rem;
  line-height: 1.4;
}

.dm-shared-hero-image {
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: none;
  position: absolute;
  inset: 0;
}

.dm-shared-hero-image:where(.w-variant-14c62324-9b88-ed6c-5b31-d22c51f7e0ab), .dm-shared-hero-image:where(.w-variant-21b0679e-0944-0747-1762-42fddd7c04df) {
  display: block;
}

.dm-shared-hero-image:where(.w-variant-9caea073-b700-e274-4868-cdc3feef620c) {
  object-fit: cover;
  width: 100%;
  height: auto;
  min-height: 100%;
  display: block;
  inset: 50% 0 auto;
  transform: translateY(-50%);
}

.dm-hero-video-mode {
  aspect-ratio: auto;
  object-fit: cover;
  width: 100%;
  height: 100svh;
  display: block;
  position: absolute;
  inset: 0;
}

.dm-hero-video-mode:where(.w-variant-14c62324-9b88-ed6c-5b31-d22c51f7e0ab), .dm-hero-video-mode:where(.w-variant-21b0679e-0944-0747-1762-42fddd7c04df), .dm-hero-video-mode:where(.w-variant-9caea073-b700-e274-4868-cdc3feef620c) {
  display: none;
}

.dm-news-card-link {
  width: 100%;
  height: 100%;
  color: inherit;
  text-decoration: none;
  display: block;
}

.dm-section-kicker {
  width: auto;
  max-width: none;
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--akzent);
  text-align: left;
  letter-spacing: 0;
  text-transform: uppercase;
  margin: 0 0 1.25rem;
  padding-left: 0;
  padding-right: 0;
  font-size: clamp(1rem, 1.069rem + .132vw, 1.25rem);
  font-weight: 400;
  line-height: 1.2;
}

.dm-kicker-standalone {
  width: calc(100% - 8vw);
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--akzent);
  letter-spacing: 0;
  text-transform: uppercase;
  max-width: calc(2200px - 11rem);
  margin: 2.75rem auto 1.25rem;
  font-size: clamp(1rem, 1.069rem + .132vw, 1.25rem);
  font-weight: 400;
  line-height: 1.2;
}

.dm-hero-film-link {
  z-index: 8;
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  font-family: var(--_demmler---schrift--sans);
  color: #fff;
  text-shadow: 0 1px 6px #00000059;
  align-items: center;
  font-size: 1.1rem;
  text-decoration: none;
  display: flex;
  position: absolute;
  bottom: 8rem;
  right: 7vw;
}

.dm-hero-film-link:where(.w-variant-14c62324-9b88-ed6c-5b31-d22c51f7e0ab), .dm-hero-film-link:where(.w-variant-21b0679e-0944-0747-1762-42fddd7c04df), .dm-hero-film-link:where(.w-variant-9caea073-b700-e274-4868-cdc3feef620c) {
  display: none;
}

.dm-hero-film-link.is-neu {
  grid-column-gap: .75rem;
  flex-direction: row-reverse;
}

.dm-hero-film-play {
  background-color: var(--_demmler---farbe--hell);
  width: 3rem;
  height: 2.2rem;
  color: var(--_demmler---farbe--dunkel);
  border-radius: .45rem;
  justify-content: center;
  align-items: center;
  display: flex;
  box-shadow: 0 3px 12px #0003;
}

.dm-hero-film-play.is-neu {
  width: 2.75rem;
  height: 2.75rem;
  box-shadow: none;
  color: #fff;
  background-color: #1f181273;
  border: 1.5px solid #ffffffe6;
  border-radius: 50%;
  font-size: .85rem;
  line-height: 1;
}

.dm-video-ui {
  z-index: 9;
  pointer-events: none;
  position: absolute;
  inset: 0;
}

.dm-video-ui:where(.w-variant-14c62324-9b88-ed6c-5b31-d22c51f7e0ab), .dm-video-ui:where(.w-variant-21b0679e-0944-0747-1762-42fddd7c04df), .dm-video-ui:where(.w-variant-9caea073-b700-e274-4868-cdc3feef620c) {
  display: none;
}

.dm-video-scroll {
  pointer-events: auto;
  color: #fff;
  cursor: pointer;
  background-color: #2d2d2d8c;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 3.5rem;
  height: 3.5rem;
  transition: background-color .2s;
  display: flex;
  position: absolute;
  bottom: 1.75rem;
  left: 50%;
  transform: translateX(-50%);
}

.dm-video-scroll:hover {
  background-color: #787878d1;
}

.dm-video-toggle {
  pointer-events: auto;
  color: #fff;
  cursor: pointer;
  background-color: #2d2d2d8c;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 3.5rem;
  height: 3.5rem;
  font-size: 1.3rem;
  transition: background-color .2s;
  display: flex;
  position: absolute;
  bottom: 1.75rem;
  right: 5vw;
}

.dm-video-toggle:hover {
  background-color: #787878d1;
}

.dm-video-arrow {
  font-size: 1.55rem;
  line-height: 1;
  animation-name: dm-arrow-bob;
  animation-duration: 2.4s;
  animation-timing-function: ease-out;
  animation-iteration-count: infinite;
  display: inline-block;
}

.dm-wrw-discovery {
  box-sizing: border-box;
  grid-template-columns: minmax(0, 40fr) minmax(0, 60fr);
  align-items: stretch;
  gap: 20px;
  width: 100%;
  max-width: 2200px;
  margin: 0 auto;
  padding: 22px min(4vw, 5.5rem) 36px;
  display: grid;
}

.dm-wrw-discovery-copy {
  flex-direction: column;
  justify-content: center;
  padding: 56px 20px;
  display: flex;
}

.dm-wrw-discovery-title {
  font-family: var(--_demmler---schrift--serif);
  white-space: pre-line;
  margin: 18px 0;
  font-size: 58px;
  font-weight: 400;
  line-height: 1.05;
}

.dm-wrw-triple {
  box-sizing: border-box;
  grid-column-gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-columns: 0;
  gap: 18px;
  width: 100%;
  max-width: 2200px;
  margin: 0 auto;
  padding: 22px min(4vw, 5.5rem) 38px;
  display: grid;
}

.dm-wrw-tile {
  border-radius: 5px;
  height: 380px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 4px 14px #00000026;
}

.dm-wrw-tile-img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.dm-wrw-tile-copy {
  color: #fff;
  text-shadow: 0 2px 7px #000000d9;
  font-size: 24px;
  line-height: 1.22;
  position: absolute;
  bottom: 12px;
  left: 16px;
  right: 16px;
}

.dm-wrw-cards {
  box-sizing: border-box;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  width: 100%;
  max-width: none;
  margin: 0 auto;
  padding: 12px 0 28px;
  display: grid;
}

.dm-wrw-card {
  text-align: left;
  background-color: #fff;
  border-radius: 5px;
  min-height: 375px;
  padding: 28px 20px 38px;
  box-shadow: 0 3px 14px #00000024;
}

.dm-wrw-card.dm-wrw-card-last-wide {
  grid-column: auto;
}

.dm-wrw-card-icon {
  filter: invert();
  mix-blend-mode: multiply;
  object-fit: contain;
  width: 140px;
  height: 116px;
  margin: 0 auto 8px;
  display: block;
}

.dm-wrw-card-title {
  max-width: 180px;
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--akzent);
  text-align: center;
  border-bottom: 1px solid #dbc9eb;
  margin: 0 auto 18px;
  padding-bottom: 12px;
  font-size: 29px;
  font-weight: 400;
}

.dm-wrw-card-body {
  font-family: var(--_demmler---schrift--sans);
  color: #141414;
  white-space: pre-line;
  font-size: 20px;
  line-height: 1.4;
}

.dm-wrw-material-wrap {
  box-sizing: border-box;
  width: 100%;
  max-width: 2200px;
  margin: 0 auto;
  padding: 26px min(4vw, 5.5rem) 42px;
}

.dm-wrw-material-panel {
  background-color: #15110e;
  background-image: linear-gradient(#0000004d, #0000006e), url("https://s3.amazonaws.com/webflow-prod-assets/6ac319b6daed2b76470fdd49/6ac3a4dcbb25ec351dd0dbec_01%20massivholz-linoleum-naturstein-kalkputz-metall-oberstaufen.png");
  background-size: cover;
  border-radius: 5px;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 36px;
  min-height: 320px;
  padding: 45px 7%;
  display: grid;
  overflow: hidden;
  box-shadow: 0 5px 16px #00000029;
}

.dm-wrw-material-title {
  font-family: var(--_demmler---schrift--serif);
  color: #fff;
  text-align: center;
  font-size: 58px;
  font-weight: 400;
  line-height: 1.04;
}

.dm-wrw-material-text {
  max-width: 440px;
  font-family: var(--_demmler---schrift--sans);
  color: #fff;
  text-align: center;
  text-shadow: 0 2px 7px #000000bf;
  margin: 0 auto;
  font-size: 20px;
  font-weight: 200;
  line-height: 1.5;
}

.dm-wrw-material-mobile-image {
  object-fit: cover;
  width: 100%;
  height: 230px;
  display: none;
}

.dm-wrw-cards-section {
  box-sizing: border-box;
  width: 100%;
  max-width: 2200px;
  margin: 0 auto;
  padding-left: min(4vw, 5.5rem);
  padding-right: min(4vw, 5.5rem);
}

.dm-wrw-discovery-text {
  font-size: 20px;
  line-height: 1.42;
}

.dm-wrw-tile-heading {
  margin: 0 0 8px;
  font-size: 24px;
  line-height: 1.18;
}

.dm-wrw-tile-description {
  white-space: pre-line;
  margin: 0;
  font-size: 20px;
  line-height: 1.25;
}

.dm-wrw-products {
  box-sizing: border-box;
  grid-template-columns: minmax(0, 25fr) minmax(0, 75fr);
  align-items: center;
  gap: 12px;
  max-width: 2200px;
  margin: 0 auto;
  padding: 26px min(4vw, 5.5rem) 28px;
  display: grid;
}

.dm-wrw-products-title {
  max-width: none;
  font-family: var(--_demmler---schrift--serif);
  white-space: normal;
  margin: 12px 0;
  font-size: 41px;
  font-weight: 400;
  line-height: 1.1;
}

.dm-wrw-products-desc {
  font-size: 20px;
  line-height: 1.4;
}

.dm-wrw-products-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  display: grid;
}

.dm-wrw-product-img {
  object-fit: cover;
  border-radius: 5px;
  width: 100%;
  height: 245px;
  display: block;
  box-shadow: 0 4px 12px #00000024;
}

.dm-wrw-team-contact {
  box-sizing: border-box;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: 18px;
  width: 100%;
  max-width: 2200px;
  margin: 0 auto;
  padding: 20px min(4vw, 5.5rem) 28px;
  display: grid;
}

.dm-wrw-team-grid {
  grid-area: auto;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  display: grid;
}

.dm-wrw-person-image {
  object-fit: cover;
  object-position: 50% 32%;
  border-radius: 5px;
  width: 100%;
  height: 120px;
  margin: 0 0 10px;
  display: block;
}

.dm-wrw-person-name {
  margin: 0;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
}

.dm-wrw-person-role {
  white-space: pre-line;
  margin: 0;
  font-size: 12px;
  line-height: 1.3;
}

.dm-wrw-contact-row {
  grid-area: auto;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 24px;
  margin: 0;
  display: grid;
}

.dm-wrw-contact-box {
  padding: 0 16px;
}

.dm-wrw-contact-box.dm-wrw-contact-right {
  border-left: 1px solid #999;
  padding-left: 28px;
}

.dm-wrw-contact-heading {
  color: var(--_demmler---farbe--akzent);
  margin: 0 0 20px;
  font-size: 17px;
  font-weight: 500;
}

.dm-wrw-contact-text {
  white-space: pre-line;
  padding-left: 30px;
  font-size: 1.125rem;
  line-height: 1.4;
}

.dm-wrw-location-image {
  object-fit: cover;
  border-radius: 4px;
  width: 100%;
  height: 145px;
  margin: 14px 0;
}

.dm-wrw-team-extra {
  display: none;
}

.dm-wrw-native-slider-test {
  border-radius: 6px;
  width: 100%;
  min-width: 0;
  height: 540px;
  overflow: hidden;
}

.dm-wrw-native-slider-image {
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
  box-shadow: 0 2px 8px #00000021;
}

.icon {
  overflow: hidden;
}

.right-arrow {
  display: none;
  overflow: hidden;
}

.right-arrow.dm-arrow-on {
  opacity: .7;
  color: #fff;
  background-color: #1f181259;
  border-radius: 50%;
  width: 2.5rem;
  height: 2.5rem;
  margin-top: auto;
  margin-bottom: auto;
  font-size: .9rem;
  transition: opacity .2s, background-color .2s;
  display: block;
  top: 0;
  bottom: 0;
  right: .75rem;
}

.right-arrow.dm-arrow-on:hover {
  opacity: 1;
  background-color: #1f18128c;
}

.icon-2 {
  overflow: hidden;
}

.slide-nav {
  display: none;
  overflow: hidden;
}

.left-arrow {
  display: none;
}

.left-arrow.dm-arrow-on {
  opacity: .7;
  color: #fff;
  background-color: #1f181259;
  border-radius: 50%;
  width: 2.5rem;
  height: 2.5rem;
  margin-top: auto;
  margin-bottom: auto;
  font-size: .9rem;
  transition: opacity .2s, background-color .2s;
  display: block;
  top: 0;
  bottom: 0;
  left: .75rem;
}

.left-arrow.dm-arrow-on:hover {
  opacity: 1;
  background-color: #1f18128c;
}

.image-7 {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.ob-contact-detail {
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--text);
  font-size: 18px;
  line-height: 1.4;
}

.ob-contact-address {
  padding-left: 30px;
}

.ob-contact-link {
  grid-column-gap: 12px;
  grid-row-gap: 12px;
  color: var(--_demmler---farbe--akzent);
  align-items: center;
  margin-top: 22px;
  text-decoration: none;
  display: flex;
}

.ob-contact-link:hover {
  text-decoration: underline;
}

.ob-contact-icon {
  flex: none;
}

.dm-hero-video {
  z-index: 0;
  background-color: #111;
  width: 100%;
  height: 100svh;
  position: relative;
  overflow: hidden;
  box-shadow: 0 8px 20px #00000026;
}

.dm-wohnbar-begegnungen {
  box-sizing: border-box;
  background-color: #fff0;
  grid-template-columns: minmax(0, 35fr) minmax(0, 65fr);
  align-items: stretch;
  gap: 24px;
  width: 100%;
  max-width: 2200px;
  margin-left: auto;
  margin-right: auto;
  padding: 24px min(4vw, 5.5rem) 28px;
  display: grid;
}

.dm-wohnbar-begegnungen-copy {
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: 0;
  display: flex;
}

.dm-wohnbar-begegnungen-slider {
  border-radius: 6px;
  align-self: stretch;
  width: 100%;
  min-width: 0;
  height: 390px;
  overflow: hidden;
  box-shadow: 0 8px 24px #0000001f;
}

.dm-wohnbar-begegnungen-title {
  font-family: var(--_demmler---schrift--serif);
  margin: 0 0 14px;
  font-size: 52px;
  font-weight: 400;
  line-height: 1.05;
}

.dm-wohnbar-begegnungen-text {
  font-family: var(--_demmler---schrift--sans);
  margin: 0;
  font-size: 20px;
  line-height: 1.4;
}

.dm-wohnbar-cards {
  box-sizing: border-box;
  background-color: #fff0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  width: 100%;
  max-width: 2200px;
  margin: 0 auto;
  padding: 0 min(4vw, 5.5rem) 28px;
  display: grid;
}

.dm-wohnbar-card {
  background-color: #f4f4f4;
  border-radius: 5px;
  overflow: hidden;
  box-shadow: 0 2px 8px #00000021;
}

.dm-wohnbar-card-image {
  aspect-ratio: 2.35;
  object-fit: cover;
  width: 100%;
  height: auto;
  display: block;
}

.dm-wohnbar-card-inner {
  padding: 8px 12px 20px;
}

.dm-wohnbar-card-title {
  font-family: var(--_demmler---schrift--serif);
  margin: 0 0 7px;
  font-size: 25px;
  font-weight: 400;
}

.dm-wohnbar-card-text {
  font-family: var(--_demmler---schrift--sans);
  margin: 0 0 14px;
  font-size: 20px;
  line-height: 1.38;
}

.dm-wohnbar-events-features {
  box-sizing: border-box;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 40px;
  width: 100%;
  max-width: 2200px;
  margin: 0 auto;
  padding: 38px min(4vw, 5.5rem) 24px;
  display: grid;
}

.dm-wohnbar-events-half {
  min-width: 0;
}

.dm-wohnbar-events-head {
  font-family: var(--_demmler---schrift--serif);
  margin: 0 0 28px;
  font-size: 64px;
  font-weight: 400;
  line-height: 1.05;
}

.dm-wohnbar-event-body {
  grid-template-columns: minmax(0, 40fr) minmax(0, 60fr);
  align-items: center;
  gap: 20px;
  display: grid;
}

.dm-wohnbar-event-image {
  object-fit: cover;
  border-radius: 4px;
  width: 100%;
  height: 440px;
  box-shadow: 0 3px 10px #00000029;
}

.dm-wohnbar-event-copy {
  font-size: 20px;
  line-height: 1.45;
}

.dm-wohnbar-checklist {
  margin: 24px 0 18px;
  padding-left: 0;
  list-style-type: none;
}

.dm-wohnbar-check {
  margin: 0 0 4px;
  padding-left: 30px;
  font-size: 19px;
  line-height: 1.55;
  position: relative;
}

.dm-wohnbar-capacities {
  grid-column-gap: 1.25rem;
  grid-row-gap: 1.25rem;
  grid-template-columns: repeat(2, minmax(0, 12rem));
  margin: 16px 0 0;
  display: grid;
}

.dm-wohnbar-capacity {
  color: #6c339c;
  text-align: center;
  background-color: #0000;
  border: 1px solid #dedede;
  border-radius: 4px;
  padding: .5rem;
  box-shadow: 0 2px 7px #00000038;
}

.dm-wohnbar-number {
  margin: 0;
  font-size: 34px;
  line-height: 1.1;
}

.dm-wohnbar-capacity-caption {
  margin: 0;
  font-size: 16px;
  line-height: 1.2;
}

.dm-wohnbar-icons-grid {
  text-align: center;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 36px 15px;
  display: grid;
}

.dm-wohnbar-feature-icon {
  filter: brightness(1.06) contrast(1.15);
  mix-blend-mode: multiply;
  object-fit: contain;
  width: 72px;
  height: 72px;
  margin: 0 auto 12px;
  display: block;
}

.dm-wohnbar-feature-caption {
  white-space: pre-line;
  margin: 0;
  font-size: 19px;
  line-height: 1.28;
}

.wb-event-item {
  cursor: pointer;
  border-left: 4px solid #0000;
  min-height: 120px;
  padding: 14px 12px;
  transition: background-color .25s, box-shadow .25s, border-left-color .25s;
}

.wb-event-date {
  min-width: 92px;
  color: var(--_demmler---farbe--akzent);
  text-align: center;
  border: 1px solid #bcbcbc;
  border-radius: 4px;
  align-self: center;
  padding: 9px 6px;
}

.wb-event-layout {
  grid-template-columns: 92px minmax(0, 1fr) 24px;
  align-items: center;
  gap: 17px;
  display: grid;
}

.wb-data-title {
  margin: 0 0 4px;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.25;
}

.wb-data-time {
  margin: 0 0 5px;
  font-size: 15px;
  line-height: 1.25;
}

.wb-data-description {
  margin: 0;
  font-size: 15px;
  line-height: 1.35;
}

.wb-event-arrow {
  color: var(--_demmler---farbe--akzent);
  text-align: center;
  font-size: 34px;
  font-weight: 600;
}

.wb-event-day, .wb-event-month {
  margin: 0;
  font-size: 16px;
}

.wb-calendar-two-columns {
  grid-template-columns: minmax(0, 48fr) minmax(0, 52fr);
  align-items: start;
  gap: 28px;
  display: grid;
}

.wb-detail-card {
  background-color: #0000;
  min-width: 0;
  padding: 22px;
  box-shadow: 0 2px 10px #0000001a;
}

.wb-detail-image {
  filter: drop-shadow(0 2px 10px #0000001f);
  background-repeat: no-repeat;
  background-size: contain;
  height: 100%;
  min-height: 500px;
}

.wb-detail-description {
  font-size: 17px;
  line-height: 1.45;
}

.wb-detail-title {
  margin: 0 0 12px;
  font-size: 21px;
  font-weight: 600;
}

.wb-hidden-data {
  display: none;
}

.wb-detail-date, .wb-detail-time, .wb-detail-location {
  font-size: 16px;
  line-height: 1.5;
}

.wb-detail-phone, .wb-detail-email {
  font-size: 16px;
}

.wb-calendar-heading {
  font-family: var(--_demmler---schrift--serif);
  color: var(--_demmler---farbe--text);
  margin: 0 0 24px;
  font-size: 48px;
  font-weight: 400;
  line-height: 1.1;
}

.wb-detail-two-parts {
  grid-template-columns: minmax(0, 46fr) minmax(0, 54fr);
  align-items: stretch;
  gap: 24px;
  min-width: 0;
  display: grid;
}

.wb-date-weekday {
  color: var(--_demmler---farbe--akzent);
  margin: 0 0 3px;
  font-size: 12px;
  line-height: 1.1;
}

.wb-list-date {
  margin: 0 0 3px;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.2;
}

.wb-calendar-section {
  box-sizing: border-box;
  width: 100%;
  max-width: 2200px;
  margin: 0 auto;
  padding: 26px min(4vw, 5.5rem) 32px;
}

.wb-calendar-contact-link {
  background-color: var(--_demmler---farbe--akzent);
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--hell);
  border-radius: 3px;
  margin-top: 16px;
  padding: 10px 20px;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  display: inline-block;
  box-shadow: 0 3px 9px #0000002e;
}

.wb-monthly-section {
  box-sizing: border-box;
  width: 100%;
  max-width: 2200px;
  margin: 0 auto;
  padding: 26px min(4vw, 5.5rem) 32px;
}

.wb-monthly-heading {
  font-family: var(--_demmler---schrift--serif);
  margin: 0 0 24px;
  font-size: 48px;
  font-weight: 400;
  line-height: 1.1;
}

.wb-monthly-frame {
  border: 0;
  width: 100%;
  height: 600px;
  display: block;
}

.wb-reserve-section {
  box-sizing: border-box;
  width: 100%;
  max-width: 2200px;
  margin: 0 auto;
  padding: 10px min(4vw, 5.5rem) 24px;
}

.wb-reserve-box {
  box-sizing: border-box;
  grid-column-gap: 32px;
  grid-row-gap: 32px;
  background-color: #f1f2f3;
  border-radius: 5px;
  grid-template-rows: auto;
  grid-template-columns: 2fr 1fr 1.2fr auto;
  align-items: center;
  gap: 30px;
  min-height: 255px;
  padding: 40px 22px;
  display: grid;
  box-shadow: 0 2px 9px #00000021;
}

.wb-reserve-title {
  font-family: var(--_demmler---schrift--sans);
  color: #1f1812;
  margin: 0 0 18px;
  font-size: 30px;
  font-weight: 400;
  line-height: 1.2;
}

.wb-reserve-subtitle {
  font-family: var(--_demmler---schrift--sans);
  color: #1f1812;
  margin: 0 0 15px;
  font-size: 21px;
  font-weight: 500;
  line-height: 1.25;
}

.wb-reserve-description {
  max-width: 640px;
  font-family: var(--_demmler---schrift--sans);
  color: #1f1812;
  margin: 0;
  font-size: 19px;
  line-height: 1.35;
}

.wb-reserve-phone, .wb-reserve-email {
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--akzent);
  white-space: nowrap;
  align-items: center;
  gap: 10px;
  font-size: 18px;
  text-decoration: none;
  display: flex;
}

.wb-reserve-button {
  background-color: var(--_demmler---farbe--akzent);
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--hell);
  white-space: nowrap;
  border-radius: 4px;
  padding: 15px 22px;
  font-size: 17px;
  text-decoration: none;
  display: inline-block;
  box-shadow: 0 4px 12px #0000002b;
}

.wb-reserve-contact-text {
  font-family: var(--_demmler---schrift--sans);
  color: #222;
  font-size: 18px;
}

.dfooter-gallery-grid {
  flex-direction: row;
  justify-content: center;
  gap: 16px;
  width: 100%;
  display: flex;
}

.architecture-second-row {
  grid-template-rows: auto;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  column-gap: 4vw;
  width: 92%;
  max-width: 2024px;
  margin: 30px auto 42px;
  display: grid;
}

.dm-architecture-projects {
  background-color: var(--_demmler---farbe--hintergrund);
  padding: 20px min(4vw, 5.5rem) 70px;
}

.dm-architecture-projects-inner {
  max-width: 2200px;
  margin: 0 auto;
}

.dm-architecture-projects-label {
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--akzent);
  letter-spacing: 0;
  text-transform: uppercase;
  margin-bottom: 22px;
  font-size: clamp(1rem, 1.069rem + .132vw, 1.25rem);
  font-weight: 400;
  line-height: 1.2;
}

.dm-architecture-projects-grid {
  grid-column-gap: 24px;
  grid-row-gap: 26px;
  grid-template-rows: auto;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  display: grid;
}

.dm-architecture-projects-card {
  min-width: 0;
  position: relative;
}

.dm-architecture-projects-image {
  aspect-ratio: 3.5;
  object-fit: cover;
  border-radius: 4px;
  width: 100%;
  display: block;
}

.dm-architecture-projects-title {
  color: #1f1812;
  margin: 8px 0 5px;
  font-size: 1.4375rem;
  font-weight: 400;
}

.dm-architecture-projects-desc {
  color: #1f1812;
  margin: 0;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.4;
}

.dm-architecture-projects-link {
  z-index: 2;
  display: block;
  position: absolute;
  inset: 0;
}

.dm-depth-v2 {
  background-color: var(--_demmler---farbe--hintergrund);
  padding: 55px min(4vw, 5.5rem) 70px;
}

.dm-depth-v2-grid {
  grid-column-gap: 4vw;
  grid-row-gap: 4vw;
  grid-template-rows: auto;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr);
  align-items: center;
  max-width: 2200px;
  margin: 0 auto;
  display: grid;
}

.dm-depth-v2-copy {
  min-width: 0;
}

.dm-depth-v2-kicker {
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--akzent);
  letter-spacing: 0;
  text-transform: uppercase;
  margin: 0 0 14px;
  font-size: clamp(1rem, 1.069rem + .132vw, 1.25rem);
  font-weight: 400;
  line-height: 1.2;
}

.dm-depth-v2-title {
  font-family: var(--_demmler---schrift--serif);
  letter-spacing: -.03em;
  margin: 0 0 18px;
  font-size: clamp(2.125rem, .158rem + 3.158vw, 4.5rem);
  font-weight: 400;
  line-height: 1.04;
}

.dm-depth-v2-body {
  margin: 0 0 28px;
  font-size: clamp(1rem, .857rem + .298vw, 1.125rem);
  font-weight: 300;
  line-height: 1.5;
}

.dm-depth-v2-media {
  border-radius: 4px;
  width: 100%;
  min-width: 0;
  min-height: 320px;
  position: relative;
  overflow: hidden;
}

.dm-process-icon-original {
  filter: brightness(1.06) contrast(1.15);
  transform-origin: center;
  mix-blend-mode: multiply;
  object-fit: contain;
  width: 56px;
  max-width: none;
  height: 56px;
  margin: 0 auto 16px;
  display: block;
  transform: none;
}

.dm-benefits-v2 {
  grid-column-gap: 18px;
  grid-row-gap: 18px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  margin-top: 18px;
  margin-bottom: 14px;
  display: grid;
}

.dm-benefits-v2-column {
  grid-column-gap: 7px;
  grid-row-gap: 7px;
  flex-direction: column;
  display: flex;
}

.dm-benefits-v2-item {
  grid-column-gap: 7px;
  grid-row-gap: 7px;
  align-items: center;
  min-width: 0;
  display: flex;
}

.dm-benefits-v2-check {
  color: #6932a6;
  flex-shrink: 0;
  font-size: 30px;
  font-weight: 500;
  line-height: 1;
}

.dm-benefits-v2-label {
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--text);
  font-size: 18px;
  line-height: 1.35;
}

.dm-process-line-v2 {
  pointer-events: none;
  background: none;
  width: 60px;
  height: auto;
  position: absolute;
  top: 24px;
  left: calc(100% - 18px);
}

.dm-process-line-svg {
  width: 100%;
  max-width: none;
  height: auto;
  display: block;
}

.dm-depth-checklist-v3 {
  grid-column-gap: 18px;
  grid-row-gap: 12px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  display: grid;
}

.dm-depth-checkitem-v3 {
  grid-column-gap: 8px;
  grid-row-gap: 8px;
  align-items: center;
  min-width: 0;
  display: flex;
}

.dm-depth-check-v3 {
  color: #6735a5;
  flex-shrink: 0;
  font-size: 30px;
  line-height: 1;
}

.dm-depth-label-v3 {
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--text);
  font-size: 18px;
  line-height: 1.4;
}

.general-slider-layout {
  background: none;
  flex-direction: row-reverse;
  grid-template-columns: 1.55fr .75fr;
  align-items: center;
  gap: 5vw;
  width: 92%;
  max-width: 2200px;
  margin: 0 auto;
  padding: 34px 0;
  display: flex;
}

.general-slider-layout:nth-child(odd) {
  flex-direction: row;
}

.general-slider-copy {
  flex: 0 0 30%;
  grid-area: 1 / 2;
  width: 30%;
  min-width: 0;
}

.general-slider-images {
  aspect-ratio: 2.4;
  border-radius: 5px;
  flex: 62%;
  grid-area: 1 / 1;
  width: 62%;
  min-width: 0;
  height: auto;
  overflow: hidden;
  box-shadow: 0 4px 13px #0000002e;
}

.general-slider-heading {
  font-family: var(--_demmler---schrift--serif);
  letter-spacing: -.03em;
  margin-bottom: 22px;
  font-size: clamp(2.125rem, .158rem + 3.158vw, 4.5rem);
  font-weight: 400;
  line-height: 1.04;
}

.general-slider-description {
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--text);
  font-size: clamp(1rem, .857rem + .298vw, 1.125rem);
  font-weight: 300;
  line-height: 1.45;
}

.carpentry-metal-section {
  background-color: #161616;
  border-radius: 6px;
  align-items: center;
  width: 100%;
  max-width: 2200px;
  min-height: 470px;
  margin-left: auto;
  margin-right: auto;
  padding: 48px min(4vw, 5.5rem);
  display: flex;
  position: relative;
  overflow: hidden;
}

.carpentry-metal-video {
  z-index: 0;
  object-fit: cover;
  border-radius: 6px;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

.carpentry-metal-shade {
  z-index: 1;
  pointer-events: none;
  background-image: linear-gradient(90deg, #000000e0, #0000004d 48%, #00000014);
  position: absolute;
  inset: 0;
}

.carpentry-metal-copy {
  z-index: 2;
  color: #fff;
  max-width: 390px;
  position: relative;
}

.carpentry-metal-title {
  font-family: var(--_demmler---schrift--serif);
  color: #fff;
  letter-spacing: -.03em;
  margin: 0 0 22px;
  font-size: clamp(2.125rem, .158rem + 3.158vw, 4.5rem);
  font-weight: 400;
  line-height: 1.04;
}

.carpentry-metal-description {
  font-family: var(--_demmler---schrift--sans);
  color: #fff;
  margin: 0;
  font-size: clamp(1rem, .857rem + .298vw, 1.125rem);
  font-weight: 300;
  line-height: 1.48;
}

.dm-carpentry-material-panel {
  background-color: #ccc3bc;
  border-radius: 5px;
  width: 100%;
  max-width: 2200px;
  min-height: 340px;
  margin: 36px auto 18px;
  padding: 32px 2vw;
  position: relative;
  overflow: hidden;
  box-shadow: 0 4px 12px #0000002e;
}

.dm-carpentry-material-section {
  max-width: none;
  color: var(--_demmler---farbe--text);
  background-color: #0000;
  margin-left: auto;
  margin-right: auto;
  padding: 20px 4vw 24px;
}

.dm-carpentry-material-image {
  z-index: 1;
  pointer-events: none;
  object-fit: cover;
  object-position: right center;
  width: 63%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
}

.dm-carpentry-material-title {
  z-index: 2;
  width: 33%;
  max-width: 360px;
  font-family: var(--_demmler---schrift--serif);
  letter-spacing: -.03em;
  font-size: clamp(2.125rem, .158rem + 3.158vw, 4.5rem);
  font-weight: 400;
  line-height: 1.04;
  position: relative;
}

.dm-samina-brand-bottom {
  z-index: 3;
  pointer-events: none;
  font-family: var(--_demmler---schrift--serif);
  color: #fff;
  text-align: right;
  font-size: clamp(42px, 4.1vw, 78px);
  font-weight: 400;
  line-height: 1;
  position: absolute;
  bottom: 68px;
  right: min(4vw, 5.5rem);
}

.about-growth-text {
  flex-direction: column;
  justify-content: center;
  gap: 1rem;
  min-width: 0;
  padding-left: 2.3%;
  display: flex;
}

.about-fact-unit {
  text-align: center;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  gap: .3rem;
  min-width: 0;
  display: flex;
}

.about-fact-number {
  margin-top: .25rem;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.15;
}

.about-fact-caption {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.3;
}

.shadow-card {
  border-radius: 12px;
  box-shadow: 0 12px 30px #0000001f;
}

.dm-partner-card {
  aspect-ratio: 1;
  background-color: #fff;
  border-radius: 4px;
  flex-direction: column;
  justify-content: center;
  align-self: center;
  align-items: center;
  height: auto;
  min-height: 0;
  text-decoration: none;
  display: flex;
  position: relative;
  box-shadow: 0 1px 9px #0000001a;
}

.dm-partner-intro {
  flex-direction: column;
  justify-content: center;
  padding-right: 1rem;
  display: flex;
}

.dm-partner-arrow {
  color: #211b17;
  font-size: 22px;
  position: absolute;
  bottom: 10px;
  right: 12px;
}

.about-growth-item {
  align-items: center;
  gap: 10px;
  display: flex;
}

.about-growth-icon {
  aspect-ratio: 1;
  filter: invert(14%) sepia(54%) saturate(3207%) hue-rotate(258deg) brightness(93%) contrast(101%);
  object-fit: contain;
  flex: none;
  width: 30px;
  max-width: none;
  height: 30px;
}

.text-block-2, .text-block-3, .text-block-4, .text-block-5, .text-block-6, .text-block-7 {
  font-size: 1.35rem;
}

.wohnbar-col-5 {
  box-sizing: border-box;
  float: left;
  width: 20%;
  padding-left: 10px;
  padding-right: 10px;
}

.team-divider-line {
  background-image: linear-gradient(90deg, #80808000 0%, #808080cc 50%, #80808000 100%);
  border-top: 0 gray;
  width: 20.625rem;
  height: .1875rem;
  margin: 10px auto 28px;
  display: block;
}

.dm-team-contact-grid {
  background-color: #f4f1ee;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, .95fr) minmax(0, .95fr);
  align-items: center;
  gap: 0;
  max-width: 2200px;
  min-height: 220px;
  margin-left: auto;
  margin-right: auto;
  padding: 24px min(5vw, 6.875rem);
  display: grid;
}

.dm-team-contact-intro {
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: 18px;
  display: flex;
}

.dm-team-contact-title {
  max-width: 380px;
  font-family: var(--_demmler---schrift--serif);
  margin: 0 0 10px;
  font-size: clamp(2rem, 2.6vw, 3.2rem);
  font-weight: 400;
  line-height: 1.03;
}

.dm-team-contact-link {
  color: #211b17;
  justify-content: flex-start;
  align-items: center;
  gap: 12px;
  height: auto;
  padding-left: 0;
  font-size: 1.3rem;
  text-decoration: none;
  display: flex;
}

.dm-team-old-contact-hidden {
  display: none;
}

.dm-team-contact-icon-people {
  object-fit: fill;
  flex-shrink: 0;
  width: 220px;
  height: 220px;
}

.dm-team-contact-phone {
  color: #211b17;
  border-left: none;
  align-items: center;
  gap: 12px;
  height: auto;
  padding-left: 0;
  font-size: 1.2rem;
  text-decoration: none;
  display: flex;
}

.dm-team-contact-field {
  align-items: center;
  gap: 16px;
  min-width: 0;
  padding-left: 3vw;
  display: flex;
}

.dm-team-contact-field-phone {
  border-left: 2px solid #b9b2ab;
  align-items: center;
  gap: 16px;
  height: 100%;
  padding-left: 3vw;
  display: flex;
}

.dm-team-contact-icon-separate {
  object-fit: cover;
  flex-shrink: 0;
  width: 80px;
  height: 80px;
}

.paragraph {
  max-width: 380px;
  margin-right: 112px;
  font-size: 1.2rem;
}

.dm-depth-v2-video-wrap {
  z-index: 0;
  position: relative;
}

.dm-contact-original-layout {
  grid-column-gap: 3.3vw;
  background-color: #fff;
  flex-flow: row;
  align-items: flex-start;
  width: 100%;
  max-width: 137.5rem;
  margin-left: auto;
  margin-right: auto;
  padding: 3.3vw 2vw 3.3vw 4.2vw;
  display: flex;
}

.dm-contact-original-form {
  grid-row-gap: .5rem;
  flex-direction: column;
  flex: 0 0 26%;
  min-width: 16rem;
  display: flex;
}

.dm-contact-original-cards {
  grid-column-gap: 1.125rem;
  grid-row-gap: 1.125rem;
  flex-flow: wrap;
  flex: 1;
  align-items: stretch;
  min-width: 0;
  display: flex;
}

.dm-contact-original-card {
  background-color: #f4f4f4;
  border-radius: .25rem;
  flex-direction: column;
  flex: 1;
  min-width: 0;
  padding: .75rem .625rem 2rem;
  display: flex;
  box-shadow: 0 1px 7px #0000001f;
}

.dm-contact-original-card-image {
  aspect-ratio: 32 / 25;
  object-fit: cover;
  border-radius: .1875rem;
  width: 100%;
  display: block;
}

.dm-contact-original-heading {
  font-family: var(--_demmler---schrift--serif);
  color: var(--_demmler---farbe--text);
  margin-top: 0;
  margin-bottom: 0;
  font-size: 1.9rem;
  font-style: italic;
  font-weight: 400;
  line-height: 1.2;
}

.dm-video-bg-toggle {
  cursor: pointer;
  background-color: #2d2d2d8c;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 3.5rem;
  height: 3.5rem;
  transition: background-color .2s;
  display: flex;
}

.dm-video-bg-icon {
  width: 1.1rem;
  height: auto;
}

.dm-contact-form-names {
  grid-column-gap: 1rem;
  flex-flow: row;
  align-items: flex-start;
  display: flex;
}

.dm-contact-form-fields {
  grid-row-gap: .3125rem;
  flex-direction: column;
  display: flex;
}

.dm-contact-form-field {
  grid-row-gap: .3125rem;
  flex-direction: column;
  flex: 1;
  min-width: 0;
  display: flex;
}

.dm-contact-form-label {
  font-family: var(--_demmler---schrift--sans);
  color: #65319a;
  margin-top: .75rem;
  margin-bottom: 0;
  font-size: 1.1rem;
  font-weight: 400;
  line-height: 1.3;
}

.dm-contact-form-input {
  width: 100%;
  height: 2.5rem;
  min-height: 2.5rem;
  color: var(--_demmler---farbe--text);
  background-color: #fff;
  border: 1px solid #9d9d9d;
  border-radius: .125rem;
  margin-bottom: 0;
  padding: .5rem;
  font-size: .8125rem;
}

.dm-contact-form-input.dm-contact-form-textarea {
  resize: vertical;
  height: auto;
  min-height: 4.75rem;
}

.dm-contact-form-submit {
  width: 55%;
  font-family: var(--_demmler---schrift--sans);
  color: #fff;
  background-color: #65319a;
  border-style: none;
  border-radius: 999px;
  margin-top: 1.25rem;
  margin-left: auto;
  margin-right: auto;
  padding: .5625rem 1rem;
  font-size: .9375rem;
  font-weight: 600;
  display: block;
}

.dm-contact-card-title-original {
  font-family: var(--_demmler---schrift--serif);
  color: var(--_demmler---farbe--text);
  white-space: pre-line;
  margin: 2rem 0 0;
  padding-left: 1.125rem;
  padding-right: .5rem;
  font-size: 1.375rem;
  font-weight: 400;
  line-height: 1.35;
}

.dm-contact-card-copy-original {
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--text);
  margin-top: .125rem;
  margin-bottom: 0;
  padding-left: 1.125rem;
  padding-right: .5rem;
  font-size: .875rem;
  font-weight: 400;
  line-height: 1.4;
}

.dm-contact-card-link-original {
  font-family: var(--_demmler---schrift--sans);
  color: #65319a;
  margin-top: 1.125rem;
  padding-left: 3.125rem;
  padding-right: .5rem;
  font-size: .9375rem;
  line-height: 1.45;
  text-decoration: none;
  display: block;
  position: relative;
}

.dm-contact-card-link-original:before {
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  width: 1.1rem;
  height: 1.1rem;
  position: absolute;
  top: .15rem;
  left: 1.125rem;
}

.dm-contact-card-link-original.is-phone {
  margin-top: 1.125rem;
}

.dm-contact-card-link-original.is-phone:before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2365319a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
}

.dm-contact-card-link-original.is-mail {
  margin-top: 1.25rem;
}

.dm-contact-card-link-original.is-mail:before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2365319a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-10 6L2 7'/%3E%3C/svg%3E");
}

.dm-contact-card-address-original {
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--text);
  white-space: pre-line;
  margin-top: 1.5rem;
  margin-bottom: 0;
  padding-left: 3.125rem;
  padding-right: .5rem;
  font-size: .9375rem;
  font-weight: 400;
  line-height: 1.45;
  position: relative;
}

.dm-contact-card-address-original:before {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2365319a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  width: 1.1rem;
  height: 1.1rem;
  position: absolute;
  top: .15rem;
  left: 1.125rem;
}

.dm-contact-original-lead {
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--text);
  white-space: pre-line;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 1.2rem;
  font-weight: 300;
  line-height: 1.3;
}

.dm-contact-form-check {
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--text);
  margin-top: 1rem;
  margin-bottom: 0;
  font-size: .75rem;
  line-height: 1.3;
}

.link-2 {
  text-decoration: none;
}

.wohnbar-hero-place {
  font-family: var(--_demmler---schrift--serif);
  color: #f2f3f4;
  margin-top: 0;
  margin-bottom: 0;
  font-size: clamp(2rem, 3.33vw, 4.5rem);
  font-weight: 400;
  line-height: 1.06;
  display: none;
}

.dm-depth-v2-caption {
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--text);
  margin-top: .75rem;
  margin-bottom: 0;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.3;
}

.dm-hero-copy {
  z-index: 1;
  color: #f2f3f4;
  padding-bottom: clamp(3rem, 7vw, 7rem);
  position: absolute;
  bottom: 0;
  left: min(3.125vw, 4.3rem);
}

.dm-hero-title {
  font-family: var(--_demmler---schrift--serif);
  color: #f2f3f4;
  margin-top: 0;
  margin-bottom: 0;
  font-size: clamp(2.75rem, 1.115rem + 3.553vw, 6rem);
  font-weight: 300;
  line-height: 1.02;
}

.dm-hero-sub {
  font-family: var(--_demmler---schrift--sans);
  color: #f2f3f4;
  margin-top: 1.35rem;
  margin-bottom: 0;
  font-size: clamp(1.375rem, .622rem + 1.184vw, 2.25rem);
  font-style: italic;
  font-weight: 300;
  line-height: 1.08;
}

.materials-benefit-item {
  text-align: center;
  flex-direction: column;
  align-items: center;
  display: flex;
}

.materials-benefit-label {
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--text);
  margin-top: .75rem;
  margin-bottom: 0;
  font-size: clamp(.95rem, 1.1vw, 1.25rem);
  font-weight: 300;
  line-height: 1.3;
}

.dm-case-services {
  max-width: 40.625rem;
  margin-top: 1.75rem;
}

.dm-case-services-title {
  font-family: var(--_demmler---schrift--sans);
  color: #1f1812;
  margin-top: 0;
  margin-bottom: 1rem;
  font-size: clamp(1rem, .9rem + .3vw, 1.25rem);
  font-weight: 600;
  line-height: 1.3;
}

.dm-case-services-list {
  grid-row-gap: .875rem;
  display: grid;
}

.dm-case-service {
  grid-column-gap: 1rem;
  align-items: center;
  display: flex;
}

.dm-case-service-icon {
  object-fit: contain;
  width: 3rem;
  min-width: 3rem;
  height: 3rem;
}

.dm-case-service-label {
  font-family: var(--_demmler---schrift--sans);
  color: #1f1812;
  margin-top: 0;
  margin-bottom: 0;
  font-size: clamp(1rem, .9rem + .35vw, 1.25rem);
  font-weight: 300;
  line-height: 1.35;
}

.dm-hinweis-seite {
  background-color: var(--_demmler---farbe--hintergrund);
  color: var(--_demmler---farbe--text);
}

.dm-hinweis-inhalt {
  max-width: 53.75rem;
  margin-left: auto;
  margin-right: auto;
  padding: 3rem 2rem 6rem;
}

.dm-hinweis-titel {
  margin-top: 0;
  margin-bottom: .5rem;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.3;
}

.dm-hinweis-zwischentitel {
  margin-top: 2rem;
  margin-bottom: .5rem;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.3;
}

.dm-hinweis-text {
  margin-top: 0;
  margin-bottom: .75rem;
  font-size: 1rem;
  line-height: 1.6;
}

.dm-hinweis-bild {
  border: 1px solid #ddd5c9;
  border-radius: .25rem;
  width: 100%;
  max-width: 40rem;
  height: auto;
  margin-top: .75rem;
  margin-bottom: 1.5rem;
  display: block;
}

.dm-team-items {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
  gap: 1.25rem 0;
  display: grid;
}

.dm-team-items:before, .dm-team-items:after {
  display: none;
}

.dm-team-item {
  float: none;
  width: auto;
  display: grid;
}

.utility-page-wrap {
  justify-content: center;
  align-items: center;
  width: 100vw;
  max-width: 100%;
  height: 100vh;
  max-height: 100%;
  display: flex;
}

.utility-page-content {
  text-align: center;
  flex-direction: column;
  width: 260px;
  display: flex;
}

.dm-404-section {
  background-color: var(--_demmler---farbe--hintergrund);
  min-height: 80vh;
  color: var(--_demmler---farbe--text);
  text-align: center;
  justify-content: center;
  align-items: center;
  padding: 10rem 8vw 6rem;
  display: flex;
}

.dm-404-content {
  flex-direction: column;
  align-items: center;
  max-width: 42rem;
  display: flex;
}

.dm-404-kicker {
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--akzent);
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 1.25rem;
  font-size: clamp(1rem, 1.069rem + .132vw, 1.25rem);
  font-weight: 400;
  line-height: 1.2;
}

.dm-404-title {
  font-family: var(--_demmler---schrift--serif);
  letter-spacing: -.03em;
  margin-top: 0;
  margin-bottom: 1.5rem;
  font-size: clamp(2.5rem, 1.8rem + 2.4vw, 4.5rem);
  font-weight: 400;
  line-height: 1.04;
}

.dm-404-text {
  font-family: var(--_demmler---schrift--sans);
  margin-top: 0;
  margin-bottom: 2.5rem;
  font-size: 1.125rem;
  line-height: 1.6;
}

.dm-404-buttons {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  flex-wrap: wrap;
  justify-content: center;
  display: flex;
}

.dm-404-btn {
  border: 1px solid var(--_demmler---farbe--akzent);
  background-color: var(--_demmler---farbe--akzent);
  font-family: var(--_demmler---schrift--sans);
  color: var(--_demmler---farbe--hell);
  text-transform: uppercase;
  border-radius: 999px;
  padding: .75rem 2rem;
  font-size: 1rem;
  line-height: 1.5;
  text-decoration: none;
  display: inline-block;
}

.dm-404-btn.dm-404-btn-outline {
  color: var(--_demmler---farbe--akzent);
  background-color: #0000;
}

.wb-cal-consent {
  grid-column-gap: 1.25rem;
  grid-row-gap: 1.25rem;
  text-align: center;
  background-color: #f6f1fb;
  border: 1px solid #d8cce8;
  border-radius: 6px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 18rem;
  padding: 2rem 1.5rem;
  display: flex;
}

.wb-cal-consent-text {
  color: #1f1812;
  max-width: 34rem;
  margin: 0;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.5;
}

.wb-cal-consent-link {
  color: #5a2d94;
  text-decoration: underline;
}

.wb-cal-consent-button {
  color: #fff;
  background-color: #5a2d94;
  border-radius: 999px;
  padding: .75rem 2rem;
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none;
  display: inline-block;
}

@media screen and (min-width: 1280px) {
  .dm-wrw-discovery {
    grid-template-columns: minmax(0, 35fr) minmax(0, 65fr);
  }

  .dm-wrw-cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
  }

  .dm-wrw-card {
    min-height: 375px;
  }

  .dm-wrw-card.dm-wrw-card-last-wide {
    grid-column: auto;
  }

  .dm-wrw-card-body {
    font-size: 20px;
  }

  .dm-wrw-products {
    grid-template-columns: minmax(0, 25fr) minmax(0, 75fr);
  }

  .dm-wrw-products-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .dm-wrw-team-contact {
    grid-template-columns: minmax(0, 63fr) minmax(0, 37fr);
    gap: 18px;
  }

  .dm-wrw-team-grid {
    grid-area: 1 / 1;
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .dm-wrw-contact-row {
    grid-area: 1 / 2;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
}

@media screen and (max-width: 991px) {
  .dheader {
    background-color: #1e1b19;
    background-image: none;
  }

  .dheader:before, .dnav {
    display: none;
  }

  .dfooter {
    padding-left: 5%;
    padding-right: 5%;
  }

  .dfootertext {
    text-align: center;
    font-family: DM Sans, Arial, sans-serif;
    font-size: 19px;
    font-weight: 200;
    line-height: 1.3;
  }

  .reference-summary {
    margin-bottom: .9rem;
    line-height: 1.3;
  }

  .reference-copy {
    line-height: 1.35;
  }

  .ue-hero {
    -webkit-text-fill-color: inherit;
    background-origin: padding-box;
    background-clip: padding-box;
    border-top: 88px solid #1e1b19;
    height: 100svh;
    min-height: 480px;
    padding-top: 72px;
    padding-bottom: 72px;
  }

  .ue-title {
    margin-top: 18px;
    margin-bottom: 24px;
    font-size: clamp(2.125rem, .158rem + 3.158vw, 4.5rem);
    line-height: 1.04;
  }

  .ue-lead {
    margin-top: 0;
    margin-bottom: 10px;
  }

  .legal-title-1, .privacy-title {
    font-size: 42px;
  }

  .news-hero {
    border-top: 88px solid #1e1b19;
  }

  .news-hero-copy {
    padding-bottom: 4.5rem;
  }

  .news-title {
    margin-bottom: 20px;
    font-size: 5.25rem;
    line-height: .95;
  }

  .news-subtitle {
    margin-top: 0;
    font-size: 22px;
    font-weight: 200;
    line-height: 1.25;
  }

  .architecture-main-visual {
    width: 48%;
  }

  .dm-architecture-intro-inner {
    grid-column-gap: 3vw;
    grid-template-columns: 1fr 1fr;
  }

  .dm-architecture-process-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .dm-carpentry-hero {
    border-top: 88px solid #1e1b19;
    height: 100svh;
    min-height: 480px;
  }

  .dm-carpentry-copy {
    padding-bottom: 0;
    bottom: 9vw;
  }

  .dm-carpentry-title {
    margin-bottom: 18px;
  }

  .dm-carpentry-subtitle {
    margin-top: 0;
  }

  .dm-partners {
    height: auto;
    min-height: 0;
    padding-top: 88px;
    display: block;
    position: static;
  }

  .dm-partners:before {
    display: none;
  }

  .dm-partners-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding-bottom: 1.5rem;
    position: static;
  }

  .dm-partners-title, .dm-partners-text {
    color: var(--_demmler---farbe--text);
  }

  .dm-partners-image {
    height: clamp(340px, 27vw, 600px);
    min-height: 0;
    position: static;
  }

  .dm-footer-greeting {
    background-color: #1f181200;
  }

  .dm-footer-legal {
    grid-column-gap: .75rem;
    grid-row-gap: .75rem;
    flex-flow: column;
    justify-content: center;
    align-items: center;
  }

  .dm-contact-hero {
    -webkit-text-fill-color: inherit;
    background-origin: padding-box;
    background-clip: padding-box;
    border-top: 88px solid #1e1b19;
    height: 100svh;
    min-height: 480px;
    padding-top: 72px;
    padding-bottom: 72px;
  }

  .dm-contact-title {
    margin-bottom: 30px;
  }

  .dm-contact-lead {
    margin-top: 0;
  }

  .dm-footer-location-link {
    font-size: 16px;
  }

  .dmenu-overlay {
    overscroll-behavior: contain;
    height: 100vh;
    padding-bottom: 10rem;
    display: none;
    bottom: 0%;
    overflow-y: auto;
  }

  .dmenu-content {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    width: 96%;
    padding-bottom: 12rem;
  }

  .link.dmenu-link {
    font-size: .8rem;
  }

  .heading.dmenu-heading {
    font-size: 1.3rem;
  }

  .dmenu-image-box {
    display: none;
  }

  .dmenu-contact {
    margin-bottom: 1.5rem;
  }

  .dmenu-social.dfooter-social {
    justify-content: center;
  }

  .dfooter-columns {
    grid-column-gap: 48px;
    grid-row-gap: 48px;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    display: flex;
  }

  .div-2 {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    grid-column: 1 / -1;
    justify-self: center;
    width: 100%;
    min-width: 0;
    max-width: 220px;
  }

  .div-3 {
    width: 100%;
    min-width: 0;
    max-width: 220px;
  }

  .image-5 {
    width: 220px;
  }

  .div-5 {
    order: -9999;
    width: 100%;
    max-width: 100%;
  }

  .div-6 {
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    order: 0;
  }

  .div-10 {
    text-align: center;
    flex-direction: column;
    order: 9999;
    align-items: center;
    display: flex;
  }

  .gallery-wrapper {
    grid-row-gap: 24px;
    grid-template-columns: minmax(0, 1fr);
  }

  .pw-intro-inner {
    grid-template-columns: 1fr;
    row-gap: 28px;
    width: calc(100% - 48px);
  }

  .pw-intro-original-image {
    height: 120px;
  }

  .pw-worlds-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .dheader-social-row, .home-hero-shade {
    display: none;
  }

  .home-hero-copy {
    width: calc(100% - 8vw);
    padding-bottom: 2.5rem;
    left: 4vw;
  }

  .home-hero-title {
    font-size: 2.75rem;
  }

  .home-hero-subtitle {
    max-width: 34rem;
    font-size: 1.3rem;
  }

  .home-intro {
    padding: 3rem 4vw;
  }

  .home-intro-inner {
    grid-row-gap: 2rem;
    grid-template-columns: 1fr;
    max-width: none;
  }

  .home-intro-title {
    font-size: 2rem;
  }

  .case {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .case-copy {
    max-width: none;
    margin-bottom: 0;
  }

  .case-title {
    font-size: 2rem;
  }

  .cd-image-2, .cd-image-container {
    width: 768px;
  }

  .compare-text {
    font-size: 10px;
  }

  .cd-image-label {
    padding-left: 1.3em;
    padding-right: 1.3em;
    font-size: 10px;
  }

  .demmler-case-layout {
    grid-row-gap: 2rem;
    grid-template-columns: 1fr;
  }

  .demmler-services-row {
    grid-row-gap: 1.5rem;
    grid-template-columns: 1fr;
  }

  .demmler-services-heading {
    text-align: center;
    white-space: normal;
  }

  .demmler-services-four {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
  }

  .demmler-service-cell {
    text-align: center;
    border-top: 1px solid #d1c9c4;
    border-bottom: 1px solid #d1c9c4;
    border-right: 1px solid #d1c9c4;
    border-radius: 6px;
    flex-direction: column;
    justify-content: flex-start;
    gap: 1.25rem;
    min-height: 11rem;
    padding-top: 1.75rem;
    padding-bottom: 1.75rem;
    box-shadow: 0 2px 7px #0000002e;
  }

  .demmler-service-small-icon {
    width: 8rem;
    min-width: 8rem;
    height: 8rem;
  }

  .dm-process-layout {
    grid-template-columns: 1fr;
    row-gap: 14px;
  }

  .dm-process-steps {
    grid-area: 3 / 1;
  }

  .dm-materials-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .demmler-home-hero-corrected {
    border-top: 88px solid #1e1b19;
    height: 608px;
    min-height: 0;
    max-height: none;
  }

  .dm-news-grid, .dm-cms-reviews-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rl-padding-section-large {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  .rl-heading-style-h2 {
    font-size: 2.75rem;
  }

  .rl_blogpost1_component {
    padding-top: 67px;
  }

  .rl_blogpost1_spacing-block-3 {
    padding-bottom: 4.5rem;
  }

  .rl_blogpost1_image-wrapper {
    padding-top: 56.25%;
  }

  .rl_blogpost1_spacing-block-2 {
    padding-bottom: 2.5rem;
  }

  .dm-article-row {
    grid-column-gap: 24px;
    grid-row-gap: 24px;
    grid-template-columns: 1fr;
  }

  .dm-article-gallery {
    grid-column-gap: 18px;
    grid-row-gap: 18px;
    grid-template-columns: repeat(2, 1fr);
  }

  .news-cms-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding-top: 34px;
  }

  .dm-hero-video-mode {
    height: 100%;
  }

  .dm-video-scroll {
    display: none;
  }

  .dm-wrw-discovery {
    grid-template-columns: 35% minmax(0, 65%);
    gap: 0;
    padding: 12px 4vw 8px;
  }

  .dm-wrw-discovery-copy {
    padding: 24px 16px 24px 4px;
  }

  .dm-wrw-discovery-title {
    margin: 14px 0;
    font-size: 28px;
    line-height: 1.05;
  }

  .dm-wrw-triple {
    grid-template-columns: 1fr 1fr;
    gap: 6px;
    padding-top: 8px;
    padding-left: 4vw;
    padding-right: 4vw;
  }

  .dm-wrw-tile {
    height: 315px;
  }

  .dm-wrw-tile.dm-wrw-last-wide {
    grid-column: 1 / -1;
    height: 315px;
  }

  .dm-wrw-tile-copy {
    font-size: 22px;
    line-height: 1.25;
    bottom: 12px;
    left: 12px;
    right: 12px;
  }

  .dm-wrw-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    padding-left: 0;
    padding-right: 0;
  }

  .dm-wrw-card {
    min-height: 0;
    padding: 24px 18px 30px;
  }

  .dm-wrw-card.dm-wrw-card-last-wide {
    grid-column: 1 / -1;
  }

  .dm-wrw-card-icon {
    width: 95px;
    height: 76px;
  }

  .dm-wrw-card-body {
    font-size: 16px;
    line-height: 1.42;
  }

  .dm-wrw-material-panel {
    background-color: #100c0a;
    background-image: none;
    grid-template-columns: 1fr;
    gap: 12px;
    min-height: 0;
    padding: 24px 28px;
  }

  .dm-wrw-material-title {
    text-align: left;
    font-size: 34px;
  }

  .dm-wrw-material-text {
    text-align: left;
    max-width: none;
    font-size: 20px;
  }

  .dm-wrw-material-mobile-image {
    height: 230px;
    display: block;
  }

  .dm-wrw-cards-section {
    padding-left: 4vw;
    padding-right: 4vw;
  }

  .dm-wrw-discovery-text {
    font-size: 16px;
    line-height: 1.35;
  }

  .dm-wrw-tile-heading {
    margin: 0 0 7px;
    font-size: 23px;
  }

  .dm-wrw-tile-description {
    font-size: 16px;
  }

  .dm-wrw-products {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .dm-wrw-products-title {
    font-size: 38px;
  }

  .dm-wrw-products-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dm-wrw-team-contact {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
    padding: 24px 4vw 32px;
  }

  .dm-wrw-team-grid {
    grid-area: auto;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
  }

  .dm-wrw-person-image {
    height: 155px;
  }

  .dm-wrw-person-role {
    font-size: 13px;
  }

  .dm-wrw-contact-row {
    grid-area: auto;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    margin: 0;
  }

  .dm-wrw-location-image {
    margin-left: 0;
  }

  .dm-wrw-team-extra {
    display: block;
  }

  .dm-wrw-native-slider-test {
    height: 420px;
  }

  .image-8 {
    object-fit: cover;
    width: 100%;
    height: 100%;
  }

  .dm-hero-video {
    border-top: 88px solid #1e1b19;
    height: 592px;
    min-height: 0;
  }

  .dm-wohnbar-begegnungen {
    grid-template-columns: minmax(0, 40fr) minmax(0, 60fr);
    padding: 22px 4vw 30px;
  }

  .dm-wohnbar-begegnungen-slider {
    height: 360px;
  }

  .dm-wohnbar-cards {
    gap: 14px;
    padding: 0 4vw 24px;
  }

  .dm-wohnbar-card-text {
    font-size: 17px;
  }

  .dm-wohnbar-events-features {
    gap: 24px;
    padding: 28px 4vw 32px;
  }

  .dm-wohnbar-events-head {
    font-size: 44px;
  }

  .dm-wohnbar-event-body {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .dm-wohnbar-event-image {
    height: 250px;
  }

  .dm-wohnbar-icons-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 12px;
  }

  .dm-wohnbar-feature-icon {
    width: 64px;
    height: 64px;
    margin-top: 1rem;
    margin-bottom: 1.5rem;
    transform: scale(1.45);
  }

  .wb-calendar-two-columns {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .wb-reserve-box {
    grid-template-columns: 1fr 1fr;
    gap: 22px;
    min-height: 0;
  }

  .dfooter-gallery-grid {
    flex-flow: wrap;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-flow: row;
    justify-content: center;
    place-items: flex-start center;
    gap: 28px 24px;
    width: 100%;
    max-width: 620px;
    display: flex;
  }

  .architecture-second-row {
    grid-template-columns: 1fr 1fr;
  }

  .dm-architecture-projects-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dm-depth-v2-grid {
    grid-template-columns: 1fr 1fr;
    gap: 24px;
  }

  .dm-contact-original-layout {
    grid-row-gap: 2.5rem;
    flex-direction: column;
    align-items: stretch;
  }

  .dm-contact-original-form {
    flex-basis: auto;
    width: 100%;
    max-width: 36rem;
  }

  .dm-contact-original-cards {
    flex-basis: auto;
    width: 100%;
  }

  .dm-contact-original-card {
    flex-grow: 0;
    flex-basis: calc(50% - .5rem);
  }

  .dm-hero-copy {
    padding-bottom: 5vw;
    top: auto;
    bottom: 44px;
    left: 31px;
  }

  .dm-hero-title {
    font-size: 46px;
    line-height: 1.05;
  }

  .dm-hero-sub {
    margin-top: 0;
    font-size: 40px;
    font-weight: 300;
    line-height: 1.25;
  }

  .dm-case-services {
    margin-top: 1.5rem;
  }

  .dm-case-services-list {
    grid-column-gap: 1rem;
  }

  .dm-case-service-icon {
    width: 2.75rem;
    min-width: 2.75rem;
    height: 2.75rem;
  }
}

@media screen and (max-width: 767px) {
  .dheader {
    height: 80px;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .ue-hero {
    border-top-width: 80px;
    height: 480px;
    min-height: 0;
    padding-top: 65px;
    padding-bottom: 35px;
  }

  .venue-page {
    max-width: 100%;
    overflow-x: clip;
  }

  .legal-title-1, .privacy-title {
    font-size: 34px;
  }

  .news-hero {
    border-top-width: 80px;
  }

  .news-subtitle {
    font-size: 17px;
    font-weight: 200;
    line-height: 1.3;
  }

  .architecture-main-visual {
    width: 92%;
    margin-left: 4%;
    margin-right: 4%;
  }

  .architecture-main-image {
    aspect-ratio: 16 / 10;
  }

  .materials-benefit-grid {
    grid-area: auto / 1;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    row-gap: 12px;
  }

  .about-growth-visual {
    grid-template-columns: 1fr;
    row-gap: 2rem;
  }

  .about-facts-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dm-architecture-intro {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .dm-architecture-intro-inner {
    grid-row-gap: 24px;
    grid-template-columns: 1fr;
  }

  .dm-architecture-intro-title {
    font-size: clamp(32px, 8vw, 48px);
  }

  .dm-architecture-intro-image {
    aspect-ratio: 16 / 10;
  }

  .dm-architecture-process-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dm-carpentry-hero {
    border-top-width: 80px;
    height: 480px;
    min-height: 0;
  }

  .dm-partners {
    padding-top: 80px;
  }

  .dm-partners-inner {
    grid-template-columns: 1fr;
  }

  .dm-partners-image {
    height: 260px;
  }

  .dm-samina-copy {
    width: 100%;
    max-width: 100%;
    padding-bottom: 190px;
  }

  .dm-material-closing {
    grid-template-rows: auto;
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .dm-material-closing-title, .dm-material-closing-text {
    grid-area: auto / 1;
  }

  .dm-contact-hero {
    border-top-width: 80px;
    height: 480px;
    min-height: 0;
    padding-top: 65px;
    padding-bottom: 35px;
  }

  .dmenu-overlay {
    display: none;
  }

  .gallery-slider {
    padding: 20px 15px;
  }

  .gallery-wrapper {
    grid-row-gap: 20px;
    grid-template-columns: minmax(0, 1fr);
  }

  .pw-intro-inner {
    grid-template-columns: 1fr;
    row-gap: 20px;
    width: calc(100% - 32px);
  }

  .pw-worlds-section {
    padding-left: 4vw;
    padding-right: 4vw;
  }

  .pw-worlds-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dheader-social-row {
    display: none;
  }

  .home-hero-copy {
    width: calc(100% - 3rem);
    padding-bottom: 1.75rem;
    left: 1.5rem;
  }

  .home-hero-title {
    font-size: 2rem;
  }

  .home-hero-subtitle {
    margin-top: .9rem;
    font-size: 1.2rem;
  }

  .home-intro {
    padding: 2.5rem 1.25rem;
  }

  .home-intro-inner {
    grid-row-gap: 1.75rem;
    grid-template-columns: 1fr;
  }

  .home-intro-title {
    letter-spacing: -.01em;
    font-size: 1.5rem;
  }

  .home-intro-copy {
    font-size: 1.0625rem;
    line-height: 1.35;
  }

  .home-intro-script {
    text-align: center;
    white-space: normal;
    margin-top: 2rem;
    font-size: 1.5rem;
  }

  .case {
    padding: 3rem 1.25rem;
  }

  .case-copy {
    margin-bottom: 0;
  }

  .case-title {
    letter-spacing: -.01em;
    margin-bottom: 1.25rem;
    font-size: 1.5rem;
  }

  .cd-image-2, .cd-image-container {
    width: 480px;
  }

  .compare-text {
    font-size: 12px;
  }

  .cd-image-label {
    padding-left: .7em;
    padding-right: .7em;
    font-size: 12px;
    right: 10px;
  }

  .cd-image-label.original {
    padding-left: .7em;
    padding-right: .7em;
    left: 10px;
  }

  .demmler-case-layout {
    grid-row-gap: 1.5rem;
    grid-template-columns: 1fr;
  }

  .demmler-services-row {
    grid-row-gap: 1.25rem;
    grid-template-columns: 1fr;
  }

  .demmler-services-heading {
    white-space: normal;
  }

  .demmler-services-four {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
  }

  .demmler-service-cell {
    text-align: center;
    border-top: 1px solid #d1c9c4;
    border-bottom: 1px solid #d1c9c4;
    border-right: 1px solid #d1c9c4;
    border-radius: 6px;
    flex-direction: column;
    justify-content: flex-start;
    gap: 1rem;
    min-height: 8.5rem;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    box-shadow: 0 2px 7px #0000002e;
  }

  .demmler-service-small-icon {
    width: 7rem;
    min-width: 7rem;
    height: 7rem;
  }

  .demmler-service-label {
    font-size: .95rem;
  }

  .dm-process-heading {
    text-align: center;
    font-size: 1.6rem;
  }

  .dm-process-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 20px;
  }

  .dm-materials-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .demmler-home-hero-corrected {
    border-top-width: 80px;
    height: 443px;
    min-height: 0;
    max-height: none;
  }

  .dm-news-section {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .dm-news-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 2rem 1rem;
  }

  .dm-news-heading {
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 1.1rem;
    overflow: hidden;
  }

  .dm-news-image {
    height: 8.5rem;
  }

  .dm-news-intro {
    font-size: .95rem;
    line-height: 1.4;
  }

  .dm-cms-reviews-grid {
    grid-template-columns: 1fr;
  }

  .rl-padding-section-large {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .rl-heading-style-h2 {
    font-size: 2.25rem;
  }

  .rl_blogpost1_component {
    padding-top: 68px;
  }

  .rl_blogpost1_spacing-block-3 {
    padding-bottom: 3rem;
  }

  .rl_blogpost1_spacing-block-2 {
    padding-bottom: 2rem;
  }

  .rl_blogpost1_spacing-block-1 {
    padding-bottom: 1.25rem;
  }

  .dm-article-sections {
    padding-left: 20px;
    padding-right: 20px;
  }

  .dm-article-gallery {
    grid-template-columns: 1fr;
  }

  .dm-gallery-image-1, .dm-gallery-image-2, .dm-gallery-image-3 {
    height: 20rem;
  }

  .news-cms-grid {
    grid-template-columns: 1fr;
    padding: 28px 1.25rem 0;
  }

  .dm-hero-film-link {
    white-space: nowrap;
    gap: .6rem;
    font-size: .875rem;
    top: 7.5rem;
    bottom: auto;
    right: 1.25rem;
  }

  .dm-hero-film-link.is-neu {
    top: 1.5rem;
    left: 1.5rem;
    right: auto;
  }

  .dm-hero-film-play {
    width: 2.4rem;
    height: 1.8rem;
  }

  .dm-hero-film-play.is-neu {
    width: 2.25rem;
    height: 2.25rem;
    font-size: .75rem;
  }

  .dm-wrw-discovery {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
    padding: 18px 4vw 26px;
  }

  .dm-wrw-discovery-copy {
    text-align: center;
    align-items: center;
    padding: 16px 5px;
  }

  .dm-wrw-discovery-title {
    white-space: pre-line;
    margin: 12px 0;
    font-size: 34px;
    line-height: 1.04;
  }

  .dm-wrw-triple {
    grid-template-columns: 1fr;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding-left: 4vw;
    padding-right: 4vw;
  }

  .dm-wrw-tile {
    height: 300px;
  }

  .dm-wrw-tile.dm-wrw-last-wide {
    grid-column: auto;
  }

  .dm-wrw-cards {
    grid-template-columns: 1fr;
  }

  .dm-wrw-card {
    grid-template-rows: auto 1fr;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 12px 8px;
    min-height: 260px;
    padding: 18px 14px 48px;
    display: grid;
  }

  .dm-wrw-card.dm-wrw-card-last-wide {
    grid-column: auto;
  }

  .dm-wrw-card-icon {
    grid-area: 1 / 1;
    width: 184px;
    max-width: 100%;
    height: 130px;
    margin: 0 auto;
  }

  .dm-wrw-card-title {
    border-bottom: none;
    grid-area: 1 / 2;
    max-width: none;
    margin: 0;
    padding: 0;
    font-size: 22px;
  }

  .dm-wrw-card-body {
    border-top: 1px solid #dbc9eb;
    grid-area: 2 / 1 / auto / -1;
    padding-top: 13px;
    font-size: 15px;
    line-height: 1.4;
  }

  .dm-wrw-material-panel {
    background-color: #14100e;
    background-image: none;
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 24px 16px;
  }

  .dm-wrw-material-title {
    text-align: left;
    font-size: 36px;
  }

  .dm-wrw-material-text {
    text-align: left;
    font-size: 18px;
  }

  .dm-wrw-material-mobile-image {
    display: block;
  }

  .dm-wrw-products {
    gap: 12px;
    padding: 18px 4vw 34px;
  }

  .dm-wrw-products-title {
    white-space: pre-line;
    max-width: 260px;
    font-size: 28px;
    line-height: 1.05;
  }

  .dm-wrw-products-grid {
    gap: 5px;
  }

  .dm-wrw-product-img {
    height: 170px;
  }

  .dm-wrw-team-contact {
    grid-template-columns: 1fr;
    padding: 30px 4vw 36px;
  }

  .dm-wrw-team-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px 14px;
  }

  .dm-wrw-person-image {
    height: 175px;
  }

  .dm-wrw-person-name {
    font-size: 14px;
  }

  .dm-wrw-person-role {
    font-size: 12px;
  }

  .dm-wrw-contact-row {
    grid-template-columns: 1fr;
    gap: 32px;
    margin: 38px 0 0;
  }

  .dm-wrw-contact-box {
    padding: 0;
  }

  .dm-wrw-contact-box.dm-wrw-contact-right {
    border-left: none;
    padding-left: 0;
  }

  .dm-wrw-contact-text {
    font-size: .9375rem;
  }

  .dm-wrw-native-slider-test {
    height: 300px;
  }

  .dm-hero-video {
    border-top-width: 80px;
    height: 455px;
  }

  .dm-wohnbar-begegnungen {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
    padding: 18px 4vw 26px;
  }

  .dm-wohnbar-begegnungen-slider {
    height: 260px;
  }

  .dm-wohnbar-cards {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .dm-wohnbar-card-image {
    aspect-ratio: 16 / 9;
    height: auto;
  }

  .dm-wohnbar-card-text {
    font-size: 18px;
  }

  .dm-wohnbar-events-features {
    grid-template-columns: 1fr;
    gap: 28px;
    padding-left: 4px;
    padding-right: 4px;
  }

  .dm-wohnbar-events-head {
    font-size: 38px;
  }

  .dm-wohnbar-event-body {
    grid-template-columns: 1fr;
  }

  .dm-wohnbar-event-image {
    height: 230px;
  }

  .dm-wohnbar-capacities {
    gap: 12px;
  }

  .dm-wohnbar-icons-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dm-wohnbar-feature-icon {
    width: 62px;
    height: 62px;
  }

  .dm-wohnbar-feature-caption {
    font-size: 15px;
  }

  .wb-calendar-two-columns {
    grid-template-columns: 1fr;
    gap: 20px;
    padding-left: 16px;
    padding-right: 16px;
  }

  .wb-detail-two-parts {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .wb-monthly-heading {
    font-size: 36px;
  }

  .wb-monthly-frame {
    height: 500px;
  }

  .wb-reserve-box {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 24px 18px;
  }

  .architecture-second-row, .dm-architecture-projects-grid {
    grid-template-columns: 1fr;
    row-gap: 24px;
  }

  .dm-architecture-projects-image {
    aspect-ratio: 2.8;
  }

  .dm-depth-v2-grid {
    grid-template-columns: 1fr;
  }

  .dm-depth-v2-title {
    font-size: 40px;
  }

  .general-slider-layout {
    flex-direction: column;
    align-items: stretch;
  }

  .general-slider-layout:nth-child(odd) {
    flex-direction: column;
  }

  .general-slider-copy, .general-slider-images {
    flex: none;
    width: 100%;
  }

  .dm-carpentry-material-panel {
    background-size: 100%;
    min-height: 480px;
    padding: 25px;
  }

  .dm-team-contact-grid {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 24px;
  }

  .dm-team-contact-phone, .dm-team-contact-field-phone {
    border-left: none;
    padding-left: 0;
  }

  .dm-contact-original-card {
    flex-basis: 100%;
  }

  .dm-contact-form-names {
    flex-direction: column;
    align-items: stretch;
  }

  .dm-hero-copy {
    width: calc(100% - 50px);
    bottom: 30px;
    left: 32px;
  }

  .dm-hero-title {
    font-size: 42px;
  }

  .dm-hero-title.is-lang {
    font-size: 30px;
    line-height: 1.02;
  }

  .dm-hero-sub {
    max-width: 12rem;
    font-size: 20px;
    line-height: 1.2;
  }

  .dm-hero-sub.is-lang {
    max-width: none;
    line-height: 1.12;
  }

  .dm-case-services {
    margin-top: 1.25rem;
    margin-bottom: 1.5rem;
  }

  .dm-case-services-list {
    grid-row-gap: .75rem;
  }

  .dm-case-service-icon {
    width: 2.5rem;
    min-width: 2.5rem;
    height: 2.5rem;
  }
}

@media screen and (max-width: 479px) {
  .dfooter {
    padding-left: 4%;
    padding-right: 4%;
  }

  .dfooterlogo {
    width: 230px;
  }

  .dfootertext {
    text-align: center;
    align-self: auto;
  }

  .ue-hero {
    height: 480px;
    min-height: 0;
    padding-top: 65px;
    padding-bottom: 35px;
  }

  .legal-page-1 {
    padding: 56px 20px 72px;
  }

  .legal-title-1 {
    font-size: 28px;
  }

  .legal-h2 {
    margin-top: 34px;
    font-size: 22px;
  }

  .privacy-page {
    padding: 56px 20px 72px;
  }

  .privacy-title {
    font-size: 28px;
  }

  .privacy-h2 {
    margin-top: 34px;
    font-size: 22px;
  }

  .dm-carpentry-hero {
    height: 480px;
    min-height: 0;
  }

  .dm-contact-hero {
    height: 480px;
    min-height: 0;
    padding-top: 65px;
    padding-bottom: 35px;
  }

  .dmenu-overlay {
    display: none;
  }

  .dmenu-content {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
    order: 2;
    grid-template-rows: auto;
    grid-template-columns: 1fr;
    grid-auto-columns: 1fr;
    margin-top: 2rem;
    display: grid;
  }

  .link.dmenu-link {
    font-size: 1rem;
  }

  .heading.dmenu-heading {
    font-size: 1.4rem;
  }

  .dmenu-contact {
    order: 1;
  }

  .dmenu-topbar {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
    flex-flow: column;
    order: 0;
    align-items: center;
  }

  .dmenu-social {
    flex: 1;
    order: 0;
    justify-content: center;
    align-self: auto;
    margin: 0 0 0 4rem;
  }

  .dmenu-social.dfooter-social {
    flex-flow: row;
    justify-content: center;
    align-self: center;
    margin-left: 0;
    margin-right: -.3rem;
  }

  .dmenu-actions {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    flex-flow: row;
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    justify-content: space-between;
    align-self: flex-end;
    width: 100%;
    display: flex;
  }

  .div-2 {
    flex-shrink: 1;
    grid-column: auto;
    width: calc(33.3333% - 5.33333px);
    max-width: none;
  }

  .div-3 {
    flex-shrink: 1;
    width: calc(33.3333% - 5.33333px);
    max-width: none;
  }

  .image-3 {
    aspect-ratio: 4 / 3;
    width: 100%;
    height: auto;
  }

  .image-4 {
    aspect-ratio: 4 / 3;
    height: auto;
  }

  .image-5 {
    aspect-ratio: 4 / 3;
    width: 100%;
    height: auto;
  }

  .div-5 {
    order: 0;
  }

  .div-6 {
    order: -9999;
  }

  .div-10 {
    flex-flow: column;
    order: 9999;
    justify-content: center;
    align-self: center;
    align-items: center;
    display: flex;
  }

  .div-11 {
    flex-flow: column;
    justify-content: center;
    align-items: center;
    display: flex;
  }

  .gallery-wrapper {
    grid-template-columns: 1fr;
  }

  .cd-image-2 {
    width: 320px;
  }

  .cd-image-container {
    width: 320px;
    height: 180px;
  }

  .btn-s-rounded-outlined {
    flex: none;
  }

  .demmler-home-hero-corrected {
    height: 443px;
    min-height: 0;
    max-height: none;
  }

  .rl_blogpost1_content-top {
    flex-direction: column;
    align-items: flex-start;
  }

  .dm-hero-film-link {
    font-size: .8rem;
    top: 7.5rem;
    bottom: auto;
    right: 1rem;
  }

  .dm-hero-film-link.is-neu {
    top: 1.5rem;
    left: 1.5rem;
    right: auto;
  }

  .dfooter-gallery-grid {
    flex-wrap: nowrap;
    gap: 8px;
    width: 100%;
    max-width: 100%;
    display: flex;
  }
}

#w-node-_1c62dbca-f1df-080f-f51c-2dfd3d7b6933-f27b9050, #w-node-b1e0c316-a841-e711-24e4-bbbe8c270fb0-fff9024f {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

@media screen and (max-width: 991px) {
  #w-node-_4f183fcb-609d-5e15-a422-5112160cd56e-281a03f8 {
    grid-area: 1 / 1 / 3 / 3;
    align-self: start;
  }

  #w-node-_82d1b879-040e-7d0b-bae0-c492410990b1-281a03f8 {
    grid-area: 1 / 2 / 3 / 4;
    align-self: start;
  }

  #w-node-_818ffd1d-2082-79a2-2003-dc66367d8ac9-281a03f8 {
    grid-area: 2 / 1 / 3 / 4;
    place-self: start center;
  }

  #w-node-_1c62dbca-f1df-080f-f51c-2dfd3d7b6933-f27b9050 {
    grid-area: span 1 / span 2 / span 1 / span 2;
  }
}

@media screen and (max-width: 479px) {
  #w-node-_1c62dbca-f1df-080f-f51c-2dfd3d7b6933-f27b9050 {
    grid-area: span 1 / span 1 / span 1 / span 1;
  }
}
