/* Contact form. Used by the front page and the Contact page (template-parts/contact-form.php). */
.mtext{margin:0;color:var(--muted)}
.field{display:flex;flex-direction:column;gap:8px}
.field label,.field .flabel{font-size:14px;font-weight:500;color:var(--text)}
.opt{font-weight:400;color:var(--muted)}
.input{width:100%;font:inherit;font-size:16px;color:var(--text);background:var(--input);border:1px solid var(--ctl);border-radius:10px;padding:12px 14px;min-height:48px;transition:border-color 150ms ease,box-shadow 150ms ease}
.input::placeholder{color:var(--ph)}
.input:hover{border-color:var(--ctl-h)}
.input:focus{border-color:var(--acc-fg);outline:none;box-shadow:0 0 0 3px var(--glow)}
.input[aria-invalid="true"]{border-color:var(--err-line)}
.input[aria-invalid="true"]:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--err-line) 35%,transparent)}
textarea.input{min-height:150px;resize:vertical;line-height:1.55}
.err{display:flex;gap:8px;align-items:flex-start;font-size:14px;line-height:1.45;color:var(--err)}
.err[hidden]{display:none}
.err svg{flex:none;margin-top:2px}
.chip{padding:0 16px;font-weight:500;background:transparent;border-color:var(--ctl);color:var(--muted)}
.chip:hover{color:var(--text);border-color:var(--ctl-h)}
.chip.on{background:var(--bg3);border-color:var(--acc-fg);color:var(--hi)}
.kbd{font-family:"Geist Mono",ui-monospace,monospace;font-size:12px;border:1px solid var(--line2);border-bottom-width:2px;border-radius:6px;padding:1px 6px;color:var(--text)}
.spin{width:16px;height:16px;border-radius:50%;border:2px solid rgba(4,20,12,.25);border-top-color:#04140C;animation:spin 700ms linear infinite}
.spin[hidden],.arrow[hidden]{display:none}
@keyframes spin{to{transform:rotate(360deg)}}
/* form layout (values come from the Main design inline styles; --full = Contact design) */
.cform-form{display:flex;flex-direction:column;gap:22px}
.cform-form[hidden],.cform-done[hidden]{display:none}
.cform-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:22px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.cform-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}
.cform-foot .hint a{color:var(--text)}
.btn-submit{padding:0 26px}
.cform-hp{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.cform-done{display:flex;flex-direction:column;gap:16px;padding:24px 0}
.cform-done:focus{outline:none}
.cform-done-title{margin:0;font-size:28px;letter-spacing:-.03em;font-weight:600}
.cform-reset{align-self:flex-start;margin-top:8px}
.cform--full .cform-form{gap:26px}
.cform--full .cform-grid{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))}
.cform--full textarea.input{min-height:170px}
.cform--full .cform-foot{padding-top:4px}
.cform--full .chip{font-size:15px}
.cform--full .cform-done-title{font-size:30px;line-height:1.15}
.cform--full .cform-done-text{max-width:36em}
.cform--full .cform-done-text strong{color:var(--text);font-weight:500}
.cform--full .cform-done-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.cform-intro{display:flex;flex-direction:column;gap:6px}
.cform-title{margin:0;font-size:26px;letter-spacing:-.03em;font-weight:600}
.cform-sub{margin:0;font-size:14px}
@media (prefers-reduced-motion:reduce){.spin{animation-duration:2s}}
