.fre-idea-mailer{
  --fre-ink:#25313a;
  --fre-muted:rgba(37,49,58,.48);
  --fre-glass:rgba(255,255,255,.58);
  --fre-glass-focus:rgba(255,255,255,.68);
  --fre-line:rgba(69,92,108,.13);
  --fre-blue:rgba(143,184,209,.72);
  --fre-blue-hover:rgba(132,177,205,.88);
  width:min(560px,88vw);
  margin-inline:auto;
  font-family:inherit;
  perspective:1200px;
}
.fre-idea-mailer *{box-sizing:border-box}
.fre-idea-mailer__stage{position:relative;min-height:58px;transition:min-height .42s cubic-bezier(.22,1,.36,1)}
.fre-idea-mailer__form{position:relative;transform-style:preserve-3d}
.fre-idea-mailer__panel{
  display:grid;
  grid-template-columns:minmax(0,1fr) 82px;
  min-height:56px;
  border:1px solid rgba(255,255,255,.58);
  border-radius:18px;
  background:var(--fre-glass);
  backdrop-filter:blur(13px) saturate(118%);
  -webkit-backdrop-filter:blur(13px) saturate(118%);
  box-shadow:0 8px 24px rgba(13,31,43,.07), inset 0 1px 0 rgba(255,255,255,.46);
  overflow:visible;
  position:absolute;
  inset:0;
  opacity:0;
  pointer-events:none;
  transform:rotateY(-92deg) scale(.985);
  transform-origin:center;
  backface-visibility:hidden;
  transition:opacity .17s ease,transform .54s cubic-bezier(.22,1,.36,1),background .22s ease,box-shadow .22s ease;
}
.fre-idea-mailer__panel.is-active{position:relative;opacity:1;pointer-events:auto;transform:rotateY(0) scale(1)}
.fre-idea-mailer__panel:focus-within{
  background:var(--fre-glass-focus);
  box-shadow:0 10px 30px rgba(13,31,43,.09), inset 0 1px 0 rgba(255,255,255,.55);
}
.fre-idea-mailer__fieldwrap{position:relative;min-width:0;display:flex;align-items:stretch}
.fre-idea-mailer textarea,.fre-idea-mailer input{
  width:100%;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  color:var(--fre-ink)!important;
  font:inherit;
  font-size:15px;
  font-weight:400;
  line-height:1.45;
  padding:17px 20px!important;
  border-radius:18px 0 0 18px!important;
}
.fre-idea-mailer textarea{
  display:block;
  min-height:56px;
  height:56px;
  max-height:230px;
  resize:vertical;
  overflow:auto;
}
.fre-idea-mailer input{min-height:56px;height:56px}
.fre-idea-mailer__typewriter{
  position:absolute;
  inset:0;
  padding:17px 20px;
  pointer-events:none;
  color:var(--fre-muted);
  font-size:15px;
  font-weight:400;
  line-height:1.45;
  display:flex;
  align-items:flex-start;
  white-space:pre-wrap;
  transition:opacity .15s ease;
}
.fre-idea-mailer__fieldwrap.has-value .fre-idea-mailer__typewriter,
.fre-idea-mailer__fieldwrap:focus-within .fre-idea-mailer__typewriter{opacity:0}
.fre-idea-mailer__caret{display:inline-block;width:1px;height:1em;background:currentColor;margin-left:2px;vertical-align:-.1em;animation:fre-blink .8s step-end infinite}
.fre-idea-mailer__email::placeholder{color:transparent;opacity:0}
.fre-idea-mailer__send{
  border:0!important;
  border-left:1px solid var(--fre-line)!important;
  background:var(--fre-blue)!important;
  color:#314654!important;
  border-radius:0 18px 18px 0!important;
  font:inherit;
  font-size:10px;
  font-weight:650;
  letter-spacing:.12em;
  text-transform:uppercase;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  cursor:pointer;
  min-height:56px;
  transition:background .2s ease,transform .18s ease,filter .2s ease;
}
.fre-idea-mailer__send:hover,.fre-idea-mailer__send:focus-visible{background:var(--fre-blue-hover)!important;color:#243845!important;filter:brightness(1.02)}
.fre-idea-mailer__send:active{transform:scale(.985)}
.fre-idea-mailer__status{font-size:11px;margin:6px 14px 0;min-height:14px;color:rgba(255,255,255,.92);text-shadow:0 1px 5px rgba(0,0,0,.25)}
.fre-idea-mailer__honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;min-height:0!important;opacity:0!important}
.fre-idea-mailer.is-flipping .fre-idea-mailer__panel[data-step="idea"]{opacity:0;transform:rotateY(92deg) scale(.985);pointer-events:none}
.fre-idea-mailer.is-email-step .fre-idea-mailer__stage{min-height:58px}
.fre-idea-mailer__envelope{position:absolute;left:50%;top:50%;width:82px;height:53px;transform:translate(-50%,-50%) scale(1.4);opacity:0;pointer-events:none}
.fre-idea-mailer__envelope-body{position:absolute;inset:0;background:rgba(255,255,255,.88);border:1px solid rgba(36,56,69,.25);border-radius:5px;overflow:hidden}
.fre-idea-mailer__envelope-body:before,.fre-idea-mailer__envelope-body:after{content:"";position:absolute;bottom:0;width:66%;height:1px;background:rgba(36,56,69,.25);transform-origin:bottom}
.fre-idea-mailer__envelope-body:before{left:0;transform:rotate(30deg)}
.fre-idea-mailer__envelope-body:after{right:0;transform:rotate(-30deg)}
.fre-idea-mailer__envelope-flap{position:absolute;left:0;top:0;width:100%;height:52%;background:rgba(241,246,248,.96);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;transform:rotateX(180deg)}
.fre-idea-mailer.is-sending .fre-idea-mailer__panel.is-active{animation:fre-eye-close .48s cubic-bezier(.7,0,.3,1) forwards}
.fre-idea-mailer.is-sent .fre-idea-mailer__form{opacity:0}
.fre-idea-mailer.is-sent .fre-idea-mailer__envelope{animation:fre-envelope-to-world 1.02s cubic-bezier(.2,.7,.2,1) forwards}
.fre-idea-mailer.is-sent .fre-idea-mailer__envelope-flap{animation:fre-flap .32s ease forwards}
.fre-idea-mailer.is-done .fre-idea-mailer__stage{min-height:0;height:0;transition:height .42s ease,min-height .42s ease}
.fre-idea-mailer.is-done{pointer-events:none}
@keyframes fre-blink{50%{opacity:0}}
@keyframes fre-eye-close{0%{clip-path:inset(0 0 0 0 round 18px);transform:scaleY(1)}100%{clip-path:inset(49% 0 49% 0 round 18px);transform:scaleY(.03);opacity:0}}
@keyframes fre-flap{to{transform:rotateX(0deg)}}
@keyframes fre-envelope-to-world{0%{opacity:0;transform:translate(-50%,-50%) scale(1.35)}18%{opacity:1;transform:translate(-50%,-50%) scale(.95)}70%{opacity:1;transform:translate(85%,-72%) scale(.48) rotate(7deg)}100%{opacity:0;transform:translate(128%,-78%) scale(.22) rotate(10deg)}}
@media(max-width:640px){
  .fre-idea-mailer{width:min(90vw,500px)}
  .fre-idea-mailer__stage{min-height:54px}
  .fre-idea-mailer__panel{grid-template-columns:minmax(0,1fr) 72px;min-height:52px;border-radius:16px}
  .fre-idea-mailer textarea,.fre-idea-mailer input{min-height:52px;height:52px;padding:15px 17px!important;font-size:14px;border-radius:16px 0 0 16px!important}
  .fre-idea-mailer textarea{max-height:190px}
  .fre-idea-mailer__typewriter{padding:15px 17px;font-size:14px}
  .fre-idea-mailer__send{min-height:52px;font-size:9px;letter-spacing:.1em;border-radius:0 16px 16px 0!important}
  .fre-idea-mailer__send span:last-child{display:none}
}


/* v1.3 — post-send journey to El Chaltén. Existing form design is unchanged. */
.fre-idea-mailer__journey{
  position:absolute;
  left:calc(100% + 16px);
  top:50%;
  width:156px;
  height:108px;
  transform:translate(14px,-50%) scale(.9);
  opacity:0;
  pointer-events:none;
  z-index:4;
  transition:opacity .35s ease,transform .52s cubic-bezier(.22,1,.36,1);
}
.fre-idea-mailer__journey-inner{
  position:relative;
  width:100%;
  height:100%;
  border-radius:18px;
  background:transparent;
  border:0;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  overflow:hidden;
}
.fre-idea-mailer.is-journey .fre-idea-mailer__journey{
  opacity:1;
  transform:translate(0,-50%) scale(1);
}
.fre-idea-mailer__globe{position:absolute;inset:8px}
.fre-idea-mailer__globe svg{
  position:absolute;width:92px;height:92px;left:4px;top:0;overflow:visible
}
.fre-globe-outline,.fre-globe-latitude,.fre-globe-longitude{
  fill:none;stroke:rgba(37,49,58,.25);stroke-width:1.25
}
.fre-globe-latitude,.fre-globe-longitude{opacity:.6}
.fre-globe-route{
  fill:none;stroke:rgba(76,116,140,.72);stroke-width:1.7;stroke-linecap:round;
  stroke-dasharray:1.4 5.2;stroke-dashoffset:80;opacity:0
}
.fre-globe-origin{fill:rgba(76,116,140,.78);opacity:0}
.fre-globe-destination{fill:rgba(76,116,140,.92);opacity:0}
.fre-idea-mailer__chalten{
  position:absolute;right:7px;bottom:9px;color:rgba(37,49,58,.76);
  font-size:9px;line-height:1;letter-spacing:.04em;white-space:nowrap;
  opacity:0;transform:translateY(3px)
}
.fre-idea-mailer__journey-envelope{
  position:absolute;left:-20px;top:42px;width:22px;height:14px;
  border:1px solid rgba(37,49,58,.36);border-radius:2px;opacity:0;
  background:rgba(255,255,255,.82)
}
.fre-idea-mailer__journey-envelope:before,.fre-idea-mailer__journey-envelope:after{
  content:"";position:absolute;top:1px;width:12px;height:1px;
  background:rgba(37,49,58,.30);transform-origin:top
}
.fre-idea-mailer__journey-envelope:before{left:1px;transform:rotate(31deg)}
.fre-idea-mailer__journey-envelope:after{right:1px;transform:rotate(-31deg)}
.fre-idea-mailer.is-journey .fre-idea-mailer__journey-envelope{
  animation:fre-mini-envelope 1.05s .18s cubic-bezier(.22,.8,.22,1) forwards
}
.fre-idea-mailer.is-route .fre-globe-origin{animation:fre-point-in .18s ease forwards}
.fre-idea-mailer.is-route .fre-globe-route{animation:fre-route-draw 1.55s .08s linear forwards}
.fre-idea-mailer.is-arrived .fre-globe-destination{
  animation:fre-arrive-dot .55s cubic-bezier(.22,1,.36,1) forwards
}
.fre-idea-mailer.is-arrived .fre-idea-mailer__chalten{
  animation:fre-label-in .42s .12s ease forwards
}
.fre-idea-mailer.is-journey-out .fre-idea-mailer__journey{
  opacity:0;transform:translate(-3px,-50%) scale(.94)
}
@keyframes fre-mini-envelope{
  0%{opacity:0;transform:translate(-8px,7px) scale(.8) rotate(-8deg)}
  18%{opacity:1}
  75%{opacity:1;transform:translate(47px,-7px) scale(.65) rotate(7deg)}
  100%{opacity:0;transform:translate(64px,-2px) scale(.38) rotate(10deg)}
}
@keyframes fre-point-in{from{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}
@keyframes fre-route-draw{
  0%{opacity:0;stroke-dashoffset:80}
  10%{opacity:1}
  100%{opacity:1;stroke-dashoffset:0}
}
@keyframes fre-arrive-dot{
  0%{opacity:0;transform:scale(.2)}
  55%{opacity:1;transform:scale(1.7)}
  100%{opacity:1;transform:scale(1)}
}
@keyframes fre-label-in{to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){
  .fre-idea-mailer__journey{
    left:auto;right:0;top:calc(100% + 12px);transform:translateY(8px) scale(.92)
  }
  .fre-idea-mailer.is-journey .fre-idea-mailer__journey{transform:translateY(0) scale(1)}
  .fre-idea-mailer.is-journey-out .fre-idea-mailer__journey{transform:translateY(-3px) scale(.94)}
}
@media(max-width:640px){
  .fre-idea-mailer__journey{width:142px;height:100px;right:4px}
  .fre-idea-mailer__globe svg{width:84px;height:84px}
}

@media(prefers-reduced-motion:reduce){.fre-idea-mailer *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.fre-idea-mailer__caret{display:none}}


/* v1.4 — prevent flash of unstyled shortcode content. */
.fre-idea-mailer{
  transition:opacity .14s ease;
}
.fre-idea-mailer.fre-ready{
  visibility:visible;
  opacity:1;
}


/* v1.5 — robust transparent journey scene.
   Kept inside the shortcode bounds so Elementor/container overflow cannot clip it. */
.fre-idea-mailer__journey{
  left:auto !important;
  right:18px !important;
  top:50% !important;
  width:168px !important;
  height:112px !important;
  transform:translate(18px,-50%) scale(.9) !important;
  opacity:0;
  overflow:visible !important;
}

.fre-idea-mailer.is-journey .fre-idea-mailer__journey{
  opacity:1 !important;
  transform:translate(0,-50%) scale(1) !important;
}

.fre-idea-mailer.is-journey-out .fre-idea-mailer__journey{
  opacity:0 !important;
  transform:translate(-4px,-50%) scale(.95) !important;
}

/* No card/background — only the globe and route. */
.fre-idea-mailer__journey-inner{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  overflow:visible !important;
}

/* Increase contrast while keeping the same restrained palette. */
.fre-globe-outline{
  stroke:rgba(31,43,54,.58) !important;
  stroke-width:1.35 !important;
}
.fre-globe-latitude,
.fre-globe-longitude{
  stroke:rgba(31,43,54,.32) !important;
  stroke-width:1.15 !important;
  opacity:1 !important;
}
.fre-globe-route{
  stroke:rgba(89,137,166,.95) !important;
  stroke-width:1.8 !important;
  opacity:0;
}
.fre-globe-origin{
  fill:rgba(89,137,166,.95) !important;
}
.fre-globe-destination{
  fill:rgba(89,137,166,1) !important;
}
.fre-idea-mailer__chalten{
  color:rgba(31,43,54,.94) !important;
  font-size:10px !important;
  font-weight:500 !important;
  letter-spacing:.025em !important;
  text-shadow:0 1px 8px rgba(255,255,255,.55);
}

/* Keep the tiny travelling envelope clearly visible without adding a panel. */
.fre-idea-mailer__journey-envelope{
  border-color:rgba(31,43,54,.68) !important;
  background:rgba(255,255,255,.94) !important;
  box-shadow:0 3px 10px rgba(20,35,45,.10) !important;
}
.fre-idea-mailer__journey-envelope:before,
.fre-idea-mailer__journey-envelope:after{
  background:rgba(31,43,54,.52) !important;
}

/* Ensure the form/stage remains tall enough while the journey plays. */
.fre-idea-mailer.is-sent:not(.is-done) .fre-idea-mailer__stage{
  min-height:112px !important;
}

/* On smaller screens, center the transparent globe below the original field. */
@media(max-width:900px){
  .fre-idea-mailer__journey{
    left:50% !important;
    right:auto !important;
    top:calc(100% + 10px) !important;
    transform:translate(-50%,8px) scale(.92) !important;
  }
  .fre-idea-mailer.is-journey .fre-idea-mailer__journey{
    transform:translate(-50%,0) scale(1) !important;
  }
  .fre-idea-mailer.is-journey-out .fre-idea-mailer__journey{
    transform:translate(-50%,-3px) scale(.95) !important;
  }
  .fre-idea-mailer.is-sent:not(.is-done) .fre-idea-mailer__stage{
    min-height:180px !important;
  }
}
