.callback-trigger{display:inline-flex;align-items:center;justify-content:center;gap:7px}.callback-trigger svg{width:16px;height:16px;flex-shrink:0}.modal-backdrop{position:fixed;inset:0;z-index:300;background:rgba(10,12,18,.65);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease}.modal-backdrop.is-open{opacity:1;visibility:visible}.callback-modal{display:grid;grid-template-columns:1fr 1.15fr;width:100%;max-width:760px;max-height:90vh;background:var(--bg);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);transform:translateY(16px) scale(.98);transition:transform .25s ease}.modal-backdrop.is-open .callback-modal{transform:translateY(0) scale(1)}.callback-modal-media{position:relative;background:linear-gradient(160deg,var(--dark) 0%,var(--dark-alt) 100%);background-size:cover;background-position:center;min-height:100%;display:flex;align-items:flex-end;padding:28px}.callback-modal-media::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,12,18,.1) 0%,rgba(10,12,18,.85) 100%)}.callback-modal-media-content{position:relative;z-index:1;color:var(--text-on-dark)}.callback-modal-media-content strong{display:block;font-size:20px;margin-bottom:6px}.callback-modal-media-content span{font-size:13px;color:var(--text-on-dark-muted)}.callback-modal-body{padding:36px 32px;overflow-y:auto;position:relative}.modal-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;border:none;background:var(--bg-alt);color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,color .15s ease}.modal-close:hover{background:var(--border);color:var(--text)}.modal-close svg{width:16px;height:16px}.callback-modal-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px}.callback-modal-eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px rgba(22,163,74,.2)}.callback-modal-body h2{font-size:24px;margin-bottom:8px}.callback-modal-body > p{color:var(--text-muted);font-size:14px;margin-bottom:24px}.callback-form{display:flex;flex-direction:column;gap:14px}.callback-form[hidden]{display:none}.callback-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.callback-form .form-field label{display:block;font-size:13px;font-weight:600;margin-bottom:6px}.callback-form .form-field .req{font-size:11px;font-weight:500;color:var(--text-muted)}.callback-form input,.callback-form textarea{width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;font-size:14px;font-family:inherit;background:var(--bg-alt);transition:border-color .15s ease}@media (max-width:768px){.callback-form input,.callback-form textarea{font-size:16px}}.callback-form input:focus,.callback-form textarea:focus{outline:none;border-color:var(--primary)}.callback-form textarea{resize:vertical;min-height:80px}.callback-form-note{font-size:12px;color:var(--text-muted);text-align:center;margin-top:4px}.callback-success{display:none;flex-direction:column;align-items:center;text-align:center;gap:12px;min-height:260px;justify-content:center;padding:24px 8px}.callback-success.is-visible{display:flex}.callback-success-icon{width:64px;height:64px;border-radius:50%;background:rgba(22,163,74,.12);color:var(--accent);display:flex;align-items:center;justify-content:center;animation:cb-pop .3s ease}.callback-success-icon svg{width:30px;height:30px}.callback-success h3{font-size:20px}.callback-success p{color:var(--text-muted);font-size:14px;max-width:320px}@keyframes cb-pop{0%{transform:scale(.6);opacity:0}100%{transform:scale(1);opacity:1}}.callback-modal-body.is-success .callback-modal-eyebrow,.callback-modal-body.is-success h2,.callback-modal-body.is-success > p{display:none}@media (max-width:700px){.callback-modal{grid-template-columns:1fr;max-height:92vh}.callback-modal-media{display:none}.callback-modal-body{padding:28px 22px}.callback-form .form-row{grid-template-columns:1fr}}