.contact{border:1px solid var(--line);border-radius:2px;padding:0;background:var(--carbon);color:var(--chalk);width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto}
.contact::backdrop{background:rgba(24,29,32,.78);backdrop-filter:blur(2px)}
.contact-inner{padding:36px 40px 32px}
.contact-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:8px}
.contact h2{font-size:clamp(26px,3vw,32px);line-height:1.15;letter-spacing:-.045em;font-weight:450;margin:10px 0 8px}
.contact-inner>p{color:var(--stone);font-size:14px;margin:0 0 20px;max-width:420px}
.contact-close{background:transparent;border:1px solid var(--line);color:var(--chalk);width:40px;height:40px;border-radius:2px;font-size:18px;line-height:1;flex:none}
.contact-close:hover{background:var(--chalk);color:var(--graphite)}
.contact form{display:grid;gap:14px}
.contact .row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact label{display:grid;gap:8px}
.contact label .mono{font-size:10px;color:var(--stone);text-transform:uppercase}
.contact input,.contact textarea{width:100%;background:var(--graphite);color:var(--chalk);border:1px solid var(--line);border-radius:2px;padding:12px 14px;font-size:15px}
.contact textarea{min-height:110px;resize:vertical;font-family:inherit}
.contact input::placeholder,.contact textarea::placeholder{color:#7d8687}
.contact input:focus,.contact textarea:focus{border-color:var(--sage);outline:none}
.contact .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.contact-actions{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-top:6px}
.contact-actions .button{gap:40px}
.contact-actions .button[disabled]{opacity:.6;cursor:wait}
.contact-alt{font-size:12px;color:var(--stone)}
.contact-alt a{color:var(--chalk)}
.contact-status{font-size:14px;line-height:1.5;margin:0;min-height:1.5em}
.contact-status.error{color:#e8a598}
.contact-done{display:none}
.contact.is-done form,.contact.is-done .contact-inner>p{display:none}
.contact.is-done .contact-done{display:block}
.contact-done p{color:var(--stone);font-size:16px;max-width:420px;margin:0 0 30px}
@media(max-width:600px){.contact-inner{padding:30px 22px 26px}.contact .row{grid-template-columns:1fr}.contact-actions{flex-direction:column;align-items:stretch}.contact-actions .button{justify-content:space-between}}
