/* Keep the supplied artwork intact on an opaque white presentation surface. */
body .site-header .brand-mark, body .site-footer .brand-mark {
 display: grid; place-items: center; width: 96px; height: 80px; flex: 0 0 96px;
 padding: 6px; background: #fff; border: 1px solid #d2dde5; border-radius: 10px;
 box-shadow: 0 3px 12px #102c4020; overflow: hidden;
}
body .site-header .brand-mark img, body .site-footer .brand-mark img {
 display: block; width: 100%; height: 100%; object-fit: contain; object-position: center;
 opacity: 1; filter: none; mix-blend-mode: normal;
}
/* Keep the institutional lockup at its intended size while the mobile menu is used. */
body .site-header > .brand {
 flex: 0 0 auto; min-width: max-content;
}
body .site-header .brand-copy {
 flex: 0 0 auto; min-width: max-content; white-space: nowrap;
}
body .site-header .menu-toggle {
 flex: 0 0 auto; white-space: nowrap;
}
body .site-footer .brand-mark {
 width: 132px; height: 110px; flex-basis: 132px; padding: 10px;
 border-color: #fff; box-shadow: 0 5px 20px #00000024;
}
body.portal-authenticated #portal-shell .portal-brand img {
 display: block; width: 76px; height: 64px; flex: 0 0 76px; padding: 5px;
 object-fit: contain; background: #fff; border: 1px solid #d2dde5; border-radius: 8px;
 opacity: 1; filter: none; mix-blend-mode: normal;
}
body .logo-preview-container {
 min-height: 170px; padding: 16px; background: #fff; border: 1px solid #ccdbe5;
 border-radius: 10px; box-shadow: 0 3px 12px #102c4012;
}
body #institutional-logo-img { width: 164px; max-width: 100%; height: auto; max-height: 140px; object-fit: contain; }
body .declaration-brand-logo {
 display: block; width: 86px; height: 72px; flex: 0 0 86px; padding: 4px;
 object-fit: contain; background: #fff; border: 1px solid #d2dde5; border-radius: 6px;
}
@media screen {
 body.portal-authenticated #portal-shell .member-card-logo {
  display: block; width: 76px; height: 64px; flex: 0 0 76px; padding: 5px;
  object-fit: contain; background: #fff; border: 1px solid #e6edf0; border-radius: 8px;
  opacity: 1; filter: none; mix-blend-mode: normal;
 }
}
@media (max-width:600px) {
 body .site-header .brand-mark { width: 72px; height: 60px; flex-basis: 72px; padding: 4px; border-radius: 8px; }
 body .site-footer .brand-mark { width: 116px; height: 96px; flex-basis: 116px; padding: 8px; }
 body .declaration-brand-logo { width: 64px; height: 54px; flex-basis: 64px; }
}
@media screen and (max-width:560px) {
 body.portal-authenticated #portal-shell .member-card-logo { width: 48px; height: 42px; flex-basis: 48px; padding: 3px; border-radius: 5px; }
}
@media (max-width:380px) {
 body .site-header .brand-mark { width: 60px; height: 50px; flex-basis: 60px; }
 body.public-site .site-header .brand-copy strong, body .site-header .brand-copy strong { font-size: 20px; }
 body .site-header .brand { gap: 8px; }
}
@media print {
 body .declaration-brand-logo { background: #fff; box-shadow: none; }
}
