/* ══ MODAL — panel lateral ══ */

/* Overlay */
.modal-overlay{
  position:fixed;inset:0;z-index:300;
  background:rgba(4,15,24,0.75);
  backdrop-filter:blur(4px);
  opacity:0;visibility:hidden;
  transition:opacity 0.35s ease,visibility 0s linear 0.35s;
}
.modal-overlay.open{
  opacity:1;visibility:visible;
  transition:opacity 0.35s ease,visibility 0s linear 0s;
}

/* Panel */
.modal-panel{
  position:absolute;
  top:0;right:0;bottom:0;
  width:420px;
  background:#071f2e;
  border-left:2px solid rgba(5,200,216,0.85);
  box-shadow:-6px 0 0 rgba(5,200,216,0.06),-32px 0 80px rgba(0,0,0,0.8);
  display:flex;flex-direction:column;
  transform:translateX(100%);
  transition:transform 0.4s cubic-bezier(0.16,1,0.3,1);
}
.modal-overlay.open .modal-panel{
  transform:translateX(0);
}

/* Header */
.modal-header{
  background:#040f18;
  border-bottom:1px solid rgba(5,200,216,0.12);
  padding:18px 24px;
  display:flex;align-items:flex-start;justify-content:space-between;
  flex-shrink:0;
}
.modal-header-text{display:flex;flex-direction:column;gap:8px}
.modal-eyebrow{
  font-size:9px;letter-spacing:0.22em;text-transform:uppercase;
  color:#05c8d8;
}
.modal-heading{
  font-family:'JetBrains Mono',monospace;
  font-size:clamp(18px,2vw,26px);font-weight:500;
  line-height:1.15;color:#e8f8ff;
}
.modal-heading em{font-style:normal;color:#05c8d8}
.modal-close{
  width:28px;height:28px;flex-shrink:0;
  border:1px solid rgba(5,200,216,0.25);
  background:transparent;
  color:rgba(5,200,216,0.6);
  font-size:14px;line-height:1;
  cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:border-color 0.2s,color 0.2s,background 0.2s;
  font-family:'JetBrains Mono',monospace;
}
.modal-close:hover{border-color:#05c8d8;color:#fff;background:rgba(5,200,216,0.08)}

/* Cuerpo */
.modal-body{
  flex:1;overflow-y:auto;
  padding:32px 24px;
  scrollbar-width:none;
}
.modal-body::-webkit-scrollbar{display:none}
.modal-body p{
  font-size:15px;font-weight:300;
  color:rgba(191,241,244,0.75);
  line-height:1.9;
}
.modal-sep{
  width:32px;height:1px;
  background:rgba(5,200,216,0.3);
  margin:24px 0;
}
.modal-list{list-style:none;display:flex;flex-direction:column;gap:12px}
.modal-list li{
  font-size:11px;font-weight:300;
  color:rgba(255,255,255,0.55);
  display:flex;align-items:flex-start;gap:10px;line-height:1.6;
}
.modal-list li::before{content:'›';color:#05c8d8;flex-shrink:0}

/* Footer */
.modal-footer{
  background:#040f18;
  border-top:1px solid rgba(5,200,216,0.12);
  padding:18px 24px;
  flex-shrink:0;
}
.modal-cta{
  display:inline-block;font-family:'JetBrains Mono',monospace;
  font-size:11px;font-weight:300;color:#05c8d8;
  border:1px solid rgba(5,200,216,0.4);
  padding:12px 28px;letter-spacing:0.08em;
  cursor:pointer;transition:all 0.2s;
  text-decoration:none;background:transparent;
}
.modal-cta:hover{background:rgba(5,200,216,0.1);border-color:#05c8d8;color:#fff}

/* ══ RESPONSIVE ══ */
@media(max-width:900px){
  .modal-panel{
    width:100%;
    top:0;right:0;bottom:0;left:0;
    border-left:none;
    border-top:2px solid rgba(5,200,216,0.85);
    transform:translateY(100%);
  }
  .modal-overlay.open .modal-panel{transform:translateY(0)}
  .modal-body p{font-size:14px}
}