
.rz[data-rz-seite="kontakt"] :is(.rz-wrap, .rz-hero__inner){ box-sizing:content-box; }

.rz .rzk-hero{
  background:var(--navy);
  background-image:radial-gradient(56% 70% at 85% 20%, rgba(185,138,47,.12), transparent 70%);
}
.rz .rzk-hero .rz-hero__inner{ padding:84px 32px 64px; }
.rz .rzk-hero .rz-hero__title{ margin-top:18px; max-width:780px; }
.rz .rzk-hero .rz-hero__lead{ margin-top:20px; max-width:680px; }
.rz .rzk-hero .rz-btn--light:hover{ transform:none; }
.rz .rzk-hero .rz-hero__meta{ margin-top:16px; font-size:13px; color:rgba(255,255,255,.6); }
@media screen and (prefers-reduced-motion:no-preference){
  .rz-hero__inner > .rz-hero__meta{ animation:rz-br .85s cubic-bezier(.16,1,.3,1) .24s backwards; }
}

.rz .rzk-wege{ background:var(--cream); border-top:1px solid var(--bd-2); padding:72px 0 40px; }
.rz .rzk-wege__raster{ display:flex; flex-wrap:wrap; gap:18px; }
.rz .rzk-wege__raster > *{ flex:1 1 280px; min-width:0; }

.rz a.rzk-weg{
  display:flex; flex-direction:column;
  background:#FFFFFF; border:1px solid var(--bd); border-radius:20px; padding:28px 26px;
  color:var(--navy);
  transition:border-color .25s ease, transform .25s ease, box-shadow .25s ease, color .25s ease;
}
.rz a.rzk-weg:hover{ border-color:var(--gold-line); transform:translateY(-3px); box-shadow:0 4px 24px rgba(16,26,38,.08); color:var(--navy); }
.rz a.rzk-weg--chat, .rz a.rzk-weg--chat:hover{ background:var(--navy); border-color:var(--navy); color:#FFFFFF; }
.rz a.rzk-weg--chat:hover{ box-shadow:0 12px 36px rgba(16,26,38,.25); }

.rz .rzk-weg__icon{ display:grid; place-items:center; width:42px; height:42px; border-radius:12px; background:var(--gold-tint); color:var(--gold-ink); }
.rz .rzk-weg--chat .rzk-weg__icon{ background:rgba(212,169,78,.16); color:var(--gold); }
.rz .rzk-weg__titel{ margin-top:16px; font-size:17px; font-weight:800; }
.rz .rzk-weg__text{ flex:1; margin-top:8px; font-size:13.5px; line-height:1.65; color:var(--ink-3); }
.rz .rzk-weg--chat .rzk-weg__text{ color:rgba(255,255,255,.75); }
.rz .rzk-weg__aktion{ margin-top:16px; font-size:13.5px; font-weight:700; color:var(--gold-ink); overflow-wrap:anywhere; }
.rz .rzk-weg--chat .rzk-weg__aktion{ color:var(--gold); }

.rz .rzk-anfrage{ background:var(--cream); padding:48px 0 92px; }
.rz .rzk-anfrage__in{ display:flex; flex-wrap:wrap; gap:44px; align-items:flex-start; }
.rz .rzk-anfrage__main{ flex:1 1 520px; min-width:0; }
.rz .rzk-anfrage__side{
  flex:1 1 340px; min-width:min(300px,100%);
  display:grid; grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr)); gap:18px;
}
@media (min-width:968px){ .rz .rzk-anfrage__side{ position:sticky; top:103px; } }
.rz .rzk-anfrage__titel{ margin-top:14px; max-width:none; font-size:34px; line-height:1.2; }
.rz .rzk-anfrage__lead{ margin-top:14px; max-width:560px; font-size:15.5px; line-height:1.75; color:var(--ink-3); }

.rz .rzk-form{ margin-top:28px; background:#FFFFFF; border:1px solid var(--bd); border-radius:22px; padding:30px 28px; }
.rz .rzk-form__hinweis{ font-size:12.5px; color:var(--ink-4); }
.rz .rzk-form > .rzk-form__hinweis{ margin-top:14px; }
.rz .rzk-form:has(.ff-message-success) .rzk-form__hinweis{ display:none; }
.rz .rzk-form__nojs{ margin-top:14px; font-size:12.5px; line-height:1.6; color:var(--ink-4); }

.rz .rzk-form .fluentform{ font-family:inherit; color:var(--ink); }
.rz .rzk-form .fluentform .frm-fluent-form{ margin:0; }
.rz .rzk-form .fluentform fieldset{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,max(220px,calc((100% - 16px) / 2))),1fr));
  gap:18px 16px; min-width:0;
}
.rz .rzk-form .fluentform fieldset > *{ grid-column:1 / -1; min-width:0; }
.rz .rzk-form .fluentform fieldset > :is(.ff-el-group,.ff-field_container):has(input:is([type="text"],[type="email"],[type="tel"],[type="number"],[type="url"]), select){ grid-column:auto; }
.rz .rzk-form .fluentform .ff-el-group,
.rz .rzk-form .fluentform .ff-field_container{ margin:0; }
.rz .rzk-form .fluentform .ff-t-container{ gap:16px; }
.rz .rzk-form .fluentform .ff-t-cell{ padding:0; }

.rz .rzk-form .fluentform .ff-el-input--label{ display:block; margin:0 0 7px; padding:0; font-size:13px; line-height:normal; }
.rz .rzk-form .fluentform .ff-el-input--label label{ display:inline; margin:0; font-size:13px; font-weight:700; line-height:normal; color:var(--navy); }
.rz .rzk-form .fluentform .ff-el-input--label.asterisk-right label::after,
.rz .rzk-form .fluentform .ff-el-is-required.asterisk-right label::after{ margin-left:0; color:inherit; }

.rz .rzk-form .fluentform .ff-el-form-control{
  display:block; width:100%; height:auto; min-height:0; box-sizing:border-box;
  border:1px solid var(--bd); border-radius:12px; padding:13px 15px;
  background:var(--cream); color:var(--ink); box-shadow:none; outline:none;
  font-family:inherit; font-size:14.5px; font-weight:400; line-height:normal;
  transition:border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}
.rz .rzk-form .fluentform .ff-el-form-control:focus{ border-color:var(--gold-ink); background:#FFFFFF; box-shadow:0 0 0 1px var(--gold-ink); outline:none; }
.rz .rzk-form .fluentform .ff-el-form-control::placeholder{ color:var(--ink-4); opacity:1; }
.rz .rzk-form .fluentform textarea.ff-el-form-control{ min-height:124px; resize:vertical; }

.rz .rzk-form .fluentform .ff-el-form-check{ margin:0; }
.rz .rzk-form .fluentform .ff-el-form-check-label{
  display:flex; gap:11px; align-items:flex-start; margin:0; padding:0; cursor:pointer;
  font-size:12.5px; font-weight:500; line-height:1.6; color:var(--ink-3);
}
.rz .rzk-form .fluentform .ff_tc_checkbox{ display:block; flex:none; margin:0; padding:0 !important; line-height:0; }
.rz .rzk-form .fluentform .ff-el-form-check-input{ width:16px; height:16px; margin:2px 0 0; top:0; accent-color:var(--gold-line); }
.rz .rzk-form .fluentform .ff_t_c{ margin:0; padding:0; }
.rz .rzk-form .fluentform .ff_t_c a{ font-weight:600; }

.rz .rzk-form .fluentform .ff_submit_btn_wrapper{ display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin:4px 0 0; text-align:left; }
.rz .rzk-form .fluentform .ff_submit_btn_wrapper::before,
.rz .rzk-form .fluentform .ff_submit_btn_wrapper::after{ content:none; display:none; }
.rz .rzk-form .fluentform .ff-btn.ff-btn-submit{
  display:inline-flex; align-items:center; justify-content:center; min-width:0; margin:0;
  background:var(--navy) !important; color:#FFFFFF !important; border:none !important; border-radius:999px !important;
  padding:14px 30px; box-shadow:none; cursor:pointer;
  font-family:inherit; font-size:15px; font-weight:700; line-height:normal; text-transform:none; letter-spacing:normal;
  transition:background-color .25s ease; opacity:1;
}
.rz .rzk-form .fluentform .ff-btn.ff-btn-submit:hover:not(:disabled),
.rz .rzk-form .fluentform .ff-btn.ff-btn-submit:focus-visible{ background:var(--navy-2) !important; color:#FFFFFF !important; }
.rz .rzk-form .fluentform .ff-btn.ff-btn-submit:focus-visible{ outline:2px solid var(--gold-line); outline-offset:3px; }
.rz .rzk-form .fluentform .ff-btn.ff-btn-submit:disabled{ cursor:progress; opacity:.8; }

.rz .rzk-form .fluentform .ff-el-is-error .ff-el-form-control{ border-color:#C0694B; }
.rz .rzk-form .fluentform .error.text-danger,
.rz .rzk-form .fluentform .ff-el-is-error .text-danger{ margin-top:6px; font-size:12.5px; line-height:1.5; color:#8A3B22; }
.rz .rzk-form .ff-errors-in-stack:not(:empty){ margin-top:16px; font-size:13px; color:#8A3B22; }

.rz .rzk-form .ff-message-success{
  margin:0; padding:14px 4px 10px; border:none; border-radius:0; background:none; box-shadow:none;
  text-align:center; font-size:15px; line-height:1.75; color:var(--ink-3);
}
.rz .rzk-form .ff-message-success:focus{ outline:none; }
.rz .rzk-form .ff-message-success::before{
  content:""; display:block; width:56px; height:56px; margin:0 auto 18px; border-radius:999px;
  background:var(--gold-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='26' viewBox='0 0 24 24' fill='none' stroke='%238F6A21' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 26px 26px no-repeat;
}

.rz .rzk-anfrage__side .rz-kicker--sm{ gap:8px; }

.rz .rzk-zeiten{ background:#FFFFFF; border:1px solid var(--bd); border-radius:22px; padding:24px; }
.rz .rzk-zeiten__liste{ display:flex; flex-direction:column; gap:10px; margin:14px 0 0; }
.rz .rzk-zeiten__zeile{ display:flex; justify-content:space-between; gap:12px; font-size:14px; }
.rz .rzk-zeiten__zeile dt{ font-weight:400; color:var(--ink-3); }
.rz .rzk-zeiten__zeile dd{ margin:0; font-weight:700; text-align:right; color:var(--navy); }
.rz .rzk-zeiten__zeile--chat{ border-top:1px solid var(--bd-2); padding-top:10px; }

.rz .rzk-chatkarte{
  background:var(--navy); border-radius:22px; padding:24px;
  background-image:radial-gradient(60% 80% at 85% 15%, rgba(185,138,47,.14), transparent 70%);
}
.rz .rzk-chatkarte__titel{ font-size:15px; font-weight:800; line-height:1.4; color:#FFFFFF; }
.rz .rzk-chatkarte__text{ margin-top:8px; font-size:13px; line-height:1.65; color:rgba(255,255,255,.75); }
.rz a.rzk-chatkarte__link, .rz a.rzk-chatkarte__link:hover{
  display:inline-flex; margin-top:16px; padding:11px 22px; border-radius:999px;
  background:#FFFFFF; color:var(--navy); font-size:13.5px; font-weight:700;
}
.rz a.rzk-chatkarte__link:hover{ background:#EFE9DC; }

.rz .rzk-ablauf{ background:var(--teal); padding:80px 0 88px; }
.rz .rzk-ablauf__titel{ margin-top:14px; max-width:720px; font-size:32px; line-height:1.2; }
.rz .rzk-schritte{ list-style:none; margin:36px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:18px; }
.rz .rzk-schritte > *{ flex:1 1 280px; min-width:0; }
.rz .rzk-schritt{ background:#FFFFFF; border:1px solid rgba(62,107,100,.18); border-radius:20px; padding:28px 26px; }
.rz .rzk-schritt__nr{ display:inline-grid; place-items:center; width:38px; height:38px; border-radius:999px; background:var(--navy); color:var(--gold); font-size:15px; font-weight:800; }
.rz .rzk-schritt__titel{ margin-top:16px; font-size:16.5px; font-weight:800; color:var(--navy); }
.rz .rzk-schritt__text{ margin-top:8px; font-size:14px; line-height:1.7; color:var(--ink-3); }

@media (max-width:900px){
  .rz .rzk-hero .rz-hero__inner{ padding:64px 24px 52px; }
  .rz .rzk-wege{ padding:56px 0 32px; }
  .rz .rzk-anfrage{ padding:40px 0 68px; }
  .rz .rzk-anfrage__in{ gap:36px; }
  .rz .rzk-anfrage__titel,
  .rz .rzk-ablauf__titel{ font-size:28px; }
  .rz .rzk-ablauf{ padding:64px 0 68px; }
}
@media (max-width:560px){
  .rz a.rzk-weg, .rz .rzk-schritt{ padding:24px 22px; }
  .rz .rzk-form{ padding:24px 20px; }
  .rz .rzk-form .fluentform .ff-el-form-control{ font-size:16px; }
  .rz .rzk-form .fluentform .ff-btn.ff-btn-submit{ width:100%; }
}
@media (max-width:359px){
  .rz .rzk-form .fluentform .ff-btn.ff-btn-submit{ white-space:normal; padding:12px 16px; line-height:1.3; text-align:center; text-wrap:balance; }
}
