/* Sign-up and contact forms */
.su { display: grid; gap: 12px; text-align: left; }
.su-fields { display: grid; gap: 10px; }
.su-f { display: grid; gap: 5px; font-size: 13px; font-weight: 600; color: #334155; }
.su-f input, .su-f select, .su-f textarea { width: 100%; padding: 11px 12px; border: 1px solid #cbd5e1; border-radius: 10px; font: inherit; font-weight: 400; font-size: 15px; color: #0b1a2b; background: #fff; }
.su-f textarea { min-height: 120px; resize: vertical; }
.su-f input:focus, .su-f select:focus, .su-f textarea:focus { outline: 2px solid #34d399; outline-offset: 1px; border-color: #059669; }
.su .invalid { border-color: #dc2626 !important; background: #fef2f2 !important; }
.su-hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.su-consent { display: grid; grid-template-columns: 20px 1fr; gap: 10px; align-items: start; font-size: 13px; line-height: 1.5; color: #475569; font-weight: 400; }
.su-consent input { width: 18px; height: 18px; margin: 2px 0 0; accent-color: #059669; }
.su-consent a { color: #047857; text-decoration: underline; text-underline-offset: 3px; }
.su-send { width: 100%; justify-content: center; }
.su-msg { margin: 0; padding: 10px 12px; border-radius: 10px; background: #fef2f2; border: 1px solid #fecaca; color: #991b1b; font-size: 14px; }
.su-done { padding: 18px; border-radius: 14px; background: #ecfdf5; border: 1px solid #a7f3d0; color: #064e3b; }
.su-done h3 { margin: 0 0 6px; font-size: 19px; }
.su-done p { margin: 0 0 8px; font-size: 15px; line-height: 1.55; }
.su-done .su-done-small { font-size: 13px; margin: 0; }
.su-done a { color: #047857; text-decoration: underline; text-underline-offset: 3px; }
.su-dark { max-width: 640px; margin: 28px auto 0; padding: 22px; border-radius: 18px; background: rgba(255, 255, 255, .96); box-shadow: 0 24px 60px rgba(0, 0, 0, .25); }
.su-dark .su-fields { grid-template-columns: 1fr 1fr; }
.su-dark .su-consent, .su-dark .su-hp { grid-column: 1 / -1; }
@media (max-width: 640px) { .su-dark .su-fields { grid-template-columns: 1fr; } .su-dark { padding: 16px; } }
.atp-form .su-f input, .atp-form .su-f select { color: #0b1a2b; background: #fff; }

.su [hidden], .su-done[hidden], .su-msg[hidden] { display: none !important; }
