.contact-widget{position:fixed;right:24px;bottom:24px;z-index:30;font-family:Arial,sans-serif}.contact-toggle{display:grid;place-items:center;width:60px;height:60px;border:0;border-radius:50%;background:#2c9c53;color:#fff;box-shadow:0 5px 24px #0003}.contact-toggle svg{width:27px;height:27px}.contact-toggle:hover{background:#237d43}.contact-popover{position:absolute;right:0;bottom:76px;width:245px;background:white;border:1px solid #e3e6e0;border-radius:16px;box-shadow:0 8px 35px #0002;padding:16px}.contact-popover>p{font-size:14px;font-weight:bold;color:#202923;margin-bottom:10px}.messenger-link{display:flex;gap:12px;align-items:center;border:0;background:transparent;width:100%;padding:8px 0;font-size:16px;text-align:left;color:#202923}.messenger-link:hover{color:#a44d2d}.messenger-icon{display:grid;place-items:center;flex:0 0 36px;height:36px;border-radius:50%;color:#fff}.messenger-icon svg{width:21px;height:21px}.whatsapp{background:#25a85a}.telegram{background:#249ed5}.max{background:linear-gradient(140deg,#3684ff,#773edb);font-weight:bold}.consultation-link{border:0;border-top:1px solid #ddd;background:none;width:100%;padding:14px 0 0;margin-top:10px;font-size:13px;text-align:left}.consultation-dialog{border:0;border-radius:10px;padding:36px 28px;width:min(400px,calc(100vw - 28px));max-height:90dvh;overflow:auto;color:#202923;background:#fff;box-shadow:0 20px 70px #0003}.consultation-dialog::backdrop{background:#000b}:is(.consultation-dialog,.consultation-inline) h2{font-family:Arial,sans-serif;font-size:30px;line-height:1.08;font-weight:700;letter-spacing:-1px;margin:0 22px 28px 0}.consultation-close{position:absolute;right:15px;top:13px;background:transparent;border:0;font-size:28px;width:36px;height:36px}:is(.consultation-dialog,.consultation-inline) form>label:not(.consultation-consent):not(.contact-trap){display:block;font-size:13px;color:#666;margin:20px 0}:is(.consultation-dialog,.consultation-inline) input:not([type=checkbox]){display:block;width:100%;border:0;border-bottom:1px solid #ddd;border-radius:0;background:#fff;padding:8px 0;color:#202923;min-height:40px}:is(.consultation-dialog,.consultation-inline) small{font-size:11px}.consultation-submit{width:100%;border:0;border-radius:30px;background:#222;color:white;padding:13px 20px;margin:12px 0;font-size:14px}.consultation-submit:disabled{opacity:.6;cursor:wait}.consultation-consent{display:flex;align-items:flex-start;gap:9px;font-size:11px;line-height:1.45;color:#666;margin:9px 0}.consultation-consent input{flex:0 0 16px;width:16px;height:16px;margin:2px 0}:is(.consultation-dialog,.consultation-inline) a{text-decoration:underline}.consultation-status,.consultation-alternative,#max-status{font-size:13px;line-height:1.5;margin-top:14px}.contact-trap{position:absolute;left:-10000px}.max-number{font-size:23px;margin:16px 0}@media(max-width:620px){.contact-widget{right:16px;bottom:calc(72px + env(safe-area-inset-bottom))}.contact-toggle{width:54px;height:54px}.contact-popover{bottom:68px;max-height:calc(100dvh - 165px);overflow:auto}.consultation-dialog{padding:32px 22px}}@media(prefers-reduced-motion:no-preference){.contact-toggle{transition:background .2s,transform .2s}.contact-toggle:hover{transform:translateY(-2px)}}
.messenger-link:disabled{opacity:.5;cursor:default}.messenger-link small{margin-left:auto;font-size:11px;color:#666}

.consultation-inline{max-width:460px;width:100%;justify-self:end;border-radius:10px;background:#fff;padding:36px 28px}.consultation-inline h2{font:700 30px/1.1 Arial,sans-serif;letter-spacing:-1px;margin-bottom:28px}.consultation-inline .selected-consultation-project{font-size:13px}.consultation-inline .consultation-submit{background:#222;color:white}.consultation-inline form>label{color:#666}@media(max-width:620px){.consultation-inline{max-width:none;padding:28px 22px}}.question-consultation{background:transparent;border:0;border-bottom:1px solid currentColor;padding:0 0 5px;cursor:pointer;font:inherit}

.consultation-dialog form.is-success,.consultation-inline form.is-success{min-height:310px;display:grid;place-items:center;position:relative;overflow:hidden}.consultation-dialog form.is-success>:not(.form-success-panel),.consultation-inline form.is-success>:not(.form-success-panel){display:none!important}.form-success-panel{position:relative;z-index:1;text-align:center;padding:12px 0;animation:form-success-arrive .6s cubic-bezier(.2,.85,.25,1.15) both}.form-success-icon{display:grid;place-items:center;width:76px;height:76px;margin:0 auto 22px;border-radius:50%;background:#2c9c53;color:#fff;font:700 42px/1 Arial,sans-serif;box-shadow:0 0 0 0 #2c9c5366;animation:form-success-glow 1.1s .25s ease-out both}.form-success-panel h3{margin:0 0 14px;font:700 clamp(30px,5vw,38px)/1.08 Arial,sans-serif;letter-spacing:-1px;color:#202923}.form-success-panel p{max-width:330px;margin:0 auto 26px;font:18px/1.5 Arial,sans-serif;color:#4d554f}.form-success-close{min-width:180px;border:0;border-radius:999px;background:#a44d2d;color:#fff;padding:15px 28px;font:700 16px/1 Arial,sans-serif;cursor:pointer}.form-success-close:hover{background:#873d24}.form-success-close:focus-visible{outline:3px solid #202923;outline-offset:3px}.form-success-sparkles{position:absolute;left:50%;top:24px;width:1px;height:1px;pointer-events:none}.form-success-sparkles i{position:absolute;width:8px;height:8px;border-radius:50%;background:#d9b95b;opacity:0;animation:form-success-spark .85s .18s ease-out both}.form-success-sparkles i:nth-child(1){--x:-62px;--y:-18px}.form-success-sparkles i:nth-child(2){--x:62px;--y:-10px}.form-success-sparkles i:nth-child(3){--x:-48px;--y:54px}.form-success-sparkles i:nth-child(4){--x:52px;--y:52px}@keyframes form-success-arrive{0%{opacity:0;transform:scale(.9) translateY(12px);filter:blur(5px)}100%{opacity:1;transform:none;filter:none}}@keyframes form-success-glow{0%{transform:scale(.65);box-shadow:0 0 0 0 #2c9c5380}55%{transform:scale(1.08);box-shadow:0 0 0 24px #2c9c5300}100%{transform:scale(1);box-shadow:0 0 0 32px #2c9c5300}}@keyframes form-success-spark{0%{opacity:0;transform:translate(0,40px) scale(.2)}35%{opacity:1}100%{opacity:0;transform:translate(var(--x),var(--y)) scale(1)}}@media(prefers-reduced-motion:reduce){.form-success-panel,.form-success-icon,.form-success-sparkles i{animation:none}}@media(max-width:620px){.consultation-dialog form.is-success,.consultation-inline form.is-success{min-height:280px}.form-success-icon{width:68px;height:68px;font-size:36px}.form-success-panel p{font-size:17px}}
.consultation-dialog form.is-sending,.consultation-inline form.is-sending{min-height:310px;display:grid;place-items:center}.consultation-dialog form.is-sending>:not(.form-sending-panel),.consultation-inline form.is-sending>:not(.form-sending-panel){display:none!important}.form-sending-panel{text-align:center;padding:20px 0}.form-sending-panel h3{margin:0 0 12px;font:700 30px/1.1 Arial,sans-serif;color:#202923}.form-sending-panel p{margin:0;font:17px/1.5 Arial,sans-serif;color:#666}.form-sending-icon{width:58px;height:58px;margin:0 auto 24px;border:5px solid #dce5dc;border-top-color:#2c9c53;border-radius:50%;animation:form-sending-spin .75s linear infinite}@keyframes form-sending-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.form-sending-icon{animation-duration:1.8s}}@media(max-width:620px){.consultation-dialog form.is-sending,.consultation-inline form.is-sending{min-height:280px}}
.form-success-panel{animation:form-success-arrive .48s cubic-bezier(.22,.78,.24,1) both}.form-success-icon{width:72px;height:72px;margin-bottom:24px;border:1px solid #70a17f;background:#f5f8f3;color:#2f7046;font-size:34px;font-weight:400;box-shadow:0 14px 40px #1d3b2414;animation:form-success-glow .8s .12s ease-out both}.form-success-panel h3{font-weight:600}.form-success-panel p{font-size:17px;line-height:1.55;color:#59615b}.form-success-close{min-width:0;border:0;border-bottom:1px solid #899089;border-radius:0;background:transparent;color:#202923;padding:6px 2px;font:500 15px/1.2 Arial,sans-serif}.form-success-close:hover{background:transparent;color:#2f7046;border-color:#2f7046}.form-success-close:focus-visible{outline:2px solid #2f7046;outline-offset:5px}
.is-success-leaving .form-success-panel{animation:form-success-leave .55s ease forwards}.consultation-dialog.is-success-closing{animation:form-dialog-leave .55s ease forwards}@keyframes form-success-leave{to{opacity:0;transform:translateY(-8px) scale(.98);filter:blur(4px)}}@keyframes form-dialog-leave{to{opacity:0;transform:translateY(-6px) scale(.985)}}
@media(max-width:620px){.consultation-dialog{width:100vw;max-width:100vw;max-height:100dvh;height:100dvh;border-radius:0;padding:58px 22px 28px}.consultation-close{top:12px;right:12px;width:44px;height:44px}.consultation-dialog form{min-height:calc(100dvh - 110px)}.messenger-link,.consultation-link{min-height:48px}.contact-toggle{box-shadow:0 6px 22px #0004}}
@media(max-width:620px){.contact-widget{right:12px;bottom:calc(54px + env(safe-area-inset-bottom))}.contact-toggle{width:46px;height:46px}.contact-toggle svg{width:22px;height:22px}.contact-popover{bottom:54px;width:220px;padding:11px 13px;border-radius:12px;max-height:calc(100dvh - 120px)}.contact-popover>p{font-size:12px;line-height:1.3;margin:0 0 5px}.messenger-link{gap:8px;min-height:38px;padding:3px 0;font-size:14px}.messenger-icon{flex-basis:30px;height:30px}.messenger-icon svg{width:18px;height:18px}.consultation-link{min-height:38px;padding-top:9px;margin-top:6px;font-size:12px}}

/* Half-size mobile contact controls. */
@media(max-width:620px){
  .contact-widget{right:8px;bottom:calc(34px + env(safe-area-inset-bottom))}
  .contact-toggle{width:28px;height:28px;box-shadow:0 3px 12px #0003}
  .contact-toggle svg{width:14px;height:14px}
  .contact-popover{bottom:34px;width:140px;padding:7px 8px;border-radius:8px;max-height:calc(100dvh - 76px)}
  .contact-popover>p{font-size:9px;line-height:1.2;margin-bottom:3px}
  .messenger-link{gap:5px;min-height:25px;padding:2px 0;font-size:10px}
  .messenger-icon{flex-basis:20px;height:20px}
  .messenger-icon svg{width:12px;height:12px}
  .messenger-link small{font-size:8px}
  .consultation-link{min-height:25px;padding-top:5px;margin-top:3px;font-size:9px}
}

/* Keyboard-safe compact mobile consultation form. */
@media(max-width:620px){
  .consultation-dialog{bottom:auto}
  .consultation-dialog{top:var(--consultation-visible-top,0px);width:calc(100vw - 12px);max-width:390px;height:auto;max-height:calc(var(--consultation-visible-height,100dvh) - 8px);margin:4px auto;padding:12px 14px 10px;border-radius:8px;overflow:auto;scroll-padding:8px;overscroll-behavior:contain}
  .consultation-close{top:4px;right:5px;width:28px;height:28px;font-size:20px}
  :is(.consultation-dialog,.consultation-inline) h2{font-size:18px;line-height:1.1;letter-spacing:-.3px;margin:0 30px 8px 0;white-space:nowrap}
  .consultation-dialog form{min-height:0}
  :is(.consultation-dialog,.consultation-inline) form>label:not(.consultation-consent):not(.contact-trap){font-size:10px;line-height:1.2;margin:5px 0}
  :is(.consultation-dialog,.consultation-inline) input:not([type=checkbox]){min-height:28px;padding:2px 0;font-size:16px;line-height:1.2}
  .selected-consultation-project{font-size:9px!important;line-height:1.2!important;margin:3px 0!important}
  .consultation-consent{gap:5px;font-size:8px;line-height:1.2;margin:5px 0}
  .consultation-consent input{flex-basis:14px;width:14px;height:14px;margin:0}
  .consultation-submit{min-height:34px;padding:7px 12px;margin:5px 0 2px;font-size:11px}
  .consultation-status{font-size:9px;line-height:1.2;margin-top:4px}
  .consultation-alternative{display:none}
}
@media(max-width:620px) and (max-height:520px){
  .consultation-dialog{margin:2px auto;padding-top:8px;padding-bottom:6px}
  :is(.consultation-dialog,.consultation-inline) h2{font-size:16px;margin-bottom:4px}
  :is(.consultation-dialog,.consultation-inline) form>label:not(.consultation-consent):not(.contact-trap){margin:3px 0}
  .selected-consultation-project{display:none}
}
