
.abs-modal-overlay{display:none;position:fixed;inset:0;z-index:10002;background:rgba(11,31,58,.82);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);align-items:flex-start;justify-content:center;padding:40px 20px;overflow-y:auto;animation:abs-fade .25s ease-out}
.abs-modal-overlay.open{display:flex}
@keyframes abs-fade{from{opacity:0}to{opacity:1}}
.abs-modal-dialog{background:#fff;border-radius:18px;width:100%;max-width:820px;box-shadow:0 40px 100px rgba(0,0,0,.45),0 10px 30px rgba(0,0,0,.2);position:relative;overflow:hidden;animation:abs-slide .32s cubic-bezier(.4,0,.2,1);margin:auto 0}
@keyframes abs-slide{from{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
.abs-modal-close{position:absolute;top:18px;right:18px;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;z-index:2;transition:background .2s,transform .2s;font-family:inherit;display:flex;align-items:center;justify-content:center;padding:0}
.abs-modal-close:hover{background:rgba(255,255,255,.28);transform:rotate(90deg)}

/* Header — matches capital-equipment hero aesthetic */
.abs-modal-header{background:linear-gradient(135deg,#0B1F3A 0%,#0f2847 45%,#13425c 100%);padding:40px 44px 32px;color:#fff;position:relative;overflow:hidden}
.abs-modal-header::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(-45deg,transparent,transparent 14px,rgba(255,255,255,.03) 14px,rgba(255,255,255,.03) 15px);pointer-events:none}
.abs-modal-header::after{content:'';position:absolute;top:-40%;right:-20%;width:60%;height:160%;background:radial-gradient(circle,rgba(19,168,180,.22) 0,transparent 60%);pointer-events:none}
.abs-modal-header > *{position:relative;z-index:1}
.abs-modal-header .section-eyebrow{color:#13A8B4;margin-bottom:16px;font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;display:flex;align-items:center;gap:10px}
.abs-modal-header .section-eyebrow::before{content:'';display:block;width:24px;height:2px;background:#13A8B4}
.abs-modal-header h2{font-family:'DM Serif Display',serif;font-size:clamp(1.6rem,2.8vw,2.2rem);color:#fff;margin:0 0 12px;line-height:1.15;letter-spacing:-.01em;font-weight:400}
.abs-modal-header h2 em{font-style:italic;color:#13A8B4;font-weight:400}
.abs-modal-header p{color:rgba(255,255,255,.78);font-size:.95rem;line-height:1.6;max-width:620px;margin:0}

.abs-modal-body{padding:36px 44px 32px;background:#fff}
/* Override the dark form-section styling so the form renders on white inside the modal */
.abs-modal-body .abs-form-card{background:transparent;box-shadow:none;padding:0;border-radius:0}
.abs-modal-body label{color:#0B1F3A}
.abs-modal-body .abs-form-field input,.abs-modal-body .abs-form-field select,.abs-modal-body .abs-form-field textarea{padding:12px 14px;border:1.5px solid #e1e6eb;background:#fafbfc;transition:all .18s;border-radius:8px;font-family:'DM Sans',sans-serif;font-size:.92rem;color:#0B1F3A;width:100%}
.abs-modal-body .abs-form-field input:hover,.abs-modal-body .abs-form-field select:hover,.abs-modal-body .abs-form-field textarea:hover{border-color:#c9dde0;background:#fff}
.abs-modal-body .abs-form-field input:focus,.abs-modal-body .abs-form-field select:focus,.abs-modal-body .abs-form-field textarea:focus{border-color:#0E7C86;background:#fff;box-shadow:0 0 0 4px rgba(14,124,134,.1);outline:none}

.abs-modal-body .abs-form-success{display:none;background:linear-gradient(180deg,#e8f6f8 0%,#d4efe3 100%);border:1px solid #0E7C86;border-radius:10px;padding:18px 22px;color:#0B1F3A;margin-bottom:20px;font-size:.95rem;line-height:1.55}
.abs-modal-body .abs-form-success.show{display:block}
.abs-modal-body .abs-form-error{display:none;background:#fff4f4;border:1px solid #e8b2b2;border-radius:10px;padding:14px 18px;color:#922;margin-bottom:20px;font-size:.9rem}
.abs-modal-body .abs-form-error.show{display:block}

@media(max-width:600px){
  .abs-modal-overlay{padding:0}
  .abs-modal-dialog{border-radius:0;max-width:100%;min-height:100vh}
  .abs-modal-header{padding:56px 24px 28px}
  .abs-modal-body{padding:28px 24px 24px}
  .abs-modal-body .abs-form-row{grid-template-columns:1fr!important}
}
