/* =========================================================
   LAU-TAM EMAIL MODAL
   File: css/email-modal.css
   Scope: email modal only.
   Load after css/main.css, css/sidebar.css and css/footer.css.
   ========================================================= */

/* =========================================================
   EMAIL MODAL - LAU-TAM FINAL
   Full screen, aligned with the site's smoke/navy palette.
   ========================================================= */
.email-modal{
  position:fixed!important;
  inset:0!important;
  z-index:280!important;
  background:#E7EAEE!important;
  color:var(--text)!important;
  opacity:0!important;
  pointer-events:none!important;
  transition:opacity .26s ease!important;
  overflow:hidden!important;
}

.email-modal.open{
  opacity:1!important;
  pointer-events:auto!important;
}

.email-modal-panel{
  position:relative!important;
  width:100%!important;
  height:100svh!important;
  min-height:100svh!important;
  background:
    linear-gradient(
      135deg,
      #E7EAEE 0%,
      #F7F8FA 50%,
      #DDE2E8 100%
    )!important;
  color:var(--text)!important;
  padding:clamp(3rem,5.2vh,4.5rem) var(--page-pad) clamp(2.5rem,4.5vh,4rem) calc(var(--sb-w) + var(--page-pad))!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  transform:translateX(-18px)!important;
  transition:transform .42s var(--ease)!important;
  scrollbar-color:rgba(0,5,14,.28) #E7EAEE!important;
}

.email-modal.open .email-modal-panel{
  transform:translateX(0)!important;
}

.email-modal-panel::-webkit-scrollbar{
  width:8px!important;
}

.email-modal-panel::-webkit-scrollbar-track{
  background:#E7EAEE!important;
}

.email-modal-panel::-webkit-scrollbar-thumb{
  background:rgba(0,5,14,.28)!important;
  border-radius:999px!important;
}

.email-modal-close{
  position:fixed!important;
  top:clamp(1.4rem,3vh,2.4rem)!important;
  right:clamp(1.4rem,3vw,2.6rem)!important;
  z-index:5!important;
  width:44px!important;
  height:44px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-family:var(--fb)!important;
  font-size:2.05rem!important;
  font-weight:300!important;
  line-height:1!important;
  color:var(--text)!important;
  transition:transform .25s var(--ease), color .25s ease!important;
}

.email-modal-close:hover,
.email-modal-close:focus-visible{
  color:var(--navy)!important;
  transform:rotate(90deg)!important;
  outline:none!important;
}

.email-modal-title{
  font-family:var(--fd)!important;
  font-size:clamp(2.35rem,4.05vw,4.35rem)!important;
  font-weight:700!important;
  line-height:.98!important;
  letter-spacing:-.035em!important;
  max-width:980px!important;
  margin:0 0 clamp(2.1rem,3.8vh,3rem)!important;
  text-wrap:balance!important;
}

.email-modal-title::after{
  content:""!important;
  display:block!important;
  width:min(360px,42%)!important;
  height:1px!important;
  margin-top:1.15rem!important;
  background:linear-gradient(90deg,var(--gold),rgba(200,164,93,.36),transparent)!important;
}

.email-form{
  width:100%!important;
  max-width:980px!important;
}

.email-form-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:clamp(1.35rem,2.4vw,2rem)!important;
}

.email-field{
  display:flex!important;
  flex-direction:column!important;
  gap:.55rem!important;
  margin-bottom:1.25rem!important;
  font-size:.82rem!important;
  font-weight:800!important;
  color:var(--text)!important;
}

.email-field input,
.email-field textarea{
  width:100%!important;
  border:1px solid rgba(6,41,108,.08)!important;
  border-radius:0!important;
  background:rgba(255,255,255,.64)!important;
  color:var(--text)!important;
  font-family:var(--fb)!important;
  font-size:1rem!important;
  padding:1rem 1.05rem!important;
  outline:none!important;
  box-shadow:none!important;
  transition:background .18s ease, border-color .18s ease, box-shadow .18s ease!important;
}

.email-field input{
  height:54px!important;
}

.email-field input[type="file"]{
  height:54px!important;
  padding:.82rem 1.05rem!important;
  cursor:pointer!important;
}

.email-field textarea{
  min-height:clamp(145px,19vh,200px)!important;
  resize:vertical!important;
}

.email-field input:focus,
.email-field textarea:focus{
  background:#fff!important;
  border-color:rgba(6,41,108,.28)!important;
  box-shadow:inset 0 -2px 0 var(--navy)!important;
}

.email-consent{
  display:flex!important;
  align-items:flex-start!important;
  gap:.8rem!important;
  margin-top:.35rem!important;
  max-width:940px!important;
  font-size:.82rem!important;
  line-height:1.45!important;
  color:var(--text)!important;
}

.email-consent input{
  flex:0 0 auto!important;
  width:18px!important;
  height:18px!important;
  margin-top:.18rem!important;
  accent-color:var(--navy)!important;
}

.email-form-actions{
  display:flex!important;
  justify-content:flex-end!important;
  margin-top:1.45rem!important;
}

.email-send-btn{
  min-width:190px!important;
  height:58px!important;
  background:var(--navy)!important;
  color:var(--white)!important;
  font-size:.72rem!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
  font-weight:800!important;
  transition:background .22s ease, transform .22s var(--ease)!important;
}

.email-send-btn:hover,
.email-send-btn:focus-visible{
  background:var(--navy-dark)!important;
  transform:translateY(-2px)!important;
  outline:none!important;
}

@media (max-width:1100px){
.email-modal-panel{
    padding:5.5rem var(--page-pad) 4rem!important;
  }

.email-modal-title{
    font-size:clamp(2.35rem,6.2vw,3.85rem)!important;
    max-width:820px!important;
  }
}

@media (max-width:640px){
.email-modal-panel{
    height:100svh!important;
    min-height:100svh!important;
    padding:5.25rem 1.25rem 3.5rem!important;
  }

.email-modal-close{
    top:1rem!important;
    right:1rem!important;
  }

.email-modal-title{
    font-size:clamp(2.05rem,9.4vw,3.05rem)!important;
    line-height:1!important;
    margin-bottom:2rem!important;
  }

.email-modal-title::after{
    width:64%!important;
    margin-top:.95rem!important;
  }

.email-form-grid{
    grid-template-columns:1fr!important;
    gap:0!important;
  }

.email-field textarea{
    min-height:165px!important;
  }

.email-form-actions{
    justify-content:flex-start!important;
  }

.email-send-btn{
    width:100%!important;
  }
}

/* =========================================================
   EMAIL MODAL TITLE SPLIT + CLOSE BUTTON FINAL FIX
   Translatable action line, dynamic person name, stronger X.
   ========================================================= */
.email-modal-title{
  max-width:900px!important;
  margin-bottom:clamp(2.25rem,4vh,3.25rem)!important;
}

.email-modal-title::after{
  width:min(360px,42%)!important;
  margin-top:1.15rem!important;
}

.email-modal-title-action{
  display:none!important;
  font-family:var(--fd)!important;
  font-size:clamp(1.95rem,3.05vw,3.35rem)!important;
  font-weight:700!important;
  line-height:.98!important;
  letter-spacing:-.032em!important;
  color:var(--text)!important;
}

html[lang="es"] .email-modal-title-action[data-i18n="es"],
html[lang="en"] .email-modal-title-action[data-i18n="en"],
html[lang="zh"] .email-modal-title-action[data-i18n="zh"]{
  display:block!important;
}

.email-modal-title-name{
  display:block!important;
  margin-top:.18rem!important;
  font-family:var(--fd)!important;
  font-size:clamp(2.75rem,4.65vw,4.95rem)!important;
  font-weight:700!important;
  line-height:.92!important;
  letter-spacing:-.045em!important;
  color:var(--text)!important;
}

.email-modal-close{
  position:fixed!important;
  top:clamp(3.9rem,6.2vh,5.25rem)!important;
  right:clamp(3.25rem,5vw,5.75rem)!important;
  z-index:20!important;
  width:54px!important;
  height:54px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid rgba(0,5,14,.28)!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.72)!important;
  color:var(--navy-dark)!important;
  font-family:var(--fb)!important;
  font-size:0!important;
  line-height:1!important;
  box-shadow:0 14px 34px rgba(0,5,14,.10)!important;
  cursor:pointer!important;
  transition:
    background .22s ease,
    color .22s ease,
    border-color .22s ease,
    transform .28s var(--ease)!important;
}

.email-modal-close::before,
.email-modal-close::after{
  content:""!important;
  position:absolute!important;
  width:24px!important;
  height:2px!important;
  background:currentColor!important;
  border-radius:999px!important;
}

.email-modal-close::before{
  transform:rotate(45deg)!important;
}

.email-modal-close::after{
  transform:rotate(-45deg)!important;
}

.email-modal-close:hover,
.email-modal-close:focus-visible{
  background:var(--navy-dark)!important;
  color:var(--white)!important;
  border-color:var(--navy-dark)!important;
  transform:rotate(90deg)!important;
  outline:none!important;
}

@media (max-width:640px){
.email-modal-title-action{
    font-size:clamp(1.8rem,8.6vw,2.65rem)!important;
  }

.email-modal-title-name{
    font-size:clamp(2.35rem,11.4vw,3.55rem)!important;
  }

.email-modal-close{
    top:1rem!important;
    right:1rem!important;
    width:48px!important;
    height:48px!important;
  }

.email-modal-close::before,
.email-modal-close::after{
    width:21px!important;
  }
}

/* =========================================================
   EMAIL MODAL MINIMAL REBALANCE - FINAL
   Cleaner close button, lighter hierarchy, less loaded layout.
   Keep this as the last CSS block.
   ========================================================= */
.email-modal{
  background:#F4F6F8!important;
}

.email-modal-panel{
  background:
    linear-gradient(135deg,#F7F8FA 0%,#EEF2F5 52%,#E4E9EF 100%)!important;
  padding:
    clamp(3.4rem,5vh,4.8rem)
    clamp(4rem,7vw,7.5rem)
    clamp(3.5rem,5vh,5rem)
    calc(var(--sb-w) + clamp(4rem,7vw,7.5rem))!important;
}

.email-modal-close{
  position:fixed!important;
  top:clamp(3.2rem,5.2vh,4.4rem)!important;
  right:clamp(3.5rem,5.5vw,6rem)!important;
  z-index:20!important;
  width:34px!important;
  height:34px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  color:rgba(0,5,14,.72)!important;
  cursor:pointer!important;
  font-size:0!important;
  line-height:1!important;
  transition:
    color .18s ease,
    transform .22s var(--ease)!important;
}

.email-modal-close::before,
.email-modal-close::after{
  content:""!important;
  position:absolute!important;
  width:28px!important;
  height:1.5px!important;
  background:currentColor!important;
  border-radius:999px!important;
}

.email-modal-close::before{
  transform:rotate(45deg)!important;
}

.email-modal-close::after{
  transform:rotate(-45deg)!important;
}

.email-modal-close:hover,
.email-modal-close:focus-visible{
  color:var(--navy)!important;
  transform:rotate(90deg)!important;
  outline:none!important;
}

.email-modal-title{
  max-width:760px!important;
  margin-bottom:clamp(2.15rem,3.5vh,3rem)!important;
  padding-bottom:1.35rem!important;
  border-bottom:1px solid rgba(200,164,93,.62)!important;
}

.email-modal-title-action{
  display:block!important;
  font-family:var(--fd)!important;
  font-size:clamp(1.7rem,2.65vw,3rem)!important;
  font-weight:700!important;
  line-height:.98!important;
  letter-spacing:-.028em!important;
  color:var(--text)!important;
}

.email-modal-title-name{
  display:block!important;
  margin-top:.28rem!important;
  font-family:var(--fd)!important;
  font-size:clamp(2.55rem,4.1vw,4.65rem)!important;
  font-weight:700!important;
  line-height:.94!important;
  letter-spacing:-.04em!important;
  color:var(--text)!important;
}

.email-form{
  max-width:860px!important;
}

.email-form-grid{
  gap:clamp(1.25rem,2.2vw,1.75rem)!important;
}

.email-field{
  margin-bottom:1.05rem!important;
  gap:.48rem!important;
  font-size:.78rem!important;
  font-weight:800!important;
}

.email-field input,
.email-field textarea{
  background:rgba(255,255,255,.58)!important;
  border:1px solid rgba(6,41,108,.08)!important;
  font-size:.96rem!important;
  padding:.92rem 1rem!important;
}

.email-field input{
  height:50px!important;
}

.email-field input[type="file"]{
  height:50px!important;
  padding:.72rem 1rem!important;
}

.email-field textarea{
  min-height:clamp(130px,17vh,180px)!important;
}

.email-field input:focus,
.email-field textarea:focus{
  background:#fff!important;
  border-color:rgba(6,41,108,.26)!important;
  box-shadow:inset 0 -2px 0 var(--navy)!important;
}

.email-consent{
  max-width:860px!important;
  margin-top:.25rem!important;
  font-size:.78rem!important;
  color:#252A34!important;
}

.email-consent input{
  width:16px!important;
  height:16px!important;
}

.email-form-actions{
  margin-top:1.25rem!important;
}

.email-send-btn{
  min-width:168px!important;
  height:52px!important;
  background:var(--navy)!important;
  font-size:.68rem!important;
  letter-spacing:.18em!important;
}

.email-send-btn:hover,
.email-send-btn:focus-visible{
  background:var(--navy-dark)!important;
  transform:translateY(-1px)!important;
}

@media (max-width:1100px){
.email-modal-panel{
    padding:5.25rem var(--page-pad) 4rem!important;
  }

.email-modal-close{
    top:1.85rem!important;
    right:2rem!important;
  }

.email-modal-title{
    max-width:720px!important;
  }
}

@media (max-width:640px){
.email-modal-panel{
    padding:4.75rem 1.25rem 3.5rem!important;
  }

.email-modal-close{
    top:1.05rem!important;
    right:1.1rem!important;
    width:32px!important;
    height:32px!important;
  }

.email-modal-close::before,
.email-modal-close::after{
    width:24px!important;
  }

.email-modal-title-action{
    font-size:clamp(1.75rem,8.5vw,2.55rem)!important;
  }

.email-modal-title-name{
    font-size:clamp(2.35rem,11vw,3.45rem)!important;
  }
}

/* Only show the active language inside the email modal. */
.email-modal .email-modal-title-action,
.email-modal .email-field > span[data-i18n],
.email-modal .email-consent > span[data-i18n],
.email-modal .email-send-btn > span[data-i18n]{
  display:none!important;
}

html[lang="es"] .email-modal .email-modal-title-action[data-i18n="es"],
html[lang="en"] .email-modal .email-modal-title-action[data-i18n="en"],
html[lang="zh"] .email-modal .email-modal-title-action[data-i18n="zh"]{
  display:block!important;
}

html[lang="es"] .email-modal .email-field > span[data-i18n="es"],
html[lang="en"] .email-modal .email-field > span[data-i18n="en"],
html[lang="zh"] .email-modal .email-field > span[data-i18n="zh"],
html[lang="es"] .email-modal .email-consent > span[data-i18n="es"],
html[lang="en"] .email-modal .email-consent > span[data-i18n="en"],
html[lang="zh"] .email-modal .email-consent > span[data-i18n="zh"],
html[lang="es"] .email-modal .email-send-btn > span[data-i18n="es"],
html[lang="en"] .email-modal .email-send-btn > span[data-i18n="en"],
html[lang="zh"] .email-modal .email-send-btn > span[data-i18n="zh"]{
  display:inline!important;
}

/* Geometry shared by the modal content and close icon. */
.email-modal-panel{
  --email-pad:clamp(4rem,7vw,7.5rem);
  --email-content-max:860px;
}

/* Minimal close icon aligned to the form/content right edge. */
.email-modal .email-modal-close,
.email-modal .email-modal-close:hover,
.email-modal .email-modal-close:focus-visible,
.email-modal .email-modal-close:active{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  outline:none!important;
}

.email-modal .email-modal-close{
  position:fixed!important;
  top:clamp(3.2rem,5.2vh,4.4rem)!important;
  right:auto!important;
  left:calc(
    var(--sb-w) +
    var(--email-pad) +
    min(
      var(--email-content-max),
      calc(100vw - var(--sb-w) - var(--email-pad) - var(--email-pad))
    ) - 34px
  )!important;
  z-index:20!important;
  width:34px!important;
  height:34px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:rgba(0,5,14,.56)!important;
  cursor:pointer!important;
  font-size:0!important;
  line-height:1!important;
  transform:none!important;
  opacity:1!important;
  transition:color .18s ease, opacity .18s ease!important;
}

.email-modal .email-modal-close::before,
.email-modal .email-modal-close::after{
  content:""!important;
  position:absolute!important;
  width:28px!important;
  height:1.5px!important;
  background:currentColor!important;
  border-radius:999px!important;
}

.email-modal .email-modal-close::before{
  transform:rotate(45deg)!important;
}

.email-modal .email-modal-close::after{
  transform:rotate(-45deg)!important;
}

.email-modal .email-modal-close:hover,
.email-modal .email-modal-close:focus-visible{
  color:var(--navy)!important;
  transform:none!important;
  opacity:1!important;
}

.email-modal .email-modal-close:active{
  color:var(--navy-dark)!important;
  transform:none!important;
}

@media (max-width:1100px){
.email-modal .email-modal-close{
    top:1.85rem!important;
    left:auto!important;
    right:2rem!important;
  }
}

@media (max-width:640px){
.email-modal .email-modal-close{
    top:1.05rem!important;
    left:auto!important;
    right:1.1rem!important;
    width:32px!important;
    height:32px!important;
  }

.email-modal .email-modal-close::before,
.email-modal .email-modal-close::after{
    width:24px!important;
  }
}

/* Send button: fixed position, left-to-right email-sent sweep. */
.email-send-btn{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
  background:var(--navy)!important;
  color:var(--white)!important;
  transform:none!important;
  box-shadow:none!important;
  transition:background .22s ease, color .22s ease!important;
}

.email-send-btn > span{
  position:relative!important;
  z-index:3!important;
}

.email-send-btn::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  background:linear-gradient(
    110deg,
    transparent 0%,
    transparent 38%,
    rgba(255,255,255,.28) 48%,
    rgba(200,164,93,.36) 52%,
    transparent 64%,
    transparent 100%
  )!important;
  transform:translateX(-120%) skewX(-16deg)!important;
  transition:transform .72s var(--ease)!important;
  pointer-events:none!important;
}

.email-send-btn::after{
  content:""!important;
  position:absolute!important;
  left:22px!important;
  top:50%!important;
  z-index:2!important;
  width:22px!important;
  height:1.5px!important;
  background:currentColor!important;
  opacity:0!important;
  transform:translate(-18px,-50%) scaleX(.35)!important;
  transform-origin:left!important;
  transition:opacity .18s ease, transform .62s var(--ease)!important;
  pointer-events:none!important;
}

.email-send-btn:hover,
.email-send-btn:focus-visible{
  background:var(--navy-dark)!important;
  transform:none!important;
  outline:none!important;
}

.email-send-btn:hover::before,
.email-send-btn:focus-visible::before{
  transform:translateX(120%) skewX(-16deg)!important;
}

.email-send-btn:hover::after,
.email-send-btn:focus-visible::after{
  opacity:.72!important;
  transform:translate(122px,-50%) scaleX(1)!important;
}

.email-send-btn:active{
  transform:none!important;
  background:var(--navy-dark)!important;
}

.email-send-btn.is-sending::before{
  animation:emailSendSweep .82s var(--ease) both!important;
}

.email-send-btn.is-sending::after{
  animation:emailSendLine .82s var(--ease) both!important;
}

@keyframes emailSendSweep{
  0%{transform:translateX(-120%) skewX(-16deg);}
  100%{transform:translateX(120%) skewX(-16deg);}
}

@keyframes emailSendLine{
  0%{opacity:0;transform:translate(-18px,-50%) scaleX(.35);}
  18%{opacity:.8;}
  100%{opacity:0;transform:translate(122px,-50%) scaleX(1);}
}

/* Remove title separator line completely */
.email-modal-title{
  border-bottom:0!important;
  padding-bottom:0!important;
}

.email-modal-title::before,
.email-modal-title::after{
  display:none!important;
  content:none!important;
}

/* Language visibility inside modal */
.email-modal .email-modal-title-action,
.email-modal .email-field > span[data-i18n],
.email-modal .email-consent > span[data-i18n],
.email-modal .email-send-btn > span[data-i18n],
.email-modal .email-attachment-copy > span[data-i18n],
.email-modal .email-attachment-name > span[data-i18n]{
  display:none!important;
}

html[lang="es"] .email-modal .email-modal-title-action[data-i18n="es"],
html[lang="en"] .email-modal .email-modal-title-action[data-i18n="en"],
html[lang="zh"] .email-modal .email-modal-title-action[data-i18n="zh"]{
  display:block!important;
}

html[lang="es"] .email-modal .email-field > span[data-i18n="es"],
html[lang="en"] .email-modal .email-field > span[data-i18n="en"],
html[lang="zh"] .email-modal .email-field > span[data-i18n="zh"],
html[lang="es"] .email-modal .email-consent > span[data-i18n="es"],
html[lang="en"] .email-modal .email-consent > span[data-i18n="en"],
html[lang="zh"] .email-modal .email-consent > span[data-i18n="zh"],
html[lang="es"] .email-modal .email-send-btn > span[data-i18n="es"],
html[lang="en"] .email-modal .email-send-btn > span[data-i18n="en"],
html[lang="zh"] .email-modal .email-send-btn > span[data-i18n="zh"],
html[lang="es"] .email-modal .email-attachment-copy > span[data-i18n="es"],
html[lang="en"] .email-modal .email-attachment-copy > span[data-i18n="en"],
html[lang="zh"] .email-modal .email-attachment-copy > span[data-i18n="zh"],
html[lang="es"] .email-modal .email-attachment-name > span[data-i18n="es"],
html[lang="en"] .email-modal .email-attachment-name > span[data-i18n="en"],
html[lang="zh"] .email-modal .email-attachment-name > span[data-i18n="zh"]{
  display:inline!important;
}

/* Custom attachment control */
.email-attachment-field{
  position:relative!important;
}

.email-attachment-input{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
  overflow:hidden!important;
}

.email-attachment-control{
  width:100%!important;
  min-height:50px!important;
  display:flex!important;
  align-items:center!important;
  gap:.85rem!important;
  padding:.9rem 1rem!important;
  background:rgba(255,255,255,.58)!important;
  border:1px solid rgba(6,41,108,.08)!important;
  color:rgba(0,5,14,.56)!important;
  cursor:pointer!important;
  transition:
    background .18s ease,
    border-color .18s ease,
    color .18s ease!important;
}

.email-attachment-icon{
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:rgba(0,5,14,.42)!important;
  transition:color .18s ease, transform .24s var(--ease)!important;
}

.email-attachment-copy{
  flex:0 0 auto!important;
  font-size:.9rem!important;
  font-weight:700!important;
  color:rgba(0,5,14,.72)!important;
}

.email-attachment-name{
  min-width:0!important;
  flex:1 1 auto!important;
  font-size:.86rem!important;
  font-weight:500!important;
  color:rgba(0,5,14,.46)!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
}

.email-attachment-control:hover,
.email-attachment-control:focus-visible,
.email-attachment-field:focus-within .email-attachment-control{
  background:#fff!important;
  border-color:rgba(6,41,108,.24)!important;
  color:var(--navy)!important;
  outline:none!important;
}

.email-attachment-control:hover .email-attachment-icon,
.email-attachment-control:focus-visible .email-attachment-icon,
.email-attachment-field:focus-within .email-attachment-icon{
  color:var(--navy)!important;
  transform:translateY(-1px)!important;
}

/* Close X: minimal, but with clear close affordance */
.email-modal .email-modal-close,
.email-modal .email-modal-close:hover,
.email-modal .email-modal-close:focus-visible,
.email-modal .email-modal-close:active{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  outline:none!important;
}

.email-modal .email-modal-close{
  position:fixed!important;
  width:38px!important;
  height:38px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:rgba(0,5,14,.56)!important;
  cursor:pointer!important;
  font-size:0!important;
  line-height:1!important;
  transform:none!important;
  transition:
    color .18s ease,
    transform .28s var(--ease),
    box-shadow .22s ease!important;
}

.email-modal .email-modal-close::before,
.email-modal .email-modal-close::after{
  content:""!important;
  position:absolute!important;
  width:27px!important;
  height:1.6px!important;
  background:currentColor!important;
  border-radius:999px!important;
  transition:
    width .24s var(--ease),
    height .18s ease,
    transform .28s var(--ease),
    background .18s ease!important;
}

.email-modal .email-modal-close::before{
  transform:rotate(45deg)!important;
}

.email-modal .email-modal-close::after{
  transform:rotate(-45deg)!important;
}

.email-modal .email-modal-close:hover,
.email-modal .email-modal-close:focus-visible{
  color:var(--navy)!important;
  transform:rotate(90deg)!important;
  box-shadow:0 0 0 1px rgba(6,41,108,.16)!important;
  border-radius:50%!important;
}

.email-modal .email-modal-close:hover::before,
.email-modal .email-modal-close:focus-visible::before,
.email-modal .email-modal-close:hover::after,
.email-modal .email-modal-close:focus-visible::after{
  width:32px!important;
  height:2px!important;
}

.email-modal .email-modal-close:active{
  color:var(--navy-dark)!important;
  transform:scale(.96)!important;
}

/* Send button: static button with left-to-right loading bar */
.email-send-btn{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
  background:var(--navy)!important;
  color:var(--white)!important;
  transform:none!important;
  box-shadow:none!important;
  transition:
    background .18s ease,
    color .18s ease!important;
}

.email-send-btn > span{
  position:relative!important;
  z-index:2!important;
}

.email-send-btn:hover,
.email-send-btn:focus-visible,
.email-send-btn:active{
  transform:none!important;
  outline:none!important;
  background:var(--navy-dark)!important;
}

.email-send-btn::before,
.email-send-btn::after{
  content:""!important;
  position:absolute!important;
  pointer-events:none!important;
}

.email-send-btn::before{
  left:0!important;
  bottom:0!important;
  top:auto!important;
  z-index:3!important;
  width:100%!important;
  height:3px!important;
  background:linear-gradient(
    90deg,
    rgba(200,164,93,.95),
    rgba(255,255,255,.88)
  )!important;
  transform:scaleX(0)!important;
  transform-origin:left!important;
  transition:transform .72s var(--ease)!important;
}

.email-send-btn::after{
  inset:0!important;
  z-index:1!important;
  background:linear-gradient(
    90deg,
    rgba(255,255,255,.08),
    rgba(255,255,255,.16),
    rgba(255,255,255,.04)
  )!important;
  opacity:0!important;
  transform:translateX(-100%)!important;
}

.email-send-btn:hover::before,
.email-send-btn:focus-visible::before{
  transform:scaleX(.32)!important;
}

.email-send-btn.is-sending{
  background:var(--navy-dark)!important;
  pointer-events:none!important;
}

.email-send-btn.is-sending::before{
  animation:emailSendProgressFinal .86s var(--ease) forwards!important;
}

.email-send-btn.is-sending::after{
  opacity:1!important;
  animation:emailSendGlowFinal .86s var(--ease) forwards!important;
}

@keyframes emailSendProgressFinal{
  0%{transform:scaleX(0);}
  72%{transform:scaleX(.82);}
  100%{transform:scaleX(1);}
}

@keyframes emailSendGlowFinal{
  0%{opacity:0;transform:translateX(-100%);}
  18%{opacity:1;}
  100%{opacity:0;transform:translateX(100%);}
}

@media (max-width:640px){
.email-attachment-control{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:.4rem!important;
  }

.email-attachment-name{
    width:100%!important;
  }

.email-modal .email-modal-close{
    width:32px!important;
    height:32px!important;
  }

.email-modal .email-modal-close::before,
.email-modal .email-modal-close::after{
    width:24px!important;
  }
}

/* Removes any remaining title separator. */
.email-modal-title{
  border-bottom:0!important;
  padding-bottom:0!important;
}

.email-modal-title::before,
.email-modal-title::after{
  display:none!important;
  content:none!important;
}

/* Shows only the active language inside the email modal. */
.email-modal .email-modal-title-action,
.email-modal .email-field > span[data-i18n],
.email-modal .email-consent > span[data-i18n],
.email-modal .email-send-btn > span[data-i18n],
.email-modal .email-attachment-copy > span[data-i18n],
.email-modal .email-attachment-name > span[data-i18n]{
  display:none!important;
}

html[lang="es"] .email-modal .email-modal-title-action[data-i18n="es"],
html[lang="en"] .email-modal .email-modal-title-action[data-i18n="en"],
html[lang="zh"] .email-modal .email-modal-title-action[data-i18n="zh"]{
  display:block!important;
}

html[lang="es"] .email-modal .email-field > span[data-i18n="es"],
html[lang="en"] .email-modal .email-field > span[data-i18n="en"],
html[lang="zh"] .email-modal .email-field > span[data-i18n="zh"],
html[lang="es"] .email-modal .email-consent > span[data-i18n="es"],
html[lang="en"] .email-modal .email-consent > span[data-i18n="en"],
html[lang="zh"] .email-modal .email-consent > span[data-i18n="zh"],
html[lang="es"] .email-modal .email-send-btn > span[data-i18n="es"],
html[lang="en"] .email-modal .email-send-btn > span[data-i18n="en"],
html[lang="zh"] .email-modal .email-send-btn > span[data-i18n="zh"],
html[lang="es"] .email-modal .email-attachment-copy > span[data-i18n="es"],
html[lang="en"] .email-modal .email-attachment-copy > span[data-i18n="en"],
html[lang="zh"] .email-modal .email-attachment-copy > span[data-i18n="zh"],
html[lang="es"] .email-modal .email-attachment-name > span[data-i18n="es"],
html[lang="en"] .email-modal .email-attachment-name > span[data-i18n="en"],
html[lang="zh"] .email-modal .email-attachment-name > span[data-i18n="zh"]{
  display:inline!important;
}

/* Privacy policy link inside consent. */
.email-privacy-link{
  color:var(--navy)!important;
  font-weight:800!important;
  text-decoration:none!important;
  border-bottom:1px solid rgba(6,41,108,.36)!important;
  transition:
    color .18s ease,
    border-color .18s ease!important;
}

.email-privacy-link:hover,
.email-privacy-link:focus-visible{
  color:var(--gold)!important;
  border-color:var(--gold)!important;
  outline:none!important;
}

/* Send button: darken only. No loading bar, no white sweep. */
.email-send-btn::before,
.email-send-btn::after{
  display:none!important;
  content:none!important;
  animation:none!important;
  transition:none!important;
  opacity:0!important;
  transform:none!important;
}

.email-send-btn{
  background:var(--navy)!important;
  color:var(--white)!important;
  transform:none!important;
  box-shadow:none!important;
  transition:
    background .22s ease,
    opacity .22s ease!important;
}

.email-send-btn:hover,
.email-send-btn:focus-visible{
  background:var(--navy-dark)!important;
  transform:none!important;
  outline:none!important;
}

.email-send-btn:active,
.email-send-btn.is-sending{
  background:var(--navy-dark)!important;
  transform:none!important;
}

.email-send-btn.is-sending{
  pointer-events:none!important;
}

.email-send-btn.is-sending span{
  opacity:.82!important;
}

/* Close X: keep visible hover effect, remove circular shadow/ring/background. */
.email-modal-close,
.email-modal-close:hover,
.email-modal-close:focus-visible,
.email-modal-close:active{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
  outline:none!important;
}

.email-modal-close{
  color:rgba(0,5,14,.56)!important;
  transform:none!important;
  transition:color .18s ease!important;
}

.email-modal-close::before,
.email-modal-close::after{
  background:currentColor!important;
  transition:
    width .22s var(--ease),
    height .18s ease,
    color .18s ease!important;
}

.email-modal-close:hover,
.email-modal-close:focus-visible{
  color:var(--navy)!important;
  transform:none!important;
}

.email-modal-close:hover::before,
.email-modal-close:focus-visible::before,
.email-modal-close:hover::after,
.email-modal-close:focus-visible::after{
  width:32px!important;
  height:2px!important;
}

/* Remove any remaining title separator line. */
.email-modal-title{
  border-bottom:0!important;
  padding-bottom:0!important;
}

.email-modal-title::before,
.email-modal-title::after{
  display:none!important;
  content:none!important;
}

/* X: no circle, no ring, no background, no shadow. */
.email-modal .email-modal-close,
.email-modal .email-modal-close:hover,
.email-modal .email-modal-close:focus-visible,
.email-modal .email-modal-close:active{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
  outline:none!important;
}

.email-modal .email-modal-close{
  width:36px!important;
  height:36px!important;
  color:rgba(0,5,14,.52)!important;
  transform:none!important;
  transition:color .18s ease, transform .22s var(--ease)!important;
}

.email-modal .email-modal-close::before,
.email-modal .email-modal-close::after{
  width:28px!important;
  height:1.5px!important;
  background:currentColor!important;
}

.email-modal .email-modal-close:hover,
.email-modal .email-modal-close:focus-visible{
  color:var(--navy)!important;
  transform:scale(1.08)!important;
}

.email-modal .email-modal-close:active{
  transform:scale(.96)!important;
}

/* Attachment: label already says Attachment/Adjunto, so the bar is icon-only until a file is selected. */
.email-attachment-control{
  width:100%!important;
  min-height:50px!important;
  display:flex!important;
  align-items:center!important;
  gap:.75rem!important;
  padding:.85rem 1rem!important;
  background:rgba(255,255,255,.58)!important;
  border:1px solid rgba(6,41,108,.08)!important;
  color:rgba(0,5,14,.56)!important;
  cursor:pointer!important;
  transition:background .18s ease, border-color .18s ease, color .18s ease!important;
}

.email-attachment-icon{
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:rgba(0,5,14,.48)!important;
  transition:color .18s ease!important;
}

.email-attachment-copy{
  display:none!important;
}

.email-attachment-name{
  min-width:0!important;
  flex:1 1 auto!important;
  font-size:.84rem!important;
  font-weight:500!important;
  color:rgba(0,5,14,.42)!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
}

.email-attachment-name:empty{
  display:none!important;
}

.email-attachment-control:hover,
.email-attachment-control:focus-visible,
.email-attachment-field:focus-within .email-attachment-control{
  background:#fff!important;
  border-color:rgba(6,41,108,.24)!important;
  color:var(--navy)!important;
  outline:none!important;
}

.email-attachment-control:hover .email-attachment-icon,
.email-attachment-control:focus-visible .email-attachment-icon,
.email-attachment-field:focus-within .email-attachment-icon{
  color:var(--navy)!important;
  transform:none!important;
}

/* Send button: darken only. No white sweep, no loading bar. */
.email-send-btn::before,
.email-send-btn::after{
  display:none!important;
  content:none!important;
  animation:none!important;
  transition:none!important;
  opacity:0!important;
  transform:none!important;
}

.email-send-btn{
  background:var(--navy)!important;
  color:var(--white)!important;
  transform:none!important;
  box-shadow:none!important;
  transition:background .22s ease, opacity .22s ease!important;
}

.email-send-btn:hover,
.email-send-btn:focus-visible,
.email-send-btn:active,
.email-send-btn.is-sending{
  background:var(--navy-dark)!important;
  transform:none!important;
  outline:none!important;
}

.email-send-btn.is-sending{
  pointer-events:none!important;
}

.email-send-btn.is-sending span{
  opacity:.82!important;
}

/* Consent checkbox: custom, cleaner checked state. */
.email-consent input[type="checkbox"]{
  appearance:none!important;
  -webkit-appearance:none!important;
  position:relative!important;
  flex:0 0 auto!important;
  width:18px!important;
  height:18px!important;
  margin-top:.1rem!important;
  border:1.4px solid rgba(0,5,14,.42)!important;
  background:transparent!important;
  border-radius:2px!important;
  cursor:pointer!important;
  transition:background .18s ease, border-color .18s ease, box-shadow .18s ease!important;
}

.email-consent input[type="checkbox"]::after{
  content:""!important;
  position:absolute!important;
  left:5px!important;
  top:2px!important;
  width:5px!important;
  height:9px!important;
  border:solid var(--white)!important;
  border-width:0 1.7px 1.7px 0!important;
  opacity:0!important;
  transform:rotate(45deg) scale(.65)!important;
  transition:opacity .14s ease, transform .18s var(--ease)!important;
}

.email-consent input[type="checkbox"]:hover{
  border-color:var(--navy)!important;
}

.email-consent input[type="checkbox"]:focus-visible{
  outline:none!important;
  box-shadow:0 0 0 3px rgba(6,41,108,.13)!important;
}

.email-consent input[type="checkbox"]:checked{
  background:var(--navy)!important;
  border-color:var(--navy)!important;
}

.email-consent input[type="checkbox"]:checked::after{
  opacity:1!important;
  transform:rotate(45deg) scale(1)!important;
}

/* Privacy link: opens in new tab from HTML; visual effect is only a subtle underline. */
.email-privacy-link{
  position:relative!important;
  color:var(--navy)!important;
  font-weight:800!important;
  text-decoration:none!important;
  border-bottom:0!important;
  background-image:linear-gradient(90deg,rgba(6,41,108,.38),rgba(6,41,108,.38))!important;
  background-repeat:no-repeat!important;
  background-size:100% 1px!important;
  background-position:0 100%!important;
  transition:color .18s ease, background-size .24s var(--ease), background-image .18s ease!important;
}

.email-privacy-link:hover,
.email-privacy-link:focus-visible{
  color:var(--navy-dark)!important;
  background-size:100% 2px!important;
  outline:none!important;
}

/* Active language visibility inside email modal. */
.email-modal .email-modal-title-action,
.email-modal .email-field > span[data-i18n],
.email-modal .email-consent > span[data-i18n],
.email-modal .email-send-btn > span[data-i18n],
.email-modal .email-attachment-copy > span[data-i18n],
.email-modal .email-attachment-name > span[data-i18n]{
  display:none!important;
}

html[lang="es"] .email-modal .email-modal-title-action[data-i18n="es"],
html[lang="en"] .email-modal .email-modal-title-action[data-i18n="en"],
html[lang="zh"] .email-modal .email-modal-title-action[data-i18n="zh"]{
  display:block!important;
}

html[lang="es"] .email-modal .email-field > span[data-i18n="es"],
html[lang="en"] .email-modal .email-field > span[data-i18n="en"],
html[lang="zh"] .email-modal .email-field > span[data-i18n="zh"],
html[lang="es"] .email-modal .email-consent > span[data-i18n="es"],
html[lang="en"] .email-modal .email-consent > span[data-i18n="en"],
html[lang="zh"] .email-modal .email-consent > span[data-i18n="zh"],
html[lang="es"] .email-modal .email-send-btn > span[data-i18n="es"],
html[lang="en"] .email-modal .email-send-btn > span[data-i18n="en"],
html[lang="zh"] .email-modal .email-send-btn > span[data-i18n="zh"],
html[lang="es"] .email-modal .email-attachment-copy > span[data-i18n="es"],
html[lang="en"] .email-modal .email-attachment-copy > span[data-i18n="en"],
html[lang="zh"] .email-modal .email-attachment-copy > span[data-i18n="zh"],
html[lang="es"] .email-modal .email-attachment-name > span[data-i18n="es"],
html[lang="en"] .email-modal .email-attachment-name > span[data-i18n="en"],
html[lang="zh"] .email-modal .email-attachment-name > span[data-i18n="zh"]{
  display:inline!important;
}

@media (max-width:640px){
.email-attachment-control{
    flex-direction:row!important;
    align-items:center!important;
  }
}

/* =========================================================
   EMAIL MODAL OPEN/CLOSE MOTION - FINAL SLOWER
   Opens from lower-left corner upward.
   Closes back into the same corner.
   Slower, smoother timing to reduce visual dizziness.
   ========================================================= */
.email-modal{
  opacity:1!important;
  pointer-events:none!important;
  clip-path:circle(0% at var(--sb-w) 100%)!important;
  transition:clip-path 1.08s var(--ease)!important;
  will-change:clip-path!important;
}

.email-modal.open{
  pointer-events:auto!important;
  clip-path:circle(150% at var(--sb-w) 100%)!important;
}

.email-modal.is-closing{
  pointer-events:none!important;
  clip-path:circle(0% at var(--sb-w) 100%)!important;
}

.email-modal-panel{
  transform:none!important;
  opacity:0!important;
  transition:opacity .42s ease .34s!important;
}

.email-modal.open .email-modal-panel{
  transform:none!important;
  opacity:1!important;
}

.email-modal.is-closing .email-modal-panel{
  opacity:0!important;
  transition:opacity .24s ease!important;
}

@media (max-width:640px){
.email-modal{
    clip-path:circle(0% at 0 100%)!important;
    transition:clip-path .98s var(--ease)!important;
  }

.email-modal.open{
    clip-path:circle(155% at 0 100%)!important;
  }

.email-modal.is-closing{
    clip-path:circle(0% at 0 100%)!important;
  }
}

/* Remove old title separator completely */
.email-modal-title{
  border-bottom:0!important;
  padding-bottom:0!important;
}

.email-modal-title::before,
.email-modal-title::after{
  display:none!important;
  content:none!important;
}

/* Language visibility inside email modal */
.email-modal .email-modal-title-action,
.email-modal .email-field > span[data-i18n],
.email-modal .email-consent > span[data-i18n],
.email-modal .email-send-btn > span[data-i18n],
.email-modal .email-success [data-i18n]{
  display:none!important;
}

html[lang="es"] .email-modal .email-modal-title-action[data-i18n="es"],
html[lang="en"] .email-modal .email-modal-title-action[data-i18n="en"],
html[lang="zh"] .email-modal .email-modal-title-action[data-i18n="zh"]{
  display:block!important;
}

html[lang="es"] .email-modal .email-field > span[data-i18n="es"],
html[lang="en"] .email-modal .email-field > span[data-i18n="en"],
html[lang="zh"] .email-modal .email-field > span[data-i18n="zh"],
html[lang="es"] .email-modal .email-consent > span[data-i18n="es"],
html[lang="en"] .email-modal .email-consent > span[data-i18n="en"],
html[lang="zh"] .email-modal .email-consent > span[data-i18n="zh"],
html[lang="es"] .email-modal .email-send-btn > span[data-i18n="es"],
html[lang="en"] .email-modal .email-send-btn > span[data-i18n="en"],
html[lang="zh"] .email-modal .email-send-btn > span[data-i18n="zh"]{
  display:inline!important;
}

html[lang="es"] .email-modal .email-success [data-i18n="es"],
html[lang="en"] .email-modal .email-success [data-i18n="en"],
html[lang="zh"] .email-modal .email-success [data-i18n="zh"]{
  display:block!important;
}

/* Minimal X: no circle, no ring, no background, no shadow */
.email-modal-close,
.email-modal-close:hover,
.email-modal-close:focus-visible,
.email-modal-close:active{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
  outline:none!important;
}

.email-modal-close{
  width:36px!important;
  height:36px!important;
  color:rgba(0,5,14,.52)!important;
  transform:none!important;
  transition:color .18s ease, transform .22s var(--ease)!important;
}

.email-modal-close::before,
.email-modal-close::after{
  width:28px!important;
  height:1.5px!important;
  background:currentColor!important;
}

.email-modal-close:hover,
.email-modal-close:focus-visible{
  color:var(--navy)!important;
  transform:scale(1.08)!important;
}

.email-modal-close:active{
  transform:scale(.96)!important;
}

/* Attachment: icon-only until a file is selected */
.email-attachment-control{
  min-height:50px!important;
  padding:.85rem 1rem!important;
  gap:.75rem!important;
}

.email-attachment-copy{
  display:none!important;
}

.email-attachment-icon{
  color:rgba(0,5,14,.48)!important;
}

.email-attachment-name{
  min-width:0!important;
  flex:1 1 auto!important;
  font-size:.84rem!important;
  font-weight:500!important;
  color:rgba(0,5,14,.42)!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
}

.email-attachment-name:empty{
  display:none!important;
}

.email-attachment-control:hover .email-attachment-icon,
.email-attachment-control:focus-visible .email-attachment-icon,
.email-attachment-field:focus-within .email-attachment-icon{
  color:var(--navy)!important;
  transform:none!important;
}

/* Privacy link: subtle underline */
.email-privacy-link{
  position:relative!important;
  color:var(--navy)!important;
  font-weight:800!important;
  text-decoration:none!important;
  border-bottom:0!important;
  background-image:linear-gradient(90deg,rgba(6,41,108,.38),rgba(6,41,108,.38))!important;
  background-repeat:no-repeat!important;
  background-size:100% 1px!important;
  background-position:0 100%!important;
  transition:color .18s ease, background-size .24s var(--ease)!important;
}

.email-privacy-link:hover,
.email-privacy-link:focus-visible{
  color:var(--navy-dark)!important;
  background-size:100% 2px!important;
  outline:none!important;
}

/* Consent checkbox: clean checked state and feedback */
.email-consent input[type="checkbox"]{
  appearance:none!important;
  -webkit-appearance:none!important;
  position:relative!important;
  flex:0 0 auto!important;
  width:18px!important;
  height:18px!important;
  margin-top:.1rem!important;
  border:1.4px solid rgba(0,5,14,.42)!important;
  background:transparent!important;
  border-radius:2px!important;
  cursor:pointer!important;
  transition:background .18s ease, border-color .18s ease, box-shadow .18s ease!important;
}

.email-consent input[type="checkbox"]::after{
  content:""!important;
  position:absolute!important;
  left:5px!important;
  top:2px!important;
  width:5px!important;
  height:9px!important;
  border:solid var(--white)!important;
  border-width:0 1.7px 1.7px 0!important;
  opacity:0!important;
  transform:rotate(45deg) scale(.65)!important;
  transition:opacity .14s ease, transform .18s var(--ease)!important;
}

.email-consent input[type="checkbox"]:hover{
  border-color:var(--navy)!important;
}

.email-consent input[type="checkbox"]:focus-visible{
  outline:none!important;
  box-shadow:0 0 0 3px rgba(6,41,108,.13)!important;
}

.email-consent input[type="checkbox"]:checked{
  background:var(--navy)!important;
  border-color:var(--navy)!important;
}

.email-consent input[type="checkbox"]:checked::after{
  opacity:1!important;
  transform:rotate(45deg) scale(1)!important;
}

.email-consent.consent-error{
  animation:emailConsentError .42s var(--ease) both!important;
}

.email-consent.consent-error input[type="checkbox"]{
  border-color:var(--navy)!important;
  box-shadow:0 0 0 3px rgba(6,41,108,.13)!important;
}

@keyframes emailConsentError{
  0%{transform:translateX(0);}
  24%{transform:translateX(-5px);}
  48%{transform:translateX(5px);}
  72%{transform:translateX(-3px);}
  100%{transform:translateX(0);}
}

/* Send button: darken only, no bar/sweep */
.email-send-btn::before,
.email-send-btn::after{
  display:none!important;
  content:none!important;
  animation:none!important;
  transition:none!important;
  opacity:0!important;
  transform:none!important;
}

.email-send-btn{
  background:var(--navy)!important;
  color:var(--white)!important;
  transform:none!important;
  box-shadow:none!important;
  transition:background .22s ease, opacity .22s ease!important;
}

.email-send-btn:hover,
.email-send-btn:focus-visible,
.email-send-btn:active,
.email-send-btn.is-sending{
  background:var(--navy-dark)!important;
  transform:none!important;
  outline:none!important;
}

.email-send-btn.is-sending{
  pointer-events:none!important;
}

.email-send-btn.is-sending span{
  opacity:.82!important;
}

/* Confirmation screen after successful submit */
.email-success{
  display:none!important;
  min-height:calc(100svh - 12rem)!important;
  align-items:center!important;
  justify-content:flex-start!important;
}

.email-success-inner{
  max-width:820px!important;
  margin-left:0!important;
  transform:translateY(-4vh)!important;
}

.email-success p{
  font-family:var(--fd)!important;
  font-size:clamp(2.35rem,4.3vw,4.85rem)!important;
  font-weight:700!important;
  line-height:1.05!important;
  letter-spacing:-.035em!important;
  color:var(--text)!important;
}

.email-modal.email-sent .email-modal-title,
.email-modal.email-sent .email-form{
  display:none!important;
}

.email-modal.email-sent .email-success{
  display:flex!important;
  animation:emailSuccessReveal .7s var(--ease) both!important;
}

@keyframes emailSuccessReveal{
  0%{opacity:0;transform:translateY(18px);filter:blur(2px);}
  100%{opacity:1;transform:translateY(0);filter:blur(0);}
}

@media (max-width:640px){
.email-success{
    min-height:calc(100svh - 8rem)!important;
  }

.email-success-inner{
    transform:none!important;
  }

.email-success p{
    font-size:clamp(2.15rem,10vw,3.35rem)!important;
  }
}
/* Closed overlays must never sit above the page. */


.email-modal:not(.open){
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

.email-modal.open{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}

@media (max-width:640px){
/* EMAIL MODAL: phones need stability, not a viewport-fighting reveal. */
.email-modal{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    min-height:100dvh!important;
    opacity:0!important;
    clip-path:none!important;
    transform:none!important;
    pointer-events:none!important;
    transition:opacity .24s ease!important;
    overflow:hidden!important;
    will-change:auto!important;
  }

.email-modal.open{
    opacity:1!important;
    clip-path:none!important;
    pointer-events:auto!important;
  }

.email-modal.is-closing{
    opacity:0!important;
    clip-path:none!important;
    pointer-events:none!important;
  }

.email-modal-panel{
    width:100%!important;
    height:100dvh!important;
    min-height:0!important;
    max-height:100dvh!important;
    padding:
      calc(4.4rem + env(safe-area-inset-top))
      1.25rem
      calc(2rem + env(safe-area-inset-bottom))!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }

.email-modal-title{
    max-width:100%!important;
    margin-bottom:1.65rem!important;
  }

.email-modal-title-action{
    font-size:clamp(1.55rem,7.5vw,2.25rem)!important;
    line-height:1.02!important;
  }

.email-modal-title-name{
    font-size:clamp(2.05rem,10vw,3.05rem)!important;
    line-height:.96!important;
    letter-spacing:-.04em!important;
  }

.email-form{
    max-width:100%!important;
  }

.email-form-grid{
    grid-template-columns:1fr!important;
    gap:0!important;
  }

.email-field{
    margin-bottom:.95rem!important;
  }

.email-field input{
    height:48px!important;
  }

.email-field textarea{
    min-height:145px!important;
  }

.email-attachment-control{
    min-height:48px!important;
  }

.email-consent{
    font-size:.76rem!important;
    line-height:1.42!important;
  }

.email-form-actions{
    justify-content:stretch!important;
    margin-top:1.1rem!important;
  }

.email-send-btn{
    width:100%!important;
    height:52px!important;
  }

.email-modal-close{
    position:fixed!important;
    top:calc(1rem + env(safe-area-inset-top))!important;
    right:1.1rem!important;
    left:auto!important;
    width:34px!important;
    height:34px!important;
    z-index:1000!important;
  }

.email-modal-close::before,
.email-modal-close::after{
    width:25px!important;
  }

.email-success{
    min-height:calc(100dvh - 7rem)!important;
  }
}
