.qrp-guest{box-sizing:border-box;max-width:1120px;margin:48px auto;padding:clamp(24px,4vw,48px);border:1px solid #d9cedf;border-radius:24px;background:#fff;color:#21182a;box-shadow:0 18px 48px rgba(33,24,42,.07);scroll-margin-top:96px}
.qrp-guest *{box-sizing:border-box}
.qrp-guest-intro{max-width:100%;margin-bottom:28px}
.qrp-guest-guide[hidden]{display:none}
.qrp-guest-guide{box-sizing:border-box;position:relative;z-index:1000;display:flex;gap:12px;width:100%;margin:4px 0;padding:16px 42px 16px 14px;border:1px solid #d9cedf;border-radius:16px;background:#fff;box-shadow:0 12px 38px rgba(33,24,42,.2);color:#21182a}
.qrp-guest-guide.is-floating{position:fixed;width:280px;margin:0}
.qrp-guest-guide.is-floating:before{position:absolute;left:-9px;top:calc(50% - 8px);width:16px;height:16px;border-left:1px solid #d9cedf;border-bottom:1px solid #d9cedf;background:#fff;content:"";transform:rotate(45deg)}
.qrp-guest-guide.is-left:before{left:auto;right:-9px;border-left:0;border-bottom:0;border-right:1px solid #d9cedf;border-top:1px solid #d9cedf}
.qrp-guest-guide.is-bottom{left:12px;right:12px;bottom:12px;top:auto;width:auto;max-width:380px;margin:0 auto}
.qrp-guest-guide.is-bottom:before{display:none}
.qrp-guest-guide-mobile-launcher{position:fixed;right:12px;bottom:12px;z-index:1000;display:none;min-height:44px;padding:8px 14px;border:2px solid #4b0082;border-radius:24px;background:#4b0082;color:#fff;box-shadow:0 8px 25px rgba(33,24,42,.2);font:inherit;font-weight:750;cursor:pointer}
.qrp-guest-guide-mobile-launcher.is-used{display:block}
.qrp-guest-guide-mobile-launcher[hidden]{display:none}
.qrp-guest-guide-mobile-launcher:focus-visible{outline:3px solid #4b0082;outline-offset:3px}
.qrp-guest-guide-rhino{font-size:1.7rem;line-height:1.2}
.qrp-guest-guide-content{min-width:0}
.qrp-guest-guide-content strong{display:block;color:#4b0082}
.qrp-guest-guide-content p{margin:5px 0 10px;line-height:1.4}
.qrp-guest-guide button{border:2px solid #4b0082;border-radius:9px;background:#4b0082;color:#fff;font:inherit;font-weight:750;cursor:pointer}
.qrp-guest-guide button:focus-visible{outline:3px solid #4b0082;outline-offset:3px}
.qrp-guest-guide .qrp-guest-guide-action{min-height:40px;padding:7px 12px;font-size:.9rem}
.qrp-guest-guide .qrp-guest-guide-action:hover{background:#b5179e;border-color:#b5179e}
.qrp-guest-guide .qrp-guest-guide-close{position:absolute;right:8px;top:8px;min-height:32px;width:32px;padding:0;border:0;background:transparent;color:#4b0082;font-size:1.5rem;line-height:1}
.qrp-guest-guide .qrp-guest-guide-close:hover{background:#f2ecf7;color:#21182a}
.qrp-guest-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.qrp-guest .qrp-guest-guide-reopen{min-height:32px;padding:2px 0;border:0;background:transparent;color:#4b0082;font-size:.9rem;text-decoration:underline;text-underline-offset:3px}
.qrp-guest .qrp-guest-guide-reopen:hover{background:transparent;color:#8b006e}
.qrp-guest-help{margin:-7px 0 0;color:#62576b;font-size:.88rem}
.qrp-guest-eyebrow{color:#4b0082;font-size:.8rem;font-weight:800;letter-spacing:.1em}
.qrp-guest h2{margin:8px 0 12px;font-size:clamp(2rem,4vw,3rem);line-height:1.12;text-wrap:balance}
.qrp-guest-description{max-width:900px}
.qrp-guest-description,.qrp-guest-note{color:#62576b}
.qrp-guest-limit{padding:12px 16px;border-left:4px solid #4b0082;border-radius:8px;background:#f2ecf7;color:#21182a}
.qrp-guest-limit a{color:#4b0082;font-weight:700;text-underline-offset:3px}
.qrp-guest-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.8fr);gap:24px}
.qrp-guest-form,.qrp-guest-preview{display:flex;flex-direction:column;gap:12px;padding:24px;border:1px solid #ddd5e3;border-radius:18px;background:#f9f6fb}
.qrp-guest label{font-weight:700}
.qrp-guest input,.qrp-guest select{min-height:48px;width:100%;padding:10px 12px;border:1px solid #62576b;border-radius:8px;background:#fff;color:#21182a;font:inherit}
.qrp-guest button{min-height:48px;padding:10px 18px;border:2px solid #4b0082;border-radius:9px;background:#4b0082;color:#fff;font:inherit;font-weight:750;cursor:pointer}
.qrp-guest button:hover{background:#b5179e;border-color:#b5179e}
.qrp-guest button:disabled{opacity:.55;cursor:not-allowed}
.qrp-guest button:focus-visible,.qrp-guest input:focus-visible,.qrp-guest select:focus-visible,.qrp-guest a:focus-visible{outline:3px solid #4b0082;outline-offset:3px}
.qrp-guest-preview{align-items:center;justify-content:center;text-align:center;background:#fff}
.qrp-guest-preview.is-used .qrp-guest-status{margin-bottom:0;font-size:1.4rem;font-weight:800;line-height:1.3;color:#21182a;text-wrap:balance}
.qrp-guest-used-copy{max-width:35ch;margin:0;color:#62576b}
.qrp-guest-image{width:min(100%,280px);height:auto}
.qrp-guest-destination{max-width:100%;overflow-wrap:anywhere;color:#62576b}
.qrp-guest-downloads{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.qrp-guest-signup{color:#4b0082;font-weight:700;text-underline-offset:3px}
.qrp-guest-note{font-size:.9rem}
@media(max-width:1024px){.qrp-guest-guide-mobile-launcher{display:block}}
@media(max-width:700px){.qrp-guest{margin:24px 12px;padding:20px}.qrp-guest-grid{grid-template-columns:1fr}.qrp-guest-form,.qrp-guest-preview{padding:18px}.qrp-guest-label-row{align-items:center}}
