/* Contact dock ("Start a project") — shared component, same look as the homepage.
   Used on pages that don't ship the dock inline. Injected by /assets/js/contact-dock.js */
.cform{--cd-card:var(--card,#fff);--cd-line:var(--line,#e7e7e1);--cd-line2:var(--line-2,#f0f0eb);--cd-ink:var(--ink,#0e0f10);--cd-paper:var(--paper,#fbfbf9);--cd-muted:var(--muted,#797f88);--cd-lime:var(--lime,#b6f03c);--cd-ease:cubic-bezier(.22,.61,.36,1);
  position:fixed;right:1.5rem;bottom:1.5rem;z-index:90;width:23rem;max-width:calc(100vw - 2rem);pointer-events:none;font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--cd-ink)}
.cform>*{pointer-events:auto}
.cform-panel{background:var(--cd-card);border:1px solid var(--cd-line);border-radius:1.5rem;box-shadow:0 .25rem .75rem -.25rem rgba(16,17,18,.08),0 2rem 4rem -1.5rem rgba(16,17,18,.28);overflow:hidden;transform-origin:100% 100%;transition:opacity .4s var(--cd-ease),transform .5s var(--cd-ease),visibility .4s var(--cd-ease)}
.cform.closed .cform-panel{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(.75rem) scale(.94)}
.cform-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9375rem 1.125rem;border-bottom:1px solid var(--cd-line2)}
.cform-head b{display:flex;align-items:center;gap:.5625rem;font-family:"Space Grotesk",sans-serif;font-size:.9375rem;font-weight:600;letter-spacing:-.01em}
.cform-av{position:relative;width:1.75rem;height:1.75rem;border-radius:50%;overflow:visible;flex:none;background:linear-gradient(140deg,#ededE7,#dcdcd4)}
.cform-av img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}
.cform-av .dot{position:absolute;right:-1px;bottom:-1px;width:.5rem;height:.5rem;border-radius:50%;background:var(--cd-lime);border:2px solid var(--cd-card)}
.cform-fab .cform-av.sm{width:1.5rem;height:1.5rem;margin-right:-.15rem}
.cform-fab .cform-av .dot{border-color:var(--cd-ink)}
.cform-x{width:1.75rem;height:1.75rem;border-radius:999px;display:grid;place-items:center;color:var(--cd-muted);background:none;border:0;cursor:pointer;padding:0;transition:background .3s var(--cd-ease),color .3s var(--cd-ease)}
.cform-x:hover{background:var(--cd-line2);color:var(--cd-ink)}
.cform-x svg{width:.75rem;height:.75rem;stroke:currentColor;stroke-width:1.8;fill:none}
.cform-body{padding:1.125rem;display:grid;gap:.8125rem;margin:0}
.cform .field{display:grid;gap:.375rem}
.cform .field label{font-size:.75rem;font-weight:500;color:var(--cd-ink)}
.cform .field input,.cform .field select,.cform .field textarea{width:100%;font:inherit;font-size:.875rem;color:var(--cd-ink);background:var(--cd-paper);border:1px solid var(--cd-line);border-radius:.625rem;padding:.625rem .75rem;outline:none;transition:border-color .2s ease,box-shadow .2s ease}
.cform .field textarea{min-height:4.5rem;resize:vertical}
.cform .field input:focus,.cform .field select:focus,.cform .field textarea:focus{border-color:var(--cd-ink);box-shadow:0 0 0 3px rgba(182,240,60,.35)}
.cform .consent{display:flex;gap:.5rem;align-items:flex-start;font-size:.75rem;line-height:1.5;color:var(--cd-muted);cursor:pointer;margin:.25rem 0}
.cform .consent input{margin-top:.15rem;flex:none}
.cform .consent a{text-decoration:underline}
.cform-submit{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:100%;margin-top:.1875rem;padding:.8rem 1rem;border-radius:999px;border:1px solid var(--cd-lime);background:var(--cd-lime);color:#0e0f10;font:500 .9375rem/1 "Inter",sans-serif;cursor:pointer}
.cform-submit:disabled{opacity:.6;cursor:progress}
.cform-foot{font-size:.6875rem;color:var(--cd-muted);text-align:center;line-height:1.5;margin:0}
.cform-foot a{text-decoration:underline;text-underline-offset:2px}
.cform-done{padding:2.25rem 1.5rem;display:grid;gap:.625rem;justify-items:center;text-align:center}
.cform-done .tick{width:2.5rem;height:2.5rem;border-radius:999px;background:var(--cd-lime);display:grid;place-items:center}
.cform-done .tick svg{width:1rem;height:1rem;stroke:#0e0f10;stroke-width:2.2;fill:none}
.cform-done b{font-family:"Space Grotesk",sans-serif;font-size:1.0625rem;font-weight:600}
.cform-done p{font-size:.875rem;color:var(--cd-muted);max-width:22ch;margin:0}
.cform-fab{position:absolute;right:0;bottom:0;display:inline-flex;align-items:center;gap:.625rem;white-space:nowrap;padding:.875rem 1.25rem;border-radius:999px;border:0;cursor:pointer;background:var(--cd-ink);color:var(--cd-paper);font:500 .9375rem/1 "Inter",sans-serif;box-shadow:0 1rem 2rem -1rem rgba(16,17,18,.7);opacity:0;visibility:hidden;transform:translateY(.5rem) scale(.92);transition:opacity .4s var(--cd-ease) .05s,transform .45s var(--cd-ease) .05s,visibility .4s var(--cd-ease)}
.cform.closed .cform-fab{opacity:1;visibility:visible;transform:none}
.cform-fab:hover{transform:translateY(-.125rem)}
@media (min-width:821px){.cform-fab{font-size:1rem}}
@media (max-width:760px){.cform{right:1rem;bottom:1rem;width:calc(100vw - 2rem)}.cform-body{gap:.6875rem;padding:1rem}}
@media print{.cform{display:none}}
