.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{display:none!important}
}
@media(max-width:520px){.hero__copy .cta-row{gap:12px}.hero__copy .btn{width:100%}.hero__stage{display:none!important}}
.hero__stage{perspective:none;top:8%;height:84%;left:64%;width:22%;animation:none!important;opacity:1}
.real-phone{position:relative;width:min(100%,270px);aspect-ratio:390/844;transform:none;filter:drop-shadow(0 18px 28px rgba(21,16,11,.28))}
.real-phone__bezel{position:relative;height:100%;border-radius:46px;background:#1a1a1c;box-shadow:inset 0 0 0 2px #4a4a4e,inset 0 0 0 6px #0c0c0e}
.real-phone__screen{position:absolute;left:10px;right:10px;top:10px;bottom:12px;z-index:2;overflow:hidden;border-radius:36px;background:#f3efe6;container-type:size}
.real-phone__island{position:absolute;top:11px;left:50%;z-index:4;width:28%;height:20px;transform:translateX(-50%);border-radius:20px;background:#0a0a0a;pointer-events:none}
.real-phone__status{position:absolute;top:0;left:0;right:0;z-index:3;height:36px;display:flex;align-items:center;padding:2px 0 0 22px;color:#fff;font:600 12px/1 Outfit,sans-serif;text-shadow:0 1px 2px rgba(0,0,0,.55);pointer-events:none}
.real-phone__hint{position:absolute;z-index:6;left:-18px;top:40%;width:28px;height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;overflow:hidden;border-radius:999px;background:rgba(255,252,247,.94);box-shadow:0 10px 22px rgba(21,16,11,.22),inset 0 0 0 1px rgba(255,255,255,.95);pointer-events:none}
.real-phone__hint span{width:7px;height:7px;border-right:1.5px solid #40564B;border-bottom:1.5px solid #40564B;animation:phone-hint 1.5s ease-in-out infinite}
.real-phone__hint span:last-child{animation-delay:.18s}
@keyframes phone-hint{0%{transform:translateY(-6px) rotate(45deg);opacity:0}30%{opacity:1}70%{transform:translateY(8px) rotate(45deg);opacity:1}100%{transform:translateY(12px) rotate(45deg);opacity:0}}
@media(prefers-reduced-motion:reduce){.real-phone__hint span{animation:none;transform:translateY(0) rotate(45deg);opacity:1}}
.hero-invite{position:absolute;left:0;top:0;display:block;width:390px;height:calc(100cqh / (100cqw / 390px));max-width:none;border:0;background:#f3efe6;transform:scale(calc(100cqw / 390px));transform-origin:0 0}
.invitation-scene{height:100%;position:relative;perspective:1200px;color:#5b564a;font-family:'Bodoni Moda',serif;background:radial-gradient(ellipse at 50% 58%,rgba(214,199,164,.2),transparent 49%)}
.invitation-card{position:absolute;left:6%;right:6%;top:48%;height:45%;background:linear-gradient(155deg,#fffef9 0%,#fbf7ec 100%);border:1px solid rgba(117,102,72,.12);box-shadow:0 5px 14px rgba(72,58,31,.16);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3cqw;text-align:center;padding:6cqw 4cqw;box-sizing:border-box;overflow:hidden;animation:letter-extract 16s infinite cubic-bezier(.42,0,.24,1);z-index:2;will-change:transform,box-shadow}
.invitation-logo{display:block;width:16cqw;height:16cqw;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:48%;height:45%;transform:translateZ(0)}
.envelope-back{background:linear-gradient(145deg,#f3eddf,#e1d5bd);border:1px solid rgba(117,102,72,.12);box-shadow:0 9px 19px rgba(75,65,43,.2);z-index:1}
.envelope-front{background:linear-gradient(145deg,#fbf8ef 0%,#eee6d5 52%,#e2d6bf 100%);clip-path:polygon(0 0,50% 34%,100% 0,100% 100%,0 100%);z-index:3;filter:drop-shadow(0 -1px 0 rgba(126,106,70,.09))}
.envelope-flap{position:absolute;left:3%;right:3%;top:48%;height:27%;transform-origin:top center;transform-style:preserve-3d;animation:lid-open 16s infinite cubic-bezier(.42,0,.24,1);z-index:4;will-change:transform}
.envelope-flap__face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.envelope-flap__face--outer{background:linear-gradient(160deg,#fffdf7 0%,#eee5d3 100%);clip-path:polygon(0 0,100% 0,50% 100%);transform:rotateX(0deg) translateZ(1px)}
.envelope-flap__face--inner{background:linear-gradient(200deg,#e8deca 0%,#f7f1e5 100%);clip-path:polygon(0 100%,100% 100%,50% 0);transform:rotateX(180deg) translateZ(1px)}
.envelope-seal{position:absolute;left:39%;top:55%;width:22%;z-index:1;filter:drop-shadow(1px 3px 2px rgba(50,43,37,.3))}
@keyframes lid-open{0%,15%,93%,100%{transform:rotateX(0deg);z-index:4}24%,84%{transform:rotateX(179deg);z-index:1}}
@keyframes letter-extract{0%,27%,82%,100%{transform:translateY(0) scale(.985);box-shadow:0 5px 14px rgba(72,58,31,.16)}43%,68%{transform:translateY(-84%) scale(1);box-shadow:0 15px 25px rgba(72,58,31,.22)}}
@media(max-width:980px){.hero__stage{display:none!important}}
@media(prefers-reduced-motion:reduce){.invitation-card,.envelope-flap{animation:none}.invitation-card{transform:translateY(-84%)}.envelope-flap{transform:rotateX(179deg);z-index:1}}

.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%}}
