/* SEORG Contact Form — isolated visual contract.
 * Public form colors are explicit so a theme cannot make headings, labels,
 * helper text or notices unreadable by inheritance.
 */
.seorg-contact-card{
  --seorg-form-bg:#fff;
  --seorg-form-heading:#101828;
  --seorg-form-text:#344054;
  --seorg-form-label:#101828;
  --seorg-form-muted:#667085;
  --seorg-form-placeholder:#8a94a6;
  --seorg-form-border:#d0d5dd;
  --seorg-form-focus:#315efb;
  --seorg-form-button-bg:#111;
  --seorg-form-button-text:#fff;
  max-width:var(--seorg-form-max,760px);
  margin:32px auto;
  padding:clamp(22px,4vw,38px);
  border:1px solid #e4e7ec;
  border-radius:var(--seorg-form-radius,14px);
  background:var(--seorg-form-bg);
  color:var(--seorg-form-text);
  color-scheme:light;
  box-shadow:0 18px 50px rgba(16,24,40,.08);
  box-sizing:border-box;
  isolation:isolate;
}
.seorg-contact-card *{box-sizing:border-box}
.seorg-contact-card .seorg-contact-head{margin-bottom:24px;color:var(--seorg-form-text)}
.seorg-contact-card .seorg-contact-kicker{display:inline-block;margin-bottom:7px;color:var(--seorg-form-muted);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:1}
.seorg-contact-card .seorg-contact-head h2{margin:0 0 8px;color:var(--seorg-form-heading);font-size:clamp(1.55rem,4vw,2.2rem);font-weight:800;line-height:1.1;letter-spacing:-.025em}
.seorg-contact-card .seorg-contact-head p{margin:0;color:var(--seorg-form-text);font-size:1rem;line-height:1.6;opacity:1}
.seorg-contact-card .seorg-contact-form{color:var(--seorg-form-text)}
.seorg-contact-card .seorg-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.seorg-contact-card .seorg-field{min-width:0;color:var(--seorg-form-text)}
.seorg-contact-card .seorg-field-w-100{grid-column:1/-1}
.seorg-contact-card .seorg-field>label{display:block;margin-bottom:7px;color:var(--seorg-form-label);font-size:.92rem;font-weight:700;line-height:1.4;opacity:1}
.seorg-contact-card .seorg-field>label span[aria-hidden="true"]{color:#b42318}
.seorg-contact-card .seorg-field input,
.seorg-contact-card .seorg-field select,
.seorg-contact-card .seorg-field textarea{width:100%;box-sizing:border-box;border:1px solid var(--seorg-form-border);border-radius:var(--seorg-form-radius,14px);padding:13px 14px;background:#fff;color:#171717;font:inherit;line-height:1.4;outline:none;opacity:1;box-shadow:none;transition:border-color .18s,box-shadow .18s,background-color .18s}
.seorg-contact-card .seorg-field input::placeholder,
.seorg-contact-card .seorg-field textarea::placeholder{color:var(--seorg-form-placeholder);opacity:1}
.seorg-contact-card .seorg-field select{color:#344054}
.seorg-contact-card .seorg-field select option{background:#fff;color:#171717}
.seorg-contact-card .seorg-field textarea{min-height:150px;resize:vertical}
.seorg-contact-card .seorg-field input:hover,
.seorg-contact-card .seorg-field select:hover,
.seorg-contact-card .seorg-field textarea:hover{border-color:#98a2b3}
.seorg-contact-card .seorg-field input:focus,
.seorg-contact-card .seorg-field select:focus,
.seorg-contact-card .seorg-field textarea:focus{border-color:var(--seorg-form-focus);box-shadow:0 0 0 3px rgba(49,94,251,.14)}
.seorg-contact-card .seorg-char-counter{margin-top:5px;color:var(--seorg-form-muted);font-size:.78rem;line-height:1.35;text-align:right;opacity:1}
.seorg-contact-card .seorg-captcha-wrap{max-width:100%;margin:20px 0;overflow:hidden;color:var(--seorg-form-text)}
.seorg-contact-card .seorg-contact-submit{appearance:none;min-width:180px;border:0;border-radius:var(--seorg-form-radius,14px);padding:14px 22px;background:var(--seorg-form-button-bg);color:var(--seorg-form-button-text);font:inherit;font-weight:800;line-height:1.2;cursor:pointer;box-shadow:none;transition:transform .15s,opacity .15s,box-shadow .15s}
.seorg-contact-card .seorg-contact-submit:hover{color:var(--seorg-form-button-text);transform:translateY(-1px);box-shadow:0 8px 18px rgba(17,17,17,.14)}
.seorg-contact-card .seorg-contact-submit:focus-visible{outline:3px solid rgba(49,94,251,.28);outline-offset:3px}
.seorg-contact-card .seorg-contact-submit[disabled]{opacity:.6;cursor:wait;transform:none;box-shadow:none}
.seorg-contact-card .seorg-contact-privacy{margin:12px 0 0;color:var(--seorg-form-muted);font-size:.82rem;line-height:1.55;opacity:1}
.seorg-contact-card .seorg-form-notice{margin:0 0 20px;padding:12px 14px;border:1px solid transparent;border-radius:12px;font-weight:650;line-height:1.45}
.seorg-contact-card .seorg-form-notice.is-success{border-color:#abefc6;background:#ecfdf3;color:#067647}
.seorg-contact-card .seorg-form-notice.is-error,
.seorg-contact-card .seorg-form-error{border-color:#fecdca;background:#fef3f2;color:#b42318}
.seorg-contact-card .seorg-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}
.seorg-contact-card .seorg-check{display:flex!important;gap:8px;align-items:flex-start;color:var(--seorg-form-label);font-weight:600;line-height:1.45}
.seorg-contact-card .seorg-check input{width:auto!important;margin-top:.2em;accent-color:var(--seorg-form-focus)}
.seorg-contact-card .seorg-check span{color:var(--seorg-form-label);opacity:1}
@media(max-width:640px){
  .seorg-contact-card{margin:18px 0;padding:20px}
  .seorg-contact-card .seorg-form-grid{grid-template-columns:1fr}
  .seorg-contact-card .seorg-field-w-50,.seorg-contact-card .seorg-field-w-100{grid-column:1/-1}
  .seorg-contact-card .seorg-contact-submit{width:100%}
}

.seorg-contact-card .seorg-field-error{margin:6px 0 0;padding:8px 10px;border:1px solid #fecdca;border-radius:10px;background:#fef3f2;color:#b42318;font-size:.82rem;font-weight:650;line-height:1.4}
.seorg-contact-card .seorg-field-error[hidden]{display:none!important}
.seorg-contact-card [aria-invalid="true"]{border-color:#d92d20!important;box-shadow:0 0 0 3px rgba(217,45,32,.10)!important}

/* Contact result state: success becomes the primary view; failures keep the form visible. */
.seorg-contact-card [hidden]{display:none!important}
.seorg-contact-card .seorg-contact-result{padding:clamp(22px,4vw,34px);border:1px solid #abefc6;border-radius:var(--seorg-form-radius,14px);background:#ecfdf3;color:#067647;text-align:center}
.seorg-contact-card .seorg-contact-result-icon{display:flex;width:52px;height:52px;margin:0 auto 14px;align-items:center;justify-content:center;border-radius:50%;background:#d1fadf;color:#067647;font-size:1.65rem;font-weight:900;line-height:1}
.seorg-contact-card .seorg-contact-result h3{margin:0 0 8px;color:#065f46;font-size:clamp(1.3rem,3vw,1.7rem);font-weight:800;line-height:1.2}
.seorg-contact-card .seorg-contact-result p{margin:0 auto 20px;max-width:560px;color:#067647;font-size:1rem;line-height:1.6}
.seorg-contact-card .seorg-contact-again{appearance:none;border:1px solid #86d9ab;border-radius:var(--seorg-form-radius,14px);padding:11px 18px;background:#fff;color:#065f46;font:inherit;font-weight:750;cursor:pointer}
.seorg-contact-card .seorg-contact-again:hover{background:#f6fef9;color:#054f3a}
.seorg-contact-card .seorg-contact-again:focus-visible{outline:3px solid rgba(6,118,71,.18);outline-offset:3px}
