:root {
  --scrubhub-purple-950: #100432;
  --scrubhub-purple-900: #230372;
  --scrubhub-purple-800: #2c067e;
  --scrubhub-purple-700: #5f25d2;
  --scrubhub-purple-600: #8e50f2;
  --scrubhub-lavender-500: #a46bf5;
  --scrubhub-lavender-300: #e8dcf8;
  --scrubhub-lavender-100: #f7f2fc;
  --scrubhub-paper: #fefefe;
}

scrubhub-logo {
  display: inline-block;
  flex: 0 0 auto;
  max-width: 100%;
  line-height: 0;
  vertical-align: middle;
}

scrubhub-logo[variant='horizontal'][size='sm'] { width: 150px; }
scrubhub-logo[variant='horizontal'][size='md'], scrubhub-logo[variant='horizontal']:not([size]) { width: 210px; }
scrubhub-logo[variant='horizontal'][size='lg'] { width: 300px; }
scrubhub-logo[variant='horizontal'][surface='light'] { aspect-ratio: 850 / 285; }
scrubhub-logo[variant='horizontal'][surface='dark'] { aspect-ratio: 941 / 327; }

scrubhub-logo[variant='stacked'][size='sm'] { width: 110px; }
scrubhub-logo[variant='stacked'][size='md'], scrubhub-logo[variant='stacked']:not([size]) { width: 150px; }
scrubhub-logo[variant='stacked'][size='lg'] { width: 220px; }
scrubhub-logo[variant='stacked'] { aspect-ratio: 354 / 333; }

scrubhub-logo[variant='mark'][size='sm'] { width: 38px; }
scrubhub-logo[variant='mark'][size='md'], scrubhub-logo[variant='mark']:not([size]) { width: 52px; }
scrubhub-logo[variant='mark'][size='lg'] { width: 88px; }
scrubhub-logo[variant='mark'] { aspect-ratio: 1; }

.sh-logo-frame,
.sh-logo-link,
.sh-logo-picture,
.sh-logo-image {
  display: block;
  width: 100%;
  height: auto;
}

.sh-logo-link {
  border-radius: 12px;
  text-decoration: none;
}

.sh-logo-link:focus-visible {
  outline: 3px solid var(--scrubhub-lavender-500);
  outline-offset: 4px;
}

.sh-logo-image {
  object-fit: contain;
}

/* Quiet brand wayfinding for focused product surfaces. */
.sh-auth-brand {
  display: flex;
  justify-content: center;
  margin: -2px auto 12px;
}

.sh-auth-brand scrubhub-logo[variant][size] {
  width: 138px;
}

.sh-dialog-heading,
.sh-surface-heading {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-width: 0;
}

.sh-dialog-heading {
  margin: 0 0 14px;
  padding-right: 28px;
}

.sh-dialog-heading .auth-sub {
  margin-bottom: 0;
}

.sh-surface-heading-copy {
  min-width: 0;
}

.sh-surface-mark {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 46px;
  height: 46px;
  padding: 5px;
  overflow: hidden;
  border: 1px solid var(--scrubhub-lavender-300);
  border-radius: 14px;
  background: var(--scrubhub-lavender-100);
  box-sizing: border-box;
}

.sh-surface-mark scrubhub-logo[variant][size] {
  width: 34px;
}

.sh-surface-mark-compact {
  width: 38px;
  height: 38px;
  padding: 4px;
  border-radius: 11px;
}

.sh-surface-mark-compact scrubhub-logo[variant][size] {
  width: 29px;
}

.sh-study-brand {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 38px;
  height: 38px;
  overflow: hidden;
  border-radius: 11px;
  background: var(--scrubhub-lavender-100);
}

.sh-study-brand scrubhub-logo[variant][size] {
  width: 31px;
}

@media (max-width: 640px) {
  .sh-study-brand { display: none; }
  .sh-dialog-heading { gap: 10px; }
  .sh-surface-mark { width: 42px; height: 42px; }
}

@media (prefers-reduced-motion: reduce) {
  scrubhub-logo, .sh-logo-image { animation: none !important; transition: none !important; }
}
