.ecv-overlay[hidden]{display:none!important}.ecv-overlay{position:fixed;inset:0;z-index:100000;overflow-y:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px 20px max(20px,env(safe-area-inset-bottom));background:radial-gradient(ellipse at 20% 20%,#ffe0ed,transparent 55%),linear-gradient(145deg,#fff9f4,#f8e6f6);color:#50223d;isolation:isolate;transition:opacity .65s,transform .65s}.ecv-overlay.is-finishing{opacity:0;transform:scale(1.025);pointer-events:none}.ecv-top{text-align:center;position:relative;z-index:1}.ecv-top>span{font:800 9px/1.4 system-ui,sans-serif;letter-spacing:3px;color:#9c235c}.ecv-top h2{font:500 clamp(23px,3vw,34px)/1.12 Georgia,serif;letter-spacing:-.7px;margin:8px 0;color:#50223d!important}.ecv-top em{color:#a8165b}.ecv-iphone{position:relative;width:min(300px,calc((100svh - 250px)*.5625));min-width:170px;aspect-ratio:720/1264;background:#111;border:6px solid #262128;border-radius:38px;box-shadow:0 0 0 2px #ac929e,0 25px 70px #843e6a42,4px 0 0 3px #d9c5cf;padding:2px;flex-shrink:0;overflow:hidden}.ecv-iphone video{display:block;width:100%;height:100%;object-fit:cover;border-radius:29px;background:#141015}.ecv-island{position:absolute;top:10px;left:50%;transform:translateX(-50%);width:31%;height:20px;border-radius:30px;background:#0b090b;z-index:3}.ecv-island:after{content:'';position:absolute;right:10px;top:6px;width:7px;height:7px;border-radius:100%;background:#132136;box-shadow:inset 0 0 2px #36516c}.ecv-homebar{position:absolute;bottom:9px;left:36%;width:28%;height:4px;background:#fff9;border-radius:10px}.ecv-tap{position:absolute;inset:0;width:100%;border:0;color:white;background:#1c0e2399;font:800 14px system-ui;cursor:pointer}.ecv-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;z-index:1}.ecv-actions button{border:1px solid #c788a5;border-radius:22px;padding:11px 15px;color:#71294f;background:#fff;font:700 11px system-ui;cursor:pointer}.ecv-actions #ecv-skip{background:#ff0066;color:#fff;border-color:#ff0066}.ecv-status{max-width:340px;text-align:center;margin:0;font:12px/1.5 system-ui,sans-serif;color:#6b4058;z-index:1}.ecv-hearts{position:absolute;inset:0;overflow:hidden;z-index:-1;pointer-events:none}.ecv-hearts span{position:absolute;left:calc(6% + var(--i)*12%);bottom:-60px;font-size:calc(22px + var(--i)*4px);opacity:.6;animation:ecvFloat calc(8s + var(--i)*1s) linear infinite;animation-delay:calc(var(--i)*-1.7s)}@keyframes ecvFloat{0%{transform:translate3d(0,0,0) rotate(-12deg);opacity:0}10%{opacity:.65}90%{opacity:.4}100%{transform:translate3d(25px,-115vh,0) rotate(20deg);opacity:0}}.ecv-replay-box{padding:24px;text-align:center;background:#fff2f7;color:#60213f}.ecv-replay-box button{border:0;border-radius:30px;background:#ff0066;color:#fff;padding:15px 22px;font:800 14px system-ui;cursor:pointer}.ecv-replay-box p{font:12px/1.6 system-ui;margin:12px auto 0;max-width:440px;color:#703851}.ecv-example .ec3-photohero{min-height:85svh}.ecv-example .ec3-hero-content h2{color:#fff!important;text-shadow:0 3px 20px #351022aa}.ecv-example .ec3-hero-content p{color:#fff!important;text-shadow:0 2px 8px #351022}.ecv-example .ec3-hero-shade{background:linear-gradient(0deg,#341024ed,transparent 75%)!important}.ecv-example .ec3-paper h2{color:#7b2049!important}.ecv-example .ec3-paper p{color:#533345!important}.ecv-example .ec3-gate-photo{object-position:50% 40%}.ecv-example .ec3-gate-sound{font-size:12px}.ecv-example .ec3-demo-disclaimer{max-width:560px;margin-inline:auto}.ecv-example .ec3-final-actions a{white-space:normal}
@media(max-height:650px){.ecv-overlay{justify-content:flex-start;gap:8px;padding-top:14px}.ecv-top h2{font-size:23px}.ecv-iphone{width:180px}.ecv-status{font-size:10px}.ecv-actions button{padding:9px 12px}}
@media(max-width:370px){.ecv-overlay{padding-inline:12px}.ecv-actions{gap:6px}.ecv-actions button{padding:10px;font-size:10px}.ecv-iphone{min-width:160px}}
@media(prefers-reduced-motion:reduce){.ecv-hearts span{animation:none;bottom:auto;top:calc(8% + var(--i)*10%);opacity:.25}.ecv-overlay{transition:none}}

/* Continuous video-to-letter reveal; falling hearts and rose petals remain above both scenes. */
.ecv-overlay.is-finishing{transform:none;transition:opacity .95s cubic-bezier(.22,.61,.36,1)}
.ecv-overlay.is-finishing .ecv-iphone{animation:ecvPhoneAway .95s cubic-bezier(.22,.61,.36,1) both}
.ecv-overlay.is-finishing .ecv-top,.ecv-overlay.is-finishing .ecv-actions,.ecv-overlay.is-finishing .ecv-status{opacity:0;transform:translateY(-10px);transition:opacity .35s,transform .6s}
@keyframes ecvPhoneAway{to{transform:translateY(-24px) scale(.92) rotate(-2deg);filter:blur(2px);opacity:0}}
.ecv-love-rain{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:100002;contain:strict;animation:ecvRainVeil 5.8s linear both}
.ecv-love-rain>i{position:absolute;display:block;left:var(--x);top:-12vh;width:var(--size);height:var(--size);font-style:normal;animation:ecvLoveFall var(--fall) var(--delay) linear both;will-change:transform,opacity}
.ecv-rain-heart{font-size:var(--size);line-height:1;color:#f00666;text-shadow:0 2px 1px #9e154a44,0 0 9px #fff8}
.ecv-rain-petal{border-radius:85% 8% 80% 35%;background:radial-gradient(ellipse at 25% 20%,#fff0f4,#ff9fbe 40%,#e94d86 80%,#bd2d65);box-shadow:inset 1px 1px 3px #fff9,1px 3px 5px #74203d25}
.ecv-rain-petal:nth-child(4n){background:radial-gradient(ellipse at 25% 20%,#fff9f7,#ffd4df 45%,#ed8eaf);border-radius:12% 90% 30% 85%}
@keyframes ecvLoveFall{0%{transform:translate3d(0,-10vh,0) rotate(-20deg);opacity:0}8%{opacity:.95}35%{transform:translate3d(var(--sway),35vh,0) rotate(calc(var(--spin)*.3))}65%{transform:translate3d(calc(var(--drift)*.65),75vh,0) rotate(calc(var(--spin)*.7));opacity:.85}100%{transform:translate3d(var(--drift),125vh,0) rotate(var(--spin));opacity:0}}
@keyframes ecvRainVeil{0%,80%{opacity:1}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.ecv-overlay.is-finishing,.ecv-overlay.is-finishing *{animation:none!important;transition:none!important}.ecv-love-rain{display:none}}

/* Film-style handoff: light sweep hides the source change, then a gentle camera move reveals the letter. */
.ecv-overlay.is-finishing{transition:opacity .65s ease-in!important;opacity:0;transform:none}
.ecv-overlay.is-finishing .ecv-iphone{animation:ecvPhoneCinema .65s cubic-bezier(.45,0,.8,.5) both;filter:none!important;transform-origin:50% 35%;will-change:transform,opacity}
@keyframes ecvPhoneCinema{0%{transform:scale(1);opacity:1}100%{transform:scale(1.18) translateY(-24px);opacity:0}}
.ecv-cinema-light{position:fixed;inset:0;z-index:100003;pointer-events:none;background:linear-gradient(112deg,transparent 10%,#fff2f5ee 36%,#fffaf4 49%,#ffd5e9bb 61%,transparent 88%);transform:translateX(-120%);animation:ecvLightSweep 1.15s cubic-bezier(.25,.5,.4,1) both;will-change:transform}
@keyframes ecvLightSweep{0%{transform:translateX(-120%);opacity:0}12%{opacity:1}48%{opacity:1}100%{transform:translateX(120%);opacity:0}}
.ecv-cinema-enter .ec3-hero-image{animation:ecvCameraReveal 2.4s cubic-bezier(.2,.6,.3,1) both;transform-origin:50% 38%}
.ecv-cinema-enter .ec3-hero-content{animation:ecvWordsReveal 1s .22s ease-out both}
@keyframes ecvCameraReveal{from{transform:scale(1.08)}to{transform:scale(1)}}
@keyframes ecvWordsReveal{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
.ecv-audio-retry{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);z-index:100005;max-width:calc(100% - 32px);width:max-content;border:2px solid white;border-radius:30px;padding:15px 22px;box-shadow:0 6px 25px #42112c44;background:#ff0066;color:white;font:800 14px/1.3 system-ui;cursor:pointer}
.ecv-audio-retry[hidden]{display:none!important}
@media(prefers-reduced-motion:reduce){.ecv-overlay.is-finishing,.ecv-overlay.is-finishing .ecv-iphone,.ecv-cinema-enter *{animation:none!important;transition:none!important}.ecv-cinema-light{display:none}}

/* Seis meses contigo: frame the existing portrait around both faces. */
body.page-id-1832 .ecv-example .ecp-variant-cinema .ecp-photo {
  object-position: 50% 5%;
}
body.page-id-1832 .ecv-example .ec3-hero-image {
  object-position: 50% 8%;
  animation: none;
  transform: none;
}
body.page-id-1832 .ecv-example .ecp-cinema-play {
  left: calc(50% + 90px);
  top: calc(44% + 44px);
  width: 36px;
  height: 36px;
  font-size: 15px;
}
