/* Google review QR code page (rq-*), 2026-10-31: a card the owner prints, in front of the review form Google opens;
   Google's own click path with its two results; the two-column card of Google's rules; BonusQR's review invitation
   (the app's real e-mail and push) on the purple band; a cafe floor plan with the spots for the code; the member
   feedback card. Mobile first. The floor plan is dir="ltr" in the markup (a picture does not mirror); Google's click
   path runs top down at every width and forks under its last label, so it needs no mirroring (its chevrons use
   physical borders and rotate(), which the RTL build mirrors in step); the one arrow icon turns with [dir="rtl"]. */

/* hero: the printed card in front of Google's review form */
.bqr-feature .rq-scan-stage { position: relative; }
.bqr-feature .rq-scan-photo { overflow: hidden; border-radius: 28px; box-shadow: 0 34px 70px -28px rgba(49,32,85,.45); }
.bqr-feature .rq-scan-photo img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; }
.bqr-feature .rq-tent { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 7px; width: min(62%, 236px); margin-block-start: -64px; margin-inline-start: 14px; padding: 18px 14px 14px; border-radius: 16px; background: #fff; color: var(--feature-ink); text-align: center; box-shadow: 0 30px 50px -24px rgba(37,35,55,.55), 0 0 0 1px rgba(37,35,55,.06); transform: rotate(3deg); }
.bqr-feature .rq-tent::after { content: ""; position: absolute; inset-inline: 10%; bottom: -9px; z-index: -1; height: 12px; border-radius: 0 0 12px 12px; background: #e2dafb; }
.bqr-feature .rq-tent-venue { color: var(--feature-accent); font-size: 11.5px; font-weight: 700; line-height: 1.3; letter-spacing: .08em; text-transform: uppercase; }
.bqr-feature .rq-tent strong { font-size: 14px; line-height: 1.3; }
.bqr-feature .rq-tent-qr { display: block; width: 74%; margin-block-start: 2px; }
.bqr-feature .rq-qr { display: block; width: 100%; height: auto; }
.bqr-feature .rq-tent-stars { display: flex; gap: 3px; }
.bqr-feature .rq-tent-stars svg { width: 15px; height: 15px; fill: none; stroke: #d39b00; stroke-width: 1.8; stroke-linejoin: round; }
.bqr-feature .rq-scan-cam { position: absolute; top: -20px; inset-inline-end: -18px; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: var(--feature-accent); box-shadow: 0 0 0 6px rgba(255,255,255,.9), 0 14px 26px -10px rgba(37,35,55,.5); }
.bqr-feature .rq-scan-cam svg { width: 23px; height: 23px; stroke: #fff; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

/* what: the shared fp-glance card's tilted backdrop reaches 2px past a phone screen; keep it from scrolling the page */
.bqr-feature.rq-what { overflow-x: clip; }

/* get-link: Google's path, then its two results */
.bqr-feature.rq-get { scroll-margin-top: 88px; }
.bqr-feature .rq-path { max-width: 980px; margin: 0 auto; padding: 26px 18px 20px; border-radius: 28px; background: #fff; box-shadow: 0 40px 80px -50px rgba(49,32,85,.55), 0 0 0 1px rgba(140,125,238,.12); }
.bqr-feature .rq-trail { display: flex; flex-direction: column; align-items: center; gap: 36px; list-style: none; padding: 0; margin: 0; }
.bqr-feature .rq-trail > li { position: relative; display: flex; align-items: center; justify-content: center; }
.bqr-feature .rq-trail > li + li::before { content: ""; position: absolute; top: -30px; inset-inline-start: calc(50% - 1px); width: 2px; height: 20px; background: repeating-linear-gradient(-180deg, #b6a9f2 0 5px, transparent 5px 9px); }
.bqr-feature .rq-trail > li + li::after { content: ""; position: absolute; top: -13px; inset-inline-start: calc(50% - 4px); width: 8px; height: 8px; border-left: 2px solid #8c7dee; border-bottom: 2px solid #8c7dee; transform: rotate(-45deg); }
.bqr-feature .rq-trail-start { gap: 12px; text-align: start; }
.bqr-feature .rq-trail-icon { display: grid; place-items: center; flex: none; width: 46px; height: 46px; border-radius: 14px; background: var(--feature-accent); }
.bqr-feature .rq-trail-icon svg { width: 24px; height: 24px; stroke: #fff; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.bqr-feature .rq-trail-text { display: flex; flex-direction: column; line-height: 1.3; }
.bqr-feature .rq-trail-text b { font-size: 16px; }
.bqr-feature .rq-trail-text small { color: var(--feature-muted); font-size: 13px; }
.bqr-feature .rq-g { display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border: 1px solid #dadce0; border-radius: 999px; background: #f8f9fa; color: #3c4043; font-size: 15px; font-weight: 600; line-height: 1.3; text-align: center; box-shadow: 0 1px 2px rgba(60,64,67,.12); }
.bqr-feature .rq-g svg { flex: none; width: 18px; height: 18px; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.bqr-feature .rq-fork { display: none; }
.bqr-feature .rq-ends { display: grid; gap: 16px; margin-block-start: 30px; }
.bqr-feature .rq-end { padding: 22px 22px 20px; border-radius: 20px; background: var(--feature-soft); }
.bqr-feature .rq-end-icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; background: #fff; box-shadow: 0 10px 20px -12px rgba(49,32,85,.45); }
.bqr-feature .rq-end-icon svg { width: 22px; height: 22px; stroke: var(--feature-accent); fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.bqr-feature .rq-end h3 { margin: 14px 0 10px; font-size: 20px; }
.bqr-feature .rq-end p { margin: 0; color: var(--feature-muted); font-size: 15.5px; }
.bqr-feature .rq-end .rq-end-do { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin-block-end: 12px; color: var(--feature-ink); }
.bqr-feature .rq-end-hint { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 600; }
.bqr-feature .rq-end-hint svg { flex: none; width: 16px; height: 16px; stroke: var(--feature-accent); fill: none; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
[dir="rtl"] .bqr-feature .rq-flip { transform: scaleX(-1); }
.bqr-feature .rq-path-note { display: flex; align-items: flex-start; gap: 12px; max-width: none; margin: 22px 0 0; padding: 14px 16px; border-radius: 16px; background: #fff6dc; color: #4f3b00; font-size: 15px; line-height: 1.55; }
.bqr-feature .rq-path-note svg { flex: none; width: 22px; height: 22px; margin-block-start: 1px; stroke: #9a6700; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.bqr-feature .rq-tips { display: grid; gap: 18px; max-width: 980px; list-style: none; padding: 0; margin: 36px auto 0; }
.bqr-feature .rq-tips li { display: flex; gap: 12px; align-items: flex-start; font-size: 15px; line-height: 1.55; }
.bqr-feature .rq-tip-icon { display: grid; place-items: center; flex: none; width: 36px; height: 36px; border-radius: 12px; background: #fff; box-shadow: 0 8px 18px -10px rgba(49,32,85,.4); }
.bqr-feature .rq-tip-icon svg { width: 19px; height: 19px; stroke: var(--feature-accent); fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.bqr-feature .rq-source { margin: 28px auto 0; color: var(--feature-muted); font-size: 13.5px; text-align: center; }

/* invitations: the visit that triggers it, then the real e-mail and push */
.bqr-feature .rq-plan-badge { margin-block-end: 14px; box-shadow: 0 0 0 1px rgba(255,255,255,.35); }
.bqr-feature .rq-invite-stage { display: grid; justify-items: center; max-width: 1080px; margin: 0 auto; }
.bqr-feature .rq-visits { display: flex; flex-direction: column; align-items: center; gap: 16px; }
.bqr-feature .rq-visit-track { display: flex; align-items: center; gap: 14px; list-style: none; padding: 0; margin: 0; }
.bqr-feature .rq-visit-track li { position: relative; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: rgba(255,255,255,.14); box-shadow: inset 0 0 0 2px rgba(255,255,255,.4); font-size: 18px; font-weight: 700; line-height: 1; }
.bqr-feature .rq-visit-track li + li::before { content: ""; position: absolute; inset-inline-end: 100%; top: 50%; width: 14px; height: 2px; background: rgba(255,255,255,.4); }
.bqr-feature .rq-visit-track .rq-visit-now { width: 64px; height: 64px; background: #fff; color: var(--feature-accent); font-size: 22px; box-shadow: 0 0 0 8px rgba(255,255,255,.18), 0 18px 30px -12px rgba(12,7,36,.6); }
.bqr-feature .rq-visit-now svg { position: absolute; top: -6px; inset-inline-end: -8px; width: 26px; height: 26px; padding: 5px; border-radius: 50%; background: #f5b301; stroke: #3b2a00; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.bqr-feature .rq-visit-setting { max-width: 260px; padding: 8px 14px; border-radius: 16px; background: rgba(23,21,42,.25); box-shadow: inset 0 0 0 1px rgba(255,255,255,.25); font-size: 14px; font-weight: 600; line-height: 1.45; text-align: center; }
.bqr-feature .rq-visit-setting b { display: inline-grid; place-items: center; min-width: 26px; height: 26px; margin-inline-start: 4px; border-radius: 8px; background: #fff; color: var(--feature-accent); }
.bqr-feature .rq-invite-flow { display: flex; align-items: center; justify-content: center; width: 2px; height: 72px; margin: 16px 0; background: repeating-linear-gradient(-180deg, rgba(255,255,255,.55) 0 7px, transparent 7px 13px); }
.bqr-feature .rq-invite-flow span { display: inline-flex; flex: none; align-items: center; gap: 7px; padding: 7px 13px; border-radius: 999px; background: #fff; color: var(--feature-accent); font-size: 13px; font-weight: 700; line-height: 1.3; white-space: nowrap; box-shadow: 0 14px 26px -14px rgba(12,7,36,.6); }
.bqr-feature .rq-invite-flow svg { flex: none; width: 17px; height: 17px; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.bqr-feature .rq-mail-wrap { width: 100%; max-width: 520px; margin: 0; }
.bqr-feature .rq-push { position: relative; z-index: 1; display: flex; gap: 12px; align-items: flex-start; width: 90%; margin-block-end: -22px; margin-inline-start: auto; padding: 12px 14px; border-radius: 18px; background: rgba(255,255,255,.97); color: #1f1b3a; text-align: start; box-shadow: 0 24px 44px -18px rgba(12,7,36,.65); }
.bqr-feature .rq-push-icon { display: grid; place-items: center; flex: none; width: 38px; height: 38px; border-radius: 10px; background: #8c7dee; }
.bqr-feature .rq-push-icon svg { width: 26px; height: 26px; }
.bqr-feature .rq-push-body { min-width: 0; flex: 1; font-size: 13.5px; line-height: 1.4; }
.bqr-feature .rq-push-head { display: flex; justify-content: space-between; gap: 10px; margin-block-end: 2px; font-size: 12.5px; }
.bqr-feature .rq-push-head span { color: #6b7280; }
.bqr-feature .rq-push b { display: block; }
.bqr-feature .rq-push p { max-width: none; margin: 2px 0 0; color: #3b3850; font-size: 13.5px; line-height: 1.45; }
.bqr-feature .rq-mail { overflow: hidden; border-radius: 18px; background: #fff; color: #1f1b3a; box-shadow: 0 50px 90px -40px rgba(12,7,36,.75); }
.bqr-feature .rq-mail-logo { display: flex; justify-content: center; padding: 38px 16px 12px; }
.bqr-feature .rq-mail-brand { display: block; width: 116px; height: auto; }
.bqr-feature .rq-mail-hero { padding: 22px 24px; background: linear-gradient(-135deg, #8c7dee 0%, #6f5fe0 100%); color: #fff; text-align: center; }
.bqr-feature .rq-mail-eyebrow { display: block; margin-block-end: 6px; font-size: 11.5px; letter-spacing: .14em; text-transform: uppercase; opacity: .85; }
.bqr-feature .rq-mail-title { display: block; font-size: 19px; font-weight: 700; line-height: 1.3; }
.bqr-feature .rq-mail-body { padding: 22px 24px 8px; text-align: start; }
.bqr-feature .rq-mail-body p { max-width: none; margin: 0 0 12px; color: #1f1b3a; font-size: 14.5px; line-height: 1.55; }
.bqr-feature .rq-mail-body .rq-mail-muted { color: #6b7280; font-size: 13.5px; }
.bqr-feature .rq-mail-button { display: flex; align-items: center; justify-content: center; gap: 6px; width: fit-content; margin: 8px auto 16px; padding: 11px 20px; border-radius: 10px; background: linear-gradient(-135deg, #8c7dee 0%, #6f5fe0 100%); color: #fff; font-size: 14.5px; font-weight: 600; box-shadow: 0 4px 14px rgba(140,125,238,.35); }
.bqr-feature .rq-mail-button svg { width: 16px; height: 16px; fill: #ffd34d; stroke: #ffd34d; stroke-width: 1.5; stroke-linejoin: round; }
.bqr-feature .rq-mail-body .rq-mail-thanks { text-align: center; }
.bqr-feature .rq-mail-foot { padding: 14px 24px; border-top: 1px solid #eceaf9; background: #fafafe; color: #6b7280; font-size: 12.5px; line-height: 1.6; text-align: center; }
.bqr-feature .rq-mail-wrap figcaption { margin-block-start: 16px; color: rgba(255,255,255,.85); text-align: center; }
.bqr-feature .rq-invite-facts { display: grid; gap: 14px 32px; max-width: 1080px; list-style: none; padding: 0; margin: 64px auto 0; }
.bqr-feature .rq-invite-facts li { display: flex; gap: 12px; align-items: flex-start; font-weight: 500; line-height: 1.5; }
.bqr-feature .rq-invite-facts svg { flex: none; width: 26px; height: 26px; margin-block-start: 1px; padding: 5px; border-radius: 50%; background: rgba(255,255,255,.16); stroke: #fff; fill: none; stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; }
.bqr-feature .rq-invite-need { display: flex; align-items: flex-start; gap: 12px; max-width: 1080px; margin: 32px auto 0; padding: 16px 20px; border-radius: 18px; background: rgba(23,21,42,.22); box-shadow: inset 0 0 0 1px rgba(255,255,255,.18); font-size: 15.5px; line-height: 1.55; }
.bqr-feature .rq-invite-need svg { flex: none; width: 22px; height: 22px; margin-block-start: 2px; stroke: #fff; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.bqr-feature .rq-quotes-h { max-width: 1080px; margin: 56px auto 18px; font-size: 20px; text-align: center; }
.bqr-feature .rq-quotes { display: grid; gap: 20px; max-width: 1080px; margin: 0 auto; }
.bqr-feature .rq-quote { display: flex; flex-direction: column; gap: 14px; margin: 0; padding: 26px 26px 24px; border-radius: 22px; background: #fff; color: var(--feature-ink); box-shadow: 0 40px 70px -40px rgba(12,7,36,.7); }
.bqr-feature .rq-quote-mark { width: 30px; height: 30px; fill: #c3b8f6; }
.bqr-feature .rq-quote blockquote { margin: 0; }
.bqr-feature .rq-quote blockquote p { margin: 0; font-size: 17px; font-weight: 500; line-height: 1.6; }
.bqr-feature .rq-quote figcaption { display: flex; flex-direction: column; align-items: flex-start; gap: 1px; margin: auto 0 0; font-size: 14px; }
.bqr-feature .rq-quote figcaption b { color: var(--feature-ink); font-size: 15.5px; }
.bqr-feature.rq-invite .rq-quote figcaption a:not(.btn) { color: var(--feature-accent); font-weight: 600; }
.bqr-feature.rq-invite .rq-quote figcaption a:not(.btn):hover { color: #37266d; }
.bqr-feature.rq-invite .rq-quote a:focus-visible { outline-color: var(--feature-accent); }
.bqr-feature .rq-invite-actions { justify-content: center; margin-block-start: 44px; }
.bqr-feature.rq-invite .feature-actions .btn-primary { background: #fff; border-color: #fff; color: var(--feature-accent); }
.bqr-feature.rq-invite .feature-actions .btn-primary:hover { background: var(--feature-soft); border-color: var(--feature-soft); color: #37266d; }
.bqr-feature.rq-invite a:not(.btn), .bqr-feature.rq-invite a:not(.btn):hover { color: #fff; }
.bqr-feature.rq-invite a:focus-visible { outline-color: #fff; }

/* placement: the cafe from above, the spots, print tips and the loyalty stand */
.bqr-feature .rq-place-grid { display: grid; gap: 32px; align-items: center; max-width: 1100px; margin: 0 auto; }
.bqr-feature .rq-plan { padding: 16px; border-radius: 28px; background: linear-gradient(-160deg, #f3effe 0%, #e6dffc 100%); box-shadow: inset 0 0 0 1px rgba(140,125,238,.14); }
.bqr-feature .rq-plan-art { display: block; width: 100%; height: auto; }
.bqr-feature .rq-plan figcaption { margin-block-start: 6px; text-align: center; }
.bqr-feature .rq-spots { display: grid; gap: 18px; list-style: none; padding: 0; margin: 0; }
.bqr-feature .rq-spots li { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 14px; align-items: start; }
.bqr-feature .rq-spot-pin { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--feature-accent); box-shadow: 0 10px 20px -10px rgba(49,32,85,.6); }
.bqr-feature .rq-spots li:nth-child(4) .rq-spot-pin { background: #8c7dee; }
.bqr-feature .rq-spot-pin svg { width: 20px; height: 20px; stroke: #fff; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.bqr-feature .rq-spots strong { display: block; font-size: 17px; line-height: 1.35; }
.bqr-feature .rq-spots p { margin: 3px 0 0; color: var(--feature-muted); font-size: 15px; line-height: 1.55; }
.bqr-feature .rq-spots .rq-spot-no .rq-spot-pin { background: #a5a2b3; box-shadow: none; }
.bqr-feature .rq-spot-no strong { color: #625f71; }
.bqr-feature .rq-place-more { display: grid; gap: 22px; max-width: 1100px; margin: 48px auto 0; }
.bqr-feature .rq-print { padding: 26px 24px 24px; border-radius: 24px; background: var(--feature-soft); }
.bqr-feature .rq-print .geo-checks { gap: 12px; margin-block-start: 16px; }
/* the stand card: on phones the photo sits beside the heading and the text runs the full width below; from 576px the
   photo is a column of its own */
.bqr-feature .rq-bridge { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 14px 16px; align-items: center; padding: 22px 20px; border-radius: 24px; background: #fff; box-shadow: 0 30px 60px -44px rgba(49,32,85,.55), 0 0 0 1px rgba(140,125,238,.16); }
.bqr-feature .rq-bridge > div { display: contents; }
.bqr-feature .rq-bridge img { display: block; width: 72px; height: 72px; object-fit: cover; border-radius: 14px; }
.bqr-feature .rq-print h3 { margin-block-end: 8px; font-size: 20px; }
.bqr-feature .rq-bridge h3 { margin: 0; font-size: 20px; }
.bqr-feature .rq-bridge p { grid-column: 1 / -1; margin: 0; color: var(--feature-muted); font-size: 15px; line-height: 1.6; }
.bqr-feature .rq-bridge a { grid-column: 1 / -1; justify-self: start; font-weight: 600; }

/* rules: what is fine and what is not, with Google's sources */
.bqr-feature .rq-rules-grid { display: grid; gap: 22px; max-width: 1080px; margin: 0 auto; }
.bqr-feature .rq-rule { padding: 26px 22px 22px; border-radius: 24px; background: #fff; box-shadow: 0 30px 60px -40px rgba(49,32,85,.5), 0 0 0 1px rgba(140,125,238,.18); }
.bqr-feature .rq-rule--ok { background: linear-gradient(-180deg, #f3fbf6 0%, #fff 140px); }
.bqr-feature .rq-rule--no { background: linear-gradient(-180deg, #fef5f4 0%, #fff 140px); }
.bqr-feature .rq-rule h3 { display: flex; align-items: center; gap: 12px; margin-block-end: 18px; font-size: 22px; }
.bqr-feature .rq-rule h3 svg { flex: none; width: 36px; height: 36px; padding: 8px; border-radius: 50%; fill: none; stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; }
.bqr-feature .rq-rule ul { display: grid; gap: 12px; list-style: none; padding: 0; margin: 0; }
.bqr-feature .rq-rule li { display: flex; gap: 12px; align-items: flex-start; line-height: 1.55; }
.bqr-feature .rq-rule li svg { flex: none; width: 24px; height: 24px; margin-block-start: 1px; padding: 5px; border-radius: 50%; fill: none; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.bqr-feature .rq-rule--ok svg { background: #e3f5ec; stroke: #1d8a57; }
.bqr-feature .rq-rule--no svg { background: #fdecea; stroke: #b42318; }
.bqr-feature .rq-rule-src { max-width: none; margin: 18px 0 0; padding-block-start: 14px; border-top: 1px solid #efebfa; color: var(--feature-muted); font-size: 13.5px; line-height: 1.6; }
.bqr-feature .rq-rules-take { display: flex; align-items: flex-start; gap: 12px; max-width: 820px; margin: 40px auto 0; font-size: 17px; line-height: 1.6; }
.bqr-feature .rq-rules-take svg { flex: none; width: 30px; height: 30px; padding: 5px; border-radius: 50%; background: var(--feature-accent); stroke: #fff; fill: none; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.bqr-feature .rq-rules-more { margin: 14px auto 0; color: var(--feature-muted); font-size: 15px; text-align: center; }

/* feedback: the member's rating card from the app */
.bqr-feature .rq-fb .hub-badge { margin-block-end: 14px; }
.bqr-feature .rq-fb-link { margin: 18px 0 0; font-weight: 600; }
.bqr-feature .rq-fb-stage { padding: 32px 18px 20px; border-radius: 28px; background: linear-gradient(-160deg, #e9e3fd 0%, #d6ccfa 100%); }
.bqr-feature .rq-fb-stage .fb-rate-card { max-width: 360px; margin: 0 auto; box-shadow: 0 34px 60px -32px rgba(49,32,85,.55); }
.bqr-feature .rq-fb-scale { display: flex; justify-content: space-between; gap: 10px; margin: -6px 0 6px; color: var(--feature-muted); font-size: 12px; }
.bqr-feature .rq-star-off { fill: #e4def5; }
.bqr-feature .rq-fb-placeholder { min-height: 86px; border-color: #d9d3f3; box-shadow: none; color: #8e8aa3; }
.bqr-feature .rq-fb-hint { color: var(--feature-muted); font-size: 12.5px; line-height: 1.45; }
.bqr-feature .rq-fb-stage figcaption { margin-block-start: 16px; text-align: center; }

/* close: related links only (the /p/ view adds its own call to action after the page) */
.bqr-feature.rq-close { padding: 48px 0 56px; }
.bqr-feature.rq-close .geo-related { justify-content: center; margin-block-end: 0; }

@media (min-width: 576px) {
    .bqr-feature .rq-scan-stage { padding-block-end: 24px; }
    .bqr-feature .rq-scan-photo { width: 78%; margin-inline-start: auto; }
    .bqr-feature .rq-tent { position: absolute; bottom: 0; inset-inline-start: 0; width: 38%; margin: 0; }
    .bqr-feature .rq-path { padding: 30px 28px 24px; }
    .bqr-feature .rq-rule { padding: 30px 28px 24px; }
    .bqr-feature .rq-bridge { grid-template-columns: 128px minmax(0, 1fr); gap: 20px; align-items: start; padding: 22px; }
    .bqr-feature .rq-bridge > div { display: block; }
    .bqr-feature .rq-bridge img { width: 128px; height: 128px; border-radius: 16px; }
    .bqr-feature .rq-bridge h3 { margin-block-end: 8px; }
    .bqr-feature .rq-bridge p { margin-block-end: 10px; }
    .bqr-feature .rq-fb-stage { padding: 40px 32px 24px; }
}
@media (min-width: 768px) {
    .bqr-feature .rq-path { padding: 36px 40px 30px; }
    .bqr-feature .rq-fork { display: block; width: 100%; height: 56px; margin: 16px 0 0; overflow: visible; }
    .bqr-feature .rq-fork path { fill: none; stroke: #b6a9f2; stroke-width: 2; stroke-dasharray: 6 7; vector-effect: non-scaling-stroke; }
    .bqr-feature .rq-ends { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-block-start: 4px; }
    .bqr-feature .rq-tips { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
    .bqr-feature .rq-invite-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bqr-feature .rq-quotes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 992px) {
    .bqr-feature .rq-invite-stage { grid-template-columns: minmax(0, 300px) minmax(90px, 1fr) minmax(0, 520px); align-items: center; }
    .bqr-feature .rq-visit-setting { max-width: 300px; }
    .bqr-feature .rq-invite-flow { width: 100%; height: 2px; margin: 0 -6px; background: repeating-linear-gradient(-90deg, rgba(255,255,255,.55) 0 8px, transparent 8px 14px); }
    .bqr-feature .rq-place-grid { grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); gap: 56px; }
    .bqr-feature .rq-place-more { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bqr-feature .rq-rules-grid { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); align-items: start; }
}
@media (min-width: 1200px) {
    .bqr-feature .rq-invite-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
