.qr-page{min-height:calc(100vh - 78px);background:radial-gradient(circle at 50% 8%,rgba(223,244,238,.85),transparent 44%),var(--cream)}
.qr-page-inner{display:flex;flex-direction:column;align-items:center;padding:92px 0 112px;text-align:center}
.qr-page .eyebrow{margin-bottom:20px}
.qr-page h1{margin-bottom:16px;font-size:clamp(44px,6vw,68px)}
.qr-page-lead{max-width:520px;margin:0;color:var(--ink-soft);font-size:17px}
.qr-card{width:min(100%,520px);margin:42px 0 0;padding:24px;border:1px solid rgba(20,157,163,.16);border-radius:30px;background:#fff;box-shadow:var(--shadow)}
.qr-card img{display:block;width:100%;height:auto;aspect-ratio:1;border-radius:18px;object-fit:contain}
.qr-card figcaption{padding-top:18px;color:var(--teal-dark);font-size:14px;font-weight:700}
.qr-page-note{margin:24px 0 0;color:#829296;font-size:13px}
.qr-page-back{position:static;font-size:13px}
@media(max-width:520px){.qr-page-inner{padding:62px 0 82px}.qr-card{margin-top:32px;padding:14px;border-radius:22px}.qr-card img{border-radius:14px}.qr-page-lead{font-size:15px}}

.qr-stage{position:relative}
.qr-nav{position:absolute;top:50%;z-index:2;width:44px;height:44px;margin:0;padding:0;border:0;border-radius:50%;color:#fff;background:rgba(24,48,57,.72);font-size:28px;line-height:1;cursor:pointer;transform:translateY(-50%)}
.qr-nav:hover,.qr-nav:focus{background:rgba(8,119,126,.92);outline:none}
.qr-nav-prev{left:12px}
.qr-nav-next{right:12px}
.qr-nav[hidden]{display:none}
.qr-dots{display:flex;justify-content:center;gap:8px;margin:14px 0 0;padding:0}
.qr-dots[hidden]{display:none}
.qr-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:rgba(20,157,163,.28);cursor:pointer}
.qr-dots button.is-active{background:var(--teal-dark)}
@media(max-width:520px){.qr-nav{width:38px;height:38px;font-size:24px}.qr-nav-prev{left:8px}.qr-nav-next{right:8px}}
