.db-form .db-form__inner { display: flex; flex-direction: column; gap: 32px; padding-block: 40px; }
.db-form .db-form__head { display: flex; flex-direction: column; gap: 16px; }
.db-form__title { font-size: clamp(1.5rem, 8vw, 3.75rem); line-height: 1.1; }
.db-form__lead { font-size: 16px; line-height: 1.75; color: var(--muted); max-width: 36ch; margin: 0; }
.db-form__form { min-width: 0; }
.db-form__grid { display: grid; grid-template-columns: 1fr; gap: 24px; } .db-form__form { display: flex; flex-direction: column; gap: 16px; }
.db-form__row { display: flex; flex-direction: column; gap: 16px; } .db-form__group { display: flex; flex-direction: column; gap: 6px; margin: 0; min-width: 0; }
.db-form__field {
display: flex;
align-items: center;
gap: 16px;
padding-block: 8px;
border-bottom: 1px solid var(--line);
margin: 0;
}
.db-form__label {
flex: 0 0 auto;
font-weight: 300;
font-size: 16px;
line-height: 1.75;
color: var(--muted);
white-space: nowrap; font-family: var(--font-body);
text-transform: none;
}
.db-form__req { color: var(--gold); }
.db-form__input {
flex: 1 1 auto;
width: 100%;
min-width: 0;
padding: 0;
font-family: var(--font-body);
font-weight: 300;
font-size: 16px;
line-height: 1.75;
color: var(--ink);
background: transparent;
border: 0;
border-radius: 0;
}
.db-form__input::placeholder { color: var(--muted); }
.db-form__input:focus { outline: none; }
.db-form__field:focus-within { border-bottom-color: var(--ink); } .db-form__error {
display: block;
font-size: 14px;
line-height: 1.4;
color: #B3261E;
}
.db-form__error:empty { display: none; }
.db-form__field.is-invalid { border-bottom-color: #B3261E; }
.db-form__field--area.is-invalid { border-color: #B3261E; }
.db-form__consent.is-invalid .db-form__box { border-color: #B3261E; }
.db-form__field--area {
align-items: stretch;
padding: 12px 20px;
border: 1px solid var(--line);
}
.db-form__field--area .db-form__input { min-height: 202px; resize: vertical; } .db-form__field--area .db-form__input[name="wuensche"] { min-height: 100px; }
.db-form__field--area:focus-within { border-color: var(--ink); } .db-form__sr {
position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
} .db-form__consent { display: flex; align-items: flex-start; gap: 12px; margin: 8px 0 0; }
.db-form__box {
position: relative;
flex: 0 0 auto;
width: 24px;
height: 24px;
margin: 0;
-webkit-appearance: none;
appearance: none;
background: transparent;
border: 1px solid var(--line);
border-radius: 0;
cursor: pointer;
}
.db-form__box:checked::after {
content: "";
position: absolute;
left: 8px;
top: 3px;
width: 6px;
height: 12px;
border: solid var(--gold);
border-width: 0 2px 2px 0;
transform: rotate(45deg);
}
.db-form__box:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.db-form__consent-text { font-weight: 300; font-size: 14px; line-height: 1.45; color: var(--muted); }
.db-form__submit { align-self: flex-start; margin-top: 8px; }  .db-form__notice {
margin: 0 0 24px;
padding: 12px 20px;
font-size: 16px;
line-height: 1.6;
border: 1px solid var(--line);
}
.db-form__notice--ok  { border-color: var(--gold); color: var(--ink); }
.db-form__notice--err { border-color: #B3261E; color: #B3261E; } .db-form__trap {
position: absolute !important;
left: -9999px !important;
width: 1px; height: 1px; overflow: hidden;
}
@media (min-width: 861px) {  .db-form .db-form__inner { flex-direction: row; gap: 120px; padding-block: 120px; align-items: flex-start; }
.db-form .db-form__head { flex: 0 0 476px; gap: 24px; }
.db-form__title { font-size: 3.75rem; line-height: 1.1333; }
.db-form__lead { max-width: 324px; }
.db-form__form { flex: 1 1 auto; } .db-form__row { flex-direction: row; gap: 40px; }
.db-form__row .db-form__group { flex: 1; min-width: 0; }
} .db-form__extras {
display: grid;
grid-template-columns: 1fr;
gap: 8px 80px;
margin: 0;
padding: 0;
border: 0;
}
.db-form__check { display: flex; align-items: center; gap: 12px; font-weight: 300; font-size: 16px; line-height: 28px; color: var(--muted); cursor: pointer; }
.db-form__check .db-form__box { flex: 0 0 24px; width: 24px; height: 24px; }  .db-form__field select.db-form__input {
appearance: none;
-webkit-appearance: none;
background: transparent;
color: var(--ink);
}
.db-form__field input[type="date"].db-form__input,
.db-form__field input[type="time"].db-form__input {
background: transparent;
color: var(--ink);
} .db-form__field--date .db-form__input::-webkit-calendar-picker-indicator,
.db-form__field--time .db-form__input::-webkit-calendar-picker-indicator {
width: 24px;
height: 24px;
margin: 0;
padding: 0;
opacity: 1;
cursor: pointer;
background-position: center;
background-repeat: no-repeat;
background-size: 24px 24px;
}
.db-form__field--date .db-form__input::-webkit-calendar-picker-indicator {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%2325201E' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E");
}
.db-form__field--time .db-form__input::-webkit-calendar-picker-indicator {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%2325201E' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
}
.db-form__field--select { position: relative; }
.db-form__field--select::after {
content: "";
flex: 0 0 24px;
width: 24px;
height: 24px;
background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%2325201E' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / 24px 24px no-repeat;
pointer-events: none;
} .db-contact-intro { border-bottom: 1px solid var(--line2); }
.db-contact-intro .db-contact-intro__inner { display: flex; flex-direction: column; gap: 32px; padding-block: 40px; }
.db-contact-intro__text { display: flex; flex-direction: column; gap: 16px; }
.db-contact-intro__title { font-size: 1.5rem; line-height: 32px; }
.db-contact-intro__lead { font-weight: 300; font-size: 16px; line-height: 28px; color: var(--muted); }
.db-contact-intro__media { margin: 0; }
.db-contact-intro__media img { width: 100%; height: 240px; object-fit: cover; }
@media (min-width: 861px) { .db-form__extras {
grid-template-columns: none;
grid-template-rows: repeat(2, auto);
grid-auto-flow: column;
grid-auto-columns: max-content;
}
.db-contact-intro .db-contact-intro__inner {
flex-direction: row;
align-items: flex-start;
gap: 120px;
padding-block: 120px;
}
.db-contact-intro__text { flex: 0 0 476px; gap: 24px; }
.db-contact-intro__title { font-size: 3.75rem; line-height: 68px; }
.db-contact-intro__media { flex: 1 1 auto; min-width: 0; }
.db-contact-intro__media img { height: 545px; }
}