.hero{display:block;position:relative;isolation:isolate;padding:0;min-height:0;aspect-ratio:1672/941;overflow:hidden}
.hero::before{display:none}
.hero-scene{position:absolute;inset:0;z-index:-1}
.hero-scene picture{display:contents}
.hero-scene img{width:100%;height:100%;object-fit:cover;display:block}
.real-phone picture{display:contents}
.hero__copy{position:absolute;left:4%;bottom:3.5%;width:49%;max-width:none;padding:0}
.claim-paper{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.hero__copy .cta-row{justify-content:center;margin:0;gap:14px}
.hero__copy .btn--ghost{background:rgba(255,253,248,.85)}
.hero__stage{position:absolute;left:63%;top:9%;width:27%;height:85%;padding:0;min-height:0;display:flex;justify-content:center;align-items:center}
.hero-phone{width:100%;max-width:390px}
@media(max-width:980px){
  /* Sin background polaroids: evita segunda descarga LCP; el art vive en .hero-scene */
  .hero{aspect-ratio:auto;padding:0 0 38px;overflow:hidden;background:#e2d6c1}
  .hero-scene{position:relative;inset:auto;width:100%;aspect-ratio:1;z-index:0}
  .hero-scene picture{display:contents}
  .hero-scene img{object-fit:cover;object-position:left center}
  .hero__copy{position:relative;left:auto;bottom:auto;width:auto;margin:0 7%;padding:0;max-width:none}
  .hero__copy .cta-row{margin:0;justify-content:center}
  .hero__stage{position:relative;left:auto;top:auto;width:auto;height:auto;margin:30px auto 0;min-height:320px}
  .hero-phone{width:200px}
}
@media(max-width:520px){.hero__copy .cta-row{gap:12px}.hero__copy .btn{width:100%}.hero-phone{width:174px}.hero__stage{min-height:300px}}
.hero__stage{perspective:1400px;top:13%;height:75%;left:65%;width:21%;animation:none!important;opacity:1}
.real-phone{position:relative;width:100%;max-width:280px;aspect-ratio:845/1860;transform:rotate(-9deg) rotateX(14deg) rotateY(-4deg);filter:drop-shadow(3px 5px 2px rgba(21,16,11,.45)) drop-shadow(10px 15px 9px rgba(21,16,11,.34))}
.real-phone__hardware{display:block;width:100%;height:100%;position:relative;z-index:1}
.real-phone__screen{position:absolute;left:10%;right:9%;top:13%;bottom:8%;z-index:2;overflow:hidden;border-radius:0 0 20px 20px;container-type:inline-size}
.invitation-scene{height:100%;position:relative;perspective:900px;color:#5b564a;font-family:'Bodoni Moda',serif}
.invitation-card{position:absolute;left:9%;right:9%;top:39%;height:47%;background:#fffdf6;box-shadow:0 3px 7px #594c2925;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3cqw;text-align:center;padding:5cqw 3cqw;box-sizing:border-box;overflow:hidden;animation:letter-extract 16s infinite ease-in-out;z-index:2}
.invitation-logo{display:block;width:15cqw;height:15cqw;object-fit:contain;flex-shrink:0}
.invitation-card small{font-family:Jost,sans-serif;font-size:3cqw;letter-spacing:.12em}
.invitation-card strong{font-family:'Pinyon Script',cursive;font-weight:400;font-size:10cqw;line-height:1.2;white-space:nowrap}
.invitation-card span{font-family:Jost,sans-serif;font-size:3.3cqw;letter-spacing:.09em}
.invitation-rule{width:25%;height:1px;background:#a59b7c;margin:1cqw auto;flex-shrink:0}
.invitation-card p{font-style:italic;font-size:4cqw;line-height:1.4;margin:0}
.envelope-back,.envelope-front{position:absolute;left:3%;right:3%;top:38%;height:50%;animation:pocket-slide 16s infinite ease-in-out}
.envelope-back{background:#e6ddc8;box-shadow:0 5px 12px #4b412b30;z-index:1}
.envelope-front{background:linear-gradient(150deg,#f8f3e6,#e5dcc6);clip-path:polygon(0 0,50% 32%,100% 0,100% 100%,0 100%);z-index:3}
.envelope-flap{position:absolute;left:3%;right:3%;top:38%;height:27%;background:linear-gradient(165deg,#faf6eb,#e6ddc8);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top center;animation:lid-open 16s infinite ease-in-out;z-index:4}
.envelope-seal{position:absolute;left:37%;top:56%;width:26%;z-index:5;animation:wax-release 16s infinite ease-in-out;filter:drop-shadow(1px 3px 2px #322b2540)}
@keyframes wax-release{0%,12%,93%,100%{opacity:1;transform:translateY(0)}18%,88%{opacity:0;transform:translateY(7px)}}
@keyframes lid-open{0%,18%,93%,100%{transform:rotateX(0deg);z-index:4}30%,82%{transform:rotateX(178deg);z-index:1}}
@keyframes letter-extract{0%,32%,93%,100%{transform:translateY(0)}52%,76%{transform:translateY(-78%)}}
@keyframes pocket-slide{0%,32%,93%,100%{transform:translateY(0)}52%,76%{transform:translateY(28%)}}
@media(max-width:980px){.hero__stage{left:auto;top:auto;width:auto;height:auto;min-height:400px}.real-phone{width:185px;margin:auto}}
@media(prefers-reduced-motion:reduce){.invitation-card,.envelope-front,.envelope-back,.envelope-flap,.envelope-seal{animation:none}.invitation-card{transform:translateY(-78%)}.envelope-front,.envelope-back{transform:translateY(28%)}.envelope-flap{transform:rotateX(178deg);z-index:1}.envelope-seal{opacity:0}}

.hero-art-en{display:none!important}html[lang="en"] .hero-art-es{display:none!important}html[lang="en"] .hero-art-en{display:block!important}.invitation-card small span{font-size:inherit;letter-spacing:inherit}
@media(min-width:981px){
 .hero{height:calc(100svh - 72px);aspect-ratio:auto;min-height:0}
 .hero-scene{inset:auto;left:50%;top:50%;width:max(100%,calc((100svh - 72px)*1.776833));height:max(100%,56.281vw);transform:translate(-50%,-50%)}
 .hero-scene img{object-fit:cover}
 .hero__stage{top:7%;height:82%}
 .real-phone{width:min(100%,calc((100svh - 72px)*.34));max-width:280px}
 .hero__copy{bottom:3.5%}
}
@media(min-width:981px) and (max-aspect-ratio:16/10){.hero-scene{left:0;transform:translateY(-50%)}.hero__stage{left:79%;width:17%}.hero__copy{width:70%}}
