/* Source · Book a demo dialog (night blue, Fylle green) */
html:has(.dm[open]){overflow:hidden}
.dm{width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 32px);box-sizing:border-box;margin:auto;padding:0;border:1px solid #2A3142;border-radius:20px;background:linear-gradient(180deg,#1B2030 0%,#151925 40%,#131726 100%);color:#F3F5FA;font-family:'Funnel Sans','Helvetica Neue',Arial,sans-serif;font-size:16px;line-height:24px;-webkit-font-smoothing:antialiased;overflow:auto;overscroll-behavior:contain;box-shadow:inset 0 1px 0 rgba(243,245,250,.07),0 40px 120px -40px rgba(0,230,77,.35),0 30px 60px -30px rgba(0,0,0,.9)}
.dm::backdrop{background:rgba(9,11,17,.78)}
.dm[open]{animation:dm-in .24s ease-out}
.dm[open]::backdrop{animation:dm-fade .24s ease-out}
@keyframes dm-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes dm-fade{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.dm[open],.dm[open]::backdrop{animation:none}}
.dm-in{position:relative;padding:28px 32px 32px}
@media (max-width:520px){.dm-in{padding:24px 20px 24px}}
.dm-x{position:absolute;top:14px;right:14px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:8px;background:none;color:#A6AEC0;cursor:pointer}
.dm-x:hover{background:#222838;color:#F3F5FA}
.dm-eb{display:flex;align-items:center;gap:14px;font-family:'IBM Plex Mono',ui-monospace,Menlo,monospace;font-size:12px;line-height:16px;letter-spacing:.08em;text-transform:uppercase;color:#C9D0DD}
.dm-eb::before{content:"";display:block;width:44px;height:2px;border-radius:2px;background:linear-gradient(90deg,#00E64D,rgba(0,230,77,0));box-shadow:0 0 8px rgba(0,230,77,.55);flex-shrink:0}
.dm h2{margin:12px 48px 8px 0;font-family:'Funnel Display','Funnel Sans',sans-serif;font-size:28px;line-height:32px;font-weight:600;letter-spacing:-.025em;text-wrap:balance;color:#F3F5FA}
.dm-sub{margin:0 0 24px;color:#A6AEC0;font-size:15px;line-height:22px}
.dm-f{display:flex;flex-direction:column;gap:6px;margin:0 0 16px}
.dm-f label{display:flex;justify-content:space-between;gap:12px;font-family:'IBM Plex Mono',ui-monospace,Menlo,monospace;font-size:12px;line-height:16px;color:#A6AEC0}
.dm-f label i{font-style:normal;color:#7D869A}
.dm-f input,.dm-f textarea{width:100%;box-sizing:border-box;margin:0;padding:12px 14px;border:1px solid #3E4659;border-radius:10px;background:#0D1018;color:#F3F5FA;font:inherit;font-size:16px;line-height:22px}
.dm-f input{height:48px}
.dm-f textarea{min-height:88px;resize:vertical}
.dm-f input::placeholder,.dm-f textarea::placeholder{color:#7D869A;opacity:1}
.dm-f input:focus-visible,.dm-f textarea:focus-visible{outline:2px solid #00E64D;outline-offset:2px;border-color:#00E64D}
.dm-f [aria-invalid="true"]{border-color:#FF7A6B}
.dm-err{display:none;font-size:13px;line-height:18px;color:#FF9A8E}
.dm-f.bad .dm-err{display:block}
.dm-legal{margin:4px 0 20px;font-size:13px;line-height:19px;color:#A6AEC0}
.dm-legal a,.dm-alert a{color:#00E64D;text-underline-offset:3px}
.dm-legal a:hover,.dm-alert a:hover{color:#1FFF6A}
.dm-go{display:flex;align-items:center;justify-content:center;width:100%;height:52px;padding:0 22px;border:0;border-radius:10px;background:linear-gradient(180deg,#2CFF6E 0%,#00E64D 100%);color:#001A08;font:inherit;font-size:16px;font-weight:600;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 12px 36px -8px rgba(0,230,77,.45)}
.dm-go:hover{background:#1FFF6A}
.dm-go[aria-busy="true"]{cursor:progress;opacity:.75}
.dm-go2{background:none;border:1px solid #3E4659;color:#F3F5FA;box-shadow:none}
.dm-go2:hover{background:#222838}
.dm-go:focus-visible,.dm-x:focus-visible{outline:2px solid #00E64D;outline-offset:2px}
.dm-alert{margin:0 0 16px;padding:12px 14px;border:1px solid #FF7A6B;border-radius:10px;background:rgba(255,122,107,.08);color:#F3F5FA;font-size:14px;line-height:20px}
.dm-hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.dm-done .dm-chip{display:inline-block;font-family:'IBM Plex Mono',ui-monospace,Menlo,monospace;font-size:12px;line-height:16px;padding:0 4px;border:1px solid #00E64D;border-radius:4px;color:#00E64D;vertical-align:.6em;margin-left:4px;letter-spacing:0}
/* language switch in the header */
a.lang:hover{color:#F3F5FA !important;text-decoration:underline !important;text-underline-offset:3px}
a.lang:focus-visible{outline:2px solid #00E64D;outline-offset:2px;border-radius:2px}
