/* =====================================================
   MODALES — agent, svc, int, login
   ===================================================== */

/* Agent modal */
#agent-modal{position:fixed;inset:0;z-index:3000;background:rgba(0,0,0,.6);backdrop-filter:blur(6px);display:none;align-items:flex-start;justify-content:flex-end;opacity:0;transition:opacity .35s ease}
#agent-modal.open{display:flex;opacity:1}
#agent-panel{width:min(580px,96vw);height:100vh;background:var(--bg2);border-left:1px solid var(--b);overflow-y:auto;transform:translateX(100%);transition:transform .38s cubic-bezier(.4,0,.2,1)}
#agent-modal.open #agent-panel{transform:translateX(0)}
#agent-panel-inner{padding:0 0 80px}
.ap-photo{width:100%;height:260px;overflow:hidden;position:relative;background:var(--bgc)}
.ap-photo img{width:100%;height:100%;object-fit:cover;object-position:top center}
.ap-photo-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:80px}
.ap-photo-overlay{position:absolute;inset:0;background:linear-gradient(to top,var(--bg2) 0%,transparent 60%)}
.ap-content{padding:0 36px 0}
.ap-close-row{display:flex;justify-content:flex-start;padding:14px 36px 10px;position:sticky;top:0;z-index:10;background:var(--bg2);border-bottom:1px solid var(--b);margin-bottom:4px}
.ap-close-btn{background:var(--bgc);border:1px solid var(--b);border-radius:var(--r-md);padding:8px 16px;color:var(--t2);font-family:var(--font-mono);font-size:11px;cursor:pointer;transition:all var(--tf);display:flex;align-items:center;gap:6px}
.ap-close-btn:hover{border-color:var(--ap);color:var(--ap)}
.ap-badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--ap);padding:3px 10px;border:1px solid var(--ba);border-radius:100px;background:var(--ag);margin-bottom:10px}
.ap-name{font-family:var(--font-display);font-weight:700;font-size:30px;color:var(--t1);margin-bottom:4px;line-height:1;letter-spacing:-.01em}
.ap-role{font-family:var(--font-mono);font-size:11px;color:var(--as);letter-spacing:.06em;margin-bottom:16px}
.ap-traits{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:20px}
.ap-trait{padding:4px 11px;background:var(--bgc);border:1px solid var(--b);border-radius:100px;font-size:10px;color:var(--tm);font-family:var(--font-mono)}
.ap-lead{font-size:15px;color:var(--t2);line-height:1.8;margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid var(--b)}
.ap-block{margin-bottom:24px}
.ap-block-title{font-family:var(--font-ui);font-weight:700;font-size:14px;color:var(--t1);margin-bottom:10px;display:flex;align-items:center;gap:8px}
.ap-block-title::before{content:'';width:3px;height:16px;background:var(--ap);border-radius:2px;flex-shrink:0}
.ap-list{display:flex;flex-direction:column;gap:7px}
.ap-item{display:flex;align-items:flex-start;gap:9px;font-size:13px;color:var(--t2);line-height:1.6}
.ap-item::before{content:'→';color:var(--ap);flex-shrink:0;font-size:12px;margin-top:1px}
.ap-cta{margin-top:32px;padding-top:24px;border-top:1px solid var(--b);text-align:center}
.ap-cta p{font-size:14px;color:var(--t2);margin-bottom:16px}

/* Service y Integration modals */
#svc-modal,#int-modal{position:fixed;inset:0;z-index:3000;background:rgba(0,0,0,.6);backdrop-filter:blur(6px);display:none;align-items:flex-start;justify-content:flex-end;opacity:0;transition:opacity .35s ease}
#svc-modal.open,#int-modal.open{display:flex;opacity:1}
#svc-panel,#int-panel{width:min(640px,96vw);height:100vh;background:var(--bg2);border-left:1px solid var(--b);overflow-y:auto;transform:translateX(100%);transition:transform .38s cubic-bezier(.4,0,.2,1);position:relative}
#svc-modal.open #svc-panel,#int-modal.open #int-panel{transform:translateX(0)}
#svc-panel-inner,#int-panel-inner{padding:48px 40px 80px}
.sp-close{position:sticky;top:0;z-index:10;display:flex;justify-content:flex-end;background:var(--bg2);padding:16px 0 8px;margin-bottom:8px;border-bottom:1px solid var(--b)}
.sp-close-btn{background:var(--bgc);border:1px solid var(--b);border-radius:var(--r-md);padding:8px 16px;color:var(--t2);font-family:var(--font-mono);font-size:11px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all var(--tf)}
.sp-close-btn:hover{border-color:var(--ap);color:var(--ap)}
.sp-num{font-family:var(--font-mono);font-size:11px;color:var(--ap);letter-spacing:.15em;margin-bottom:10px}
.sp-title{font-family:var(--font-display);font-weight:700;font-size:clamp(22px,3vw,32px);color:var(--t1);margin-bottom:16px;line-height:1.1;letter-spacing:-.01em}
.sp-lead{font-size:16px;color:var(--t2);line-height:1.8;margin-bottom:36px;padding-bottom:32px;border-bottom:1px solid var(--b)}
.sp-block{margin-bottom:32px}
.sp-block-title{font-family:var(--font-ui);font-weight:700;font-size:15px;color:var(--t1);margin-bottom:12px;display:flex;align-items:center;gap:8px}
.sp-block-title::before{content:'';width:3px;height:18px;background:var(--ap);border-radius:2px;flex-shrink:0}
.sp-list{display:flex;flex-direction:column;gap:8px}
.sp-item{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:var(--t2);line-height:1.6}
.sp-item::before{content:'→';color:var(--ap);flex-shrink:0;font-size:13px;margin-top:1px}
.sp-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}
.sp-tag{padding:5px 12px;background:var(--bgc);border:1px solid var(--b);border-radius:100px;font-family:var(--font-mono);font-size:10px;color:var(--t2)}
.sp-cta{margin-top:40px;padding-top:32px;border-top:1px solid var(--b);text-align:center}
.sp-cta p{font-size:15px;color:var(--t2);margin-bottom:20px}

/* Login modal */
#login-modal{position:fixed;inset:0;z-index:4000;background:rgba(0,0,0,.65);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}
#login-box{background:var(--bg2);border:1px solid var(--b);border-radius:var(--r-xl);padding:40px;width:min(400px,92vw);transform:scale(.92);transition:transform .3s cubic-bezier(.4,0,.2,1)}
