:root {
    --black:#0a0908;
    --white:#f7f4ef;
    --cream:#f0ece4;
    --red:#9b2d20;
    --lilac:#c4b0e8;
    --lilac-dim:#a892d4;
    --lilac-pale:#ede7f8;
    --grey:#7a7068;
    --dim:#ddd6cc;
    --dim-dark:#2a2520;
    --text:#2a2218;
    --text-light:#6b6258;
  }
  *,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{background:var(--white);color:var(--text);font-family:'Courier Prime',monospace;overflow-x:hidden;}
  body::after{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");pointer-events:none;z-index:9999;opacity:0.35;}

  /* TICKER */
  .ticker{position:fixed;top:0;left:0;right:0;z-index:300;height:60px;background:var(--black);display:flex;align-items:center;overflow:hidden;}
  .ticker-track{overflow:hidden;flex:1;}
  .ticker-track span{display:inline-block;white-space:nowrap;font-size:0.7rem;letter-spacing:0.28em;color:rgba(255,255,255,0.45);animation:ticker 30s linear infinite;padding-left:60px;}
  .ticker-track a{color:var(--lilac);text-decoration:none;transition:color 0.2s;font-size:0.7rem;letter-spacing:0.28em;}
  .ticker-track a:hover{color:#fff;}
  @keyframes ticker{from{transform:translateX(0);}to{transform:translateX(-50%);}}

  /* NAV */
  nav{position:fixed;top:60px;left:0;right:0;z-index:200;display:flex;justify-content:space-between;align-items:center;padding:16px 48px;transition:background 0.3s,border 0.3s;}
  nav.scrolled{background:rgba(247,244,239,0.97);border-bottom:1px solid var(--dim);backdrop-filter:blur(8px);}
  .nav-logo{font-size:0.56rem;letter-spacing:0.32em;text-transform:uppercase;color:var(--text);text-decoration:none;}
  .nav-links{display:flex;gap:28px;}
  .nav-links a{font-size:0.52rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--text);text-decoration:none;opacity:0.42;transition:opacity 0.2s;}
  .nav-links a:hover{opacity:1;}
  .hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px;}
  .hamburger span{display:block;width:22px;height:1px;background:var(--text);}
  .mobile-menu{display:none;position:fixed;inset:0;background:rgba(247,244,239,0.98);z-index:190;flex-direction:column;align-items:center;justify-content:center;gap:32px;}
  .mobile-menu.open{display:flex;}
  .mobile-menu a{font-size:1.2rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--text);text-decoration:none;font-family:'Cormorant Garamond',serif;font-weight:300;opacity:0.65;}
  .mobile-menu a:hover{color:var(--lilac-dim);opacity:1;}

  /* HEADER */
  #header{min-height:100vh;display:flex;flex-direction:column;justify-content:flex-end;padding:160px 48px 80px;position:relative;overflow:hidden;background:var(--white);}
  .header-bg{position:absolute;inset:0;z-index:0;}
  .header-bg::before{content:'';position:absolute;inset:-50%;background:radial-gradient(ellipse 70% 50% at 80% 30%,rgba(196,176,232,0.18) 0%,transparent 60%),radial-gradient(ellipse 50% 60% at 10% 80%,rgba(196,176,232,0.1) 0%,transparent 55%);animation:bgPulse 9s ease-in-out infinite alternate;}
  .header-scanlines{display:none;}
  @keyframes bgPulse{from{transform:scale(1);}to{transform:scale(1.03);}}
  .header-content{position:relative;z-index:2;max-width:960px;}
  .header-eyebrow{display:none;}
  .header-name{font-family:'Cormorant Garamond',serif;font-size:clamp(3rem,8vw,10rem);font-weight:300;line-height:0.88;letter-spacing:-0.01em;text-transform:uppercase;color:var(--text);opacity:0;animation:fadeUp 1s 0.3s forwards;}
  .header-name span{display:block;}
  .header-name .accent{color:var(--lilac-dim);}
  .header-subtitle{margin-top:32px;font-size:0.62rem;letter-spacing:0.28em;text-transform:uppercase;color:var(--grey);opacity:0;animation:fadeUp 1s 0.55s forwards;}
  .header-contact{margin-top:40px;display:flex;gap:32px;flex-wrap:wrap;opacity:0;animation:fadeUp 1s 0.75s forwards;}
  .header-contact a{font-size:0.57rem;letter-spacing:0.18em;color:var(--text);text-decoration:none;opacity:0.55;transition:opacity 0.2s,color 0.2s;display:flex;align-items:center;gap:8px;}
  .header-contact a:hover{opacity:1;color:var(--lilac-dim);}
  .header-contact a::before{content:'→';color:var(--lilac-dim);}
  .header-divider{position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(to right,transparent,var(--dim) 20%,var(--dim) 80%,transparent);}

  /* SECTIONS */
  .s{padding:88px 48px;border-top:1px solid var(--dim);background:var(--white);}
  .s-cream{background:var(--cream);}
  .s-dark{background:var(--black);border-top:none;}
  .sh{display:flex;align-items:baseline;gap:18px;margin-bottom:56px;}
  .sn{font-size:0.55rem;letter-spacing:0.3em;color:var(--lilac-dim);}
  .s-dark .sn{color:var(--lilac);}
  .st{font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,3vw,3rem);font-weight:300;letter-spacing:-0.01em;color:var(--text);}
  .s-dark .st{color:#f4f1ec;}

  /* BIO */
  .bio-grid{display:grid;grid-template-columns:260px 1fr;gap:64px;align-items:start;}
  .bio-sidebar{position:sticky;top:90px;}
  .bio-photo{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center top;filter:grayscale(100%);display:block;margin-bottom:24px;}
  .bio-tag{font-size:0.52rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--lilac-dim);margin-bottom:10px;}
  .bio-loc{font-size:0.63rem;color:var(--text-light);line-height:1.9;}
  .bio-links{margin-top:24px;display:flex;flex-direction:column;gap:10px;}
  .bio-links a{font-size:0.57rem;color:var(--text);text-decoration:none;opacity:0.5;transition:all 0.2s;display:flex;align-items:center;gap:8px;}
  .bio-links a::before{content:'→';color:var(--lilac-dim);}
  .bio-links a:hover{opacity:1;color:var(--lilac-dim);}
  .bio-text{font-size:0.81rem;line-height:1.9;color:rgba(42,34,24,0.72);}
  .bio-text p+p{margin-top:1.4em;}

  /* TIMELINE */
  .work-section{margin-bottom:64px;}
  .work-section:last-child{margin-bottom:0;}
  .work-section-title{font-size:0.52rem;letter-spacing:0.35em;text-transform:uppercase;color:var(--lilac-dim);margin-bottom:30px;padding-bottom:12px;border-bottom:1px solid var(--dim);}
  .s-dark .work-section-title{color:var(--lilac);border-bottom-color:var(--dim-dark);}
  .tl{display:flex;flex-direction:column;}
  .ti{display:grid;grid-template-columns:110px 1px 1fr;gap:0 28px;padding:32px 0;border-bottom:1px solid rgba(0,0,0,0.06);transition:background 0.2s;}
  .s-dark .ti{border-bottom-color:rgba(255,255,255,0.05);}
  .ti:last-child{border-bottom:none;}
  .ti:hover{background:rgba(196,176,232,0.06);}
  .s-dark .ti:hover{background:rgba(196,176,232,0.04);}
  .td{font-size:0.58rem;letter-spacing:0.12em;color:var(--text-light);opacity:0.45;line-height:1.6;padding-top:4px;}
  .s-dark .td{color:rgba(255,255,255,0.28);opacity:1;}
  .tline{background:rgba(0,0,0,0.08);position:relative;transition:background 0.3s;}
  .s-dark .tline{background:rgba(255,255,255,0.08);}
  .tline::before{content:'';position:absolute;top:6px;left:-4px;width:9px;height:9px;border-radius:50%;background:rgba(0,0,0,0.08);border:1px solid var(--dim);transition:all 0.3s;}
  .s-dark .tline::before{background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.2);}
  .ti:hover .tline{background:var(--lilac-dim);}
  .ti:hover .tline::before{background:var(--lilac-dim);border-color:var(--lilac-dim);}
  .s-dark .ti:hover .tline{background:var(--lilac);}
  .s-dark .ti:hover .tline::before{background:var(--lilac);border-color:var(--lilac);}
  .tlabel{font-size:0.52rem;letter-spacing:0.28em;text-transform:uppercase;color:var(--lilac-dim);margin-bottom:6px;}
  .s-dark .tlabel{color:var(--lilac);}
  .ttitle{font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-weight:400;margin-bottom:5px;line-height:1.3;color:var(--text);}
  .s-dark .ttitle{color:#f4f1ec;}
  .tsub{font-size:0.57rem;letter-spacing:0.14em;color:var(--text-light);display:block;margin-bottom:10px;}
  .s-dark .tsub{color:rgba(255,255,255,0.33);}
  .tbody{font-size:0.71rem;line-height:1.8;color:rgba(42,34,24,0.63);}
  .s-dark .tbody{color:rgba(244,241,236,0.58);}

  /* PROJECT LIST */
  .proj-list{display:flex;flex-direction:column;}
  .proj{padding:20px 0;border-bottom:1px solid rgba(0,0,0,0.06);display:grid;grid-template-columns:1fr auto;gap:24px;align-items:start;transition:background 0.2s;}
  .s-dark .proj{border-bottom-color:rgba(255,255,255,0.05);}
  .proj:first-child{border-top:1px solid rgba(0,0,0,0.06);}
  .s-dark .proj:first-child{border-top-color:rgba(255,255,255,0.05);}
  .proj:hover{background:rgba(196,176,232,0.06);}
  .s-dark .proj:hover{background:rgba(196,176,232,0.04);}
  .proj-year{font-size:0.55rem;letter-spacing:0.14em;color:var(--text-light);opacity:0.5;}
  .s-dark .proj-year{color:rgba(255,255,255,0.28);opacity:1;}
  .proj-title{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:400;line-height:1.3;margin:4px 0;color:var(--text);}
  .s-dark .proj-title{color:#f4f1ec;}
  .proj-role{font-size:0.55rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--grey);}
  .s-dark .proj-role{color:rgba(255,255,255,0.35);}
  .proj-note{font-size:0.62rem;color:var(--text-light);margin-top:5px;line-height:1.5;}
  .s-dark .proj-note{color:rgba(255,255,255,0.38);}
  .proj-links{display:flex;flex-direction:column;gap:6px;flex-shrink:0;}
  .plink{font-size:0.52rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--grey);text-decoration:none;padding:5px 10px;border:1px solid var(--dim);transition:all 0.2s;white-space:nowrap;}
  .plink:hover{border-color:var(--lilac-dim);color:var(--lilac-dim);}
  .s-dark .plink{color:rgba(255,255,255,0.33);border-color:var(--dim-dark);}
  .s-dark .plink:hover{border-color:var(--lilac);color:var(--lilac);}

  /* THEATER GRID */
  .theater-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--dim);}
  .theater-item{background:var(--cream);padding:24px 20px;transition:background 0.2s;}
  .theater-item:hover{background:var(--lilac-pale);}
  .theater-year{font-size:0.52rem;letter-spacing:0.22em;color:var(--lilac-dim);margin-bottom:8px;}
  .theater-title{font-family:'Cormorant Garamond',serif;font-size:1.05rem;font-weight:400;color:var(--text);margin-bottom:6px;line-height:1.3;}
  .theater-role{font-size:0.52rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--grey);}

  /* AWARDS */
  .award-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;background:var(--dim);}
  .s-dark .award-grid{background:var(--dim-dark);}
  .award-item{background:var(--white);padding:30px 26px;transition:background 0.2s;}
  .award-item:hover{background:var(--lilac-pale);}
  .s-dark .award-item{background:var(--black);}
  .s-dark .award-item:hover{background:#0f0d12;}
  .award-year{font-size:0.52rem;letter-spacing:0.28em;color:var(--lilac-dim);margin-bottom:10px;}
  .s-dark .award-year{color:var(--lilac);}
  .award-title{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:400;margin-bottom:6px;line-height:1.3;color:var(--text);}
  .s-dark .award-title{color:#f4f1ec;}
  .award-film{font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:400;color:var(--text-light);font-style:italic;margin-bottom:4px;line-height:1.2;}
  .s-dark .award-film{font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:400;color:rgba(255,255,255,0.65);font-style:italic;}
  .award-fest{font-size:0.57rem;letter-spacing:0.1em;color:var(--grey);}
  .s-dark .award-fest{color:rgba(255,255,255,0.3);}
  .award-link{display:inline-flex;align-items:center;gap:5px;margin-top:12px;font-size:0.5rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--lilac-dim);text-decoration:none;transition:opacity 0.2s;}
  .award-link:hover{opacity:0.7;}
  .award-link::after{content:'↗';}
  .s-dark .award-link{color:var(--lilac);}

  /* COLLAB */
  .collab-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--dim);}
  .s-dark .collab-grid{background:var(--dim-dark);}
  .collab-item{background:var(--white);padding:26px 22px;transition:background 0.2s;display:flex;flex-direction:column;justify-content:space-between;gap:14px;}
  .collab-item:hover{background:var(--lilac-pale);}
  .s-dark .collab-item{background:var(--black);}
  .s-dark .collab-item:hover{background:#0f0d12;}
  .collab-title{font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:400;letter-spacing:0.04em;color:var(--text);}
  .s-dark .collab-title{color:#f4f1ec;}
  .collab-role{font-size:0.52rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--grey);}
  .s-dark .collab-role{color:rgba(255,255,255,0.32);}
  .collab-link{font-size:0.52rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--lilac-dim);text-decoration:none;transition:opacity 0.2s;display:inline-flex;align-items:center;gap:5px;}
  .collab-link:hover{opacity:0.7;}
  .collab-link::after{content:'↗';}
  .s-dark .collab-link{color:var(--lilac);}

  /* FOOTER */
  footer{border-top:1px solid var(--dim);padding:50px 48px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px;background:var(--white);}
  .fname{font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-weight:300;font-style:italic;color:var(--text);}
  .flinks{display:flex;gap:28px;flex-wrap:wrap;}
  .flinks a{font-size:0.54rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--grey);text-decoration:none;transition:color 0.2s;}
  .flinks a:hover{color:var(--lilac-dim);}

  @keyframes fadeUp{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:none;}}
  .reveal{opacity:0;transform:translateY(16px);transition:opacity 0.7s ease,transform 0.7s ease;}
  .reveal.visible{opacity:1;transform:none;}

  @media(max-width:768px){
    nav{padding:14px 24px;}
    .nav-links{display:none;}
    .hamburger{display:flex;}
    #header{padding:110px 24px 64px;}
    .header-name{font-size:clamp(2.2rem,12vw,5rem);}
    .s{padding:60px 24px;}
    .bio-grid{grid-template-columns:1fr;gap:36px;}
    .bio-sidebar{position:static;}
    .ti{grid-template-columns:72px 1px 1fr;gap:0 16px;}
    .award-grid{grid-template-columns:1fr;}
    .theater-grid{grid-template-columns:1fr 1fr;}
    .collab-grid{grid-template-columns:1fr 1fr;}
    footer{padding:36px 24px;flex-direction:column;align-items:flex-start;}
    #turba [style*="padding:48px 48px"],#mundomoebio [style*="padding:48px 48px"]{padding:36px 24px 56px!important;}
    #turba [style*="padding:56px 48px"],#mundomoebio [style*="padding:56px 48px"]{padding:36px 24px 32px!important;}
  }
  @media(max-width:480px){
    .theater-grid,.collab-grid{grid-template-columns:1fr;}
    .proj{grid-template-columns:1fr;gap:10px;}
  }

/* --- idioma: las tres banderas a la vista; la del idioma activo, plena --- */
.idioma{display:inline-flex; align-items:center; gap:6px; margin-left:20px;}
.bandera-btn{background:none; border:0; padding:0; line-height:0; cursor:pointer;
  opacity:.4; transition:opacity .2s ease;}
.bandera-btn:hover{opacity:.85;}
.bandera-btn:focus-visible{outline:2px solid currentColor; outline-offset:2px;}
html[lang="es"] .bandera-btn[data-lang="es"],
html[lang="en"] .bandera-btn[data-lang="en"],
html[lang="de"] .bandera-btn[data-lang="de"]{opacity:1;}
.bandera{height:11px; width:auto; display:block; border:1px solid rgba(0,0,0,.18); border-radius:1px;}

/* --- al bajar se esconden la banda y el menu; al subir vuelven --- */
.ticker,nav{transition:transform .35s ease, background .3s, border .3s;}
body.bajando .ticker{transform:translateY(-64px);}
body.bajando nav{transform:translateY(-136px);}

.serie-pie{text-align:center; padding:18px 0 26px; font-size:.55rem; letter-spacing:.22em;
  font-variant-numeric:tabular-nums; opacity:.32;}

/* ---------------- PAGINAS DE SECCION (turba, mundomoebio, actor, film) ---------------- */
.nav-links a.actual{opacity:1;}
.obras-lista{padding:64px 48px 96px; background:var(--cream); max-width:1280px; margin:0 auto;}
.obras-lista .work-section-title{margin-bottom:40px;}
.obra{margin-bottom:64px;}
.obra-portada{position:relative; display:block; aspect-ratio:16/9; background:#111 center/cover no-repeat;
  overflow:hidden; cursor:pointer; text-decoration:none;}
.obra-portada::after{content:""; position:absolute; inset:0;
  background:linear-gradient(to top,rgba(10,9,8,.82) 0%,rgba(10,9,8,.35) 38%,transparent 65%); transition:opacity .4s;}
.obra-portada:hover::after{opacity:.75;}
.obra-portada[data-yt]::before,.obra-portada[data-vimeo]::before,.obra-portada[data-fb]::before{content:""; position:absolute; z-index:2; left:50%; top:46%;
  width:74px; height:74px; margin:-37px 0 0 -37px; border:1px solid rgba(255,255,255,.75); border-radius:50%;
  background:rgba(10,9,8,.25) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 7l9 5-9 5z' fill='%23f7f4ef'/%3E%3C/svg%3E") 56% 50%/34px no-repeat;
  transition:transform .3s, background-color .3s;}
.obra-portada:hover::before{transform:scale(1.08); background-color:rgba(168,146,212,.55);}
.obra-marco{position:absolute; z-index:2; left:32px; right:32px; bottom:28px; display:block; color:#f4f1ec;}
.obra-anio{display:block; font-size:.55rem; letter-spacing:.28em; text-transform:uppercase; color:var(--lilac); margin-bottom:10px;}
.obra-titulo{display:block; font-family:'Cormorant Garamond',serif; font-weight:300; line-height:1.02;
  font-size:clamp(1.7rem,4.2vw,3.6rem); letter-spacing:-.01em;}
.obra-portada iframe{position:absolute; inset:0; width:100%; height:100%; border:0; z-index:3;}
.obra-portada.reproduciendo::before,.obra-portada.reproduciendo::after{display:none;}
/* al reproducir, el fondo negro evita que asome un trozo de la portada */
.obra-portada.reproduciendo{background-image:none!important; background-color:#000;}
.obra-doc{background:var(--black);
  background-image:radial-gradient(ellipse 60% 70% at 85% 20%,rgba(196,176,232,.22),transparent 60%);}
.obra-doc-tipo{position:absolute; z-index:2; top:28px; right:32px; font-size:.55rem; letter-spacing:.22em; text-transform:uppercase;
  color:var(--lilac); border:1px solid rgba(196,176,232,.45); padding:7px 12px; transition:all .25s;}
.obra-doc:hover .obra-doc-tipo{background:var(--lilac); color:var(--black);}
.obra-info{display:grid; grid-template-columns:1fr auto; gap:24px; align-items:start; padding:18px 0 0;}
.obra-num{font-size:.52rem; letter-spacing:.2em; color:var(--lilac-dim); margin-right:14px;}
.obra-tipo{font-size:.52rem; letter-spacing:.22em; text-transform:uppercase; color:var(--text-light); opacity:.6;}
.obra-info .proj-role{margin-top:8px;}
.volver{display:inline-block; margin-top:8px; font-size:.55rem; letter-spacing:.2em; text-transform:uppercase;
  color:var(--grey); text-decoration:none;}
.volver:hover{color:var(--lilac-dim);}
@media(max-width:768px){
  .obras-lista{padding:40px 24px 64px;}
  .obra{margin-bottom:44px;}
  .obra-marco{left:18px; right:18px; bottom:16px;}
  .obra-titulo{font-size:clamp(1.3rem,6.5vw,2rem);}
  .obra-portada[data-yt]::before,.obra-portada[data-vimeo]::before,.obra-portada[data-fb]::before{width:54px; height:54px; margin:-27px 0 0 -27px; background-size:26px;}
  .obra-doc-tipo{top:16px; right:18px;}
  .obra-info{grid-template-columns:1fr; gap:10px;}
}
.obra-doc.obra-doc-img{background-size:cover; background-position:center;}
/* la pagina Film va sobre fondo oscuro */
.obras-oscuras{background:var(--black);}
/* en el celular el titulo del dossier no debe montarse sobre la portada */
@media(max-width:768px){ .obra-doc-img .obra-marco{right:44%;} }
/* texto de presentacion de un grupo de obras */
.grupo-nota{max-width:760px; margin:-18px 0 38px; font-size:.69rem; line-height:1.8; color:var(--text-light);}
.obras-oscuras .grupo-nota{color:rgba(255,255,255,.55);}
.hero-arriba{padding-top:150px;}
@media(max-width:768px){ .pagina-seccion .hero-arriba{padding:110px 24px 0!important;} }

/* videos de portada propios, sin audio: sin botones de YouTube ni parpadeo al reiniciar */
.fondo-video{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; pointer-events:none; display:block;}

/* menu en morado: se lee igual sobre el video oscuro y sobre el fondo claro */
.nav-links a{color:var(--lilac-dim); opacity:1;}
.nav-links a:hover,.nav-links a.actual{color:var(--lilac-dim); text-decoration:underline; text-underline-offset:6px; text-decoration-thickness:1px;}
.nav-logo{color:var(--lilac-dim);}

/* --- codigo para compartir: invisible, aparece con dos dedos o ctrl+shift+Q --- */
.qr-capa{position:fixed; inset:0; z-index:9998; display:none; align-items:center; justify-content:center;
  background:rgba(10,9,8,.94); backdrop-filter:blur(7px); cursor:pointer; opacity:0; transition:opacity .25s ease;}
.qr-capa.visible{display:flex; opacity:1;}
.qr-caja{display:flex; flex-direction:column; align-items:center; gap:18px; padding:24px;}
.qr-panel{background:#fff; padding:20px; line-height:0;}
.qr-panel img{display:block; width:min(64vmin,330px); height:auto; image-rendering:pixelated;}
.qr-pie{font-size:.56rem; letter-spacing:.22em; text-transform:lowercase; color:rgba(247,244,239,.65);}
