*, *::before, *::after {
  box-sizing: border-box;
}

.intro-section {
  position: relative;
  z-index: 1;
  width: 100%;
  height: fit-content;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 200px;
  padding-bottom: var(--spacer-section-900);
  overflow: hidden;
}

.intro-group {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 560px;
  padding-inline: var(--spacer-500);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: var(--spacer-500);
}

.intro-media-mount {
  width: 64px;
  height: 64px;
  flex: 0 0 64px;
}

.intro-media-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.intro-texts {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  gap: var(--spacer-200);
}

.intro-title {
  margin: 0;
  width: 100%;
  font: var(--type-H1-intro);
  letter-spacing: -0.02em;
  color: var(--color-accent);
  text-box-trim: none;
}

.intro-role {
  margin: 0;
  font: var(--type-role-intro);
  color: var(--color-text-secondary);
}

.intro-subtitle {
  margin: 0;
  padding-top: var(--spacer-section-500);
  width: 100%;
  font: var(--type-subtitle-intro);
  color: var(--color-text-secondary);
}

.intro-button {
  margin-top: var(--spacer-section-500);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  padding-inline: var(--spacer-500);
  background: var(--color-bg-raise);
  border: 1px solid var(--color-accent);
  border-radius: var(--radius-small);
  font: var(--type-action);
  color: var(--color-accent);
  white-space: nowrap;
  cursor: pointer;
}
