/* The contact form, rebuilt: everything contained in the card at every width. Every grid and flex child can shrink
   (min-width:0), the fieldset drops its min-content default, chips wrap inside the card's padding, inputs are 16px. */
.fc{position:relative;overflow:hidden;isolation:isolate}
.fc::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(42% 52% at 76% 46%,rgba(43,240,139,.08),transparent 70%)}
.fc .fc-grid>*{min-width:0}
.fc .fc-form{min-width:0;max-width:100%;box-sizing:border-box}
.kf-card{position:relative;box-sizing:border-box;width:100%;max-width:100%;border-radius:20px;border:1px solid rgba(225,240,232,.12);background:linear-gradient(180deg,rgba(8,21,16,.96),rgba(3,8,5,.98));padding:clamp(20px,2.6vw,34px);overflow:hidden}
.kf{display:grid;gap:22px;min-width:0}
.kf *{box-sizing:border-box}
.kf-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;padding-bottom:18px;border-bottom:1px solid rgba(225,240,232,.1)}
.kf-head p{margin:0;font-weight:600;font-size:18px;letter-spacing:-.01em;color:#effaf4;min-width:0}
.kf-head span{font:500 10.5px/1 'Geist Mono',monospace;letter-spacing:.18em;text-transform:uppercase;color:#2bf08b;white-space:nowrap}
.kf-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px 16px;min-width:0}
.kf-wide{grid-column:1/-1}
.kf-field{display:grid;gap:9px;min-width:0}
.kf-field label,.kf-chips legend{font:500 11px/1.2 'Geist Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:#8aa597}
.kf-field input,.kf-field textarea{width:100%;min-width:0;max-width:100%;font:inherit;font-size:16px;line-height:1.4;color:#effaf4;background:rgba(255,255,255,.035);border:1px solid rgba(225,240,232,.14);border-radius:12px;padding:13px 14px;transition:border-color .25s,background .25s}
.kf-field textarea{resize:vertical;min-height:112px}
.kf-field input::placeholder,.kf-field textarea::placeholder{color:#5f776b}
.kf-field input:focus,.kf-field textarea:focus{outline:none;border-color:rgba(43,240,139,.7);background:rgba(43,240,139,.05)}
.kf-chips{border:0;margin:0;padding:0;min-width:0;min-inline-size:0;max-width:100%}
.kf-chips legend{padding:0;margin:0 0 12px}
.kf-chiprow{display:flex;flex-wrap:wrap;gap:8px;min-width:0;max-width:100%}
.kf-chiprow label{position:relative;display:inline-flex;max-width:100%}
.kf-chiprow input{position:absolute;inset:0;opacity:0;cursor:pointer;margin:0}
.kf-chiprow span{display:inline-block;max-width:100%;padding:9px 14px;border-radius:999px;border:1px solid rgba(225,240,232,.16);font-size:14px;line-height:1.2;color:#a9bdb2;white-space:nowrap;transition:background .2s,border-color .2s,color .2s}
.kf-chiprow input:checked+span{border-color:#2bf08b;color:#021208;background:#2bf08b}
.kf-chiprow input:focus-visible+span{outline:2px solid #2bf08b;outline-offset:2px}
.kf-send{width:100%;justify-content:center;padding:16px 20px;font-size:16px}
.kf-consent{margin:0;font-size:13px;line-height:1.55;color:#8aa597;text-align:center}
.kf-note{margin:-12px 0 0;font-size:12px;color:#5f776b;text-align:center}
.kf-done{margin:0}
@media (max-width:640px){.kf-grid{grid-template-columns:minmax(0,1fr)}.kf-chiprow span{font-size:13.5px;padding:9px 12px}}

/* live form: honeypot off-screen, opt-in, error line; inputs 16px so iOS never zooms */
.kf-hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.kf-optin{display:flex;align-items:flex-start;gap:10px;margin:14px 0 0;font-size:14px;line-height:1.5;color:#a9bdb2;cursor:pointer}.kf-optin input{margin-top:3px;width:18px;height:18px;accent-color:#2BF08B;flex:none}
.kf-err{margin:12px 0 0;padding:10px 14px;border-radius:10px;background:rgba(255,120,100,.08);box-shadow:inset 0 0 0 1px rgba(255,120,100,.3);color:#ffd2c8;font-size:14px;line-height:1.5}
.kf input,.kf textarea{font-size:16px}.kf button[disabled]{opacity:.6;cursor:progress}
.kf[hidden],.kf-done[hidden]{display:none!important}
@media (max-width:999px){.hint{display:none!important}} /* phones: the pill sat on the first beat's tag */
