/* /contact/ form page. Uses tokens from site.css. */
.contact-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:clamp(var(--space-8),5vw,var(--space-16));align-items:start}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr}}
.contact-form{display:grid;gap:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:clamp(var(--space-5),4vw,var(--space-8))}
.contact-form .row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}
@media (max-width:600px){.contact-form .row{grid-template-columns:1fr}}
.contact-form label{display:block;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:var(--space-2)}
.contact-form .opt{text-transform:none;letter-spacing:0;color:var(--color-text-faint)}
.contact-form input[type=text],.contact-form input[type=email],.contact-form select,.contact-form textarea{width:100%;font:inherit;font-size:1rem;color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md,8px);padding:var(--space-3) var(--space-4)}
.contact-form textarea{min-height:9rem;resize:vertical}
.contact-form input:focus-visible,.contact-form select:focus-visible,.contact-form textarea:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-color:var(--color-primary)}
.contact-form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.contact-form .form-note{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}
.contact-form .form-note a,.contact-aside a{color:var(--color-primary);text-decoration:underline;text-underline-offset:3px}
.contact-form button[type=submit]{justify-self:start;cursor:pointer}
.contact-form button[disabled]{opacity:.7;cursor:not-allowed}
.contact-aside{display:grid;gap:var(--space-6)}
.contact-aside h2{font-size:var(--text-lg)}
.contact-aside ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3);color:var(--color-text-muted)}
.contact-aside .steps{counter-reset:s}
.contact-aside .steps li{counter-increment:s;padding-left:var(--space-8);position:relative}
.contact-aside .steps li::before{content:counter(s);position:absolute;left:0;top:0;width:1.5rem;height:1.5rem;border-radius:50%;border:1px solid var(--color-primary);color:var(--color-primary);font-family:var(--font-mono);font-size:var(--text-xs);display:grid;place-items:center}
.form-sent{border:1px solid var(--color-primary);background:var(--color-primary-highlight);color:var(--color-text);border-radius:var(--radius-lg);padding:var(--space-6)}
.form-sent[hidden]{display:none}
.form-sent h2{margin:0 0 var(--space-2)}
.contact-form[hidden]{display:none}
.section-inner.contact-grid{max-width:1104px;margin-inline:auto}
.contact-aside h2{margin:0 0 var(--space-3)}
.contact-aside p{margin:var(--space-3) 0 0;color:var(--color-text-muted)}
