/* Contact r1: direct-open trial dialog for the Chinese page only. */

body.ll-shell[data-page="contact"]{
  min-height:100dvh;
  background:#edf4f9;
}

body.ct-r1-modal-open{
  overflow:hidden;
}

body.ct-r1-modal-open > .ll-header,
body.ct-r1-modal-open > .ll-mnav,
body.ct-r1-modal-open > .ll-footer{
  visibility:hidden;
}

.ct-r1-stage{
  position:relative;
  min-height:100dvh;
  overflow:hidden;
  background:#edf4f9;
}

.ct-r1-wave{
  position:fixed;
  z-index:0;
  inset:0;
  overflow:hidden;
  background:#f3f8fb;
  pointer-events:none;
}

.ct-r1-wave__canvas{
  display:block;
  width:100%;
  height:100%;
  opacity:0.88;
}

.ct-r1-modal-layer{
  position:fixed;
  z-index:160;
  inset:0;
  display:grid;
  place-items:center;
  padding:clamp(1rem,3vw,2rem);
  overflow:auto;
  background:rgba(238,245,249,0.22);
}

.ct-r1-modal-layer[hidden]{
  display:none;
}

.ct-r1-modal{
  position:relative;
  display:block;
  width:min(40rem,100%);
  max-height:calc(100dvh - clamp(1.5rem,4vw,3rem));
  overflow:auto;
  border:1px solid rgba(88,130,161,0.16);
  border-radius:8px;
  background:rgba(255,255,255,0.5);
  box-shadow:0 18px 46px rgba(29,72,106,0.09);
  overscroll-behavior:contain;
  animation:ct-r1-dialog-in 280ms ease-out both;
}

.ct-r1-modal__actions{
  position:absolute;
  z-index:3;
  top:1rem;
  right:1rem;
  display:flex;
  align-items:center;
  gap:0.45rem;
}

.ct-r1-modal__lang,
.ct-r1-modal__close{
  display:inline-grid;
  place-items:center;
  width:2.25rem;
  height:2.25rem;
  margin:0;
  padding:0;
  border:1px solid #d9e2e9;
  border-radius:50%;
  background:#fff;
  color:#263d50;
  font:inherit;
  font-size:0.76rem;
  font-weight:620;
  line-height:1;
  cursor:pointer;
  transition:border-color 200ms ease-out,background 200ms ease-out,transform 200ms ease-out;
}

.ct-r1-modal__close{
  font-size:1.35rem;
  font-weight:400;
}

.ct-r1-modal__lang:hover,
.ct-r1-modal__close:hover{
  border-color:#9fb9ce;
  background:#f4f8fb;
}

.ct-r1-modal__lang:active,
.ct-r1-modal__close:active{
  transform:scale(0.96);
}

.ct-r1-modal__lang:focus-visible,
.ct-r1-modal__close:focus-visible{
  outline:2px solid #0877cf;
  outline-offset:2px;
}

.ct-form.ct-r1-form{
  min-width:0;
  margin:3.75rem 1.5rem 1.5rem;
  padding:clamp(1.25rem,2vw,1.65rem);
  overflow:visible;
  border:0;
  border-radius:7px;
  background:rgba(245,249,251,0.48);
  animation:ct-r1-content-in 320ms 40ms ease-out both;
}

.ct-r1-form__head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1.15rem;
}

.ct-r1-kicker,
.ct-r1-form__head h2,
.ct-r1-required-note{
  margin:0;
}

.ct-r1-kicker{
  margin-bottom:0.25rem;
  color:#4e718b;
  font-size:0.7rem;
  font-weight:650;
  letter-spacing:0.1em;
}

.ct-r1-form__head h2{
  color:#172b3b;
  font-size:1.25rem;
  font-weight:620;
  line-height:1.3;
  letter-spacing:0;
}

.ct-r1-required-note{
  flex:0 0 auto;
  color:#788795;
  font-size:0.72rem;
}

.ct-r1-required-note span,
.ct-r1-required{
  color:#0877cf;
}

.ct-r1-form form{
  display:grid;
  gap:0.75rem;
}

.ct-r1-group-head > p{
  margin:0;
  padding:0;
  color:#354b5d;
  font-size:0.78rem;
  font-weight:600;
  line-height:1.4;
  letter-spacing:0;
}

.ct-r1-field-grid,
.ct-r1-contact-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0.65rem;
}

.ct-r1-field--wide{
  grid-column:1 / -1;
}

.ct-r1-form .ct-field{
  min-width:0;
}

.ct-r1-form .ct-field label{
  display:block;
  margin:0 0 0.3rem;
  color:#4a5d6d;
  font-size:0.72rem;
  font-weight:560;
  line-height:1.3;
}

.ct-r1-optional{
  margin-left:0.2rem;
  color:#8a97a1;
  font-size:0.66rem;
  font-weight:500;
}

.ct-r1-form .ct-field input,
.ct-r1-form .ct-field textarea{
  width:100%;
  min-height:2.55rem;
  margin:0;
  padding:0.58rem 0.7rem;
  border:1px solid #cfd9e1;
  border-radius:6px;
  outline:none;
  background:#fff;
  color:#172b3b;
  font:inherit;
  font-size:0.85rem;
  line-height:1.35;
  caret-color:#0877cf;
  transition:border-color 200ms ease-out,box-shadow 200ms ease-out,background 200ms ease-out;
}

.ct-r1-form .ct-field textarea{
  height:3.4rem;
  min-height:3.4rem;
  resize:vertical;
}

.ct-r1-form .ct-field input:hover,
.ct-r1-form .ct-field textarea:hover{
  border-color:#aabfce;
}

.ct-r1-form .ct-field input:focus,
.ct-r1-form .ct-field textarea:focus{
  border-color:#2789d4;
  box-shadow:0 0 0 3px rgba(8,119,207,0.11);
}

.ct-r1-form .ct-field input.is-invalid:not(:focus),
.ct-r1-form .ct-field textarea.is-invalid:not(:focus){
  border-color:#c36a6a;
  box-shadow:0 0 0 1px rgba(163,51,51,0.12);
}

.ct-r1-form .ct-field__error,
.ct-r1-form .ct-contact-error{
  margin:0.3rem 0 0;
  color:#9f3535;
  font-size:0.7rem;
  line-height:1.4;
  white-space:pre-line;
}

.ct-r1-form .ct-field__error{
  display:none;
}

.ct-r1-form .ct-field__error.is-visible{
  display:block;
}

.ct-r1-group-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:0.4rem;
}

.ct-r1-group-head > span{
  color:#7f8d99;
  font-size:0.68rem;
}

.ct-field__hint{
  margin:0.25rem 0 0;
  color:#87939d;
  font-size:0.66rem;
  line-height:1.4;
}

.ct-r1-form .ct-submit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:2.8rem;
  margin:0;
  padding:0 1rem;
  border:0;
  border-radius:6px;
  background:#0877cf;
  color:#fff;
  font:inherit;
  font-size:0.86rem;
  font-weight:620;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(0,93,169,0.12);
  transition:background 200ms ease-out,box-shadow 200ms ease-out,transform 200ms ease-out;
}

.ct-r1-form .ct-submit:hover{
  background:#0068b9;
  box-shadow:0 10px 22px rgba(0,93,169,0.17);
  transform:translateY(-1px);
}

.ct-r1-form .ct-submit:active{
  transform:translateY(0) scale(0.99);
}

.ct-r1-form .ct-submit:focus-visible{
  outline:2px solid #0877cf;
  outline-offset:3px;
}

.ct-r1-form .form-msg,
.ct-r1-form [data-form-message]{
  display:none;
  margin:0;
  padding:0.7rem 0.8rem;
  border:1px solid #b9d7ec;
  border-radius:6px;
  background:#edf7fd;
  color:#29465c;
  font-size:0.74rem;
  line-height:1.45;
  animation:ct-r1-feedback-in 200ms ease-out both;
}

.ct-r1-form .form-msg.is-visible,
.ct-r1-form [data-form-message].is-visible{
  display:block;
}

.ct-r1-privacy{
  margin:0;
  color:#7d8b96;
  font-size:0.67rem;
  line-height:1.45;
  text-align:center;
}

@keyframes ct-r1-dialog-in{
  from{transform:translateY(8px) scale(0.995)}
  to{transform:translateY(0) scale(1)}
}

@keyframes ct-r1-content-in{
  from{transform:translateY(4px)}
  to{transform:translateY(0)}
}

@keyframes ct-r1-feedback-in{
  from{opacity:0;transform:translateY(4px)}
  to{opacity:1;transform:translateY(0)}
}

@media (max-width:640px){
  .ct-r1-wave__canvas{
    opacity:0.78;
  }

  .ct-r1-modal-layer{
    display:block;
    padding:0;
    background:rgba(244,248,251,0.22);
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }

  .ct-r1-modal{
    display:flex;
    flex-direction:column;
    width:100%;
    min-height:100dvh;
    max-height:none;
    overflow:visible;
    border:0;
    border-radius:0;
    box-shadow:none;
    background:rgba(255,255,255,0.46);
  }

  .ct-r1-modal__actions{
    position:fixed;
    top:0.8rem;
    right:0.9rem;
  }

  .ct-form.ct-r1-form{
    margin:0;
    padding:4.25rem 1.25rem 2rem;
    border-radius:0;
    background:rgba(246,249,251,0.5);
  }

  .ct-r1-field-grid,
  .ct-r1-contact-grid{
    grid-template-columns:1fr;
  }

  .ct-r1-field--wide{
    grid-column:auto;
  }

  .ct-r1-form .ct-field input,
  .ct-r1-form .ct-field textarea{
    min-height:3rem;
    font-size:16px;
  }

  .ct-r1-form .ct-submit{
    min-height:3.1rem;
  }
}

@media (prefers-reduced-motion:reduce){
  .ct-r1-wave__canvas{
    opacity:0.55;
  }

  .ct-r1-modal-layer,
  .ct-r1-modal,
  .ct-form.ct-r1-form,
  .ct-r1-form .form-msg,
  .ct-r1-form [data-form-message]{
    animation:none;
  }

  .ct-r1-form .ct-submit,
  .ct-r1-modal__lang,
  .ct-r1-modal__close{
    transition:none;
  }
}
