.pbm-modal{
  position:fixed !important;
  inset:0 !important;
  z-index:999999 !important;
  display:none !important;
  overflow:auto !important;
  padding:4vh 16px !important;
  -webkit-overflow-scrolling:touch;
}

.pbm-modal.is-open{
  display:grid !important;
  place-items:center !important;
}

.pbm-modalOverlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.68);
  backdrop-filter:blur(6px);
}

.pbm-modalPanel{
  position:relative;
  margin:auto;
  width:min(96vw,1120px);
  height:auto;
  max-height:none;
  overflow:visible;
  background:linear-gradient(180deg, rgba(6,10,16,.97) 0%, rgba(8,13,20,.95) 100%);
  border:1px solid rgba(255,255,255,.10);
  border-radius:28px;
  padding:26px 26px 20px;
  box-shadow:0 24px 70px rgba(0,0,0,.44);
  color:rgba(255,255,255,.92);
  z-index:2;
}

.pbm-modalClose{
  position:absolute;
  top:12px;
  right:12px;
  border:1px solid rgba(255,255,255,.10);
  width:44px;
  height:44px;
  border-radius:16px;
  cursor:pointer;
  background:rgba(255,255,255,.07);
  color:rgba(255,255,255,.90);
  font-size:20px;
  line-height:1;
  display:grid;
  place-items:center;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
  transition:background .2s ease, transform .2s ease, border-color .2s ease;
}

.pbm-modalClose:hover{
  background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.18);
  transform:translateY(-1px);
}

.pbm-modalClose:focus{
  outline:none;
  box-shadow:0 0 0 3px rgba(78,177,255,.16);
}

.pbm-modalTitle--grappling{
  font-size:clamp(38px, 4vw, 58px);
  line-height:1.02;
  letter-spacing:-.045em;
  margin:0 56px 8px 0;
  color:rgba(255,255,255,.98);
  text-align:center;
  text-wrap:balance;
  font-weight:900;
}

.pbm-modalSub{
  margin:0 auto 18px;
  max-width:62ch;
  font-size:17px;
  line-height:1.55;
  color:rgba(255,255,255,.76);
  text-align:center;
}

.pbm-modalSub strong{
  color:#fff;
  font-weight:800;
}

.pbm-modalFooter{
  margin-top:16px;
  font-size:12px;
  line-height:1.45;
  color:rgba(255,255,255,.60);
  text-align:center;
}

.pbm-modalBody{
  display:block;
  margin-top:12px;
}

.pbm-modalGrid{
  display:grid;
  grid-template-columns:minmax(560px,1.28fr) minmax(290px,.72fr);
  gap:24px;
  align-items:start;
}

.pbm-modalMain,
.pbm-modalAside{
  min-width:0;
}

.pbm-modalMain{
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.08);
  border-radius:22px;
  padding:18px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}

.pbm-modalAside{
  display:grid;
  gap:14px;
}

.pbm-asideBox{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:20px;
  padding:18px 18px 16px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}

.pbm-asideTitle{
  margin:0 0 8px;
  font-size:19px;
  line-height:1.2;
  letter-spacing:-.02em;
  color:rgba(255,255,255,.97);
  font-weight:850;
}

.pbm-asideText{
  margin:0;
  font-size:15px;
  line-height:1.65;
  color:rgba(255,255,255,.78);
}

.pbm-asideList{
  margin:10px 0 0;
  padding-left:20px;
  font-size:15px;
  line-height:1.75;
  color:rgba(255,255,255,.80);
}

.pbm-asideList li + li{
  margin-top:2px;
}

.pbm-asideList strong{
  color:#fff;
  font-weight:800;
}

.pbm-asideCTA{
  background:linear-gradient(180deg, rgba(14,82,134,.20) 0%, rgba(9,28,48,.34) 100%);
  border:1px solid rgba(78,177,255,.20);
}

.pbm-asideCTAline{
  font-size:15px;
  line-height:1.6;
  color:rgba(255,255,255,.90);
}

.pbm-asideCTAline strong{
  color:#fff;
}

.pbm-asideCTAline + .pbm-asideCTAline{
  margin-top:2px;
}

.pbm-asideNote{
  margin-top:8px;
  font-size:13px;
  line-height:1.5;
  color:rgba(255,255,255,.64);
}

#pbmFormMount,
#pbmFormMount .wpcf7,
#pbmFormMount .wpcf7 form{
  width:100% !important;
  max-width:none !important;
}

#pbmFormMount .screen-reader-response,
#pbmFormMount .hidden-fields-container{
  display:none !important;
}

#pbmFormMount .wpcf7{
  color:rgba(255,255,255,.92);
}

#pbmFormMount .wpcf7-form{
  margin:0 !important;
}

#pbmFormMount .wpcf7-form p{
  margin:0 !important;
}

#pbmFormMount .pbm-formGrid{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(260px, 1fr)) !important;
  gap:16px !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  align-items:start !important;
}

#pbmFormMount .pbm-field{
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
}

#pbmFormMount .pbm-field--full{
  grid-column:1 / -1 !important;
  width:100% !important;
  max-width:none !important;
}

#pbmFormMount .pbm-field > p,
#pbmFormMount .pbm-field--full > p{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
}

#pbmFormMount .pbm-field .wpcf7-form-control-wrap,
#pbmFormMount .wpcf7-form-control-wrap,
#pbmFormMount span.wpcf7-form-control-wrap{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  min-width:100% !important;
}

#pbmFormMount .wpcf7-form-control{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:100% !important;
  box-sizing:border-box !important;
}

#pbmFormMount input,
#pbmFormMount textarea,
#pbmFormMount select,
#pbmFormMount input.wpcf7-form-control,
#pbmFormMount textarea.wpcf7-form-control,
#pbmFormMount select.wpcf7-form-control,
#pbmFormMount input[name="your-name"],
#pbmFormMount input[name="your-email"],
#pbmFormMount input[name="your-phone"],
#pbmFormMount input[name="your-subject"],
#pbmFormMount textarea[name="your-message"]{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:100% !important;
  inline-size:100% !important;
  box-sizing:border-box !important;
  margin:0 !important;
  font-size:16px !important;
  line-height:1.4 !important;
  font-family:inherit !important;
}

#pbmFormMount input[type="text"],
#pbmFormMount input[type="email"],
#pbmFormMount input[type="tel"],
#pbmFormMount textarea,
#pbmFormMount input[name="your-name"],
#pbmFormMount input[name="your-email"],
#pbmFormMount input[name="your-phone"],
#pbmFormMount input[name="your-subject"],
#pbmFormMount textarea[name="your-message"]{
  appearance:none !important;
  -webkit-appearance:none !important;
  padding:16px 18px !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.075) !important;
  background-color:rgba(255,255,255,.075) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  color:rgba(255,255,255,.94) !important;
  outline:none !important;
  box-shadow:none !important;
  transition:border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

#pbmFormMount input::placeholder,
#pbmFormMount textarea::placeholder{
  color:rgba(255,255,255,.46) !important;
}

#pbmFormMount input:focus,
#pbmFormMount textarea:focus{
  border-color:rgba(78,177,255,.48) !important;
  background:rgba(255,255,255,.10) !important;
  box-shadow:0 0 0 3px rgba(78,177,255,.12) !important;
}

#pbmFormMount textarea,
#pbmFormMount textarea[name="your-message"]{
  width:100% !important;
  max-width:100% !important;
  min-width:100% !important;
  inline-size:100% !important;
  height:152px !important;
  min-height:152px !important;
  resize:vertical !important;
}

#pbmFormMount .pbm-submit,
#pbmFormMount input[type="submit"],
#pbmFormMount .pbm-field--full input[type="submit"]{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:100% !important;
  inline-size:100% !important;
  margin:0 !important;
  padding:17px 20px !important;
  border-radius:18px !important;
  border:1px solid rgba(78,177,255,.38) !important;
  background:linear-gradient(180deg, rgba(20,118,189,.38) 0%, rgba(10,83,136,.34) 100%) !important;
  color:rgba(244,251,255,1) !important;
  font-weight:850 !important;
  font-size:18px !important;
  letter-spacing:-.01em !important;
  cursor:pointer !important;
  box-shadow:0 14px 34px rgba(0,0,0,.24) !important;
}

#pbmFormMount .pbm-submit:hover,
#pbmFormMount input[type="submit"]:hover{
  background:linear-gradient(180deg, rgba(24,131,208,.44) 0%, rgba(12,95,154,.38) 100%) !important;
  transform:translateY(-1px);
  box-shadow:0 16px 36px rgba(0,0,0,.28);
}

#pbmFormMount .wpcf7-response-output{
  margin:12px 0 0 !important;
  border-radius:16px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  background:rgba(255,255,255,.05) !important;
  color:rgba(255,255,255,.88) !important;
  padding:14px 16px !important;
  text-align:center !important;
}

#pbmFormMount .wpcf7-not-valid-tip{
  margin-top:6px !important;
  font-size:12px !important;
  line-height:1.4 !important;
}

@media (max-width:980px){
  .pbm-modalPanel{
    width:min(96vw, 960px);
    padding:22px 20px 18px;
  }

  .pbm-modalGrid{
    grid-template-columns:1fr;
    gap:18px;
  }

  .pbm-modalTitle--grappling{
    font-size:clamp(34px, 6vw, 48px);
  }
}

@media (max-width:760px){
  #pbmFormMount .pbm-formGrid{
    grid-template-columns:1fr !important;
  }

  #pbmFormMount .pbm-field--full{
    grid-column:auto !important;
  }
}

@media (max-width:560px){
  .pbm-modal{
    padding:0 !important;
  }

  .pbm-modal.is-open{
    display:block !important;
  }

  .pbm-modalPanel{
    width:100vw;
    min-height:100svh;
    border-radius:0;
    padding:20px 16px 18px;
  }

  .pbm-modalTitle--grappling{
    margin-right:46px;
    font-size:clamp(30px, 9vw, 40px);
  }

  .pbm-modalSub{
    font-size:15px;
  }

  .pbm-modalMain{
    padding:14px;
    border-radius:18px;
  }

  .pbm-asideBox{
    padding:16px 14px 14px;
    border-radius:18px;
  }

  .pbm-asideTitle{
    font-size:18px;
  }

  #pbmFormMount textarea{
    min-height:120px !important;
    height:120px !important;
  }
}
