/* contact */
.contact{max-width:640px;margin:8px auto 3rem}
.contact h1{margin-bottom:.25rem}
.contact .lead{color:var(--mute);margin:0 0 1.5rem;line-height:1.5}
.contact form{display:flex;flex-direction:column;gap:1rem;background:var(--card);border:1px solid var(--g100);border-radius:var(--r-lg);padding:28px;box-shadow:var(--shadow-sm)}
.contact label{display:block;font-weight:500;font-size:14px;color:var(--g700);margin-bottom:8px}
.contact input[type=text],.contact input[type=email],.contact select,.contact textarea{width:100%;box-sizing:border-box;font:inherit;padding:9px 16px;border:1px solid var(--line);border-radius:var(--r);background:var(--card);color:inherit;outline:none}
.contact :is(input,select,textarea):focus{border-color:transparent;box-shadow:0 0 0 2px #0ea5e9}
.contact textarea{min-height:160px;resize:vertical}
.contact .row2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.contact .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.contact .err{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;border-radius:8px;padding:.75rem 1rem;margin-bottom:1rem}
.contact .err ul{margin:0;padding-left:1.1rem}
.contact .ok{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534;border-radius:12px;padding:1.5rem;text-align:center}
.contact .note{font-size:.78rem;color:var(--mute);margin:0}
.contact .ser{font-size:.85rem;background:var(--tint);border-radius:8px;padding:.5rem .75rem}
.contact .author{display:flex;align-items:center;gap:14px;margin:0 0 1.25rem}
.contact .author__pic{width:56px;height:56px;border-radius:50%;object-fit:cover;flex:none;box-shadow:0 0 0 3px var(--card),0 0 0 4px var(--g200,#e5e7eb)}
.contact .author__txt{margin:0;color:var(--g700);line-height:1.45}
.contact .author__txt strong{color:var(--g900,#111827)}
@media (max-width:560px){.contact .row2{grid-template-columns:1fr}}
