:root{
  --nx-primary:#2563eb;
  --nx-dark:#0f172a;
  --nx-muted:#64748b;
  --nx-border:rgba(203,213,225,.82);
  --nx-shadow:0 18px 45px rgba(15,23,42,.08);
  --nx-radius:1.25rem;
}
.nx-contact-hero{
  padding:4rem 0 3.25rem;
  background:
    radial-gradient(circle at 12% 10%,rgba(37,99,235,.16),transparent 34%),
    radial-gradient(circle at 88% 20%,rgba(20,184,166,.12),transparent 32%),
    linear-gradient(180deg,#fff,#f7faff);
  border-bottom:1px solid rgba(203,213,225,.66);
}
.nx-contact-eyebrow,.nx-contact-label{
  display:inline-flex;align-items:center;gap:.45rem;padding:.34rem .72rem;border-radius:999px;
  color:#1d4ed8;background:rgba(37,99,235,.09);border:1px solid rgba(37,99,235,.18);font-size:.82rem;font-weight:950;
}
.nx-contact-hero h1{
  margin:1rem 0 0;color:var(--nx-dark);font-size:clamp(1.7rem,3vw,2.8rem);font-weight:950;line-height:1.6;
}
.nx-contact-hero p{margin:1rem 0 0;color:#475569;line-height:2;font-size:1rem;max-width:760px;}
.nx-contact-summary{
  display:grid;gap:.75rem;background:rgba(255,255,255,.78);border:1px solid var(--nx-border);border-radius:var(--nx-radius);padding:1rem;box-shadow:var(--nx-shadow);
}
.nx-contact-summary div{display:flex;align-items:center;gap:.65rem;color:#334155;font-weight:850;}
.nx-contact-summary i{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:1rem;background:rgba(37,99,235,.09);color:var(--nx-primary);}
.nx-contact-section{padding:4rem 0;background:#fff;}
.nx-contact-card,.nx-contact-form-card{
  background:#fff;border:1px solid var(--nx-border);border-radius:var(--nx-radius);box-shadow:var(--nx-shadow);padding:1.25rem;
}
.nx-contact-card h2,.nx-contact-form-head h2{margin:.75rem 0 0;color:var(--nx-dark);font-size:1.35rem;font-weight:950;line-height:1.7;}
.nx-contact-muted{color:var(--nx-muted);line-height:2;margin:.65rem 0 0;}
.nx-contact-muted a{text-decoration:none;font-weight: bold;}
.nx-contact-methods{display:grid;gap:.8rem;margin-top:1.2rem;}
.nx-contact-method{
  display:flex;align-items:center;gap:.75rem;padding:.85rem;border-radius:1rem;border:1px solid rgba(203,213,225,.78);background:#f8fafc;text-decoration:none;color:var(--nx-dark);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.nx-contact-method:hover{transform:translateY(-2px);border-color:rgba(37,99,235,.32);box-shadow:0 14px 30px rgba(15,23,42,.08);}
.nx-method-icon{width:44px;height:44px;border-radius:1rem;display:inline-flex;align-items:center;justify-content:center;background:rgba(37,99,235,.1);color:var(--nx-primary);font-size:1.2rem;}
.nx-contact-method strong{display:block;font-weight:950;}
.nx-contact-method small{display:block;color:var(--nx-muted);margin-top:.2rem;font-weight:800;}
.nx-contact-form-head{display:flex;align-items:start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem;}
.nx-auth-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.32rem .65rem;border-radius:999px;background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.28);color:#92400e;font-size:.78rem;font-weight:950;}
.nx-auth-badge.is-ok{background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.28);color:#166534;}
.nx-contact-form .form-label{font-size:.85rem;font-weight:900;color:#334155;}
.nx-contact-input{border-radius:.95rem;border-color:rgba(203,213,225,.95);padding:.72rem .85rem;background:#fff;box-shadow:none!important;}
.nx-contact-input:focus{border-color:rgba(37,99,235,.55);}
.nx-contact-textarea{resize:vertical;min-height:170px;line-height:1.9;}
.nx-form-actions{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin-top:1.1rem;}
.nx-form-actions span{color:var(--nx-muted);font-size:.85rem;}
.nx-login-modal{border:0;border-radius:1.3rem;box-shadow:0 24px 70px rgba(15,23,42,.18);}
.nx-modal-icon{width:58px;height:58px;border-radius:1.2rem;display:flex;align-items:center;justify-content:center;background:rgba(37,99,235,.09);color:var(--nx-primary);font-size:1.8rem;margin-bottom:.75rem;}
.nx-login-modal p{color:#475569;line-height:2;margin:0;}
@media (max-width:576px){
  .nx-contact-hero,.nx-contact-section{padding:3rem 0;}
  .nx-form-actions .btn,.nx-login-modal .modal-footer .btn{width:100%;}
  .nx-login-modal .modal-footer{display:grid;grid-template-columns:1fr;width:100%;}
}

.nx-contact-alert{
  border-radius:1rem;
  line-height:1.9;
  font-weight:850;
  margin-bottom:1rem;
}
.nx-contact-input.is-invalid{
  border-color:#dc3545!important;
  background-image:none;
}


.nx-contact-input::placeholder{
  color:#94a3b8;
  opacity:.72;
  font-weight:500;
}
.nx-contact-input::-webkit-input-placeholder{
  color:#94a3b8;
  opacity:.72;
  font-weight:500;
}
.nx-contact-input::-moz-placeholder{
  color:#94a3b8;
  opacity:.72;
  font-weight:500;
}
.nx-contact-alert{
  position:relative;
  padding-left:2.75rem;
}
.nx-contact-alert .nx-alert-close{
  position:absolute;
  left:.8rem;
  top:50%;
  transform:translateY(-50%);
  border:0;
  background:transparent;
  color:inherit;
  opacity:.62;
  font-size:1.25rem;
  line-height:1;
  padding:.2rem;
  cursor:pointer;
}
.nx-contact-alert .nx-alert-close:hover{opacity:1;}
.nx-contact-api-note {
  display: flex;
  align-items: flex-start;
  gap: .5rem;
}

.nx-contact-api-note i {
  flex: 0 0 auto;
  margin-top: .25rem;
  color: var(--nx-primary, #2563eb);
  font-size: 1rem;
}

.nx-contact-api-note a {
  font-weight: 900;
  text-decoration: none;
}

.nx-contact-api-note a:hover {
  text-decoration: underline;
}