.contact-float { --cf-ink:#142b40; --cf-muted:#697b8e; --cf-line:#d1dbe4; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:var(--cf-ink); }
.contact-float * { box-sizing:border-box; }
.contact-float [hidden] { display:none!important; }
.contact-float__trigger { position:fixed; right:max(20px,env(safe-area-inset-right)); top:50%; transform:translateY(-50%); z-index:1500; display:grid; place-items:center; width:56px; height:56px; padding:0; border:1px solid #ffffff3d; border-radius:14px; background:#142b40; color:#fff; cursor:pointer; box-shadow:0 6px 24px #142b401a; }
.contact-float__trigger:hover { background:#24445f; }
.contact-float__trigger svg { width:27px; height:27px; fill:none; stroke:currentColor; stroke-width:1.6; }
.contact-float__panel { position:fixed; right:90px; top:50%; transform:translateY(-50%); z-index:1501; width:420px; max-width:calc(100vw - 112px); max-height:calc(100dvh - 40px); overflow:auto; overscroll-behavior:contain; padding:28px; border:1px solid var(--cf-line); border-radius:16px; background:#fff; box-shadow:0 16px 60px #142b4026; text-align:start; animation:cf-appear .18s ease-out; }
.contact-float__heading { display:flex; gap:16px; justify-content:space-between; align-items:flex-start; }
.contact-float__heading h2 { margin:0; font-size:24px; line-height:1.25; letter-spacing:-.025em; font-weight:550; }
.contact-float__close { flex-shrink:0; display:grid; place-items:center; width:32px; height:32px; margin:-4px -6px 0 0; padding:0; border:0; border-radius:50%; background:transparent; color:var(--cf-ink); font-size:26px; font-weight:300; cursor:pointer; }
.contact-float__close:hover { background:#edf2f5; }
.contact-float__company { margin:14px 0 18px; color:var(--cf-muted); font-size:13px; line-height:1.65; }
.contact-float__email,.contact-float__phone { display:block; width:fit-content; margin:8px 0; color:var(--cf-ink); font-size:15px; line-height:1.5; text-decoration:none; overflow-wrap:anywhere; }
.contact-float__email:hover { text-decoration:underline; text-underline-offset:4px; }
.contact-float__form { margin-top:26px; padding-top:24px; border-top:1px solid var(--cf-line); display:grid; gap:18px; }
.contact-float__form h3 { margin:0 0 2px; font-size:17px; line-height:1.4; font-weight:550; }
.contact-float__field { display:grid; gap:8px; font-size:13px; line-height:1.4; }
.contact-float__required { color:#b94130; }
.contact-float__field input,.contact-float__field select,.contact-float__field textarea { display:block; width:100%; min-width:0; border:1px solid var(--cf-line); border-radius:7px; padding:12px; background:#fff; color:var(--cf-ink); font:inherit; font-size:14px; line-height:1.4; }
.contact-float__field textarea { resize:vertical; min-height:90px; }
.contact-float__consent { display:flex; align-items:flex-start; gap:10px; color:var(--cf-muted); font-size:12px; line-height:1.65; }
.contact-float__consent input { margin:3px 0 0; width:16px; height:16px; flex-shrink:0; }
.contact-float__submit { border:0; border-radius:8px; padding:15px 20px; background:var(--cf-ink); color:#fff; font:inherit; font-size:15px; line-height:1.3; font-weight:500; cursor:pointer; }
.contact-float__submit:hover { background:#24445f; }
.contact-float__submit:disabled { opacity:.5; cursor:wait; }
.contact-float__note,.contact-float__status { margin:0; font-size:12px; line-height:1.6; color:var(--cf-muted); overflow-wrap:anywhere; }
.contact-float__status:empty { display:none; }
.contact-float :focus-visible { outline:2px solid #005eaa; outline-offset:3px; }
.contact-float__trap { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
@keyframes cf-appear { from { opacity:0; margin-right:-8px; } to { opacity:1; margin-right:0; } }
@media(max-width:600px) {
 .contact-float__trigger { right:12px; width:48px; height:48px; border-radius:12px; }
 .contact-float__panel { right:12px; width:calc(100% - 24px); max-width:none; max-height:calc(100dvh - 24px); padding:24px; }
}
@media(prefers-reduced-motion:reduce) { .contact-float__panel { animation:none; } }
