 .mcb-modal {
   position: fixed;
   inset: 0;
   display: flex;
   align-items: center;
   justify-content: center;
   opacity: 0;
   visibility: hidden;
   pointer-events: none;
   transition: opacity .35s ease, visibility .35s ease;
   z-index: 9999
 }

 .mcb-modal.is-open {
   opacity: 1;
   visibility: visible;
   pointer-events: auto
 }

 .mcb-modal__overlay {
   position: absolute;
   inset: 0;
   background: rgba(0, 0, 0, .6);
   opacity: 0;
   transition: opacity .35s ease
 }

 .mcb-modal.is-open .mcb-modal__overlay {
   opacity: 1
 }

 .mcb-modal__dialog {
   position: relative;
   background: #fff;
   width: 100%;
   max-width: 640px;
   border-radius: 16px;
   box-shadow: 0 10px 40px rgba(0, 0, 0, .2);
   padding: 28px;
   transform: translateY(24px);
   opacity: 0;
   transition: transform .35s ease, opacity .35s ease;
  will-change: transform, opacity;
  max-height: calc(100vh - 40px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  margin: 20px
 }

 .mcb-modal.is-open .mcb-modal__dialog {
   transform: translateY(0);
   opacity: 1
 }

 @media (max-width:575px) {
   .mcb-modal__dialog {
    width: 100vw;
    height: 100vh;
    max-height: 100vh;
    margin: 0;
    border-radius: 0;
    padding: calc(14px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom));
    transform: translateY(0)
   }
  .mcb-modal {
    align-items: stretch;
    justify-content: stretch
  }
  .mcb-form {
    grid-template-columns: 1fr;
    gap: 12px
  }
  .mcb-modal__header {
    position: sticky;
    top: 0;
    background: #fff;
    padding-bottom: 10px;
    z-index: 2
  }
  .mcb-modal__close{
    position: fixed;
    top: calc(8px + env(safe-area-inset-top));
    right: 10px;
    z-index: 10001;
    width: 40px;
    height: 40px;
    line-height: 40px;
    border-radius: 50%;
    background: rgba(255,255,255,.95);
    box-shadow: 0 2px 12px rgba(0,0,0,.15);
    color: #111;
  }
 }

 .mcb-modal__close {
   position: absolute;
   top: 10px;
   right: 12px;
   background: transparent;
   border: 0;
   font-size: 26px;
   line-height: 1;
   cursor: pointer;
   color: #333;
   width: 36px;
   height: 36px
 }

 .mcb-modal__header h3 {
   margin: 0 0 4px 0;
   font-size: 24px;
   line-height: 1.2;
   color: #111
 }

 .mcb-modal__subtitle {
   margin: 0 0 6px 0;
   font-size: 14px;
   color: #0a4f97
 }

 .mcb-modal__desc {
   margin: 0 0 18px 0;
   font-size: 14px;
   color: #555
 }

 .mcb-form {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 14px
 }

 .mcb-form__group {
   display: flex;
   flex-direction: column
 }

 .mcb-form__group label {
   font-size: 14px;
   margin-bottom: 6px;
   color: #222;
   font-weight: 600
 }

 .mcb-form__group input,
 .mcb-form__group select {
   height: 48px;
   border: 1px solid #e2e2e2;
   border-radius: 10px;
   padding: 0 14px;
   font-size: 14px;
   background: #fff;
   color: #111;
   outline: none
 }

 .mcb-form__group input:focus,
 .mcb-form__group select:focus {
   border-color: var(--color-primary)
 }

 .mcb-form__group input::placeholder {
   color: #999
 }

 .mcb-form__check {
   grid-column: 1/-1;
   display: flex;
   align-items: flex-start;
   gap: 10px;
   margin-top: 6px
 }

 .mcb-form__check input {
   margin-top: 4px
 }

 .mcb-form__check label {
   font-size: 13px;
   color: #333;
   line-height: 1.4
 }

 .mcb-form__actions {
   grid-column: 1/-1;
   margin-top: 6px
 }

 .mcb-form__actions .thm-btn-2 {
   width: 100%;
   justify-content: center
 }

 @media (max-width:767px) {
   .mcb-form {
     grid-template-columns: 1fr
   }
 }

 body.mcb-modal-open {
   overflow: hidden
 }

.mcb-form__group input:invalid,
.mcb-form__group select:invalid {
  border-color: #0a4f97
}

.mcb-form__check input:invalid + label {
  color: #0a4f97
}

.viteee-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  border: 1px solid rgba(255, 255, 255, .25);
  border-radius: 14px;
  color: #fff;
  text-decoration: none;
  background: #fff
}

.viteee-cta h3 {
  margin: 0;
  color: #fff;
  font-size: 18px;
  line-height: 1
}

.viteee-cta__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 10px;
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  border-radius: 999px;
  background: var(--color-primary);
  color: #fff;
  letter-spacing: .3px
}

.viteee-cta__arrow {
  display: inline-flex;
  color: #000
}

.viteee-cta__arrow svg {
  display: block
}

.viteee-cta:hover {
  background: #fff
  
}

@keyframes viteeeArrowNudge {
  0%, 100% {
    transform: translateX(0)
  }
  50% {
    transform: translateX(6px)
  }
}

.viteee-cta__arrow {
  animation: viteeeArrowNudge 1.4s ease-in-out infinite
}
