/* Waitlist form (index) and contact form (support). Behaviour: forms.js. Colours are the site's tokens
   (index.html :root); the fallbacks let the support page, which has no variables, use the same file. */
[hidden]{display:none!important}
.vh{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.gf,.gf-done{--gf-s1:var(--s1,#1C1C1E);--gf-tx:var(--tx,#FFF);--gf-mu:var(--mu,rgba(235,235,245,.64));--gf-ac:var(--ac,#C8F25A);--gf-acbg:var(--acbg,#1E2412);--gf-rd:var(--rd,#FF453A)}
.gf{max-width:520px;position:relative}
.gf *,.gf-done{box-sizing:border-box}
.gf-row{display:flex;gap:10px}
.gf-field{margin-top:18px}
.gf-field>label{display:block;margin-bottom:8px;font-size:.9375rem;font-weight:600;color:var(--gf-tx)}
.gf input[type=email],.gf input[type=text],.gf select,.gf textarea{display:block;width:100%;min-width:0;min-height:56px;margin:0;padding:0 18px;border:1.5px solid transparent;border-radius:16px;background:var(--gf-s1);color:var(--gf-tx);font:inherit;font-size:1.0625rem;line-height:1.4}
.gf textarea{min-height:168px;padding:15px 18px;resize:vertical}
.gf select{appearance:none;-webkit-appearance:none;padding-right:48px;cursor:pointer;background:var(--gf-s1) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23EBEBF5' stroke-opacity='.64' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 18px center/18px no-repeat}
.gf ::placeholder{color:var(--gf-mu);opacity:.8}
.gf input:focus,.gf select:focus,.gf textarea:focus{outline:none;border-color:var(--gf-ac)}
.gf [aria-invalid=true],.gf [aria-invalid=true]:focus{border-color:var(--gf-rd)}
.gf-btn{display:inline-flex;flex:none;align-items:center;justify-content:center;gap:10px;height:56px;margin:0;padding:0 24px;border:0;border-radius:16px;background:var(--gf-ac);color:#0B0C0A;font:inherit;font-size:1.0625rem;font-weight:700;white-space:nowrap;cursor:pointer;transition:transform 100ms ease-out}
.gf-btn:active{transform:scale(.97)}
.gf-btn:focus-visible{outline:2px solid var(--gf-ac);outline-offset:3px}
.gf-btn[disabled]{opacity:.6;cursor:progress;transform:none}
.gf-field .gf-btn{margin-top:4px}
.gf-err{margin:8px 0 0;color:var(--gf-rd);font-size:.9375rem;line-height:1.4}
.gf-msg{margin:14px 0 0;padding:12px 16px;border-radius:14px;background:#2A1412;color:#FFB4AE;font-size:.9375rem;line-height:1.45}
.gf-msg a{color:inherit}
.gf-note{margin:14px 0 0;color:var(--gf-mu);font-size:.875rem;line-height:1.5}
.gf-note a{color:inherit}
.gf-hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.gf-done{display:flex;gap:14px;align-items:flex-start;max-width:520px;padding:18px 20px;border-radius:18px;background:var(--gf-acbg);color:var(--gf-tx)}
.gf-done:focus{outline:none}
.gf-done::before{content:"";flex:none;width:28px;height:28px;border-radius:50%;background:var(--gf-ac) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B0C0A' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4L18 8'/%3E%3C/svg%3E") center/16px no-repeat}
.gf-done b{display:block;font-size:1.0625rem}
.gf-done p{margin:4px 0 0;color:var(--gf-mu)}
@media (max-width:560px){.gf-row{flex-direction:column}.gf-row .gf-btn{width:100%}}
@media (prefers-reduced-motion:reduce){.gf-btn{transition:opacity 100ms ease-out}.gf-btn:active{transform:none;opacity:.7}}
