.qb-psd .qbp-canvas{position:relative;aspect-ratio:1400/640;margin-top:15px;background:#eee;isolation:isolate}
.qb-psd .qbp-map{display:block;width:100%;height:100%;object-fit:fill;margin:0}
.qb-psd .qbp-logo,.qb-psd .qbp-cert{position:absolute;display:block;background:#eee;padding:0;border:0;outline-offset:4px}
.qb-psd .qbp-logo{z-index:2;cursor:default}
.qb-psd .qbp-logo-surface{display:block;position:relative;width:100%;height:100%;transition:transform 240ms ease,box-shadow 240ms ease;transform-origin:center}
.qb-psd .qbp-sprite{position:absolute;display:block;inset:0;background-image:var(--qbp-sprite);background-repeat:no-repeat;background-size:var(--qbp-size-x) var(--qbp-size-y);background-position:var(--qbp-pos-x) var(--qbp-pos-y);pointer-events:none}
.qb-psd .qbp-cert{z-index:3;cursor:pointer;background:#f7f7f7;transition:box-shadow 200ms ease,background-color 200ms ease;overflow:hidden}
.qb-psd .qbp-cert .qbp-sprite{filter:grayscale(1);transition:filter 200ms ease}
.qb-psd .qbp-cert--iso:not(.qbp-cert--selected){background:#fff}
.qb-psd .qbp-cert--iso:not(.qbp-cert--selected) .qbp-sprite{filter:grayscale(1) invert(1) contrast(4);opacity:.55}
.qb-psd .qbp-cert--selected{background:var(--qb-red);box-shadow:none}
.qb-psd .qbp-cert--selected:not(.qbp-cert--iso) .qbp-sprite{filter:grayscale(1) invert(1) contrast(5) brightness(3);mix-blend-mode:screen}
.qb-psd .qbp-cert--selected.qbp-cert--iso .qbp-sprite{filter:none;opacity:1}
.qb-psd .qbp-logo:focus-visible,.qb-psd .qbp-cert:focus-visible{outline:3px solid var(--qb-blue)}
.qb-psd .qbp-logo:focus-visible .qbp-logo-surface{box-shadow:0 0 0 2px var(--qb-blue),0 8px 24px rgba(6,79,194,.2)}
.qb-psd .qbf-brand>a{transition:transform 260ms ease,filter 260ms ease;transform-origin:center}
.qb-psd .qbf-contact-row{border-radius:10px;transition:background-color 200ms ease,box-shadow 200ms ease}
.qb-psd .qbf-contact-icon,.qb-psd .qbf-contact-row :is(strong,p,a){transition:background-color 200ms ease,color 200ms ease}
.qb-psd .qbf-contact-row:focus-within{background:#e6edf8;box-shadow:0 0 0 8px #e6edf8}
.qb-psd .qbf-contact-row:focus-within .qbf-contact-icon{background:var(--qb-blue);color:#fff}
.qb-psd .qbf-contact-row:focus-within :is(strong,p,a){color:var(--qb-blue)}
@media(hover:hover) and (pointer:fine){
 .qb-psd .qbp-logo:hover{z-index:5}
 .qb-psd .qbp-logo:hover .qbp-logo-surface{transform:translateY(-5px) scale(1.055);box-shadow:0 10px 26px rgba(37,41,52,.18)}
 .qb-psd .qbf-brand>a:hover{transform:translateY(-4px) scale(1.055);filter:drop-shadow(0 7px 8px rgba(37,41,52,.16))}
 .qb-psd .qbf-contact-row:hover{background:#e6edf8;box-shadow:0 0 0 8px #e6edf8}
 .qb-psd .qbf-contact-row:hover .qbf-contact-icon{background:var(--qb-blue);color:#fff}
 .qb-psd .qbf-contact-row:hover :is(strong,p,a){color:var(--qb-blue)}
 .qb-psd .qbf-social>.qbf-social-icon:hover{background:var(--qb-red);color:#fff;transform:translateY(-4px) scale(1.1);box-shadow:0 6px 16px rgba(236,32,37,.22)}
}
.qb-psd .qbf-social>a:focus-visible{background:var(--qb-red);color:#fff;box-shadow:0 0 0 4px rgba(6,79,194,.2)}
@media(max-width:700px){
 .qb-psd .qbp-canvas{aspect-ratio:auto;padding:16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
 .qb-psd .qbp-map{display:none}
 .qb-psd .qbp-logo{position:relative;inset:auto!important;width:100%!important;height:auto!important;aspect-ratio:var(--qbp-ratio);background:#fff}
 .qb-psd .qbp-cert-group{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:6px}
 .qb-psd .qbp-cert{position:relative;inset:auto!important;width:100%!important;height:52px!important;min-height:44px}
 .qb-psd .qbp-cert .qbp-sprite{inset:50% 0 auto;height:auto;aspect-ratio:var(--qbp-ratio);transform:translateY(-50%)}
}
@media(prefers-reduced-motion:reduce){
 .qb-psd :is(.qbp-logo-surface,.qbp-cert,.qbp-sprite,.qbf-brand>a,.qbf-contact-row,.qbf-contact-icon,.qbf-social-icon){transition:none!important}
 .qb-psd .qbp-logo:hover .qbp-logo-surface,.qb-psd .qbf-brand>a:hover,.qb-psd .qbf-social>.qbf-social-icon:hover{transform:none}
}
/* OEM process feedback, neutral social defaults, and borderless ISO artwork. */
.qb-psd .qbp-cert--iso{border:0;box-shadow:none}
.qb-psd .qbp-cert--iso .qbp-sprite{scale:1.045}
.qb-psd .qbf-social>.qbf-social-icon{background:#7d7d7d}
.qb-psd .qb-oem__icon{transition:background-color 220ms ease,border-color 220ms ease,box-shadow 220ms ease,transform 220ms ease}
.qb-psd .qb-oem__icon img{transition:filter 220ms ease}
.qb-psd .qb-oem__step h3{transition:color 220ms ease}
@media(hover:hover) and (pointer:fine){
 .qb-psd .qb-oem__step:hover .qb-oem__icon{background:var(--qb-red);border-color:var(--qb-red);box-shadow:0 10px 24px rgba(236,32,37,.16);transform:translateY(-4px)}
 .qb-psd .qb-oem__step:hover .qb-oem__icon img{filter:brightness(0) invert(1)}
 .qb-psd .qb-oem__step:hover h3{color:var(--qb-red)}
 .qb-psd .qbf-social>.qbf-social-icon:hover{background:var(--qb-red)}
}
@media(prefers-reduced-motion:reduce){
 .qb-psd .qb-oem__icon,.qb-psd .qb-oem__icon img,.qb-psd .qb-oem__step h3{transition:none}
 .qb-psd .qb-oem__step:hover .qb-oem__icon{transform:none}
}
