/* Local contact page refinements */
body.contact-v2 .contact-b_headline .sayhello-text {
  font-size: clamp(3.4rem, 5.6vw, 5.4rem) !important;
  line-height: .96 !important;
  letter-spacing: -.055em !important;
}

body.contact-v2 .contact-b_headline .text-kontakt {
  font-family: Manrope, Arial, sans-serif !important;
  font-size: clamp(1.15rem, 1.65vw, 1.45rem) !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  letter-spacing: -.02em !important;
}

body.contact-v2 .contact-b_team-info a[href^="mailto:"] {
  color: #151412 !important;
  -webkit-text-fill-color: #151412 !important;
  font-weight: 600 !important;
}

body.contact-v2 .footer_menu .footer_link,
body.contact-v2 .footer_menu .heading-style-h4 {
  font-size: 25px !important;
  line-height: 1.1 !important;
}

body.contact-v2 .contact-area {
  padding: clamp(2rem, 4vw, 4.5rem) 1.5vw clamp(7rem, 11vw, 11rem) !important;
}

body.contact-v2 section[data-wf-target*="2f994695-23c7-2c16-f63c-b0a2d3b96bec"] {
  display: none !important;
}

body.contact-v2 .section_contact-b {
  display: none !important;
}

body.contact-v2 .schraeger-contact-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  width: min(97vw, 1380px);
  margin: clamp(8.5rem, 13vw, 12rem) auto clamp(4rem, 7vw, 7rem);
  padding: clamp(1.3rem, 3vw, 2.5rem);
  border: 1px solid rgba(255,255,255,.76);
  border-radius: clamp(28px, 4vw, 52px);
  background: linear-gradient(140deg, rgba(255,255,255,.5), rgba(226,232,229,.2));
  box-shadow: inset 0 1px rgba(255,255,255,.9), 0 35px 100px rgba(44,53,57,.12);
  -webkit-backdrop-filter: blur(30px) saturate(1.08);
  backdrop-filter: blur(30px) saturate(1.08);
  color: #171b1c;
  font-family: Manrope, Arial, sans-serif;
}

body.contact-v2 .schraeger-contact-hero__ambient {
  position: absolute;
  z-index: -1;
  inset: -45% -10% auto auto;
  width: 52rem;
  height: 38rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(196,160,91,.27), rgba(208,221,218,.14) 44%, transparent 70%);
  filter: blur(16px);
  animation: schraegerContactAmbient 12s ease-in-out infinite alternate;
}

@keyframes schraegerContactAmbient {
  to { transform: translate(-7rem, 5rem) scale(.86); opacity: .6; }
}

body.contact-v2 .schraeger-contact-hero__top {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(300px, .65fr);
  gap: clamp(1.2rem, 3vw, 3rem);
  align-items: stretch;
}

body.contact-v2 .schraeger-contact-hero__copy {
  padding: clamp(.6rem, 2vw, 1.6rem);
}

body.contact-v2 .schraeger-contact-hero__eyebrow,
body.contact-v2 .schraeger-contact-direct__label {
  color: #92713b;
  font-size: .7rem;
  line-height: 1;
  letter-spacing: .13em;
  text-transform: uppercase;
  font-weight: 760;
}

body.contact-v2 .schraeger-contact-hero__copy h1 {
  max-width: 780px;
  margin: clamp(1rem, 2vw, 1.7rem) 0 1.35rem;
  font-size: clamp(3rem, 5.25vw, 5.45rem);
  line-height: .93;
  letter-spacing: -.068em;
  font-weight: 590;
}

body.contact-v2 .schraeger-contact-hero__copy h1 em,
body.contact-v2 .schraeger-contact-form-intro h2 em {
  font-family: Georgia, 'Times New Roman', serif;
  color: #9b7637;
  font-weight: 500;
}

body.contact-v2 .schraeger-contact-hero__copy > p {
  max-width: 720px;
  margin: 0;
  color: #424a4c;
  font-size: clamp(1rem, 1.55vw, 1.22rem);
  line-height: 1.55;
  font-weight: 540;
}

body.contact-v2 .schraeger-contact-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem;
  margin-top: clamp(1.7rem, 3vw, 2.7rem);
}

body.contact-v2 .schraeger-contact-action {
  display: inline-flex;
  align-items: center;
  gap: 1.5rem;
  min-height: 50px;
  padding: 0 .7rem 0 1.25rem;
  border: 1px solid rgba(25,30,32,.2);
  border-radius: 999px;
  background: rgba(255,255,255,.36);
  color: #171b1c;
  font-size: .76rem;
  font-weight: 720;
  text-decoration: none;
  box-shadow: inset 0 1px rgba(255,255,255,.75);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  transition: transform .35s ease, background .35s ease, box-shadow .35s ease;
}

body.contact-v2 .schraeger-contact-action i {
  display: grid;
  place-items: center;
  width: 35px;
  height: 35px;
  border-radius: 50%;
  background: rgba(25,30,32,.08);
  font-style: normal;
  transition: transform .4s cubic-bezier(.16,1,.3,1);
}
body.contact-v2 .schraeger-contact-action.is-dark { border-color: #1b2022; background: linear-gradient(135deg, #171c1e, #333b3d); color: white; box-shadow: inset 0 1px rgba(255,255,255,.15), 0 13px 28px rgba(24,29,31,.16); }
body.contact-v2 .schraeger-contact-action.is-dark i { background: rgba(255,255,255,.14); }
body.contact-v2 .schraeger-contact-action:hover { transform: translateY(-3px); background: rgba(255,255,255,.66); box-shadow: inset 0 1px white, 0 15px 32px rgba(43,52,56,.12); }
body.contact-v2 .schraeger-contact-action.is-dark:hover { background: linear-gradient(135deg, #252c2e, #0f1314); }
body.contact-v2 .schraeger-contact-action:hover i { transform: rotate(-45deg); }

body.contact-v2 .schraeger-contact-direct {
  display: flex;
  flex-direction: column;
  gap: .65rem;
  padding: clamp(1.3rem, 2.3vw, 2rem);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 30px;
  background: radial-gradient(circle at 100% 0, rgba(182,146,78,.22), transparent 38%), linear-gradient(145deg, #151a1c, #2a3234);
  box-shadow: inset 0 1px rgba(255,255,255,.12), 0 25px 55px rgba(24,29,31,.2);
  color: #f6f7f6;
}

body.contact-v2 .schraeger-contact-direct__label { color: #d6b878; margin-bottom: .7rem; }
body.contact-v2 .schraeger-contact-direct > a,
body.contact-v2 .schraeger-contact-direct__location {
  position: relative;
  display: block;
  padding: .85rem 2.4rem .85rem 0;
  border-bottom: 1px solid rgba(255,255,255,.1);
  color: white;
  text-decoration: none;
}
body.contact-v2 .schraeger-contact-direct small,
body.contact-v2 .schraeger-contact-direct strong { display: block; }
body.contact-v2 .schraeger-contact-direct small { margin-bottom: .3rem; color: rgba(255,255,255,.48); font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; }
body.contact-v2 .schraeger-contact-direct strong { font-size: clamp(.82rem, 1.1vw, 1rem); line-height: 1.4; font-weight: 610; }
body.contact-v2 .schraeger-contact-direct > a i { position: absolute; right: .2rem; top: 50%; transform: translateY(-50%); font-style: normal; color: #d6b878; }
body.contact-v2 .schraeger-contact-direct__status { display: flex; gap: .55rem; align-items: flex-start; margin-top: auto; padding-top: .8rem; color: rgba(255,255,255,.58); font-size: .66rem; line-height: 1.45; }
body.contact-v2 .schraeger-contact-direct__status i { flex: 0 0 auto; width: 7px; height: 7px; margin-top: .15rem; border-radius: 50%; background: #c5a25f; box-shadow: 0 0 14px #c5a25f; }

body.contact-v2 .schraeger-contact-team {
  display: grid;
  grid-template-columns: 1fr 1fr .8fr;
  gap: .8rem;
  margin-top: clamp(1.2rem, 2.4vw, 2rem);
}

body.contact-v2 .schraeger-contact-person,
body.contact-v2 .schraeger-contact-team__promise {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-height: 108px;
  padding: .85rem;
  border: 1px solid rgba(255,255,255,.65);
  border-radius: 22px;
  background: rgba(255,255,255,.3);
  box-shadow: inset 0 1px rgba(255,255,255,.78);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
}

body.contact-v2 .schraeger-contact-person__image { flex: 0 0 auto; overflow: hidden; width: 76px; height: 76px; border-radius: 18px; background: #cbb997; }
body.contact-v2 .schraeger-contact-person__image img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.78); }
body.contact-v2 .schraeger-contact-person small { color: #8b6d38; font-size: .61rem; letter-spacing: .07em; text-transform: uppercase; font-weight: 720; }
body.contact-v2 .schraeger-contact-person h2 { margin: .32rem 0 .35rem; font-size: clamp(1rem, 1.45vw, 1.25rem); line-height: 1.05; letter-spacing: -.035em; }
body.contact-v2 .schraeger-contact-person a { color: #15191a; font-size: .7rem; font-weight: 620; text-decoration: none; }
body.contact-v2 .schraeger-contact-person a i { color: #9b7637; font-style: normal; }
body.contact-v2 .schraeger-contact-team__promise { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: .4rem; padding: 1.3rem; color: #596163; font-size: .72rem; line-height: 1.45; }
body.contact-v2 .schraeger-contact-team__promise strong { color: #1e2425; font-size: .9rem; }

body.contact-v2 .schraeger-calendar-intro {
  width: min(97vw, 1380px);
  margin: 0 auto clamp(2.2rem, 4vw, 4.5rem);
  padding: clamp(1.4rem, 2.8vw, 2.6rem) clamp(1.5rem, 3.4vw, 3.5rem);
  border-top: 1px solid rgba(30,36,38,.2);
  border-bottom: 1px solid rgba(255,255,255,.7);
  font-family: Manrope, Arial, sans-serif;
}
body.contact-v2 .schraeger-calendar-intro > span {
  color: #947139;
  font-size: .68rem;
  font-weight: 760;
  letter-spacing: .13em;
  text-transform: uppercase;
}
body.contact-v2 .schraeger-calendar-intro__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
  align-items: end;
  gap: clamp(2rem, 6vw, 7rem);
  margin-top: 1rem;
}
body.contact-v2 .schraeger-calendar-intro h2 {
  max-width: 850px;
  margin: 0;
  color: #171b1c;
  font-size: clamp(2.5rem, 4.8vw, 5.15rem);
  font-weight: 590;
  line-height: .96;
  letter-spacing: -.06em;
}
body.contact-v2 .schraeger-calendar-intro h2 em {
  color: #9b7637;
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 500;
}
body.contact-v2 .schraeger-calendar-intro p {
  margin: 0;
  color: #4d5658;
  font-size: clamp(.9rem, 1.15vw, 1.04rem);
  font-weight: 550;
  line-height: 1.55;
}
body.contact-v2 .schraeger-calendar-intro ul {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin: 1.15rem 0 0;
  padding: 0;
  list-style: none;
}
body.contact-v2 .schraeger-calendar-intro li {
  position: relative;
  overflow: hidden;
  padding: .48rem .75rem;
  border: 1px solid rgba(25,30,32,.14);
  border-radius: 999px;
  background: rgba(255,255,255,.28);
  font-size: .66rem;
  font-weight: 690;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  box-shadow: inset 0 1px rgba(255,255,255,.7), 0 7px 18px rgba(31,38,40,.04);
  animation: schraegerContactChip 4.8s ease-in-out infinite;
  transition: transform .35s cubic-bezier(.16,1,.3,1), border-color .35s ease, box-shadow .35s ease, background .35s ease;
}
body.contact-v2 .schraeger-calendar-intro li:nth-child(2) { animation-delay: .65s; }
body.contact-v2 .schraeger-calendar-intro li:nth-child(3) { animation-delay: 1.3s; }
body.contact-v2 .schraeger-calendar-intro li::before {
  content: "";
  position: absolute;
  inset: -70% auto -70% -45%;
  width: 28%;
  transform: rotate(18deg);
  background: rgba(255,255,255,.75);
  filter: blur(5px);
  animation: schraegerContactChipShine 5.2s ease-in-out infinite;
}
body.contact-v2 .schraeger-calendar-intro li:nth-child(2)::before { animation-delay: .8s; }
body.contact-v2 .schraeger-calendar-intro li:nth-child(3)::before { animation-delay: 1.6s; }
body.contact-v2 .schraeger-calendar-intro li:hover {
  transform: translateY(-4px) scale(1.025);
  border-color: rgba(154,119,57,.38);
  background: rgba(255,255,255,.56);
  box-shadow: inset 0 1px white, 0 13px 28px rgba(50,58,60,.1), 0 0 24px rgba(181,144,76,.12);
}
@keyframes schraegerContactChip {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}
@keyframes schraegerContactChipShine {
  0%, 62% { left: -45%; opacity: 0; }
  72% { opacity: .72; }
  88%, 100% { left: 125%; opacity: 0; }
}

body.contact-v2 .schraeger-contact-form-intro {
  width: min(92vw, 1180px);
  margin: 0 auto clamp(2rem, 4vw, 4rem);
  text-align: center;
  font-family: Manrope, Arial, sans-serif;
}
body.contact-v2 .schraeger-contact-form-intro > span { color: #98743a; font-size: .7rem; letter-spacing: .13em; text-transform: uppercase; font-weight: 740; }
body.contact-v2 .schraeger-contact-form-intro h2 { margin: .7rem 0 .8rem; font-size: clamp(2.6rem, 5.8vw, 5.8rem); line-height: .94; letter-spacing: -.06em; font-weight: 590; }
body.contact-v2 .schraeger-contact-form-intro p { max-width: 650px; margin: 0 auto; color: #515a5b; font-size: clamp(.95rem, 1.3vw, 1.1rem); line-height: 1.55; }

body.contact-v2 #kontaktformular {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  padding: clamp(6rem, 10vw, 10rem) 0 !important;
  background: transparent !important;
}
body.contact-v2 #kontaktformular .contact-a_grid-2 {
  display: block !important;
  padding: clamp(1.2rem, 2.5vw, 2.2rem) !important;
  border: 1px solid rgba(255,255,255,.72) !important;
  border-radius: clamp(26px, 3vw, 42px) !important;
  background: linear-gradient(135deg, rgba(255,255,255,.44), rgba(225,232,229,.2)) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.86), 0 28px 75px rgba(43,53,56,.1) !important;
  -webkit-backdrop-filter: blur(26px) !important;
  backdrop-filter: blur(26px) !important;
}
body.contact-v2 #kontaktformular .container-large-4 {
  width: min(92vw, 1160px) !important;
  max-width: 1160px !important;
}
body.contact-v2 #kontaktformular .label-large-2 {
  font-family: Manrope, Arial, sans-serif !important;
  font-size: .86rem !important;
  font-weight: 620 !important;
  line-height: 1.3 !important;
  letter-spacing: -.01em !important;
  text-transform: none !important;
}
body.contact-v2 #kontaktformular .contact-a_grid_left {
  display: none !important;
}
body.contact-v2 #kontaktformular .contact-a_form-block {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
body.contact-v2 #kontaktformular .form_field-2,
body.contact-v2 #kontaktformular .select-field {
  min-height: 52px !important;
  border: 1px solid rgba(27,33,35,.16) !important;
  border-radius: 14px !important;
  background-color: rgba(255,255,255,.36) !important;
  color: #171b1c !important;
  font-family: Manrope, Arial, sans-serif !important;
  font-weight: 580 !important;
  outline: none !important;
  box-shadow: inset 0 1px rgba(255,255,255,.72) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  backdrop-filter: blur(16px) !important;
  transition: border-color .3s ease, background-color .3s ease, box-shadow .3s ease, transform .3s ease !important;
}
body.contact-v2 #kontaktformular .select-field {
  font-size: .78rem !important;
}
body.contact-v2 #kontaktformular .schraeger-glass-select {
  position: relative;
  z-index: 4;
  width: 100%;
}
body.contact-v2 #kontaktformular .schraeger-glass-select__native {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  opacity: 0 !important;
}
body.contact-v2 #kontaktformular .schraeger-glass-select__button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 52px;
  padding: 0 .75rem 0 1.05rem;
  border: 1px solid rgba(27,33,35,.16);
  border-radius: 15px;
  background: rgba(255,255,255,.38);
  color: #171b1c;
  font: 580 .78rem/1.2 Manrope, Arial, sans-serif;
  text-align: left;
  cursor: pointer;
  outline: none;
  box-shadow: inset 0 1px rgba(255,255,255,.78);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  transition: border-color .3s ease, background .3s ease, box-shadow .3s ease;
}
body.contact-v2 #kontaktformular .schraeger-glass-select__button:focus-visible {
  border-color: rgba(25,30,32,.58);
  box-shadow: inset 0 1px white, 0 0 0 4px rgba(154,119,57,.1), 0 12px 28px rgba(31,38,40,.08);
}
body.contact-v2 #kontaktformular .schraeger-glass-select__button i {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: rgba(27,33,35,.07);
  font-size: 1rem;
  font-style: normal;
  transition: transform .35s cubic-bezier(.16,1,.3,1), background .3s ease;
}
body.contact-v2 #kontaktformular .schraeger-glass-select.is-open .schraeger-glass-select__button {
  border-color: rgba(25,30,32,.58);
  background: rgba(255,255,255,.68);
  box-shadow: inset 0 1px white, 0 0 0 4px rgba(154,119,57,.1), 0 12px 28px rgba(31,38,40,.08);
}
body.contact-v2 #kontaktformular .schraeger-glass-select.is-open .schraeger-glass-select__button i {
  transform: rotate(180deg);
  background: rgba(154,119,57,.13);
}
body.contact-v2 #kontaktformular .schraeger-glass-select__menu {
  position: absolute;
  z-index: 20;
  top: calc(100% + .55rem);
  left: 0;
  right: 0;
  display: grid;
  gap: .32rem;
  padding: .55rem;
  border: 1px solid rgba(255,255,255,.82);
  border-radius: 20px;
  background: linear-gradient(145deg, rgba(249,250,249,.88), rgba(221,228,225,.72));
  box-shadow: inset 0 1px white, 0 22px 55px rgba(31,38,40,.18);
  -webkit-backdrop-filter: blur(28px) saturate(1.12);
  backdrop-filter: blur(28px) saturate(1.12);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px) scale(.985);
  transform-origin: top;
  transition: opacity .25s ease, visibility .25s ease, transform .35s cubic-bezier(.16,1,.3,1);
}
body.contact-v2 #kontaktformular .schraeger-glass-select.is-open .schraeger-glass-select__menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
}
body.contact-v2 #kontaktformular .schraeger-glass-select__option {
  width: 100%;
  padding: .78rem .85rem;
  border: 0;
  border-radius: 13px;
  background: transparent;
  color: #202627;
  font: 620 .78rem/1.2 Manrope, Arial, sans-serif;
  text-align: left;
  cursor: pointer;
  transition: transform .25s ease, background .25s ease, color .25s ease;
}
body.contact-v2 #kontaktformular .schraeger-glass-select__option:hover,
body.contact-v2 #kontaktformular .schraeger-glass-select__option:focus,
body.contact-v2 #kontaktformular .schraeger-glass-select__option.is-selected {
  outline: none;
  transform: translateX(3px);
  background: rgba(24,30,32,.92);
  color: #fff;
}
body.contact-v2 #kontaktformular textarea.form_field-2 {
  min-height: 150px !important;
  padding: 1rem 1.1rem !important;
  line-height: 1.5 !important;
}
body.contact-v2 #kontaktformular textarea.form_field-2::placeholder {
  color: rgba(31,37,39,.45) !important;
  font-size: .84rem !important;
}
body.contact-v2 #kontaktformular .form_field-2:hover,
body.contact-v2 #kontaktformular .select-field:hover {
  border-color: rgba(27,33,35,.32) !important;
  background-color: rgba(255,255,255,.52) !important;
}
body.contact-v2 #kontaktformular .form_field-2:focus,
body.contact-v2 #kontaktformular .select-field:focus {
  border-color: rgba(25,30,32,.72) !important;
  background-color: rgba(255,255,255,.68) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.9), 0 0 0 4px rgba(154,119,57,.11), 0 12px 28px rgba(31,38,40,.08) !important;
  transform: translateY(-1px);
}
body.contact-v2 #kontaktformular .select-field option {
  background: #1b2022 !important;
  color: #fff !important;
  font-family: Manrope, Arial, sans-serif !important;
}
body.contact-v2 #kontaktformular .button-9 {
  width: auto !important;
  min-width: 190px !important;
  max-width: 220px !important;
  min-height: 54px !important;
  padding: 0 1.65rem !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, rgba(18,23,25,.96), rgba(43,51,53,.9)) !important;
  color: white !important;
  -webkit-text-fill-color: white !important;
  font-family: Manrope, Arial, sans-serif !important;
  font-weight: 720 !important;
  box-shadow: inset 0 1px rgba(255,255,255,.18), 0 14px 30px rgba(20,25,27,.18) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  backdrop-filter: blur(20px) !important;
  transition: transform .35s ease, box-shadow .35s ease, background .35s ease !important;
}
body.contact-v2 #kontaktformular .button-9:hover,
body.contact-v2 #kontaktformular .button-9:focus {
  transform: translateY(-3px) !important;
  background: linear-gradient(135deg, rgba(41,49,51,.98), rgba(12,16,17,.98)) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.22), 0 18px 38px rgba(20,25,27,.24) !important;
}
body.contact-v2 .map-link.pic { display: block !important; width: min(97vw, 1380px) !important; margin: clamp(4.5rem, 6vw, 6rem) auto clamp(7rem, 10vw, 10rem) !important; padding: clamp(.7rem, 1.4vw, 1.15rem) !important; overflow: hidden !important; border: 1px solid rgba(255,255,255,.78) !important; border-radius: clamp(28px, 3.4vw, 46px) !important; background: linear-gradient(135deg, rgba(255,255,255,.42), rgba(222,230,227,.18)) !important; box-shadow: inset 0 1px rgba(255,255,255,.9), 0 30px 70px rgba(44,53,57,.12) !important; -webkit-backdrop-filter: blur(24px) !important; backdrop-filter: blur(24px) !important; }
body.contact-v2 .map-link.pic .map { overflow: hidden !important; border-radius: clamp(20px, 2.4vw, 34px) !important; filter: saturate(.55) contrast(.94) brightness(1.04) !important; transition: transform .8s cubic-bezier(.16,1,.3,1), filter .6s ease !important; }
body.contact-v2 .map-link.pic:hover .map { transform: scale(1.025) !important; filter: saturate(.8) contrast(1) brightness(1) !important; }

body.contact-v2 .contact-area .container-23,
body.contact-v2 .contact-area .contact-wrap {
  display: block !important;
  width: 100% !important;
  max-width: 1380px !important;
  margin: 0 auto !important;
}

body.contact-v2 .schraeger-booking {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  width: 100%;
  min-height: 0 !important;
  padding: clamp(1.25rem, 2.6vw, 2.25rem);
  border: 1px solid rgba(255,255,255,.78);
  border-radius: clamp(25px, 3vw, 42px);
  background: linear-gradient(135deg, rgba(255,255,255,.54), rgba(225,231,228,.22));
  box-shadow: inset 0 1px rgba(255,255,255,.9), 0 34px 90px rgba(44,53,57,.13);
  -webkit-backdrop-filter: blur(28px) saturate(1.08);
  backdrop-filter: blur(28px) saturate(1.08);
  color: #171b1c;
  font-family: Manrope, Arial, sans-serif;
}

body.contact-v2 .schraeger-booking__glow {
  position: absolute;
  z-index: -1;
  top: -18rem;
  right: -12rem;
  width: 42rem;
  height: 42rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(199,166,102,.28), rgba(203,217,214,.13) 42%, transparent 68%);
  filter: blur(14px);
  animation: schraegerBookingGlow 10s ease-in-out infinite alternate;
}

@keyframes schraegerBookingGlow {
  to { transform: translate(-5rem, 5rem) scale(.86); opacity: .68; }
}

body.contact-v2 .schraeger-booking__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 2rem;
  padding: clamp(.5rem, 1vw, 1rem) clamp(.2rem, 1vw, .8rem) clamp(1.6rem, 3vw, 2.8rem);
}

body.contact-v2 .schraeger-booking__head h2 {
  margin: .55rem 0 .7rem;
  font-size: clamp(2.15rem, 4.3vw, 4.4rem);
  line-height: .95;
  letter-spacing: -.055em;
  font-weight: 610;
}

body.contact-v2 .schraeger-booking__head p {
  max-width: 650px;
  margin: 0;
  color: #4c5556;
  font-size: clamp(.95rem, 1.3vw, 1.08rem);
  line-height: 1.55;
  font-weight: 520;
}

body.contact-v2 .schraeger-booking__eyebrow,
body.contact-v2 .schraeger-booking__step {
  color: #92713b;
  font-size: .7rem;
  line-height: 1;
  letter-spacing: .13em;
  text-transform: uppercase;
  font-weight: 750;
}

body.contact-v2 .schraeger-booking__preview {
  flex: 0 0 auto;
  padding: .65rem .9rem;
  border: 1px solid rgba(23,27,28,.15);
  border-radius: 999px;
  background: rgba(255,255,255,.26);
  color: #343b3d;
  font-size: .68rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 700;
}

body.contact-v2 .schraeger-booking__layout {
  display: grid;
  grid-template-columns: minmax(235px, .7fr) minmax(0, 2fr);
  gap: clamp(1rem, 2vw, 1.6rem);
}

body.contact-v2 .schraeger-booking__people,
body.contact-v2 .schraeger-booking__date-block,
body.contact-v2 .schraeger-booking__time-block,
body.contact-v2 .schraeger-booking__form {
  border: 1px solid rgba(255,255,255,.66);
  border-radius: 25px;
  background: rgba(245,247,246,.38);
  box-shadow: inset 0 1px rgba(255,255,255,.76);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}

body.contact-v2 .schraeger-booking__people {
  display: flex;
  flex-direction: column;
  gap: .72rem;
  padding: 1.25rem;
}

body.contact-v2 .schraeger-person {
  display: grid;
  grid-template-columns: 42px 1fr;
  align-items: center;
  gap: .8rem;
  width: 100%;
  padding: .82rem;
  border: 1px solid rgba(30,36,38,.1);
  border-radius: 16px;
  background: rgba(255,255,255,.3);
  color: #1d2223;
  text-align: left;
  cursor: pointer;
  transition: transform .35s ease, background .35s ease, border-color .35s ease, box-shadow .35s ease;
}

body.contact-v2 .schraeger-person:hover { transform: translateY(-2px); border-color: rgba(151,119,58,.4); }
body.contact-v2 .schraeger-person.is-active { background: rgba(24,29,31,.94); color: #f7f8f7; border-color: rgba(24,29,31,.94); box-shadow: 0 13px 28px rgba(24,29,31,.16); }
body.contact-v2 .schraeger-person strong,
body.contact-v2 .schraeger-person small { display: block; }
body.contact-v2 .schraeger-person strong { font-size: .86rem; line-height: 1.25; font-weight: 700; }
body.contact-v2 .schraeger-person small { margin-top: .2rem; color: #687173; font-size: .7rem; }
body.contact-v2 .schraeger-person.is-active small { color: rgba(255,255,255,.65); }

body.contact-v2 .schraeger-person__avatar,
body.contact-v2 .schraeger-person__mark {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: linear-gradient(135deg, #eadfc8, #b89252);
  color: #24211c;
  font-size: .72rem;
  font-style: normal;
  font-weight: 800;
}
body.contact-v2 .schraeger-person__avatar.is-dark { background: linear-gradient(135deg, #576063, #1b2022); color: white; }

body.contact-v2 .schraeger-booking__facts {
  display: flex;
  flex-wrap: wrap;
  gap: .38rem;
  margin-top: auto;
  padding-top: .8rem;
}
body.contact-v2 .schraeger-booking__facts span { padding: .4rem .56rem; border-radius: 999px; background: rgba(255,255,255,.48); color: #5c6465; font-size: .62rem; font-weight: 650; }

body.contact-v2 .schraeger-booking__main {
  display: grid;
  grid-template-columns: 1.35fr .65fr;
  gap: clamp(.8rem, 1.5vw, 1.2rem);
}

body.contact-v2 .schraeger-booking__date-block,
body.contact-v2 .schraeger-booking__time-block,
body.contact-v2 .schraeger-booking__form { padding: clamp(1rem, 2vw, 1.35rem); }

body.contact-v2 .schraeger-booking__section-head { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 1rem; }
body.contact-v2 .schraeger-booking__section-head > strong { color: #4e585a; font-size: .72rem; font-weight: 650; text-transform: capitalize; }

body.contact-v2 .schraeger-booking__week,
body.contact-v2 .schraeger-booking__days { display: grid; grid-template-columns: repeat(7, 1fr); gap: .28rem; }
body.contact-v2 .schraeger-booking__week { margin-bottom: .35rem; color: #808789; font-size: .62rem; text-align: center; text-transform: uppercase; }

body.contact-v2 .schraeger-day,
body.contact-v2 .schraeger-time {
  min-height: 39px;
  border: 1px solid transparent;
  border-radius: 11px;
  background: rgba(255,255,255,.32);
  color: #252b2c;
  font-family: inherit;
  font-size: .78rem;
  font-weight: 650;
  cursor: pointer;
  transition: .3s ease;
}
body.contact-v2 .schraeger-day:hover:not(:disabled),
body.contact-v2 .schraeger-time:hover { border-color: rgba(157,120,54,.5); background: rgba(255,255,255,.7); transform: translateY(-1px); }
body.contact-v2 .schraeger-day.is-active,
body.contact-v2 .schraeger-time.is-active { background: #1b2022; color: #fff; border-color: #1b2022; box-shadow: 0 8px 18px rgba(27,32,34,.16); }
body.contact-v2 .schraeger-day.is-disabled { opacity: .26; cursor: default; }
body.contact-v2 .schraeger-day.is-empty { min-height: 39px; }

body.contact-v2 .schraeger-booking__times { display: grid; grid-template-columns: repeat(2, 1fr); gap: .46rem; }

body.contact-v2 .schraeger-booking__form { grid-column: 1 / -1; }
body.contact-v2 .schraeger-booking__fields { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
body.contact-v2 .schraeger-booking__form label { display: block; margin-bottom: .78rem; }
body.contact-v2 .schraeger-booking__form label > span { display: block; margin-bottom: .38rem; color: #596163; font-size: .68rem; font-weight: 700; }
body.contact-v2 .schraeger-booking__form input,
body.contact-v2 .schraeger-booking__form textarea { width: 100%; border: 1px solid rgba(30,36,38,.12); border-radius: 13px; padding: .8rem .9rem; background: rgba(255,255,255,.44); color: #171b1c; font: 540 .82rem/1.4 Manrope, Arial, sans-serif; outline: none; transition: border-color .3s ease, background .3s ease; }
body.contact-v2 .schraeger-booking__form input:focus,
body.contact-v2 .schraeger-booking__form textarea:focus { border-color: rgba(154,119,57,.55); background: rgba(255,255,255,.72); }

body.contact-v2 .schraeger-booking__finish { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: .3rem; padding-top: 1rem; border-top: 1px solid rgba(37,43,44,.1); }
body.contact-v2 .schraeger-booking__summary small,
body.contact-v2 .schraeger-booking__summary strong { display: block; }
body.contact-v2 .schraeger-booking__summary small { color: #7a8283; font-size: .65rem; }
body.contact-v2 .schraeger-booking__summary strong { margin-top: .22rem; font-size: .82rem; font-weight: 700; }

body.contact-v2 .schraeger-booking__submit {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 1.2rem;
  overflow: hidden;
  min-height: 48px;
  padding: 0 1.05rem 0 1.25rem;
  border: 1px solid rgba(23,28,30,.82);
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(20,25,27,.96), rgba(42,50,52,.9));
  color: white;
  font: 700 .75rem/1 Manrope, Arial, sans-serif;
  cursor: pointer;
  box-shadow: inset 0 1px rgba(255,255,255,.16), 0 12px 25px rgba(21,26,28,.14);
  transition: transform .35s ease, box-shadow .35s ease;
}
body.contact-v2 .schraeger-booking__submit::before { content: ""; position: absolute; inset: -80% auto -80% -35%; width: 28%; transform: rotate(16deg); background: rgba(255,255,255,.18); transition: left .6s cubic-bezier(.16,1,.3,1); }
body.contact-v2 .schraeger-booking__submit:hover { transform: translateY(-2px); box-shadow: inset 0 1px rgba(255,255,255,.2), 0 17px 34px rgba(21,26,28,.21); }
body.contact-v2 .schraeger-booking__submit:hover::before { left: 112%; }
body.contact-v2 .schraeger-booking__submit i { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: rgba(255,255,255,.14); font-style: normal; }
body.contact-v2 .schraeger-booking__notice { min-height: 1.2rem; margin: .7rem 0 0; color: #8a682e; font-size: .7rem; font-weight: 650; }
body.contact-v2 .schraeger-booking__notice.is-error { color: #8e3028; }
body.contact-v2 .schraeger-booking__notice.is-success { color: #236348; }
body.contact-v2 .schraeger-booking__trap { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
body.contact-v2 .schraeger-day.is-disabled,
body.contact-v2 .schraeger-time.is-disabled { cursor: not-allowed; opacity: .3; transform: none !important; }
body.contact-v2 .schraeger-booking__submit:disabled { cursor: wait; opacity: .62; transform: none !important; }
body.contact-v2 .schraeger-booking__submit.is-loading i { animation: schraegerBookingSpin 1s linear infinite; }
@keyframes schraegerBookingSpin { to { transform: rotate(360deg); } }

@media (max-width: 767px) {
  body.contact-v2 .contact-b_headline .sayhello-text {
    font-size: clamp(3rem, 15vw, 4.6rem) !important;
  }

  body.contact-v2 .schraeger-booking__head,
  body.contact-v2 .schraeger-booking__finish { align-items: flex-start; flex-direction: column; }
  body.contact-v2 .schraeger-booking__layout,
  body.contact-v2 .schraeger-booking__main { grid-template-columns: 1fr; }
  body.contact-v2 .schraeger-booking__form { grid-column: auto; }
  body.contact-v2 .schraeger-booking__fields { grid-template-columns: 1fr; gap: 0; }
  body.contact-v2 .schraeger-booking__submit { width: 100%; justify-content: space-between; }
  body.contact-v2 .schraeger-contact-hero { margin-top: 7rem; padding: 1rem; }
  body.contact-v2 .schraeger-contact-hero__top,
  body.contact-v2 .schraeger-contact-team,
  body.contact-v2 .schraeger-calendar-intro__grid { grid-template-columns: 1fr; }
  body.contact-v2 .schraeger-contact-hero__copy h1 { font-size: clamp(2.7rem, 12vw, 4.2rem); }
  body.contact-v2 .schraeger-contact-direct { min-height: 390px; }
  body.contact-v2 .schraeger-contact-person,
  body.contact-v2 .schraeger-contact-team__promise { min-height: 96px; }
  body.contact-v2 #kontaktformular { padding-top: 6rem !important; }
}

@media (prefers-reduced-motion: reduce) {
  body.contact-v2 .schraeger-booking__glow { animation: none; }
  body.contact-v2 .schraeger-contact-hero__ambient { animation: none; }
  body.contact-v2 .schraeger-calendar-intro li,
  body.contact-v2 .schraeger-calendar-intro li::before { animation: none; }
}
