/* ── REQUEST A LIVE DEMO ── */
.demo-section{padding:0 0 90px}
.demo-grid{background:linear-gradient(135deg,#1e40af,#0369a1);border-radius:var(--radius-lg);padding:52px;display:grid;grid-template-columns:1fr 1.15fr;gap:48px;align-items:start;position:relative;overflow:hidden}
.demo-grid::before{content:'';position:absolute;width:520px;height:520px;border-radius:50%;background:rgba(255,255,255,.05);top:-220px;right:-180px;pointer-events:none}
.demo-intro,.demo-card{position:relative;z-index:1}

.demo-eyebrow{color:#93c5fd!important}
.demo-title{font-family:'Space Grotesk',sans-serif;font-size:clamp(26px,3.2vw,38px);font-weight:700;color:#fff;line-height:1.15;letter-spacing:-0.02em;margin-bottom:16px}
.demo-sub{color:#bfdbfe;font-size:16px;line-height:1.75;margin-bottom:26px}
.demo-points{list-style:none;display:grid;gap:12px;margin-bottom:30px}
.demo-points li{display:flex;align-items:flex-start;gap:10px;color:#dbeafe;font-size:14.5px;font-weight:500}
.demo-points .tick{color:#4ade80;font-weight:700}
.demo-contact{display:grid;gap:12px;padding-top:22px;border-top:1px solid rgba(255,255,255,.18)}
.demo-contact-item{display:flex;align-items:center;gap:12px;color:#fff;font-size:14px;font-weight:600}
.demo-contact-item small{display:block;color:#93c5fd;font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px}
.demo-contact-icon{width:38px;height:38px;flex:none;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:12px;font-size:16px}
a.demo-contact-item:hover{opacity:.85}

.demo-card{background:#fff;border-radius:20px;padding:32px;box-shadow:0 30px 70px rgba(2,20,60,.35)}

.form-row{display:grid;gap:16px;margin-bottom:16px}
.form-row.two{grid-template-columns:1fr 1fr}
.form-group{display:flex;flex-direction:column;margin-bottom:16px}
.form-row .form-group{margin-bottom:0}
.form-group label{font-size:13px;font-weight:700;color:var(--dark2);margin-bottom:7px}
.form-group .req{color:#dc2626}
.form-group .opt{color:var(--muted);font-weight:500;font-size:12px}
.form-group input,.form-group select,.form-group textarea{
  font-family:'Inter',sans-serif;font-size:14.5px;color:var(--dark);background:#fff;
  border:1.5px solid var(--line);border-radius:11px;padding:12px 14px;width:100%;
  transition:border-color .18s,box-shadow .18s;
}
.form-group textarea{resize:vertical;min-height:88px;line-height:1.6}
.form-group select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2364748b' d='M6 8 0 2l1.4-1.4L6 5.2 10.6.6 12 2z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}
.form-group input::placeholder,.form-group textarea::placeholder{color:#94a3b8}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--blue-light);box-shadow:0 0 0 4px rgba(59,130,246,.14)}
.form-group.has-error input,.form-group.has-error select,.form-group.has-error textarea{border-color:#f87171;background:#fef2f2}
.form-group.has-error input:focus,.form-group.has-error select:focus,.form-group.has-error textarea:focus{box-shadow:0 0 0 4px rgba(248,113,113,.16)}
.form-error{display:none;font-size:12.5px;color:#dc2626;font-weight:600;margin-top:6px}
.form-group.has-error .form-error,.form-error:not(:empty){display:block}

.form-submit{width:100%;margin-top:8px;display:inline-flex;align-items:center;justify-content:center;gap:10px}
.form-submit[disabled]{opacity:.72;cursor:not-allowed;transform:none}
.btn-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.form-note{font-size:12px;color:var(--muted);text-align:center;margin-top:14px;line-height:1.6}

.form-alert{border-radius:12px;padding:14px 16px;font-size:14px;font-weight:600;line-height:1.6;margin-bottom:18px}
.form-alert.ok{background:var(--green-pale);border:1px solid #bbf7d0;color:#15803d}
.form-alert.bad{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}
.form-alert small{display:block;font-weight:500;font-size:12.5px;opacity:.85;margin-top:6px}

/* Honeypot — off-screen but not display:none, which some bots detect. */
.hp-field{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}

@media(max-width:960px){
  .demo-grid{grid-template-columns:1fr;padding:36px 28px;gap:32px}
}
@media(max-width:640px){
  .demo-grid{padding:28px 20px;border-radius:18px}
  .demo-card{padding:22px 18px}
  .form-row.two{grid-template-columns:1fr}
  .demo-section{padding-bottom:60px}
}
