/* Contact form on /contact/ (contact.js). Builds on account.css (.ac inputs, .ac-field labels, .ac-btn, .ac-note). */
/* Two halves on wider screens: email details on the left, the form on the right; stacked in that order below 900 px. */
.ct-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;align-items:start}
.ct-split>.ac-card{min-width:0}
.ct-card h2{font-size:22px;font-weight:400;margin:0 0 18px}
.ct-form{display:grid;gap:18px}
.ct-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.ct-field{min-width:0}
.ac .ct-form textarea{width:100%;min-height:160px;background:#101713;color:var(--text);border:1px solid #ffffff30;border-radius:8px;padding:12px 14px;font:inherit;font-size:15px;line-height:1.6;resize:vertical}
.ac .ct-form select{appearance:auto}
.ac .ct-form input:focus,.ac .ct-form select:focus,.ac .ct-form textarea:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:transparent}
.ac .ct-form [aria-invalid=true]{border-color:#d98b6f}
.ct-count{margin:6px 0 0;font-size:12px;color:var(--muted);text-align:right}
.ct-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.ct-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.ct-status{margin:0;font-size:14px;color:var(--muted)}
.ct-status.err{color:#e9a58c}
/* [hidden] must win over the display rules above, or the form stays visible next to the thank-you note. */
.ct-form[hidden],.ct-done[hidden]{display:none}
/* Thank-you note: same type scale as the form (labels, body text), no oversized heading. */
.ct-done{display:grid;gap:10px;justify-items:start;padding:4px 0 2px}
.ct-done p{margin:0}
.ct-done-label{font-size:12px;letter-spacing:.08em;color:var(--gold)}
.ct-done-title{font-size:18px;line-height:1.5;color:var(--text)}
.ct-done-text{font-size:15px;line-height:1.7;color:var(--muted);max-width:52ch}
.ct-done .ac-btn{margin-top:8px}
@media(max-width:900px){.ct-split{grid-template-columns:1fr}}
@media(max-width:640px){.ct-row{grid-template-columns:1fr}.ct-actions .ac-btn{width:100%}}
