/* Stable identity frames; artwork is centered and proportionate at every placement. */
.cm-logo{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;flex:none;width:180px;height:148px;padding:8px;background:transparent;border:0;border-radius:0;vertical-align:middle;overflow:hidden}
.cm-logo img{display:block!important;width:100%!important;height:100%!important;max-width:var(--cm-art-w,156px)!important;max-height:var(--cm-art-h,156px)!important;object-fit:contain!important;object-position:center!important;mix-blend-mode:normal!important;filter:none!important;transform:none!important;animation:none!important;transition:none!important;visibility:visible!important;opacity:1!important}
.cm-logo-large{width:260px;height:196px;padding:10px;max-width:100%}.cm-logo-large img{max-width:min(100%,calc(var(--cm-art-w,156px)*1.12))!important;max-height:min(100%,calc(var(--cm-art-h,156px)*1.12))!important}
.sp-media:has(>.cm-visual){display:flex!important;align-items:center;justify-content:center;box-sizing:border-box;height:200px;min-height:200px;overflow:hidden;background:var(--surface,#fff);padding:12px}
.sp-media>.cm-logo{width:100%;height:100%;margin:0;padding:0;max-width:100%}
.sp-summary-logo:has(>.cm-logo){display:flex!important;align-items:center;justify-content:center;height:132px;min-height:132px;margin:0 0 18px}
.sp-summary-logo>.cm-logo{width:100%;height:132px;padding:6px}.sp-summary-logo>.cm-logo img{max-height:116px!important;max-width:240px!important}
.cert-card.sp-card,.path-tile.sp-card{min-width:0}.sp-card-body h3{min-height:3.9em}.sp-card-body{padding-top:24px}
.course>.cm-logo{display:flex;width:100%;height:164px;margin:0 0 16px}.course-top{gap:10px}.course-top .tag{max-width:55%;overflow-wrap:anywhere}
.detail-badge>.cm-logo{display:flex;margin:0 auto 18px;max-width:100%}.detail-badge{background:transparent}
.provider-icon:has(>.cm-logo){background:transparent;padding:0}.provider-icon>.cm-logo{width:100%;height:116px;padding:4px}
.vendor-summary{background:var(--background);color:var(--text-primary)}.vendor-summary>.cm-logo{margin:0 0 18px}
.vendor-glyph:has(>.cm-logo){display:flex!important;align-items:center;justify-content:center;width:84px;min-width:84px;max-width:84px;height:64px;padding:0;background:transparent!important;border:0;box-shadow:none}
.vendor-glyph>.cm-logo{width:84px;height:64px;padding:4px}.vendor-glyph>.cm-logo img{max-width:100%!important;max-height:100%!important}
.vendor-tile{min-width:0}.vendor-tile>span:nth-child(2){min-width:0;overflow-wrap:anywhere}.vendor-tile>span:last-child{flex-shrink:0}
.featured-provider-logo:has(>.cm-logo){display:flex!important;align-items:center;justify-content:center;min-height:96px}.featured-provider-logo>.cm-logo{width:100%;height:96px;padding:7px}.featured-provider-logo>.cm-logo img{max-width:100%!important;max-height:100%!important}
.voucher-card-top:has(>.cm-logo){flex-wrap:wrap;gap:10px}.voucher-card-top>.cm-logo{width:100%;height:140px;padding:8px;justify-content:center}.voucher-card-top>.cm-logo img{max-height:124px!important}.product-ticket>.cm-logo{align-self:center;margin:0 auto 12px}.voucher-related-grid>a>.cm-logo{display:flex;width:100%;height:124px;margin:0 0 12px}
.product-ticket,.voucher-product .product-ticket{background:transparent;color:var(--text-primary);border:1px solid var(--border-subtle)}.product-ticket>span:not(.cm-logo){color:var(--link)}.product-ticket>small{color:var(--text-secondary)}.product-ticket>div{border-color:var(--border-subtle);color:var(--text-secondary)}
.cm-path-preview{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:100%;box-sizing:border-box;padding:0}.cm-path-preview>.cm-logo{width:calc((100% - 20px)/3);max-width:124px;min-width:0;height:124px;padding:2px}.cm-path-preview>.cm-logo img{max-width:100%!important;max-height:100%!important}
/* Text identities are typographic labels, never imitation certification badges. */
.cm-identity-tile{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:10px;width:100%;height:100%;box-sizing:border-box;padding:14px 18px;border-left:3px solid #E85002;background:color-mix(in srgb,var(--surface,#fff) 92%,#E85002 8%);text-align:left;color:var(--text-primary,#000)}
.cm-identity-tile small{display:block;font-size:10px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;line-height:1.4;color:var(--text-secondary,#646464)}
.cm-identity-tile strong{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:clamp(14px,1.4vw,20px);font-weight:600;line-height:1.3;overflow-wrap:anywhere}
.cm-identity-tile>span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:11px;line-height:1.4;color:var(--text-secondary,#646464)}
.vendor-glyph .cm-identity-tile{padding:5px;gap:3px;border-left-width:2px}.vendor-glyph .cm-identity-tile small,.vendor-glyph .cm-identity-tile>span{display:none}.vendor-glyph .cm-identity-tile strong{font-size:12px;-webkit-line-clamp:3}
.cm-logo-text{padding:0}.cm-logo-large.cm-logo-text{padding:0}.cm-logo-large .cm-identity-tile strong{font-size:22px}
.cm-provider-wordmark{display:flex;align-items:center;justify-content:center;min-height:64px;font-size:19px;font-weight:650;line-height:1.3;text-align:center;overflow-wrap:anywhere;color:var(--text-primary)}
/* Provider banner retains its existing movement and dimensions. */
.provider-strip.provider-banner{display:block;padding:24px 0;overflow:hidden;max-width:100%;position:relative}.provider-banner-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:20px}.provider-banner-heading p{font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:var(--text-secondary);font-weight:bold}.provider-banner-viewport{width:100%;overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent)}.provider-banner-track{display:flex;width:max-content;animation:cm-provider-scroll var(--banner-duration,280s) linear infinite;will-change:transform}.provider-banner-group{display:flex;align-items:center;flex:none;width:max-content}.provider-banner-item{display:flex;flex:none;justify-content:center;align-items:center;width:158px;height:76px;padding:8px 20px;font-size:16px;font-weight:bold;text-align:center;color:var(--text-secondary)}.provider-banner-item .cm-logo{width:118px;height:60px;padding:4px}.provider-banner-item .cm-logo img{max-width:100%!important;max-height:100%!important}.provider-banner-item .cm-identity-tile{padding:5px;border:0;background:none;align-items:center}.provider-banner-item .cm-identity-tile small,.provider-banner-item .cm-identity-tile>span{display:none}.provider-banner-item .cm-identity-tile strong{font-size:14px;text-align:center}.provider-banner:focus-within .provider-banner-track,.provider-banner.is-paused .provider-banner-track{animation-play-state:paused}@keyframes cm-provider-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.provider-banner-track{animation:none;will-change:auto}.provider-banner-viewport{overflow-x:auto;mask-image:none}.provider-banner-group[aria-hidden=true]{display:none}}
@media(max-width:650px){.cm-logo{width:160px;height:140px}.cm-logo-large{width:240px;height:180px}.sp-media:has(>.cm-visual){height:188px;min-height:188px;padding:14px}.sp-card-body h3{min-height:0}.cm-identity-tile strong{font-size:18px}.vendor-glyph:has(>.cm-logo){width:64px;min-width:64px;max-width:64px}.vendor-glyph>.cm-logo{width:64px;height:58px}.vendor-tile{gap:12px;padding:18px}.vendor-tile>span:nth-child(2){flex:1}.provider-banner-item{width:140px;height:68px;padding:8px 14px}.provider-banner-item .cm-logo{width:110px;height:56px}}
.cm-family-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;justify-items:center;gap:5px;width:100%;height:100%;max-height:176px}.cm-family-preview>.cm-logo{width:100%;height:80px;padding:2px;min-width:0}.cm-family-preview>.cm-logo img{max-width:100%!important;max-height:100%!important}.detail-badge>.cm-family-preview{height:180px;margin-bottom:18px}
.cm-family-preview[data-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.cm-family-preview[data-count="2"]>.cm-logo{height:124px}.sp-summary-logo .cm-identity-tile strong{font-size:18px;line-height:1.25}

/* Single and paired pathway marks share the same optical size as certificate cards. */
.cm-path-preview[data-count="1"]>.cm-logo{width:100%;max-width:240px;height:176px}
.cm-path-preview[data-count="1"]>.cm-logo img{max-width:var(--cm-art-w,156px)!important;max-height:var(--cm-art-h,156px)!important}
.cm-path-preview[data-count="2"]>.cm-logo{width:calc((100% - 10px)/2);max-width:140px;height:140px}

.cm-logo[data-art-background="dark"]{background:#132b3d;padding:12px;border-radius:6px}
