/* Source: design/brand/firm-logo-source.png. White preserves its mixed alpha. */
img.firm-logo{display:block;flex:none;box-sizing:border-box;object-fit:contain!important;background:#fff;filter:none!important;max-width:100%;height:auto!important;max-height:none!important;border-radius:4px}
img.firm-logo--mark{width:48px;padding:4px;aspect-ratio:128/115}
img.firm-logo--full{width:220px;padding:12px;aspect-ratio:640/510}
img.firm-logo--header{width:48px}
img.firm-logo--launcher{width:32px;padding:3px}
img.firm-logo--contact{position:relative;margin-bottom:20px}
a.firm-brand-link{display:inline-flex;align-items:center;gap:10px;min-width:0;max-width:100%}
.firm-brand-text{min-width:0;overflow-wrap:anywhere}
.firm-brand-text small{display:block}
.shay-contact-identity{display:flex;align-items:center;gap:10px;min-width:0}
.shay-contact-identity>div{min-width:0}
.firm-logo--motion{animation:firm-logo-reveal 220ms cubic-bezier(.16,1,.3,1) both}
@keyframes firm-logo-reveal{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
/* One decoded-image entrance identifies the firm without holding up navigation. */
.firm-logo--entry-ready{transform-origin:center;animation:firm-logo-entry 300ms cubic-bezier(.16,1,.3,1) both}
@keyframes firm-logo-entry{from{opacity:.4;transform:translateY(3px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
/* The full lockup needs more room than a header emblem, including catalog footers. */
.hero img.firm-logo--full{width:min(320px,80vw);margin-inline:auto}
footer img.logo.firm-logo--full{width:220px;margin-inline:auto}
.nav:has(>a>img.firm-logo--full){flex-wrap:wrap}
.nav>a:has(>img.firm-logo--full){flex:none;max-width:100%}
.nav>a>img.firm-logo--full{width:220px}
@media(min-width:1280px){img.firm-logo--header{width:64px}}
@media(max-width:400px){img.firm-logo--full{width:180px}a.firm-brand-link{gap:8px}.firm-brand-link img.firm-logo--mark{width:40px}}
@media(prefers-reduced-motion:reduce){.firm-logo--entry-ready,.firm-logo--motion{animation:none;transform:none;opacity:1}}
@media print{img.firm-logo{animation:none!important;transform:none!important;print-color-adjust:exact}}
