.qr-main { width: min(1120px, calc(100% - 36px)); margin: 55px auto 90px; }
.qr-intro { margin-bottom: 40px; }
.qr-intro h1 { margin: 0; font-family: "Playfair Display", serif; font-size: clamp(3rem, 8vw, 6rem); }
.qr-intro > p:last-child { color: var(--muted); }
.qr-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.qr-card { display: grid; padding: 24px; grid-template-columns: 1fr auto; gap: 16px 24px; align-items: center; border: 1px solid var(--line); border-top: 5px solid var(--qr-color); border-radius: 18px; background: #fff; color: #0b1020; break-inside: avoid; }
.qr-heading span { display: block; color: #64748b; font-size: .7rem; letter-spacing: .14em; }
.qr-heading h2 { margin: 8px 0 0; font-family: var(--font-film); font-size: 2.5rem; font-weight: 400; line-height: .95; letter-spacing: .02em; }
.qr-code { grid-row: span 2; }
.qr-code img, .qr-code canvas { display: block; width: 190px; height: 190px; }
.qr-card > p { margin: 0; overflow-wrap: anywhere; color: #475569; font-size: .7rem; }

@media (max-width: 760px) {
    .qr-grid { grid-template-columns: 1fr; }
}

@media print {
    @page { size: A4 portrait; margin: 8mm; }
    body { background: #fff; color: #000; }
    body::before, .no-print { display: none !important; }
    .qr-main { width: auto; margin: 0; }
    .qr-grid { grid-template-columns: 1fr 1fr; gap: 4mm; }
    .qr-card { min-height: 52mm; padding: 4mm; grid-template-columns: 1fr 34mm; gap: 2mm 4mm; border: 1px solid #cbd5e1; border-top: 2mm solid var(--qr-color); border-radius: 3mm; }
    .qr-heading h2 { margin-top: 1mm; font-size: 15pt; }
    .qr-code img, .qr-code canvas { width: 34mm !important; height: 34mm !important; }
    .qr-card > p { font-size: 5.8pt; }
}
