.contact{display:flex;flex-direction:column;gap:12px;margin-top:16px}
.contact p{margin:0}
.contact-fields{display:flex;flex-direction:column;gap:12px}
.contact-field{display:flex;flex-direction:column;gap:6px}
.contact label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:15px;color:var(--ink2)}
.contact input,.contact textarea{font:inherit;font-weight:400;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--bg2);color:var(--ink);width:100%}
.contact textarea{min-height:140px;resize:vertical}
.contact input:focus-visible,.contact textarea:focus-visible,.contact button:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.contact button{align-self:flex-start;min-height:48px;min-width:152px;padding:0 22px;border:0;border-radius:999px;background:var(--gold);color:#171613;font:inherit;font-weight:600;cursor:pointer}
.contact button[disabled]{opacity:.6;cursor:default}
.contact .hp{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.contact [hidden]{display:none!important}
.contact .field-error{margin:0;color:var(--err);font-size:14px;font-weight:500}
.contact input[aria-invalid="true"],.contact textarea[aria-invalid="true"]{border-color:var(--err)}
.contact-alert{padding:14px 16px;border:1px solid color-mix(in srgb,var(--err) 35%,transparent);border-radius:var(--r-sm);background:var(--err-soft);color:var(--ink2)}
.contact-alert strong{display:block;margin-bottom:4px;color:var(--err);font-size:15px}
.contact-alert p{font-size:14px}
.contact-alert p:empty{display:none}
.contact-alert button,.contact-done button{min-width:0;min-height:auto;padding:0;border:0;border-radius:0;background:transparent;color:var(--gold-ink);font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.contact-alert button{margin-top:8px}
.contact-live{margin-top:-12px}
.contact-live>div{margin-top:12px}
.contact-done{padding:20px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg2)}
.contact-done:focus{outline:none}
.contact-done .done-icon{display:grid;width:40px;height:40px;margin-bottom:14px;place-items:center;border-radius:50%;background:var(--gold-soft);color:var(--gold-ink)}
.contact-done .done-icon svg{width:22px;height:22px}
.contact-done strong{display:block;margin-bottom:6px;color:var(--ink);font-size:20px}
.contact-done p{margin-bottom:14px;color:var(--ink2)}
.contact .spin{display:inline-block;width:15px;height:15px;margin-right:8px;vertical-align:-3px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:contact-spin .7s linear infinite}
@keyframes contact-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.contact .spin{animation:none}}
.launch-form{width:100%;max-width:620px;margin:20px auto 0;text-align:left}
.launch-form h2{margin:0 0 8px;font-size:clamp(24px,4vw,34px);line-height:1.15}
.launch-form .launch-copy{margin:0;color:var(--ink2)}
.launch-form .contact-fields{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px}
.launch-form .contact-field{min-width:0}
.launch-form .contact button[type="submit"]{min-width:136px;align-self:end}
.launch-form .launch-note{grid-column:1/-1;margin:0;color:var(--mute);font-size:14px}
.launch-form .launch-note a{color:var(--gold-ink);text-decoration:underline;text-underline-offset:3px}
.launch-form .contact-live{grid-column:1/-1}
.intro .launch-form{width:100%;max-width:520px;margin:0}
.intro .launch-form .contact-fields{grid-template-columns:minmax(0,1fr) auto}
@media(max-width:440px){.launch-form .contact-fields,.intro .launch-form .contact-fields{grid-template-columns:minmax(0,1fr)}.launch-form .contact button[type="submit"]{width:100%}}
.launch-form .launch-terms{margin:10px 0 0;color:var(--mute);font-size:14px;line-height:1.5}
