.carta{position:relative;min-height:100dvh;padding:0 1rem 3rem;overflow:clip;isolation:isolate;color:var(--tx);background:var(--bg,#111)}
.escena{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.fondo{position:fixed;inset:0;z-index:-2;background:var(--bg,#111)}
.volver{position:relative;z-index:3;display:inline-block;margin:max(1rem,env(safe-area-inset-top)) 0 0;padding:.35rem .1rem;font-family:Ibarra,serif;font-size:1.1rem;color:var(--nav,#fff);text-decoration:none}
.volver:hover{text-decoration:underline;text-underline-offset:4px}
.cab{position:relative;z-index:1;max-width:46rem;margin:0 auto;padding:clamp(1.5rem,6vh,4rem) .5rem clamp(1.5rem,4vh,2.8rem);text-align:center;color:var(--nav,#fff)}
.cab-mes{margin:0;font-family:var(--f-c,Ibarra);font-size:.95rem;letter-spacing:.12em}
.cab h1{margin:.2em 0 .1em;font-family:var(--f-t);font-weight:400;font-size:clamp(2.8rem,10vw,5.6rem);line-height:1}
.pista{margin:.5rem 0 0;font-family:var(--f-c,Ibarra);font-size:1.02rem;opacity:.92}

.papel{--rell:clamp(1.6rem,6vw,4.2rem);position:relative;max-width:43rem;margin:0 auto;z-index:1}
.papel-s{position:absolute;inset:0;filter:var(--sombra,drop-shadow(0 14px 26px rgba(0,0,0,.42)))}
.papel-b{position:absolute;inset:0;background:var(--pp,#f5ecd9)}
.papel-c{position:relative;padding:calc(var(--rell) + .8rem) var(--rell) calc(var(--rell) + .4rem);font-family:var(--f-c,Ibarra);font-size:var(--fs,1.14rem);line-height:var(--lh,1.65);color:var(--tp,#2a211a)}
.papel-c p{margin:0 0 1.05em}
.papel-c>:last-child{margin-bottom:0}

.par{position:relative;margin:2.1em 0;cursor:pointer}
.q{display:block;width:100%;text-align:left;font:inherit;font-family:var(--f-q,inherit);font-weight:var(--w-q,600);font-size:var(--fs-q,1.04em);line-height:1.35;color:var(--cq,inherit);padding:.3rem 0 .6rem}
.a{position:relative;min-height:5.2em;margin-top:.1rem}
.a-in{padding:.75rem .9rem;transition:opacity .7s .25s,filter .7s .25s;opacity:0}
.a-in p:last-child{margin-bottom:0}
.tapa{position:absolute;inset:0;overflow:hidden}
.abierto{cursor:default}
.abierto .a-in{opacity:1}
.abierto .tapa{pointer-events:none}

.lado-l,.lado-r{width:min(82%,21rem);margin:2.2rem auto}
.firma{margin-top:2.2em!important;text-align:right;font-family:var(--f-fi,var(--f-c));font-size:1.3em}
.corazon{width:clamp(7rem,30vw,10rem);margin:1.6rem auto .4rem;opacity:0;transform:scale(.6);transition:transform 1.1s cubic-bezier(.2,1.5,.4,1),opacity .6s}
.corazon.visto{opacity:1;transform:none}

.pasos{position:relative;z-index:2;display:flex;justify-content:space-between;gap:1rem;max-width:43rem;margin:2.6rem auto 0;font-family:Ibarra,serif;font-size:1.12rem;color:var(--nav,#fff)}
.pasos a{text-decoration:none;padding:.5rem .1rem}
.pasos a:hover{text-decoration:underline;text-underline-offset:4px}
.pasos .sig{text-align:right;font-style:italic}

@media (min-width:1180px){
  .lado-l,.lado-r{position:absolute;width:clamp(11.5rem,calc((100vw - 43rem)/2 - 3.4rem),19rem);margin:0;z-index:2}
  .lado-l{right:calc(100% + 2rem)}
  .lado-r{left:calc(100% + 2rem)}
}
