/* wspólny język ekranów lobby — baza V1 „Living Photo" */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%;background:#05080d;overflow:hidden}
body{font-family:'Montserrat',sans-serif;color:#fff}
.stage{position:absolute;inset:0;overflow:hidden}

/* warstwy tła */
.layer{position:absolute;inset:-4%;opacity:0}
.layer img{width:100%;height:100%;object-fit:cover;display:block}

/* czytelność: mgła u góry i dołu, bez twardych krawędzi */
.grade{position:absolute;inset:0;background:
  linear-gradient(180deg,rgba(6,10,16,.80) 0%,rgba(6,10,16,.40) 25%,rgba(6,10,16,0) 47%,
  rgba(6,10,16,0) 64%,rgba(6,10,16,.62) 100%)}
.sheen{position:absolute;inset:-30%;background:linear-gradient(105deg,transparent 42%,rgba(255,255,255,.05) 50%,transparent 58%);
  animation:sweep 15s ease-in-out infinite}
@keyframes sweep{0%{transform:translateX(-38%)}55%{transform:translateX(38%)}100%{transform:translateX(-38%)}}

/* typografia — skala względem szerokości ekranu, duża jak w oryginale */
.txt{position:absolute;left:0;right:0;top:9.5%;text-align:center;padding:0 7%}
.h{font-family:'Lora',serif;font-weight:500;font-size:8.2vw;letter-spacing:.055em;text-transform:uppercase;
  line-height:1.16;text-shadow:0 2px 22px rgba(0,0,0,.45)}
.h span{display:inline-block;opacity:0;transform:translateY(.5em);filter:blur(8px);
  animation:word 1.15s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes word{to{opacity:1;transform:translateY(0);filter:blur(0)}}
.s{font-family:'Lora',serif;font-size:4.35vw;line-height:1.5;margin-top:4.2%;color:#F3F1EC;
  opacity:0;transform:translateY(14px);animation:up 1.15s 1.05s cubic-bezier(.2,.7,.2,1) forwards;
  text-shadow:0 2px 16px rgba(0,0,0,.4)}
.rule{width:0;height:1px;background:rgba(255,255,255,.75);margin:5.4% auto 0;
  animation:rule 1.3s 1.5s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes rule{to{width:26%}}
.dt{font-family:'Lora',serif;font-size:4.6vw;line-height:1.45;margin-top:4.6%;
  opacity:0;transform:translateY(14px);animation:up 1.15s 1.8s cubic-bezier(.2,.7,.2,1) forwards;
  text-shadow:0 2px 16px rgba(0,0,0,.4)}
@keyframes up{to{opacity:1;transform:translateY(0)}}

/* QR — duży, kwadratowy, wprost na zdjęciu */
.info{position:absolute;left:0;right:0;bottom:6%;display:flex;align-items:center;justify-content:center;gap:4%;
  opacity:0;animation:fade 1.2s 2.3s forwards}
@keyframes fade{to{opacity:1}}
.qr{width:22%;aspect-ratio:1;background:#fff;border-radius:2px;padding:1.6%}
.qr svg{width:100%;height:100%;display:block}
.lab{font-size:3.1vw;font-weight:600;letter-spacing:.13em;line-height:1.5;text-align:left;color:#F2EFE8}
