.mqb-vcard {
  position: relative; display: grid; gap: 0 18px; align-items: center;
  grid-template-columns: 132px 1fr;
  grid-template-areas: "id id" "title title" "body body" "phone steps" "badge badge" "free free";
  margin: 32px auto; padding: 22px 20px; max-width: 880px; box-sizing: border-box;
  border: 1px solid rgba(201, 168, 76, .55); border-radius: 18px;
  background: var(--paper-white, #fcfaf6);
  box-shadow: 0 10px 28px rgba(60, 42, 18, .12);
}
.mqb-vcard__phone { grid-area: phone; position: relative; z-index: 2; align-self: start; width: 132px; aspect-ratio: 432 / 940; border: 5px solid #1A1714; border-radius: 24px; overflow: hidden; background: #f6f1e8; box-shadow: 0 0 22px rgba(201, 168, 76, .22), 0 10px 22px rgba(60, 42, 18, .2); }
.mqb-vcard__phone video { display: block; width: 100%; height: 100%; object-fit: cover; }
.mqb-vcard__ctls { position: absolute; left: 0; right: 0; bottom: 8px; display: flex; justify-content: center; gap: 6px; }
.mqb-vcard__ctl { padding: 4px 10px; border: 0; border-radius: 999px; background: rgba(26, 23, 20, .78); color: #fff; font: 600 .7rem/1.4 Manrope, system-ui, sans-serif; cursor: pointer; }
.mqb-vcard__ctl:focus-visible, .mqb-vcard a:focus-visible { outline: 2px solid #A88326; outline-offset: 3px; }
.mqb-vcard__id { grid-area: id; display: flex; align-items: center; gap: 12px; margin: 0 0 12px; }
.mqb-vcard__id img { width: 40px; height: 40px; border-radius: 10px; box-shadow: 0 2px 6px rgba(60, 42, 18, .18); }
.mqb-vcard__id > span > span { display: block; }
.mqb-vcard__name { font: 600 1.4rem/1.05 'Cormorant Garamond', Cormorant, serif; color: #1A1714; }
.mqb-vcard__sub, .mqb-vcard__free { font: 400 .75rem/1.4 Manrope, system-ui, sans-serif; color: var(--color-text-muted-light, #6B655C); }
.mqb-vcard__title { grid-area: title; margin: 0 0 6px; font: 600 1.5rem/1.2 'Cormorant Garamond', Cormorant, serif; }
.mqb-vcard__link { color: #1A1714; text-decoration: none; }
.mqb-vcard__link::after { content: ""; position: absolute; inset: 0; border-radius: 18px; z-index: 1; }
.mqb-vcard__body { grid-area: body; margin: 0 0 14px; font: 400 .92rem/1.5 Manrope, system-ui, sans-serif; color: #2B2620; }
.mqb-vcard__steps { grid-area: steps; align-self: center; margin: 0; padding: 0; list-style: none; counter-reset: s; }
.mqb-vcard__steps li { counter-increment: s; position: relative; padding: 8px 0 8px 34px; font: 500 .9rem/1.35 Manrope, system-ui, sans-serif; color: var(--color-text-muted-light, #6B655C); transition: color .4s ease; }
.mqb-vcard__steps li::before { content: counter(s); position: absolute; left: 0; top: 6px; width: 24px; height: 24px; border-radius: 50%; border: 1px solid rgba(168, 131, 38, .55); text-align: center; font: 600 .75rem/24px Manrope, system-ui, sans-serif; color: #A88326; }
.mqb-vcard__steps li.is-on { color: #1A1714; }
.mqb-vcard__steps li.is-on::before { background: #C9A84C; border-color: #C9A84C; color: #1A1714; }
.mqb-vcard__badge { grid-area: badge; position: relative; z-index: 2; justify-self: start; margin-top: 16px; }
.mqb-vcard__badge img { display: block; width: 120px; height: 40px; }
.mqb-vcard__free { grid-area: free; margin: 6px 0 0; }
@media (min-width: 720px) {
  .mqb-vcard { grid-template-columns: 220px 1fr; gap: 0 36px; padding: 32px 36px;
    grid-template-areas: "phone id" "phone title" "phone body" "phone steps" "phone badge" "phone free"; align-content: center; }
  .mqb-vcard__phone { width: 220px; border-width: 7px; border-radius: 36px; grid-row: 1 / span 6; align-self: center; }
  .mqb-vcard__title { font-size: 1.9rem; }
  .mqb-vcard__steps { align-self: start; }
}
@media (prefers-reduced-motion: reduce) { .mqb-vcard__steps li { transition: none; } }
