/* Kontakt-Drawer: gleitet von rechts herein, übernimmt Farben und Schriften der Seite */
.kd-backdrop{position:fixed;inset:0;z-index:50;background:rgba(14,27,38,.5);opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}
.kd{visibility:hidden;position:fixed;top:0;right:0;bottom:0;z-index:51;width:min(480px,100vw);background:var(--white,#fff);color:var(--ink,#0E1B26);box-shadow:-30px 0 70px -30px rgba(14,27,38,.6);transform:translateX(100%);transition:transform .45s cubic-bezier(.2,.7,.2,1),visibility .45s;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain}
.kd-wrap.is-open .kd{transform:none;visibility:visible}
.kd-wrap.is-open .kd-backdrop{opacity:1;visibility:visible}
.kd-head{flex-shrink:0;position:relative;padding:28px 28px 22px;background:#FBF8F1;color:var(--ink,#0E1B26);border-bottom:1px solid var(--hair,#E3E6EA);overflow:hidden}
.kd-puff{position:absolute;right:18px;top:12px;width:120px;height:150px;opacity:.95}
.kd-close{position:absolute;top:10px;right:10px;width:44px;height:44px;border:0;background:none;color:var(--ink-2,#22313D);font-size:30px;line-height:1;cursor:pointer;z-index:1}
.kd-close:hover{color:var(--accent,#C2410C)}
.kd-label{display:block;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent,#C2410C)}
.kd-title{margin:10px 0 0;max-width:280px;font-family:var(--sans,inherit);font-weight:600;font-size:32px;line-height:1.12;letter-spacing:-0.02em;color:var(--ink,#0E1B26)}
.kd-title em{font-family:'Caveat',cursive;font-style:normal;font-weight:600;font-size:1.35em;color:var(--accent,#C2410C)}
.kd-lead{margin:12px 0 0;max-width:300px;font-family:var(--navfont,inherit);font-size:15px;line-height:1.55;color:var(--slate,#46525E)}
.kd-form{flex-shrink:0;display:flex;flex-direction:column;gap:6px;padding:24px 28px 28px}
.kd-form label,.kd-legend{display:block;margin-top:12px;font-size:14px;font-weight:600;color:var(--ink-2,#22313D)}
.kd-legend{margin:0 0 8px}
.kd-topics{border:0;margin:0;padding:0}
.kd-chips{display:flex;flex-wrap:wrap;gap:8px}
.kd-chips input{position:absolute;opacity:0;pointer-events:none}
.kd-chips span{display:inline-flex;align-items:center;min-height:38px;padding:0 14px;border:1px solid var(--hair,#E3E6EA);border-radius:999px;font-size:14px;color:var(--slate,#46525E);cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}
.kd-chips input:checked + span{background:var(--accent,#C2410C);border-color:var(--accent,#C2410C);color:#fff}
.kd-chips input:focus-visible + span{outline:2px solid var(--accent,#C2410C);outline-offset:2px}
.kd-form input[type=text],.kd-form input[type=email],.kd-form input[type=tel],.kd-form textarea{width:100%;box-sizing:border-box;font:inherit;font-size:16px;padding:12px 14px;border:1px solid var(--hair,#E3E6EA);background:var(--white,#fff);color:var(--ink,#0E1B26)}
.kd-form textarea{min-height:140px;resize:vertical}
.kd-form input:focus,.kd-form textarea:focus{outline:2px solid var(--accent,#C2410C);outline-offset:1px;border-color:transparent}
.kd-trap{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.kd-hint{margin:10px 0 0;font-size:13px;line-height:1.55;color:var(--slate,#46525E)}
.kd-hint a{color:var(--accent,#C2410C)}
.kd-msg{margin:6px 0 0;min-height:1.4em;font-size:14px;color:var(--accent,#C2410C)}
.kd-send{margin-top:8px;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:54px;padding:0 22px;border:0;background:var(--btn,#0E1B26);color:#fff;font:inherit;font-weight:600;font-size:16px;cursor:pointer;transition:background-color .2s}
.kd-send:hover{background:var(--accent,#C2410C)}
.kd-send[disabled]{opacity:.6;cursor:wait}
.kd-direct{margin:18px 0 0;padding-top:16px;border-top:1px solid var(--hair,#E3E6EA);font-size:14px;color:var(--slate,#46525E)}
.kd-direct a{color:var(--ink,#0E1B26);font-weight:600}
.kd-done{padding:40px 28px;text-align:left}
.kd-done h3{margin:0 0 10px;font-size:24px;font-weight:600}
.kd-done p{margin:0;font-size:16px;line-height:1.6;color:var(--slate,#46525E)}
body.kd-lock{overflow:hidden}
@media (prefers-reduced-motion: reduce){.kd,.kd-backdrop{transition:none}}
.kd-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.kd-form input[type=date]{width:100%;box-sizing:border-box;font:inherit;font-size:16px;padding:11px 14px;border:1px solid var(--hair,#E3E6EA);background:var(--white,#fff);color:var(--ink,#0E1B26)}
.kd-form fieldset.kd-topics{margin-top:14px}
.kd-form input::placeholder{color:#9AA3AD}
.ty{text-align:center;padding:32px 28px 44px}
.ty-puff{display:block;width:220px;height:170px;margin:0 auto 6px;overflow:visible}
.ty-seed{animation:tyfly 2.6s cubic-bezier(.3,.6,.3,1) var(--d) both}
@keyframes tyfly{0%{transform:translate(0,0);opacity:1}70%{opacity:1}100%{transform:translate(var(--dx),var(--dy)) rotate(25deg);opacity:0}}
.ty h3{margin:6px 0 10px}
.ty-hand{margin-top:14px!important;font-family:'Caveat',cursive;font-weight:600;font-size:34px!important;color:var(--accent,#C2410C)!important;animation:tyin .6s ease 1.6s both}
@keyframes tyin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){.ty-seed{animation:none}.ty-hand{animation:none}}

/* Kleine Visitenkarte im Footer: wer die Website gestaltet hat */
.foot .foot-col a.ar-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:22px;min-height:0;text-decoration:none}
.ar-card small{font-family:'Raleway',sans-serif;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#7A6F62}
.ar-card img{display:block;width:200px;height:auto;border-radius:5px;box-shadow:0 14px 28px -14px rgba(34,32,29,.6),0 2px 6px rgba(34,32,29,.18);transform:rotate(-2deg);transition:transform .35s ease,box-shadow .35s ease}
.foot .foot-col a.ar-card:hover img{transform:rotate(0) translateY(-3px);box-shadow:0 20px 34px -14px rgba(34,32,29,.65),0 3px 8px rgba(34,32,29,.2)}
.foot .foot-col a.ar-card:focus-visible{outline:none}
.foot .foot-col a.ar-card:focus-visible img{outline:2px solid #C2410C;outline-offset:4px}
@media (prefers-reduced-motion:reduce){.ar-card img{transition:none}}
