.contact-widget{--contact-edge:24px;--contact-lift:0px;--contact-size:64px;position:fixed;right:max(var(--contact-edge),env(safe-area-inset-right));bottom:calc(max(var(--contact-edge),env(safe-area-inset-bottom)) + var(--contact-lift));z-index:21;transition:bottom .25s var(--ease)}
.contact-launcher{position:relative;display:flex;align-items:center;justify-content:center;width:var(--contact-size);height:var(--contact-size);padding:0;border:1px solid #ffffff85;border-radius:50%;background:radial-gradient(ellipse at 28% 0%,#504354,transparent 65%),#24212b;color:#fff;box-shadow:0 8px 28px #3b2b4d30,inset 0 1px 1px #ffffff25;transition:transform .25s var(--ease),box-shadow .25s;isolation:isolate}
.contact-launcher>.icon{width:29px;height:29px;stroke-width:1.6;transition:transform .25s var(--ease)}
.contact-launcher:hover{transform:translateY(-3px);box-shadow:0 12px 30px #3b2b4d40}
.contact-launcher:hover>.icon{transform:rotate(-7deg)}
.contact-launcher-spark{position:absolute;right:1px;top:1px;width:16px;height:16px;border:3px solid var(--paper);border-radius:50%;background:#cbb6e9}
.contact-nudge{position:absolute;right:18px;bottom:calc(var(--contact-size) + 11px);width:184px;height:111px;pointer-events:none;transform-origin:90% 100%;animation:contact-nudge-in .55s var(--ease) both}
.contact-nudge>span{display:block;color:#665474;font-size:.8125rem;font-weight:500;line-height:1.35;letter-spacing:-.01em;background:#f7f7faf2;width:max-content;padding:5px 9px;border-radius:10px;transform:rotate(-5deg)}
.contact-nudge>svg{position:absolute;right:2px;bottom:0;width:116px;height:68px;stroke:#9a7db5;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.contact-nudge>svg path{stroke-dasharray:240;stroke-dashoffset:240;animation:contact-draw 1.05s .2s ease-out forwards}
.contact-nudge>svg path+path{stroke-dasharray:40;stroke-dashoffset:40;animation-delay:1s;animation-duration:.3s}
.contact-widget.has-cookie-banner .contact-nudge{display:none}
.contact-dialog{position:fixed;inset:auto max(var(--contact-edge),env(safe-area-inset-right)) calc(max(var(--contact-edge),env(safe-area-inset-bottom)) + var(--contact-size) + 14px) auto;width:370px;max-width:calc(100vw - 32px);max-height:calc(100dvh - var(--contact-size) - 2 * var(--contact-edge) - 28px);margin:0;padding:0;border:1px solid #e5dfeb;border-radius:27px;background:#fff;color:var(--ink);box-shadow:0 24px 80px #2d1e4b26;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.contact-dialog[open]{animation:contact-panel-in .25s var(--ease) both}
.contact-dialog::backdrop{background:#251c3826;backdrop-filter:blur(2px)}
.contact-dialog-content{position:relative;padding:23px 24px 19px;background:radial-gradient(ellipse 100% 38% at 100% 0,#f0e8f9,transparent 90%),#fff}
.contact-dialog-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:16px}
.contact-wordmark{display:inline-flex;align-items:center;gap:7px;font-size:1.3rem;line-height:1;font-weight:700;letter-spacing:-.07em}
.contact-wordmark>span{display:grid;place-items:center;width:29px;height:29px;background:linear-gradient(135deg,#d3bfef,#f4d8cb);border:1px solid #fff8;border-radius:9px}
.contact-wordmark .icon{width:23px;height:23px;stroke-width:1.8}
.contact-close{display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;border:1px solid #e2dbe9;border-radius:50%;background:#ffffffb3;color:#75677f;transition:background .2s,color .2s}
.contact-close:hover{background:#e9ddf4;color:#332a3e}
.contact-close .icon{width:18px;height:18px}
.contact-dialog h2{font-size:1.95rem;line-height:1.06;letter-spacing:-.05em;font-weight:600}
.contact-dialog :is(h2,.contact-form-status,.contact-success)[tabindex="-1"]:focus{outline:none}
.contact-description{margin-top:12px;color:#736a7d;font-size:.8125rem;line-height:1.6}
.contact-channel-list{display:grid;gap:8px;margin-top:23px}
.contact-channel{display:flex;align-items:center;gap:12px;min-height:67px;padding:11px 13px;border:1px solid #eae6ef;border-radius:15px;background:#fff;transition:background .2s,border-color .2s,transform .2s}
.contact-channel:hover{transform:translateX(-2px);background:#f9f6fc;border-color:#d3c2e2}
.contact-channel-icon{display:grid;place-items:center;flex-shrink:0;width:35px;height:35px;border-radius:11px;background:#f1edf6;color:#827091}
.contact-channel-icon .icon{width:22px;height:22px;stroke-width:1.6}
.contact-channel>span:nth-child(2){min-width:0}
.contact-channel strong,.contact-channel small{display:block;line-height:1.35;overflow-wrap:anywhere}
.contact-channel strong{font-size:.875rem;font-weight:500}
.contact-channel small{font-size:.75rem;color:#797080;margin-top:3px}
.contact-channel-arrow{display:flex;margin-left:auto;color:#a391b1;transition:transform .2s}
.contact-channel-arrow .icon{width:18px;height:18px}
.contact-channel:hover .contact-channel-arrow{transform:translateX(3px)}
.contact-channel-telegram{background:#f6f1fb;border-color:#e5d8f1}
.contact-channel-telegram .contact-channel-icon{background:#e8dcf5;color:#745291}
.contact-callback-button{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:51px;margin-top:17px;padding:14px 15px;border:1px solid #e8ddf2;border-radius:13px;background:#f1eaf8;color:#635074;font-size:.8125rem;font-weight:500;transition:background .2s}
.contact-callback-button>span{display:flex;align-items:center;gap:10px}
.contact-callback-button .icon{width:18px;height:18px;flex-shrink:0}
.contact-callback-button:hover{background:#e6d9f2}
.contact-footnote{font-size:.75rem;color:#95899d;text-align:center;margin-top:13px}
.contact-back{display:inline-flex;align-items:center;gap:7px;margin:0 0 22px;padding:0;background:none;color:#82728f;font-size:.75rem}
.contact-back .icon{width:15px;height:15px}
.contact-back:hover{color:#563a75}
.contact-callback-form{margin-top:23px}
.contact-field{display:block;font-size:.75rem;color:#51475e;margin-bottom:16px}
.contact-field>span{color:#93879e;font-size:.75rem;margin-left:3px}
.contact-field input{display:block;width:100%;height:48px;margin-top:7px;border:1px solid #dcd4e4;border-radius:11px;padding:11px 13px;background:#fff;color:var(--ink);font-size:1rem;line-height:1.4;box-shadow:0 2px 4px #5b3e6b03;transition:border-color .2s}
.contact-field input:hover{border-color:#b69acb}
.contact-field input::placeholder{color:#b0a5ba;font-size:.875rem}
.contact-consent{display:flex;align-items:flex-start;gap:10px;color:#7e7289;font-size:.75rem;line-height:1.55;margin:20px 0;cursor:pointer}
.contact-consent input{flex-shrink:0;width:17px;height:17px;margin:1px 0 0;accent-color:#80649d}
.contact-consent a{color:#665073;text-decoration:underline;text-underline-offset:2px}
.contact-submit{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:49px;padding:14px 16px;border-radius:12px;background:var(--ink);color:#fff;font-size:.8125rem;line-height:1.4;transition:background .2s,opacity .2s}
.contact-submit .icon{width:19px;height:19px}
.contact-submit:hover{background:#493b57}
.contact-submit:disabled{opacity:.65}
.contact-form-status{font-size:.75rem;line-height:1.6;color:#8b3b51;margin-top:15px;padding:11px 13px;background:#fff4f5;border:1px solid #efd5db;border-radius:10px}
.contact-success{text-align:center;padding:22px 2px 5px}
.contact-success-icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 22px;background:#ede4f7;color:#80629d;border-radius:50%;box-shadow:0 0 0 7px #f8f4fc}
.contact-success-icon .icon{width:29px;height:29px}
.contact-success h3{font-size:1.5rem;margin-bottom:13px;letter-spacing:-.04em}
.contact-success p{font-size:.8125rem;line-height:1.65;color:#73657e;margin-bottom:24px}
.contact-success-close{justify-content:center}
.contact-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@keyframes contact-nudge-in{from{opacity:0;transform:translateY(8px) rotate(5deg)}to{opacity:1;transform:translateY(0) rotate(0)}}
@keyframes contact-draw{to{stroke-dashoffset:0}}
@keyframes contact-panel-in{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:620px){.contact-widget{--contact-edge:16px;--contact-size:56px}.contact-launcher>.icon{width:27px;height:27px}.contact-launcher-spark{width:14px;height:14px;border-width:3px}.contact-dialog{width:360px;max-width:calc(100vw - 24px);right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));max-height:calc(100dvh - 24px);border-radius:25px}.contact-dialog-content{padding:21px 23px 18px}.contact-dialog-top{margin-bottom:22px}.contact-dialog h2{font-size:1.85rem}.contact-channel-list{margin-top:21px}.contact-nudge{right:8px}.contact-widget.is-open .contact-launcher{visibility:hidden}}
@media(max-width:350px){.contact-dialog-content{padding:19px}.contact-dialog-top{margin-bottom:18px}.contact-dialog h2{font-size:1.7rem}.contact-channel{min-height:63px}.contact-callback-form{margin-top:14px}.contact-field{margin-bottom:14px}.contact-consent{margin:14px 0}.contact-back{margin-bottom:14px}}
@media(prefers-reduced-motion:reduce){.contact-widget,.contact-launcher,.contact-dialog,.contact-channel,.contact-nudge,.contact-nudge>svg path{animation:none;transition:none}.contact-nudge{display:none}}
@media print{.contact-widget{display:none!important}}
